diff --git a/IO/Reader.cpp b/IO/Reader.cpp index 566c07cb..014e1e7b 100644 --- a/IO/Reader.cpp +++ b/IO/Reader.cpp @@ -3,6 +3,7 @@ #include "IO/IOHelpers.h" #include "IO/Mesh.h" #include "IO/MeshDatabase.h" +#include "IO/silo.h" #include "common/Utilities.h" #include diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 56e9a684..f3dac0d2 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -428,6 +428,10 @@ MACRO( IDENTIFY_COMPILER ) SET(USING_XL TRUE) ADD_DEFINITIONS( -DUSING_XL ) MESSAGE("Using XL") + ELSEIF( CMAKE_CXX_COMPILER_ID MATCHES "NVHPC") + SET(USING_NVHPC TRUE) + ADD_DEFINITIONS( -DUSING_NVHPC ) + MESSAGE("Using NVHPC") ELSE() MESSAGE( "CMAKE_C_COMPILER=${CMAKE_C_COMPILER}") MESSAGE( "CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") diff --git a/common/ScaLBL.cpp b/common/ScaLBL.cpp index 5f73015a..c753be18 100644 --- a/common/ScaLBL.cpp +++ b/common/ScaLBL.cpp @@ -2402,6 +2402,7 @@ void ScaLBL_Communicator::BiSendD3Q7AA(double *Aq, double *Bq) { ScaLBL_D3Q19_Pack(2, dvcSendList_x, sendCount_x, sendCount_x, sendbuf_x, Bq, N); + ScaLBL_DeviceBarrier(); req1[0] = MPI_COMM_SCALBL.Isend(sendbuf_x, 2 * sendCount_x, rank_x, sendtag + 0); req2[0] = @@ -2412,6 +2413,7 @@ void ScaLBL_Communicator::BiSendD3Q7AA(double *Aq, double *Bq) { ScaLBL_D3Q19_Pack(1, dvcSendList_X, sendCount_X, sendCount_X, sendbuf_X, Bq, N); + ScaLBL_DeviceBarrier(); req1[1] = MPI_COMM_SCALBL.Isend(sendbuf_X, 2 * sendCount_X, rank_X, sendtag + 1); req2[1] = @@ -2422,6 +2424,7 @@ void ScaLBL_Communicator::BiSendD3Q7AA(double *Aq, double *Bq) { ScaLBL_D3Q19_Pack(4, dvcSendList_y, sendCount_y, sendCount_y, sendbuf_y, Bq, N); + ScaLBL_DeviceBarrier(); req1[2] = MPI_COMM_SCALBL.Isend(sendbuf_y, 2 * sendCount_y, rank_y, sendtag + 2); req2[2] = @@ -2432,6 +2435,7 @@ void ScaLBL_Communicator::BiSendD3Q7AA(double *Aq, double *Bq) { ScaLBL_D3Q19_Pack(3, dvcSendList_Y, sendCount_Y, sendCount_Y, sendbuf_Y, Bq, N); + ScaLBL_DeviceBarrier(); req1[3] = MPI_COMM_SCALBL.Isend(sendbuf_Y, 2 * sendCount_Y, rank_Y, sendtag + 3); req2[3] = @@ -2442,6 +2446,7 @@ void ScaLBL_Communicator::BiSendD3Q7AA(double *Aq, double *Bq) { ScaLBL_D3Q19_Pack(6, dvcSendList_z, sendCount_z, sendCount_z, sendbuf_z, Bq, N); + ScaLBL_DeviceBarrier(); req1[4] = MPI_COMM_SCALBL.Isend(sendbuf_z, 2 * sendCount_z, rank_z, sendtag + 4); req2[4] = @@ -2454,6 +2459,7 @@ void ScaLBL_Communicator::BiSendD3Q7AA(double *Aq, double *Bq) { //................................................................................... // Send all the distributions + ScaLBL_DeviceBarrier(); req1[5] = MPI_COMM_SCALBL.Isend(sendbuf_Z, 2 * sendCount_Z, rank_Z, sendtag + 5); req2[5] =