LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::details::DefaultMemoryMatrixBuilder< T, L, D > Class Template Reference

#include <matrix_builder.hpp>

Inheritance diagram for lbann::details::DefaultMemoryMatrixBuilder< T, L, D >:
[legend]
Collaboration diagram for lbann::details::DefaultMemoryMatrixBuilder< T, L, D >:
[legend]

Public Types

using size_type = typename base_type::size_type
 
using matrix_ptr_type = typename base_type::matrix_ptr_type
 
- Public Types inherited from lbann::details::MatrixBuilder< T >
using size_type = El::Int
 
using data_type = T
 
using matrix_type = El::AbstractDistMatrix< T >
 
using matrix_ptr_type = std::unique_ptr< matrix_type >
 

Public Member Functions

matrix_ptr_type MakeEmpty (El::Grid const &g, El::Int root) const final
 
matrix_ptr_type MakeWithSize (El::Grid const &g, El::Int root, size_type height, size_type width) const final
 
- Public Member Functions inherited from lbann::details::MatrixBuilder< T >
virtual ~MatrixBuilder ()=default
 

Private Types

using base_type = MatrixBuilder< T >
 
using concrete_matrix_type = meta::IfThenElse< L==data_layout::DATA_PARALLEL, El::DistMatrix< T, El::STAR, El::VC, El::ELEMENT, D >, El::DistMatrix< T, El::MC, El::MR, El::ELEMENT, D > >
 

Static Private Attributes

static constexpr unsigned memory_mode_
 

Detailed Description

template<typename T, data_layout L, El::Device D>
class lbann::details::DefaultMemoryMatrixBuilder< T, L, D >

Definition at line 65 of file matrix_builder.hpp.

Member Typedef Documentation

◆ base_type

template<typename T , data_layout L, El::Device D>
using lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::base_type = MatrixBuilder<T>
private

Definition at line 67 of file matrix_builder.hpp.

◆ concrete_matrix_type

template<typename T , data_layout L, El::Device D>
using lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::concrete_matrix_type = meta::IfThenElse<L == data_layout::DATA_PARALLEL, El::DistMatrix<T, El::STAR, El::VC, El::ELEMENT, D>, El::DistMatrix<T, El::MC, El::MR, El::ELEMENT, D> >
private

Definition at line 71 of file matrix_builder.hpp.

◆ matrix_ptr_type

template<typename T , data_layout L, El::Device D>
using lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::matrix_ptr_type = typename base_type::matrix_ptr_type

Definition at line 87 of file matrix_builder.hpp.

◆ size_type

template<typename T , data_layout L, El::Device D>
using lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::size_type = typename base_type::size_type

Definition at line 86 of file matrix_builder.hpp.

Member Function Documentation

◆ MakeEmpty()

template<typename T , data_layout L, El::Device D>
matrix_ptr_type lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::MakeEmpty ( El::Grid const &  g,
El::Int  root 
) const
inlinefinalvirtual

Implements lbann::details::MatrixBuilder< T >.

Definition at line 90 of file matrix_builder.hpp.

◆ MakeWithSize()

template<typename T , data_layout L, El::Device D>
matrix_ptr_type lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::MakeWithSize ( El::Grid const &  g,
El::Int  root,
size_type  height,
size_type  width 
) const
inlinefinalvirtual

Implements lbann::details::MatrixBuilder< T >.

Definition at line 97 of file matrix_builder.hpp.

Member Data Documentation

◆ memory_mode_

template<typename T , data_layout L, El::Device D>
constexpr unsigned lbann::details::DefaultMemoryMatrixBuilder< T, L, D >::memory_mode_
staticprivate
Initial value:
=
El::DefaultMemoryMode<El::Device::CPU>()

Definition at line 81 of file matrix_builder.hpp.


The documentation for this class was generated from the following file: