Skip to main content

The Holoscan SDK: building high-performance AI streaming applications

Project description

Holoscan SDK

The Holoscan SDK Python Wheel is part of NVIDIA Holoscan, the AI sensor processing platform that combines hardware systems for low-latency sensor and network connectivity, optimized libraries for data processing and AI, and core microservices to run streaming, imaging, and other applications, from embedded to edge to cloud. It can be used to build streaming AI pipelines for a variety of domains, including Medical Devices, High Performance Computing at the Edge, Industrial Inspection and more.

Getting Started

Visit the Holoscan User Guide to get started with the Holoscan SDK.

Prerequisites

  • Prerequisites for each supported platform are documented in the user guide. Note that the python wheels have a lot of optional dependencies which you may install manually based on your needs (see compatibility matrix at the bottom).
  • The Holoscan SDK python wheels are only formally tested on Ubuntu 22.04. They are, however, expected to work on any Linux distribution with glibc 2.35 or above (see output of ldd --version) and CUDA Runtime 12.2 or above.
  • Python: 3.9 to 3.12

Troubleshooting

Version 0.6.0 gets installed instead of the latest version

The latest version of the wheels were built and tested on Ubuntu 22.04 with glibc 2.35. You'll need to switch to a Linux distribution with a more recent version of glibc to use the Holoscan SDK python wheels 1.0 or above (check your version with ldd --version), or use the Holoscan SDK NGC container instead.

ERROR: Could not find a version that satisfies the requirement holoscan==<version>
ERROR: No matching distribution found for holoscan==<version>

Same as above, OR incompatible python version.

libc.so.6: version 'GLIBC_2.32 not found
libstdc++.so.6: version `GLIBCXX_3.4.29` not found

Same as above.

ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

CUDA runtime is missing from your system (required even for CPU only pipelines).

  • x86_64: Follow the official installation steps.
    • Note: while Holoscan does not use the CUDA Python API, you could install the CUDA runtime python wheel if you prefer to use pip instead of installing it system-wide: python3 -m pip install nvidia-cuda-runtime-cu12. Before calling an Holoscan application, ensure to update your LD_LIBRARY_PATH environment variable to include the path to these CUDA libs, for example:
      export CUDA_WHL_LIB_DIR=$(python3 -c 'import nvidia.cuda_runtime; print(nvidia.cuda_runtime.__path__[0])')/lib
      export LD_LIBRARY_PATH="$CUDA_WHL_LIB_DIR:$LD_LIBRARY_PATH"
      
  • IGX Orin: Ensure the compute stack is installed.
  • Jetson: Re-install JetPack 6.0.
Error: libnvinfer.so.8: cannot open shared object file: No such file or directory
...
Error: libnvonnxparser.so.8: cannot open shared object file: No such file or directory

TensorRT is missing from your system (note that it is only needed by the holoscan.operators.InferenceOp operator.).

  • x86_64: Follow the official installation steps.
    • Note: you can also install the TensorRT libraries python wheel if you prefer to use pip instead of installing it system-wide: python3 -m pip install tensorrt-libs~=8.6.1 --index-url https://pypi.nvidia.com. Before calling an Holoscan application, ensure to update your LD_LIBRARY_PATH environment variable to include the path to these TensorRT libs, for example:
      export TRT_WHL_LIB_DIR=$(python3 -c 'import tensorrt_libs; print(tensorrt_libs.__path__[0])')
      export CUDNN_WHL_LIB_DIR=$(python3 -c 'import nvidia.cudnn; print(nvidia.cudnn.__path__[0])')/lib
      export CUBLAS_WHL_LIB_DIR=$(python3 -c 'import nvidia.cublas; print(nvidia.cublas.__path__[0])')/lib
      export LD_LIBRARY_PATH="$TRT_WHL_LIB_DIR:$CUDNN_WHL_LIB_DIR:$CUBLAS_WHL_LIB_DIR:$LD_LIBRARY_PATH"
      
  • IGX Orin: Ensure the compute stack is installed.
  • Jetson: Re-install JetPack 6.0.
     from pip._internal.models.scheme import SCHEME_KEYS
ModuleNotFoundError: No module named 'pip'
...
ImportError: libholoscan_core.so.2: cannot open shared object file: No such file or directory

Your version of pip is either too old (< 20.2) or you are trying to install holoscan with system pip which cannot be found to resolve the Holoscan library symlinks.

To resolve, either:

  • install holoscan in a virtual environment, or
  • uninstall holoscan, upgrade pip on your system with python3 -m pip install --upgrade pip, and reinstall holoscan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

holoscan-2.7.0-cp312-cp312-manylinux_2_35_x86_64.whl (41.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.35+ x86-64

holoscan-2.7.0-cp312-cp312-manylinux_2_35_aarch64.whl (39.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.35+ ARM64

holoscan-2.7.0-cp311-cp311-manylinux_2_35_x86_64.whl (41.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.7.0-cp311-cp311-manylinux_2_35_aarch64.whl (39.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.7.0-cp310-cp310-manylinux_2_35_x86_64.whl (41.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.7.0-cp310-cp310-manylinux_2_35_aarch64.whl (39.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.7.0-cp39-cp39-manylinux_2_35_x86_64.whl (41.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.7.0-cp39-cp39-manylinux_2_35_aarch64.whl (39.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

File details

Details for the file holoscan-2.7.0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 d6db11d98e0b5c9f55ab267b9f58cbc3f79ddc6ad694e3bcc0912bae6647ea40
MD5 351f3d1e4096f584f75780f5511848b0
BLAKE2b-256 ee432214f4f802ada21f7341f27808bf7a1bacbb42c37e4b15ef0f031156656c

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 d6eac447ade55badd12862610def2a8407b7c51f4b3192a71af6f1c9b0b94f6b
MD5 c509afbbd2731a2bb82b0e69da50c8f0
BLAKE2b-256 4ddd0e40b678de0585b7e7765bb0bd43519a4497f3dd9d02818d03da0c938a91

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 614fb2fdb3f32c226cb4a0dcf3c264d4a05a30822a23360353eb794db8515429
MD5 5588fba806f94e4a8bd83104a5eecc67
BLAKE2b-256 212dac5333cb8b1bf1ae09ae529ddeb98a7f1a65a2e17c90cc138cc0a8d492f1

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp311-cp311-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 8fcf28d5dbfa0ac5e63ca15cf7b16701662387a67884c2db37a0f402562505e2
MD5 40320d45d74db86b8ac3df97d94ac634
BLAKE2b-256 8a7f87e04e0b8932fffb32a3a473392a068aaed56129de0aef4e2cdafa03bbd0

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 371c99117835ea5f01f7cf3e324f5871e05b5ddef4b6638945a9e822c6efb8cf
MD5 fae0795b9a86324f4ceea479eeb97b94
BLAKE2b-256 00a56dec9b6839e60604a852da9bf5defb8723eb35eb0e1ba0f6fe92dbf840a5

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp310-cp310-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 71712d5acf551383c9eae7b7e65bb28f352c7241106459b33f02b7d72ba497bc
MD5 c1ca2111d941e9c6f3f53d06954ae21d
BLAKE2b-256 25c28344c4c09a0c465cff60243c762c68d74daba54d2c9d7eddad24107c0d08

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 85744ab08cd4f1e624f0bbcc704c53a28fc484340c3fc4d7b88e1024360b9c02
MD5 b22689aba63a1b54076ea0b419f8378b
BLAKE2b-256 fe7ef74066d942f4c3c25ae370593b10260f5601744750d7f08bbffcd3d27571

See more details on using hashes here.

File details

Details for the file holoscan-2.7.0-cp39-cp39-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.7.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 2a176ff2390cdb6eceac615e7d3becd1fa4636d6637038c7f2be836bacd8b076
MD5 9ebee9ac2c2e7d5ef560e33d73a61b69
BLAKE2b-256 faf9dd69c8a9a35df8b1a2d031485d90dd72d22c480b072ae22daef84e9b10fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page