base/modules/fakempi.c

Fixed missing fake MPI calls.
psblas-3.4-maint
Salvatore Filippone 9 years ago
parent 6cc47e7c7b
commit 8d434d8ca9

@ -12,8 +12,12 @@
#define mpi_wait mpi_wait_ #define mpi_wait mpi_wait_
#define mpi_alltoall mpi_alltoall_ #define mpi_alltoall mpi_alltoall_
#define mpi_alltoallv mpi_alltoallv_ #define mpi_alltoallv mpi_alltoallv_
#define mpi_gather mpi_gather_
#define mpi_gatherv mpi_gatherv_
#define mpi_allgather mpi_allgather_ #define mpi_allgather mpi_allgather_
#define mpi_allgatherv mpi_allgatherv_ #define mpi_allgatherv mpi_allgatherv_
#define mpi_scatterv mpi_scatterv_
#define mpi_scatter mpi_scatter_
#endif #endif
#ifdef LowerDoubleUnderscore #ifdef LowerDoubleUnderscore
#define mpi_wtime mpi_wtime__ #define mpi_wtime mpi_wtime__
@ -23,8 +27,12 @@
#define mpi_wait mpi_wait__ #define mpi_wait mpi_wait__
#define mpi_alltoall mpi_alltoall__ #define mpi_alltoall mpi_alltoall__
#define mpi_alltoallv mpi_alltoallv__ #define mpi_alltoallv mpi_alltoallv__
#define mpi_gather mpi_gather__
#define mpi_gatherv mpi_gatherv__
#define mpi_allgather mpi_allgather__ #define mpi_allgather mpi_allgather__
#define mpi_allgatherv mpi_allgatherv__ #define mpi_allgatherv mpi_allgatherv__
#define mpi_scatterv mpi_scatterv__
#define mpi_scatter mpi_scatter__
#endif #endif
#ifdef LowerCase #ifdef LowerCase
#define mpi_wtime mpi_wtime #define mpi_wtime mpi_wtime
@ -34,8 +42,12 @@
#define mpi_wait mpi_wait #define mpi_wait mpi_wait
#define mpi_alltoall mpi_alltoall #define mpi_alltoall mpi_alltoall
#define mpi_alltoallv mpi_alltoallv #define mpi_alltoallv mpi_alltoallv
#define mpi_gather mpi_gather
#define mpi_gatherv mpi_gatherv
#define mpi_allgather mpi_allgather #define mpi_allgather mpi_allgather
#define mpi_allgatherv mpi_allgatherv #define mpi_allgatherv mpi_allgatherv
#define mpi_scatterv mpi_scatterv
#define mpi_scatter mpi_scatter
#endif #endif
#ifdef UpperUnderscore #ifdef UpperUnderscore
#define mpi_wtime MPI_WTIME_ #define mpi_wtime MPI_WTIME_
@ -45,8 +57,12 @@
#define mpi_wait MPI_WAIT_ #define mpi_wait MPI_WAIT_
#define mpi_alltoall MPI_ALLTOALL_ #define mpi_alltoall MPI_ALLTOALL_
#define mpi_alltoallv MPI_ALLTOALLV_ #define mpi_alltoallv MPI_ALLTOALLV_
#define mpi_gather MPI_GATHER_
#define mpi_gatherv MPI_GATHERV_
#define mpi_allgather MPI_ALLGATHER_ #define mpi_allgather MPI_ALLGATHER_
#define mpi_allgatherv MPI_ALLGATHERV_ #define mpi_allgatherv MPI_ALLGATHERV_
#define mpi_scatterv MPI_SCATTERV_
#define mpi_scatter MPI_SCATTER_
#endif #endif
#ifdef UpperDoubleUnderscore #ifdef UpperDoubleUnderscore
#define mpi_wtime MPI_WTIME__ #define mpi_wtime MPI_WTIME__
@ -56,8 +72,12 @@
#define mpi_wait MPI_WAIT__ #define mpi_wait MPI_WAIT__
#define mpi_alltoall MPI_ALLTOALL__ #define mpi_alltoall MPI_ALLTOALL__
#define mpi_alltoallv MPI_ALLTOALLV__ #define mpi_alltoallv MPI_ALLTOALLV__
#define mpi_gather MPI_GATHER__
#define mpi_gatherv MPI_GATHERV__
#define mpi_allgather MPI_ALLGATHER__ #define mpi_allgather MPI_ALLGATHER__
#define mpi_allgatherv MPI_ALLGATHERV__ #define mpi_allgatherv MPI_ALLGATHERV__
#define mpi_scatterv MPI_SCATTERV__
#define mpi_scatter MPI_SCATTER__
#endif #endif
#ifdef UpperCase #ifdef UpperCase
#define mpi_wtime MPI_WTIME #define mpi_wtime MPI_WTIME
@ -67,8 +87,12 @@
#define mpi_wait MPI_WAIT #define mpi_wait MPI_WAIT
#define mpi_alltoall MPI_ALLTOALL #define mpi_alltoall MPI_ALLTOALL
#define mpi_alltoallv MPI_ALLTOALLV #define mpi_alltoallv MPI_ALLTOALLV
#define mpi_gather MPI_GATHER
#define mpi_gatherv MPI_GATHERV
#define mpi_allgather MPI_ALLGATHER #define mpi_allgather MPI_ALLGATHER
#define mpi_allgatherv MPI_ALLGATHERV #define mpi_allgatherv MPI_ALLGATHERV
#define mpi_scatterv MPI_SCATTERV
#define mpi_scatter MPI_SCATTER
#endif #endif
#define mpi_integer 1 #define mpi_integer 1
@ -120,7 +144,7 @@ void mpi_alltoall(void* sdb, int* sdc, int* sdt,
memcpy(rvb,sdb, (*sdc)*sizeof(int)); memcpy(rvb,sdb, (*sdc)*sizeof(int));
} }
if (*sdt == mpi_integer8) { if (*sdt == mpi_integer8) {
memcpy(rvb,sdb, (*sdc)*2*sizeof(int)); memcpy(rvb,sdb, (*sdc)*sizeof(long long));
} }
if (*sdt == mpi_real) { if (*sdt == mpi_real) {
memcpy(rvb,sdb, (*sdc)*sizeof(float)); memcpy(rvb,sdb, (*sdc)*sizeof(float));
@ -148,8 +172,8 @@ void mpi_alltoallv(void* sdb, int* sdc, int* sdspl, int* sdt,
(void *)((char *)sdb+sdspl[0]*sizeof(int)),(*sdc)*sizeof(int)); (void *)((char *)sdb+sdspl[0]*sizeof(int)),(*sdc)*sizeof(int));
} }
if (*sdt == mpi_integer8) { if (*sdt == mpi_integer8) {
memcpy((void *)((char *)rvb+rdspl[0]*2*sizeof(int)), memcpy((void *)((char *)rvb+rdspl[0]*sizeof(long long)),
(void *)((char *)sdb+sdspl[0]*2*sizeof(int)),(*sdc)*2*sizeof(int)); (void *)((char *)sdb+sdspl[0]*sizeof(long long)),(*sdc)*sizeof(long long));
} }
if (*sdt == mpi_real) { if (*sdt == mpi_real) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(float)), memcpy((void *)((char *)rvb+rdspl[0]*sizeof(float)),
@ -171,6 +195,132 @@ void mpi_alltoallv(void* sdb, int* sdc, int* sdspl, int* sdt,
} }
void mpi_gather(void* sdb, int* sdc, int* sdt,
void* rvb, int* rvc, int* rvt, int *root, int* comm, int* ierr)
{
int i,j,k;
if (*sdt == mpi_integer) {
memcpy(rvb,sdb, (*sdc)*sizeof(int));
}
if (*sdt == mpi_integer8) {
memcpy(rvb,sdb, (*sdc)*sizeof(long long));
}
if (*sdt == mpi_real) {
memcpy(rvb,sdb, (*sdc)*sizeof(float));
}
if (*sdt == mpi_double) {
memcpy(rvb,sdb, (*sdc)*sizeof(double));
}
if (*sdt == mpi_complex) {
memcpy(rvb,sdb, (*sdc)*2*sizeof(float));
}
if (*sdt == mpi_double_complex) {
memcpy(rvb,sdb, (*sdc)*2*sizeof(double));
}
*ierr = 0;
}
void mpi_gatherv(void* sdb, int* sdc, int* sdt,
void* rvb, int* rvc, int* rdspl,
int* rvt, int* comm, int *root, int* ierr)
{
int i,j,k;
if (*sdt == mpi_integer) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(int)),
(void *)((char *)sdb),(*sdc)*sizeof(int));
}
if (*sdt == mpi_integer8) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(long long)),
(void *)((char *)sdb),(*sdc)*sizeof(long long));
}
if (*sdt == mpi_real) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(float)),
(void *)((char *)sdb),(*sdc)*sizeof(float));
}
if (*sdt == mpi_double) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(double)),
(void *)((char *)sdb),(*sdc)*sizeof(double));
}
if (*sdt == mpi_complex) {
memcpy((void *)((char *)rvb+rdspl[0]*2*sizeof(float)),
(void *)((char *)sdb),(*sdc)*2*sizeof(float));
}
if (*sdt == mpi_double_complex) {
memcpy((void *)((char *)rvb+rdspl[0]*2*sizeof(double)),
(void *)((char *)sdb),(*sdc)*2*sizeof(double));
}
*ierr = 0;
}
void mpi_scatter(void* sdb, int* sdc, int* sdt,
void* rvb, int* rvc, int* rvt, int *root, int* comm, int* ierr)
{
int i,j,k;
if (*sdt == mpi_integer) {
memcpy(rvb,sdb, (*sdc)*sizeof(int));
}
if (*sdt == mpi_integer8) {
memcpy(rvb,sdb, (*sdc)*sizeof(long long));
}
if (*sdt == mpi_real) {
memcpy(rvb,sdb, (*sdc)*sizeof(float));
}
if (*sdt == mpi_double) {
memcpy(rvb,sdb, (*sdc)*sizeof(double));
}
if (*sdt == mpi_complex) {
memcpy(rvb,sdb, (*sdc)*2*sizeof(float));
}
if (*sdt == mpi_double_complex) {
memcpy(rvb,sdb, (*sdc)*2*sizeof(double));
}
*ierr = 0;
}
void mpi_scatterv(void* sdb, int* sdc, int* sdt,
void* rvb, int* rvc, int* rdspl,
int* rvt, int* comm, int *root, int* ierr)
{
int i,j,k;
if (*sdt == mpi_integer) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(int)),
(void *)((char *)sdb),(*sdc)*sizeof(int));
}
if (*sdt == mpi_integer8) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(long long)),
(void *)((char *)sdb),(*sdc)*sizeof(long long));
}
if (*sdt == mpi_real) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(float)),
(void *)((char *)sdb),(*sdc)*sizeof(float));
}
if (*sdt == mpi_double) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(double)),
(void *)((char *)sdb),(*sdc)*sizeof(double));
}
if (*sdt == mpi_complex) {
memcpy((void *)((char *)rvb+rdspl[0]*2*sizeof(float)),
(void *)((char *)sdb),(*sdc)*2*sizeof(float));
}
if (*sdt == mpi_double_complex) {
memcpy((void *)((char *)rvb+rdspl[0]*2*sizeof(double)),
(void *)((char *)sdb),(*sdc)*2*sizeof(double));
}
*ierr = 0;
}
void mpi_allgather(void* sdb, int* sdc, int* sdt, void mpi_allgather(void* sdb, int* sdc, int* sdt,
void* rvb, int* rvc, int* rvt, int* comm, int* ierr) void* rvb, int* rvc, int* rvt, int* comm, int* ierr)
{ {
@ -180,7 +330,7 @@ void mpi_allgather(void* sdb, int* sdc, int* sdt,
memcpy(rvb,sdb, (*sdc)*sizeof(int)); memcpy(rvb,sdb, (*sdc)*sizeof(int));
} }
if (*sdt == mpi_integer8) { if (*sdt == mpi_integer8) {
memcpy(rvb,sdb, (*sdc)*2*sizeof(int)); memcpy(rvb,sdb, (*sdc)*sizeof(long long));
} }
if (*sdt == mpi_real) { if (*sdt == mpi_real) {
memcpy(rvb,sdb, (*sdc)*sizeof(float)); memcpy(rvb,sdb, (*sdc)*sizeof(float));
@ -208,8 +358,8 @@ void mpi_allgatherv(void* sdb, int* sdc, int* sdt,
(void *)((char *)sdb),(*sdc)*sizeof(int)); (void *)((char *)sdb),(*sdc)*sizeof(int));
} }
if (*sdt == mpi_integer8) { if (*sdt == mpi_integer8) {
memcpy((void *)((char *)rvb+rdspl[0]*2*sizeof(int)), memcpy((void *)((char *)rvb+rdspl[0]*sizeof(long long)),
(void *)((char *)sdb),(*sdc)*2*sizeof(int)); (void *)((char *)sdb),(*sdc)*sizeof(long long));
} }
if (*sdt == mpi_real) { if (*sdt == mpi_real) {
memcpy((void *)((char *)rvb+rdspl[0]*sizeof(float)), memcpy((void *)((char *)rvb+rdspl[0]*sizeof(float)),

Loading…
Cancel
Save