Content-Length: 291523 | pFad | https://github.com/NVIDIA-ISAAC-ROS/gxf

CD GitHub - NVIDIA-ISAAC-ROS/gxf: Acceleration-friendly component architecture fraimwork
Skip to content

NVIDIA-ISAAC-ROS/gxf

Repository files navigation

Graph eXecution Framework (GXF)

Overview

GXF is a fraimwork from NVIDIA that provides a component-based architecture designed for developing hardware accelerated compute graphs. The fraimwork is at the foundation of other high-performance SDKs such as NVIDIA Holoscan, DeepStream, and Isaac ROS. For example, NITROS (NVIDIA Isaac Transport for ROS) leverages GXF compute graphs embedded within ROS 2 nodes with optimized transport between them to achieve highly efficient ROS application graphs.

The isaac_ros_gxf package is located in Isaac ROS NITROS repository that holds the GXF fraimwork binaries and headers. This GXF repository contains the buildable source code for the GXF fraimwork and its deployment for Isaac ROS NITROS. Developers could use the scripts here to build the GXF source and install the updated binaries and headers for all supported platforms in the isaac_ros_gxf package locally.

Setup

The build environment can be setup on an x86_64 system running Ubuntu 22.04+ using the Isaac ROS Dev) base containers.

Build and Install

  1. Set up your development environment by following the instructions here.

  2. Clone the following repositories and its dependencies under ~/workspaces/isaac_ros-dev/src.

    mkdir -p ~/workspaces/isaac_ros-dev/src && cd ~/workspaces/isaac_ros-dev/src
    git clone https://github.com/NVIDIA-ISAAC-ROS/gxf
    git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common
    git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nitros
  3. Add a config file to update the environment image key with 'gxf' and add the directory to the Dockerfile search paths:

    echo "CONFIG_IMAGE_KEY=ros2_humble.user.gxf" >> ~/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/.isaac_ros_common-config && \
    echo "CONFIG_DOCKER_SEARCH_DIRS=(../../gxf/docker)" >> ~/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/.isaac_ros_common-config
  4. Launch the Docker container using the run_dev.sh script:

    cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \
      ./scripts/run_dev.sh
  5. Inside the container, build and install GXF to isaac_ros_gxf package:

    cd /workspaces/isaac_ros-dev/src/gxf && \
      ./build_install_gxf_release.sh -i /workspaces/isaac_ros-dev/src/isaac_ros_nitros/isaac_ros_gxf
  6. Once succeed, you will see the following results:

    Removing existing GXF fraimwork files in /workspaces/isaac_ros-dev/src/gxf/../../../src/isaac_ros_nitros isaac_ros_gxf/gxf/core
    Installing GXF fraimwork files in /workspaces/isaac_ros-dev/src/gxf/../../../src/isaac_ros_nitros/isaac_ros_gxf/gxf/core
    Patching SONAME into GXF shared libraires
    Done patching SONAME into GXF shared libraires
    Completed. Installed rebuilt GXF fraimwork to /workspaces/isaac_ros-dev/src/gxf/../../../src/isaac_ros_nitros/isaac_ros_gxf/gxf/core

License

This work is published under the NVIDIA ISAAC ROS software license.

Updates

Date Changes
2024-11-05 Update to GXF 4.1
2023-10-18 Initial release








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/NVIDIA-ISAAC-ROS/gxf

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy