diff --git a/test/wrapper_clblas.h b/test/wrapper_clblas.h index d106e4c3..93157638 100644 --- a/test/wrapper_clblas.h +++ b/test/wrapper_clblas.h @@ -76,33 +76,33 @@ clblasStatus clblasXaxpy( // Calls {clblasSgemv, clblasDgemv, clblasCgemv, clblasZgemv} with the arguments forwarded. clblasStatus clblasXgemv( - clblasOrder layout, clblasTranspose tran_a, size_t m, size_t n, float alpha, + clblasOrder layout, clblasTranspose a_transpose, size_t m, size_t n, float alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem x_vec, size_t x_offset, size_t x_inc, float beta, const cl_mem y_vec, size_t y_offset, size_t y_inc, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasSgemv(layout, tran_a, m, n, alpha, + return clblasSgemv(layout, a_transpose, m, n, alpha, a_mat, a_offset, a_ld, x_vec, x_offset, static_cast(x_inc), beta, y_vec, y_offset, static_cast(y_inc), num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXgemv( - clblasOrder layout, clblasTranspose tran_a, size_t m, size_t n, double alpha, + clblasOrder layout, clblasTranspose a_transpose, size_t m, size_t n, double alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem x_vec, size_t x_offset, size_t x_inc, double beta, const cl_mem y_vec, size_t y_offset, size_t y_inc, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasDgemv(layout, tran_a, m, n, alpha, + return clblasDgemv(layout, a_transpose, m, n, alpha, a_mat, a_offset, a_ld, x_vec, x_offset, static_cast(x_inc), beta, y_vec, y_offset, static_cast(y_inc), num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXgemv( - clblasOrder layout, clblasTranspose tran_a, size_t m, size_t n, float2 alpha, + clblasOrder layout, clblasTranspose a_transpose, size_t m, size_t n, float2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem x_vec, size_t x_offset, size_t x_inc, float2 beta, const cl_mem y_vec, size_t y_offset, size_t y_inc, @@ -110,14 +110,14 @@ clblasStatus clblasXgemv( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_float2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_float2{{beta.real(), beta.imag()}}; - return clblasCgemv(layout, tran_a, m, n, cl_alpha, + return clblasCgemv(layout, a_transpose, m, n, cl_alpha, a_mat, a_offset, a_ld, x_vec, x_offset, static_cast(x_inc), cl_beta, y_vec, y_offset, static_cast(y_inc), num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXgemv( - clblasOrder layout, clblasTranspose tran_a, size_t m, size_t n, double2 alpha, + clblasOrder layout, clblasTranspose a_transpose, size_t m, size_t n, double2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem x_vec, size_t x_offset, size_t x_inc, double2 beta, const cl_mem y_vec, size_t y_offset, size_t y_inc, @@ -125,7 +125,7 @@ clblasStatus clblasXgemv( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_double2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_double2{{beta.real(), beta.imag()}}; - return clblasZgemv(layout, tran_a, m, n, cl_alpha, + return clblasZgemv(layout, a_transpose, m, n, cl_alpha, a_mat, a_offset, a_ld, x_vec, x_offset, static_cast(x_inc), cl_beta, y_vec, y_offset, static_cast(y_inc), @@ -137,14 +137,14 @@ clblasStatus clblasXgemv( // This calls {clblasSgemm, clblasDgemm, clblasCgemm, clblasZgemm} with the arguments forwarded. clblasStatus clblasXgemm( - clblasOrder layout, clblasTranspose tran_a, clblasTranspose tran_b, + clblasOrder layout, clblasTranspose a_transpose, clblasTranspose b_transpose, size_t m, size_t n, size_t k, float alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, float beta, cl_mem c_mat, size_t c_offset, size_t c_ld, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasSgemm(layout, tran_a, tran_b, + return clblasSgemm(layout, a_transpose, b_transpose, m, n, k, alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, beta, @@ -152,14 +152,14 @@ clblasStatus clblasXgemm( num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXgemm( - clblasOrder layout, clblasTranspose tran_a, clblasTranspose tran_b, + clblasOrder layout, clblasTranspose a_transpose, clblasTranspose b_transpose, size_t m, size_t n, size_t k, double alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, double beta, cl_mem c_mat, size_t c_offset, size_t c_ld, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasDgemm(layout, tran_a, tran_b, + return clblasDgemm(layout, a_transpose, b_transpose, m, n, k, alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, beta, @@ -167,7 +167,7 @@ clblasStatus clblasXgemm( num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXgemm( - clblasOrder layout, clblasTranspose tran_a, clblasTranspose tran_b, + clblasOrder layout, clblasTranspose a_transpose, clblasTranspose b_transpose, size_t m, size_t n, size_t k, float2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, float2 beta, @@ -176,7 +176,7 @@ clblasStatus clblasXgemm( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_float2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_float2{{beta.real(), beta.imag()}}; - return clblasCgemm(layout, tran_a, tran_b, + return clblasCgemm(layout, a_transpose, b_transpose, m, n, k, cl_alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, cl_beta, @@ -184,7 +184,7 @@ clblasStatus clblasXgemm( num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXgemm( - clblasOrder layout, clblasTranspose tran_a, clblasTranspose tran_b, + clblasOrder layout, clblasTranspose a_transpose, clblasTranspose b_transpose, size_t m, size_t n, size_t k, double2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, double2 beta, @@ -193,7 +193,7 @@ clblasStatus clblasXgemm( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_double2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_double2{{beta.real(), beta.imag()}}; - return clblasZgemm(layout, tran_a, tran_b, + return clblasZgemm(layout, a_transpose, b_transpose, m, n, k, cl_alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, cl_beta, @@ -269,33 +269,33 @@ clblasStatus clblasXsymm( // This calls {clblasSsyrk, clblasDsyrk, clblasCsyrk, clblasZsyrk} with the arguments forwarded. clblasStatus clblasXsyrk( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_a, + clblasOrder layout, clblasUplo triangle, clblasTranspose a_transpose, size_t n, size_t k, float alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, float beta, cl_mem c_mat, size_t c_offset, size_t c_ld, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasSsyrk(layout, triangle, tran_a, + return clblasSsyrk(layout, triangle, a_transpose, n, k, alpha, a_mat, a_offset, a_ld, beta, c_mat, c_offset, c_ld, num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXsyrk( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_a, + clblasOrder layout, clblasUplo triangle, clblasTranspose a_transpose, size_t n, size_t k, double alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, double beta, cl_mem c_mat, size_t c_offset, size_t c_ld, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasDsyrk(layout, triangle, tran_a, + return clblasDsyrk(layout, triangle, a_transpose, n, k, alpha, a_mat, a_offset, a_ld, beta, c_mat, c_offset, c_ld, num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXsyrk( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_a, + clblasOrder layout, clblasUplo triangle, clblasTranspose a_transpose, size_t n, size_t k, float2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, float2 beta, cl_mem c_mat, size_t c_offset, size_t c_ld, @@ -303,14 +303,14 @@ clblasStatus clblasXsyrk( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_float2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_float2{{beta.real(), beta.imag()}}; - return clblasCsyrk(layout, triangle, tran_a, + return clblasCsyrk(layout, triangle, a_transpose, n, k, cl_alpha, a_mat, a_offset, a_ld, cl_beta, c_mat, c_offset, c_ld, num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXsyrk( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_a, + clblasOrder layout, clblasUplo triangle, clblasTranspose a_transpose, size_t n, size_t k, double2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, double2 beta, cl_mem c_mat, size_t c_offset, size_t c_ld, @@ -318,7 +318,7 @@ clblasStatus clblasXsyrk( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_double2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_double2{{beta.real(), beta.imag()}}; - return clblasZsyrk(layout, triangle, tran_a, + return clblasZsyrk(layout, triangle, a_transpose, n, k, cl_alpha, a_mat, a_offset, a_ld, cl_beta, c_mat, c_offset, c_ld, @@ -327,14 +327,14 @@ clblasStatus clblasXsyrk( // This calls {clblasSsyr2k, clblasDsyr2k, clblasCsyr2k, clblasZsyr2k} with the arguments forwarded. clblasStatus clblasXsyr2k( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_ab, + clblasOrder layout, clblasUplo triangle, clblasTranspose ab_transpose, size_t n, size_t k, float alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, float beta, cl_mem c_mat, size_t c_offset, size_t c_ld, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasSsyr2k(layout, triangle, tran_ab, + return clblasSsyr2k(layout, triangle, ab_transpose, n, k, alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, beta, @@ -342,14 +342,14 @@ clblasStatus clblasXsyr2k( num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXsyr2k( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_ab, + clblasOrder layout, clblasUplo triangle, clblasTranspose ab_transpose, size_t n, size_t k, double alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, double beta, cl_mem c_mat, size_t c_offset, size_t c_ld, cl_uint num_queues, cl_command_queue *queues, cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - return clblasDsyr2k(layout, triangle, tran_ab, + return clblasDsyr2k(layout, triangle, ab_transpose, n, k, alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, beta, @@ -357,7 +357,7 @@ clblasStatus clblasXsyr2k( num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXsyr2k( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_ab, + clblasOrder layout, clblasUplo triangle, clblasTranspose ab_transpose, size_t n, size_t k, float2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, float2 beta, @@ -366,7 +366,7 @@ clblasStatus clblasXsyr2k( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_float2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_float2{{beta.real(), beta.imag()}}; - return clblasCsyr2k(layout, triangle, tran_ab, + return clblasCsyr2k(layout, triangle, ab_transpose, n, k, cl_alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, cl_beta, @@ -374,7 +374,7 @@ clblasStatus clblasXsyr2k( num_queues, queues, num_wait_events, wait_events, events); } clblasStatus clblasXsyr2k( - clblasOrder layout, clblasUplo triangle, clblasTranspose tran_ab, + clblasOrder layout, clblasUplo triangle, clblasTranspose ab_transpose, size_t n, size_t k, double2 alpha, const cl_mem a_mat, size_t a_offset, size_t a_ld, const cl_mem b_mat, size_t b_offset, size_t b_ld, double2 beta, @@ -383,7 +383,7 @@ clblasStatus clblasXsyr2k( cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { auto cl_alpha = cl_double2{{alpha.real(), alpha.imag()}}; auto cl_beta = cl_double2{{beta.real(), beta.imag()}}; - return clblasZsyr2k(layout, triangle, tran_ab, + return clblasZsyr2k(layout, triangle, ab_transpose, n, k, cl_alpha, a_mat, a_offset, a_ld, b_mat, b_offset, b_ld, cl_beta, @@ -391,6 +391,126 @@ clblasStatus clblasXsyr2k( num_queues, queues, num_wait_events, wait_events, events); } +// This calls {clblasStrmm, clblasDtrmm, clblasCtrmm, clblasZtrmm} with the arguments forwarded. +clblasStatus clblasXtrmm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, float alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + return clblasStrmm(layout, side, triangle, a_transpose, diagonal, + m, n, alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} +clblasStatus clblasXtrmm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, double alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + return clblasDtrmm(layout, side, triangle, a_transpose, diagonal, + m, n, alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} +clblasStatus clblasXtrmm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, float2 alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + auto cl_alpha = cl_float2{{alpha.real(), alpha.imag()}}; + return clblasCtrmm(layout, side, triangle, a_transpose, diagonal, + m, n, cl_alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} +clblasStatus clblasXtrmm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, double2 alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + auto cl_alpha = cl_double2{{alpha.real(), alpha.imag()}}; + return clblasZtrmm(layout, side, triangle, a_transpose, diagonal, + m, n, cl_alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} + +// This calls {clblasStrsm, clblasDtrsm, clblasCtrsm, clblasZtrsm} with the arguments forwarded. +clblasStatus clblasXtrsm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, float alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + return clblasStrsm(layout, side, triangle, a_transpose, diagonal, + m, n, alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} +clblasStatus clblasXtrsm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, double alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + return clblasDtrsm(layout, side, triangle, a_transpose, diagonal, + m, n, alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} +clblasStatus clblasXtrsm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, float2 alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + auto cl_alpha = cl_float2{{alpha.real(), alpha.imag()}}; + return clblasCtrsm(layout, side, triangle, a_transpose, diagonal, + m, n, cl_alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} +clblasStatus clblasXtrsm( + clblasOrder layout, clblasSide side, clblasUplo triangle, + clblasTranspose a_transpose, clblasDiag diagonal, + size_t m, size_t n, double2 alpha, + const cl_mem a_mat, size_t a_offset, size_t a_ld, + const cl_mem b_mat, size_t b_offset, size_t b_ld, + cl_uint num_queues, cl_command_queue *queues, + cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { + auto cl_alpha = cl_double2{{alpha.real(), alpha.imag()}}; + return clblasZtrsm(layout, side, triangle, a_transpose, diagonal, + m, n, cl_alpha, + a_mat, a_offset, a_ld, + b_mat, b_offset, b_ld, + num_queues, queues, num_wait_events, wait_events, events); +} + // ================================================================================================= } // namespace clblast