hypre MPI interface without MPI and with longdouble (#465)
This PR will fix #439 where hypre was configured with --enable-longdouble --without-MPI.
This commit is contained in:
parent
5971f0b979
commit
c9b1679970
@ -200,7 +200,7 @@ extern "C" {
|
||||
#define MPI_DOUBLE hypre_MPI_DOUBLE
|
||||
#define MPI_LONG_DOUBLE hypre_MPI_LONG_DOUBLE
|
||||
#define MPI_INT hypre_MPI_INT
|
||||
#define MPI_LONG_LONG_INT hypre_MPI_INT
|
||||
#define MPI_LONG_LONG_INT hypre_MPI_LONG_LONG_INT
|
||||
#define MPI_CHAR hypre_MPI_CHAR
|
||||
#define MPI_LONG hypre_MPI_LONG
|
||||
#define MPI_BYTE hypre_MPI_BYTE
|
||||
@ -317,6 +317,7 @@ typedef HYPRE_Int hypre_MPI_Info;
|
||||
#define hypre_MPI_BYTE 6
|
||||
#define hypre_MPI_REAL 7
|
||||
#define hypre_MPI_COMPLEX 8
|
||||
#define hypre_MPI_LONG_LONG_INT 9
|
||||
|
||||
#define hypre_MPI_SUM 0
|
||||
#define hypre_MPI_MIN 1
|
||||
|
||||
@ -73,6 +73,7 @@ hypre_MPI_Comm_create( hypre_MPI_Comm comm,
|
||||
hypre_MPI_Group group,
|
||||
hypre_MPI_Comm *newcomm )
|
||||
{
|
||||
*newcomm = hypre_MPI_COMM_NULL;
|
||||
return(0);
|
||||
}
|
||||
|
||||
@ -80,6 +81,7 @@ HYPRE_Int
|
||||
hypre_MPI_Comm_dup( hypre_MPI_Comm comm,
|
||||
hypre_MPI_Comm *newcomm )
|
||||
{
|
||||
*newcomm = comm;
|
||||
return(0);
|
||||
}
|
||||
|
||||
@ -187,6 +189,28 @@ hypre_MPI_Allgather( void *sendbuf,
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_LONG_LONG_INT:
|
||||
{
|
||||
HYPRE_BigInt *crecvbuf = (HYPRE_BigInt *)recvbuf;
|
||||
HYPRE_BigInt *csendbuf = (HYPRE_BigInt *)sendbuf;
|
||||
for (i = 0; i < sendcount; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_FLOAT:
|
||||
{
|
||||
float *crecvbuf = (float *)recvbuf;
|
||||
float *csendbuf = (float *)sendbuf;
|
||||
for (i = 0; i < sendcount; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_DOUBLE:
|
||||
{
|
||||
double *crecvbuf = (double *)recvbuf;
|
||||
@ -198,6 +222,17 @@ hypre_MPI_Allgather( void *sendbuf,
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_LONG_DOUBLE:
|
||||
{
|
||||
long double *crecvbuf = (long double *)recvbuf;
|
||||
long double *csendbuf = (long double *)sendbuf;
|
||||
for (i = 0; i < sendcount; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_CHAR:
|
||||
{
|
||||
char *crecvbuf = (char *)recvbuf;
|
||||
@ -209,6 +244,17 @@ hypre_MPI_Allgather( void *sendbuf,
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_LONG:
|
||||
{
|
||||
hypre_longint *crecvbuf = (hypre_longint *)recvbuf;
|
||||
hypre_longint *csendbuf = (hypre_longint *)sendbuf;
|
||||
for (i = 0; i < sendcount; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_BYTE:
|
||||
{
|
||||
hypre_Memcpy(recvbuf, sendbuf, sendcount, HYPRE_MEMORY_HOST, HYPRE_MEMORY_HOST);
|
||||
@ -495,7 +541,28 @@ hypre_MPI_Allreduce( void *sendbuf,
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_LONG_LONG_INT:
|
||||
{
|
||||
HYPRE_BigInt *crecvbuf = (HYPRE_BigInt *)recvbuf;
|
||||
HYPRE_BigInt *csendbuf = (HYPRE_BigInt *)sendbuf;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_FLOAT:
|
||||
{
|
||||
float *crecvbuf = (float *)recvbuf;
|
||||
float *csendbuf = (float *)sendbuf;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -510,6 +577,17 @@ hypre_MPI_Allreduce( void *sendbuf,
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_LONG_DOUBLE:
|
||||
{
|
||||
long double *crecvbuf = (long double *)recvbuf;
|
||||
long double *csendbuf = (long double *)sendbuf;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_CHAR:
|
||||
{
|
||||
char *crecvbuf = (char *)recvbuf;
|
||||
@ -521,6 +599,17 @@ hypre_MPI_Allreduce( void *sendbuf,
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_LONG:
|
||||
{
|
||||
hypre_longint *crecvbuf = (hypre_longint *)recvbuf;
|
||||
hypre_longint *csendbuf = (hypre_longint *)sendbuf;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
crecvbuf[i] = csendbuf[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case hypre_MPI_BYTE:
|
||||
{
|
||||
hypre_Memcpy(recvbuf, sendbuf, count, HYPRE_MEMORY_HOST, HYPRE_MEMORY_HOST);
|
||||
|
||||
@ -51,7 +51,7 @@ extern "C" {
|
||||
#define MPI_DOUBLE hypre_MPI_DOUBLE
|
||||
#define MPI_LONG_DOUBLE hypre_MPI_LONG_DOUBLE
|
||||
#define MPI_INT hypre_MPI_INT
|
||||
#define MPI_LONG_LONG_INT hypre_MPI_INT
|
||||
#define MPI_LONG_LONG_INT hypre_MPI_LONG_LONG_INT
|
||||
#define MPI_CHAR hypre_MPI_CHAR
|
||||
#define MPI_LONG hypre_MPI_LONG
|
||||
#define MPI_BYTE hypre_MPI_BYTE
|
||||
@ -168,6 +168,7 @@ typedef HYPRE_Int hypre_MPI_Info;
|
||||
#define hypre_MPI_BYTE 6
|
||||
#define hypre_MPI_REAL 7
|
||||
#define hypre_MPI_COMPLEX 8
|
||||
#define hypre_MPI_LONG_LONG_INT 9
|
||||
|
||||
#define hypre_MPI_SUM 0
|
||||
#define hypre_MPI_MIN 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user