QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
comm_single.cpp
Go to the documentation of this file.
1 
5 #include <stdlib.h>
6 #include <string.h>
7 #include <csignal>
8 #include <comm_quda.h>
9 
10 void comm_init(int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data)
11 {
12  comm_init_common(ndim, dims, rank_from_coords, map_data);
13 }
14 
15 int comm_rank(void) { return 0; }
16 
17 int comm_size(void) { return 1; }
18 
19 void comm_gather_hostname(char *hostname_recv_buf) {
20  strncpy(hostname_recv_buf, comm_hostname(), 128);
21 }
22 
23 void comm_gather_gpuid(int *gpuid_recv_buf) {
24  gpuid_recv_buf[0] = comm_gpuid();
25 }
26 
27 MsgHandle *comm_declare_send_displaced(void *buffer, const int displacement[], size_t nbytes)
28 { return NULL; }
29 
30 MsgHandle *comm_declare_receive_displaced(void *buffer, const int displacement[], size_t nbytes)
31 { return NULL; }
32 
33 MsgHandle *comm_declare_strided_send_displaced(void *buffer, const int displacement[],
34  size_t blksize, int nblocks, size_t stride)
35 { return NULL; }
36 
37 MsgHandle *comm_declare_strided_receive_displaced(void *buffer, const int displacement[],
38  size_t blksize, int nblocks, size_t stride)
39 { return NULL; }
40 
41 void comm_free(MsgHandle *&mh) {}
42 
43 void comm_start(MsgHandle *mh) {}
44 
45 void comm_wait(MsgHandle *mh) {}
46 
47 int comm_query(MsgHandle *mh) { return 1; }
48 
49 void comm_allreduce(double* data) {}
50 
51 void comm_allreduce_max(double* data) {}
52 
53 void comm_allreduce_min(double* data) {}
54 
55 void comm_allreduce_array(double* data, size_t size) {}
56 
57 void comm_allreduce_max_array(double* data, size_t size) {}
58 
59 void comm_allreduce_int(int* data) {}
60 
61 void comm_allreduce_xor(uint64_t *data) {}
62 
63 void comm_broadcast(void *data, size_t nbytes) {}
64 
65 void comm_barrier(void) {}
66 
67 void comm_abort(int status) {
68 #ifdef HOST_DEBUG
69  raise(SIGINT);
70 #endif
71  exit(status);
72 }
void comm_free(MsgHandle *&mh)
Definition: comm_single.cpp:41
void comm_allreduce_max_array(double *data, size_t size)
Definition: comm_single.cpp:57
void comm_gather_hostname(char *hostname_recv_buf)
Gather all hostnames.
Definition: comm_single.cpp:19
void comm_allreduce_max(double *data)
Definition: comm_single.cpp:51
int comm_size(void)
Definition: comm_single.cpp:17
MsgHandle * comm_declare_receive_displaced(void *buffer, const int displacement[], size_t nbytes)
Definition: comm_single.cpp:30
int comm_query(MsgHandle *mh)
Definition: comm_single.cpp:47
void comm_allreduce_int(int *data)
Definition: comm_single.cpp:59
void comm_wait(MsgHandle *mh)
Definition: comm_single.cpp:45
void comm_broadcast(void *data, size_t nbytes)
Definition: comm_single.cpp:63
int comm_gpuid(void)
static int size
Definition: comm_mpi.cpp:45
static int ndim
Definition: layout_hyper.c:53
char * comm_hostname(void)
Definition: comm_common.cpp:58
void comm_allreduce_min(double *data)
Definition: comm_single.cpp:53
void comm_abort(int status)
Definition: comm_single.cpp:67
void comm_allreduce_xor(uint64_t *data)
Definition: comm_single.cpp:61
void comm_gather_gpuid(int *gpuid_recv_buf)
Gather all GPU ids.
Definition: comm_single.cpp:23
void comm_init(int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data)
Initialize the communications, implemented in comm_single.cpp, comm_qmp.cpp, and comm_mpi.cpp.
Definition: comm_single.cpp:10
int(* QudaCommsMap)(const int *coords, void *fdata)
Definition: comm_quda.h:12
void comm_init_common(int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data)
Initialize the communications common to all communications abstractions.
static int dims[4]
Definition: face_gauge.cpp:41
MsgHandle * comm_declare_strided_receive_displaced(void *buffer, const int displacement[], size_t blksize, int nblocks, size_t stride)
Definition: comm_single.cpp:37
void comm_start(MsgHandle *mh)
Definition: comm_single.cpp:43
MsgHandle * comm_declare_send_displaced(void *buffer, const int displacement[], size_t nbytes)
Definition: comm_single.cpp:27
void comm_allreduce(double *data)
Definition: comm_single.cpp:49
void comm_barrier(void)
Definition: comm_single.cpp:65
void comm_allreduce_array(double *data, size_t size)
Definition: comm_single.cpp:55
int comm_rank(void)
Definition: comm_single.cpp:15
MsgHandle * comm_declare_strided_send_displaced(void *buffer, const int displacement[], size_t blksize, int nblocks, size_t stride)
Definition: comm_single.cpp:33