Skip to content

Commit 0e75041

Browse files
committed
Update docs after last PRs
1 parent 154d885 commit 0e75041

File tree

1 file changed

+16
-25
lines changed

1 file changed

+16
-25
lines changed

src/maintainer/knowledge_base.rst

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,7 +1150,7 @@ to build CUDA-enabled packages. These mechanisms involve several packages:
11501150

11511151
* ``nvcc``: Nvidia's EULA does not allow the redistribution of compilers and drivers. Instead, we
11521152
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),
11541154
as well as wrapping the real ``nvcc`` executable to set some extra command line arguments.
11551155

11561156
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
12031203
Common problems and known issues
12041204
--------------------------------
12051205

1206-
Helping your build system locate CUDA
1207-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1206+
``nvcuda.dll`` cannot be found on Windows
1207+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12081208

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``::
12111213

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.
12131216

1214-
-DCUDA_TOOLKIT_ROOT_DIR=${CUDA_HOME}
1217+
.. is this binary repackaging?
12151218

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``::
12181220

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]
12341225

12351226

12361227
Adding support for a new CUDA version
@@ -1246,7 +1237,7 @@ Providing a new CUDA version involves five repositores:
12461237

12471238
The steps involved are, roughly:
12481239

1249-
1. Add the ``cudatoolkit`` packages in ``cudatoolkit-feedstock``
1240+
1. Add the ``cudatoolkit`` packages in ``cudatoolkit-feedstock``.
12501241
2. Submit the version migrator to ``conda-forge-pinning-feedstock``.
12511242
This will stay open during the following steps.
12521243
3. For Linux, add the corresponding Docker images at ``docker-images``.

0 commit comments

Comments
 (0)