N-sim
Emulation and simulation of
Wireless Sensor Networks



   Home


   Project Page


   Download


   CVS



   Installation


   Configuration


   Plug-ins




 Hosted by
SourceForge.net Logo

/home/brennan/n-sim/OrbisQuartus/shared/mini_mpi.h File Reference

Go to the source code of this file.

Defines

#define MPI_INIT_PORT   6851
#define MPI_PORT   6853
#define MPI_MSG_LEN   2048
#define MPI_Comm   int
#define MPI_COMM_WORLD   0x001
#define MPI_Datatype   int
#define MPI_CHAR   0x010
#define MPI_SHORT   0x011
#define MPI_INT   0x012
#define MPI_LONG   0x013
#define MPI_UNSIGNED_CHAR   0x014
#define MPI_UNSIGNED_SHORT   0x015
#define MPI_UNSIGNED_INT   0x016
#define MPI_UNSIGNED_LONG   0x017
#define MPI_FLOAT   0x018
#define MPI_DOUBLE   0x019
#define MPI_LONG_DOUBLE   0x020
#define MPI_BYTE   0x021
#define MPI_PACKED   0x022
#define MPI_Status   int
#define MPI_SUCCESS   0x100
#define MPI_Request   int
#define MINI_MPI_INIT   0x200
#define MINI_MPI_HEAD   0x201
#define MINI_MPI_ABORT   0x204
#define MINI_MPI_FINAL   0x205
#define MINI_MPI_BARRIER   0x207
#define MINI_MPI_RESUME   0x208
#define MINI_MPI_SEND   0x210
#define MINI_MPI_RECV   0x211
#define MINI_MPI_SCATTER   0x215
#define MINI_MPI_GATHER   0x216

Functions

int MPI_Init (int *argc, char ***argv)
int MPI_Initialized (int *flag)
int MPI_Comm_size (MPI_Comm comm, int *size)
int MPI_Comm_rank (MPI_Comm comm, int *rank)
int MPI_Abort (MPI_Comm, int errorcode)
int MPI_Finalize (void)
int MPI_Send (void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm)
int MPI_Recv (void *buf, int count, MPI_Datatype type, int source, int tag, MPI_Comm comm, MPI_Status *status)
int MPI_Isend (void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Irecv (void *buf, int count, MPI_Datatype type, int source, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Wait (MPI_Request *request, MPI_Status *status)
int MPI_Waitall (int count, MPI_Request *request[], MPI_Status *status[])
int MPI_Barrier (MPI_Comm comm)
int MPI_Bcast (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int MPI_Scatter (void *sendbuffer, int sendcount, MPI_Datatype sendtype, void *recvbuffer, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Gather (void *sendbuffer, int sendcount, MPI_Datatype sendtype, void *recvbuffer, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Comm_socket (MPI_Comm comm, int *sock)


Define Documentation

#define MINI_MPI_ABORT   0x204
 

Definition at line 112 of file mini_mpi.h.

Referenced by MPI_Abort(), and mpi_handler().

#define MINI_MPI_BARRIER   0x207
 

Definition at line 114 of file mini_mpi.h.

Referenced by MPI_Barrier(), and mpi_handler().

#define MINI_MPI_FINAL   0x205
 

Definition at line 113 of file mini_mpi.h.

Referenced by MPI_Finalize(), and mpi_handler().

#define MINI_MPI_GATHER   0x216
 

Definition at line 119 of file mini_mpi.h.

Referenced by mpi_handler().

#define MINI_MPI_HEAD   0x201
 

Definition at line 111 of file mini_mpi.h.

Referenced by mpi_handler(), and MPI_Init().

#define MINI_MPI_INIT   0x200
 

Definition at line 110 of file mini_mpi.h.

Referenced by mpi_handler(), and MPI_Init().

#define MINI_MPI_RECV   0x211
 

Definition at line 117 of file mini_mpi.h.

Referenced by mpi_handler(), MPI_Irecv(), and MPI_Recv().

#define MINI_MPI_RESUME   0x208
 

Definition at line 115 of file mini_mpi.h.

Referenced by MPI_Barrier().

#define MINI_MPI_SCATTER   0x215
 

Definition at line 118 of file mini_mpi.h.

Referenced by mpi_handler(), and MPI_Scatter().

#define MINI_MPI_SEND   0x210
 

Definition at line 116 of file mini_mpi.h.

Referenced by MPI_Gather(), mpi_handler(), MPI_Isend(), and MPI_Send().

#define MPI_BYTE   0x021
 

Definition at line 64 of file mini_mpi.h.

Referenced by buffer_to_char(), and type_size().

#define MPI_CHAR   0x010
 

Definition at line 53 of file mini_mpi.h.

Referenced by buffer_to_char(), and type_size().

#define MPI_Comm   int
 

Definition at line 49 of file mini_mpi.h.

#define MPI_COMM_WORLD   0x001
 

Definition at line 50 of file mini_mpi.h.

Referenced by MPI_Abort(), MPI_Barrier(), MPI_Bcast(), MPI_Comm_rank(), MPI_Comm_size(), MPI_Comm_socket(), MPI_Gather(), MPI_Irecv(), MPI_Isend(), MPI_Recv(), MPI_Scatter(), and MPI_Send().

#define MPI_Datatype   int
 

Definition at line 52 of file mini_mpi.h.

#define MPI_DOUBLE   0x019
 

Definition at line 62 of file mini_mpi.h.

Referenced by type_size().

#define MPI_FLOAT   0x018
 

Definition at line 61 of file mini_mpi.h.

Referenced by type_size().

#define MPI_INIT_PORT   6851
 

Definition at line 44 of file mini_mpi.h.

Referenced by MPI_Init().

#define MPI_INT   0x012
 

Definition at line 55 of file mini_mpi.h.

Referenced by type_size().

#define MPI_LONG   0x013
 

Definition at line 56 of file mini_mpi.h.

Referenced by type_size().

#define MPI_LONG_DOUBLE   0x020
 

Definition at line 63 of file mini_mpi.h.

Referenced by type_size().

#define MPI_MSG_LEN   2048
 

Definition at line 47 of file mini_mpi.h.

Referenced by MPI_Irecv(), MPI_Recv(), and vt_recv().

#define MPI_PACKED   0x022
 

Definition at line 65 of file mini_mpi.h.

Referenced by type_size().

#define MPI_PORT   6853
 

Definition at line 45 of file mini_mpi.h.

Referenced by mini_mpi_server(), and MPI_Init().

#define MPI_Request   int
 

Definition at line 70 of file mini_mpi.h.

#define MPI_SHORT   0x011
 

Definition at line 54 of file mini_mpi.h.

Referenced by type_size().

#define MPI_Status   int
 

Definition at line 67 of file mini_mpi.h.

#define MPI_SUCCESS   0x100
 

Definition at line 68 of file mini_mpi.h.

Referenced by MPI_Abort(), MPI_Barrier(), MPI_Bcast(), MPI_Comm_rank(), MPI_Comm_size(), MPI_Comm_socket(), MPI_Finalize(), MPI_Gather(), MPI_Init(), MPI_Initialized(), MPI_Irecv(), MPI_Isend(), MPI_Recv(), MPI_Scatter(), MPI_Send(), MPI_Wait(), and MPI_Waitall().

#define MPI_UNSIGNED_CHAR   0x014
 

Definition at line 57 of file mini_mpi.h.

#define MPI_UNSIGNED_INT   0x016
 

Definition at line 59 of file mini_mpi.h.

Referenced by type_size().

#define MPI_UNSIGNED_LONG   0x017
 

Definition at line 60 of file mini_mpi.h.

Referenced by type_size().

#define MPI_UNSIGNED_SHORT   0x015
 

Definition at line 58 of file mini_mpi.h.

Referenced by buffer_to_char(), and type_size().


Function Documentation

int MPI_Abort MPI_Comm  ,
int  errorcode
 

Definition at line 169 of file mini_mpi-l4.c.

References error, MINI_MPI_ABORT, MPI_COMM_WORLD, MPI_SUCCESS, my_init, MY_NC, and MY_SOCK.

int MPI_Barrier MPI_Comm  comm  ) 
 

Definition at line 401 of file mini_mpi-l4.c.

References error, MINI_MPI_BARRIER, MINI_MPI_RESUME, MPI_COMM_WORLD, MPI_SUCCESS, my_init, MY_NC, and MY_SOCK.

int MPI_Bcast void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm
 

Definition at line 428 of file mini_mpi-l4.c.

References buffer_to_char(), error, MPI_COMM_WORLD, MPI_SUCCESS, my_init, type_size(), and vt_send().

int MPI_Comm_rank MPI_Comm  comm,
int *  rank
 

Definition at line 244 of file mini_mpi.c.

References MPI_COMM_WORLD, MPI_SUCCESS, my_init, and my_taskid.

int MPI_Comm_size MPI_Comm  comm,
int *  size
 

Definition at line 235 of file mini_mpi.c.

References MPI_COMM_WORLD, MPI_SUCCESS, my_init, and my_numprocs.

int MPI_Comm_socket MPI_Comm  comm,
int *  sock
 

Definition at line 160 of file mini_mpi-l4.c.

References MPI_COMM_WORLD, MPI_SUCCESS, my_init, MY_SOCK, my_socket, and socket_ptr_t::nc.

int MPI_Finalize void   ) 
 

Definition at line 185 of file mini_mpi-l4.c.

References error, MINI_MPI_FINAL, MPI_SUCCESS, my_init, MY_NC, MY_SOCK, and task_array.

int MPI_Gather void *  sendbuffer,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuffer,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm
 

Todo:
implement scatter/gather

Definition at line 480 of file mini_mpi-l4.c.

References error, MINI_MPI_SEND, MPI_COMM_WORLD, MPI_SUCCESS, my_init, and MY_NC.

int MPI_Init int *  argc,
char ***  argv
 

Todo:
FIXME: complete setup

Definition at line 59 of file mini_mpi-l4.c.

References error, he, head_addr, MAX_MTU, memcpy, MINI_MPI_HEAD, MINI_MPI_INIT, MPI_INIT_PORT, MPI_PORT, MPI_SUCCESS, my_init, MY_NC, my_numprocs, MY_SOCK, my_socket, my_taskid, socket_ptr_t::nc, string_to_tasks(), task_array, and their_addr.

int MPI_Initialized int *  flag  ) 
 

Definition at line 228 of file mini_mpi.c.

References MPI_SUCCESS, and my_init.

int MPI_Irecv void *  buf,
int  count,
MPI_Datatype  type,
int  source,
int  tag,
MPI_Comm  comm,
MPI_Request *  request
 

Todo:
is this MPI standard?
Todo:
nonblocking recv

Definition at line 330 of file mini_mpi-l4.c.

References char_to_buffer(), error, MINI_MPI_RECV, MPI_COMM_WORLD, MPI_MSG_LEN, MPI_SUCCESS, my_init, MY_NC, task_array, and vt_recv().

int MPI_Isend void *  buf,
int  count,
MPI_Datatype  type,
int  dest,
int  tag,
MPI_Comm  comm,
MPI_Request *  request
 

Todo:
nonblocking send MINI_MPI_SEND

Definition at line 295 of file mini_mpi-l4.c.

References buffer_to_char(), error, MINI_MPI_SEND, MPI_COMM_WORLD, MPI_SUCCESS, my_init, MY_NC, MY_SOCK, task_handle::sock, task_array, type_size(), and vt_send().

int MPI_Recv void *  buf,
int  count,
MPI_Datatype  type,
int  source,
int  tag,
MPI_Comm  comm,
MPI_Status *  status
 

Todo:
implement MPI recv functions

Definition at line 239 of file mini_mpi-l4.c.

References char_to_buffer(), error, MINI_MPI_RECV, MPI_COMM_WORLD, MPI_MSG_LEN, MPI_SUCCESS, my_init, MY_NC, task_array, and vt_recv().

int MPI_Scatter void *  sendbuffer,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuffer,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm
 

Todo:
implement scatter/gather

Definition at line 451 of file mini_mpi-l4.c.

References error, MINI_MPI_SCATTER, MPI_COMM_WORLD, MPI_SUCCESS, my_init, and MY_NC.

int MPI_Send void *  buf,
int  count,
MPI_Datatype  type,
int  dest,
int  tag,
MPI_Comm  comm
 

Definition at line 206 of file mini_mpi-l4.c.

References buffer_to_char(), error, MINI_MPI_SEND, MPI_COMM_WORLD, MPI_SUCCESS, my_init, MY_NC, MY_SOCK, task_handle::sock, task_array, type_size(), and vt_send().

int MPI_Wait MPI_Request *  request,
MPI_Status *  status
 

Todo:
implement wait on nonblocking send/recv

Definition at line 386 of file mini_mpi-l4.c.

References MPI_SUCCESS.

int MPI_Waitall int  count,
MPI_Request *  request[],
MPI_Status *  status[]
 

Definition at line 393 of file mini_mpi-l4.c.

References MPI_SUCCESS.


© 2007, Los Alamos National Security, LLC.