Grid 0.7.0
Init.h
Go to the documentation of this file.
1/*************************************************************************************
2
3 Grid physics library, www.github.com/paboyle/Grid
4
5 Source file: ./lib/Init.h
6
7 Copyright (C) 2015
8
9Author: Peter Boyle <paboyle@ph.ed.ac.uk>
10Author: paboyle <paboyle@ph.ed.ac.uk>
11
12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2 of the License, or
15 (at your option) any later version.
16
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License along
23 with this program; if not, write to the Free Software Foundation, Inc.,
24 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25
26 See the full license in the file "LICENSE" in the top level distribution directory
27*************************************************************************************/
28/* END LEGAL */
29#pragma once
30
31
33
34void Grid_init(int *argc,char ***argv);
35void Grid_finalize(void);
36
37char * GridHostname(void);
38
39// internal, controled with --handle
40void Grid_sa_signal_handler(int sig,siginfo_t *si,void * ptr);
41void Grid_usr_signal_handler(int sig,siginfo_t *si,void * ptr);
42void Grid_empty_signal_handler(int sig,siginfo_t *si,void * ptr);
44void Grid_debug_heartbeat(void);
45void Grid_heartbeat(void);
46void Grid_quiesce_nodes(void);
47void Grid_unquiesce_nodes(void);
48
49const Coordinate GridDefaultSimd(int dims,int nsimd);
50const Coordinate &GridDefaultLatt(void);
51const Coordinate &GridDefaultMpi(void);
52const int &GridThreads(void) ;
53void GridSetThreads(int t) ;
54void GridLogTimestamp(int);
55void GridLogLayout();
56
57// Common parsing chores
58std::string GridCmdOptionPayload(char ** begin, char ** end, const std::string & option);
59bool GridCmdOptionExists(char** begin, char** end, const std::string& option);
60template<class VectorInt>
61std::string GridCmdVectorIntToString(const VectorInt & vec);
62void GridCmdOptionCSL(std::string str,std::vector<std::string> & vec);
63template<class VectorInt>
64void GridCmdOptionIntVector(const std::string &str,VectorInt & vec);
65void GridCmdOptionInt(std::string &str,int & val);
66void GridCmdOptionFloat(std::string &str,double & val);
67
68
69void GridParseLayout(char **argv,int argc,
70 std::vector<int> &latt,
71 std::vector<int> &simd,
72 std::vector<int> &mpi);
73
74void printHash(void);
75
76
77
79
AcceleratorVector< int, MaxDims > Coordinate
Definition Coordinate.h:95
bool GridCmdOptionExists(char **begin, char **end, const std::string &option)
Definition Init.cc:137
void printHash(void)
void Grid_finalize(void)
Definition Init.cc:620
char * GridHostname(void)
Definition Init.cc:103
void Grid_empty_signal_handler(int sig, siginfo_t *si, void *ptr)
Definition Init.cc:796
void GridCmdOptionFloat(std::string &str, double &val)
Definition Init.cc:183
void GridLogLayout()
Definition Init.cc:637
const Coordinate GridDefaultSimd(int dims, int nsimd)
Definition Init.cc:109
void Grid_quiesce_nodes(void)
Definition Log.cc:109
void Grid_debug_handler_init(void)
Definition Init.cc:838
void Grid_init(int *argc, char ***argv)
Definition Init.cc:316
std::string GridCmdVectorIntToString(const VectorInt &vec)
Definition Init.cc:245
void GridCmdOptionInt(std::string &str, int &val)
Definition Init.cc:176
void Grid_heartbeat(void)
Definition Init.cc:817
void Grid_debug_heartbeat(void)
Definition Init.cc:801
void GridLogTimestamp(int)
Definition Log.cc:57
void GridSetThreads(int t)
const int & GridThreads(void)
const Coordinate & GridDefaultLatt(void)
Definition Init.cc:107
void GridCmdOptionIntVector(const std::string &str, VectorInt &vec)
Definition Init.cc:160
const Coordinate & GridDefaultMpi(void)
Definition Init.cc:108
void Grid_sa_signal_handler(int sig, siginfo_t *si, void *ptr)
void Grid_unquiesce_nodes(void)
Definition Log.cc:122
void GridCmdOptionCSL(std::string str, std::vector< std::string > &vec)
Definition Init.cc:142
void Grid_usr_signal_handler(int sig, siginfo_t *si, void *ptr)
Definition Init.cc:776
void GridParseLayout(char **argv, int argc, std::vector< int > &latt, std::vector< int > &simd, std::vector< int > &mpi)
std::string GridCmdOptionPayload(char **begin, char **end, const std::string &option)
Definition Init.cc:128
#define NAMESPACE_BEGIN(A)
Definition Namespace.h:35
#define NAMESPACE_END(A)
Definition Namespace.h:36