Improve MatrixSlice assign performance.

This commit is contained in:
Krad
2023-04-24 15:22:47 +08:00
parent 99b8d81210
commit dbfca1a6f6

View File

@@ -542,12 +542,19 @@ namespace Aurora {
switch (mSliceMode) {
case 2:{
if (mType== Normal) {
cblas_dcopy_batch_strided(mSize, slice.mData, slice.mStride, slice.mStride2, mData, mStride,
mStride2, mSize2);
// cblas_dcopy_batch_strided(mSize, slice.mData, slice.mStride, slice.mStride2, mData, mStride,
// mStride2, mSize2);
for (int i = 0; i < mSize2; ++i) {
cblas_dcopy(mSize,slice.mData + i*slice.mStride2,slice.mStride,mData+i*mStride2,mStride);
}
}
else {
cblas_zcopy_batch_strided(mSize,(std::complex<double>*)slice.mData,slice.mStride,slice.mStride2,
(std::complex<double>*)mData,mStride,mStride2,mSize2);
// cblas_zcopy_batch_strided(mSize,(std::complex<double>*)slice.mData,slice.mStride,slice.mStride2,
// (std::complex<double>*)mData,mStride,mStride2,mSize2);
for (int i = 0; i < mSize2; ++i) {
cblas_zcopy(mSize, (std::complex<double> *) (slice.mData + i * slice.mStride2), slice.mStride,
(std::complex<double> *) (mData + i * mStride2), mStride);
}
}
break;
}