Skip to content

Commit

Permalink
Holoscan SDK v2.1.0 Release
Browse files Browse the repository at this point in the history
Co-authored-by: Alexis Girault <[email protected]>
Co-authored-by: Andreas Heumann <[email protected]>
Co-authored-by: Arun Patole <[email protected]>
Co-authored-by: Cristiana Dinea <[email protected]>
Co-authored-by: Gigon Bae <[email protected]>
Co-authored-by: Gregory Lee <[email protected]>
Co-authored-by: Gregory R. Lee <[email protected]>
Co-authored-by: Ian Stewart <[email protected]>
Co-authored-by: Ilies Chergui <[email protected]>
Co-authored-by: Julien Jomier <[email protected]>
Co-authored-by: Shekhar Dwivedi <[email protected]>
Co-authored-by: Soham Sinha <[email protected]>
Co-authored-by: Tom Birdsong <[email protected]>
Co-authored-by: Victor Chang <[email protected]>
Co-authored-by: Wendell Hom <[email protected]>
  • Loading branch information
14 people committed Jun 4, 2024
1 parent 1e011a4 commit 760e403
Show file tree
Hide file tree
Showing 342 changed files with 13,087 additions and 3,326 deletions.
12 changes: 10 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,13 @@
"--security-opt=seccomp=unconfined",
],
"containerEnv": {
// X11 support
"DISPLAY": "${localEnv:DISPLAY}",
"NVIDIA_DRIVER_CAPABILITIES": "graphics,video,compute,utility,display",
// Wayland support
"WAYLAND_DISPLAY": "${localEnv:WAYLAND_DISPLAY}",
"XDG_RUNTIME_DIR": "${localEnv:XDG_RUNTIME_DIR}",
"XDG_SESSION_TYPE": "${localEnv:XDG_SESSION_TYPE}",
"NVIDIA_DRIVER_CAPABILITIES": "all",
// Set the following environment variables to use the same folder name as the host machine.
// This is needed to launch container from the workspace folder that is not same as the SDK source root folder.
"HOLOSCAN_PUBLIC_FOLDER": "${localEnv:HOLOSCAN_PUBLIC_FOLDER}",
Expand All @@ -40,7 +45,10 @@
"CMAKE_BUILD_PARALLEL_LEVEL": "${localEnv:CMAKE_BUILD_PARALLEL_LEVEL}",
},
"mounts": [
// X11 support
"source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached",
// Wayland support
"source=${localEnv:XDG_RUNTIME_DIR},target=${localEnv:XDG_RUNTIME_DIR},type=bind,consistency=cached",
],
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace/holoscan-sdk,type=bind,consistency=cached",
"workspaceFolder": "/workspace/holoscan-sdk",
Expand Down Expand Up @@ -74,4 +82,4 @@
// "postCreateCommand": "gcc -v",
// Comment out this line to run as root instead.
"remoteUser": "holoscan-sdk"
}
}
67 changes: 67 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,24 @@
}
]
},
{
"name": "(gdb) examples/holoviz/cpp/holoviz_camera",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.buildDirectory}/examples/holoviz/cpp/holoviz_camera",
"args": [],
"stopAtEntry": false,
"cwd": "${command:cmake.buildDirectory}",
"environment": [],
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "(gdb) examples/holoviz/cpp/holoviz_geometry",
"type": "cppdbg",
Expand Down Expand Up @@ -485,6 +503,55 @@
}
]
},
{
"name": "(gdb) examples/import_gxf_components/cpp",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.buildDirectory}/examples/import_gxf_components/cpp/import_gxf_components",
"args": [],
"stopAtEntry": false,
"cwd": "${command:cmake.buildDirectory}",
"environment": [
{
"name": "HOLOSCAN_LOG_LEVEL",
"value": "DEBUG"
},
],
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "(gdb) examples/import_gxf_components/python",
"type": "cppdbg",
"request": "launch",
"program": "/usr/bin/bash",
"args": [
"${workspaceFolder}/${env:HOLOSCAN_PUBLIC_FOLDER}/.vscode/debug_python",
"${workspaceFolder}/${env:HOLOSCAN_PUBLIC_FOLDER}/examples/import_gxf_components/python/import_gxf_components.py",
],
"stopAtEntry": false,
"cwd": "${command:cmake.buildDirectory}",
"environment": [
{
"name": "HOLOSCAN_LOG_LEVEL",
"value": "DEBUG"
},
{
"name": "PYTHONPATH",
"value": "${command:cmake.buildDirectory}/python/lib"
},
{
"name": "HOLOSCAN_INPUT_PATH",
"value": "${command:cmake.buildDirectory}/../data"
},
],
},
{
"name": "(gdb) examples/multithread/cpp/multithread",
"type": "cppdbg",
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ list(APPEND HOLOSCAN_INSTALL_TARGETS
op_async_ping_tx
op_bayer_demosaic
op_format_converter
op_gxf_codelet
op_holoviz
op_inference
op_inference_processor
Expand Down
9 changes: 8 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ FROM nvcr.io/nvidia/tensorrt:23.12-py3-igpu AS igpu_base
FROM ${GPU_TYPE}_base AS base

ARG DEBIAN_FRONTEND=noninteractive
ENV NVIDIA_DRIVER_CAPABILITIES=all

############################################################
# Variables
Expand Down Expand Up @@ -328,12 +329,14 @@ RUN install -m 0755 -d /etc/apt/keyrings \
# libx* - X packages
# libvulkan1 - for Vulkan apps (Holoviz)
# vulkan-validationlayers, spirv-tools - for Vulkan validation layer (enabled for Holoviz in debug mode)
# libwayland-dev, libxkbcommon-dev, pkg-config - GLFW compile dependency for Wayland support
# libdecor-0-plugin-1-cairo - GLFW runtime dependency for Wayland window decorations
# libegl1 - to run headless Vulkan apps
# libopenblas0 - libtorch dependency
# libv4l-dev - V4L2 operator dependency
# v4l-utils - V4L2 operator utility
# libpng-dev - torchvision dependency
# libjpeg-dev - torchvision dependency
# libjpeg-dev - torchvision, v4l2 mjpeg dependency
# docker-ce-cli - enable Docker DooD for CLI
# docker-buildx-plugin - enable Docker DooD for CLI
RUN apt-get update \
Expand All @@ -349,6 +352,10 @@ RUN apt-get update \
libvulkan1="1.3.204.1-*" \
vulkan-validationlayers="1.3.204.1-*" \
spirv-tools="2022.1+1.3.204.0-*" \
libwayland-dev="1.20.0-*" \
libxkbcommon-dev="1.4.0-*" \
pkg-config="0.29.2-*" \
libdecor-0-plugin-1-cairo="0.1.0-*" \
libegl1="1.4.0-*" \
libopenblas0="0.3.20+ds-*" \
libv4l-dev="1.22.1-*" \
Expand Down
84 changes: 78 additions & 6 deletions NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ Licensed under MIT (https://github.com/fmtlib/fmt/blob/8.1.1/LICENSE.rst)

GLFW (https://www.glfw.org/)
Copyright (c) 2002-2006 Marcus Geelnard
Copyright (c) 2006-2016 Camilla Berglund <[email protected]>
Licensed under Zlib (https://github.com/glfw/glfw/blob/3.3.7/COPYING.txt)
Copyright (c) 2006-2019 Camilla Löwy
Licensed under Zlib (https://github.com/glfw/glfw/blob/3.4/LICENSE.md)

gRPC (https://github.com/grpc/grpc)
Copyright 2014 gRPC authors.
Expand Down Expand Up @@ -81,6 +81,20 @@ Copyright © 2015 Research Organization for Information Science and Technol
Copyright © 2015-2016 Intel, Inc. All rights reserved.
Licensed under BSD-3-clause (https://github.com/open-mpi/hwloc/blob/hwloc-2.9.0/COPYING)

AJA NTV2 SDK (https://github.com/nvidia-holoscan/libajantv2)
Copyright (c) 2023 AJA Video Systems
Licensed under MIT (https://github.com/nvidia-holoscan/libajantv2/blob/holoscan/LICENSE)

libdecor-0-plugin-1-cairo (https://packages.ubuntu.com/jammy/libdecor-0-plugin-1-cairo)
2010 Intel Corporation
2011 Benjamin Franzke
2017-2018 Red Hat Inc
2018-2019 Jonas Ã…dahl
2019 Christian Rauch
2021 Christian Rauch
2021 Marco Trevisan
Licensed under MIT (http://changelogs.ubuntu.com/changelogs/pool/main/libd/libdecor-0/libdecor-0_0.1.0-3build1/copyright)

libegl1 (https://packages.ubuntu.com/jammy/libegl1)
2013-2017 NVIDIA Corporation
2007-2013 VMware, Inc
Expand Down Expand Up @@ -144,6 +158,63 @@ libvulkan1 (https://packages.ubuntu.com/jammy/libvulkan1)
2015-2016 LunarG, Inc
Licensed under Apache-2.0 (http://changelogs.ubuntu.com/changelogs/pool/main/v/vulkan-loader/vulkan-loader_1.3.204.1-2/copyright)

libwayland-client (https://packages.ubuntu.com/jammy/libwayland-client++0)
Copyright: 2014-2019, Nils Christopher Brause
Copyright: 2014-2019, Nils Christopher Brause, Philipp Kerling
Copyright: 2014-2019, Philipp Kerling, Nils Christopher Brause
Copyright: 2015-2016, Red Hat Inc.
Copyright: 2013-2014, Collabora, Ltd.
Copyright: 2017-2019, Philipp Kerling
Copyright: 2014-2019, Nils Christopher Brause, Philipp Kerling, Zsolt Bölöny
Copyright: 2012-2013, Intel Corporation
Copyright: 2014, Jonas Ã…dahl
Copyright: 2014, Stephen "Lyude" Chandler Paul
Copyright: 2014-2019, Philipp Kerling, Nils Christopher Brause, Craig Andrews, Tobias Kortkamp, Balint Reczey
Copyright: 2014-2019, Nils Christopher Brause, Philipp Kerling, Bernd Kuhls
Copyright: 2012-2013, Intel Corporation
Copyright: 2016, The Chromium Authors.
Copyright: 2008-2011, Kristian Høgsberg
Copyright: 2008-2013, Kristian Høgsberg
Copyright: 2008-2013, Kristian Høgsberg
Copyright: 2015, Jason Ekstrand
Copyright: 2015-2016, Red Hat
Copyright: 2015, Samsung Electronics Co., Ltd
Copyright: 2018, Simon Ser
Copyright: 2017 wsnipex <[email protected]> 2019 Balint Reczey <[email protected]>
Licensed under MIT, BSD-2 (https://changelogs.ubuntu.com/changelogs/pool/universe/w/waylandpp/waylandpp_0.2.8-2/copyright)

libwayland-dev (https://packages.ubuntu.com/jammy/libwayland-dev)
Copyright: © 2011 Cyril Brulebois <[email protected]>
Copyright: © 1999 SuSE, Inc. © 2002 Keith Packard © 2006, 2008 Junio C Hamano © 2008-2012 Kristian Høgsberg © 2010-2012 Intel Corporation © 2011 Benjamin Franzke © 2012-2013, 2016 Collabora, Ltd © 2012-2013 Jason Ekstrand © 2012-2014 Jonas Ådahl © 2013 Marek Chalupa © 2014-2015 Red Hat, Inc. © 2015 Giulio Camuffo © 2016 Klarälvdalens Datakonsult AB © 2016 Yong Bakos © 2017 NVIDIA CORPORATION © 2017 Samsung Electronics Co., Ltd
Licensed under MIT (https://changelogs.ubuntu.com/changelogs/pool/main/w/wayland/wayland_1.20.0-1ubuntu0.1/copyright)

libwayland-egl1 (https://packages.ubuntu.com/jammy/libwayland-egl1)
Copyright 2011 Cyril Brulebois <[email protected]>
Copyright: 1999 SuSE, Inc.
Copyright: 2002 Keith Packard
Copyright: 2006, 2008 Junio C Hamano
Copyright: 2008-2012 Kristian Høgsberg
Copyright: 2010-2012 Intel Corporation
Copyright: 2011 Benjamin Franzke
Copyright: 2012-2013, 2016 Collabora, Ltd
Copyright: 2012-2013 Jason Ekstrand
Copyright: 2012-2014 Jonas Ã…dahl
Copyright: 2013 Marek Chalupa
Copyright: 2014-2015 Red Hat, Inc.
Copyright: 2015 Giulio Camuffo
Copyright: 2016 Klarälvdalens Datakonsult AB
Copyright: 2016 Yong Bakos
Copyright: 2017 NVIDIA CORPORATION
Copyright: 2017 Samsung Electronics Co., Ltd
Licensed under X11 (https://changelogs.ubuntu.com/changelogs/pool/main/w/wayland/wayland_1.20.0-1ubuntu0.1/copyright)

libxkbcommon-dev (https://packages.ubuntu.com/jammy/libxkbcommon-dev)
Copyright 1985, 1987, 1988, 1990, 1998 The Open Group
Copyright 2008, 2009 Dan Nicholson
Copyright (c) 1993, 1994, 1995, 1996 by Silicon Graphics Computer Systems, Inc.
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
Licensed under MIT (https://changelogs.ubuntu.com/changelogs/pool/main/libx/libxkbcommon/libxkbcommon_1.4.0-1/copyright)

magic_enum (https://github.com/Neargye/magic_enum)
Copyright (c) 2019 - 2023 Daniil Goncharov
Licensed under MIT (https://github.com/Neargye/magic_enum/blob/v0.9.3/LICENSE)
Expand All @@ -156,10 +227,6 @@ Ninja (https://packages.ubuntu.com/jammy/ninja-build)
2011-2014 Google
Licensed under Apache 2 License (http://changelogs.ubuntu.com/changelogs/pool/universe/n/ninja-build/ninja-build_1.10.1-1/copyright)

AJA NTV2 SDK (https://github.com/ibstewart/ntv2)
Copyright (c) 2021 AJA Video Systems
Licensed under MIT (https://github.com/ibstewart/ntv2/blob/holoscan-v0.2.0/LICENSE)

nvpro_core (https://github.com/nvpro-samples/nvpro_core)
Copyright (c) 2014-2023, NVIDIA CORPORATION. All rights reserved.
Licensed under Apache 2.0 (https://github.com/nvpro-samples/nvpro_core/blob/master/LICENSE)
Expand All @@ -175,6 +242,11 @@ openblas (https://packages.ubuntu.com/jammy/libopenblas0)
2020 IBM Corporation
Licensed under BSD (http://changelogs.ubuntu.com/changelogs/pool/universe/o/openblas/openblas_0.3.20+ds-1/copyright)

pkg-config (https://packages.ubuntu.com/jammy/pkg-config)
Copyright (C) 2001, 2002 Red Hat Inc.
Copyright (C) 2004, 2005 Tollef Fog Heen <[email protected]>
Licensed under GPLv2 (http://changelogs.ubuntu.com/changelogs/pool/main/p/pkg-config/pkg-config_0.29.2-1ubuntu3/copyright)

pybind11 (https://github.com/pybind/pybind11)
Copyright (c) 2016 Wenzel Jakob <[email protected]>, All rights reserved.
Licensed under BSD-3-clause (https://github.com/pybind/pybind11/blob/v2.11.1/LICENSE)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ We appreciate community discussion and feedback in support of Holoscan platform

### Relation to NVIDIA Clara

In previous releases, the prefix [`Clara`](https://developer.nvidia.com/industries/healthcare) was used to define Holoscan as a platform designed initially for [medical devices](https://www.nvidia.com/en-us/clara/developer-kits/). As Holoscan has grown, its potential to serve other areas has become apparent. With version 0.4.0, we're proud to announce that the Holoscan SDK is now officially built to be domain-agnostic and can be used to build sensor AI applications in multiple domains. Note that some of the content of the SDK (sample applications) or the documentation might still appear to be healthcare-specific pending additional updates. Going forward, domain specific content will be hosted on the [HoloHub](https://nvidia-holoscan.github.io/holohub) repository.
In previous releases, the prefix [`Clara`](https://developer.nvidia.com/industries/healthcare) was used to define Holoscan as a platform designed initially for [medical devices](https://www.nvidia.com/en-us/clara/developer-kits/). Starting with version 0.4.0, the Holoscan SDK is built to be domain-agnostic and can be used to build sensor AI applications in multiple domains. Domain specific content will be hosted on the [HoloHub](https://nvidia-holoscan.github.io/holohub) repository.

### Repository structure

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.0
2.1.0
27 changes: 14 additions & 13 deletions cmake/deps/ajantv2_rapids.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -16,21 +16,22 @@
# https://docs.rapids.ai/api/rapids-cmake/stable/command/rapids_find_package.html#
include(${rapids-cmake-dir}/cpm/find.cmake)

rapids_cpm_find(ajantv2 16.2.0
# Setting NTV2_VERSION_BUILD environment variable to avoid CMake warning
set(ENV{NTV2_VERSION_BUILD} 1)

rapids_cpm_find(ajantv2 17.0.1
GLOBAL_TARGETS AJA::ajantv2

CPM_ARGS

GITHUB_REPOSITORY nvidia-holoscan/ntv2
GIT_TAG 1321a8d4c1a8de696c996d05b65e5aa2934f89d1
GITHUB_REPOSITORY nvidia-holoscan/libajantv2
GIT_TAG d4250c556bcf1ebade627a3ef7a2027de7dc85ee
OPTIONS
"AJA_BUILD_APPS OFF"
"AJA_BUILD_DOCS OFF"
"AJA_BUILD_DRIVER OFF"
"AJA_BUILD_LIBS ON"
"AJA_BUILD_PLUGINS OFF"
"AJA_BUILD_QA OFF"
"AJA_BUILD_TESTS OFF"
"AJANTV2_DISABLE_DEMOS ON"
"AJANTV2_DISABLE_DRIVER ON"
"AJANTV2_DISABLE_PLUGINS ON"
"AJANTV2_DISABLE_TESTS ON"
"AJANTV2_DISABLE_TOOLS ON"
"AJA_INSTALL_HEADERS OFF"
"AJA_INSTALL_SOURCES OFF"
EXCLUDE_FROM_ALL
Expand All @@ -43,8 +44,8 @@ if(ajantv2_ADDED)
add_library(AJA::ajantv2 ALIAS ajantv2)

# Install the headers needed for development with the SDK
install(DIRECTORY ${ajantv2_SOURCE_DIR}/ajalibraries
DESTINATION "include"
install(DIRECTORY ${ajantv2_SOURCE_DIR}/ajantv2 ${ajantv2_SOURCE_DIR}/ajabase
DESTINATION "include/libajantv2"
COMPONENT "holoscan-dependencies"
FILES_MATCHING PATTERN "*.h" PATTERN "*.hh"
)
Expand Down
Loading

0 comments on commit 760e403

Please sign in to comment.