| { |
| "format": "companion-forge-custom-ops/v2", |
| "onnx_domain": "com.companionforge", |
| "onnx_opset": 1, |
| "tensorrt_plugin_namespace": "companionforge", |
| "tensorrt_plugin_version": "1", |
| "target": { |
| "tensorrt": "11.2.1.2", |
| "gpu": "NVIDIA L4", |
| "compute_capability": "8.9" |
| }, |
| "operators": [ |
| { |
| "name": "SparseConv3D", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "AniGen SubMConv3d / spconv Native, fixed output cardinality N", |
| "validation": "bench/custom_ops_validation.json" |
| }, |
| { |
| "name": "SparseWindowAttention", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "AniGen shifted-window partition + FlashAttention varlen", |
| "validation": "bench/custom_ops_validation.json" |
| }, |
| { |
| "name": "SparseDownsample", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "coordinate quantization + unique + scatter mean + inverse map", |
| "validation": "bench/custom_ops_validation.json" |
| }, |
| { |
| "name": "SparseUpsample", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "inverse-map gather to target sparse coordinates", |
| "validation": "bench/custom_ops_validation.json" |
| }, |
| { |
| "name": "SparseSubdivide", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "N sparse voxels to 8N child voxels", |
| "validation": "bench/custom_ops_validation.json" |
| }, |
| { |
| "name": "MeshTopologyExtract", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "FlexiCubes dense topology extraction with TensorRT data-dependent outputs", |
| "validation": "bench/mesh_topology_validation.json" |
| }, |
| { |
| "name": "SparseMeshTopologyExtract", |
| "onnx": "production", |
| "tensorrt": "production", |
| "semantics": "SLat DAE sparse cube features to FlexiCubes mesh, vertex attributes and skin features", |
| "profile": { |
| "sparse_cubes": [ |
| 128, |
| 65536, |
| 524288 |
| ], |
| "resolution": 256 |
| }, |
| "validation": "bench/sparse_mesh_topology_validation.json", |
| "input_precision": "fp32", |
| "output_precision": { |
| "vertices": "fp32", |
| "attrs": "fp32", |
| "skin": "fp32", |
| "faces": "int32" |
| } |
| } |
| ], |
| "implementation": { |
| "kind": "TensorRT Python/JIT IPluginV3", |
| "runtime_registration": "plugins/tensorrt/companion_sparse_trt.py", |
| "note": "Plans require plugin registration before deserialization. The ONNX ABI is stable and can later be backed by AOT C++/CUDA implementations without changing model graphs." |
| } |
| } |