You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31-16Lines changed: 31 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,7 @@ oneMKL is part of [oneAPI](https://oneapi.io).
45
45
## Table of Contents
46
46
47
47
-[Support and Requirements](#support-and-requirements)
48
+
-[Selection of Compilers](#selection-of-compilers)
48
49
-[Build Setup](#build-setup)
49
50
-[Building with Conan](#building-with-conan)
50
51
-[Building with CMake](#building-with-cmake)
@@ -80,8 +81,8 @@ oneapi::mkl::blas::column_major::gemm(gpu_queue, transA, transB, m, ...);
80
81
How to build an application with run-time dispatching:
81
82
82
83
```cmd
83
-
$> clang++ -fsycl –I$ONEMKL/include app.cpp
84
-
$> clang++ -fsycl app.o –L$ONEMKL/lib –lonemkl
84
+
$> dpcpp -fsycl –I$ONEMKL/include app.cpp
85
+
$> dpcpp -fsycl app.o –L$ONEMKL/lib –lonemkl
85
86
```
86
87
87
88
-**Compile-time dispatching**: The application uses a templated backend selector API where the template parameters specify the required backends and third-party libraries and the application is linked with the required oneMKL backend wrapper libraries (libraries can be static or dynamic).
*Refer to [Selection of Compilers](#selection-of-compilers) for the choice between `dpcpp` and `clang++` compilers.*
115
+
113
116
### Supported Configurations:
114
117
115
118
Supported domains: BLAS, LAPACK, RNG
@@ -366,6 +369,16 @@ Python | 3.6 or higher | No | *N/A* | *Pre-installed or Installed by user* | [PS
366
369
367
370
---
368
371
372
+
## Selection of Compilers
373
+
374
+
A compiler needs to be chosen according to the required backend of your application.
375
+
376
+
- If your application requires Intel GPU, use [Intel(R) oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler)`dpcpp`.
377
+
- If your application requires NVIDIA GPU, use the latest release of `clang++` from [Intel project for LLVM* technology](https://github.com/intel/llvm/releases).
378
+
- If neither Intel GPU nor NVIDIA GPU is required, you can use either [Intel(R) oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler)`dpcpp` or `clang++` on Linux and `clang-cl` on Windows from [Intel project for LLVM* technology](https://github.com/intel/llvm/releases).
379
+
380
+
---
381
+
369
382
## Build Setup
370
383
371
384
1. Install Intel(R) oneAPI DPC++ Compiler (select variant as per requirement).
@@ -515,10 +528,11 @@ conan build ..
515
528
```bash
516
529
# Inside <path to onemkl>
517
530
mkdir build &&cd build
518
-
export CXX=<path_to_dpcpp_compiler>/bin/dpcpp;
519
-
cmake .. [-DMKL_ROOT=<mkl_install_prefix>] \ # required only if environment variable MKLROOT is not set
520
-
[-DREF_BLAS_ROOT=<reference_blas_install_prefix>] \ # required only for testing
521
-
[-DREF_LAPACK_ROOT=<reference_lapack_install_prefix>] # required only for testing
531
+
cmake .. [-DCMAKE_CXX_COMPILER=<path_to_dpcpp_compiler>/bin/dpcpp] \ # required only if dpcpp is not found in environment variable PATH
532
+
[-DCMAKE_C_COMPILER=<path_to_icx_compiler>/bin/icx] \ # required only if icx is not found in environment variable PATH
533
+
[-DMKL_ROOT=<mkl_install_prefix>] \ # required only if environment variable MKLROOT is not set
534
+
[-DREF_BLAS_ROOT=<reference_blas_install_prefix>] \ # required only for testing
535
+
[-DREF_LAPACK_ROOT=<reference_lapack_install_prefix>] # required only for testing
0 commit comments