@@ -1150,7 +1150,7 @@ to build CUDA-enabled packages. These mechanisms involve several packages:
1150
1150
1151
1151
* ``nvcc ``: Nvidia's EULA does not allow the redistribution of compilers and drivers. Instead, we
1152
1152
provide a wrapper package that locates the CUDA installation in the system. The main role of this
1153
- package is to set some environment variables (``CUDA_HOME ``, ``CUDA_PATH ``,``CFLAGS`` and others),
1153
+ package is to set some environment variables (``CUDA_HOME ``, ``CUDA_PATH ``, ``CFLAGS `` and others),
1154
1154
as well as wrapping the real ``nvcc `` executable to set some extra command line arguments.
1155
1155
1156
1156
In practice, to enable CUDA on your package, add ``{{ compiler('cuda') }} `` to the ``build ``
@@ -1203,34 +1203,25 @@ of the conda recipe. That does not mean you can't test your package locally. To
1203
1203
Common problems and known issues
1204
1204
--------------------------------
1205
1205
1206
- Helping your build system locate CUDA
1207
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1206
+ `` nvcuda.dll `` cannot be found on Windows
1207
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1208
1208
1209
- Some build systems might need some help finding CUDA, so you might need to pass the value
1210
- of ``CUDA_HOME `` as some kind of flag. Some examples include:
1209
+ The `scripts <https://github.com/conda-forge/conda-forge-ci-setup-feedstock/blob/master/recipe/install_cuda.bat >`_
1210
+ used to install the CUDA Toolkit on Windows cannot provide ``nvcuda.dll ``
1211
+ as part of the installation because no GPU is physically present in the CI machines.
1212
+ As a result, you might get linking errors in the postprocessing steps of ``conda build ``::
1211
1213
1212
- * Old-style CMake (using the deprecated ``FindCUDA `` module), you might need to pass this flag::
1214
+ WARNING (arrow-cpp,Library/bin/arrow_cuda.dll): $RPATH/nvcuda.dll not found in packages,
1215
+ sysroot(s) nor the missing_dso_whitelist.
1213
1216
1214
- -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_HOME}
1217
+ .. is this binary repackaging?
1215
1218
1216
- * On Windows, if you need to pass ``CUDA_PATH ``, CMake might choke on a backslash. In that case,
1217
- you can overwrite ``CUDA_PATH `` as follows::
1219
+ For now, you will have to add ``nvcuda.dll `` to the ``missing_dso_whitelist ``::
1218
1220
1219
- set "CUDA_PATH=%CUDA_PATH:\=/%"
1220
-
1221
- * On Windows packages that are built with MSBuild, new-style CMake (using ``FindCUDAToolkit `` module)
1222
- you might need to define this environment variable::
1223
-
1224
- set "CudaToolkitDir=%CUDA_PATH%"
1225
-
1226
-
1227
- CUDA 11 and CDT packages
1228
- ^^^^^^^^^^^^^^^^^^^^^^^^
1229
- If your package requires both CUDA and some CDTs on Linux, you will need to patch the
1230
- ``.ci_support/*.yml `` files corresponding to CUDA 11 and above so they reflect
1231
- ``cdt_name: cos7 ``. Do note that these changes do not survive feedstock rerenders!
1232
-
1233
- This should be fixed at some point, but for now you need to do it manually. Apologies!
1221
+ build:
1222
+ ...
1223
+ missing_dso_whitelist:
1224
+ - "*/nvcuda.dll" # [win]
1234
1225
1235
1226
1236
1227
Adding support for a new CUDA version
@@ -1246,7 +1237,7 @@ Providing a new CUDA version involves five repositores:
1246
1237
1247
1238
The steps involved are, roughly:
1248
1239
1249
- 1. Add the ``cudatoolkit `` packages in ``cudatoolkit-feedstock ``
1240
+ 1. Add the ``cudatoolkit `` packages in ``cudatoolkit-feedstock ``.
1250
1241
2. Submit the version migrator to ``conda-forge-pinning-feedstock ``.
1251
1242
This will stay open during the following steps.
1252
1243
3. For Linux, add the corresponding Docker images at ``docker-images ``.
0 commit comments