Open 3473f opened 7 months ago
This is really great work! Could you describe a bit more about what you want to do with GXF? If it is to use NITROS, we developed CUDA with NITROS for everyone to gain the benefits of NITROS without having to know GXF at all which we have used internally for some of our nodes. We do not support incorporating new GXF codelets into ROS 2 using a NITROS node. For example, in your logs above, the gxf_optimizer extension requires a spec file that there is no documentation available for.
It's a bit of a niche usecase really. We have lots of code developed in ISAAC SDK and since it is no longer supported, we are looking at an alternative at the moment. We want to use both DeepStream/Graph Composer and ISAAC ROS depening on the application. For machine vision applications, it would be enough to use DS and for robotics, we will have to use ROS2. That's why we want to use GXF for our core vision modules to maintain cross compatibility across both platforms and develop the robotic application specific nodes using ROS2 and NITROS.
without having to know GXF at all which we have used internally for some of our nodes.
It was great to see that the sourcecode for gxf is now available as it helped during porting :)
For example, in your logs above, the gxf_optimizer extension requires a spec file that there is no documentation available for.
I assumed it was trying to find a .yaml file, but I wasn't able to find such file in the packages or share directory.
Hi, i am currently looking into using pre-existing codelets in GXF with NITROS. For this purpose I built a simple graph consisting of two codelets: a random number generator and an adder. The generated codelets and their graph run without any problems in graph composer.
For the NITROS integration, I replaced the bazel files with colcon CMakeLists.txt
and wrote the following ROS node to load these graph and extensions in NITROS
However, I am getting the following error when I start my node
Two lines from the log are interesting to me: first, it seems that Nitros is able to find the compiled library with my custom extensions, second, the the optimizer is unable to create the vertex for my extensions throwing GXF_QUERY_NOT_FOUND. I assume this means that it is unable to find the given extension
I would like to note that I am using the detectnet decoder node as a reference to my package, with the only difference being the
PRESET_EXTENSION_SPEC_NAMES
constant. There on L67 it is defined as the package name, however, if I define it similarly, I get the following errorbut leaving it empty seems to work (no idea why this is the case).
So I currently have the following questions:
Here is the code to the entire ROS package and the GXF codelets: test_gxf.zip