Functions | |
| void | set_pe_grid (int x, int y, int z, int t, int s=1) |
| Communicates the processor grid dimensions to the MPI-SCU layer. | |
| void | CommsInit () |
| Initialises the MPI communications layer. | |
| void | CommsFinalize () |
| Performs a clean exit from the MPI communications layer. | |
| void | GlobalSum (Type_tag t, size_t tsize, int n, void *ivec, void *ovec) |
| Computes a global sum directly using MPI. | |
| void | RaiseError (char *errstr) |
| Reports an error. | |
| void | RaiseError (const char *errstring) |
| Reports an error. | |
| void | Trans (void *addr, MPI_Datatype mpi_dt, SCUDir dir, SCUXR sendrx) |
| An implementation-specific internal subroutine. | |
| void | ParseCommsParam (char *) |
| An implementation-specific internal subroutine. | |
| char * | CommsStringTokenizer (char *str, const char *tokens, char **tok_pos) |
| An implementation-specific internal subroutine. | |
| MPI_Datatype | MPITypeConv (Type_tag t, size_t tsize) |
| An implementation-specific internal subroutine. | |
| unsigned int | ReadSeedFile () |
| An implementation-specific internal subroutine. | |
| int | printf (const char *format,...) |
| Reimplementation of printf that prints from only a single node. | |
| int | fprintf (FILE *stream, const char *format,...) |
| Reimplementation of fprintf that prints from only a single node. | |
| int | printf_all (const char *format,...) |
| Reimplementation of printf that prints on all nodes. | |
| int | printf_allid (const char *format,...) |
| Reimplementation of printf that prints on all nodes with node ID prefix. | |
| int | fprintf_all (FILE *stream, const char *format,...) |
| Reimplementation of fprintf that prints on all nodes. | |
| int | vprintf (const char *, va_list) |
| Reimplementation of vprintf that prints from only a single node. | |
| int | vfprintf (FILE *, const char *, va_list) |
| Reimplementation of vfprintf that prints from only a single node. | |
| void | SCUCommsFinalize (void) |
| void | SCUGlobalSum (Type_tag t, size_t tsize, int n, void *ivec, void *ovec) |
Variables | |
| bool | Is_Initialised = false |
| Whether the MPI-SCU layer has been initialised. | |
|
|
Performs a clean exit from the MPI communications layer.
|
|
||||||||||||||||
|
An implementation-specific internal subroutine. String tokenizer, coded here to ensure portability: Definition at line 816 of file sysfunc.C. Referenced by ParseCommsParam(). |
|
||||||||||||||||
|
Reimplementation of fprintf that prints from only a single node. Works like fprintf.
Definition at line 59 of file qcdio_qprintf.C. References cps::UniqueID(). Referenced by PT::asqtad_fat(), cps::dump_xml::close(), cps::Lattice::CompareGaugeField(), wfm::dslash(), cps::dump_xml::dump_xml(), cps::Fopen(), PT::init(), wfm::init(), PT::init_g(), cps::GlobalJobParameter::InitMdwfTuning(), AsqD::InvCg(), AsqD::MdagM(), cps::CheckSum::Print(), cps::VML::Puts(), cps::GaussianRandomGenerator::Rand(), SCUGlobalSum(), cps::vml_enum(), cps::vml_enum_string(), cps::vml_enum_val(), and cps::dump_xml::write(). |
|
||||||||||||||||
|
Reimplementation of fprintf that prints on all nodes. Works just like fprintf.
Definition at line 124 of file qcdio_qprintf.C. Referenced by CommsInit(), ReadSeedFile(), and cps::SCUTransComplete(). |
|
||||||||||||||||||||||||
|
Computes a global sum directly using MPI.
|
|
||||||||||||
|
An implementation-specific internal subroutine. On-the-fly type+size -> MPI_Datatype conversion. There are probably somewhat quicker ways of doing this via look-up tables, but for now, the look-up has been left explicit. Definition at line 876 of file sysfunc.C. References RaiseError(), and cps::TYPE_IFloat. Referenced by SCUGlobalSum(). |
|
|
An implementation-specific internal subroutine. Looks up and parses the run-time user parameters specified via ENVVAR. i.e. Lots of messy string handling et cetera.
Definition at line 706 of file sysfunc.C. References CommsStringTokenizer(), cps::Fclose(), cps::Fopen(), and RaiseError(). Referenced by CommsInit(). |
|
||||||||||||
|
||||||||||||
|
Reimplementation of printf that prints on all nodes. Works just like printf.
Definition at line 77 of file qcdio_qprintf.C. Referenced by CommsInit(). |
|
||||||||||||
|
Reimplementation of printf that prints on all nodes with node ID prefix. Works like printf, but prefixes the message with the node ID number and the cartesian coordinates of the node in the node grid.
Definition at line 94 of file qcdio_qprintf.C. References cps::GJP, cps::GlobalJobParameter::TnodeCoor(), cps::UniqueID(), cps::GlobalJobParameter::XnodeCoor(), cps::GlobalJobParameter::YnodeCoor(), and cps::GlobalJobParameter::ZnodeCoor(). |
|
|
An implementation-specific internal subroutine. Reads a seed for every PE from a file specified during intialisation. Definition at line 931 of file sysfunc.C. References CommsInit(), cps::Fclose(), cps::Fopen(), fprintf_all(), and RaiseError(). |
|
||||||||||||||||||||||||
|
Communicates the processor grid dimensions to the MPI-SCU layer. If MPI is started outwith the MPI-SCU layer then this function should be used to tell the MPI-SCU layer what the grid dimensions are. This mechanism need and should not be used if the MPI parameters are read from a file. This function can only be called once; if it is called again it does nothing.
|
|
||||||||||||||||||||
|
An implementation-specific internal subroutine. The lowest level MPI comms subroutine, on which all other comms calls are based. Definition at line 661 of file sysfunc.C. References cps::MPIRequestManager::AddRequest(), and cps::dir. Referenced by cps::SCUTrans(), cps::SCUTransAddr(), and cps::Matrix::Trans(). |
|
||||||||||||||||
|
Reimplementation of vfprintf that prints from only a single node. Works like vprintf.
Definition at line 150 of file qcdio_qprintf.C. References cps::UniqueID(). Referenced by cps::Fprintf(), and cps::Vfprintf(). |
|
||||||||||||
|
Reimplementation of vprintf that prints from only a single node. Works like vprintf.
Definition at line 140 of file qcdio_qprintf.C. References cps::UniqueID(). Referenced by cps::Verbose::Debug(), cps::Error::General(), cps::Error::Hardware(), cps::Verbose::Input(), cps::Error::NotImplemented(), cps::Verbose::RNGSeed(), and cps::Verbose::Warn(). |
|
|
Whether the MPI-SCU layer has been initialised. The initial value of the global comms-layer initialization flag is FALSE, indicating that the communications system has not been set up. |
1.3.9.1