Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F91693218
irregular.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Nov 13, 13:26
Size
1 KB
Mime Type
text/x-c
Expires
Fri, Nov 15, 13:26 (2 d)
Engine
blob
Format
Raw Data
Handle
22307376
Attached To
rLAMMPS lammps
irregular.h
View Options
#ifndef IRREGULAR_H
#define IRREGULAR_H
#include "mpi.h"
class
Irregular
{
public:
Irregular
(
MPI_Comm
);
~
Irregular
();
void
pattern
(
int
,
int
*
);
int
size
(
int
);
int
size
(
int
*
,
int
*
,
int
*
);
void
exchange
(
char
*
,
char
*
);
private:
int
me
,
nprocs
;
int
patternflag
;
// UNSET,SET
int
sizestyle
;
// NONE,SAME,VARYING
int
self
;
// 0 = no data to copy to self, 1 = yes
int
ndatumsend
;
// # of datums to send w/ self
int
ndatumrecv
;
// # of datums to recv w/ self
int
nbytesrecv
;
// total bytes in received data w/ self
int
nsend
;
// # of messages to send w/out self
int
nrecv
;
// # of messages to recv w/out self
int
nsendmax
;
// # of bytes in largest send message, w/out self
int
*
sendproc
;
// list of procs to send to w/out self
int
*
sendcount
;
// # of datums to send to each proc w/ self
int
*
sendsize
;
// # of bytes to send to each proc w/ self
int
*
sendindices
;
// indices of datums to send to each proc w/ self
int
nsize
;
// size of every datum in bytes (SAME)
int
*
sendsizedatum
;
// bytes in each datum to send w/ self (VARYING)
int
*
sendoffset
;
// byte offset to where each datum starts w/ self
int
sendoffsetflag
;
// 1 if allocated sendoffset, 0 if passed in
int
*
recvproc
;
// list of procs to recv from w/out self
int
*
recvcount
;
// # of datums to recv from each proc w/out self
int
*
recvsize
;
// # of bytes to recv from each proc w/out self
MPI_Request
*
request
;
// MPI requests for posted recvs
MPI_Status
*
status
;
// MPI statuses for Waitall
MPI_Comm
comm
;
// MPI communicator for all communication
class
Memory
*
memory
;
class
Error
*
error
;
void
exchange_same
(
char
*
,
char
*
);
void
exchange_varying
(
char
*
,
char
*
);
void
init
();
void
deallocate
();
};
#endif
Event Timeline
Log In to Comment