This commit is contained in:
kradchen
2023-06-08 14:14:20 +08:00

View File

@@ -377,18 +377,23 @@ Matrix Aurora::repmat(const Matrix& aMatrix,int aRowTimes, int aColumnTimes)
int column = aMatrix.getDimSize(1); int column = aMatrix.getDimSize(1);
double* originalData = aMatrix.getData(); double* originalData = aMatrix.getData();
double* resultDataTemp = resultData; double* resultDataTemp = resultData;
size_t step = row*complexStep;
#pragma omp parallel for
for(int i=0; i<column; ++i) 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); double* copyStart = resultData + step * (i*aRowTimes + j);
resultDataTemp += row*complexStep; cblas_dcopy(step, origninalStart, 1, copyStart, 1);
//resultDataTemp += row*complexStep;
} }
originalData += row*complexStep; //originalData += step;
} }
resultDataTemp = resultData; resultDataTemp = resultData;
int step = originalDataSize * aRowTimes; step = originalDataSize * aRowTimes;
#pragma omp parallel for
for(int i=1; i<aColumnTimes; ++i) for(int i=1; i<aColumnTimes; ++i)
{ {
cblas_dcopy(step, resultData, 1, resultData + i*step, 1); cblas_dcopy(step, resultData, 1, resultData + i*step, 1);