@@ -159,6 +159,13 @@ The following plugins from CodePlay are supported:
159
159
.. _codeplay_nv_plugin : https://developer.codeplay.com/products/oneapi/nvidia/
160
160
.. _codeplay_amd_plugin : https://developer.codeplay.com/products/oneapi/amd/
161
161
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
+
162
169
``dpctl `` can be built for CUDA devices using the ``DPCTL_TARGET_CUDA `` CMake option,
163
170
which accepts a specific compute architecture string:
164
171
@@ -173,19 +180,20 @@ set ``DPCTL_TARGET_CUDA`` to a value such as ``ON``, ``TRUE``, ``YES``, ``Y``, o
173
180
174
181
python scripts/build_locally.py --verbose --cmake-opts=" -DDPCTL_TARGET_CUDA=ON"
175
182
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.
178
185
179
186
For reference, compute architecture strings like ``sm_80 `` correspond to specific
180
187
CUDA Compute Capabilities (e.g., Compute Capability 8.0 corresponds to ``sm_80 ``).
181
188
A complete mapping between NVIDIA GPU models and their respective
182
189
Compute Capabilities can be found in the official
183
190
`CUDA GPU Compute Capability <https://developer.nvidia.com/cuda-gpus >`_ documentation.
184
191
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
+ ~~~~~~~~~
187
194
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:
189
197
190
198
.. code-block :: bash
191
199
@@ -194,8 +202,13 @@ To build for AMD devices, use:
194
202
Note that the `oneAPI for AMD GPUs ` plugin requires the architecture be specified and only
195
203
one architecture can be specified at a time.
196
204
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:
199
212
200
213
.. code-block :: bash
201
214
0 commit comments