Model card synced with fastforks 7204e33f
Browse files
README.md
CHANGED
|
@@ -63,6 +63,12 @@ Tested up to (portable, fp16, RTX 5060 Ti 16 GB): `igev-stereo-eth3d` 3000x4000
|
|
| 63 |
| --- | --- | --- | --- | --- | --- | --- |
|
| 64 |
| `igev-stereo-eth3d` | 0.32 (375x1242) | 0.47 | 0.15† | 2.56 (375x1242) | 0.76† | 0.29† |
|
| 65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
### Fixed-size speed and peak memory, all models
|
| 67 |
|
| 68 |
| model | mode | 640x480 | 1280x720 | 1920x1080 | 12 MP 4000x3000 |
|
|
@@ -78,6 +84,12 @@ Tested up to (portable, fp16, RTX 5060 Ti 16 GB): `igev-stereo-eth3d` 3000x4000
|
|
| 78 |
| `igev-stereo-sceneflow` | portable | 148.6 ms / 280 / 352 | 442.9 ms / 768 / 1034 | 1089.8 ms / 1689 / 2272 | 6943.4 ms (n=3) / 10547 / 14300 |
|
| 79 |
| `igev-stereo-sceneflow` | kernels | 70.2 ms / 263 / 372 | 178.2 ms / 698 / 1000 | 392.0 ms / 1506 / 2044 | 2334.4 ms (n=3) / 6315 / 8190 |
|
| 80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
Fixed-size cells: time (ms) / peak allocated / peak reserved memory (MiB).
|
| 82 |
|
| 83 |
- `igev-stereo-kitti12`, `igev-stereo-kitti15`, `igev-stereo-middlebury`, `igev-stereo-sceneflow`: same network and settings as `igev-stereo-eth3d`, measured once (rows not repeated).
|
|
@@ -118,7 +130,7 @@ Every variant is checked against golden outputs of the original code at its pinn
|
|
| 118 |
```python
|
| 119 |
from fastforks import stereo
|
| 120 |
|
| 121 |
-
model = stereo.load("igev-stereo-eth3d") #
|
| 122 |
result = model("left.png", "right.png")
|
| 123 |
result.disparity # [H, W] float32 tensor, input resolution
|
| 124 |
result.backend # what ran, e.g. Backend(mode='portable', device='cuda:0', dtype='float16')
|
|
@@ -129,3 +141,5 @@ Install with `pip install fastforks` (see <https://github.com/kleinicke/fastfork
|
|
| 129 |
## Kernels backend
|
| 130 |
|
| 131 |
`stereo.load("igev-stereo-eth3d", mode="kernels")` runs our CUDA kernels (`igev`, `cutlass_conv`, `cudnn_hacc`). It needs a prebuilt kernel for your GPU architecture (downloaded from <https://huggingface.co/fastforks/kernels> on first use) and a recent NVIDIA driver; if there is none it raises `BackendUnavailableError` with the reason and never falls back silently. `mode="auto"` picks `kernels` when it can run and logs the choice.
|
|
|
|
|
|
|
|
|
| 63 |
| --- | --- | --- | --- | --- | --- | --- |
|
| 64 |
| `igev-stereo-eth3d` | 0.32 (375x1242) | 0.47 | 0.15† | 2.56 (375x1242) | 0.76† | 0.29† |
|
| 65 |
|
| 66 |
+
### torch.compile and TensorRT
|
| 67 |
+
|
| 68 |
+
| model | input | portable ms | compile ms | compile s (cold) | TensorRT fp16 ms | ONNX + build s | kernels ms | peak MiB (alloc / reserved): portable | compile | TensorRT (device) |
|
| 69 |
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
| 70 |
+
| `igev-stereo-eth3d` | 994x1482 | 763.48 | 526.7 | 111.2 | 338.5 | 213 | 288.25 | 1237 / 1492 | 807 / 1052 | 1220 |
|
| 71 |
+
|
| 72 |
### Fixed-size speed and peak memory, all models
|
| 73 |
|
| 74 |
| model | mode | 640x480 | 1280x720 | 1920x1080 | 12 MP 4000x3000 |
|
|
|
|
| 84 |
| `igev-stereo-sceneflow` | portable | 148.6 ms / 280 / 352 | 442.9 ms / 768 / 1034 | 1089.8 ms / 1689 / 2272 | 6943.4 ms (n=3) / 10547 / 14300 |
|
| 85 |
| `igev-stereo-sceneflow` | kernels | 70.2 ms / 263 / 372 | 178.2 ms / 698 / 1000 | 392.0 ms / 1506 / 2044 | 2334.4 ms (n=3) / 6315 / 8190 |
|
| 86 |
|
| 87 |
+
### Apple silicon (MPS)
|
| 88 |
+
|
| 89 |
+
| model | `portable` | `kernels` | speed-up |
|
| 90 |
+
| --- | --- | --- | --- |
|
| 91 |
+
| `igev-stereo-sceneflow` | 2090 ms / 2752 MiB (float32) | 1354 ms / 1665 MiB | 1.54x |
|
| 92 |
+
|
| 93 |
Fixed-size cells: time (ms) / peak allocated / peak reserved memory (MiB).
|
| 94 |
|
| 95 |
- `igev-stereo-kitti12`, `igev-stereo-kitti15`, `igev-stereo-middlebury`, `igev-stereo-sceneflow`: same network and settings as `igev-stereo-eth3d`, measured once (rows not repeated).
|
|
|
|
| 130 |
```python
|
| 131 |
from fastforks import stereo
|
| 132 |
|
| 133 |
+
model = stereo.load("igev-stereo-eth3d") # mode="auto": the preferred backend from recorded measurements
|
| 134 |
result = model("left.png", "right.png")
|
| 135 |
result.disparity # [H, W] float32 tensor, input resolution
|
| 136 |
result.backend # what ran, e.g. Backend(mode='portable', device='cuda:0', dtype='float16')
|
|
|
|
| 141 |
## Kernels backend
|
| 142 |
|
| 143 |
`stereo.load("igev-stereo-eth3d", mode="kernels")` runs our CUDA kernels (`igev`, `cutlass_conv`, `cudnn_hacc`). It needs a prebuilt kernel for your GPU architecture (downloaded from <https://huggingface.co/fastforks/kernels> on first use) and a recent NVIDIA driver; if there is none it raises `BackendUnavailableError` with the reason and never falls back silently. `mode="auto"` picks `kernels` when it can run and logs the choice.
|
| 144 |
+
|
| 145 |
+
<!-- staged from fastforks 7204e33f (2026-11-05) -->
|