|
QUDA
0.9.0
|

Go to the source code of this file.
Functions | |
| void | comm_init (int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data) |
| int | comm_rank (void) |
| int | comm_size (void) |
| int | comm_gpuid (void) |
| void | comm_gather_hostname (char *hostname_recv_buf) |
| Gather all hostnames. More... | |
| void | comm_gather_gpuid (int *gpuid_recv_buf) |
| Gather all GPU ids. More... | |
| MsgHandle * | comm_declare_send_displaced (void *buffer, const int displacement[], size_t nbytes) |
| MsgHandle * | comm_declare_receive_displaced (void *buffer, const int displacement[], size_t nbytes) |
| MsgHandle * | comm_declare_strided_send_displaced (void *buffer, const int displacement[], size_t blksize, int nblocks, size_t stride) |
| MsgHandle * | comm_declare_strided_receive_displaced (void *buffer, const int displacement[], size_t blksize, int nblocks, size_t stride) |
| void | comm_free (MsgHandle *mh) |
| void | comm_start (MsgHandle *mh) |
| void | comm_wait (MsgHandle *mh) |
| int | comm_query (MsgHandle *mh) |
| void | comm_allreduce (double *data) |
| void | comm_allreduce_max (double *data) |
| void | comm_allreduce_array (double *data, size_t size) |
| void | comm_allreduce_int (int *data) |
| void | comm_allreduce_xor (uint64_t *data) |
| void | comm_broadcast (void *data, size_t nbytes) |
| void | comm_barrier (void) |
| void | comm_abort (int status) |
| const char * | comm_dim_partitioned_string () |
| Return a string that defines the comm partitioning (used as a tuneKey) More... | |
| const char * | comm_dim_topology_string () |
| Return a string that defines the comm topology (for use as a tuneKey) More... | |
Variables | |
| static char | partition_string [16] = ",comm=0000" |
| static char | topology_string [16] = ",topo=1111" |
| void comm_abort | ( | int | status | ) |
Definition at line 69 of file comm_single.cpp.
References exit().

| void comm_allreduce | ( | double * | data | ) |
Definition at line 55 of file comm_single.cpp.
Referenced by norm2(), quda::colorspinor::FieldOrderCB< Float, nSpin, nColor, nVec, order >::norm2(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost >::norm2(), and reduceDouble().

Definition at line 59 of file comm_single.cpp.
Referenced by reduceDoubleArray().

| void comm_allreduce_int | ( | int * | data | ) |
Definition at line 61 of file comm_single.cpp.
Referenced by comm_peer2peer_enabled_global(), quda::compareSpinor(), hisq_force_test(), main(), and TEST().

| void comm_allreduce_max | ( | double * | data | ) |
Definition at line 57 of file comm_single.cpp.
Referenced by reduceMaxDouble().

| void comm_allreduce_xor | ( | uint64_t * | data | ) |
Definition at line 63 of file comm_single.cpp.
| void comm_barrier | ( | void | ) |
Definition at line 67 of file comm_single.cpp.
Referenced by comm_gdr_blacklist(), comm_peer2peer_init(), and dslashCUDA().

| void comm_broadcast | ( | void * | data, |
| size_t | nbytes | ||
| ) |
broadcast from rank 0
Definition at line 65 of file comm_single.cpp.
Referenced by quda::broadcastTuneCache().

| MsgHandle* comm_declare_receive_displaced | ( | void * | buffer, |
| const int | displacement[], | ||
| size_t | nbytes | ||
| ) |
Create a persistent message handler for a relative receive
| buffer | Buffer into which message will be received |
| dim | Dimension from message will be received |
| dir | Direction from messaged with be recived (0 - backwards, 1 forwards) |
| nbytes | Size of message in bytes |
Declare a message handle for receiving from a node displaced in (x,y,z,t) according to "displacement"
Definition at line 36 of file comm_single.cpp.
Referenced by comm_declare_receive_relative_().

Create a persistent message handler for a relative send
| buffer | Buffer from which message will be sent |
| dim | Dimension in which message will be sent |
| dir | Direction in which messaged with be sent (0 - backwards, 1 forwards) |
| nbytes | Size of message in bytes |
Declare a message handle for sending to a node displaced in (x,y,z,t) according to "displacement"
Definition at line 33 of file comm_single.cpp.
Referenced by comm_declare_send_relative_().

| MsgHandle* comm_declare_strided_receive_displaced | ( | void * | buffer, |
| const int | displacement[], | ||
| size_t | blksize, | ||
| int | nblocks, | ||
| size_t | stride | ||
| ) |
Create a persistent strided message handler for a displaced receive
| buffer | Buffer into which message will be received |
| displacement | Array of offsets specifying the relative node from which we are receiving |
| blksize | Size of block in bytes |
| nblocks | Number of blocks |
| stride | Stride between blocks in bytes |
Declare a message handle for receiving from a node displaced in (x,y,z,t) according to "displacement"
Declare a message handle for strided receiving from a node displaced in (x,y,z,t) according to "displacement"
Definition at line 43 of file comm_single.cpp.
Referenced by comm_declare_strided_receive_relative_().

| MsgHandle* comm_declare_strided_send_displaced | ( | void * | buffer, |
| const int | displacement[], | ||
| size_t | blksize, | ||
| int | nblocks, | ||
| size_t | stride | ||
| ) |
Create a persistent strided message handler for a displaced send
| buffer | Buffer from which message will be sent |
| displacement | Array of offsets specifying the relative node to which we are sending |
| blksize | Size of block in bytes |
| nblocks | Number of blocks |
| stride | Stride between blocks in bytes |
Declare a message handle for sending to a node displaced in (x,y,z,t) according to "displacement"
Declare a message handle for strided sending to a node displaced in (x,y,z,t) according to "displacement"
Definition at line 39 of file comm_single.cpp.
Referenced by comm_declare_strided_send_relative_().

| const char* comm_dim_partitioned_string | ( | ) |
Return a string that defines the comm partitioning (used as a tuneKey)
Definition at line 76 of file comm_single.cpp.
References partition_string.
Referenced by quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::CalculateY(), quda::CalculateYhat< Float, n, Arg >::CalculateYhat(), quda::DslashCoarsePolicyTune::DslashCoarsePolicyTune(), quda::GenericPackGhostLauncher< Float, Ns, Ms, Nc, Mc, Arg >::GenericPackGhostLauncher(), and quda::WuppertalSmearing< Float, Ns, Nc, Arg >::WuppertalSmearing().

| const char* comm_dim_topology_string | ( | ) |
Return a string that defines the comm topology (for use as a tuneKey)
Definition at line 80 of file comm_single.cpp.
References topology_string.
Referenced by anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::tuneKey().

| void comm_free | ( | MsgHandle * | mh | ) |
Definition at line 47 of file comm_single.cpp.
Referenced by quda::LatticeField::createIPCComms(), quda::LatticeField::destroyComms(), quda::LatticeField::destroyIPCComms(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), and quda::cpuGaugeField::exchangeExtendedGhost().

| void comm_gather_gpuid | ( | int * | gpuid_recv_buf | ) |
Gather all GPU ids.
| [out] | gpuid_recv_buf | int array of length comm_size() that will be filled in GPU ids for all processes (in rank order). |
Definition at line 29 of file comm_single.cpp.
References comm_gpuid().
Referenced by comm_peer2peer_init().


| void comm_gather_hostname | ( | char * | hostname_recv_buf | ) |
Gather all hostnames.
| [out] | hostname_recv_buf | char array of length 128*comm_size() that will be filled in GPU ids for all processes. Each hostname is in rank order, with 128 bytes for each. |
Definition at line 25 of file comm_single.cpp.
References comm_hostname(), and strncpy().

| int comm_gpuid | ( | void | ) |
Definition at line 23 of file comm_single.cpp.
Referenced by comm_gather_gpuid(), comm_gdr_blacklist(), comm_peer2peer_init(), anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::DslashPolicyTune(), and initQudaDevice().

| void comm_init | ( | int | ndim, |
| const int * | dims, | ||
| QudaCommsMap | rank_from_coords, | ||
| void * | map_data | ||
| ) |
Definition at line 13 of file comm_single.cpp.
References comm_create_topology(), comm_set_default_topology(), and ndim.
Referenced by initCommsGridQuda().


Definition at line 53 of file comm_single.cpp.
Referenced by quda::cudaColorSpinorField::commsQuery().

| int comm_rank | ( | void | ) |
Definition at line 19 of file comm_single.cpp.
Referenced by quda::broadcastTuneCache(), comm_create_topology(), comm_gdr_blacklist(), comm_peer2peer_init(), getRankVerbosity(), hisq_force_init(), quda::loadTuneCache(), quda::RNG::RNG(), quda::saveProfile(), quda::saveTuneCache(), and quda::tuneLaunch().

| int comm_size | ( | void | ) |
Definition at line 21 of file comm_single.cpp.
Referenced by comm_peer2peer_init(), quda::compareSpinor(), computeGaugeFixingOVRQuda(), quda::LatticeField::createIPCComms(), quda::blas::HeavyQuarkResidualNorm(), quda::blas::HeavyQuarkResidualNormCpu(), hisq_force_test(), main(), TEST(), and quda::blas::xpyHeavyQuarkResidualNorm().

| void comm_start | ( | MsgHandle * | mh | ) |
Definition at line 49 of file comm_single.cpp.
Referenced by quda::LatticeField::createIPCComms(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::recvStart(), quda::cudaColorSpinorField::recvStart(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().

| void comm_wait | ( | MsgHandle * | mh | ) |
Definition at line 51 of file comm_single.cpp.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsWait(), quda::LatticeField::createIPCComms(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), and quda::cpuGaugeField::exchangeExtendedGhost().

|
static |
Dummy communications layer for single-GPU backend.
Definition at line 10 of file comm_single.cpp.
Referenced by comm_dim_partitioned_string().
|
static |
Definition at line 11 of file comm_single.cpp.
Referenced by comm_dim_topology_string().
1.8.14