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

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.0.0-cp311-cp311-manylinux_2_35_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.0.0-cp310-cp310-manylinux_2_35_x86_64.whl (33.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.0.0-cp310-cp310-manylinux_2_35_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.0.0-cp39-cp39-manylinux_2_35_x86_64.whl (33.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.0.0-cp39-cp39-manylinux_2_35_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

holoscan-2.0.0-cp38-cp38-manylinux_2_35_x86_64.whl (33.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

holoscan-2.0.0-cp38-cp38-manylinux_2_35_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ ARM64

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 5a50441b12acabbb7f62ce613637dc1b6ae37a9157e53d8009066d843c03397a
MD5 32793ed0df287c520c537cfb4931fe43
BLAKE2b-256 e4829063f8d198d32403a16122ebd534f1dae875dfb27d711234bc00e97e5ba8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 1b430d081e9b8add36a643d7de3542f9b4f692b4682a87e4d421037571c97d6b
MD5 eed64b370c43566162a8bdec245187ad
BLAKE2b-256 2002aafab6b4b0f46ceee3f359a78f4ce72b2ec9757a51c60b31e2b67269d8d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 14084734403ec09013adc5c2f2b942556213862894c7229eedd0173f34d5a43e
MD5 7d83fff985395aaf2bef44c1b2c3b0bc
BLAKE2b-256 debd96507715202275267b0f490bab50c29c7914d92f08ca5581d53bb5e91781

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 db9918da3df0601b85de6928efe9b1b6cc55c4654c83c0a1f93a42033d84d442
MD5 0c80a585f355a22c0ca9a5d1a80aaeaf
BLAKE2b-256 52d81a28f66f73f3df79378a325256fa53b0cbf4176257e0ac2f38ba45f761ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b8fed02fb2473686a23d0cda3c91787bf037d3137ee8c39e6543057fdf0fe0ad
MD5 7dd6d4ab15d908e2f2d0253280980fb8
BLAKE2b-256 b815f31cb4a5f39120e3bbb0388cc7ff071c1c48152f3bc063406bcd10cecdf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 9de70007540c5b1a4ee59f42564d25e7232cfa2a4af9b703bc89a3f5c62a9cc3
MD5 376d4399d4cc50f202c6c50c4f6574be
BLAKE2b-256 e5bdb334325c3c87bc33679f513e2523c086cdeb819fc3481472a9be135fef12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 a0c019a0da2c7b23b0f6f72002e7967160f865df12e7f61ef45e703b87531a34
MD5 768bee9ae7350eb6bcc601f376e4234f
BLAKE2b-256 638d077fabe8348ede0de71dacff406df1ae8544ad457c038597460222673241

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for holoscan-2.0.0-cp38-cp38-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 2c3983502d8591f1399a5d34d09096c820f741b3772bf7721ca7b1da2b284001
MD5 b6e566a244c68c603ae48f58d907baf0
BLAKE2b-256 2f1d7e1cc49805e35f99560cda916307096549cd769fd622574b66a4a0a95035

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