Skip to content

Commit 98196d7

Browse files
Clarify SYCL target selection and add CUDA/AMD/Multi-target subchapters
1 parent 53f1fc0 commit 98196d7

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

docs/doc_sources/beginners_guides/installation.rst

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,13 @@ The following plugins from CodePlay are supported:
159159
.. _codeplay_nv_plugin: https://developer.codeplay.com/products/oneapi/nvidia/
160160
.. _codeplay_amd_plugin: https://developer.codeplay.com/products/oneapi/amd/
161161

162+
Builds for CUDA and AMD devices internally use SYCL alias targets that are passed to the compiler.
163+
A full list of available SYCL alias targets is available in the
164+
`DPC++ Compiler User Manual <https://intel.github.io/llvm/UsersManual.html>`_.
165+
166+
CUDA build
167+
~~~~~~~~~~
168+
162169
``dpctl`` can be built for CUDA devices using the ``DPCTL_TARGET_CUDA`` CMake option,
163170
which accepts a specific compute architecture string:
164171

@@ -173,19 +180,20 @@ set ``DPCTL_TARGET_CUDA`` to a value such as ``ON``, ``TRUE``, ``YES``, ``Y``, o
173180
174181
python scripts/build_locally.py --verbose --cmake-opts="-DDPCTL_TARGET_CUDA=ON"
175182
176-
Note that kernels are built for ``sm_50`` by default, allowing them to work on a wider
177-
range of architectures, but limiting the usage of more recent CUDA features.
183+
Note that kernels are built for the default architecture (``sm_50``), allowing them to work on a
184+
wider range of architectures, but limiting the usage of more recent CUDA features.
178185

179186
For reference, compute architecture strings like ``sm_80`` correspond to specific
180187
CUDA Compute Capabilities (e.g., Compute Capability 8.0 corresponds to ``sm_80``).
181188
A complete mapping between NVIDIA GPU models and their respective
182189
Compute Capabilities can be found in the official
183190
`CUDA GPU Compute Capability <https://developer.nvidia.com/cuda-gpus>`_ documentation.
184191

185-
A full list of available SYCL alias targets is available in the
186-
`DPC++ Compiler User Manual <https://intel.github.io/llvm/UsersManual.html>`_.
192+
AMD build
193+
~~~~~~~~~
187194

188-
To build for AMD devices, use:
195+
``dpctl`` can be built for AMD devices using the ``DPCTL_TARGET_HIP`` CMake option,
196+
which requires specifying a compute architecture string:
189197

190198
.. code-block:: bash
191199
@@ -194,8 +202,13 @@ To build for AMD devices, use:
194202
Note that the `oneAPI for AMD GPUs` plugin requires the architecture be specified and only
195203
one architecture can be specified at a time.
196204

197-
It is, however, possible to build for Intel devices, CUDA devices, and an AMD device
198-
architecture all at once:
205+
Multi-target build
206+
~~~~~~~~~~~~~~~~~~
207+
208+
The default ``dpctl`` build from the source enables support of Intel devices only.
209+
Extending the build with a custom SYCL target additionally enables support of CUDA or AMD
210+
device in ``dpctl``. Besides, the support can be also extended to enable both CUDA and AMD
211+
devices at the same time:
199212

200213
.. code-block:: bash
201214

0 commit comments

Comments
 (0)