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.8 to 3.11

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.4.0-cp311-cp311-manylinux_2_35_x86_64.whl (34.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.4.0-cp311-cp311-manylinux_2_35_aarch64.whl (33.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.4.0-cp310-cp310-manylinux_2_35_x86_64.whl (34.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.4.0-cp310-cp310-manylinux_2_35_aarch64.whl (33.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.4.0-cp39-cp39-manylinux_2_35_x86_64.whl (34.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.4.0-cp39-cp39-manylinux_2_35_aarch64.whl (33.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

holoscan-2.4.0-cp38-cp38-manylinux_2_35_x86_64.whl (34.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

holoscan-2.4.0-cp38-cp38-manylinux_2_35_aarch64.whl (33.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ ARM64

File details

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

File metadata

File hashes

Hashes for holoscan-2.4.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 66ab97b2f4536f3ede125669c3c9231a4ecc9853e784b908aff0e727041beeb6
MD5 a35827be4d8411bc5b9e95ea766da7d9
BLAKE2b-256 23b0e2c852cb64e933723568669a25b390720ae0ecaa6e5a7353bdaf208bcc46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.4.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 c5306cc97a0760db886983c24dc89400f8bd0266b8b42b02f5d4af3b5ade0e39
MD5 baa238bcbd35878eacfb3e06a842e8be
BLAKE2b-256 62f267c16e05a49eca70a8753f0a51e0e301d4f34723dc2bb1ffc11388069bce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.4.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 5da45a4a1aaa2548fe2373643244c5c14163741c24edda564b2bf16036bec7ae
MD5 639d2217ffada8b3454ee72d586ccaa6
BLAKE2b-256 5f35eeacac84bb5c6970fd0d373310c657431292cfc4d61f0ccd26b2d51d59b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.4.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 5af94b8b12c974bf4b1887efbf03d7fdac17302d8871ba866b63f0ab00e250c4
MD5 5a9a62b5f6a8f8982801163eed9cd6cd
BLAKE2b-256 686e7fcd41e3ffcc2f059b631b68970acb6dadd2c772643e9df6fdd1a48cea28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.4.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 6ae30665a4c3403689e86f7632fafd20d064890ad9d454592466084dc7eef493
MD5 3e48e45b959ea6c3ee11c73801f2a4f1
BLAKE2b-256 8f096229a4d3a6aacd74b81a01e724cfde20ee54fe3149cb455ffc1ade5c8f53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.4.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 ffae94a360c818f1e3ca6239d43861803900f162b24f291f9ab2aeac041d8613
MD5 0d2ea89ac4a82357572d9cf090463d26
BLAKE2b-256 78056fd04c31d93d00405935f0ffa03afa892b7aac45cc5866ab44a5b6b585a2

See more details on using hashes here.

File details

Details for the file holoscan-2.4.0-cp38-cp38-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.4.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 04b1a68b7765845e7e6928c7f94b40056da4fd38614fe3ed2c674313f2060e99
MD5 5a14b2fe4f0d5b4590c16526cc2bfb7a
BLAKE2b-256 491c1f49431f56d12ba13b05514d55ab8030a203e443f9e8ed0c2957f367d103

See more details on using hashes here.

File details

Details for the file holoscan-2.4.0-cp38-cp38-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.4.0-cp38-cp38-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 4e23fb9bb74ee0214eeb8bc94591b79f3e53065bcc2835a694dd99cdb2c4c737
MD5 4dbb8e398b534a504d8150ffa2234924
BLAKE2b-256 268bd79aa3e21bbe6d4b1d140836d752a875feba49642dbb011b19eae0ba0c5a

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