3636#include < vector>
3737
3838// oneMKL/SYCL includes
39+ #if __has_include(<sycl/sycl.hpp>)
40+ #include < sycl/sycl.hpp>
41+ #else
3942#include < CL/sycl.hpp>
43+ #endif
4044#include " oneapi/mkl.hpp"
4145
4246// local includes
@@ -144,8 +148,8 @@ void run_getrs_example(const sycl::device& cpu_device, const sycl::device& gpu_d
144148 std::int64_t cpu_getrf_scratchpad_size = oneapi::mkl::lapack::getrf_scratchpad_size<float >(
145149 oneapi::mkl::backend_selector<oneapi::mkl::backend::mklcpu>{ cpu_queue }, m, n, lda);
146150 std::int64_t cpu_getrs_scratchpad_size = oneapi::mkl::lapack::getrs_scratchpad_size<float >(
147- oneapi::mkl::backend_selector<oneapi::mkl::backend::mklcpu>{ cpu_queue },
148- trans, n, nrhs, lda, ldb);
151+ oneapi::mkl::backend_selector<oneapi::mkl::backend::mklcpu>{ cpu_queue }, trans, n, nrhs,
152+ lda, ldb);
149153 float * cpu_getrf_scratchpad = sycl::malloc_device<float >(
150154 cpu_getrf_scratchpad_size * sizeof (float ), cpu_device, cpu_context);
151155 float * cpu_getrs_scratchpad = sycl::malloc_device<float >(
@@ -174,8 +178,8 @@ void run_getrs_example(const sycl::device& cpu_device, const sycl::device& gpu_d
174178 std::int64_t gpu_getrf_scratchpad_size = oneapi::mkl::lapack::getrf_scratchpad_size<float >(
175179 oneapi::mkl::backend_selector<oneapi::mkl::backend::cusolver>{ gpu_queue }, m, n, lda);
176180 std::int64_t gpu_getrs_scratchpad_size = oneapi::mkl::lapack::getrs_scratchpad_size<float >(
177- oneapi::mkl::backend_selector<oneapi::mkl::backend::cusolver>{ gpu_queue },
178- trans, n, nrhs, lda, ldb);
181+ oneapi::mkl::backend_selector<oneapi::mkl::backend::cusolver>{ gpu_queue }, trans, n, nrhs,
182+ lda, ldb);
179183 float * gpu_getrf_scratchpad = sycl::malloc_device<float >(
180184 gpu_getrf_scratchpad_size * sizeof (float ), gpu_device, gpu_context);
181185 float * gpu_getrs_scratchpad = sycl::malloc_device<float >(
@@ -196,16 +200,16 @@ void run_getrs_example(const sycl::device& cpu_device, const sycl::device& gpu_d
196200 oneapi::mkl::backend_selector<oneapi::mkl::backend::mklcpu>{ cpu_queue }, m, n, cpu_A, lda,
197201 cpu_ipiv, cpu_getrf_scratchpad, cpu_getrf_scratchpad_size);
198202 cpu_getrs_done = oneapi::mkl::lapack::getrs (
199- oneapi::mkl::backend_selector<oneapi::mkl::backend::mklcpu>{ cpu_queue },
200- trans, n, nrhs, cpu_A, lda, cpu_ipiv, cpu_B, ldb,
201- cpu_getrs_scratchpad, cpu_getrs_scratchpad_size, { cpu_getrf_done });
203+ oneapi::mkl::backend_selector<oneapi::mkl::backend::mklcpu>{ cpu_queue }, trans, n, nrhs,
204+ cpu_A, lda, cpu_ipiv, cpu_B, ldb, cpu_getrs_scratchpad, cpu_getrs_scratchpad_size ,
205+ { cpu_getrf_done });
202206 gpu_getrf_done = oneapi::mkl::lapack::getrf (
203207 oneapi::mkl::backend_selector<oneapi::mkl::backend::cusolver>{ gpu_queue }, m, n, gpu_A,
204208 lda, gpu_ipiv, gpu_getrf_scratchpad, gpu_getrf_scratchpad_size);
205209 gpu_getrs_done = oneapi::mkl::lapack::getrs (
206- oneapi::mkl::backend_selector<oneapi::mkl::backend::cusolver>{ gpu_queue },
207- trans, n, nrhs, gpu_A, lda, gpu_ipiv, gpu_B, ldb,
208- gpu_getrs_scratchpad, gpu_getrs_scratchpad_size, { gpu_getrf_done });
210+ oneapi::mkl::backend_selector<oneapi::mkl::backend::cusolver>{ gpu_queue }, trans, n, nrhs,
211+ gpu_A, lda, gpu_ipiv, gpu_B, ldb, gpu_getrs_scratchpad, gpu_getrs_scratchpad_size ,
212+ { gpu_getrf_done });
209213
210214 // Wait until calculations are done
211215 cpu_queue.wait_and_throw ();
@@ -220,7 +224,6 @@ void run_getrs_example(const sycl::device& cpu_device, const sycl::device& gpu_d
220224 // copy data from GPU device back to host
221225 gpu_queue.memcpy (result_gpu.data (), gpu_B, B_size * sizeof (float )).wait_and_throw ();
222226
223-
224227 // Print results
225228 std::cout << " \n\t\t GETRF and GETRS parameters:" << std::endl;
226229 std::cout << " \t\t\t trans = "
@@ -252,7 +255,6 @@ void run_getrs_example(const sycl::device& cpu_device, const sycl::device& gpu_d
252255 sycl::free (cpu_ipiv, cpu_queue);
253256 sycl::free (cpu_B, cpu_queue);
254257 sycl::free (cpu_A, cpu_queue);
255-
256258}
257259
258260//
0 commit comments