Loading source/adios2/helper/adiosMemory.h +6 −5 Original line number Diff line number Diff line Loading @@ -189,11 +189,12 @@ void Resize(std::vector<T> &vec, const size_t dataSize, const bool debugMode, template <class T> int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool outIsRowMajor, const bool outIsLittleEndian, const Dims &inMemStart = Dims(), const Dims &inMemCount =Dims(),const Dims &outMemStart=Dims(), const Dims &outMemCount=Dims(), const bool safeMode = false); const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool outIsRowMajor, const bool outIsLittleEndian, const Dims &inMemStart = Dims(), const Dims &inMemCount =Dims(), const Dims &outMemStart=Dims(), const Dims &outMemCount=Dims(), const bool safeMode = false); template <class T> size_t PayloadSize(const T *data, const Dims &count) noexcept; Loading source/adios2/helper/adiosMemory.inl +9 −9 Original line number Diff line number Diff line Loading @@ -640,8 +640,8 @@ static void NdCopyIterDFDynamicRevEndian(const char *inBase, char *outBase, template <class T> int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool outIsRowMajor, const bool outIsLittleEndian, const Dims &inMemStart, const Dims &inMemCount, const Dims &outMemStart,const Dims &outMemCount, Loading Loading @@ -786,13 +786,13 @@ int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, GetOvlpCount(ovlpCount, ovlpStart, ovlpEnd); if (!HasOvlp(ovlpStart, ovlpEnd)) return 1; // no overlap found GetIoStrides(inStride, inMemCount, sizeof(T)); GetIoStrides(outStride, outMemCount, sizeof(T)); GetIoOvlpGapSize(inOvlpGapSize, inStride, inMemCount, ovlpCount); GetIoOvlpGapSize(outOvlpGapSize, outStride, outMemCount, ovlpCount); GetInOvlpBase(inOvlpBase, in, inMemStart, inStride, ovlpStart); GetOutOvlpBase(outOvlpBase, out, outMemStart, outStride, ovlpStart); minContDim = GetMinContDim(inMemCount, outMemCount, ovlpCount); GetIoStrides(inStride, inMemCountNC, sizeof(T)); GetIoStrides(outStride, outMemCountNC, sizeof(T)); GetIoOvlpGapSize(inOvlpGapSize, inStride, inMemCountNC, ovlpCount); GetIoOvlpGapSize(outOvlpGapSize, outStride, outMemCountNC, ovlpCount); GetInOvlpBase(inOvlpBase, in, inMemStartNC, inStride, ovlpStart); GetOutOvlpBase(outOvlpBase, out, outMemStartNC, outStride, ovlpStart); minContDim = GetMinContDim(inMemCountNC, outMemCountNC, ovlpCount); blockSize = GetBlockSize(ovlpCount, minContDim, sizeof(T)); // same endianess mode: most optimized, contiguous data copying // algorithm used. Loading Loading
source/adios2/helper/adiosMemory.h +6 −5 Original line number Diff line number Diff line Loading @@ -189,11 +189,12 @@ void Resize(std::vector<T> &vec, const size_t dataSize, const bool debugMode, template <class T> int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool outIsRowMajor, const bool outIsLittleEndian, const Dims &inMemStart = Dims(), const Dims &inMemCount =Dims(),const Dims &outMemStart=Dims(), const Dims &outMemCount=Dims(), const bool safeMode = false); const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool outIsRowMajor, const bool outIsLittleEndian, const Dims &inMemStart = Dims(), const Dims &inMemCount =Dims(), const Dims &outMemStart=Dims(), const Dims &outMemCount=Dims(), const bool safeMode = false); template <class T> size_t PayloadSize(const T *data, const Dims &count) noexcept; Loading
source/adios2/helper/adiosMemory.inl +9 −9 Original line number Diff line number Diff line Loading @@ -640,8 +640,8 @@ static void NdCopyIterDFDynamicRevEndian(const char *inBase, char *outBase, template <class T> int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool inIsRowMajor, const bool inIsLittleEndian, char *out, const Dims &outStart, const Dims &outCount, const bool outIsRowMajor, const bool outIsLittleEndian, const Dims &inMemStart, const Dims &inMemCount, const Dims &outMemStart,const Dims &outMemCount, Loading Loading @@ -786,13 +786,13 @@ int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, GetOvlpCount(ovlpCount, ovlpStart, ovlpEnd); if (!HasOvlp(ovlpStart, ovlpEnd)) return 1; // no overlap found GetIoStrides(inStride, inMemCount, sizeof(T)); GetIoStrides(outStride, outMemCount, sizeof(T)); GetIoOvlpGapSize(inOvlpGapSize, inStride, inMemCount, ovlpCount); GetIoOvlpGapSize(outOvlpGapSize, outStride, outMemCount, ovlpCount); GetInOvlpBase(inOvlpBase, in, inMemStart, inStride, ovlpStart); GetOutOvlpBase(outOvlpBase, out, outMemStart, outStride, ovlpStart); minContDim = GetMinContDim(inMemCount, outMemCount, ovlpCount); GetIoStrides(inStride, inMemCountNC, sizeof(T)); GetIoStrides(outStride, outMemCountNC, sizeof(T)); GetIoOvlpGapSize(inOvlpGapSize, inStride, inMemCountNC, ovlpCount); GetIoOvlpGapSize(outOvlpGapSize, outStride, outMemCountNC, ovlpCount); GetInOvlpBase(inOvlpBase, in, inMemStartNC, inStride, ovlpStart); GetOutOvlpBase(outOvlpBase, out, outMemStartNC, outStride, ovlpStart); minContDim = GetMinContDim(inMemCountNC, outMemCountNC, ovlpCount); blockSize = GetBlockSize(ovlpCount, minContDim, sizeof(T)); // same endianess mode: most optimized, contiguous data copying // algorithm used. Loading