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

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.1.0-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.1.0-cp310-cp310-manylinux_2_35_aarch64.whl (32.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.1.0-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.1.0-cp39-cp39-manylinux_2_35_aarch64.whl (32.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

holoscan-2.1.0-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.1.0-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.1.0-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.1.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b7661fd7b16d6e2244e1d840d5d3258e5ca521a75f72e2c681a446a3b07cff0c
MD5 b5d1afb5d55a8e7534abccaafad36d6c
BLAKE2b-256 e9053cc8a39315c926a17c730f1a25f42e63980630a404d39cc2ea358babd86a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 bf1bf937cddfddc26369a3ac4bbc577aa93c7f0b1582b38151223c71978ab4f6
MD5 7075b0a90ff669ea4621d9929e137919
BLAKE2b-256 1eafce98d0cff0b01559ba05613ec85caedcc4585e7195c866ddedbe47816a5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 00bb05d7b2db50c9b20bb2b4324b4e5ae02b39f7afa53e80675f05ffdb120fc5
MD5 1ff73923dc9c98a7ab955e8bbb78025d
BLAKE2b-256 32f00f5f40666e7785b89379d803e5f1c148d4b499dd2b8c184d74d303340304

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 d2c2183dbfe9576aadc8c70e3e3fed8e0a7f64ccfd6136c4972cfd62dd9f5099
MD5 2a2ea077b8458cab9191ed62bd9718e3
BLAKE2b-256 e72af2cac17e657f7e54a557cb9cdfe8d29c1d196b1728aeb2e56fb17b7f0892

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 dcb2a97290f8191e5fe1eea237e47ff682072b55137771b47bee142022f3f72f
MD5 d775d633bb8a55167e8cd8aae1598676
BLAKE2b-256 f61b391f4a618cd5bc1fb05577ca2bc86fb457ba21de280969b0d5ff98998da0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 a4b65520645f79f86df6b7abf5ef92ff80549b599c6ce0c5fa6830f47fd334ad
MD5 8959b7208070f9143db02aa0a5b690c1
BLAKE2b-256 bdef9a5e22d82f02ac51b3d606253a49000ca5fd5e1d1676e1909e7eb2ee5ea7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 e1ac601097aefaa806498ac54f25fc905f75e1601b35257c50def442e0920e19
MD5 e4139f40fd8a1033d47a3fd301f253e9
BLAKE2b-256 efe61e1d59c5286b56403d4e2dcb1ddc07f33bbe6c690fe5fa1247ce88d2cbad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.1.0-cp38-cp38-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 af5ca301d2d87109e5660bf491dabe38df8e306714cde1f9a27f97f3da821c47
MD5 42923b415c100f6783f0d6a10a8baa05
BLAKE2b-256 dd63a1d3cd4d938b5e43e19feae6eea7b764acb30cf032d862f47882d99a58a1

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