summaryrefslogtreecommitdiff
path: root/include/clblast_c.h
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-03-23 20:49:28 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2016-03-23 20:49:28 +0100
commit49822c8ead3313e88a08f31162870e88f8ad2bb5 (patch)
tree675c4cb2998b3e449fd39255fc02fa6a28b588b0 /include/clblast_c.h
parent706c6987c6044d49770874e5752968a3384a5300 (diff)
Fixed the C-api export to be able to properly build a DLL on Windows
Diffstat (limited to 'include/clblast_c.h')
-rw-r--r--include/clblast_c.h1501
1 files changed, 759 insertions, 742 deletions
diff --git a/include/clblast_c.h b/include/clblast_c.h
index fac39a58..c5395e51 100644
--- a/include/clblast_c.h
+++ b/include/clblast_c.h
@@ -22,6 +22,19 @@
#include <CL/opencl.h>
#endif
+// Exports library functions under Windows when building a DLL. See also:
+// https://msdn.microsoft.com/en-us/library/a90k134d.aspx
+#ifdef _WIN32
+ #define PUBLIC_API __declspec(dllexport)
+#else
+ #define PUBLIC_API
+#endif
+
+// The C interface
+#ifdef __cplusplus
+extern "C" {
+#endif
+
// =================================================================================================
// Status codes. These codes can be returned by functions declared in this header file. The error
@@ -84,838 +97,842 @@ typedef enum Precision_ { kHalf = 16, kSingle = 32, kDouble = 64,
// =================================================================================================
// Swap two vectors: SSWAP/DSWAP/CSWAP/ZSWAP
-StatusCode CLBlastSswap(const size_t n,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDswap(const size_t n,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCswap(const size_t n,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZswap(const size_t n,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSswap(const size_t n,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDswap(const size_t n,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCswap(const size_t n,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZswap(const size_t n,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Vector scaling: SSCAL/DSCAL/CSCAL/ZSCAL
-StatusCode CLBlastSscal(const size_t n,
- const float alpha,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDscal(const size_t n,
- const double alpha,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCscal(const size_t n,
- const cl_float2 alpha,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZscal(const size_t n,
- const cl_double2 alpha,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSscal(const size_t n,
+ const float alpha,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDscal(const size_t n,
+ const double alpha,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCscal(const size_t n,
+ const cl_float2 alpha,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZscal(const size_t n,
+ const cl_double2 alpha,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// Vector copy: SCOPY/DCOPY/CCOPY/ZCOPY
-StatusCode CLBlastScopy(const size_t n,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDcopy(const size_t n,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCcopy(const size_t n,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZcopy(const size_t n,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastScopy(const size_t n,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDcopy(const size_t n,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCcopy(const size_t n,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZcopy(const size_t n,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Vector-times-constant plus vector: SAXPY/DAXPY/CAXPY/ZAXPY
-StatusCode CLBlastSaxpy(const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDaxpy(const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCaxpy(const size_t n,
- const cl_float2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZaxpy(const size_t n,
- const cl_double2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSaxpy(const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDaxpy(const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCaxpy(const size_t n,
+ const cl_float2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZaxpy(const size_t n,
+ const cl_double2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Dot product of two vectors: SDOT/DDOT
-StatusCode CLBlastSdot(const size_t n,
- cl_mem dot_buffer, const size_t dot_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDdot(const size_t n,
- cl_mem dot_buffer, const size_t dot_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSdot(const size_t n,
+ cl_mem dot_buffer, const size_t dot_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDdot(const size_t n,
+ cl_mem dot_buffer, const size_t dot_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Dot product of two complex vectors: CDOTU/ZDOTU
-StatusCode CLBlastCdotu(const size_t n,
- cl_mem dot_buffer, const size_t dot_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZdotu(const size_t n,
- cl_mem dot_buffer, const size_t dot_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCdotu(const size_t n,
+ cl_mem dot_buffer, const size_t dot_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZdotu(const size_t n,
+ cl_mem dot_buffer, const size_t dot_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Dot product of two complex vectors, one conjugated: CDOTC/ZDOTC
-StatusCode CLBlastCdotc(const size_t n,
- cl_mem dot_buffer, const size_t dot_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZdotc(const size_t n,
- cl_mem dot_buffer, const size_t dot_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCdotc(const size_t n,
+ cl_mem dot_buffer, const size_t dot_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZdotc(const size_t n,
+ cl_mem dot_buffer, const size_t dot_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// =================================================================================================
// BLAS level-2 (matrix-vector) routines
// =================================================================================================
// General matrix-vector multiplication: SGEMV/DGEMV/CGEMV/ZGEMV
-StatusCode CLBlastSgemv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const float beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDgemv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const double beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCgemv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_float2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZgemv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_double2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSgemv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const float beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDgemv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const double beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCgemv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_float2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZgemv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_double2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// General banded matrix-vector multiplication: SGBMV/DGBMV/CGBMV/ZGBMV
-StatusCode CLBlastSgbmv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n, const size_t kl, const size_t ku,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const float beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDgbmv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n, const size_t kl, const size_t ku,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const double beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCgbmv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n, const size_t kl, const size_t ku,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_float2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZgbmv(const Layout layout, const Transpose a_transpose,
- const size_t m, const size_t n, const size_t kl, const size_t ku,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_double2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSgbmv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n, const size_t kl, const size_t ku,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const float beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDgbmv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n, const size_t kl, const size_t ku,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const double beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCgbmv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n, const size_t kl, const size_t ku,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_float2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZgbmv(const Layout layout, const Transpose a_transpose,
+ const size_t m, const size_t n, const size_t kl, const size_t ku,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_double2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Hermitian matrix-vector multiplication: CHEMV/ZHEMV
-StatusCode CLBlastChemv(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_float2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZhemv(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_double2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastChemv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_float2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZhemv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_double2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Hermitian banded matrix-vector multiplication: CHBMV/ZHBMV
-StatusCode CLBlastChbmv(const Layout layout, const Triangle triangle,
- const size_t n, const size_t k,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_float2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZhbmv(const Layout layout, const Triangle triangle,
- const size_t n, const size_t k,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_double2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastChbmv(const Layout layout, const Triangle triangle,
+ const size_t n, const size_t k,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_float2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZhbmv(const Layout layout, const Triangle triangle,
+ const size_t n, const size_t k,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_double2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Hermitian packed matrix-vector multiplication: CHPMV/ZHPMV
-StatusCode CLBlastChpmv(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_float2 alpha,
- const cl_mem ap_buffer, const size_t ap_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_float2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZhpmv(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_double2 alpha,
- const cl_mem ap_buffer, const size_t ap_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_double2 beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastChpmv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_float2 alpha,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_float2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZhpmv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_double2 alpha,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_double2 beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Symmetric matrix-vector multiplication: SSYMV/DSYMV
-StatusCode CLBlastSsymv(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const float beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsymv(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const double beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsymv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const float beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsymv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const double beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Symmetric banded matrix-vector multiplication: SSBMV/DSBMV
-StatusCode CLBlastSsbmv(const Layout layout, const Triangle triangle,
- const size_t n, const size_t k,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const float beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsbmv(const Layout layout, const Triangle triangle,
- const size_t n, const size_t k,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const double beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsbmv(const Layout layout, const Triangle triangle,
+ const size_t n, const size_t k,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const float beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsbmv(const Layout layout, const Triangle triangle,
+ const size_t n, const size_t k,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const double beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Symmetric packed matrix-vector multiplication: SSPMV/DSPMV
-StatusCode CLBlastSspmv(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem ap_buffer, const size_t ap_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const float beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDspmv(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem ap_buffer, const size_t ap_offset,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const double beta,
- cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSspmv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const float beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDspmv(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const double beta,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
// Triangular matrix-vector multiplication: STRMV/DTRMV/CTRMV/ZTRMV
-StatusCode CLBlastStrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtrmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// Triangular banded matrix-vector multiplication: STBMV/DTBMV/CTBMV/ZTBMV
-StatusCode CLBlastStbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtbmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// Triangular packed matrix-vector multiplication: STPMV/DTPMV/CTPMV/ZTPMV
-StatusCode CLBlastStpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtpmv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// Solves a triangular system of equations: STRSV/DTRSV/CTRSV/ZTRSV
-StatusCode CLBlastStrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtrsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// Solves a banded triangular system of equations: STBSV/DTBSV/CTBSV/ZTBSV
-StatusCode CLBlastStbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n, const size_t k,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtbsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n, const size_t k,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// Solves a packed triangular system of equations: STPSV/DTPSV/CTPSV/ZTPSV
-StatusCode CLBlastStpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t n,
- const cl_mem ap_buffer, const size_t ap_offset,
- cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtpsv(const Layout layout, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t n,
+ const cl_mem ap_buffer, const size_t ap_offset,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
// General rank-1 matrix update: SGER/DGER
-StatusCode CLBlastSger(const Layout layout,
- const size_t m, const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDger(const Layout layout,
- const size_t m, const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSger(const Layout layout,
+ const size_t m, const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDger(const Layout layout,
+ const size_t m, const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// General rank-1 complex matrix update: CGERU/ZGERU
-StatusCode CLBlastCgeru(const Layout layout,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZgeru(const Layout layout,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCgeru(const Layout layout,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZgeru(const Layout layout,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// General rank-1 complex conjugated matrix update: CGERC/ZGERC
-StatusCode CLBlastCgerc(const Layout layout,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZgerc(const Layout layout,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCgerc(const Layout layout,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZgerc(const Layout layout,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// Hermitian rank-1 matrix update: CHER/ZHER
-StatusCode CLBlastCher(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZher(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCher(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZher(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// Hermitian packed rank-1 matrix update: CHPR/ZHPR
-StatusCode CLBlastChpr(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZhpr(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastChpr(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZhpr(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
// Hermitian rank-2 matrix update: CHER2/ZHER2
-StatusCode CLBlastCher2(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_float2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZher2(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_double2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCher2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_float2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZher2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_double2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// Hermitian packed rank-2 matrix update: CHPR2/ZHPR2
-StatusCode CLBlastChpr2(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_float2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZhpr2(const Layout layout, const Triangle triangle,
- const size_t n,
- const cl_double2 alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastChpr2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_float2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZhpr2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const cl_double2 alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
// Symmetric rank-1 matrix update: SSYR/DSYR
-StatusCode CLBlastSsyr(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsyr(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsyr(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsyr(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// Symmetric packed rank-1 matrix update: SSPR/DSPR
-StatusCode CLBlastSspr(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDspr(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSspr(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDspr(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
// Symmetric rank-2 matrix update: SSYR2/DSYR2
-StatusCode CLBlastSsyr2(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsyr2(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsyr2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsyr2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_command_queue* queue, cl_event* event);
// Symmetric packed rank-2 matrix update: SSPR2/DSPR2
-StatusCode CLBlastSspr2(const Layout layout, const Triangle triangle,
- const size_t n,
- const float alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDspr2(const Layout layout, const Triangle triangle,
- const size_t n,
- const double alpha,
- const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
- const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
- cl_mem ap_buffer, const size_t ap_offset,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSspr2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const float alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDspr2(const Layout layout, const Triangle triangle,
+ const size_t n,
+ const double alpha,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ const cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_mem ap_buffer, const size_t ap_offset,
+ cl_command_queue* queue, cl_event* event);
// =================================================================================================
// BLAS level-3 (matrix-matrix) routines
// =================================================================================================
// General matrix-matrix multiplication: SGEMM/DGEMM/CGEMM/ZGEMM
-StatusCode CLBlastSgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
- const size_t m, const size_t n, const size_t k,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const float beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
- const size_t m, const size_t n, const size_t k,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const double beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
- const size_t m, const size_t n, const size_t k,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_float2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
- const size_t m, const size_t n, const size_t k,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_double2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
+ const size_t m, const size_t n, const size_t k,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const float beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
+ const size_t m, const size_t n, const size_t k,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const double beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
+ const size_t m, const size_t n, const size_t k,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_float2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZgemm(const Layout layout, const Transpose a_transpose, const Transpose b_transpose,
+ const size_t m, const size_t n, const size_t k,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_double2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Symmetric matrix-matrix multiplication: SSYMM/DSYMM/CSYMM/ZSYMM
-StatusCode CLBlastSsymm(const Layout layout, const Side side, const Triangle triangle,
- const size_t m, const size_t n,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const float beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsymm(const Layout layout, const Side side, const Triangle triangle,
- const size_t m, const size_t n,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const double beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCsymm(const Layout layout, const Side side, const Triangle triangle,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_float2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZsymm(const Layout layout, const Side side, const Triangle triangle,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_double2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsymm(const Layout layout, const Side side, const Triangle triangle,
+ const size_t m, const size_t n,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const float beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsymm(const Layout layout, const Side side, const Triangle triangle,
+ const size_t m, const size_t n,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const double beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCsymm(const Layout layout, const Side side, const Triangle triangle,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_float2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZsymm(const Layout layout, const Side side, const Triangle triangle,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_double2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Hermitian matrix-matrix multiplication: CHEMM/ZHEMM
-StatusCode CLBlastChemm(const Layout layout, const Side side, const Triangle triangle,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_float2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZhemm(const Layout layout, const Side side, const Triangle triangle,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_double2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastChemm(const Layout layout, const Side side, const Triangle triangle,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_float2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZhemm(const Layout layout, const Side side, const Triangle triangle,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_double2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Rank-K update of a symmetric matrix: SSYRK/DSYRK/CSYRK/ZSYRK
-StatusCode CLBlastSsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
- const size_t n, const size_t k,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const float beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
- const size_t n, const size_t k,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const double beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
- const size_t n, const size_t k,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_float2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
- const size_t n, const size_t k,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_double2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
+ const size_t n, const size_t k,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const float beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
+ const size_t n, const size_t k,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const double beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
+ const size_t n, const size_t k,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_float2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZsyrk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
+ const size_t n, const size_t k,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_double2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Rank-K update of a hermitian matrix: CHERK/ZHERK
-StatusCode CLBlastCherk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
- const size_t n, const size_t k,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const float beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZherk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
- const size_t n, const size_t k,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const double beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCherk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
+ const size_t n, const size_t k,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const float beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZherk(const Layout layout, const Triangle triangle, const Transpose a_transpose,
+ const size_t n, const size_t k,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const double beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Rank-2K update of a symmetric matrix: SSYR2K/DSYR2K/CSYR2K/ZSYR2K
-StatusCode CLBlastSsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
- const size_t n, const size_t k,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const float beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
- const size_t n, const size_t k,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const double beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
- const size_t n, const size_t k,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_float2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
- const size_t n, const size_t k,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const cl_double2 beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastSsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
+ const size_t n, const size_t k,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const float beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
+ const size_t n, const size_t k,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const double beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
+ const size_t n, const size_t k,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_float2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZsyr2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
+ const size_t n, const size_t k,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const cl_double2 beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Rank-2K update of a hermitian matrix: CHER2K/ZHER2K
-StatusCode CLBlastCher2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
- const size_t n, const size_t k,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const float beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZher2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
- const size_t n, const size_t k,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- const double beta,
- cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCher2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
+ const size_t n, const size_t k,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const float beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZher2k(const Layout layout, const Triangle triangle, const Transpose ab_transpose,
+ const size_t n, const size_t k,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ const cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ const double beta,
+ cl_mem c_buffer, const size_t c_offset, const size_t c_ld,
+ cl_command_queue* queue, cl_event* event);
// Triangular matrix-matrix multiplication: STRMM/DTRMM/CTRMM/ZTRMM
-StatusCode CLBlastStrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtrmm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
// Solves a triangular system of equations: STRSM/DTRSM/CTRSM/ZTRSM
-StatusCode CLBlastStrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const float alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastDtrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const double alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastCtrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const cl_float2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
-StatusCode CLBlastZtrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
- const size_t m, const size_t n,
- const cl_double2 alpha,
- const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
- cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
- cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastStrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const float alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastDtrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const double alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastCtrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const cl_float2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
+StatusCode PUBLIC_API CLBlastZtrsm(const Layout layout, const Side side, const Triangle triangle, const Transpose a_transpose, const Diagonal diagonal,
+ const size_t m, const size_t n,
+ const cl_double2 alpha,
+ const cl_mem a_buffer, const size_t a_offset, const size_t a_ld,
+ cl_mem b_buffer, const size_t b_offset, const size_t b_ld,
+ cl_command_queue* queue, cl_event* event);
// =================================================================================================
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
// CLBLAST_CLBLAST_C_H_
#endif