LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
random_number_generators.hpp File Reference
#include "lbann/comm.hpp"
#include "lbann/utils/exception.hpp"
#include <atomic>
#include <random>
#include <thread>
Include dependency graph for random_number_generators.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lbann::io_rng_t
 
struct  lbann::locked_io_rng_ref
 

Namespaces

 lbann
 

Typedefs

using lbann::rng_gen = std::mt19937
 
using lbann::fast_rng_gen = std::minstd_rand
 

Functions

rng_gen & lbann::get_generator ()
 
fast_rng_gen & lbann::get_fast_generator ()
 
fast_rng_gen & lbann::get_ltfb_generator ()
 
rng_gen & lbann::get_data_seq_generator ()
 
int lbann::get_num_io_generators ()
 Returns the number of provisioned I/O generators. More...
 
locked_io_rng_ref lbann::set_io_generators_local_index (size_t idx)
 Sets the local index for a thread to access the correct I/O RNGs. More...
 
rng_gen & lbann::get_io_generator ()
 
fast_rng_gen & lbann::get_fast_io_generator ()
 
void lbann::init_random (int seed=-1, int num_io_RNGs=1, lbann_comm *comm=nullptr)
 Initialize the random number generator (with optional seed). More...
 
void lbann::init_data_seq_random (int seed=-1)
 
void lbann::init_ltfb_random (int seed=-1)
 
void lbann::init_io_random (int seed=-1, int num_io_RNGs=1)