Commit 01cfed6
{Feature} CUDA Decoding - Enable NVDEC in cibuildwheel and harden wheel test (#386)
Summary:
Pull Request resolved: #386
Builds the Linux x86_64 `projectaria_tools` wheels with NVDEC GPU H.265 decode enabled, and hardens the in-CI wheel test to lock in the CUDA-agnostic guarantee. Applied to both `build-wheels-and-deploy.yml` and `test-for-build-wheels.yml`:
- ubuntu cibuildwheel step: `CIBW_ENVIRONMENT_LINUX="PROJECTARIA_ENABLE_CUDA=1"` (turns on `-DENABLE_NVCODEC=ON` via `setup.py`; the build needs only `nv-codec-headers` installed by the prior diff, no GPU or CUDA toolkit). macOS wheels are unaffected -- NVDEC is Linux-only.
- `CIBW_REPAIR_WHEEL_COMMAND_LINUX` adds `auditwheel repair --exclude libcuda.so.1 --exclude libnvcuvid.so.1` so the driver libs are never vendored into the wheel (they are dlopen'd at runtime).
- Test wheel step: runs `has_cuda_support()` (returns False on the no-GPU runner) and, on Linux, asserts the built `_core_pybinds` extension has no `libcuda`/`libnvcuvid` in `DT_NEEDED`.
GPU decode itself cannot be exercised in CI (GitHub runners have no NVIDIA GPU); it is validated manually on a GPU machine against the CI-built / TestPyPI wheel (shipping plan Stage 3.5 / 4).
Reviewed By: kongchen1992
Differential Revision: D114393583
fbshipit-source-id: f115f10f8e3c2340517f01d085754d1bcc041eb71 parent 9316cc7 commit 01cfed6
2 files changed
Lines changed: 40 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
152 | 159 | | |
153 | 160 | | |
154 | 161 | | |
| |||
176 | 183 | | |
177 | 184 | | |
178 | 185 | | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
179 | 199 | | |
180 | 200 | | |
181 | 201 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
134 | 141 | | |
135 | 142 | | |
136 | 143 | | |
| |||
158 | 165 | | |
159 | 166 | | |
160 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
0 commit comments