Skip to content

Commit 02070b5

Browse files
authored
Merge pull request oneapi-src#2536 from mkrainiuk/devel
[oneMKL] add qmkl-sycl-impl option
2 parents 0f304d1 + 0953356 commit 02070b5

File tree

32 files changed

+64
-76
lines changed

32 files changed

+64
-76
lines changed

Libraries/oneMKL/batched_linear_solver/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ If everything is working correctly, the output should be similar to this:
6565
```
6666
u172874@s001-n157:~/oneAPI-samples/Libraries/oneMKL/batched_linear_solver$ make
6767
ifx lu_solve_omp_offload.F90 -o lu_solve -i8 -free -qmkl
68-
ifx lu_solve_omp_offload.F90 -o lu_solve_omp_offload -i8 -free -qmkl -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -fsycl -L/glob/development-tools/versions/oneapi/2023.0.1/oneapi/mkl/2023.0.0/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -ldl
69-
ifx lu_solve_omp_offload_optimized.F90 -o lu_solve_omp_offload_optimized -i8 -free -qmkl -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -fsycl -L/glob/development-tools/versions/oneapi/2023.0.1/oneapi/mkl/2023.0.0/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -ldl
68+
ifx lu_solve_omp_offload.F90 -o lu_solve_omp_offload -i8 -free -qmkl -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -qmkl-sycl-impl=lapack
69+
ifx lu_solve_omp_offload_optimized.F90 -o lu_solve_omp_offload_optimized -i8 -free -qmkl -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -qmkl-sycl-impl=lapack
7070
./lu_solve -n 64 -b 8 -r 1 -c 2
7171
Matrix dimensions: 64
7272
Batch size: 8

Libraries/oneMKL/batched_linear_solver/lu_solve_omp_offload.F90

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@
2121
! lu_solve_omp_offload_ex1_timer.F90 -o lu_solve_ex1_timer
2222
!
2323
! Compile for GPU:
24-
! ifx -i8 -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -fsycl -free \
25-
! lu_solve_omp_offload_ex1_timer.F90 -o lu_solve_ex1_omp_timer \
26-
! -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 \
27-
! -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -ldl
24+
! ifx -i8 -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -free \
25+
! -qmkl -qmkl-sycl-impl=lapack \
26+
! lu_solve_omp_offload_ex1_timer.F90 -o lu_solve_ex1_omp_timer
2827
!
2928
! Compile with -DSP to use single precision instead of double precision.
3029
!

Libraries/oneMKL/batched_linear_solver/lu_solve_omp_offload_optimized.F90

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@
2121
! lu_solve_omp_offload_ex3_timer.F90 -o lu_solve_ex3_timer
2222
!
2323
! Compile for GPU:
24-
! ifx -i8 -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -fsycl -free \
25-
! lu_solve_omp_offload_ex3_timer.F90 -o lu_solve_ex3_omp_timer \
26-
! -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 \
27-
! -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -ldl
24+
! ifx -i8 -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -free \
25+
! -qmkl -qmkl-sycl-impl=lapack \
26+
! lu_solve_omp_offload_ex3_timer.F90 -o lu_solve_ex3_omp_timer
2827
!
2928
! Compile with -DSP to use single precision instead of double precision.
3029
!

Libraries/oneMKL/batched_linear_solver/makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ run_all: lu_solve lu_solve_omp_offload lu_solve_omp_offload_optimized
1010
./lu_solve_omp_offload_optimized -n 64 -b 8 -r 1 -c 2
1111

1212
IFX_OPTS = -i8 -free -qmkl
13-
IFX_OPTS_OFFLOAD = -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -fsycl -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -ldl
13+
IFX_OPTS_OFFLOAD = -DMKL_ILP64 -qopenmp -fopenmp-targets=spir64 -qmkl-sycl-impl=lapack
1414

1515
lu_solve: lu_solve_omp_offload.F90
1616
ifx $< -o $@ $(IFX_OPTS)

Libraries/oneMKL/binomial/GNUmakefile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ all: binomial_sycl
22

33
init_on_host ?= 0
44

5-
MKL_COPTS = -DMKL_ILP64 -qmkl=sequential
6-
MKL_LIBS = -lsycl -lOpenCL -lpthread -lm -ldl
5+
MKL_COPTS = -DMKL_ILP64 -qmkl -qmkl-sycl-impl=rng
76

87
binomial_sycl: src/binomial_sycl.cpp src/binomial_main.cpp src/binomial.hpp
9-
icpx -fsycl -O3 -DSMALL_OPT_N=0 -DVERBOSE=1 -DREPORT_COLD=1 -DREPORT_WARM=1 -DINIT_ON_HOST=$(init_on_host) $(MKL_COPTS) -o $@ src/binomial_main.cpp src/binomial_sycl.cpp $(MKL_LIBS)
8+
icpx -fsycl -O3 -DSMALL_OPT_N=0 -DVERBOSE=1 -DREPORT_COLD=1 -DREPORT_WARM=1 -DINIT_ON_HOST=$(init_on_host) $(MKL_COPTS) -o $@ src/binomial_main.cpp src/binomial_sycl.cpp
109

1110
clean:
1211
@rm -f binomial_sycl

Libraries/oneMKL/binomial/makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ all: binomial_sycl.exe
44
INIT_ON_HOST=/DINIT_ON_HOST=1
55
!endif
66

7-
DPCPP_OPTS=-O3 /I"$(MKLROOT)\include" /DMKL_ILP64 /DVERBOSE=1 /DSMALL_OPT_N=0 /DREPORT_COLD=1 /DREPORT_WARM=1 $(INIT_ON_HOST) -fsycl -qmkl -lOpenCL
7+
DPCPP_OPTS=-O3 /I"$(MKLROOT)\include" /DMKL_ILP64 /DVERBOSE=1 /DSMALL_OPT_N=0 /DREPORT_COLD=1 /DREPORT_WARM=1 $(INIT_ON_HOST) -fsycl /Qmkl /Qmkl-sycl-impl=rng OpenCL.lib
88

99
binomial_sycl.exe: src\binomial_sycl.cpp src\binomial_main.cpp src\binomial.hpp
10-
icpx $(DPCPP_OPTS) /DVERBOSE=1 /DSMALL_OPT_N=0 /DREPORT_COLD=1 /DREPORT_WARM=1 src\binomial_sycl.cpp src\binomial_main.cpp /obinomial_sycl.exe
10+
icx $(DPCPP_OPTS) /DVERBOSE=1 /DSMALL_OPT_N=0 /DREPORT_COLD=1 /DREPORT_WARM=1 src\binomial_sycl.cpp src\binomial_main.cpp /obinomial_sycl.exe
1111

1212
clean:
1313
del /q binomial_sycl.exe

Libraries/oneMKL/black_scholes/GNUmakefile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ all: black_scholes_sycl
77

88
init_on_host ?= 0
99

10-
MKL_COPTS = -DMKL_ILP64 -qmkl=sequential
11-
MKL_LIBS = -lsycl -lOpenCL -lpthread -lm -ldl
10+
MKL_COPTS = -DMKL_ILP64 -qmkl -qmkl-sycl-impl=rng
1211

1312
black_scholes_sycl: src/black_scholes_sycl.cpp
14-
icpx -O3 -g -fsycl $(MKL_COPTS) $(MKL_LIBS) -DVERBOSE=1 -DSMALL_OPT_N=0 -DINIT_ON_HOST=$(init_on_host) -o $@ src/black_scholes_sycl.cpp
13+
icpx -O3 -g -fsycl $(MKL_COPTS) -DVERBOSE=1 -DSMALL_OPT_N=0 -DINIT_ON_HOST=$(init_on_host) -o $@ src/black_scholes_sycl.cpp
1514

1615
clean:
1716
@rm -f black_scholes_sycl

Libraries/oneMKL/black_scholes/makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ all: black_scholes_sycl.exe
44
INIT_ON_HOST=/DINIT_ON_HOST=1
55
!endif
66

7-
DPCPP_OPTS=-O3 /I"$(MKLROOT)\include" /DMKL_ILP64 /DVERBOSE=1 /DSMALL_OPT_N=0 $(INIT_ON_HOST) -fsycl -qmkl -lOpenCL
7+
DPCPP_OPTS=-O3 /I"$(MKLROOT)\include" /DMKL_ILP64 /DVERBOSE=1 /DSMALL_OPT_N=0 $(INIT_ON_HOST) -fsycl /Qmkl /Qmkl-sycl-impl=rng OpenCL.lib
88

99
black_scholes_sycl.exe: src\black_scholes_sycl.cpp
10-
icpx $(DPCPP_OPTS) src\black_scholes_sycl.cpp /oblack_scholes_sycl.exe
10+
icx $(DPCPP_OPTS) src\black_scholes_sycl.cpp /oblack_scholes_sycl.exe
1111

1212
clean:
1313
del /q black_scholes_sycl.exe

Libraries/oneMKL/block_cholesky_decomposition/GNUmakefile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ all: factor solve
44
./factor
55
./solve
66

7-
MKL_COPTS = -DMKL_ILP64 -qmkl=sequential
8-
MKL_LIBS = -lsycl -lOpenCL -lpthread -lm -ldl
7+
MKL_COPTS = -DMKL_ILP64 -qmkl -qmkl-sycl-impl="blas,lapack"
98

109
factor: factor.cpp dpbltrf.cpp auxi.cpp
11-
icpx $^ -o $@ -fsycl -fsycl-device-code-split=per_kernel $(MKL_COPTS) $(MKL_LIBS)
10+
icpx $^ -o $@ -fsycl -fsycl-device-code-split=per_kernel $(MKL_COPTS)
1211

1312
solve: solve.cpp dpbltrf.cpp dpbltrs.cpp auxi.cpp
14-
icpx $^ -o $@ -fsycl -fsycl-device-code-split=per_kernel $(MKL_COPTS) $(MKL_LIBS)
13+
icpx $^ -o $@ -fsycl -fsycl-device-code-split=per_kernel $(MKL_COPTS)
1514

1615
clean:
1716
-rm -f factor solve

Libraries/oneMKL/block_cholesky_decomposition/makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ all: factor.exe solve.exe
44
.\factor.exe
55
.\solve.exe
66

7-
DPCPP_OPTS=/I"$(MKLROOT)\include" /Qmkl /DMKL_ILP64 /EHsc -fsycl-device-code-split=per_kernel OpenCL.lib
7+
DPCPP_OPTS=/I"$(MKLROOT)\include" /Qmkl /Qmkl-sycl-impl="blas,lapack" /DMKL_ILP64 /EHsc -fsycl-device-code-split=per_kernel OpenCL.lib
88

99
factor.exe: factor.cpp dpbltrf.cpp auxi.cpp
1010
icx-cl -fsycl factor.cpp dpbltrf.cpp auxi.cpp /Fefactor.exe $(DPCPP_OPTS)

0 commit comments

Comments
 (0)