• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • Compute Graph Framework SDK Reference  5.10
    All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    node.schema.json
    Go to the documentation of this file.
    1{
    2 "$schema": "https://json-schema.org/draft/2020-12/schema",
    3 "$id": "https://nvidia.com/dw/node.schema.json",
    4 "title": "DW Node Descriptor",
    5 "description": "The descriptor of a DriveWorks node. The keys in JSON should appear in the same order as the properties are documented in the schema.",
    6 "type": "object",
    7 "required": [
    8 "name",
    9 "inputPorts",
    10 "outputPorts",
    11 "parameters",
    12 "passes"
    13 ],
    14 "additionalProperties": false,
    15 "properties": {
    16 "comment": {
    17 "description": "In a manually written JSON file this field can contain an arbitrary text. When the JSON file is generated, the tool should include its own name and optionally reference the authoritive source of information.",
    18 "type": "string"
    19 },
    20 "generated": {
    21 "description": "The flag if the JSON file was generated automatically - derived from an authoritive source - instead of being manually written and maintained.",
    22 "type": "boolean"
    23 },
    24 "library": {
    25 "description": "The basename of the shared library containing the node. Omitting this key indicates that the node has no implementation. The value 'static' indicates that the node is part of a statically linked library rather than a dynamically loaded shared library.",
    26 "type": "string",
    27 "pattern": "^(lib[a-z][a-zA-Z0-9_]*\\.so(\\.[0-9]+)*|static)$"
    28 },
    29 "name": {
    30 "description": "The fully qualified C++ type name of the node class",
    31 "type": "string",
    32 "pattern": "^([a-z][a-z_]*::)*[a-zA-Z][a-zA-Z0-9_]*$"
    33 },
    34 "inputPorts": {
    35 "description": "The input ports. The order is user defined and matches the order in the C++ code if applicable.",
    36 "type": "object",
    37 "additionalProperties": false,
    38 "patternProperties": {
    39 "^[A-Z][A-Z0-9_]*$": {
    40 "description": "The key is the name of the input port (in MACRO_CASE) which must be unique within the collection of input ports in this node. The value describes the port itself.",
    41 "$ref": "#/$defs/port"
    42 }
    43 }
    44 },
    45 "outputPorts": {
    46 "description": "The output ports. The order is user defined and matches the order in the C++ code if applicable.",
    47 "type": "object",
    48 "additionalProperties": false,
    49 "patternProperties": {
    50 "^[A-Z][A-Z0-9_]*$": {
    51 "description": "The key is the name of the output port (in MACRO_CASE) which must be unique within the collection of output ports in this node. The value describes the port itself.",
    52 "$ref": "#/$defs/port"
    53 }
    54 }
    55 },
    56 "parameters": {
    57 "description": "The parameters. The order is user defined and matches the order in the C++ code if applicable.",
    58 "type": "object",
    59 "additionalProperties": false,
    60 "patternProperties": {
    61 "^[a-z][a-zA-Z0-9_]*(\\.[a-z][a-zA-Z0-9_]*)?$": {
    62 "description": "The key is the name of the parameter (in camelCase) which must be unique within the collection of parameters in this node. The value describes the parameter itself.",
    63 "$ref": "#/$defs/parameter"
    64 }
    65 }
    66 },
    67 "passes": {
    68 "description": "The passes. The order is user defined and matches the order in the C++ code if applicable. In the default case where all passes are sequential this means the passes must follow topological order.",
    69 "type": "array",
    70 "items": {
    71 "$ref": "#/$defs/pass"
    72 },
    73 "uniqueItems": true
    74 }
    75 },
    76 "$defs": {
    77 "port": {
    78 "type": "object",
    79 "required": [
    80 "type"
    81 ],
    82 "additionalProperties": false,
    83 "properties": {
    84 "type": {
    85 "description": "The C++ type name of the data",
    86 "type": "string",
    87 "minLength": 1
    88 },
    89 "array": {
    90 "description": "The array size if this is an array of ports (default: a single non-array port)",
    91 "type": "integer",
    92 "minimum": 1
    93 },
    94 "bindingRequired": {
    95 "description": "The flag if the port must be bound (default: false)",
    96 "type": "boolean"
    97 },
    98 "comment": {
    99 "description": "Any text describing the port. (default: empty string)",
    100 "type": "string"
    101 }
    102 }
    103 },
    104 "parameter": {
    105 "type": "object",
    106 "required": [
    107 "type"
    108 ],
    109 "additionalProperties": false,
    110 "properties": {
    111 "type": {
    112 "description": "The C++ type name of the parameter",
    113 "type": "string",
    114 "minLength": 1
    115 },
    116 "array": {
    117 "description": "The array size if this is an array of parameter values (default: a single-value parameter)",
    118 "type": "integer",
    119 "minimum": 1
    120 },
    121 "default": {
    122 "description": "The default value (default: none)",
    123 "type": [
    124 "array",
    125 "boolean",
    126 "number",
    127 "string"
    128 ],
    129 "items": {
    130 "type": [
    131 "boolean",
    132 "number",
    133 "string"
    134 ]
    135 }
    136 }
    137 }
    138 },
    139 "pass": {
    140 "type": "object",
    141 "required": [
    142 "name",
    143 "processorTypes"
    144 ],
    145 "additionalProperties": false,
    146 "properties": {
    147 "name": {
    148 "description": "The name of the pass which must be unique within the collection of passes in this node",
    149 "type": "string",
    150 "pattern": "^[A-Z][A-Z0-9_]*$"
    151 },
    152 "processorTypes": {
    153 "description": "The processor types used by the pass (support is limited to a single processor type atm)",
    154 "type": "array",
    155 "minItems": 1,
    156 "maxItems": 1,
    157 "items": {
    158 "enum": [
    159 "CPU",
    160 "GPU",
    161 "DLA",
    162 "PVA"
    163 ]
    164 }
    165 },
    166 "dependencies": {
    167 "description": "The names of passes in this node dependent upon (default: the name of the previous pass in the array of passes in this node). The order should match the 'passes' array.",
    168 "type": "array",
    169 "items": {
    170 "type": "string",
    171 "pattern": "^[A-Z][A-Z0-9_]*$"
    172 },
    173 "uniqueItems": true
    174 }
    175 }
    176 }
    177 }
    178}
    人人超碰97caoporen国产