QUDA v0.4.0
A library for QCD on GPUs
Defines | Functions | Variables
quda/lib/comm_mpi.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <mpi.h>
#include <comm_quda.h>

Go to the source code of this file.

Defines

#define GRID_ID(xid, yid, zid, tid)   (xid*ygridsize*zgridsize*tgridsize+yid*zgridsize*tgridsize+zid*tgridsize+tid)
#define GRID_ID(xid, yid, zid, tid)   (xid*ygridsize*zgridsize*tgridsize+yid*zgridsize*tgridsize+zid*tgridsize+tid)

Functions

int getGpuCount ()
void comm_set_gridsize (int x, int y, int z, int t)
void comm_dim_partitioned_set (int dir)
int comm_dim_partitioned (int dir)
int comm_get_neighbor_rank (int dx, int dy, int dz, int dt)
void comm_init ()
int comm_gpuid ()
int comm_rank (void)
int comm_size (void)
int comm_dim (int dir)
int comm_coords (int dir)
unsigned long comm_send (void *buf, int len, int dst, void *_request)
unsigned long comm_send_to_rank (void *buf, int len, int dst_rank, void *_request)
unsigned long comm_send_with_tag (void *buf, int len, int dst, int tag, void *_request)
unsigned long comm_recv (void *buf, int len, int src, void *_request)
unsigned long comm_recv_from_rank (void *buf, int len, int src_rank, void *_request)
unsigned long comm_recv_with_tag (void *buf, int len, int src, int tag, void *_request)
int comm_query (void *request)
void comm_free (void *request)
void comm_wait (void *request)
void comm_allreduce (double *data)
void comm_allreduce_array (double *data, size_t size)
void comm_allreduce_max (double *data)
void comm_broadcast (void *data, size_t nbytes)
void comm_barrier (void)
void comm_cleanup ()
void comm_exit (int ret)

Variables

char hostname [128]
int verbose

Define Documentation

#define GRID_ID (   xid,
  yid,
  zid,
  tid 
)    (xid*ygridsize*zgridsize*tgridsize+yid*zgridsize*tgridsize+zid*tgridsize+tid)
#define GRID_ID (   xid,
  yid,
  zid,
  tid 
)    (xid*ygridsize*zgridsize*tgridsize+yid*zgridsize*tgridsize+zid*tgridsize+tid)

Function Documentation

void comm_allreduce ( double *  data)

Definition at line 548 of file comm_mpi.cpp.

void comm_allreduce_array ( double *  data,
size_t  size 
)

Definition at line 564 of file comm_mpi.cpp.

void comm_allreduce_max ( double *  data)

Definition at line 580 of file comm_mpi.cpp.

void comm_barrier ( void  )

Definition at line 602 of file comm_mpi.cpp.

void comm_broadcast ( void *  data,
size_t  nbytes 
)

Definition at line 596 of file comm_mpi.cpp.

void comm_cleanup ( void  )

Definition at line 607 of file comm_mpi.cpp.

int comm_coords ( int  dir)

Definition at line 305 of file comm_mpi.cpp.

int comm_dim ( int  dir)

Definition at line 280 of file comm_mpi.cpp.

int comm_dim_partitioned ( int  dir)

Definition at line 63 of file comm_mpi.cpp.

void comm_dim_partitioned_set ( int  dir)

Definition at line 55 of file comm_mpi.cpp.

void comm_exit ( int  ret)

Definition at line 613 of file comm_mpi.cpp.

void comm_free ( void *  request)

Definition at line 526 of file comm_mpi.cpp.

int comm_get_neighbor_rank ( int  dx,
int  dy,
int  dz,
int  dt 
)

Definition at line 178 of file comm_mpi.cpp.

int comm_gpuid ( )

Definition at line 261 of file comm_mpi.cpp.

void comm_init ( void  )

Definition at line 201 of file comm_mpi.cpp.

int comm_query ( void *  request)

Definition at line 513 of file comm_mpi.cpp.

int comm_rank ( void  )

Definition at line 268 of file comm_mpi.cpp.

unsigned long comm_recv ( void *  buf,
int  len,
int  src,
void *  _request 
)

Definition at line 423 of file comm_mpi.cpp.

unsigned long comm_recv_from_rank ( void *  buf,
int  len,
int  src_rank,
void *  _request 
)

Definition at line 450 of file comm_mpi.cpp.

unsigned long comm_recv_with_tag ( void *  buf,
int  len,
int  src,
int  tag,
void *  _request 
)

Definition at line 470 of file comm_mpi.cpp.

unsigned long comm_send ( void *  buf,
int  len,
int  dst,
void *  _request 
)

Definition at line 330 of file comm_mpi.cpp.

unsigned long comm_send_to_rank ( void *  buf,
int  len,
int  dst_rank,
void *  _request 
)

Definition at line 357 of file comm_mpi.cpp.

unsigned long comm_send_with_tag ( void *  buf,
int  len,
int  dst,
int  tag,
void *  _request 
)

Definition at line 376 of file comm_mpi.cpp.

void comm_set_gridsize ( int  x,
int  y,
int  z,
int  t 
)

Definition at line 39 of file comm_mpi.cpp.

int comm_size ( void  )

Definition at line 274 of file comm_mpi.cpp.

void comm_wait ( void *  request)

Definition at line 533 of file comm_mpi.cpp.

int getGpuCount ( )

Definition at line 95 of file interface_quda.cpp.


Variable Documentation

char hostname[128]

Definition at line 8 of file comm_mpi.cpp.

int verbose
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines