CNugteren · GitHub

@CNugteren

Conflicts:
	src/backend/opencl/blas_clblas.cpp

pavanky

ENDIF(${OpenCL_FOUND})
OPTION(BUILD_OPENCL "Build ArrayFire with a OpenCL backend" OFF)
OPTION(USE_CLBLAST "Build ArrayFire with the CLBlast BLAS library for the OpenCL backend" OFF)
OPTION(USE_CLBLAS "Build ArrayFire with the clBLAS BLAS library for the OpenCL backend" ON)
ENDIF()

IF(USE_CLBLAST)
OPTION(USE_SYSTEM_CLBLAST "Use system CLBlast" OFF)
ENDIF()

IF(USE_CLBLAS)
OPTION(USE_SYSTEM_CLBLAS "Use system clBLAS" OFF)
…OpenCL CMakeLists.txt

umar456

FIND_PACKAGE(OpenCL REQUIRED)

OPTION(USE_CLBLAST "Build ArrayFire with the CLBlast BLAS library for the OpenCL backend" OFF)
OPTION(USE_CLBLAS "Build ArrayFire with the clBLAS BLAS library for the OpenCL backend" ON)
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/

#if defined(USE_CLBLAS)
c_neg_one,
dAT(j-1,j+1), lddat,
dAT(j, j-1), lddat,
OPENCL_BLAS_CHECK(gpu_blas_trsm(OPENCL_BLAS_SIDE_RIGHT, OPENCL_BLAS_TRIANGLE_UPPER, OPENCL_BLAS_NO_TRANS, OPENCL_BLAS_UNIT_DIAGONAL,
dAT(j, j+1), lddat,
1, &queue, 0, nullptr, &event));
}
OPENCL_BLAS_CHECK(gpu_blas_trsm(OPENCL_BLAS_SIDE_RIGHT, OPENCL_BLAS_TRIANGLE_UPPER, OPENCL_BLAS_NO_TRANS, OPENCL_BLAS_UNIT_DIAGONAL,
}
else {
if (n > s * nb) {
OPENCL_BLAS_CHECK(gpu_blas_trsm(OPENCL_BLAS_SIDE_RIGHT, OPENCL_BLAS_TRIANGLE_UPPER, OPENCL_BLAS_NO_TRANS, OPENCL_BLAS_UNIT_DIAGONAL,
#define OPENCL_BLAS_CHECK CLBLAST_CHECK

// Transposing
#define OPENCL_BLAS_TRANS_TYPE clblast::Transpose // the type
struct gpu_blas_gemm_func
{
clblast::StatusCode operator() (
const clblast::Transpose a_transpose, const clblast::Transpose b_transpose,

// This file contains the common interface for Magma OpenCL BLAS
// functions. They can be implemented in different back-ends,
// such as CLBlast or clBLAS.
cl_int err;
*ptrPtr = clCreateBuffer(opencl::getContext()(), CL_MEM_READ_WRITE, size, NULL, &err );
if ( err != clblasSuccess ) {
if ( err != CL_SUCCESS ) {
const dim4 rStrides = rhs.strides();
if(rDims[bColDim] == 1) {
CLBLAST_CHECK(
clblast::Gemv(clblast::Layout::kColMajor, lOpts,
…las.cpp by taking advantage of the magma_blas header files
…selection cache string

Open

4 tasks

pavanky

case AF_MAT_CTRANS : out = clblasConjTrans; break;
case AF_MAT_NONE : return OPENCL_BLAS_NO_TRANS;
case AF_MAT_TRANS : return OPENCL_BLAS_TRANS;
case AF_MAT_CTRANS : return OPENCL_BLAS_CONJ_TRANS;

// This file contains the common interface for Magma OpenCL BLAS
// functions. They can be implemented in different back-ends,
// such as CLBlast or clBLAS.

@CNugteren

@mlloreda

@CNugteren

Read the original on github.com ↗