Skip to content

Commit ef99d5b

Browse files
maleadtamontoison
andauthored
Support for Julia 1.11 (#415)
Co-authored-by: Alexis Montoison <alexis.montoison@polymtl.ca>
1 parent 89d5df6 commit ef99d5b

File tree

11 files changed

+2258
-2292
lines changed

11 files changed

+2258
-2292
lines changed

.buildkite/pipeline.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ steps:
2727
- "1.8"
2828
- "1.9"
2929
- "1.10"
30+
- "1.11"
3031
- "nightly"
3132
adjustments:
3233
- with:

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ KernelAbstractions = "0.9.1"
3636
LLVM = "6"
3737
NEO_jll = "=24.09.28717"
3838
Preferences = "1"
39-
SPIRV_LLVM_Translator_unified_jll = "0.3"
39+
SPIRV_LLVM_Translator_unified_jll = "0.4"
4040
SpecialFunctions = "1.3, 2"
4141
StaticArrays = "1"
4242
julia = "1.8"

deps/onemkl_prologue.cpp

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -554,54 +554,55 @@ extern "C" int onemklZtrsmBatched(syclQueue_t device_queue, onemklSide left_righ
554554

555555
extern "C" int onemklHgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
556556
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
557-
uint16_t alpha, const short *a, int64_t lda, int64_t stridea,
558-
const short *b, int64_t ldb, int64_t strideb, uint16_t beta,
557+
uint16_t *alpha, const short *a, int64_t lda, int64_t stridea,
558+
const short *b, int64_t ldb, int64_t strideb, uint16_t *beta,
559559
short *c, int64_t ldc, int64_t stridec, int64_t batch_size) {
560560
auto status = oneapi::mkl::blas::column_major::gemm_batch(device_queue->val, convert(transa),
561-
convert(transb), m, n, k, sycl::bit_cast<sycl::half>(alpha),
561+
convert(transb), m, n, k,
562+
*reinterpret_cast<const sycl::half *>(alpha),
562563
reinterpret_cast<const sycl::half *>(a), lda, stridea,
563564
reinterpret_cast<const sycl::half *>(b), ldb, strideb,
564-
sycl::bit_cast<sycl::half>(beta),
565+
*reinterpret_cast<const sycl::half *>(beta),
565566
reinterpret_cast<sycl::half *>(c), ldc, stridec, batch_size, {});
566567
__FORCE_MKL_FLUSH__(status);
567568
return 0;
568569
}
569570

570571
extern "C" int onemklSgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
571572
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
572-
float alpha, const float *a, int64_t lda, int64_t stridea,
573-
const float *b, int64_t ldb, int64_t strideb, float beta,
573+
float *alpha, const float *a, int64_t lda, int64_t stridea,
574+
const float *b, int64_t ldb, int64_t strideb, float *beta,
574575
float *c, int64_t ldc, int64_t stridec, int64_t batch_size) {
575576
auto status = oneapi::mkl::blas::column_major::gemm_batch(device_queue->val, convert(transa),
576-
convert(transb), m, n, k, alpha, a, lda, stridea,
577-
b, ldb, strideb, beta, c, ldc, stridec, batch_size, {});
577+
convert(transb), m, n, k, *alpha, a, lda, stridea,
578+
b, ldb, strideb, *beta, c, ldc, stridec, batch_size, {});
578579
__FORCE_MKL_FLUSH__(status);
579580
return 0;
580581
}
581582

582583
extern "C" int onemklDgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
583584
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
584-
double alpha, const double *a, int64_t lda, int64_t stridea,
585-
const double *b, int64_t ldb, int64_t strideb, double beta,
585+
double *alpha, const double *a, int64_t lda, int64_t stridea,
586+
const double *b, int64_t ldb, int64_t strideb, double *beta,
586587
double *c, int64_t ldc, int64_t stridec, int64_t batch_size) {
587588
auto status = oneapi::mkl::blas::column_major::gemm_batch(device_queue->val, convert(transa),
588-
convert(transb), m, n, k, alpha, a, lda, stridea,
589-
b, ldb, strideb, beta, c, ldc, stridec, batch_size, {});
589+
convert(transb), m, n, k, *alpha, a, lda, stridea,
590+
b, ldb, strideb, *beta, c, ldc, stridec, batch_size, {});
590591
__FORCE_MKL_FLUSH__(status);
591592
return 0;
592593
}
593594

594595
extern "C" int onemklCgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
595596
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
596-
float _Complex alpha, const float _Complex *a, int64_t lda, int64_t stridea,
597-
const float _Complex *b, int64_t ldb, int64_t strideb, float _Complex beta,
597+
float _Complex *alpha, const float _Complex *a, int64_t lda, int64_t stridea,
598+
const float _Complex *b, int64_t ldb, int64_t strideb, float _Complex *beta,
598599
float _Complex *c, int64_t ldc, int64_t stridec, int64_t batch_size) {
599600
auto status = oneapi::mkl::blas::column_major::gemm_batch(device_queue->val, convert(transa),
600-
convert(transb), m, n, k, alpha,
601+
convert(transb), m, n, k, *alpha,
601602
reinterpret_cast<const std::complex<float> *>(a),
602603
lda, stridea,
603604
reinterpret_cast<const std::complex<float> *>(b),
604-
ldb, strideb, beta,
605+
ldb, strideb, *beta,
605606
reinterpret_cast<std::complex<float> *>(c),
606607
ldc, stridec, batch_size, {});
607608
__FORCE_MKL_FLUSH__(status);
@@ -610,15 +611,15 @@ extern "C" int onemklCgemmBatchStrided(syclQueue_t device_queue, onemklTranspose
610611

611612
extern "C" int onemklZgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
612613
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
613-
double _Complex alpha, const double _Complex *a, int64_t lda, int64_t stridea,
614-
const double _Complex *b, int64_t ldb, int64_t strideb, double _Complex beta,
614+
double _Complex *alpha, const double _Complex *a, int64_t lda, int64_t stridea,
615+
const double _Complex *b, int64_t ldb, int64_t strideb, double _Complex *beta,
615616
double _Complex *c, int64_t ldc, int64_t stridec, int64_t batch_size) {
616617
auto status = oneapi::mkl::blas::column_major::gemm_batch(device_queue->val, convert(transa),
617-
convert(transb), m, n, k, alpha,
618+
convert(transb), m, n, k, *alpha,
618619
reinterpret_cast<const std::complex<double> *>(a),
619620
lda, stridea,
620621
reinterpret_cast<const std::complex<double> *>(b),
621-
ldb, strideb, beta,
622+
ldb, strideb, *beta,
622623
reinterpret_cast<std::complex<double> *>(c),
623624
ldc, stridec, batch_size, {});
624625
__FORCE_MKL_FLUSH__(status);
@@ -627,14 +628,15 @@ extern "C" int onemklZgemmBatchStrided(syclQueue_t device_queue, onemklTranspose
627628

628629
extern "C" int onemklHgemm(syclQueue_t device_queue, onemklTranspose transA,
629630
onemklTranspose transB, int64_t m, int64_t n,
630-
int64_t k, uint16_t alpha, const short *A, int64_t lda,
631-
const short *B, int64_t ldb, uint16_t beta, short *C,
631+
int64_t k, uint16_t *alpha, const short *A, int64_t lda,
632+
const short *B, int64_t ldb, uint16_t *beta, short *C,
632633
int64_t ldc) {
633634
auto status = oneapi::mkl::blas::column_major::gemm(device_queue->val, convert(transA),
634-
convert(transB), m, n, k, sycl::bit_cast<sycl::half>(alpha),
635+
convert(transB), m, n, k,
636+
*reinterpret_cast<const sycl::half *>(alpha),
635637
reinterpret_cast<const sycl::half *>(A), lda,
636638
reinterpret_cast<const sycl::half *>(B), ldb,
637-
sycl::bit_cast<sycl::half>(beta),
639+
*reinterpret_cast<const sycl::half *>(beta),
638640
reinterpret_cast<sycl::half *>(C), ldc, {});
639641
__FORCE_MKL_FLUSH__(status);
640642
return 0;
@@ -651,19 +653,20 @@ extern "C" int onemklHdot(syclQueue_t device_queue, int64_t n,
651653
return 0;
652654
}
653655

654-
extern "C" int onemklHaxpy(syclQueue_t device_queue, int64_t n, uint16_t alpha,
656+
extern "C" int onemklHaxpy(syclQueue_t device_queue, int64_t n, uint16_t *alpha,
655657
const short *x, std::int64_t incx, short *y, int64_t incy) {
656658
auto status = oneapi::mkl::blas::column_major::axpy(device_queue->val, n,
657-
sycl::bit_cast<sycl::half>(alpha),
659+
*reinterpret_cast<const sycl::half *>(alpha),
658660
reinterpret_cast<const sycl::half *>(x),
659661
incx, reinterpret_cast<sycl::half *>(y), incy, {});
660662
__FORCE_MKL_FLUSH__(status);
661663
return 0;
662664
}
663665

664-
extern "C" int onemklHscal(syclQueue_t device_queue, int64_t n, uint16_t alpha,
666+
extern "C" int onemklHscal(syclQueue_t device_queue, int64_t n, uint16_t *alpha,
665667
short *x, int64_t incx) {
666-
auto status = oneapi::mkl::blas::column_major::scal(device_queue->val, n, sycl::bit_cast<sycl::half>(alpha),
668+
auto status = oneapi::mkl::blas::column_major::scal(device_queue->val, n,
669+
*reinterpret_cast<const sycl::half *>(alpha),
667670
reinterpret_cast<sycl::half *>(x), incx, {});
668671
__FORCE_MKL_FLUSH__(status);
669672
return 0;

deps/onemkl_prologue.h

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -195,46 +195,46 @@ int onemklZtrsmBatched(syclQueue_t device_queue, onemklSide left_right,
195195

196196
int onemklHgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
197197
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
198-
uint16_t alpha, const short *a, int64_t lda, int64_t stridea,
199-
const short *b, int64_t ldb, int64_t strideb, uint16_t beta,
198+
uint16_t *alpha, const short *a, int64_t lda, int64_t stridea,
199+
const short *b, int64_t ldb, int64_t strideb, uint16_t *beta,
200200
short *c, int64_t ldc, int64_t stridec, int64_t batch_size);
201201

202202
int onemklSgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
203203
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
204-
float alpha, const float *a, int64_t lda, int64_t stridea,
205-
const float *b, int64_t ldb, int64_t strideb, float beta,
204+
float *alpha, const float *a, int64_t lda, int64_t stridea,
205+
const float *b, int64_t ldb, int64_t strideb, float *beta,
206206
float *c, int64_t ldc, int64_t stridec, int64_t batch_size);
207207

208208
int onemklDgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
209209
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
210-
double alpha, const double *a, int64_t lda, int64_t stridea,
211-
const double *b, int64_t ldb, int64_t strideb, double beta,
210+
double *alpha, const double *a, int64_t lda, int64_t stridea,
211+
const double *b, int64_t ldb, int64_t strideb, double *beta,
212212
double *c, int64_t ldc, int64_t stridec, int64_t batch_size);
213213

214214
int onemklCgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
215215
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
216-
float _Complex alpha, const float _Complex *a, int64_t lda,
216+
float _Complex *alpha, const float _Complex *a, int64_t lda,
217217
int64_t stridea, const float _Complex *b, int64_t ldb,
218-
int64_t strideb, float _Complex beta, float _Complex *c,
218+
int64_t strideb, float _Complex *beta, float _Complex *c,
219219
int64_t ldc, int64_t stridec, int64_t batch_size);
220220

221221
int onemklZgemmBatchStrided(syclQueue_t device_queue, onemklTranspose transa,
222222
onemklTranspose transb, int64_t m, int64_t n, int64_t k,
223-
double _Complex alpha, const double _Complex *a, int64_t lda,
223+
double _Complex *alpha, const double _Complex *a, int64_t lda,
224224
int64_t stridea, const double _Complex *b, int64_t ldb,
225-
int64_t strideb, double _Complex beta, double _Complex *c,
225+
int64_t strideb, double _Complex *beta, double _Complex *c,
226226
int64_t ldc, int64_t stridec, int64_t batch_size);
227227

228228
int onemklHgemm(syclQueue_t device_queue, onemklTranspose transA,
229229
onemklTranspose transB, int64_t m, int64_t n,
230-
int64_t k, uint16_t alpha, const short *A, int64_t lda,
231-
const short *B, int64_t ldb, uint16_t beta, short *C,
230+
int64_t k, uint16_t *alpha, const short *A, int64_t lda,
231+
const short *B, int64_t ldb, uint16_t *beta, short *C,
232232
int64_t ldc);
233233

234-
int onemklHaxpy(syclQueue_t device_queue, int64_t n, uint16_t alpha, const short *x,
234+
int onemklHaxpy(syclQueue_t device_queue, int64_t n, uint16_t *alpha, const short *x,
235235
int64_t incx, short *y, int64_t incy);
236236

237-
int onemklHscal(syclQueue_t device_queue, int64_t n, uint16_t alpha,
237+
int onemklHscal(syclQueue_t device_queue, int64_t n, uint16_t *alpha,
238238
short *x, int64_t incx);
239239

240240
int onemklHnrm2(syclQueue_t device_queue, int64_t n, const short *x,

0 commit comments

Comments
 (0)