Loading src/TNL/Matrices/DistributedSpMV.h +1 −1 Original line number Diff line number Diff line Loading @@ -176,7 +176,7 @@ public: continue; if( commPatternStarts( rank, j ) < commPatternEnds( rank, j ) ) commRequests.push_back( CommunicatorType::IRecv( &globalBuffer[ commPatternStarts( rank, j ) ], globalBuffer.getPointer( commPatternStarts( rank, j ) ), commPatternEnds( rank, j ) - commPatternStarts( rank, j ), j, 0, group ) ); } Loading src/TNL/Matrices/ThreePartVector.h +22 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,17 @@ public: return right[ i - left.getSize() - middle.getSize() ]; } __cuda_callable__ const Real* getPointer( Index i ) const { if( i < left.getSize() ) return &left.getData()[ i ]; else if( i < left.getSize() + middle.getSize() ) return &middle.getData()[ i - left.getSize() ]; else return &right.getData()[ i - left.getSize() - middle.getSize() ]; } friend std::ostream& operator<<( std::ostream& str, const ThreePartVectorView& v ) { str << "[\n\tleft: " << v.left << ",\n\tmiddle: " << v.middle << ",\n\tright: " << v.right << "\n]"; Loading Loading @@ -143,6 +154,17 @@ public: return right[ i - left.getSize() - middle.getSize() ]; } __cuda_callable__ const Real* getPointer( Index i ) const { if( i < left.getSize() ) return &left.getData()[ i ]; else if( i < left.getSize() + middle.getSize() ) return &middle.getData()[ i - left.getSize() ]; else return &right.getData()[ i - left.getSize() - middle.getSize() ]; } friend std::ostream& operator<<( std::ostream& str, const ThreePartVector& v ) { str << "[\n\tleft: " << v.left << ",\n\tmiddle: " << v.middle << ",\n\tright: " << v.right << "\n]"; Loading src/UnitTests/Matrices/SparseMatrixTest.h +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ using CSR_cuda_int = TNL::Matrices::CSR< int, TNL::Devices::Cuda, int >; TEST( SparseMatrixTest, CSR_perforSORIterationTest_Host ) { test_PerformSORIteration< CSR_host_float >(); //test_PerformSORIteration< CSR_host_float >(); } #ifdef HAVE_CUDA Loading Loading
src/TNL/Matrices/DistributedSpMV.h +1 −1 Original line number Diff line number Diff line Loading @@ -176,7 +176,7 @@ public: continue; if( commPatternStarts( rank, j ) < commPatternEnds( rank, j ) ) commRequests.push_back( CommunicatorType::IRecv( &globalBuffer[ commPatternStarts( rank, j ) ], globalBuffer.getPointer( commPatternStarts( rank, j ) ), commPatternEnds( rank, j ) - commPatternStarts( rank, j ), j, 0, group ) ); } Loading
src/TNL/Matrices/ThreePartVector.h +22 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,17 @@ public: return right[ i - left.getSize() - middle.getSize() ]; } __cuda_callable__ const Real* getPointer( Index i ) const { if( i < left.getSize() ) return &left.getData()[ i ]; else if( i < left.getSize() + middle.getSize() ) return &middle.getData()[ i - left.getSize() ]; else return &right.getData()[ i - left.getSize() - middle.getSize() ]; } friend std::ostream& operator<<( std::ostream& str, const ThreePartVectorView& v ) { str << "[\n\tleft: " << v.left << ",\n\tmiddle: " << v.middle << ",\n\tright: " << v.right << "\n]"; Loading Loading @@ -143,6 +154,17 @@ public: return right[ i - left.getSize() - middle.getSize() ]; } __cuda_callable__ const Real* getPointer( Index i ) const { if( i < left.getSize() ) return &left.getData()[ i ]; else if( i < left.getSize() + middle.getSize() ) return &middle.getData()[ i - left.getSize() ]; else return &right.getData()[ i - left.getSize() - middle.getSize() ]; } friend std::ostream& operator<<( std::ostream& str, const ThreePartVector& v ) { str << "[\n\tleft: " << v.left << ",\n\tmiddle: " << v.middle << ",\n\tright: " << v.right << "\n]"; Loading
src/UnitTests/Matrices/SparseMatrixTest.h +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ using CSR_cuda_int = TNL::Matrices::CSR< int, TNL::Devices::Cuda, int >; TEST( SparseMatrixTest, CSR_perforSORIterationTest_Host ) { test_PerformSORIteration< CSR_host_float >(); //test_PerformSORIteration< CSR_host_float >(); } #ifdef HAVE_CUDA Loading