From 3555cd043654ec24ff325bd6205281af790e50d2 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Wed, 27 Apr 2016 11:37:55 +0200 Subject: All CLBlast enum constants now have the same raw values as in the cblas standard --- include/clblast.h | 10 +++++----- include/clblast_c.h | 10 +++++----- scripts/generator/generator.py | 2 +- test/routines/level2/xgbmv.h | 4 ++-- test/routines/level2/xgemv.h | 4 ++-- test/routines/level2/xger.h | 2 +- test/routines/level2/xgerc.h | 2 +- test/routines/level2/xgeru.h | 2 +- test/routines/level2/xhbmv.h | 4 ++-- test/routines/level2/xhemv.h | 4 ++-- test/routines/level2/xher.h | 4 ++-- test/routines/level2/xher2.h | 4 ++-- test/routines/level2/xhpmv.h | 4 ++-- test/routines/level2/xhpr.h | 4 ++-- test/routines/level2/xhpr2.h | 4 ++-- test/routines/level2/xsbmv.h | 4 ++-- test/routines/level2/xspmv.h | 4 ++-- test/routines/level2/xspr.h | 4 ++-- test/routines/level2/xspr2.h | 4 ++-- test/routines/level2/xsymv.h | 4 ++-- test/routines/level2/xsyr.h | 4 ++-- test/routines/level2/xsyr2.h | 4 ++-- test/routines/level2/xtbmv.h | 8 ++++---- test/routines/level2/xtpmv.h | 8 ++++---- test/routines/level2/xtrmv.h | 8 ++++---- test/routines/level3/xgemm.h | 6 +++--- test/routines/level3/xhemm.h | 6 +++--- test/routines/level3/xher2k.h | 6 +++--- test/routines/level3/xherk.h | 6 +++--- test/routines/level3/xsymm.h | 6 +++--- test/routines/level3/xsyr2k.h | 6 +++--- test/routines/level3/xsyrk.h | 6 +++--- test/routines/level3/xtrmm.h | 10 +++++----- test/wrapper_clblas.h | 7 +++++++ 34 files changed, 91 insertions(+), 84 deletions(-) diff --git a/include/clblast.h b/include/clblast.h index 57948581..f73acb57 100644 --- a/include/clblast.h +++ b/include/clblast.h @@ -73,11 +73,11 @@ enum class StatusCode { }; // Matrix layout and transpose types -enum class Layout { kRowMajor, kColMajor }; -enum class Transpose { kNo, kYes, kConjugate }; -enum class Side { kLeft, kRight }; -enum class Triangle { kUpper, kLower }; -enum class Diagonal { kUnit, kNonUnit }; +enum class Layout { kRowMajor = 101, kColMajor = 102 }; +enum class Transpose { kNo = 111, kYes = 112, kConjugate = 113 }; +enum class Triangle { kUpper = 121, kLower = 122 }; +enum class Diagonal { kNonUnit = 131, kUnit = 132 }; +enum class Side { kLeft = 141, kRight = 142 }; // Precision scoped enum (values in bits) enum class Precision { kHalf = 16, kSingle = 32, kDouble = 64, diff --git a/include/clblast_c.h b/include/clblast_c.h index 92f4afe5..8c0a0792 100644 --- a/include/clblast_c.h +++ b/include/clblast_c.h @@ -82,11 +82,11 @@ typedef enum StatusCode_ { } StatusCode; // Matrix layout and transpose types -typedef enum Layout_ { kRowMajor, kColMajor } Layout; -typedef enum Transpose_ { kNo, kYes, kConjugate } Transpose; -typedef enum Side_ { kLeft, kRight } Side; -typedef enum Triangle_ { kUpper, kLower } Triangle; -typedef enum Diagonal_ { kUnit, kNonUnit } Diagonal; +typedef enum Layout_ { kRowMajor = 101, kColMajor = 102 } Layout; +typedef enum Transpose_ { kNo = 111, kYes = 112, kConjugate = 113 } Transpose; +typedef enum Triangle_ { kUpper = 121, kLower = 122 } Triangle; +typedef enum Diagonal_ { kNonUnit = 131, kUnit = 132 } Diagonal; +typedef enum Side_ { kLeft = 141, kRight = 142 } Side; // Precision scoped enum (values in bits) typedef enum Precision_ { kHalf = 16, kSingle = 32, kDouble = 64, diff --git a/scripts/generator/generator.py b/scripts/generator/generator.py index d8bd4e2c..9a520fac 100644 --- a/scripts/generator/generator.py +++ b/scripts/generator/generator.py @@ -294,7 +294,7 @@ files = [ path_clblast+"/test/wrapper_clblas.h", path_clblast+"/test/wrapper_cblas.h", ] -header_lines = [84, 67, 93, 22, 22, 38] +header_lines = [84, 67, 93, 22, 29, 38] footer_lines = [6, 3, 9, 2, 6, 6] # Checks whether the command-line arguments are valid; exists otherwise diff --git a/test/routines/level2/xgbmv.h b/test/routines/level2/xgbmv.h index b875075d..c88cdf2a 100644 --- a/test/routines/level2/xgbmv.h +++ b/test/routines/level2/xgbmv.h @@ -99,8 +99,8 @@ class TestXgbmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXgbmv(static_cast(args.layout), - static_cast(args.a_transpose), + auto status = clblasXgbmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.a_transpose), args.m, args.n, args.kl, args.ku, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xgemv.h b/test/routines/level2/xgemv.h index a70ccd34..cf63d55f 100644 --- a/test/routines/level2/xgemv.h +++ b/test/routines/level2/xgemv.h @@ -99,8 +99,8 @@ class TestXgemv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXgemv(static_cast(args.layout), - static_cast(args.a_transpose), + auto status = clblasXgemv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.a_transpose), args.m, args.n, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xger.h b/test/routines/level2/xger.h index 32c2a505..ae142e2e 100644 --- a/test/routines/level2/xger.h +++ b/test/routines/level2/xger.h @@ -95,7 +95,7 @@ class TestXger { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXger(static_cast(args.layout), + auto status = clblasXger(convertToCLBLAS(args.layout), args.m, args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xgerc.h b/test/routines/level2/xgerc.h index 4b6954f6..b236aef6 100644 --- a/test/routines/level2/xgerc.h +++ b/test/routines/level2/xgerc.h @@ -95,7 +95,7 @@ class TestXgerc { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXgerc(static_cast(args.layout), + auto status = clblasXgerc(convertToCLBLAS(args.layout), args.m, args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xgeru.h b/test/routines/level2/xgeru.h index 295e69e5..3d3fa439 100644 --- a/test/routines/level2/xgeru.h +++ b/test/routines/level2/xgeru.h @@ -95,7 +95,7 @@ class TestXgeru { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXgeru(static_cast(args.layout), + auto status = clblasXgeru(convertToCLBLAS(args.layout), args.m, args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xhbmv.h b/test/routines/level2/xhbmv.h index e0bdc4da..4098639a 100644 --- a/test/routines/level2/xhbmv.h +++ b/test/routines/level2/xhbmv.h @@ -93,8 +93,8 @@ class TestXhbmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXhbmv(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXhbmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.kl, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xhemv.h b/test/routines/level2/xhemv.h index fa242961..5652872d 100644 --- a/test/routines/level2/xhemv.h +++ b/test/routines/level2/xhemv.h @@ -93,8 +93,8 @@ class TestXhemv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXhemv(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXhemv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xher.h b/test/routines/level2/xher.h index 7d0e8cc3..3bbf0887 100644 --- a/test/routines/level2/xher.h +++ b/test/routines/level2/xher.h @@ -88,8 +88,8 @@ class TestXher { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXher(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXher(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.a_mat(), args.a_offset, args.a_ld, diff --git a/test/routines/level2/xher2.h b/test/routines/level2/xher2.h index 445bba74..dc7fbe73 100644 --- a/test/routines/level2/xher2.h +++ b/test/routines/level2/xher2.h @@ -93,8 +93,8 @@ class TestXher2 { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXher2(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXher2(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xhpmv.h b/test/routines/level2/xhpmv.h index 406e564f..df5a90ee 100644 --- a/test/routines/level2/xhpmv.h +++ b/test/routines/level2/xhpmv.h @@ -93,8 +93,8 @@ class TestXhpmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXhpmv(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXhpmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.ap_mat(), args.ap_offset, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xhpr.h b/test/routines/level2/xhpr.h index 6f56d3f3..0db11db0 100644 --- a/test/routines/level2/xhpr.h +++ b/test/routines/level2/xhpr.h @@ -88,8 +88,8 @@ class TestXhpr { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXhpr(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXhpr(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.ap_mat(), args.ap_offset, diff --git a/test/routines/level2/xhpr2.h b/test/routines/level2/xhpr2.h index 43889cb9..e1e5b4c5 100644 --- a/test/routines/level2/xhpr2.h +++ b/test/routines/level2/xhpr2.h @@ -93,8 +93,8 @@ class TestXhpr2 { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXhpr2(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXhpr2(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xsbmv.h b/test/routines/level2/xsbmv.h index 9a5c5140..fce88f4c 100644 --- a/test/routines/level2/xsbmv.h +++ b/test/routines/level2/xsbmv.h @@ -93,8 +93,8 @@ class TestXsbmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsbmv(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXsbmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.kl, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xspmv.h b/test/routines/level2/xspmv.h index 913af0cd..2fdba77a 100644 --- a/test/routines/level2/xspmv.h +++ b/test/routines/level2/xspmv.h @@ -93,8 +93,8 @@ class TestXspmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXspmv(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXspmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.ap_mat(), args.ap_offset, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xspr.h b/test/routines/level2/xspr.h index bab5c541..dcacc5de 100644 --- a/test/routines/level2/xspr.h +++ b/test/routines/level2/xspr.h @@ -88,8 +88,8 @@ class TestXspr { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXspr(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXspr(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.ap_mat(), args.ap_offset, diff --git a/test/routines/level2/xspr2.h b/test/routines/level2/xspr2.h index 41a04cc0..69fda2fb 100644 --- a/test/routines/level2/xspr2.h +++ b/test/routines/level2/xspr2.h @@ -93,8 +93,8 @@ class TestXspr2 { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXspr2(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXspr2(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xsymv.h b/test/routines/level2/xsymv.h index 0576bc1f..16f94d6f 100644 --- a/test/routines/level2/xsymv.h +++ b/test/routines/level2/xsymv.h @@ -93,8 +93,8 @@ class TestXsymv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsymv(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXsymv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, args.beta, diff --git a/test/routines/level2/xsyr.h b/test/routines/level2/xsyr.h index 062eea5a..a66dd271 100644 --- a/test/routines/level2/xsyr.h +++ b/test/routines/level2/xsyr.h @@ -88,8 +88,8 @@ class TestXsyr { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsyr(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXsyr(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.a_mat(), args.a_offset, args.a_ld, diff --git a/test/routines/level2/xsyr2.h b/test/routines/level2/xsyr2.h index 50bc3cea..a36815e5 100644 --- a/test/routines/level2/xsyr2.h +++ b/test/routines/level2/xsyr2.h @@ -93,8 +93,8 @@ class TestXsyr2 { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsyr2(static_cast(args.layout), - static_cast(args.triangle), + auto status = clblasXsyr2(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), args.n, args.alpha, buffers.x_vec(), args.x_offset, args.x_inc, buffers.y_vec(), args.y_offset, args.y_inc, diff --git a/test/routines/level2/xtbmv.h b/test/routines/level2/xtbmv.h index 600b4131..1425b60b 100644 --- a/test/routines/level2/xtbmv.h +++ b/test/routines/level2/xtbmv.h @@ -87,10 +87,10 @@ class TestXtbmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXtbmv(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), - static_cast(args.diagonal), + auto status = clblasXtbmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), + convertToCLBLAS(args.diagonal), args.n, args.kl, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, diff --git a/test/routines/level2/xtpmv.h b/test/routines/level2/xtpmv.h index fc0cf393..a834b437 100644 --- a/test/routines/level2/xtpmv.h +++ b/test/routines/level2/xtpmv.h @@ -87,10 +87,10 @@ class TestXtpmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXtpmv(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), - static_cast(args.diagonal), + auto status = clblasXtpmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), + convertToCLBLAS(args.diagonal), args.n, buffers.ap_mat(), args.ap_offset, buffers.x_vec(), args.x_offset, args.x_inc, diff --git a/test/routines/level2/xtrmv.h b/test/routines/level2/xtrmv.h index fec72124..cd502d5d 100644 --- a/test/routines/level2/xtrmv.h +++ b/test/routines/level2/xtrmv.h @@ -87,10 +87,10 @@ class TestXtrmv { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXtrmv(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), - static_cast(args.diagonal), + auto status = clblasXtrmv(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), + convertToCLBLAS(args.diagonal), args.n, buffers.a_mat(), args.a_offset, args.a_ld, buffers.x_vec(), args.x_offset, args.x_inc, diff --git a/test/routines/level3/xgemm.h b/test/routines/level3/xgemm.h index 49a92936..10fc2803 100644 --- a/test/routines/level3/xgemm.h +++ b/test/routines/level3/xgemm.h @@ -101,9 +101,9 @@ class TestXgemm { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXgemm(static_cast(args.layout), - static_cast(args.a_transpose), - static_cast(args.b_transpose), + auto status = clblasXgemm(convertToCLBLAS(args.layout), + convertToCLBLAS(args.a_transpose), + convertToCLBLAS(args.b_transpose), args.m, args.n, args.k, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.b_mat(), args.b_offset, args.b_ld, args.beta, diff --git a/test/routines/level3/xhemm.h b/test/routines/level3/xhemm.h index 40538417..edc71024 100644 --- a/test/routines/level3/xhemm.h +++ b/test/routines/level3/xhemm.h @@ -101,9 +101,9 @@ class TestXhemm { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXhemm(static_cast(args.layout), - static_cast(args.side), - static_cast(args.triangle), + auto status = clblasXhemm(convertToCLBLAS(args.layout), + convertToCLBLAS(args.side), + convertToCLBLAS(args.triangle), args.m, args.n, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.b_mat(), args.b_offset, args.b_ld, args.beta, diff --git a/test/routines/level3/xher2k.h b/test/routines/level3/xher2k.h index 1ea2ad36..a78e1293 100644 --- a/test/routines/level3/xher2k.h +++ b/test/routines/level3/xher2k.h @@ -101,9 +101,9 @@ class TestXher2k { auto queue_plain = queue(); auto event = cl_event{}; auto alpha2 = T{args.alpha, args.alpha}; - auto status = clblasXher2k(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), + auto status = clblasXher2k(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), args.n, args.k, alpha2, buffers.a_mat(), args.a_offset, args.a_ld, buffers.b_mat(), args.b_offset, args.b_ld, args.beta, diff --git a/test/routines/level3/xherk.h b/test/routines/level3/xherk.h index 75a7c405..245293d6 100644 --- a/test/routines/level3/xherk.h +++ b/test/routines/level3/xherk.h @@ -91,9 +91,9 @@ class TestXherk { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXherk(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), + auto status = clblasXherk(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), args.n, args.k, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, args.beta, buffers.c_mat(), args.c_offset, args.c_ld, diff --git a/test/routines/level3/xsymm.h b/test/routines/level3/xsymm.h index f867c238..e638b735 100644 --- a/test/routines/level3/xsymm.h +++ b/test/routines/level3/xsymm.h @@ -101,9 +101,9 @@ class TestXsymm { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsymm(static_cast(args.layout), - static_cast(args.side), - static_cast(args.triangle), + auto status = clblasXsymm(convertToCLBLAS(args.layout), + convertToCLBLAS(args.side), + convertToCLBLAS(args.triangle), args.m, args.n, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.b_mat(), args.b_offset, args.b_ld, args.beta, diff --git a/test/routines/level3/xsyr2k.h b/test/routines/level3/xsyr2k.h index be4e1851..abac20f4 100644 --- a/test/routines/level3/xsyr2k.h +++ b/test/routines/level3/xsyr2k.h @@ -99,9 +99,9 @@ class TestXsyr2k { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsyr2k(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), + auto status = clblasXsyr2k(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), args.n, args.k, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.b_mat(), args.b_offset, args.b_ld, args.beta, diff --git a/test/routines/level3/xsyrk.h b/test/routines/level3/xsyrk.h index 7675e2aa..8a5fcb5f 100644 --- a/test/routines/level3/xsyrk.h +++ b/test/routines/level3/xsyrk.h @@ -91,9 +91,9 @@ class TestXsyrk { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXsyrk(static_cast(args.layout), - static_cast(args.triangle), - static_cast(args.a_transpose), + auto status = clblasXsyrk(convertToCLBLAS(args.layout), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), args.n, args.k, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, args.beta, buffers.c_mat(), args.c_offset, args.c_ld, diff --git a/test/routines/level3/xtrmm.h b/test/routines/level3/xtrmm.h index a085cb15..7c9c21bc 100644 --- a/test/routines/level3/xtrmm.h +++ b/test/routines/level3/xtrmm.h @@ -91,11 +91,11 @@ class TestXtrmm { static StatusCode RunReference1(const Arguments &args, Buffers &buffers, Queue &queue) { auto queue_plain = queue(); auto event = cl_event{}; - auto status = clblasXtrmm(static_cast(args.layout), - static_cast(args.side), - static_cast(args.triangle), - static_cast(args.a_transpose), - static_cast(args.diagonal), + auto status = clblasXtrmm(convertToCLBLAS(args.layout), + convertToCLBLAS(args.side), + convertToCLBLAS(args.triangle), + convertToCLBLAS(args.a_transpose), + convertToCLBLAS(args.diagonal), args.m, args.n, args.alpha, buffers.a_mat(), args.a_offset, args.a_ld, buffers.b_mat(), args.b_offset, args.b_ld, diff --git a/test/wrapper_clblas.h b/test/wrapper_clblas.h index a44466c6..23c55373 100644 --- a/test/wrapper_clblas.h +++ b/test/wrapper_clblas.h @@ -21,6 +21,13 @@ namespace clblast { +// Conversions from CLBlast types +clblasOrder convertToCLBLAS(const Layout v) { return (v == Layout::kRowMajor) ? clblasRowMajor : clblasColumnMajor; } +clblasTranspose convertToCLBLAS(const Transpose v) { return (v == Transpose::kNo) ? clblasNoTrans : (v == Transpose::kYes) ? clblasTrans : clblasConjTrans; } +clblasUplo convertToCLBLAS(const Triangle v) { return (v == Triangle::kUpper) ? clblasUpper : clblasLower; } +clblasDiag convertToCLBLAS(const Diagonal v) { return (v == Diagonal::kUnit) ? clblasUnit : clblasNonUnit; } +clblasSide convertToCLBLAS(const Side v) { return (v == Side::kLeft) ? clblasLeft : clblasRight; } + // ================================================================================================= // BLAS level-1 (vector-vector) routines // ================================================================================================= -- cgit v1.2.3