Skip to content

Commit

Permalink
Post 1.0.3 release fixes
Browse files Browse the repository at this point in the history
- Use edge.urm artifactory repository to pull libtorch, torchvision,
GXF, and onnxruntime artifacts in the build dockerfile
- Add tegra's video input device nodes to access the IGX Orin HDMI IN
input data in containers with `run launch`
- Update user guide source code to the latest published version for 1.0
  • Loading branch information
agirault committed Feb 29, 2024
1 parent 6e62f84 commit cf61c8e
Show file tree
Hide file tree
Showing 12 changed files with 144 additions and 75 deletions.
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ ARG ONNX_RUNTIME_VERSION
# note: built with CUDA and TensorRT providers
WORKDIR /opt/onnxruntime
RUN curl -S -L -# -o ort.tgz \
https://urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/onnxruntime/onnxruntime-${ONNX_RUNTIME_VERSION}-cuda-12.1-$(uname -m).tar.gz
https://edge.urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/onnxruntime/onnxruntime-${ONNX_RUNTIME_VERSION}-cuda-12.1-$(uname -m).tar.gz
RUN tar -xf ort.tgz --strip-components 1

############################################################
Expand All @@ -97,7 +97,7 @@ ARG GPU_TYPE
WORKDIR /opt/libtorch/
RUN ARCH=$(uname -m) && if [ "$ARCH" = "aarch64" ]; then ARCH="${ARCH}-${GPU_TYPE}"; fi && \
curl -S -# -o libtorch.tgz -L \
https://urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/libtorch/libtorch-${LIBTORCH_VERSION}-${ARCH}.tar.gz
https://edge.urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/libtorch/libtorch-${LIBTORCH_VERSION}-${ARCH}.tar.gz
RUN mkdir -p ${LIBTORCH_VERSION}
RUN tar -xf libtorch.tgz -C ${LIBTORCH_VERSION} --strip-components 1
# Remove kineto from config to remove warning, not needed by holoscan
Expand All @@ -115,7 +115,7 @@ ARG GPU_TYPE
WORKDIR /opt/torchvision/
RUN ARCH=$(uname -m) && if [ "$ARCH" = "aarch64" ]; then ARCH="${ARCH}-${GPU_TYPE}"; fi && \
curl -S -# -o torchvision.tgz -L \
https://urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/torchvision/torchvision-${TORCHVISION_VERSION}-${ARCH}.tar.gz
https://edge.urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/torchvision/torchvision-${TORCHVISION_VERSION}-${ARCH}.tar.gz
RUN mkdir -p ${TORCHVISION_VERSION}
RUN tar -xf torchvision.tgz -C ${TORCHVISION_VERSION} --strip-components 1

Expand Down Expand Up @@ -233,7 +233,7 @@ ARG GXF_VERSION
WORKDIR /opt/nvidia/gxf
RUN if [ $(uname -m) = "aarch64" ]; then ARCH=arm64; else ARCH=x86_64; fi \
&& curl -S -# -L -o gxf.tgz \
https://urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/gxf/gxf_${GXF_VERSION}_holoscan-sdk_${ARCH}.tar.gz
https://edge.urm.nvidia.com/artifactory/sw-holoscan-thirdparty-generic-local/gxf/gxf_${GXF_VERSION}_holoscan-sdk_${ARCH}.tar.gz
RUN mkdir -p ${GXF_VERSION}
RUN tar -xzf gxf.tgz -C ${GXF_VERSION} --strip-components 1

Expand Down
5 changes: 1 addition & 4 deletions docs/emergent_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,7 @@ refer to the Software Installation section of EVT [Camera User's Manual](https:/
able to download Camera User's Manual.

:::{note}
The Emergent SDK depends on Rivermax SDK and Mellanox OFED Network Drivers
which are pre-installed by the SDK Manager on the Holoscan Developer Kits. To
avoid duplicate installation of the Rivermax SDK and the Mellanox OFED Network
Drivers, use the following command when installing the Emergent SDK:
The Emergent SDK depends on Rivermax SDK and the Mellanox OFED Network Drivers. If they're already installed on your system, use the following command when installing the Emergent SDK to avoid duplicate installation:

>```bash
>sudo ./install_eSdk.sh no_mellanox
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/video_replayer.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,6 @@ flexibility for the user to run the script from any directory by setting the `HO

## Running the Application

Running the application should bring up video playback of the surgical video referenced in the YAML file.
Running the application should bring up video playback of the video referenced in the YAML file.

![](../images/video_replayer.png)
2 changes: 1 addition & 1 deletion docs/examples/video_replayer_distributed.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ This particular distributed application only has one operator per fragment, so t

## Running the Application

Running the application should bring up video playback of the surgical video referenced in the YAML file.
Running the application should bring up video playback of the video referenced in the YAML file.

![](../images/video_replayer.png)

Expand Down
12 changes: 6 additions & 6 deletions docs/holoscan_create_distributed_app.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,17 +204,17 @@ ip -o -4 addr show | awk '{print $2, $4}' # to show interface name and IP
The following are known limitations of the distributed application support in the SDK, which will be addressed in future updates:
#### 1. The driver calls the compose() method of the fragments.
Although the driver doesn't execute fragments, it still invokes the `compose()` method of the fragments to determine the number of connections between them.
#### 2. A connection error message is displayed even when the distributed application is running correctly.
#### 1. A connection error message is displayed even when the distributed application is running correctly.
The message `Connection dropped with status -25 (Connection reset by remote peer)` appears in the console even when the application is functioning properly. This is a known issue and will be addressed in future updates, ensuring that this message will only be displayed in the event of an actual connection error.
#### 3. GPU tensors can only currently be sent/received by UCX from a single device on a given node.
#### 2. GPU tensors can only currently be sent/received by UCX from a single device on a given node.
By default, device ID 0 is used by the UCX extensions to send/receive data between fragments. To override this default, the user can set environment variable `HOLOSCAN_UCX_DEVICE_ID`.
#### 3. "Address already in use" errors in distributed applications due to the health check service.
In scenarios where distributed applications have both the driver and workers running on the same host, either within a Docker container or directly on the host, there's a possibility of encountering "Address already in use" errors. A potential solution is to assign a different port number to the `HOLOSCAN_HEALTH_CHECK_PORT` environment variable (default: `8777`), for example, by using `export HOLOSCAN_HEALTH_CHECK_PORT=8780`.
`````

`````{note}
Expand Down
2 changes: 1 addition & 1 deletion docs/holoscan_packager.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Ensure the following are installed in the environment where you want to run the

- [**PIP dependencies**](https://github.com/nvidia-holoscan/holoscan-sdk/blob/main/python/requirements.txt) (automatically installed with the holoscan python wheel)
- [**NVIDIA Container Toolkit with Docker**](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker)
- Developer Kits (aarch64): already included in HoloPack and JetPack
- Developer Kits (aarch64): already included in IGX Software and JetPack
- x86_64: tested with NVIDIA Container Toolkit 1.13.3 w/Docker v24.0.1
- **Docker BuildX plugin**
1. Check if it is installed:
Expand Down
Binary file modified docs/images/video_replayer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 1 addition & 5 deletions docs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,7 @@ As highlighted in the relevant technologies section, the soul of the Holoscan pr
- a {ref}`Video Pipeline Latency Measurement Tool <latency_tool>` to measure and estimate the total end-to-end latency of a video streaming application including the video capture, processing, and output using various hardware and software components that are supported by the Holoscan Developer Kits.
- the [Data Flow Tracking](./flow_tracking.md) feature to profile your application and analyze the data flow between operators in its graph.

8. **Container to leverage both iGPU and dGPU on Holoscan devkits**

The Holoscan developer kits can - at this time - only be flashed to leverage the integrated GPU (Tegra SoC) or the added discrete GPU. The [L4T Compute Assist container](./use_igpu_with_dgpu.md) on NGC is a mechanism to leverage both concurrently.

9. **Documentation**
8. **Documentation**

The Holoscan SDK documentation is composed of:

Expand Down
Loading

0 comments on commit cf61c8e

Please sign in to comment.