@@ -641,7 +641,6 @@ template <typename T> class ndarray {
641641 size_t size = lSize ();
642642 id idx = firstLocalIndex ();
643643 while (size--) {
644- std::cout << " idx: " << idx[0 ] << " , " << idx[1 ] << std::endl;
645644 callback (idx);
646645 idx.next (_gShape);
647646 }
@@ -713,12 +712,13 @@ template <typename T> class WaitPermute {
713712public:
714713 WaitPermute (SHARPY::Transceiver *tc, SHARPY::Transceiver::WaitHandle hdl,
715714 SHARPY::rank_type nRanks, std::vector<Parts> &&parts,
716- std::vector<int64_t > &&axes, ndarray<T> &&output,
717- std::vector<T> &&receiveBuffer, std::vector<int > &&receiveOffsets,
715+ std::vector<int64_t > &&axes, std::vector<int64_t > oGShape,
716+ ndarray<T> &&output, std::vector<T> &&receiveBuffer,
717+ std::vector<int > &&receiveOffsets,
718718 std::vector<int > &&receiveSizes)
719719 : tc(tc), hdl(hdl), nRanks(nRanks), parts(std::move(parts)),
720- axes (std::move(axes)), output (std::move(output )),
721- receiveBuffer(std::move(receiveBuffer)),
720+ axes (std::move(axes)), oGShape (std::move(oGShape )),
721+ output(std::move(output)), receiveBuffer(std::move(receiveBuffer)),
722722 receiveOffsets(std::move(receiveOffsets)),
723723 receiveSizes(std::move(receiveSizes)) {}
724724
@@ -735,8 +735,6 @@ template <typename T> class WaitPermute {
735735 std::vector<size_t > receiveRankBufferCount (nRanks, 0 );
736736 output.localIndices ([&](const id &outputIndex) {
737737 id inputIndex = outputIndex.permute (axes);
738- std::cout << " inputIndex: " << inputIndex[0 ] << " , " << inputIndex[1 ]
739- << std::endl;
740738 auto rank = getInputRank (parts, inputIndex[0 ]);
741739 auto &count = receiveRankBufferCount[rank];
742740 output[outputIndex] = receiveRankBuffer[rank][count++];
@@ -749,6 +747,7 @@ template <typename T> class WaitPermute {
749747 SHARPY::rank_type nRanks;
750748 std::vector<Parts> parts;
751749 std::vector<int64_t > axes;
750+ std::vector<int64_t > oGShape;
752751 ndarray<T> output;
753752 std::vector<T> receiveBuffer;
754753 std::vector<int > receiveOffsets;
@@ -893,8 +892,9 @@ WaitHandleBase *_idtr_copy_permute(SHARPY::DTypeId sharpytype,
893892 receiveSizes.data (), receiveOffsets.data ());
894893
895894 auto wait = WaitPermute (tc, hdl, nRanks, std::move (parts), std::move (axes),
896- std::move (output), std::move (receiveBuffer),
897- std::move (receiveOffsets), std::move (receiveSizes));
895+ std::move (oGShape), std::move (output),
896+ std::move (receiveBuffer), std::move (receiveOffsets),
897+ std::move (receiveSizes));
898898
899899 assert (parts.empty () && axes.empty () && receiveBuffer.empty () &&
900900 receiveOffsets.empty () && receiveSizes.empty ());
0 commit comments