MagmaDNN  1.0
c++NeuralNetworkFramework
matmul.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include "tensor/tensor.h"
12 #include "cblas.h"
13 #if defined(_HAS_CUDA_)
14 #include "magma.h"
15 #endif
16 
17 
18 #define MAGMA_SGEMM_ROWMAJOR(A,B,C,m,n,k,alpha,beta,transf_A,transf_B,lda,ldb,ldc) \
19  magma_sgemm(transf_B, transf_A, n, m, k, alpha, B, ldb, A, lda, beta, C, ldc)
20 
21 #define MAGMA_DGEMM_ROWMAJOR(A,B,C,m,n,k,alpha,beta,transf_A,transf_B,lda,ldb,ldc) \
22  magma_dgemm(transf_B, transf_A, n, m, k, alpha, B, ldb, A, lda, beta, C, ldc)
23 
24 
25 namespace magmadnn {
26 namespace math {
27 
28 template <typename T>
29 void matmul(T alpha, bool trans_A, Tensor<T> *A, bool trans_B, Tensor<T> *B, T beta, Tensor<T> *C);
30 
31 }
32 }
Definition: addop.cpp:11
MatmulOp< T > * matmul(Operation< T > *a, Operation< T > *b, bool needs_grad)
Definition: matmulop.cpp:128