How to add new extension?

See the Development Workflow for information on adding new extension.


How can I know which extensions synchronized to registry cache correspond to a specific repository?

The extn list -r <repo-name> cli command lists all the extension for a specific repository.

The registry failed to perform an operation and reported an error message. How can I get more information on why the operation failed?

The registry logs all of its operations in /tmp/nvgraph_registry.log file. You can use this to view the debug logs.

How can I change the location of the registry logs?

Currently, registry logs are located at /tmp. You can change this location by setting an environment variable called TMPDIR to an existing directory. e.g. $mkdir -p /home/$USER/tmp && export TMPDIR=/home/$USER/tmp

Container Builder

In the main control section, why is the field container_builder required?

It is used to distinguish the main control and the stage sections. Any name for container_builder should be ok.

In the list of local_copy_files, if src is a folder, Any difference for dst ends with ‘/’ or not?

No. There is no difference for dst. It must be a folder to store src content.

What happens if unsupported fields are added into each section of the YAML file?

Container builder would skip all unsupported fields in YAML config. Users should take responsibility to set correct fields and values. For example, if entrypoint is added into compile_stage, it would be skipped.

During container builder installing graphs, sometimes there are unexpected errors happening while downloading manifests or extensions from registry. And once it happens, container builder may return errors again and again. How to clean and restart?

Some timeout errors during extensions downloads in the registry might cause information loss. This could stop container builder to re-add repos into registry. Just restarting the container builder may not solve the issue. When it happens, users need to manually clean up the registry repo and restart container builder again. For example, use cmdline nvgraph_registry repo remove --name  [repo_name] to remove the repo. Read more details from Registry section.

Regarding git source code compiling in compile_stage, Is it possible to compile source from HTTP archives?

You may add compile cmdline into post_cmd. Then copy the compiled binary into the final stage.

unique_stage: compile
base_image: "ubuntu:18.04"
stage_model: compile_stage
- url: https://host:port/source.tar.bz2
post_cmd: "tar -jxvf source.tar.bz2 && make && make install"
unique_stage: final
base_image: "ubuntu:20.04"
stage_model: clean_stage
- src_stage: "compile"
src: "/usr/local/bin/binary"
src: "/usr/bin/binary”

Container builder fails to run with the following error:

ContainerBuilder.__main__ - ERROR - gRPC client: StatusCode.UNAVAILABLE- failed to connect to all addresses.
Please check if connecting to the correct port or  close all connections to the port and restart the server.

You need to run gxf_server for Container Builder to run.


What is the GPU requirement for running the Composer?

There is no specific GPU requirement to run the Composer. A more powerful NVIDIA dGPU will provide better user experience.

Can I run Composer on iGPU?

Yes, Composer is supported on Intel GPUs (HD Graphics 540) or higher. It can be run using command prompt or terminal, by running command composer.exe --enable-vulkan.

Why can’t I paste a component after copied one?

To successfully paste a component, you must first select its containing node.

Why I cannot run WebSocket Streaming with Composer?

WebSocket Streaming is no longer supported with Composer.

Unable to start the composer in deepstream development docker?

  1. Allow access to X server using xhost +.

  2. Launch the docker using the following arguments:

    ``docker run -it --rm --net=host --gpus all -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix --privileged -v /var/run/docker.sock:/var/run/docker.sock <DOCKER-REPOSITORY>:<TAG>``
  3. Launch the composer using composer.

Unable to right-click in composer when run through ov-streaming?

This is a known limitation of omniverse streaming. Users are advised to use the Menu bar and the Toolbar.

Composer throws the error Registry Model update failed in the console

You need to run gxf_server in order for Composer to sync extensions from Registry, for Container Builder to run and to execute graphs.