CudaMatrix Operator logic patch1
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include <iostream>
|
||||
#include <cstddef>
|
||||
#include <cuda_runtime.h>
|
||||
#include "CudaMatrixPrivate.cuh"
|
||||
|
||||
using namespace Aurora;
|
||||
|
||||
@@ -239,4 +240,14 @@ bool CudaMatrix::setBlockValue(int aDim,int aBeginIndx, int aEndIndex,float valu
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif // USE_CUDA
|
||||
|
||||
CudaMatrix CudaMatrix::operator+(const CudaMatrix &aMatrix) const{
|
||||
if (this->getDataSize() != aMatrix.getDataSize()) return CudaMatrix();
|
||||
float* data = nullptr;
|
||||
unsigned long long size = getDataSize() * getValueType();
|
||||
cudaMalloc((void**)&data, sizeof(float) * size);
|
||||
auto out = CudaMatrix::fromRawData(data, getDimSize(0), getDimSize(1), getDimSize(2), getValueType());
|
||||
unaryAdd(this->getData(),aMatrix.getData(),out.getData(),this->getDataSize());
|
||||
return out;
|
||||
}
|
||||
#endif // USE_CUDA
|
||||
|
||||
Reference in New Issue
Block a user