Registry 命令行界面#

可以通过带有以下选项的 registry 命令调用 Registry 命令行界面 (CLI)

registry –help
registry --version
registry command [args]
其中
  • -h/--help 显示帮助选项并退出

  • -v/--version 打印版本并退出。

以下部分提供有关可以与 registry 一起使用的命令选项的详细信息。

cache#

此命令用于与缓存内容交互。

命令语法

registry cache [args]

可选参数

  • -h/--help - 打印帮助并退出。

  • -s/--set <new_cache_path> - 设置必须定位缓存的绝对路径。

  • -c/--clean - 清理缓存。

  • -r/--refresh - 刷新缓存。

  • -v/--view - 查看缓存位置。

repo#

此命令用于与存储库交互。

命令语法

registry repo [args]

可选参数

  • -h/--help - 打印帮助并退出。

repo clean#

此命令用于清理默认存储库。

命令语法

registry repo clean [args]

可选参数

  • -h/--help - 打印帮助并退出。

repo list#

此命令用于列出存储库。

命令语法:

registry repo list [args]

可选参数

  • -h/--help - 打印帮助并退出。

  • -d/--details - 提供有关存储库的详细信息。

repo info#

此命令用于提供有关存储库的信息。

命令语法:

registry repo info [args]

必需参数

  • -n/--name <repository_name> - 提供存储库详细信息。

可选参数

  • -h/--help - 打印帮助并退出。

repo sync#

此命令用于同步存储库。 还会将提供的存储库的每个扩展同步到缓存。

命令语法:

registry repo sync [args]

必需参数

  • -n/--name <repository_name> - 设置要使用的存储库的名称。

可选参数

  • -h/--help - 打印帮助并退出。

extn#

扩展引用标头、共享库、二进制文件和数据文件。 它由 uuid (通用唯一标识符)、名称和版本引用。 它可以依赖于其他扩展,必须指定这些扩展的名称、uuid 和版本。 此外,扩展包含组件列表。 可以为多个目标实现扩展,这些目标在架构、操作系统、发行版和 CUDA 版本方面存在差异。 这些组合中的每一个都称为变体。

每个扩展都有一个接口,此接口由 extension.yaml 文件以及可选的标头文件组成。 这些文件对于该扩展的所有变体都是通用的。

每个扩展都包含组件列表。 组件包含 typenametype_id、基本 typename、描述和 boolean,指示组件是否为抽象组件。

命令语法:

registry extn [args]

可选参数

  • -h/--help - 打印帮助并退出。

extn add#

此命令用于添加扩展。

命令语法:

registry extn add [args]

必需参数

  • -m/--manifest-name <manifest_name> - 设置清单路径。

可选参数

  • -h/--help - 打印帮助并退出。

以下是 <manifest_name> 参数的示例

name: cuda
extension_library: libgxf_cuda.so
uuid: d63a98fa-7882-11eb-a917-b38f664f399c
version: 2.5.0
license_file: gxf/cuda/LICENSE
url: www.nvidia.com
git_repository: null
labels:
- gxf
priority: 1
platform:
  arch: x86_64
  os: linux
  distribution: ubuntu_22.04
compute:
  cuda: 12.6
  tensorrt: null
  cudnn: null
  deepstream: null
  triton: null
  vpi: null
dependencies:
- extension: std
  uuid: 8ec2d5d6-b5df-48bf-8dee-0252606fdd7e
  version: 2.5.0
  manifest: std/register_std_ext_manifest.yaml
headers:
- cuda_common.hpp
- cuda_event.hpp
- cuda_stream.hpp
- cuda_stream_id.hpp
- cuda_stream_pool.hpp
binaries: []
python_alias: cuda
namespace: gxf
python_bindings:
- gxf/cuda/cuda_pybind.so
python_sources:
- __init__.py
- Components.py
data: []

extn sync#

此命令用于同步扩展。

命令语法:

registry extn sync [args]

必需参数

  • -r/--repo-name <repository_name> - 设置存储库名称。

  • -e/--extension-name <extension_name> - 设置扩展名称。

  • -s/--select-version <extension_version> - 选择版本。

可选参数

  • -h/--help - 打印帮助并退出。

extn import#

此命令用于从 NGC 导入扩展包。 扩展的特定版本包含接口和多个变体。

接口命令语法:

registry extn import interface [args]

必需参数

  • -d/--output-directory <directory> - 选择输出目录。

  • -s/--select-version <extension_version> - 选择扩展版本。

  • -n/--extn-name <extension_name> - 选择扩展名称。

可选参数

  • -h/--help - 打印帮助并退出。

变体命令语法: ::

registry extn import variant [args]

必需参数: * -d/--output-directory <directory> - 选择输出目录。 * -s/--select-version <extension_version> - 选择扩展版本。 * -n/--extn-name <extension_name> - 选择扩展名称。 * -a/--arch <architecture> - 设置架构。 * -f/--distro <distribution> - 设置发行版。 * -o/--os <os> - 选择操作系统。

可选参数

  • --cuda <cuda> - 选择 CUDA 版本。

  • --cudnn <cudnn> - 选择 CUDNN 版本

  • --tensorrt <tensorrt> - 选择 TensorRT 版本。

  • --deepstream <deepstream> - 选择 DeepStream 版本

  • --triton <triton> - 选择 Triton 版本。

  • --vpi <vpi> - 选择 VPI 版本。

  • -h/--help - 打印帮助并退出。

必需参数的受支持值

参数

支持

默认

架构

aarch64、x86_64、sbsa

x86_64

发行版

ubuntu_22.04

ubuntu_22.04

操作系统

linux

linux

extn list#

此命令用于列出扩展。 一旦缓存中存在扩展,就可以列出它们并获取有关它们的详细信息。 此外,可以过滤扩展以仅显示与某些特征匹配的扩展。 过滤是可选的。

命令语法:

registry extn list [args]

可选参数

  • -h/--help - 打印帮助并退出。

  • -r/--repo-name <repository_name> - 选择存储库名称。

  • -n/--name <extension_name> - 选择扩展名称。

  • -a/--author <extension_author> - 选择作者。

  • -l/--labels <label1> [ <label2>...] - 选择一个或多个标签。

extn info#

此命令用于提供有关扩展的信息。

命令语法:

registry extn info [args]

必需参数

  • -n/--extn-name <extension_name> - 选择扩展名称。

可选参数

  • -h/--help - 打印帮助并退出。

extn versions#

此命令用于显示扩展的版本。

命令语法:

registry extn versions [args]

必需参数

  • -n/--name <extension_name> - 选择扩展名称。

可选参数

  • -h/--help - 打印帮助并退出。

  • -r/--repo-name <repository_name> - 选择存储库名称。

extn variants#

此命令用于显示扩展的变体。

命令语法:

registry extn variants [args]

必需参数

  • -n/--name <extension_name> - 选择扩展名称。

  • -v/--version <version> - 选择扩展版本。

可选参数

  • -h/--help - 打印帮助并退出。

extn dependencies#

此命令用于显示扩展的所有依赖项。

命令语法:

registry extn dependencies [args]

必需参数

  • -n/--name <extension_name> - 选择扩展名称。

  • -s/--select-version <extension_version> - 选择扩展版本。

可选参数

  • -h/--help - 打印帮助并退出。

comp#

此命令用于与组件交互。 每个组件都包含参数列表。 参数包含键、标题、描述、gxf_parameter_type、默认值、句柄类型和标志。

命令语法:

registry comp [args]

可选参数

  • -h/--help - 打印帮助并退出。

comp list#

此命令用于列出组件。 过滤器可用,就像组件的情况一样。

命令语法:

registry comp list [args]

可选参数

  • -h/--help - 打印帮助并退出。

  • -b/--base-type <base_type> - 选择基本类型。

  • -r/--repo-name <repository_name> - 选择存储库名称。

  • -t/--typename <typename> - 选择类型名称。

comp info#

此命令用于提供有关组件的信息。

命令语法:

registry comp info [args]

必需参数

  • -t/--type <component_type> - 选择组件类型。

可选参数

  • -h/--help - 打印帮助并退出。

graph#

此命令用于与图交互。

命令语法:

registry graph [args]

可选参数

  • -h/--help - 打印帮助并退出。

graph install#

此命令用于安装图并生成清单,其中包含执行图所需的扩展列表以及必须加载它们的顺序。 还会生成与使用目标文件指定的变体参数相对应的扩展及其文件的存档。 对于图中使用的每个扩展,注册表将从其缓存中选择最接近的匹配变体并创建存档。 注册表选择的变体将在输出清单文件中指定。 生成的存档也可以本地解压缩到 --archive-dir-path 指定的目录中。

命令语法:

registry graph install [args]

必需参数

  • -g/--graph-file <graph_file> - 设置要使用的图文件。

  • -d/--target-file-path <target_file_path> - 设置目标文件路径

  • -m/--manifest-file-path  <manifest_file_path> - 设置清单文件路径。

可选参数

  • -h/--help - 打印帮助并退出。

  • -u/--output-directory <output_directory> - 设置输出目录。

  • -r/--archive-dir-path  <archive_directory_path> - 设置存档目录路径。

  • -i/--in-export-dir-path <in_export_dirpath> - 设置导出目录路径。

示例目标文件:

platform:
  arch: x86_64
  os: linux
  distribution: ubuntu_22.04
compute:
  cuda: 12.6
  cudnn: 9.3.0
  tensorrt: 10.3.0
  deepstream: 7.1
  triton: 2.49.0
  vpi: 2.3.1