Tpetra parallel linear algebra
Version of the Day
|
Declaration and definition of Tpetra::Details::readAndDealOutTriples, which reads a Matrix Market file or input stream on one process, and distributes the resulting sparse matrix entries to the other processes. More...
#include "TpetraCore_config.h"
#include "Tpetra_Details_PackTriples.hpp"
#include "Kokkos_ArithTraits.hpp"
#include "Teuchos_MatrixMarket_generic.hpp"
#include "Teuchos_CommHelpers.hpp"
#include <iostream>
#include <typeinfo>
Go to the source code of this file.
Classes | |
struct | Tpetra::Details::Impl::ReadLine< SC, GO, isComplex > |
Implementation of the readLine stand-alone function in this namespace (see below). More... | |
struct | Tpetra::Details::Impl::ReadLine< SC, GO, true > |
Complex-arithmetic partial specialization of ReadLine. More... | |
struct | Tpetra::Details::Impl::ReadLine< SC, GO, false > |
Real-arithmetic partial specialization of ReadLine. More... | |
Namespaces | |
Tpetra | |
Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
Tpetra::Details | |
Namespace for Tpetra implementation details. | |
Functions | |
template<class OrdinalType , class RealType > | |
bool | Tpetra::Details::Impl::readComplexData (std::istream &istr, OrdinalType &rowIndex, OrdinalType &colIndex, RealType &realPart, RealType &imagPart, const std::size_t lineNumber, const bool tolerant) |
Read "<rowIndex> <colIndex> <realPart> <imagPart>" from a line. More... | |
template<class SC , class GO > | |
int | Tpetra::Details::Impl::readLine (std::function< int(const GO, const GO, const SC &)> processTriple, const std::string &line, const std::size_t lineNumber, const bool tolerant=false, std::ostream *errStrm=NULL, const bool debug=false) |
Take a line from the Matrix Market file or input stream, and process the sparse matrix entry in that line. More... | |
template<class SC , class GO > | |
int | Tpetra::Details::Impl::readTriples (std::istream &inputStream, std::size_t &curLineNum, std::size_t &numTriplesRead, std::function< int(const GO, const GO, const SC &)> processTriple, const std::size_t maxNumTriplesToRead, const bool tolerant=false, std::ostream *errStrm=NULL, const bool debug=false) |
Read at most numTriplesToRead triples from the given Matrix Market input stream, and pass along any resulting matrix entries to the given closure. More... | |
template<class SC , class GO > | |
int | Tpetra::Details::Impl::readAndSendOneBatchOfTriples (std::istream &inputStream, std::size_t &curLineNum, std::size_t &numEntRead,::Teuchos::ArrayRCP< int > &sizeBuf,::Teuchos::ArrayRCP< char > &msgBuf, std::vector< GO > &rowInds, std::vector< GO > &colInds, std::vector< SC > &vals, const std::size_t maxNumEntPerMsg, const int destRank, const ::Teuchos::Comm< int > &comm, const bool tolerant=false, std::ostream *errStrm=NULL, const bool debug=false) |
Read at most maxNumEntPerMsg sparse matrix entries from the input stream, and send them to the process with rank destRank. More... | |
template<class SC , class GO , class CommRequestPtr > | |
int | Tpetra::Details::Impl::recvOneBatchOfTriples (std::vector< GO > &rowInds, std::vector< GO > &colInds, std::vector< SC > &vals, int &numEnt,::Teuchos::ArrayRCP< int > &sizeBuf,::Teuchos::ArrayRCP< char > &msgBuf, CommRequestPtr &sizeReq, const int srcRank, const ::Teuchos::Comm< int > &comm, const bool tolerant=false, std::ostream *errStrm=NULL, const bool debug=false) |
Read at most maxNumEntPerMsg sparse matrix entries from the input stream, and send them to the process with rank destRank. More... | |
template<class SC , class GO > | |
int | Tpetra::Details::readAndDealOutTriples (std::istream &inputStream, std::size_t &curLineNum, std::size_t &totalNumEntRead, std::function< int(const GO, const GO, const SC &)> processTriple, const std::size_t maxNumEntPerMsg, const ::Teuchos::Comm< int > &comm, const bool tolerant=false, std::ostream *errStrm=NULL, const bool debug=false) |
On Process 0 in the given communicator, read sparse matrix entries (in chunks of at most maxNumEntPerMsg entries at a time) from the input stream, and "deal them out" to all other processes in the communicator. More... | |
Declaration and definition of Tpetra::Details::readAndDealOutTriples, which reads a Matrix Market file or input stream on one process, and distributes the resulting sparse matrix entries to the other processes.
Definition in file Tpetra_Details_ReadTriples.hpp.