@@ -121,6 +121,52 @@ extern "C" void onemklCcopy(syclQueue_t device_queue, int64_t n, const float _Co
121121 reinterpret_cast <std::complex <float > *>(y), incy);
122122}
123123
124+ extern " C" void onemklDamax (syclQueue_t device_queue, int64_t n, const double *x,
125+ int64_t incx, int64_t *result){
126+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n, x, incx, result);
127+ status.wait ();
128+ }
129+ extern " C" void onemklSamax (syclQueue_t device_queue, int64_t n, const float *x,
130+ int64_t incx, int64_t *result){
131+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n, x, incx, result);
132+ status.wait ();
133+ }
134+ extern " C" void onemklZamax (syclQueue_t device_queue, int64_t n, const double _Complex *x,
135+ int64_t incx, int64_t *result){
136+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n,
137+ reinterpret_cast <const std::complex <double > *>(x), incx, result);
138+ status.wait ();
139+ }
140+ extern " C" void onemklCamax (syclQueue_t device_queue, int64_t n, const float _Complex *x,
141+ int64_t incx, int64_t *result){
142+ auto status = oneapi::mkl::blas::column_major::iamax (device_queue->val , n,
143+ reinterpret_cast <const std::complex <float > *>(x), incx, result);
144+ status.wait ();
145+ }
146+
147+ extern " C" void onemklDamin (syclQueue_t device_queue, int64_t n, const double *x,
148+ int64_t incx, int64_t *result){
149+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n, x, incx, result);
150+ status.wait ();
151+ }
152+ extern " C" void onemklSamin (syclQueue_t device_queue, int64_t n, const float *x,
153+ int64_t incx, int64_t *result){
154+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n, x, incx, result);
155+ status.wait ();
156+ }
157+ extern " C" void onemklZamin (syclQueue_t device_queue, int64_t n, const double _Complex *x,
158+ int64_t incx, int64_t *result){
159+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n,
160+ reinterpret_cast <const std::complex <double > *>(x), incx, result);
161+ status.wait ();
162+ }
163+ extern " C" void onemklCamin (syclQueue_t device_queue, int64_t n, const float _Complex *x,
164+ int64_t incx, int64_t *result){
165+ auto status = oneapi::mkl::blas::column_major::iamin (device_queue->val , n,
166+ reinterpret_cast <const std::complex <float > *>(x), incx, result);
167+ status.wait ();
168+ }
169+
124170// other
125171
126172// oneMKL keeps a cache of SYCL queues and tries to destroy them when unloading the library.
0 commit comments