Grid 0.7.0
Init.cc File Reference
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <signal.h>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <cstdlib>
#include <memory>
#include <Grid/Grid.h>
#include <Grid/util/CompilerCompatible.h>
#include <fenv.h>

Go to the source code of this file.

Data Structures

class  dlRegion

Macros

#define HOST_NAME_MAX
#define SIGLOG(A)
#define DIGIT(DIV)
#define NIBBLE(A)

Functions

 NAMESPACE_BEGIN (Grid)
char * GridHostname (void)
const CoordinateGridDefaultLatt (void)
const CoordinateGridDefaultMpi (void)
const Coordinate GridDefaultSimd (int dims, int nsimd)
std::string GridCmdOptionPayload (char **begin, char **end, const std::string &option)
bool GridCmdOptionExists (char **begin, char **end, const std::string &option)
void GridCmdOptionCSL (std::string str, std::vector< std::string > &vec)
template<class VectorInt>
void GridCmdOptionIntVector (const std::string &str, VectorInt &vec)
template void GridCmdOptionIntVector (const std::string &str, std::vector< int > &vec)
template void GridCmdOptionIntVector (const std::string &str, Coordinate &vec)
void GridCmdOptionInt (std::string &str, int &val)
void GridCmdOptionFloat (std::string &str, double &val)
void GridParseLayout (char **argv, int argc, Coordinate &latt_c, Coordinate &mpi_c)
template<class VectorInt>
std::string GridCmdVectorIntToString (const VectorInt &vec_in)
void GridBanner (void)
void Grid_init (int *argc, char ***argv)
void Grid_finalize (void)
void GridLogLayout ()
void sig_print_dig (uint32_t dig)
void sig_print_uint (uint32_t A)
void sig_print_hex (uint64_t A)
void Grid_generic_handler (int sig, siginfo_t *si, void *ptr)
void Grid_heartbeat_signal_handler (int sig, siginfo_t *si, void *ptr)
void Grid_usr_signal_handler (int sig, siginfo_t *si, void *ptr)
void Grid_fatal_signal_handler (int sig, siginfo_t *si, void *ptr)
void Grid_empty_signal_handler (int sig, siginfo_t *si, void *ptr)
void Grid_debug_heartbeat (void)
void Grid_heartbeat (void)
void Grid_exit_handler (void)
void Grid_debug_handler_init (void)
 NAMESPACE_END (Grid)

Variables

static Coordinate Grid_default_latt
static Coordinate Grid_default_mpi
char hostname [HOST_NAME_MAX+1]
static MemoryStats dbgMemStats
static int Grid_is_initialised
static int fileno_stdout
static int fileno_stderr
static int signal_delay
std::vector< dlRegiondlMap
void * Grid_backtrace_buffer [_NBACKTRACE]

Macro Definition Documentation

◆ HOST_NAME_MAX

#define HOST_NAME_MAX

Definition at line 85 of file Init.cc.

Referenced by Grid_init().

◆ SIGLOG

◆ DIGIT

#define DIGIT ( DIV)

Referenced by sig_print_uint().

◆ NIBBLE

#define NIBBLE ( A)

Referenced by sig_print_hex().

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ GridHostname()

char * GridHostname ( void )

◆ GridDefaultLatt()

◆ GridDefaultMpi()

◆ GridDefaultSimd()

const Coordinate GridDefaultSimd ( int dims,
int nsimd )

◆ GridCmdOptionPayload()

std::string GridCmdOptionPayload ( char ** begin,
char ** end,
const std::string & option )

◆ GridCmdOptionExists()

bool GridCmdOptionExists ( char ** begin,
char ** end,
const std::string & option )

◆ GridCmdOptionCSL()

void GridCmdOptionCSL ( std::string str,
std::vector< std::string > & vec )

Definition at line 142 of file Init.cc.

Referenced by Grid_init().

◆ GridCmdOptionIntVector() [1/3]

template<class VectorInt>
void GridCmdOptionIntVector ( const std::string & str,
VectorInt & vec )

◆ GridCmdOptionIntVector() [2/3]

template void GridCmdOptionIntVector ( const std::string & str,
std::vector< int > & vec )

◆ GridCmdOptionIntVector() [3/3]

template void GridCmdOptionIntVector ( const std::string & str,
Coordinate & vec )

◆ GridCmdOptionInt()

void GridCmdOptionInt ( std::string & str,
int & val )

Definition at line 176 of file Init.cc.

Referenced by Grid_init(), and GridParseLayout().

◆ GridCmdOptionFloat()

void GridCmdOptionFloat ( std::string & str,
double & val )

Definition at line 183 of file Init.cc.

◆ GridParseLayout()

◆ GridCmdVectorIntToString()

template<class VectorInt>
std::string GridCmdVectorIntToString ( const VectorInt & vec_in)

Definition at line 245 of file Init.cc.

Referenced by Grid_init(), and GridLogLayout().

◆ GridBanner()

void GridBanner ( void )

Definition at line 262 of file Init.cc.

References printHash().

Referenced by Grid_init().

◆ Grid_init()

void Grid_init ( int * argc,
char *** argv )

Definition at line 316 of file Init.cc.

References acceleratorInit(), CartesianCommunicator::BarrierWorld(), FlightRecorder::ChecksumComms, FlightRecorder::ChecksumCommsSend, StaggeredKernelsStatic::Comms, WilsonKernelsStatic::Comms, StaggeredKernelsStatic::CommsAndCompute, WilsonKernelsStatic::CommsAndCompute, StaggeredKernelsStatic::CommsThenCompute, WilsonKernelsStatic::CommsThenCompute, dbgMemStats, MemoryProfiler::debug, MemoryManager::DeviceMaxBytes, dlMap, dlRegion::end, fileno_stderr, fileno_stdout, GridThread::GetThreads(), Logger::GlobalStopWatch, Grid_debug_handler_init(), Grid_debug_heartbeat(), Grid_default_latt, Grid_default_mpi, Grid_heartbeat(), Grid_is_initialised, Grid_quiesce_nodes(), GridBanner(), GridCmdOptionCSL(), GridCmdOptionExists(), GridCmdOptionInt(), GridCmdOptionPayload(), GridCmdVectorIntToString(), GridDefaultMpi(), GridDefaultSimd(), GridLogConfigure(), GridLogMessage, GridLogTimestamp(), GridParseLayout(), HOST_NAME_MAX, hostname, GlobalSharedMemory::HPEhypercube, GlobalSharedMemory::Hugepages, CartesianCommunicator::Init(), MemoryManager::Init(), MemoryManager::InitMessage(), FlightRecorder::LoggingModeRecord, GlobalSharedMemory::MAX_MPI_SHM_BYTES, dlRegion::name, CartesianCommunicator::nCommThreads, Grid_simd< complex< double >, SIMD_Dtype >::Nsimd(), Grid_simd< complex< float >, SIMD_Ftype >::Nsimd(), Grid_simd< double, SIMD_Dtype >::Nsimd(), Grid_simd< float, SIMD_Ftype >::Nsimd(), dlRegion::offset, StaggeredKernelsStatic::Opt, WilsonKernelsStatic::Opt, StaggeredKernelsStatic::OptGeneric, WilsonKernelsStatic::OptGeneric, StaggeredKernelsStatic::OptHandUnroll, WilsonKernelsStatic::OptHandUnroll, StaggeredKernelsStatic::OptInlineAsm, WilsonKernelsStatic::OptInlineAsm, FlightRecorder::PrintEntireLog, CartesianCommunicator::RankWorld(), FlightRecorder::SetLoggingMode(), signal_delay, dlRegion::size, dlRegion::start, MemoryProfiler::stats, and Stencil_force_mpi.

◆ Grid_finalize()

void Grid_finalize ( void )

Definition at line 620 of file Init.cc.

References Grid_is_initialised, Grid_unquiesce_nodes(), and GridLogMessage.

◆ GridLogLayout()

void GridLogLayout ( )

◆ sig_print_dig()

void sig_print_dig ( uint32_t dig)

Definition at line 647 of file Init.cc.

References SIGLOG.

Referenced by sig_print_hex().

◆ sig_print_uint()

void sig_print_uint ( uint32_t A)

Definition at line 654 of file Init.cc.

References DIGIT, and SIGLOG.

Referenced by Grid_generic_handler(), and Grid_usr_signal_handler().

◆ sig_print_hex()

void sig_print_hex ( uint64_t A)

Definition at line 671 of file Init.cc.

References NIBBLE, sig_print_dig(), and SIGLOG.

Referenced by Grid_generic_handler().

◆ Grid_generic_handler()

◆ Grid_heartbeat_signal_handler()

void Grid_heartbeat_signal_handler ( int sig,
siginfo_t * si,
void * ptr )

Definition at line 771 of file Init.cc.

References Grid_generic_handler(), and SIGLOG.

◆ Grid_usr_signal_handler()

void Grid_usr_signal_handler ( int sig,
siginfo_t * si,
void * ptr )

Definition at line 776 of file Init.cc.

References Grid_generic_handler(), sig_print_uint(), SIGLOG, and signal_delay.

Referenced by Grid_debug_handler_init(), and Grid_debug_heartbeat().

◆ Grid_fatal_signal_handler()

void Grid_fatal_signal_handler ( int sig,
siginfo_t * si,
void * ptr )

Definition at line 789 of file Init.cc.

References Grid_generic_handler(), and SIGLOG.

Referenced by Grid_debug_handler_init().

◆ Grid_empty_signal_handler()

void Grid_empty_signal_handler ( int sig,
siginfo_t * si,
void * ptr )

Definition at line 796 of file Init.cc.

Referenced by Grid_heartbeat().

◆ Grid_debug_heartbeat()

void Grid_debug_heartbeat ( void )

Definition at line 801 of file Init.cc.

References Grid_usr_signal_handler().

Referenced by Grid_init().

◆ Grid_heartbeat()

void Grid_heartbeat ( void )

Definition at line 817 of file Init.cc.

References Grid_empty_signal_handler().

Referenced by Grid_init().

◆ Grid_exit_handler()

void Grid_exit_handler ( void )

Definition at line 833 of file Init.cc.

References BACKTRACEFP.

◆ Grid_debug_handler_init()

void Grid_debug_handler_init ( void )

Definition at line 838 of file Init.cc.

References Grid_fatal_signal_handler(), and Grid_usr_signal_handler().

Referenced by Grid_init().

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )

Variable Documentation

◆ Grid_default_latt

Coordinate Grid_default_latt
static

Definition at line 94 of file Init.cc.

Referenced by Grid_init(), and GridDefaultLatt().

◆ Grid_default_mpi

Coordinate Grid_default_mpi
static

Definition at line 95 of file Init.cc.

Referenced by Grid_init(), and GridDefaultMpi().

◆ hostname

char hostname[HOST_NAME_MAX+1]

Definition at line 101 of file Init.cc.

Referenced by Grid_generic_handler(), Grid_init(), and GridHostname().

◆ dbgMemStats

MemoryStats dbgMemStats
static

Definition at line 256 of file Init.cc.

Referenced by Grid_init().

◆ Grid_is_initialised

int Grid_is_initialised
static

Definition at line 257 of file Init.cc.

Referenced by Grid_finalize(), and Grid_init().

◆ fileno_stdout

int fileno_stdout
static

Definition at line 303 of file Init.cc.

Referenced by Grid_init().

◆ fileno_stderr

int fileno_stderr
static

Definition at line 304 of file Init.cc.

Referenced by Grid_generic_handler(), and Grid_init().

◆ signal_delay

int signal_delay
static

Definition at line 305 of file Init.cc.

Referenced by Grid_init(), and Grid_usr_signal_handler().

◆ dlMap

std::vector<dlRegion> dlMap

Definition at line 314 of file Init.cc.

Referenced by Grid_generic_handler(), and Grid_init().

◆ Grid_backtrace_buffer

void* Grid_backtrace_buffer[_NBACKTRACE]

Definition at line 644 of file Init.cc.

Referenced by Grid_generic_handler().