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.

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.2.0.post1-cp311-cp311-manylinux_2_35_x86_64.whl (34.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.2.0.post1-cp311-cp311-manylinux_2_35_aarch64.whl (32.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.2.0.post1-cp310-cp310-manylinux_2_35_x86_64.whl (33.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.2.0.post1-cp310-cp310-manylinux_2_35_aarch64.whl (32.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.2.0.post1-cp39-cp39-manylinux_2_35_x86_64.whl (33.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.2.0.post1-cp39-cp39-manylinux_2_35_aarch64.whl (32.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

holoscan-2.2.0.post1-cp38-cp38-manylinux_2_35_x86_64.whl (33.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

holoscan-2.2.0.post1-cp38-cp38-manylinux_2_35_aarch64.whl (32.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ ARM64

File details

Details for the file holoscan-2.2.0.post1-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 48ac475a993d2a0998531e65415010985defcaba6412de45d1450d3866df4784
MD5 e9bd9bf0b3bec81afd556dfa96edf95d
BLAKE2b-256 7357e7e0752caaa5139e894201b56036df90c7699a0dc111fec40e71f3898616

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp311-cp311-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 9ec749e29d0df632a8590740b477c56ecc6f9f1606f0e28227a34c9486fef377
MD5 b2aa671c3ffda0c81dccf434b4217080
BLAKE2b-256 b9ac5f6a85d51b764857e014c4441d148f70531bbde095e053e7dfbc537dfd85

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 094904a72be9b4f165de053f336eab87c4e053ab2ab1efc42421e0c8f807832c
MD5 3c85da6b337591fdc75762358e44d7d0
BLAKE2b-256 1b8b033969b6040be9758d34dc71b181a4c19152b3756cfeee04b40ab5ef6d89

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp310-cp310-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 b0f2ed9f5d8e6871d30efeeccd408c310638bd0887c19bddc6bfd0b768051814
MD5 9d379a563df036d820c864d67952700b
BLAKE2b-256 c9eb1c522609e05c369c08146e992279e99a4e2c92018b7cecff269b51825cf7

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 77a76886691551e9581d0c7c0150551b824e7c1c7dfdc24d61a191bfb5439826
MD5 040b0017c972a6a2c8a676162d815ad0
BLAKE2b-256 560f94d1463df437a60e60cdc454a0f0603a8c78441189a97fa7b45e04ff2ba8

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp39-cp39-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 f8c76e28c87a0de7a85d52712a8006229c1d94b48f8e6f496d393e471bf1dc9d
MD5 2ba650fd5f222eb98f77eadad3bd7cf0
BLAKE2b-256 a383ce638bfa19a881384b128c4d68e86717f39847804ae0b6bb79414b54f8e0

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp38-cp38-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 1dfea17052f48c17b4b47e278c960dc7e49bab8be6aa0fec49d9bdf71492e893
MD5 93d5fd554e6a57ce80cb9288fb6c0d15
BLAKE2b-256 d837171f110332f9dd2712dda7777138867900b1059673eff79292004c83f12c

See more details on using hashes here.

File details

Details for the file holoscan-2.2.0.post1-cp38-cp38-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.2.0.post1-cp38-cp38-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 61a40ef9d214ed60b0f1c0b110fe2e573ebd2e6a28a7c51ac62197bd5977fd2c
MD5 91d8f2ffa8af094d190894e51f58c6af
BLAKE2b-256 2106e5fcd245b0c4d4383b21ad793d8ad760df45a49eb7e6829c1c900d6f0ae0

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