speed up repmat.
This commit is contained in:
@@ -377,18 +377,23 @@ Matrix Aurora::repmat(const Matrix& aMatrix,int aRowTimes, int aColumnTimes)
|
||||
int column = aMatrix.getDimSize(1);
|
||||
double* originalData = aMatrix.getData();
|
||||
double* resultDataTemp = resultData;
|
||||
size_t step = row*complexStep;
|
||||
#pragma omp parallel for
|
||||
for(int i=0; i<column; ++i)
|
||||
{
|
||||
for(int j=1; j<=aRowTimes; ++j)
|
||||
double* origninalStart = originalData + i * step;
|
||||
for(int j=0; j<aRowTimes; ++j)
|
||||
{
|
||||
cblas_dcopy(row*complexStep,originalData, 1, resultDataTemp, 1);
|
||||
resultDataTemp += row*complexStep;
|
||||
double* copyStart = resultData + step * (i*aRowTimes + j);
|
||||
cblas_dcopy(step, origninalStart, 1, copyStart, 1);
|
||||
//resultDataTemp += row*complexStep;
|
||||
}
|
||||
originalData += row*complexStep;
|
||||
//originalData += step;
|
||||
}
|
||||
|
||||
resultDataTemp = resultData;
|
||||
int step = originalDataSize * aRowTimes;
|
||||
step = originalDataSize * aRowTimes;
|
||||
#pragma omp parallel for
|
||||
for(int i=1; i<aColumnTimes; ++i)
|
||||
{
|
||||
cblas_dcopy(step, resultData, 1, resultData + i*step, 1);
|
||||
|
||||
Reference in New Issue
Block a user