QUDA  0.9.0
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 static char partition_string[16] = ",comm=0000";
11 static char topology_string[16] = ",topo=1111";
12 
13 void comm_init(int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data)
14 {
15  Topology *topo = comm_create_topology(ndim, dims, rank_from_coords, map_data);
17 }
18 
19 int comm_rank(void) { return 0; }
20 
21 int comm_size(void) { return 1; }
22 
23 int comm_gpuid(void) { return 0; }
24 
25 void comm_gather_hostname(char *hostname_recv_buf) {
26  strncpy(hostname_recv_buf, comm_hostname(), 128);
27 }
28 
29 void comm_gather_gpuid(int *gpuid_recv_buf) {
30  gpuid_recv_buf[0] = comm_gpuid();
31 }
32 
33 MsgHandle *comm_declare_send_displaced(void *buffer, const int displacement[], size_t nbytes)
34 { return NULL; }
35 
36 MsgHandle *comm_declare_receive_displaced(void *buffer, const int displacement[], size_t nbytes)
37 { return NULL; }
38 
39 MsgHandle *comm_declare_strided_send_displaced(void *buffer, const int displacement[],
40  size_t blksize, int nblocks, size_t stride)
41 { return NULL; }
42 
43 MsgHandle *comm_declare_strided_receive_displaced(void *buffer, const int displacement[],
44  size_t blksize, int nblocks, size_t stride)
45 { return NULL; }
46 
47 void comm_free(MsgHandle *mh) {}
48 
49 void comm_start(MsgHandle *mh) {}
50 
51 void comm_wait(MsgHandle *mh) {}
52 
53 int comm_query(MsgHandle *mh) { return 1; }
54 
55 void comm_allreduce(double* data) {}
56 
57 void comm_allreduce_max(double* data) {}
58 
59 void comm_allreduce_array(double* data, size_t size) {}
60 
61 void comm_allreduce_int(int* data) {}
62 
64 
65 void comm_broadcast(void *data, size_t nbytes) {}
66 
67 void comm_barrier(void) {}
68 
69 void comm_abort(int status) {
70 #ifdef HOST_DEBUG
71  raise(SIGINT);
72 #endif
73  exit(status);
74 }
75 
77  return partition_string;
78 }
79 
80 const char* comm_dim_topology_string() {
81  return topology_string;
82 }
void comm_gather_hostname(char *hostname_recv_buf)
Gather all hostnames.
Definition: comm_single.cpp:25
Topology * comm_create_topology(int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data)
Definition: comm_common.cpp:94
void comm_allreduce_max(double *data)
Definition: comm_single.cpp:57
int comm_size(void)
Definition: comm_single.cpp:21
const char * comm_dim_topology_string()
Return a string that defines the comm topology (for use as a tuneKey)
Definition: comm_single.cpp:80
MsgHandle * comm_declare_receive_displaced(void *buffer, const int displacement[], size_t nbytes)
Definition: comm_single.cpp:36
int comm_query(MsgHandle *mh)
Definition: comm_single.cpp:53
void comm_allreduce_int(int *data)
Definition: comm_single.cpp:61
void comm_wait(MsgHandle *mh)
Definition: comm_single.cpp:51
void comm_broadcast(void *data, size_t nbytes)
Definition: comm_single.cpp:65
void exit(int) __attribute__((noreturn))
static int ndim
Definition: layout_hyper.c:53
void comm_free(MsgHandle *mh)
Definition: comm_single.cpp:47
const char * comm_dim_partitioned_string()
Return a string that defines the comm partitioning (used as a tuneKey)
Definition: comm_single.cpp:76
char * comm_hostname(void)
Definition: comm_common.cpp:58
void comm_abort(int status)
Definition: comm_single.cpp:69
void comm_allreduce_xor(uint64_t *data)
Definition: comm_single.cpp:63
void comm_gather_gpuid(int *gpuid_recv_buf)
Gather all GPU ids.
Definition: comm_single.cpp:29
unsigned long long uint64_t
void comm_init(int ndim, const int *dims, QudaCommsMap rank_from_coords, void *map_data)
Definition: comm_single.cpp:13
int(* QudaCommsMap)(const int *coords, void *fdata)
Definition: comm_quda.h:12
static char partition_string[16]
Definition: comm_single.cpp:10
int comm_gpuid(void)
Definition: comm_single.cpp:23
char * strncpy(char *__dst, const char *__src, size_t __n)
void comm_set_default_topology(Topology *topo)
MsgHandle * comm_declare_strided_receive_displaced(void *buffer, const int displacement[], size_t blksize, int nblocks, size_t stride)
Definition: comm_single.cpp:43
void comm_start(MsgHandle *mh)
Definition: comm_single.cpp:49
MsgHandle * comm_declare_send_displaced(void *buffer, const int displacement[], size_t nbytes)
Definition: comm_single.cpp:33
static char topology_string[16]
Definition: comm_single.cpp:11
void comm_allreduce(double *data)
Definition: comm_single.cpp:55
void comm_barrier(void)
Definition: comm_single.cpp:67
void comm_allreduce_array(double *data, size_t size)
Definition: comm_single.cpp:59
int comm_rank(void)
Definition: comm_single.cpp:19
MsgHandle * comm_declare_strided_send_displaced(void *buffer, const int displacement[], size_t blksize, int nblocks, size_t stride)
Definition: comm_single.cpp:39