@@ -131,6 +131,52 @@ extern "C" void onemklCcopy(syclQueue_t device_queue, int64_t n, const float _Co
131131 reinterpret_cast <std::complex <float > *>(y), incy);
132132}
133133
134+ extern " C" void onemklDamax (syclQueue_t device_queue, int64_t n, const double *x,
135+ int64_t incx, int64_t *result){
136+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n, x, incx, result);
137+ status.wait ();
138+ }
139+ extern " C" void onemklSamax (syclQueue_t device_queue, int64_t n, const float *x,
140+ int64_t incx, int64_t *result){
141+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n, x, incx, result);
142+ status.wait ();
143+ }
144+ extern " C" void onemklZamax (syclQueue_t device_queue, int64_t n, const double _Complex *x,
145+ int64_t incx, int64_t *result){
146+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n,
147+ reinterpret_cast <const std::complex <double > *>(x), incx, result);
148+ status.wait ();
149+ }
150+ extern " C" void onemklCamax (syclQueue_t device_queue, int64_t n, const float _Complex *x,
151+ int64_t incx, int64_t *result){
152+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n,
153+ reinterpret_cast <const std::complex <float > *>(x), incx, result);
154+ status.wait ();
155+ }
156+
157+ extern " C" void onemklDamin (syclQueue_t device_queue, int64_t n, const double *x,
158+ int64_t incx, int64_t *result){
159+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n, x, incx, result);
160+ status.wait ();
161+ }
162+ extern " C" void onemklSamin (syclQueue_t device_queue, int64_t n, const float *x,
163+ int64_t incx, int64_t *result){
164+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n, x, incx, result);
165+ status.wait ();
166+ }
167+ extern " C" void onemklZamin (syclQueue_t device_queue, int64_t n, const double _Complex *x,
168+ int64_t incx, int64_t *result){
169+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n,
170+ reinterpret_cast <const std::complex <double > *>(x), incx, result);
171+ status.wait ();
172+ }
173+ extern " C" void onemklCamin (syclQueue_t device_queue, int64_t n, const float _Complex *x,
174+ int64_t incx, int64_t *result){
175+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n,
176+ reinterpret_cast <const std::complex <float > *>(x), incx, result);
177+ status.wait ();
178+ }
179+
134180// other
135181
136182// oneMKL keeps a cache of SYCL queues and tries to destroy them when unloading the library.
0 commit comments