LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
random.hpp File Reference
Include dependency graph for random.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lbann::details::random_uniform_impl< Generator, T >
 
struct  lbann::details::random_uniform_impl< Generator, float >
 
struct  lbann::details::random_uniform_impl< Generator, double >
 
class  lbann::rng< DistType, DType >
 

Namespaces

 lbann
 
 lbann::details
 

Macros

#define PROTO(T)
 
#define LBANN_INSTANTIATE_CPU_HALF
 
#define LBANN_INSTANTIATE_GPU_HALF
 

Enumerations

enum  lbann::probability_distribution { lbann::probability_distribution::invalid, lbann::probability_distribution::gaussian, lbann::probability_distribution::bernoulli, lbann::probability_distribution::uniform }
 

Functions

template<typename Generator , typename T >
lbann::fast_rand_int (Generator &g, T max)
 
template<typename Generator , typename T >
lbann::fast_rand_int_pow2 (Generator &g, T max)
 
template<typename T , typename Generator >
lbann::random_uniform (Generator &g)
 Generate uniform random value in the range [0, 1). More...
 
template<typename TensorDataType >
void lbann::gaussian_fill (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, TensorDataType mean=0.0, TensorDataType stddev=1.0)
 
template<typename TensorDataType >
void lbann::bernoulli_fill (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, double p=0.5)
 
template<typename TensorDataType >
void lbann::uniform_fill (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, TensorDataType center=0.0, TensorDataType radius=1.0)
 
template<typename TensorDataType >
void lbann::gaussian_fill_procdet (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, TensorDataType mean=0.0, TensorDataType stddev=1.0)
 
template<typename TensorDataType >
void lbann::bernoulli_fill_procdet (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, double p=0.5)
 
template<typename TensorDataType >
void lbann::uniform_fill_procdet (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, TensorDataType center=0.0, TensorDataType radius=1.0)
 
template<typename TensorDataType >
void lbann::gaussian_fill_parallel (El::AbstractDistMatrix< TensorDataType > &mat, El::Int m, El::Int n, TensorDataType mean=0.0, TensorDataType stddev=1.0)
 
bool lbann::save_rng_to_checkpoint_shared (persist &p, lbann_comm *comm)
 
bool lbann::save_rng_to_checkpoint_distributed (persist &p, lbann_comm *comm)
 
bool lbann::load_rng_from_checkpoint (persist &p, const lbann_comm *comm)
 
template<typename DType = DataType>
void lbann::rng_bernoulli (const float p, DistMat *m)
 
 lbann::PROTO (float)
 
 lbann::PROTO (double)
 

Macro Definition Documentation

◆ LBANN_INSTANTIATE_CPU_HALF

#define LBANN_INSTANTIATE_CPU_HALF

Definition at line 299 of file random.hpp.

◆ LBANN_INSTANTIATE_GPU_HALF

#define LBANN_INSTANTIATE_GPU_HALF

Definition at line 300 of file random.hpp.

◆ PROTO

#define PROTO (   T)

Definition at line 260 of file random.hpp.