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.6.0-cp312-cp312-manylinux_2_35_x86_64.whl (37.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.35+ x86-64

holoscan-2.6.0-cp312-cp312-manylinux_2_35_aarch64.whl (35.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.35+ ARM64

holoscan-2.6.0-cp311-cp311-manylinux_2_35_x86_64.whl (37.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.6.0-cp311-cp311-manylinux_2_35_aarch64.whl (35.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl (40.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.6.0-cp310-cp310-manylinux_2_35_aarch64.whl (38.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.6.0-cp39-cp39-manylinux_2_35_x86_64.whl (37.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.6.0-cp39-cp39-manylinux_2_35_aarch64.whl (35.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 3da855474f871e47118a9ffc487700a71d464bb1b91dde0529bc9b320c432803
MD5 07a4679a5bc3b004e88f70f18273c8e9
BLAKE2b-256 e3c6e96cd6dd91883d73df2e662fea0b112a73e1f22dbe1ca07e37ca3bcae641

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 f0254fe4a7e43e1f70616cf70db0c63a237b3f36ad550eb928c3899094697f10
MD5 903b70e0cad6c729f96511ecf7a15036
BLAKE2b-256 322d2a9a194ee8e2e79894485bea9de50c7a933d9b10fa7b8e02caa793a29b9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 bcf4cdbb7a69cc758fbf3a4b2ed0d5b68e51c8cc7394b6e74251ff9477020023
MD5 83b39d37b6d4be0a0fa2572cc8dfb27f
BLAKE2b-256 aa6e0db784a3b7a9ee2d640dc34b9ddc173f585a28dc5c37f53fa8fa29a9220c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 951fde466b0e02b5da67702c1a561c6642c0725882337f6e00820da73c32bc9e
MD5 11105588d8072e490953ecb27ac29be7
BLAKE2b-256 3ef33a6fbf31ab9708763d44f200f1d9cd9795c98d5c1085b1fc35e08df9ee4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 c38a28b8faffd4c8219fbfbaae058127baa5af82d3e64bb450b989d35c41d65d
MD5 7815a197dd568e5762b34bd04625551c
BLAKE2b-256 f505278e4aaa6889245949eb42cdc57ac33580288f75105fac893a014b0fb83e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 e15823967d3ab8fbb6743dcc73a9d4898f87cef4b5d9bef1c767c751c8481bef
MD5 3bb59c4923f20352d822d3c55337447f
BLAKE2b-256 9f9401cf7a9f4161081f857a409f820899327817db4711c3e59ac1ce2053ad4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f3fc17b6233158051a5bf903e6e9a6d469df7c267bf5b9a8ac88c44652a2f4aa
MD5 bd61ffa8fb2b68878692783c80dd3b6f
BLAKE2b-256 630a1a93149da91de571bba3a224e8171a66ad2cc1a63c216e4d58d7c6f11fd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.6.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 7a3066af1155960dc55a2a3862dccabe70de2b25da1e9032dd4f7864a21c74ac
MD5 426254f92d7d361c1086d6cace51413b
BLAKE2b-256 370fbf29d3f1fb2d7663efae2e46e33e4f369a1e45ed48346a8a5acfb77711e9

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