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

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.3.0-cp311-cp311-manylinux_2_35_aarch64.whl (32.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.3.0-cp310-cp310-manylinux_2_35_x86_64.whl (34.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.3.0-cp310-cp310-manylinux_2_35_aarch64.whl (32.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.3.0-cp39-cp39-manylinux_2_35_x86_64.whl (34.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.3.0-cp39-cp39-manylinux_2_35_aarch64.whl (32.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

holoscan-2.3.0-cp38-cp38-manylinux_2_35_x86_64.whl (34.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

holoscan-2.3.0-cp38-cp38-manylinux_2_35_aarch64.whl (32.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ ARM64

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b444e124b5b19c75c352a47d507ebcbdec7713e2e51db8c436cc7e6146605987
MD5 f81fb91b3ae72026e0e61d29e2e10a60
BLAKE2b-256 ca40472ec5a985d45b3a1584e1ec90d3e418eb13af95a6af4b1c92e89a6e99b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 a02dee65277cf84387979a883a0fa0d81a7634007386a564edbc25451a13f8a8
MD5 a078192dfd1a09318179f482aca22219
BLAKE2b-256 049b0298a2d5d033ade77b7d7966b014633065fd83bcee9532a5a239de5355e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 7ed0d373845e92370f65d4532d09afa821044987b3fe64c848cc03f55627091a
MD5 3a0d4b379965bc2c3f3a8055becdd3c1
BLAKE2b-256 a9d97bbf8047cca7de770f1b711ad5a476c48f71599d75c68b15764e09866cb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 a25476338b8c8a1c16f1bad0ea654f5c87937011744aa107322489476a134eaf
MD5 95db04b8b3d0f22705c972abf5f9e2e7
BLAKE2b-256 d403cec8fea3f8a301f141df2f03187e7fd60ce24a43e625c4ffa789dcc08a4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 9f0225f1f785a10d827e2add1fbd90f765dda809306d26ebb44de337b4b65b7f
MD5 36dd20d8e50d903059d65de5903b8a83
BLAKE2b-256 e36a12915b7615c39bc80468ce5740c37733fadf136657b1b783d8870d7f0f11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 66505f3913011f73008d3e7049da51e59fcaceb59d1299ab1120e5af036a256f
MD5 9e4b7fc578cd06949360739e0ff80221
BLAKE2b-256 68955383a791646466e07b7785c314c1915d506c65c19ac17097e67f7b28931b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 5e1086fbfc4be5866248dd4b9d6a05b93752cf8faba6c5711ce9df881609d5fb
MD5 869742ce0a2b999f17aff4f77c063258
BLAKE2b-256 3ec7698b36ae8258283df114649fe44e2b767604de1a355c6bc12319b2b31e1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.3.0-cp38-cp38-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 99c41e43c87d80cce2debd82e161fec599f28c65a11289c87ffda3cd97e8fe09
MD5 6029962c024621651881ed8ba795bd0c
BLAKE2b-256 d4cb729188f7a14cfc66f3383a598f09764fc19d85c7ea6fabdbdeb2663438c0

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