{ "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." } }