Feature matrix
| Criterion | BF16 | INT8 ConvRot | GGUF Q8 | GGUF Q4 |
|---|---|---|---|---|
| Distribution | SafeTensors in Comfy-Org/TRELLIS.2 | SafeTensors in Comfy-Org/TRELLIS.2 | Multi-file community GGUF set | Multi-file community GGUF set |
| Published disk footprint | 10.3 GB | 5.25 GB | ≈9.5–10 GB | ≈6 GB |
| Not an apples-to-apples size row: BF16 and INT8 are single diffusion files; Q8 and Q4 are approximate complete trellis.cpp model sets. | ||||
| Numeric route | BF16 diffusion weights | Rotated per-row INT8 weights with matching activation rotation | 8-bit GGUF quantization across converted components | 4-bit GGUF quantization across converted components |
| Primary runtime | Reference-style Python or compatible ComfyUI node | ConvRot-aware ComfyUI loader and backend | trellis.cpp; selected custom ComfyUI loaders | trellis.cpp; selected custom ComfyUI loaders |
| ComfyUI status | Direct Comfy-Org repack; TRELLIS node still required | Direct Comfy-Org file; compatible ConvRot TRELLIS loader still required | Requires a TRELLIS GGUF custom-node path | Requires a TRELLIS GGUF custom-node path |
| A model repository hosting a file does not automatically update an installed custom node or guarantee support on every backend. | ||||
| trellis.cpp status | Does not load this SafeTensors file directly | Does not load this SafeTensors file directly | Native model format | Native model format |
| CUDA path | Official upstream baseline is Linux + NVIDIA CUDA | Backend and loader dependent; verify native ConvRot kernels | Published trellis.cpp CUDA backend or custom node | Published trellis.cpp CUDA backend or custom node |
| ROCm path | Community adaptations | Community RX 7900 XTX route measured on gfx1100 | Published trellis.cpp ROCm backend; custom paths vary | Published trellis.cpp ROCm backend; custom paths vary |
| None of the AMD routes is official Microsoft support. Card architecture and the exact ROCm stack remain part of the compatibility result. | ||||
| Speed evidence | Reference, but no common consumer-GPU baseline here | 1.16×–3.08× faster than Q4_K_M in selected RX 7900 XTX flow measurements; 1.27× end to end for one 512 shape-only run | No controlled four-way result cited | Direct comparator in the one RX 7900 XTX community benchmark |
| Quality position | Reference route | Designed to control INT8 outliers; compare against BF16 | Described by trellis.cpp as visually near-lossless; verify independently | Smaller, with a stated risk of texture graininess or detail loss |
| Most important check | Does the complete reference workflow fit? | Is a native ConvRot kernel actually active? | Does the full GGUF set and native runtime fit the target? | Is the quality loss acceptable on detailed materials? |
Choose by workflow
The control output for geometry and PBR comparisons, when the complete reference-style workflow fits.
ComfyUI users with a confirmed loader/backend path who want a much smaller diffusion file and potential fused-INT8 speed.
trellis.cpp users prioritizing native CUDA, ROCm, or Vulkan deployment with the higher-quality GGUF option.
Memory-constrained native or custom-node workflows where Q8 has been tested and still misses the budget.
Practical verdict
Use BF16 as the comparison reference when the complete workflow fits. Choose INT8 ConvRot when ComfyUI is the target and your exact loader and GPU backend support its rotated INT8 path. Choose GGUF Q8 when trellis.cpp or a compatible GGUF integration is the target and you want the less aggressive GGUF quant. Move to GGUF Q4 only when the tested Q8 route misses the memory budget and the measured quality loss is acceptable. None of these choices establishes a universal minimum VRAM figure.
The size numbers cover different things
Comfy-Org lists a 10.3 GB BF16 diffusion SafeTensors and a 5.25 GB INT8 ConvRot diffusion SafeTensors. Those files do not include every support asset or live runtime allocation. The ≈9.5–10 GB Q8 and ≈6 GB Q4 figures used by trellis.cpp describe a converted multi-component model set. Ordering those four numbers as if each represents the same payload would be misleading.
- Disk size helps plan downloads and storage; it is not peak VRAM.
- The INT8 route can still load DINO, VAEs, architecture data, and mesh or PBR stages outside the diffusion file.
- The GGUF route packages more of the native pipeline into its quoted model-set footprint, but still needs working memory and output buffers.
Read the speed result at the right scope
The strongest public comparison cited here is a community RX 7900 XTX ROCm patch kit. INT8 ConvRot is markedly faster than Q4_K_M in selected cold flow stages, but the advantage narrows in warm stages and in the complete shape-only workflow.
One community environment: RX 7900 XTX, Python 3.12, PyTorch 2.14 ROCm 7.15, Triton 3.8.
| Scope | Q4_K_M | INT8 ConvRot | Observed ratio |
|---|---|---|---|
| Cold structure flow | 4.927 s | 1.600 s | 3.08× |
| Cold shape flow | 5.802 s | 2.146 s | 2.70× |
| Warm structure flow | 0.341 s | 0.243 s | 1.40× |
| Warm shape flow | 0.791 s | 0.679 s | 1.16× |
| Complete 512 shape-only | 131.67 s | 104.04 s | 1.27× |
A practical decision order
The best route is the highest-precision option that your chosen runtime can execute reliably inside the complete workflow budget. Runtime compatibility comes before the nominal quant level.
- ComfyUI target: test BF16 as the control, then INT8 ConvRot; use GGUF only through a wrapper that documents the exact converted set.
- trellis.cpp target: compare Q8 first, then Q4 if the measured Q8 workflow does not fit.
- AMD target: require card- and stack-specific evidence; a successful RX 7900 XTX result is not a blanket ROCm result.
- Low-VRAM target: reduce optional stages and resolution before combining multiple changes that make failures impossible to attribute.
Method and limits
Pin the input, seed, resolution, workflow stages, model revision, loader commit, backend, operating system, and driver. Measure cold and warm runtime, peak GPU memory, peak system RAM, fallbacks, geometry, topology, UVs, normals, and PBR maps. Compare disk footprints only after stating whether the number covers one diffusion checkpoint or the complete model set. The four routes use different implementations, so a valid result is a versioned workflow comparison rather than a filename ranking.
