Beispiel #1
0
void FC_FUNC_(clamdblaszgemmex_low, CLAMDBLASDGEMMEX_LOW)(int * order,
							  int * transA, 
							  int * transB, 
							  cl_long * M,
							  cl_long * N,
							  cl_long * K,
							  DoubleComplex * alpha,
							  const cl_mem * A,
							  cl_long * offA,
							  cl_long * lda,
							  const cl_mem * B,
							  cl_long * offB,
							  cl_long * ldb, 
							  DoubleComplex * beta, 
							  cl_mem * C, 
							  cl_long * offC, 
							  cl_long * ldc, 
							  cl_command_queue * CommandQueue,
							  int * status){

  *status = clAmdBlasZgemmEx((clAmdBlasOrder) *order, (clAmdBlasTranspose) *transA, (clAmdBlasTranspose) *transB, 
			     (size_t) *M, (size_t) *N, (size_t) *K, *alpha, 
			     *A, (size_t) *offA, (size_t) *lda, 
			     *B, (size_t) *offB, (size_t) *ldb, *beta, 
			     *C, (size_t) *offC, (size_t) *ldc, 
			     1, CommandQueue, 0, NULL, NULL);
}
    magma_err_t
magma_zgemm_trace(
        magma_trans_t transA, magma_trans_t transB,
        magma_int_t m, magma_int_t n, magma_int_t k,
        magmaDoubleComplex alpha, magmaDoubleComplex_const_ptr dA, size_t dA_offset, magma_int_t lda,
        magmaDoubleComplex_const_ptr dB, size_t dB_offset, magma_int_t ldb,
        magmaDoubleComplex beta,  magmaDoubleComplex_ptr       dC, size_t dC_offset, magma_int_t ldc,
        magma_queue_t queue, magma_event_t* event )
{
    cl_int err = clAmdBlasZgemmEx(
            clAmdBlasColumnMajor,
            amdblas_trans_const( transA ),
            amdblas_trans_const( transB ),
            m, n, k,
            alpha, dA, dA_offset, lda,
            dB, dB_offset, ldb,
            beta,  dC, dC_offset, ldc,
            1, &queue, 0, NULL, event );
    clFlush(queue);
    return err;
}