@@ -59,8 +59,8 @@ or ``clang++`` and ``clang`` respectively when using the Open DPC++ Compiler.
59
59
Backends should be enabled by setting ``-DENABLE_<BACKEND_NAME>_BACKEND=True ``
60
60
for each desired backend. By default, only the ``MKLGPU `` and ``MKLCPU ``
61
61
backends are enabled. Multiple backends for multiple device vendors can be
62
- enabled at once (albeit with limitations when using portBLAS and portFFT). The
63
- supported backends for the compilers are given in the table at `oneMath
62
+ enabled at once (albeit with limitations when using oneMath generic SYCL BLAS and portFFT).
63
+ The supported backends for the compilers are given in the table at `oneMath
64
64
supported configurations table
65
65
<https://github.com/uxlfoundation/oneMath?tab=readme-ov-file#supported-configurations> `_,
66
66
and the CMake option names are given in the table below. Some backends may
@@ -127,7 +127,7 @@ The most important supported build options are:
127
127
* - ENABLE_MKLCPU_THREAD_TBB
128
128
- True, False
129
129
- True
130
- * - ENABLE_PORTBLAS_BACKEND
130
+ * - ENABLE_GENERIC_BLAS_BACKEND
131
131
- True, False
132
132
- False
133
133
* - ENABLE_PORTFFT_BACKEND
@@ -239,19 +239,19 @@ SYCL enables portable heterogeneous computing on a wide range of accelerators.
239
239
Consequently, it is possible to use oneMath with accelerators not anticipated by
240
240
the project.
241
241
242
- For generic SYCL devices, only portBLAS and portFFT backend are enabled.
242
+ For generic SYCL devices, only generic BLAS and portFFT backend are enabled.
243
243
The user must set the appropriate ``-fsycl-targets `` for their device, and also
244
- any other option required for performance. See `Building for portBLAS `_ and
244
+ any other option required for performance. See `Building for oneMath generic SYCL BLAS `_ and
245
245
`Building for portFFT `_. Extensive testing is strongly advised for these
246
246
unsupported configurations.
247
247
248
248
.. _build_for_portlibs_dpcpp :
249
249
250
- Pure SYCL backends: portBLAS and portFFT
251
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
250
+ Pure SYCL backends: generic BLAS and portFFT
251
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
252
252
253
- `portBLAS <https://github.com/codeplaysoftware/portBLAS >`_ and ` portFFT
254
- <https://github.com/codeplaysoftware/portFFT> `_ are experimental pure-SYCL
253
+ `Generic SYCL BLAS <https://github.com/uxlfoundation/generic-sycl-components/tree/main/onemath/sycl/blas >`_
254
+ and ` portFFT <https://github.com/codeplaysoftware/portFFT >`_ are experimental pure-SYCL
255
255
backends that work on all SYCL targets supported by the DPC++ compiler. Since
256
256
they support multiple targets, they cannot be enabled with other backends in the
257
257
same domain, or the ``MKLCPU `` or ``MKLGPU `` backends. Both libraries are
@@ -260,35 +260,35 @@ experimental and currently only support a subset of operations and features.
260
260
For best performance, both libraries must be tuned. See the individual sections
261
261
for more details.
262
262
263
- Both portBLAS and portFFT are used as header-only libraries, and will be
263
+ Both generic SYCL BLAS and portFFT are used as header-only libraries, and will be
264
264
downloaded automatically if not found.
265
265
266
- .. _ build_for_portblas_dpcpp :
266
+ .. _ build_for_generic_blas_dpcpp :
267
267
268
- Building for portBLAS
269
- ---------------------
268
+ Building for oneMath generic SYCL BLAS
269
+ --------------------------------------
270
270
271
- `portBLAS <https://github.com/codeplaysoftware/portBLAS >`_ is
272
- enabled by setting ``-DENABLE_PORTBLAS_BACKEND =True ``.
271
+ `onemath generic SYCL BLAS <https://github.com/uxlfoundation/generic-sycl-components/tree/main/onemath/sycl/blas >`_
272
+ is enabled by setting ``-DENABLE_GENERIC_BLAS_BACKEND =True ``.
273
273
274
- By default, the portBLAS backend is not tuned for any specific device.
274
+ By default, the generic BLAS backend is not tuned for any specific device.
275
275
This tuning is required to achieve best performance.
276
- portBLAS can be tuned for a specific hardware target by adding compiler
276
+ The generic SYCL BLAS backend can be tuned for a specific hardware target by adding compiler
277
277
definitions in 2 ways:
278
278
279
279
#.
280
- Manually specify a tuning target with ``-DPORTBLAS_TUNING_TARGET =<target> ``.
281
- The list of portBLAS targets can be found
282
- `here <https://github.com/codeplaysoftware/portBLAS #cmake-options >`_.
280
+ Manually specify a tuning target with ``-DGENERIC_BLAS_TUNING_TARGET =<target> ``.
281
+ The list of oneMath SYCL BLAS targets can be found
282
+ `here <https://github.com/uxlfoundation/generic-sycl-components/tree/main/onemath/sycl/blas #cmake-options >`_.
283
283
This will automatically set ``-fsycl-targets `` if needed.
284
284
#.
285
285
If one target is set via ``-fsycl-targets `` the configuration step will
286
- try to automatically detect the portBLAS tuning target. One can manually
286
+ try to automatically detect the oneMath SYCL BLAS tuning target. One can manually
287
287
specify ``-fsycl-targets `` via ``CMAKE_CXX_FLAGS ``. See
288
288
`DPC++ User Manual <https://intel.github.io/llvm-docs/UsersManual.html >`_
289
289
for more information on ``-fsycl-targets ``.
290
290
291
- portBLAS relies heavily on JIT compilation. This may cause time-outs on some
291
+ OneMath SYCL BLAS relies heavily on JIT compilation. This may cause time-outs on some
292
292
systems. To avoid this issue, use ahead-of-time compilation through tuning
293
293
targets or ``sycl-targets ``.
294
294
@@ -439,11 +439,10 @@ Build oneMath for the BLAS domain on a generic SYCL device:
439
439
-DCMAKE_C_COMPILER=clang \
440
440
-DENABLE_MKLCPU_BACKEND=False \
441
441
-DENABLE_MKLGPU_BACKEND=False \
442
- -DENABLE_PORTBLAS_BACKEND =True
442
+ -DENABLE_GENERIC_BLAS_BACKEND =True
443
443
444
444
Note that this is not a tested configuration. This builds oneMath with the
445
- portBLAS backend only, for a generic SYCL device supported by the Open DPC++
446
- project.
445
+ generic SYCL BLAS backend only, for a generic SYCL device.
447
446
448
447
Build oneMath for the DFT domain on a generic SYCL device:
449
448
0 commit comments