LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
dim_helpers.hpp File Reference
#include <functional>
#include <lbann/utils/exception.hpp>
#include <numeric>
Include dependency graph for dim_helpers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 lbann
 
 lbann::details
 

Functions

template<typename Out , typename In >
auto lbann::get_linear_size_as (std::vector< In > const &dims)
 Compute the linear size of the given dimensions with a specific type. More...
 
template<typename Out , typename In >
auto lbann::get_linear_size_as (size_t ndims, In const *dims)
 
template<typename T >
auto lbann::get_linear_size (std::vector< T > const &dims)
 
template<typename T >
auto lbann::get_linear_size (size_t ndims, T const *dims)
 
template<typename T >
auto lbann::get_strides (size_t ndims, T const *dims, T const &lowest_stride)
 
template<typename T >
auto lbann::get_strides (std::vector< T > const &dims, T const &lowest_stride)
 
template<typename T >
auto lbann::get_packed_strides (size_t ndims, T const *dims)
 
template<typename T >
auto lbann::get_packed_strides (std::vector< T > const &dims)
 
template<typename To , typename From >
auto lbann::vector_cast (std::vector< From > const &from)
 
template<typename T , typename... ArgTs>
std::enable_if_t< std::is_integral_v< T > > lbann::details::accumulate_dims (std::vector< size_t > &acc, T const &x, ArgTs &&... rest)
 
template<typename T , typename... ArgTs>
std::enable_if_t< std::is_integral_v< T > > lbann::details::accumulate_dims (std::vector< size_t > &acc, std::vector< T > const &x, ArgTs &&... rest)
 
void lbann::details::accumulate_dims (std::vector< size_t > &)
 
template<typename... ArgTs>
std::vector< size_t > lbann::splice_dims (ArgTs &&... args)