Parallel Utilities¶
The parallel HARP library uses the Elemental library for dense linear algebra, and also includes a custom class for handling distributed sparse matrices.
Communication Helper Functions¶
Linear Algebra¶
- void mpi_matrix_zero(mpi_matrix & mat)
- void local_matrix_zero(elem_matrix_local & mat)
- void mpi_eigen_decompose(mpi_matrix const & invcov, mpi_matrix & D, mpi_matrix & W, bool regularize)
- void mpi_eigen_compose(eigen_op op, mpi_matrix const & D, mpi_matrix const & W, mpi_matrix & out)
- void mpi_column_norm(mpi_matrix const & mat, mpi_matrix & S)
- void mpi_apply_norm(mpi_matrix const & S, mpi_matrix & mat)
- void mpi_apply_inverse_norm(mpi_matrix const & S, mpi_matrix & mat)
- void mpi_norm(mpi_matrix const & D, mpi_matrix const & W, mpi_matrix & S)
- void mpi_sparse_mv_trans(mpi_matrix_sparse const & AT, mpi_matrix const & in, elem_matrix_local & out)
- void mpi_gang_distribute(mpi_matrix const & mat, mpi_matrix & gmat)
- void mpi_gang_accum(mpi_matrix const & gmat, mpi_matrix & mat)
- class harp::mpi_matrix_sparse_block
- Public Functions
- mpi_matrix_sparse_block()
- ~mpi_matrix_sparse_block()
- Public Members
- size_t firstrow
- size_t rows
- size_t vals
- std::vector< size_t > row
- std::vector< size_t > col
- std::vector< size_t > row_offset
- std::vector< size_t > row_nnz
- vector_double data
- Friends
- friend class boost::serialization::access
- class harp::mpi_matrix_sparse
- Public Functions
- mpi_matrix_sparse(boost::mpi::communicator const & comm, size_t rows, size_t cols)
- ~mpi_matrix_sparse()
- void clear()
- boost::mpi::communicator const & comm() const
- mpi_matrix_sparse_block & block()
- mpi_matrix_sparse_block const & block() const
- size_t rows() const
- size_t cols() const