From 72e472d86a483e18a346c7cca834dfdbc9e5427e Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Fri, 26 Apr 2024 18:33:10 -0400 Subject: [PATCH 01/66] Add Eric's nompi stub Added pcu_pnompi.c. Added SCOREC_NO_MPI CMake option. Removed direct MPI calls in parma, phasta, and PUMI. Added incomplete reimplementations of those MPI calls. --- CMakeLists.txt | 8 + parma/diffMC/maximalIndependentSet/mis.h | 2 - parma/diffMC/maximalIndependentSet/misLuby.cc | 1 - parma/group/parma_group.cc | 5 +- pcu/CMakeLists.txt | 7 +- pcu/PCU.h | 16 ++ pcu/pcu.c | 36 ++- pcu/pcu_mpi.h | 14 + pcu/pcu_pmpi.c | 24 ++ pcu/pcu_pmpi.h | 5 + pcu/pcu_pnompi.c | 248 ++++++++++++++++++ pcu/pcu_pnompi.h | 42 +++ phasta/phCook.cc | 4 +- phasta/phstream.cc | 6 +- pumi/pumi_ghost.cc | 7 +- pumi/pumi_mesh.cc | 11 +- pumi/pumi_numbering.cc | 4 +- pumi/pumi_sys.cc | 3 +- 18 files changed, 417 insertions(+), 26 deletions(-) create mode 100644 pcu/pcu_pnompi.c create mode 100644 pcu/pcu_pnompi.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f1ab11c3..2f3cd0b6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,14 @@ endif() option(ENABLE_CGNS "Enable the CGNS reader: requires c++14 extensions" OFF) message(STATUS "ENABLE_CGNS: ${ENABLE_CGNS}") +# +# option related to MPI +# +option(SCOREC_NO_MPI "Use a stub MPI implementation" OFF) +if (SCOREC_NO_MPI) + add_definitions(-DSCOREC_NO_MPI) +endif() + # Set some default compiler flags that should always be used if(NOT USE_XSDK_DEFAULTS) bob_set_shared_libs() diff --git a/parma/diffMC/maximalIndependentSet/mis.h b/parma/diffMC/maximalIndependentSet/mis.h index 2c760435b..ab727e9ef 100644 --- a/parma/diffMC/maximalIndependentSet/mis.h +++ b/parma/diffMC/maximalIndependentSet/mis.h @@ -7,8 +7,6 @@ #include #include -#include "mpi.h" - #include #include "PCU.h" diff --git a/parma/diffMC/maximalIndependentSet/misLuby.cc b/parma/diffMC/maximalIndependentSet/misLuby.cc index b2b2fbf5e..0cf0790be 100644 --- a/parma/diffMC/maximalIndependentSet/misLuby.cc +++ b/parma/diffMC/maximalIndependentSet/misLuby.cc @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/parma/group/parma_group.cc b/parma/group/parma_group.cc index 2afec2417..41fe6b3a8 100644 --- a/parma/group/parma_group.cc +++ b/parma/group/parma_group.cc @@ -37,13 +37,14 @@ static void runInGroups( int group = groupMap(self); MPI_Comm oldComm = PCU_Get_Comm(); MPI_Comm groupComm; - MPI_Comm_split(oldComm, group, groupRank, &groupComm); + + PCU_Comm_Split(oldComm, group, groupRank, &groupComm); PCU_Switch_Comm(groupComm); if (m) apf::remapPartition(m, inMap); code.run(group); PCU_Switch_Comm(oldComm); - MPI_Comm_free(&groupComm); + PCU_Comm_Free_One(&groupComm); if (m) apf::remapPartition(m, outMap); } diff --git a/pcu/CMakeLists.txt b/pcu/CMakeLists.txt index 91627f7ca..822d9f346 100644 --- a/pcu/CMakeLists.txt +++ b/pcu/CMakeLists.txt @@ -18,12 +18,17 @@ set(SOURCES pcu_mpi.c pcu_msg.c pcu_order.c - pcu_pmpi.c pcu_util.c noto/noto_malloc.c reel/reel.c ) +if(SCOREC_NO_MPI) + set(SOURCES ${SOURCES} pcu_pnompi.c) +else() + set(SOURCES ${SOURCES} pcu_pmpi.c) +endif() + # Package headers set(HEADERS PCU.h diff --git a/pcu/PCU.h b/pcu/PCU.h index f9a53362e..7d8e64eaa 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -13,7 +13,17 @@ #define PCU_SUCCESS 0 #define PCU_FAILURE -1 +#if defined(SCOREC_NO_MPI) + typedef int MPI_Comm; + typedef int MPI_Datatype; + typedef int MPI_Op; + #define MPI_SUM 1 + #define MPI_INT 2 + #define MPI_COMM_WORLD 0 + double MPI_Wtime(void); +#else #include +#endif #ifdef __cplusplus #include @@ -28,6 +38,12 @@ extern "C" { /*library init/finalize*/ int PCU_Comm_Init(void); int PCU_Comm_Free(void); +int PCU_Comm_Free_One(MPI_Comm* com); +int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom); +int PCU_Comm_Allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); +int PCU_Comm_Barrier(MPI_Comm comm); +double PCU_Wtime(); /*rank/size functions*/ int PCU_Comm_Self(void); diff --git a/pcu/pcu.c b/pcu/pcu.c index b6c30f901..3773de7a1 100644 --- a/pcu/pcu.c +++ b/pcu/pcu.c @@ -33,7 +33,11 @@ #include #include "PCU.h" #include "pcu_msg.h" -#include "pcu_pmpi.h" +#if defined(SCOREC_NO_MPI) + #include "pcu_pnompi.h" +#else + #include "pcu_pmpi.h" +#endif #include "pcu_order.h" #include "noto_malloc.h" #include "reel.h" @@ -88,6 +92,36 @@ int PCU_Comm_Free(void) return PCU_SUCCESS; } +int PCU_Comm_Free_One(MPI_Comm* com) +{ + pcu_pmpi_free(com); + return PCU_SUCCESS; +} + +int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom) +{ + pcu_pmpi_split(oldCom,color,key,newCom); + return PCU_SUCCESS; +} + +int PCU_Comm_Allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +{ + pcu_pmpi_allreduce(sendbuf,recvbuf,count,datatype,op,comm); + return PCU_SUCCESS; +} + +int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +{ + pcu_pmpi_allgather(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm); + return PCU_SUCCESS; +} + + int PCU_Comm_Barrier(MPI_Comm comm) +{ + pcu_pmpi_barrier(comm); + return PCU_SUCCESS; +} + /** \brief Returns the communication rank of the calling thread. \details when called from a non-threaded MPI process, this function is equivalent to MPI_Comm_rank(MPI_COMM_WORLD,rank). diff --git a/pcu/pcu_mpi.h b/pcu/pcu_mpi.h index 052920d04..cdccff076 100644 --- a/pcu/pcu_mpi.h +++ b/pcu/pcu_mpi.h @@ -11,7 +11,19 @@ #define PCU_MPI_H #include "pcu_buffer.h" + +#if defined(SCOREC_NO_MPI) +typedef int MPI_Comm; +typedef int MPI_Request; +typedef int MPI_Datatype; +typedef int MPI_Op; +#define MPI_COMM_WORLD 0 +#define MPI_ANY_SOURCE -1 +#define MPI_INT 0 +#define MPI_SUM 1 +#else #include +#endif typedef struct { @@ -39,5 +51,7 @@ int pcu_mpi_rank(void); void pcu_mpi_send(pcu_message* m, MPI_Comm comm); bool pcu_mpi_done(pcu_message* m); bool pcu_mpi_receive(pcu_message* m, MPI_Comm comm); +int pcu_mpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); +int pcu_mpi_free(MPI_Comm comm); #endif diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 814828a7e..a5e258040 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -42,6 +42,16 @@ void pcu_pmpi_finalize(void) MPI_Comm_free(&pcu_coll_comm); } +int pcu_pmpi_free(MPI_Comm* comm) +{ + MPI_Comm_free(comm); +} + +int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm) +{ + MPI_Comm_split(comm,color,key,newcomm); +} + int pcu_pmpi_size(void) { return global_size; @@ -118,3 +128,17 @@ MPI_Comm pcu_pmpi_comm(void) return original_comm; } +int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +{ + return MPI_Allreduce(sendbuf,recvbuf,count, datatype, op, comm); +} + +int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +{ + return MPI_Allgather(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm); +} + +int pcu_pmpi_barrier(MPI_Comm comm) +{ + return MPI_Barrier(comm); +} diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index c6707d23e..90a989abc 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -23,6 +23,11 @@ bool pcu_pmpi_receive(pcu_message* m, MPI_Comm comm); void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm); bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm); bool pcu_pmpi_done(pcu_message* m); +int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); +int pcu_pmpi_free(MPI_Comm* comm); +int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); +int pcu_pmpi_barrier(MPI_Comm comm); void pcu_pmpi_switch(MPI_Comm new_comm); MPI_Comm pcu_pmpi_comm(void); diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c new file mode 100644 index 000000000..9076fd80c --- /dev/null +++ b/pcu/pcu_pnompi.c @@ -0,0 +1,248 @@ +/****************************************************************************** + + Copyright 2011 Scientific Computation Research Center, + Rensselaer Polytechnic Institute. All rights reserved. + + This work is open source software, licensed under the terms of the + BSD license as described in the LICENSE file in the top-level directory. + +*******************************************************************************/ +#include "pcu_pnompi.h" +#include "pcu_buffer.h" +#include +#include +#include + +static int global_size; +static int global_rank; + +MPI_Comm original_comm; +MPI_Comm pcu_user_comm; +MPI_Comm pcu_coll_comm; + + +// +// ------------------------------------------------------------------ +// MPI related messages +// ------------------------------------------------------------------ + +// +// message as a doubled link list +typedef struct _NoMpiMsg +{ + char* msg; // the message + int size; // message size in byte + int tag; // tag associated with the message + int sender; // sender rank + int receiver; // receiver rank + struct _NoMpiMsg* next; // next message + struct _NoMpiMsg* prev; // previous message +} NoMpiMsg; + +static NoMpiMsg* _header = 0; // message headers + +void add_nompi_msg(void* msg, int size, int tag, int sender, int receiver) +{ + NoMpiMsg *nmsg = malloc(sizeof(NoMpiMsg)); + char* m = malloc(sizeof(char)*size); + char* mmsg = msg; + for (int i=0; imsg = m; + nmsg->size = size; + nmsg->tag = tag; + nmsg->sender = sender; + nmsg->receiver = sender; + nmsg->next = 0; + nmsg->prev = 0; + + if (_header==0) { + _header = nmsg; + nmsg->next = nmsg; + nmsg->prev = nmsg; + } + else { + nmsg->prev = _header->prev; + _header->prev->next = nmsg; + _header->prev = nmsg; + nmsg->next = _header; + } +} + +NoMpiMsg* get_nompi_msg(int tag, int receiver) +{ + NoMpiMsg* item=_header; + if (item!=0) + { + do + { + if (item->tag == tag && item->receiver == receiver) + { + item->prev->next = item->next; + item->next->prev = item->prev; + item->next = 0; + item->prev = 0; + if (_header==item) + _header = 0; + return item; + } + + } while(item!=_header); + } + return 0; +} + +void free_nompi_msg(NoMpiMsg* msg) +{ + if (msg->msg) + free(msg->msg); + free(msg); +} + + +// +// ------------------------------------------------------------------- +// pcu_mpi_* functionalities +// ------------------------------------------------------------------- +// + +double MPI_Wtime(void) +{ + return 0.0; +} + +pcu_mpi pcu_pmpi = +{ .size = pcu_pmpi_size, + .rank = pcu_pmpi_rank, + .send = pcu_pmpi_send, + .done = pcu_pmpi_done, + .receive = pcu_pmpi_receive }; + +void pcu_pmpi_init(MPI_Comm comm) +{ + original_comm = comm; + pcu_user_comm = comm+1; + pcu_coll_comm = comm+2; + + global_size = 1; + global_rank = 1; + +// MPI_Comm_dup(comm,&pcu_user_comm); +// MPI_Comm_dup(comm,&pcu_coll_comm); +// MPI_Comm_size(comm,&global_size); +// MPI_Comm_rank(comm,&global_rank); +} + +void pcu_pmpi_finalize(void) +{ + pcu_user_comm = 0; + pcu_coll_comm = 0; +// MPI_Comm_free(&pcu_user_comm); +// MPI_Comm_free(&pcu_coll_comm); +} + +int pcu_pmpi_free(MPI_Comm* comm) +{ + return 0; +} + +int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc) +{ + return 1; +} + +int pcu_pmpi_size(void) +{ + return global_size; +} + +int pcu_pmpi_rank(void) +{ + return global_rank; +} + +void pcu_pmpi_send(pcu_message* m, MPI_Comm comm) +{ + pcu_pmpi_send2(m,0,comm); +} + +void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm) +{ + if( m->buffer.size > (size_t)INT_MAX ) { + fprintf(stderr, "ERROR PCU message size exceeds INT_MAX... exiting\n"); + abort(); + } + + add_nompi_msg(m->buffer.start, + (int)(m->buffer.size), + tag, + global_rank, + m->peer + ); +} + +bool pcu_pmpi_done(pcu_message* m) +{ + return true; +// int flag; +// MPI_Test(&(m->request),&flag,MPI_STATUS_IGNORE); +// return flag; +} + +bool pcu_pmpi_receive(pcu_message* m, MPI_Comm comm) +{ + return pcu_pmpi_receive2(m,0,comm); +} + +bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm) +{ + NoMpiMsg* msg = get_nompi_msg(tag,global_rank); + if (msg==0) + { + printf("Did not receive a proper message\n"); + return false; + } + + int msize = msg->size; + + pcu_resize_buffer(&(m->buffer),(size_t)msize); + + for (int i=0; ibuffer.start)[i] = msg->msg[i]; + } + + // delete the message + free(msg->msg); + free(msg); + return true; +} + +void pcu_pmpi_switch(MPI_Comm new_comm) +{ + return ; +// pcu_pmpi_finalize(); +// pcu_pmpi_init(new_comm); +} + +MPI_Comm pcu_pmpi_comm(void) +{ + return original_comm; +} + +int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +{ + return 0; +} + +int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +{ + return 0; +} + +int pcu_pmpi_barrier(MPI_Comm comm) +{ + return 0; +} diff --git a/pcu/pcu_pnompi.h b/pcu/pcu_pnompi.h new file mode 100644 index 000000000..eb9fe77ee --- /dev/null +++ b/pcu/pcu_pnompi.h @@ -0,0 +1,42 @@ +/****************************************************************************** + + Copyright 2011 Scientific Computation Research Center, + Rensselaer Polytechnic Institute. All rights reserved. + + This work is open source software, licensed under the terms of the + BSD license as described in the LICENSE file in the top-level directory. + +*******************************************************************************/ +#ifndef PCU_NO_PMPI_H +#define PCU_NO_PMPI_H + +#include "pcu_mpi.h" + +#include + +void pcu_pmpi_init(MPI_Comm comm); +void pcu_pmpi_finalize(void); +int pcu_pmpi_size(void); +int pcu_pmpi_rank(void); +void pcu_pmpi_send(pcu_message* m, MPI_Comm comm); +bool pcu_pmpi_receive(pcu_message* m, MPI_Comm comm); +void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm); +bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm); +bool pcu_pmpi_done(pcu_message* m); +int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc); +int pcu_pmpi_free(MPI_Comm* comm); +int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); +int pcu_pmpi_barrier(MPI_Comm comm); + +void pcu_pmpi_switch(MPI_Comm new_comm); +MPI_Comm pcu_pmpi_comm(void); + +extern pcu_mpi pcu_pmpi; + +extern MPI_Comm pcu_user_comm; +extern MPI_Comm pcu_coll_comm; + +double MPI_Wtime(void); + +#endif diff --git a/phasta/phCook.cc b/phasta/phCook.cc index 983570d43..00a29f2e6 100644 --- a/phasta/phCook.cc +++ b/phasta/phCook.cc @@ -53,7 +53,7 @@ void switchToMasters(int splitFactor) int groupRank = self / splitFactor; int group = self % splitFactor; MPI_Comm groupComm; - MPI_Comm_split(PCU_Get_Comm(), group, groupRank, &groupComm); + PCU_Comm_Split(PCU_Get_Comm(), group, groupRank, &groupComm); PCU_Switch_Comm(groupComm); } @@ -61,7 +61,7 @@ void switchToAll(MPI_Comm orig) { MPI_Comm prevComm = PCU_Get_Comm(); PCU_Switch_Comm(orig); - MPI_Comm_free(&prevComm); + PCU_Comm_Free_One(&prevComm); PCU_Barrier(); } diff --git a/phasta/phstream.cc b/phasta/phstream.cc index 44a346dbd..8443928a8 100644 --- a/phasta/phstream.cc +++ b/phasta/phstream.cc @@ -3,7 +3,7 @@ #include #include #include "phstream.h" -#include +#include #ifndef PHSTREAM_TIMERS_ON #define PHSTREAM_TIMERS_ON 0 @@ -11,12 +11,12 @@ namespace { inline double getTime() { - return MPI_Wtime(); + return PCU_Time(); } #if PHSTREAM_TIMERS_ON==1 inline bool isRankZero() { int rank = 0; - MPI_Comm_rank(PCU_Get_Comm(), &rank); + PCU_Comm_Rank(&rank); return !rank; } #endif diff --git a/pumi/pumi_ghost.cc b/pumi/pumi_ghost.cc index e8dfdacdd..9464d61e7 100644 --- a/pumi/pumi_ghost.cc +++ b/pumi/pumi_ghost.cc @@ -10,7 +10,6 @@ #include "pumi.h" #include #include -#include #include #include #include @@ -579,7 +578,7 @@ void do_off_part_bridge(pMesh m, int brg_dim, int ghost_dim, int num_layer, for (int i=0; i #include #include #include @@ -184,7 +183,7 @@ void split_comm(int num_out_comm) int group_id = self % num_out_comm; int in_group_rank = self / num_out_comm; MPI_Comm groupComm; - MPI_Comm_split(PCU_Get_Comm(), group_id, in_group_rank, &groupComm); + PCU_Comm_Split(PCU_Get_Comm(), group_id, in_group_rank, &groupComm); PCU_Switch_Comm(groupComm); } @@ -192,7 +191,7 @@ void merge_comm(MPI_Comm oldComm) { MPI_Comm prevComm = PCU_Get_Comm(); PCU_Switch_Comm(oldComm); - MPI_Comm_free(&prevComm); + PCU_Comm_Free_One(&prevComm); } @@ -345,7 +344,7 @@ void pumi_mesh_setCount(pMesh m, pOwnership o) pumi::instance()->num_own_ent[dim] = n; } } - MPI_Allreduce(pumi::instance()->num_own_ent, pumi::instance()->num_global_ent, 4, MPI_INT, MPI_SUM, PCU_Get_Comm()); + PCU_Comm_Allreduce(pumi::instance()->num_own_ent, pumi::instance()->num_global_ent, 4, MPI_INT, MPI_SUM, PCU_Get_Comm()); #ifdef DEBUG if (!pumi_rank()) std::cout<<"[PUMI INFO] "<<__func__<<" end\n"; #endif @@ -433,10 +432,10 @@ void pumi_mesh_print (pMesh m, bool print_ent) int* global_local_entity_count = new int[4*PCU_Comm_Peers()]; int* global_own_entity_count = new int[4*PCU_Comm_Peers()]; - MPI_Allreduce(local_entity_count, global_local_entity_count, 4*PCU_Comm_Peers(), + PCU_Comm_Allreduce(local_entity_count, global_local_entity_count, 4*PCU_Comm_Peers(), MPI_INT, MPI_SUM, PCU_Get_Comm()); - MPI_Allreduce(own_entity_count, global_own_entity_count, 4*PCU_Comm_Peers(), + PCU_Comm_Allreduce(own_entity_count, global_own_entity_count, 4*PCU_Comm_Peers(), MPI_INT, MPI_SUM, PCU_Get_Comm()); diff --git a/pumi/pumi_numbering.cc b/pumi/pumi_numbering.cc index e8997231b..16ddfbe5a 100644 --- a/pumi/pumi_numbering.cc +++ b/pumi/pumi_numbering.cc @@ -138,7 +138,7 @@ pNumbering pumi_numbering_createProcGrp ( int* out_arr = new int[PCU_Comm_Peers()]; // out[i] has local_numOwnedPartBdryEnt of process i on all processes *in = owned_node_cnt; - MPI_Allgather(in, 1, MPI_INT, out_arr, 1, MPI_INT, PCU_Get_Comm()); + PCU_Comm_Allgather(in, 1, MPI_INT, out_arr, 1, MPI_INT, PCU_Get_Comm()); it = m->begin(dim); int nbr = 0; @@ -215,6 +215,6 @@ void pumi_numbering_print(pNumbering n, int pid) } // if shp } // for dd } // if (pid==PCU_Comm_Self()) - MPI_Barrier(MPI_COMM_WORLD); + PCU_Comm_Barrier(MPI_COMM_WORLD); } // for } diff --git a/pumi/pumi_sys.cc b/pumi/pumi_sys.cc index b41be4ff3..cf46a83f6 100644 --- a/pumi/pumi_sys.cc +++ b/pumi/pumi_sys.cc @@ -10,7 +10,6 @@ #include #include "pumi.h" #include -#include //************************************ //************************************ @@ -40,7 +39,7 @@ int pumi_rank() void pumi_sync(void) { - MPI_Barrier(PCU_Get_Comm()); + PCU_Comm_Barrier(PCU_Get_Comm()); } #include From 0ac4fcdfeb1ef05b0faf96875b13d79e487c2dd5 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 30 Apr 2024 08:56:35 -0400 Subject: [PATCH 02/66] Add MPI stubs and refactor typedefs Add stubs for MPI_Init and MPI_Finalize. Add pcu_pnompi_types.h for MPI typedefs. Add status message about SCOREC_NO_MPI flag. Signed-off-by: Aiden Woodruff --- CMakeLists.txt | 1 + pcu/PCU.h | 9 +++------ pcu/pcu_mpi.h | 9 +-------- pcu/pcu_pnompi.c | 7 +++++++ pcu/pcu_pnompi_types.h | 22 ++++++++++++++++++++++ 5 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 pcu/pcu_pnompi_types.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f3cd0b6a..c2fb117ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ message(STATUS "ENABLE_CGNS: ${ENABLE_CGNS}") # option related to MPI # option(SCOREC_NO_MPI "Use a stub MPI implementation" OFF) +message(STATUS "SCOREC_NO_MPI: ${SCOREC_NO_MPI}") if (SCOREC_NO_MPI) add_definitions(-DSCOREC_NO_MPI) endif() diff --git a/pcu/PCU.h b/pcu/PCU.h index 7d8e64eaa..0c1ef86f0 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -14,13 +14,10 @@ #define PCU_FAILURE -1 #if defined(SCOREC_NO_MPI) - typedef int MPI_Comm; - typedef int MPI_Datatype; - typedef int MPI_Op; - #define MPI_SUM 1 - #define MPI_INT 2 - #define MPI_COMM_WORLD 0 +#include "pcu_pnompi_types.h" double MPI_Wtime(void); + void MPI_Init(int* argc, char*** argv); + void MPI_Finalize(void); #else #include #endif diff --git a/pcu/pcu_mpi.h b/pcu/pcu_mpi.h index cdccff076..0af9f7dcf 100644 --- a/pcu/pcu_mpi.h +++ b/pcu/pcu_mpi.h @@ -13,14 +13,7 @@ #include "pcu_buffer.h" #if defined(SCOREC_NO_MPI) -typedef int MPI_Comm; -typedef int MPI_Request; -typedef int MPI_Datatype; -typedef int MPI_Op; -#define MPI_COMM_WORLD 0 -#define MPI_ANY_SOURCE -1 -#define MPI_INT 0 -#define MPI_SUM 1 +#include "pcu_pnompi_types.h" #else #include #endif diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 9076fd80c..d5f301332 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -113,6 +113,13 @@ double MPI_Wtime(void) return 0.0; } +void MPI_Init(int* argc, char*** argv) { + (void) argc; + (void) argv; +} + +void MPI_Finalize(void) {} + pcu_mpi pcu_pmpi = { .size = pcu_pmpi_size, .rank = pcu_pmpi_rank, diff --git a/pcu/pcu_pnompi_types.h b/pcu/pcu_pnompi_types.h new file mode 100644 index 000000000..ea01a410d --- /dev/null +++ b/pcu/pcu_pnompi_types.h @@ -0,0 +1,22 @@ +/****************************************************************************** + + Copyright 2011 Scientific Computation Research Center, + Rensselaer Polytechnic Institute. All rights reserved. + + This work is open source software, licensed under the terms of the + BSD license as described in the LICENSE file in the top-level directory. + +*******************************************************************************/ +#ifndef PCU_PNOMPI_TYPES_H +#define PCU_PNOMPI_TYPES_H + +typedef int MPI_Comm; +typedef int MPI_Request; +typedef int MPI_Datatype; +typedef int MPI_Op; +#define MPI_COMM_WORLD 0 +#define MPI_ANY_SOURCE -1 +#define MPI_SUM 1 +#define MPI_INT 2 + +#endif // PCU_PNOMPI_TYPES_H From 1924c52760edcaa4b51f0cf125d6f0905a59dd96 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 30 Apr 2024 10:18:26 -0400 Subject: [PATCH 03/66] Add extern C and fix MPI_Init and MPI_Finalize return type Signed-off-by: Aiden Woodruff --- pcu/PCU.h | 12 ++++++++++-- pcu/pcu_pnompi.c | 7 +++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pcu/PCU.h b/pcu/PCU.h index 0c1ef86f0..bf7aadaa2 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -15,9 +15,17 @@ #if defined(SCOREC_NO_MPI) #include "pcu_pnompi_types.h" + +#ifdef __cplusplus +extern "C" { +#endif double MPI_Wtime(void); - void MPI_Init(int* argc, char*** argv); - void MPI_Finalize(void); + int MPI_Init(int* argc, char*** argv); + int MPI_Finalize(void); +#ifdef __cplusplus +} +#endif + #else #include #endif diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index d5f301332..783d7e0d6 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -113,12 +113,15 @@ double MPI_Wtime(void) return 0.0; } -void MPI_Init(int* argc, char*** argv) { +int MPI_Init(int* argc, char*** argv) { (void) argc; (void) argv; + return 0; } -void MPI_Finalize(void) {} +int MPI_Finalize(void) { + return 0; +} pcu_mpi pcu_pmpi = { .size = pcu_pmpi_size, From ec115cdfe5b8486f981c987832f669d96b1da362 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 30 Apr 2024 10:19:08 -0400 Subject: [PATCH 04/66] Replace MPI_Comm_Split with PCU_Comm_Split Replace MPI_Comm_free with PCU_Comm_Free_One. Signed-off-by: Aiden Woodruff --- test/repartition.cc | 4 ++-- test/split.cc | 4 ++-- test/ugrid.cc | 4 ++-- test/zsplit.cc | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/test/repartition.cc b/test/repartition.cc index 4325116f0..06e804864 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -40,7 +40,7 @@ bool switchToOriginals() groupRank = 0; } MPI_Comm groupComm; - MPI_Comm_split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); PCU_Switch_Comm(groupComm); return isOriginal; } @@ -49,7 +49,7 @@ void switchToAll() { MPI_Comm prevComm = PCU_Get_Comm(); PCU_Switch_Comm(MPI_COMM_WORLD); - MPI_Comm_free(&prevComm); + PCU_Comm_Free_One(&prevComm); PCU_Barrier(); } diff --git a/test/split.cc b/test/split.cc index e56b5dc7c..7a6084bed 100644 --- a/test/split.cc +++ b/test/split.cc @@ -44,7 +44,7 @@ void switchToOriginals() int groupRank = self / partitionFactor; int group = self % partitionFactor; MPI_Comm groupComm; - MPI_Comm_split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); PCU_Switch_Comm(groupComm); } @@ -52,7 +52,7 @@ void switchToAll() { MPI_Comm prevComm = PCU_Get_Comm(); PCU_Switch_Comm(MPI_COMM_WORLD); - MPI_Comm_free(&prevComm); + PCU_Comm_Free_One(&prevComm); PCU_Barrier(); } diff --git a/test/ugrid.cc b/test/ugrid.cc index 87ef32016..7bff47225 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -25,7 +25,7 @@ void switchToOriginals(const int partitionFactor) int groupRank = self / partitionFactor; int group = self % partitionFactor; MPI_Comm groupComm; - MPI_Comm_split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); PCU_Switch_Comm(groupComm); } @@ -33,7 +33,7 @@ void switchToAll() { MPI_Comm prevComm = PCU_Get_Comm(); PCU_Switch_Comm(MPI_COMM_WORLD); - MPI_Comm_free(&prevComm); + PCU_Comm_Free_One(&prevComm); PCU_Barrier(); } int main(int argc, char** argv) diff --git a/test/zsplit.cc b/test/zsplit.cc index 50b8259fb..fa9e20250 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -46,7 +46,7 @@ void switchToOriginals() int groupRank = self / partitionFactor; int group = self % partitionFactor; MPI_Comm groupComm; - MPI_Comm_split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); PCU_Switch_Comm(groupComm); } @@ -54,7 +54,7 @@ void switchToAll() { MPI_Comm prevComm = PCU_Get_Comm(); PCU_Switch_Comm(MPI_COMM_WORLD); - MPI_Comm_free(&prevComm); + PCU_Comm_Free_One(&prevComm); PCU_Barrier(); } From 235c4b4e4743aabfb333af7c528b23b5faf043b2 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 30 Apr 2024 12:49:47 -0400 Subject: [PATCH 05/66] Remove direct MPI calls from tests Signed-off-by: Aiden Woodruff --- test/fieldReduce.cc | 4 ++-- test/pumi.cc | 7 +++---- test/test_integrator.cc | 1 - test/test_matrix_grad.cc | 1 - 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index df70a5409..3f619dacf 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -168,8 +168,8 @@ int main(int argc, char** argv) MPI_Init(&argc,&argv); PCU_Comm_Init(); lion_set_verbosity(1); - MPI_Comm_rank(PCU_Get_Comm(), &myrank); - MPI_Comm_size(PCU_Get_Comm(), &commsize); + PCU_Comm_Rank(&myrank); + PCU_Comm_Size(&commsize); #ifdef HAVE_SIMMETRIX MS_init(); SimModel_start(); diff --git a/test/pumi.cc b/test/pumi.cc index bda9ed4a8..2de5be3ae 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -11,7 +11,6 @@ #include #include #include -#include const char* modelFile = 0; const char* meshFile = 0; @@ -789,7 +788,7 @@ void TEST_GHOSTING(pMesh m) pumi_ghost_create(m, ghosting_plan); int total_mcount_diff=0, mcount_diff = pumi_mesh_getNumEnt(m, mesh_dim)-before_mcount; - MPI_Allreduce(&mcount_diff, &total_mcount_diff,1, MPI_INT, MPI_SUM, PCU_Get_Comm()); + PCU_Comm_Allreduce(&mcount_diff, &total_mcount_diff,1, MPI_INT, MPI_SUM, PCU_Get_Comm()); if (!pumi_rank()) std::cout<<"\n[test_pumi] element-wise pumi_ghost_create: #ghost increase="< #include #include -#include #include #include #include diff --git a/test/test_matrix_grad.cc b/test/test_matrix_grad.cc index 71eb13729..4cc1e8a14 100644 --- a/test/test_matrix_grad.cc +++ b/test/test_matrix_grad.cc @@ -1,7 +1,6 @@ #include #include #include -#include #include #include #include From fd4ae56ec094775c28bdb249c820e4173a044657 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 30 Apr 2024 12:50:15 -0400 Subject: [PATCH 06/66] Do not use mpirun for tests with SCOREC_NO_MPI Signed-off-by: Aiden Woodruff --- test/testing.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/testing.cmake b/test/testing.cmake index e8b97537a..4fe903ee5 100644 --- a/test/testing.cmake +++ b/test/testing.cmake @@ -2,10 +2,14 @@ set(MESHES "" CACHE STRING "Extracted http://scorec.rpi.edu/pumi/pumi_test_meshes.tar.gz") function(mpi_test TESTNAME PROCS EXE) + if(SCOREC_NO_MPI) + add_test(NAME ${TESTNAME} COMMAND ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) + else() add_test( NAME ${TESTNAME} COMMAND ${MPIRUN} ${MPIRUN_PROCFLAG} ${PROCS} ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN} ) + endif() endfunction(mpi_test) mpi_test(shapefun 1 ./shapefun) From df6efc1ffb37a8db39c45a56752b9c99c4949079 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 30 Apr 2024 12:50:47 -0400 Subject: [PATCH 07/66] Replace stub MPI_Init/Finalize with empty #define This will avoid object collisions when linking to libraries that already use MPI. - i.e. the intended use case for SCOREC_NO_MPI. Signed-off-by: Aiden Woodruff --- pcu/PCU.h | 12 +++--------- pcu/pcu_pnompi.c | 12 +----------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/pcu/PCU.h b/pcu/PCU.h index bf7aadaa2..cb51fb405 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -15,17 +15,11 @@ #if defined(SCOREC_NO_MPI) #include "pcu_pnompi_types.h" - -#ifdef __cplusplus -extern "C" { -#endif double MPI_Wtime(void); - int MPI_Init(int* argc, char*** argv); - int MPI_Finalize(void); -#ifdef __cplusplus -} -#endif +// Remove MPI calls. +#define MPI_Init(argc, argv) +#define MPI_Finalize(void) #else #include #endif diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 783d7e0d6..8ef67ac82 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -113,16 +113,6 @@ double MPI_Wtime(void) return 0.0; } -int MPI_Init(int* argc, char*** argv) { - (void) argc; - (void) argv; - return 0; -} - -int MPI_Finalize(void) { - return 0; -} - pcu_mpi pcu_pmpi = { .size = pcu_pmpi_size, .rank = pcu_pmpi_rank, @@ -137,7 +127,7 @@ void pcu_pmpi_init(MPI_Comm comm) pcu_coll_comm = comm+2; global_size = 1; - global_rank = 1; + global_rank = 0; // MPI_Comm_dup(comm,&pcu_user_comm); // MPI_Comm_dup(comm,&pcu_coll_comm); From 79556ccf651e48735164b3abb85835449a8933a4 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 2 May 2024 16:05:03 -0400 Subject: [PATCH 08/66] Fixed stub unused parameter warnings Changed add_nompi_msg to record receiver. - Since there's no MPI, sender == receiver but I want to quiet the warnings. Signed-off-by: Aiden Woodruff --- pcu/PCU.h | 5 ++++- pcu/pcu_pnompi.c | 25 ++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/pcu/PCU.h b/pcu/PCU.h index cb51fb405..867988ad1 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -18,7 +18,10 @@ double MPI_Wtime(void); // Remove MPI calls. -#define MPI_Init(argc, argv) +#define MPI_Init(argc, argv) do { \ +(void) argc; \ +(void) argv; \ +} while (0) #define MPI_Finalize(void) #else #include diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 8ef67ac82..1fac4c6e7 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -54,7 +54,7 @@ void add_nompi_msg(void* msg, int size, int tag, int sender, int receiver) nmsg->size = size; nmsg->tag = tag; nmsg->sender = sender; - nmsg->receiver = sender; + nmsg->receiver = receiver; nmsg->next = 0; nmsg->prev = 0; @@ -145,11 +145,16 @@ void pcu_pmpi_finalize(void) int pcu_pmpi_free(MPI_Comm* comm) { + (void) comm; return 0; } int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc) { + (void) c; + (void) color; + (void) key; + (void) nc; return 1; } @@ -170,6 +175,7 @@ void pcu_pmpi_send(pcu_message* m, MPI_Comm comm) void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm) { + (void) comm; if( m->buffer.size > (size_t)INT_MAX ) { fprintf(stderr, "ERROR PCU message size exceeds INT_MAX... exiting\n"); abort(); @@ -185,6 +191,7 @@ void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm) bool pcu_pmpi_done(pcu_message* m) { + (void) m; return true; // int flag; // MPI_Test(&(m->request),&flag,MPI_STATUS_IGNORE); @@ -198,6 +205,7 @@ bool pcu_pmpi_receive(pcu_message* m, MPI_Comm comm) bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm) { + (void) comm; NoMpiMsg* msg = get_nompi_msg(tag,global_rank); if (msg==0) { @@ -222,6 +230,7 @@ bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm) void pcu_pmpi_switch(MPI_Comm new_comm) { + (void) new_comm; return ; // pcu_pmpi_finalize(); // pcu_pmpi_init(new_comm); @@ -234,15 +243,29 @@ MPI_Comm pcu_pmpi_comm(void) int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) { + (void) sendbuf; + (void) recvbuf; + (void) count; + (void) datatype; + (void) op; + (void) comm; return 0; } int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) { + (void) sendbuf; + (void) sendcount; + (void) sendtype; + (void) recvbuf; + (void) recvcount; + (void) recvtype; + (void) comm; return 0; } int pcu_pmpi_barrier(MPI_Comm comm) { + (void) comm; return 0; } From a29f81fba110a5a639a40ec16ec322c14fe448fb Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 2 May 2024 22:29:16 -0400 Subject: [PATCH 09/66] Fix g++ warnings Add return type for pcu_pmpi_free, pcu_pmpi_split. Signed-off-by: Aiden Woodruff --- pcu/pcu_pmpi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index a5e258040..17767308b 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -44,12 +44,12 @@ void pcu_pmpi_finalize(void) int pcu_pmpi_free(MPI_Comm* comm) { - MPI_Comm_free(comm); + return MPI_Comm_free(comm); } int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm) { - MPI_Comm_split(comm,color,key,newcomm); + return MPI_Comm_split(comm,color,key,newcomm); } int pcu_pmpi_size(void) From 1f16b30db21bb2f2271fb23e919320dd5a224ac4 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Sun, 5 May 2024 08:58:54 -0400 Subject: [PATCH 10/66] Remove spurious pnompi error message Add linked list traversal to find a matching message. Removed error message that did not actually indicate errors. - If no message is found it's perfectly reasonable and in fact correct to return 0 and that's how pmpi knows to return false. Signed-off-by: Aiden Woodruff --- pcu/pcu_pnompi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 1fac4c6e7..032eb6e10 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -88,7 +88,7 @@ NoMpiMsg* get_nompi_msg(int tag, int receiver) _header = 0; return item; } - + item = item->next; } while(item!=_header); } return 0; @@ -209,7 +209,6 @@ bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm) NoMpiMsg* msg = get_nompi_msg(tag,global_rank); if (msg==0) { - printf("Did not receive a proper message\n"); return false; } From 5dda7d0162659dc8bf55d54d1cfb1a76dd5c756b Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 11 Sep 2024 15:37:11 -0400 Subject: [PATCH 11/66] Only run 1-proc tests with SCOREC_NO_MPI Run smoke tests without mpirun given SCOREC_NO_MPI. Add SCOREC_NO_MPI to the GitHub Actions test matrix. Signed-off-by: Aiden Woodruff --- .github/workflows/cmake.yml | 3 ++- test/smokeTesting.cmake | 8 ++++++++ test/testing.cmake | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 445d9905e..687af6f58 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -15,6 +15,7 @@ jobs: - { name: GNU, CC: gcc-10, CXX: g++-10 } - { name: LLVM, CC: clang, CXX: clang++ } build_type: [Debug, Release] + no_mpi: [OFF, ON] steps: - uses: actions/checkout@v4 @@ -30,7 +31,7 @@ jobs: env: MPICH_CXX: ${{matrix.compiler.CXX}} MPICH_CC: ${{matrix.compiler.CC}} - run: cmake -S ${{github.workspace}} -B ${{github.workspace}}/build -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DCMAKE_VERBOSE_MAKEFILE=ON -DMESHES=${{github.workspace}}/pumi-meshes -DIS_TESTING=ON -DSCOREC_CXX_WARNINGS=ON -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install + run: cmake -S ${{github.workspace}} -B ${{github.workspace}}/build -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DCMAKE_VERBOSE_MAKEFILE=ON -DMESHES=${{github.workspace}}/pumi-meshes -DIS_TESTING=ON -DSCOREC_CXX_WARNINGS=ON -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install -DSCOREC_NO_MPI=${{matrix.no_mpi}} - name: Build env: diff --git a/test/smokeTesting.cmake b/test/smokeTesting.cmake index 49a460dec..f90bad789 100644 --- a/test/smokeTesting.cmake +++ b/test/smokeTesting.cmake @@ -1,8 +1,16 @@ function(smoke_test TESTNAME PROCS EXE) set(tname smoke_test_${TESTNAME}) + if(SCOREC_NO_MPI) + if(PROCS EQUAL "1") + add_test(NAME ${tname} COMMAND ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) + else() + return() + endif() + else() add_test( NAME ${tname} COMMAND ${MPIRUN} ${MPIRUN_PROCFLAG} ${PROCS} ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) + endif() SET_TESTS_PROPERTIES(${tname} PROPERTIES LABELS "SMOKE_TEST" ) endfunction(smoke_test) diff --git a/test/testing.cmake b/test/testing.cmake index 4fe903ee5..72f07c255 100644 --- a/test/testing.cmake +++ b/test/testing.cmake @@ -3,7 +3,9 @@ set(MESHES "" "Extracted http://scorec.rpi.edu/pumi/pumi_test_meshes.tar.gz") function(mpi_test TESTNAME PROCS EXE) if(SCOREC_NO_MPI) + if(${PROCS} EQUAL "1") add_test(NAME ${TESTNAME} COMMAND ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) + endif() else() add_test( NAME ${TESTNAME} From 43d90f9d2fe0297599363604ee3b2df89d3c3cd7 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 6 May 2024 11:09:12 -0400 Subject: [PATCH 12/66] Set msg peer in pcu_pnompi receive2 Signed-off-by: Aiden Woodruff --- pcu/pcu_pnompi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 032eb6e10..93b3fa26b 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -211,6 +211,8 @@ bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm) { return false; } + + m->peer = msg->sender; int msize = msg->size; From 98f0659d0ad01b4142b91afc1a609da7a9fc46c3 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Fri, 14 Jun 2024 13:09:06 -0400 Subject: [PATCH 13/66] feat: Implement PCU_Time without MPI_WTime I use clock_gettime, which is one of the many methods mpich uses depending on the system. Signed-off-by: Aiden Woodruff --- pcu/pcu_pnompi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 93b3fa26b..87d90ce53 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -12,6 +12,7 @@ #include #include #include +#include static int global_size; static int global_rank; @@ -110,7 +111,9 @@ void free_nompi_msg(NoMpiMsg* msg) double MPI_Wtime(void) { - return 0.0; + struct timespec now; + clock_gettime(CLOCK_REALTIME, &now); + return (double)now.tv_sec + now.tv_nsec * 1.0e-9; } pcu_mpi pcu_pmpi = From 07727ed016feb53fedced521b5575ae23cb854b0 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Fri, 14 Jun 2024 13:27:37 -0400 Subject: [PATCH 14/66] fix: Add pcu_pnompi_types.h to install headers Also update TriBITS package file. Signed-off-by: Aiden Woodruff --- pcu/CMakeLists.txt | 4 ++++ pcu/pkg_tribits.cmake | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pcu/CMakeLists.txt b/pcu/CMakeLists.txt index 822d9f346..a02202a7c 100644 --- a/pcu/CMakeLists.txt +++ b/pcu/CMakeLists.txt @@ -37,6 +37,10 @@ set(HEADERS reel/reel.h ) +if(SCOREC_NO_MPI) + set(HEADERS ${HEADERS} pcu_pnompi_types.h) +endif() + # Add the pcu library add_library(pcu ${SOURCES}) # this compiler definition is needed to silence warnings caused by the openmpi CXX diff --git a/pcu/pkg_tribits.cmake b/pcu/pkg_tribits.cmake index 0c43fc64a..2a46a126b 100644 --- a/pcu/pkg_tribits.cmake +++ b/pcu/pkg_tribits.cmake @@ -41,12 +41,17 @@ set(SOURCES pcu_mpi.c pcu_msg.c pcu_order.c - pcu_pmpi.c pcu_util.c noto/noto_malloc.c reel/reel.c ) +if(SCOREC_NO_MPI) + set(SOURCES ${SOURCES} pcu_pnompi.c) +else() + set(SOURCES ${SOURCES} pcu_pmpi.c) +endif() + set(HEADERS PCU.h pcu_io.h @@ -54,6 +59,10 @@ set(HEADERS noto/noto_malloc.h reel/reel.h) +if(SCOREC_NO_MPI) + set(HEADERS ${HEADERS} pcu_pnompi_types.h) +endif() + tribits_add_library( pcu HEADERS ${HEADERS} From 7db4547959fa7f2533b611e7a8c4c27f663f9ef2 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 11 Sep 2024 18:29:04 -0400 Subject: [PATCH 15/66] Fix set_test_properties on multiproc tests - Add mpi_test_depends function to replace set_test_properties. This function checks if SCOREC_NO_MPI is defined and assumes nonexistent tests were multiproc ones. Signed-off-by: Aiden Woodruff --- test/testing.cmake | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/test/testing.cmake b/test/testing.cmake index 72f07c255..657416401 100644 --- a/test/testing.cmake +++ b/test/testing.cmake @@ -14,6 +14,24 @@ function(mpi_test TESTNAME PROCS EXE) endif() endfunction(mpi_test) +function(mpi_test_depends) + cmake_parse_arguments(MPI_TEST_DEPENDS "" "" "TESTS;DEPENDS" ${ARGN}) + if (NOT DEFINED MPI_TEST_DEPENDS_TESTS OR NOT DEFINED MPI_TEST_DEPENDS_DEPENDS) + return() + endif() + if(SCOREC_NO_MPI) + # Check for test existence as it may be a multiproc test. + if(TEST "${TESTNAME}") + set_tests_properties(${MPI_TEST_DEPENDS_TESTS} PROPERTIES + DEPENDS "${MPI_TEST_DEPENDS_DEPENDS}") + endif() + else() + # Don't check if test exists because it's more likely a typo. + set_tests_properties(${MPI_TEST_DEPENDS_TESTS} PROPERTIES + DEPENDS "${MPI_TEST_DEPENDS_DEPENDS}") + endif() +endfunction() + mpi_test(shapefun 1 ./shapefun) mpi_test(shapefun2 1 ./shapefun2) mpi_test(bezierElevation 1 ./bezierElevation) @@ -140,7 +158,7 @@ if(ENABLE_SIMMETRIX AND SIM_PARASOLID AND SIMMODSUITE_SimAdvMeshing_FOUND) "${MDIR}/outmesh_4_parts.sms" 3504 WORKING_DIRECTORY ${MDIR}) - set_tests_properties(countBL_part_mesh PROPERTIES DEPENDS partition_sim) + mpi_test_depends(TESTS countBL_part_mesh DEPENDS partition_sim) endif() endif() endif(ENABLE_SIMMETRIX AND SIM_PARASOLID AND SIMMODSUITE_SimAdvMeshing_FOUND) @@ -271,7 +289,7 @@ mpi_test(inviscid_ghost 4 "${MDIR}/inviscid_egg.dmg" "${MDIR}/4/" "${MDIR}/vis") -set_tests_properties(inviscid_ghost PROPERTIES DEPENDS inviscid_ugrid) +mpi_test_depends(TESTS inviscid_ghost DEPENDS inviscid_ugrid) set(MDIR ${MESHES}/pipe) if(ENABLE_SIMMETRIX) @@ -400,7 +418,7 @@ else() "pipe_4_.smb" 2) endif() -set_tests_properties(split_4 PROPERTIES DEPENDS split_2) +mpi_test_depends(TESTS split_4 DEPENDS split_2) mpi_test(pipe_condense 4 ./serialize "${MDIR}/pipe.${GXT}" @@ -425,16 +443,15 @@ if(ENABLE_ZOLTAN) "${MDIR}/pipe.${GXT}" "pipe_4_.smb" "tet.smb") - set_tests_properties(ma_parallel tet_parallel - PROPERTIES DEPENDS split_4) + mpi_test_depends(TESTS ma_parallel DEPENDS split_4) + mpi_test_depends(TESTS tet_parallel DEPENDS split_4) endif() mpi_test(fieldReduce 4 ./fieldReduce "${MDIR}/pipe.${GXT}" "pipe_4_.smb") -set_tests_properties(pipe_condense verify_parallel fieldReduce verify_parallel - vtxElmMixedBalance - PROPERTIES DEPENDS split_4) +mpi_test_depends(TESTS pipe_condense verify_parallel fieldReduce + verify_parallel vtxElmMixedBalance DEPENDS split_4) set(MDIR ${MESHES}/torus) mpi_test(reorder 4 @@ -453,7 +470,7 @@ mpi_test(gap 4 "${MDIR}/torusBal4p/" "1.08" "${MDIR}/torusOpt4p/") -set_tests_properties(gap PROPERTIES DEPENDS balance) +mpi_test_depends(TESTS gap DEPENDS balance) mpi_test(applyMatrixFunc 1 ./applyMatrixFunc) if(ENABLE_ZOLTAN) @@ -701,8 +718,8 @@ mpi_test(test_verify 4 ./test_verify "${MDIR}/cube.dmg" "${MDIR}/pumi7k/4/cube.smb") -set_tests_properties(l2_shape_tet_parallel h1_shape_parallel test_verify - PROPERTIES DEPENDS "construct;constructThenGhost") +mpi_test_depends(TESTS l2_shape_tet_parallel h1_shape_parallel test_verify + DEPENDS "construct;constructThenGhost") set(MDIR ${MESHES}/nonmanifold) mpi_test(nonmanif_verify 1 ./verify @@ -718,7 +735,7 @@ mpi_test(nonmanif_verify2 2 ./verify "${MDIR}/nonmanifold.dmg" "nonmanifold_2_.smb") -set_tests_properties(nonmanif_verify2 PROPERTIES DEPENDS nonmanif_split2) +mpi_test_depends(TESTS nonmanif_verify2 DEPENDS nonmanif_split2) set(MDIR ${MESHES}/fusion) mpi_test(mkmodel_fusion 1 ./mkmodel @@ -779,7 +796,7 @@ if(ENABLE_SIMMETRIX) ./ma_test "${MDIR}/upright.smd" "67k/") - set_tests_properties(adapt_meshgen PROPERTIES DEPENDS parallel_meshgen) + mpi_test_depends(TESTS adapt_meshgen DEPENDS parallel_meshgen) endif() endif() if(SIM_PARASOLID) From b76d8f13af0affa75f20754d436b37e1a21a6c85 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 5 Feb 2025 00:41:31 -0500 Subject: [PATCH 16/66] Fix compilation errors and update pcu_pnompi.c - parma/group/parma_group.cc(runInGroups): remove PCU/MPI free that will be carried out by pcu::PCU::~PCU. - test/xgc_split.cc: remove direct mpi.h inclusion - test/pumiLoadMesh.cc: remove direct mpi.h inclusion. - test/modelInfo.cc: remove direct #include . - phasta/phstream.cc(::getTime): use new pcu::Time. - test/fieldReduce.cc: use correct PCUObj.Peers. - pumi/pumi_sys.cc(pumi_sync): use PCU Barrier instead of MPI Barrier. - pcu/PCU.h: make PCU_Comm (holdover) functions extern C and PCU_Wtime. - pumi/pumi_ghost.cc(do_off_part_bridge): fix typo (forgot parens). - pumi/pumi_mesh.cc: capitalize GetMPIComm. - pumi/pumi_numbering(pumi_numbering_print): use pcu::PCU::Barrier instead of WORLD barrier. - pcu/PCU_C.h: optionally include mpi or stub. - pcu/pcu_c.cc: add split stub and include pcu_pmpi.h. - pcu/pcu_pmpi.c: remove leftover conflict markers. - pcu/pcu_pnompi.h: update function signatures, make extern C, and remove obsolete stubs. - pcu/pcu_pnompi.c: remove globals and use pcu_mpi_t*. - clean up formatting. - remove unused or (void)ed argument names. Signed-off-by: Aiden Woodruff --- parma/group/parma_group.cc | 2 - pcu/PCU.h | 9 +- pcu/PCU_C.h | 16 +++- pcu/pcu_c.cc | 6 ++ pcu/pcu_pmpi.c | 4 - pcu/pcu_pnompi.c | 180 ++++++++++--------------------------- pcu/pcu_pnompi.h | 33 ++++--- phasta/phstream.cc | 2 +- pumi/pumi_ghost.cc | 2 +- pumi/pumi_mesh.cc | 2 +- pumi/pumi_numbering.cc | 2 +- pumi/pumi_sys.cc | 2 +- test/fieldReduce.cc | 2 +- test/modelInfo.cc | 1 - test/pumiLoadMesh.cc | 1 - test/xgc_split.cc | 1 - 16 files changed, 98 insertions(+), 167 deletions(-) diff --git a/parma/group/parma_group.cc b/parma/group/parma_group.cc index 959f8ea1f..ac6ec2e35 100644 --- a/parma/group/parma_group.cc +++ b/parma/group/parma_group.cc @@ -57,8 +57,6 @@ static void runInGroups( } code.PCUObj = std::move(groupedPCU); code.run(group); - PCU_Comm_Free_One(&groupComm); - MPI_Comm_free(&groupComm); if (m){ m->switchPCU(expandedPCU); apf::remapPartition(m, outMap); diff --git a/pcu/PCU.h b/pcu/PCU.h index e09f3a270..db39cf8f1 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -3,14 +3,16 @@ #if defined(SCOREC_NO_MPI) #include "pcu_pnompi_types.h" - double MPI_Wtime(void); - // Remove MPI calls. #define MPI_Init(argc, argv) do { \ (void) argc; \ (void) argv; \ } while (0) #define MPI_Finalize(void) +#ifdef __cplusplus +extern "C" +#endif +double MPI_Wtime(void); #else #include #endif @@ -21,11 +23,12 @@ struct pcu_msg_struct; struct pcu_mpi_struct; +extern "C" { int PCU_Comm_Free_One(MPI_Comm* com); int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom); int PCU_Comm_Allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); -double PCU_Wtime(); +} namespace pcu { class PCU { public: diff --git a/pcu/PCU_C.h b/pcu/PCU_C.h index e8a05169c..f565f247e 100644 --- a/pcu/PCU_C.h +++ b/pcu/PCU_C.h @@ -1,7 +1,21 @@ #ifndef PCU_C_H #define PCU_C_H #include "pcu_defines.h" +#if defined(SCOREC_NO_MPI) +#include "pcu_pnompi_types.h" +// Remove MPI calls. +#define MPI_Init(argc, argv) do { \ +(void) argc; \ +(void) argv; \ +} while (0) +#define MPI_Finalize(void) +#ifdef __cplusplus +extern "C" +#endif +double MPI_Wtime(void); +#else #include +#endif #ifdef __cplusplus #include @@ -117,4 +131,4 @@ PCU_t PCU_Get_Global_Handle(void); } /* extern "C" */ #endif -#endif \ No newline at end of file +#endif diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 9c37c5237..68dc1edee 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -1,5 +1,6 @@ #include "PCU_C.h" #include "PCU.h" +#include "pcu_pmpi.h" #include "reel.h" #include @@ -29,6 +30,11 @@ int PCU_Comm_Free_One(MPI_Comm* com) return PCU_SUCCESS; } +int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom) { + pcu_pmpi_split(oldCom, color, key, newCom); + return PCU_SUCCESS; +} + int PCU_Comm_Allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) { pcu_pmpi_allreduce(sendbuf,recvbuf,count,datatype,op,comm); diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 0a173e7c4..d18eeb334 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -31,7 +31,6 @@ void pcu_pmpi_finalize(pcu_mpi_t* self) MPI_Comm_free(&(self->coll_comm)); } -<<<<<<< HEAD int pcu_pmpi_free(MPI_Comm* comm) { return MPI_Comm_free(comm); @@ -42,10 +41,7 @@ int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm) return MPI_Comm_split(comm,color,key,newcomm); } -int pcu_pmpi_size(void) -======= int pcu_pmpi_size(const pcu_mpi_t* self) ->>>>>>> develop { return self->size; } diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 87d90ce53..bc57da093 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -14,13 +14,8 @@ #include #include -static int global_size; -static int global_rank; - -MPI_Comm original_comm; -MPI_Comm pcu_user_comm; -MPI_Comm pcu_coll_comm; - +void pcu_pmpi_send2(const pcu_mpi_t *, pcu_message* m, int tag, MPI_Comm comm); +bool pcu_pmpi_receive2(const pcu_mpi_t *, pcu_message* m, int tag, MPI_Comm); // // ------------------------------------------------------------------ @@ -116,160 +111,83 @@ double MPI_Wtime(void) return (double)now.tv_sec + now.tv_nsec * 1.0e-9; } -pcu_mpi pcu_pmpi = -{ .size = pcu_pmpi_size, - .rank = pcu_pmpi_rank, - .send = pcu_pmpi_send, - .done = pcu_pmpi_done, - .receive = pcu_pmpi_receive }; - -void pcu_pmpi_init(MPI_Comm comm) -{ - original_comm = comm; - pcu_user_comm = comm+1; - pcu_coll_comm = comm+2; - - global_size = 1; - global_rank = 0; - -// MPI_Comm_dup(comm,&pcu_user_comm); -// MPI_Comm_dup(comm,&pcu_coll_comm); -// MPI_Comm_size(comm,&global_size); -// MPI_Comm_rank(comm,&global_rank); +void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t *self) { + self->original_comm = comm; + self->user_comm = comm+1; + self->coll_comm = comm+2; + self->size = 1; + self->rank = 0; } -void pcu_pmpi_finalize(void) -{ - pcu_user_comm = 0; - pcu_coll_comm = 0; -// MPI_Comm_free(&pcu_user_comm); -// MPI_Comm_free(&pcu_coll_comm); +void pcu_pmpi_finalize(pcu_mpi_t* self) { + self->user_comm = 0; + self->coll_comm = 0; } -int pcu_pmpi_free(MPI_Comm* comm) +int pcu_pmpi_free(MPI_Comm*) { - (void) comm; return 0; } -int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc) -{ - (void) c; - (void) color; - (void) key; - (void) nc; +int pcu_pmpi_split(MPI_Comm, int, int, MPI_Comm*) { return 1; } -int pcu_pmpi_size(void) -{ - return global_size; -} - -int pcu_pmpi_rank(void) -{ - return global_rank; +int pcu_pmpi_size(const pcu_mpi_t *self) { + return self->size; } -void pcu_pmpi_send(pcu_message* m, MPI_Comm comm) -{ - pcu_pmpi_send2(m,0,comm); +int pcu_pmpi_rank(const pcu_mpi_t *self) { + return self->rank; } -void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm) -{ - (void) comm; - if( m->buffer.size > (size_t)INT_MAX ) { - fprintf(stderr, "ERROR PCU message size exceeds INT_MAX... exiting\n"); - abort(); - } - - add_nompi_msg(m->buffer.start, - (int)(m->buffer.size), - tag, - global_rank, - m->peer - ); +void pcu_pmpi_send(const pcu_mpi_t *self, pcu_message* m, MPI_Comm comm) { + pcu_pmpi_send2(self, m, 0, comm); } -bool pcu_pmpi_done(pcu_message* m) -{ - (void) m; - return true; -// int flag; -// MPI_Test(&(m->request),&flag,MPI_STATUS_IGNORE); -// return flag; -} +void pcu_pmpi_send2(const pcu_mpi_t *self, pcu_message* m, int tag, MPI_Comm) { + if (m->buffer.size > (size_t)INT_MAX) { + fprintf(stderr, "ERROR PCU message size exceeds INT_MAX... exiting\n"); + abort(); + } -bool pcu_pmpi_receive(pcu_message* m, MPI_Comm comm) -{ - return pcu_pmpi_receive2(m,0,comm); + add_nompi_msg( + m->buffer.start, (int)(m->buffer.size), tag, self->rank, m->peer + ); } -bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm) -{ - (void) comm; - NoMpiMsg* msg = get_nompi_msg(tag,global_rank); - if (msg==0) - { - return false; - } - - m->peer = msg->sender; - - int msize = msg->size; - - pcu_resize_buffer(&(m->buffer),(size_t)msize); - - for (int i=0; ibuffer.start)[i] = msg->msg[i]; - } - - // delete the message - free(msg->msg); - free(msg); - return true; -} +bool pcu_pmpi_done(const pcu_mpi_t*, pcu_message*) { return true; } -void pcu_pmpi_switch(MPI_Comm new_comm) -{ - (void) new_comm; - return ; -// pcu_pmpi_finalize(); -// pcu_pmpi_init(new_comm); +bool pcu_pmpi_receive(const pcu_mpi_t *self, pcu_message* m, MPI_Comm comm) { + return pcu_pmpi_receive2(self, m, 0, comm); } -MPI_Comm pcu_pmpi_comm(void) -{ - return original_comm; +bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, + MPI_Comm) { + NoMpiMsg* msg = get_nompi_msg(tag, self->rank); + if (msg==0) return false; + m->peer = msg->sender; + int msize = msg->size; + pcu_resize_buffer(&(m->buffer),(size_t)msize); + for (int i = 0; i < msize; i++) { + ((char*)m->buffer.start)[i] = msg->msg[i]; + } + // delete the message + free(msg->msg); + free(msg); + return true; } -int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) -{ - (void) sendbuf; - (void) recvbuf; - (void) count; - (void) datatype; - (void) op; - (void) comm; +int pcu_pmpi_allreduce(const void*, void*, int, + MPI_Datatype, MPI_Op, MPI_Comm) { return 0; } -int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) -{ - (void) sendbuf; - (void) sendcount; - (void) sendtype; - (void) recvbuf; - (void) recvcount; - (void) recvtype; - (void) comm; +int pcu_pmpi_allgather(const void *, int, MPI_Datatype, void *, int, + MPI_Datatype, MPI_Comm) { return 0; } -int pcu_pmpi_barrier(MPI_Comm comm) -{ - (void) comm; +int pcu_pmpi_barrier(MPI_Comm) { return 0; } diff --git a/pcu/pcu_pnompi.h b/pcu/pcu_pnompi.h index eb9fe77ee..1007bafd7 100644 --- a/pcu/pcu_pnompi.h +++ b/pcu/pcu_pnompi.h @@ -14,29 +14,28 @@ #include -void pcu_pmpi_init(MPI_Comm comm); -void pcu_pmpi_finalize(void); -int pcu_pmpi_size(void); -int pcu_pmpi_rank(void); -void pcu_pmpi_send(pcu_message* m, MPI_Comm comm); -bool pcu_pmpi_receive(pcu_message* m, MPI_Comm comm); -void pcu_pmpi_send2(pcu_message* m, int tag, MPI_Comm comm); -bool pcu_pmpi_receive2(pcu_message* m, int tag, MPI_Comm comm); -bool pcu_pmpi_done(pcu_message* m); +#ifdef __cplusplus +extern "C" { +#endif + +void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t *mpi); +void pcu_pmpi_finalize(pcu_mpi_t *m); +int pcu_pmpi_size(const pcu_mpi_t *self); +int pcu_pmpi_rank(const pcu_mpi_t *self); +void pcu_pmpi_send(const pcu_mpi_t*, pcu_message *m, MPI_Comm comm); +bool pcu_pmpi_receive(const pcu_mpi_t*, pcu_message *m, MPI_Comm comm); +bool pcu_pmpi_done(const pcu_mpi_t*, pcu_message *m); + int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc); int pcu_pmpi_free(MPI_Comm* comm); int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); int pcu_pmpi_barrier(MPI_Comm comm); -void pcu_pmpi_switch(MPI_Comm new_comm); -MPI_Comm pcu_pmpi_comm(void); - -extern pcu_mpi pcu_pmpi; - -extern MPI_Comm pcu_user_comm; -extern MPI_Comm pcu_coll_comm; - double MPI_Wtime(void); +#ifdef __cplusplus +} +#endif + #endif diff --git a/phasta/phstream.cc b/phasta/phstream.cc index 7c5c0a947..9b38ce300 100644 --- a/phasta/phstream.cc +++ b/phasta/phstream.cc @@ -11,7 +11,7 @@ namespace { inline double getTime() { - return PCU_Time(); + return pcu::Time(); } #if PHSTREAM_TIMERS_ON==1 inline bool isRankZero(pcu::PCU *pcu_obj) { diff --git a/pumi/pumi_ghost.cc b/pumi/pumi_ghost.cc index 5156ea9e1..24c4165ef 100644 --- a/pumi/pumi_ghost.cc +++ b/pumi/pumi_ghost.cc @@ -699,7 +699,7 @@ void do_off_part_bridge(pMesh m, int brg_dim, int ghost_dim, int num_layer, for (int i=0; igetPCU->GetMPIComm()); + PCU_Comm_Allreduce(&local_num_off_part, &global_num_off_part, 1,MPI_INT,MPI_SUM,m->getPCU()->GetMPIComm()); } // while global_off_part_brg } diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 64f56fc75..45b8a0095 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -348,7 +348,7 @@ void pumi_mesh_setCount(pMesh m, pOwnership o) pumi::instance()->num_own_ent[dim] = n; } } - PCU_Comm_Allreduce(pumi::instance()->num_own_ent, pumi::instance()->num_global_ent, 4, MPI_INT, MPI_SUM, m->getPCU()->getMPIComm()); + PCU_Comm_Allreduce(pumi::instance()->num_own_ent, pumi::instance()->num_global_ent, 4, MPI_INT, MPI_SUM, m->getPCU()->GetMPIComm()); #ifdef DEBUG if (!pumi_rank()) std::cout<<"[PUMI INFO] "<<__func__<<" end\n"; #endif diff --git a/pumi/pumi_numbering.cc b/pumi/pumi_numbering.cc index 2468636ee..9e83243d6 100644 --- a/pumi/pumi_numbering.cc +++ b/pumi/pumi_numbering.cc @@ -214,6 +214,6 @@ void pumi_numbering_print(pNumbering n, int pid) } // if shp } // for dd } // if (pid==PCU_Comm_Self()) - PCU_Comm_Barrier(MPI_COMM_WORLD); + m->getPCU()->Barrier(); } // for } diff --git a/pumi/pumi_sys.cc b/pumi/pumi_sys.cc index 1b19b84d1..cac99ddf2 100644 --- a/pumi/pumi_sys.cc +++ b/pumi/pumi_sys.cc @@ -31,7 +31,7 @@ int pumi_rank() void pumi_sync() { - PCU_Comm_Barrier(pumi::instance()->getPCU()->GetMPIComm()); + pumi::instance()->getPCU()->Barrier(); } #include diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index 1e913a59f..f0a5cce02 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -170,7 +170,7 @@ int main(int argc, char** argv) pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); myrank = PCUObj.Self(); - commsize = PCUObj.Size(); + commsize = PCUObj.Peers(); #ifdef HAVE_SIMMETRIX MS_init(); SimModel_start(); diff --git a/test/modelInfo.cc b/test/modelInfo.cc index f35450f7d..ce9df06dc 100644 --- a/test/modelInfo.cc +++ b/test/modelInfo.cc @@ -10,7 +10,6 @@ #endif #include //exit and exit_failure #include -#include int main(int argc, char** argv) { diff --git a/test/pumiLoadMesh.cc b/test/pumiLoadMesh.cc index 88c021fac..f6a9ebb4c 100644 --- a/test/pumiLoadMesh.cc +++ b/test/pumiLoadMesh.cc @@ -1,4 +1,3 @@ -#include "mpi.h" #include "pumi.h" int main(int argc, char** argv) diff --git a/test/xgc_split.cc b/test/xgc_split.cc index c359c7447..b502d3abb 100644 --- a/test/xgc_split.cc +++ b/test/xgc_split.cc @@ -2,7 +2,6 @@ #include #include -#include #include #include #include From 86e7a8dc0074f74fcefd3f3070773960ced22dd2 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 5 Feb 2025 10:54:44 -0500 Subject: [PATCH 17/66] cleanup pcu::Order - pcu/PCU.cc(PCU::~PCU): clean up message order if it exists (valgrind is happy now). Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index c0f90d300..9a5bafa51 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -220,6 +220,7 @@ PCU::PCU(MPI_Comm comm) { PCU::~PCU() noexcept { pcu_mpi_finalize(mpi_); delete mpi_; + if (msg_->order) pcu_order_free(msg_->order); pcu_free_msg(msg_); delete msg_; } From 4083386ef5511fdc4d4cb7974e95b71a4fbdca68 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 5 Feb 2025 21:22:39 -0500 Subject: [PATCH 18/66] remove obsolete pmpi functions - pcu/pcu_pmpi.c: remove pcu_pmpi_switch, pcu_pmpi_comm which were used by old nompi stubs. - (pcu_pmpi_allgather, pcu_pmpi_allreduce): break long lines and clean up indentation. Signed-off-by: Aiden Woodruff --- pcu/pcu_pmpi.c | 26 +++++++++----------------- pcu/pcu_pmpi.h | 14 ++++++++++---- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index d18eeb334..8351e5892 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -114,23 +114,15 @@ bool pcu_pmpi_receive2(const pcu_mpi_t* self, pcu_message* m, int tag, MPI_Comm return true; } -void pcu_pmpi_switch(MPI_Comm new_comm) -{ - pcu_pmpi_finalize(); - pcu_pmpi_init(new_comm); -} - -MPI_Comm pcu_pmpi_comm(void) -{ - return original_comm; +int pcu_pmpi_allreduce( const void* sendbuf, void* recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) { + return MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm); } -int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) -{ - return MPI_Allreduce(sendbuf,recvbuf,count, datatype, op, comm); -} - -int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) -{ - return MPI_Allgather(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm); +int pcu_pmpi_allgather(const void *sendbuf, int sendcount, + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm) { + return MPI_Allgather( + sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm + ); } diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index b7e29bceb..e292a9877 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -24,10 +24,16 @@ void pcu_pmpi_send(const pcu_mpi_t *, pcu_message *m, MPI_Comm comm); bool pcu_pmpi_receive(const pcu_mpi_t *, pcu_message *m, MPI_Comm comm); bool pcu_pmpi_done(const pcu_mpi_t *, pcu_message *m); -int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); -int pcu_pmpi_free(MPI_Comm* comm); -int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); -int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); +int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); +int pcu_pmpi_free(MPI_Comm* comm); +int pcu_pmpi_allreduce( + const void* sendbuf, void* recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm +); +int pcu_pmpi_allgather( + const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm +); #ifdef __cplusplus } From ca2165dd1cd1523dc63d9a68a3d442370da91508 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 5 Feb 2025 23:41:24 -0500 Subject: [PATCH 19/66] readd C function arguments in definition - pcu/pcu_pnompi.c: restore function arguments in definitions that were removed in b76d8f13. Turns out they are required in C and the local compiler was not flagging it. Signed-off-by: Aiden Woodruff --- pcu/pcu_pnompi.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index bc57da093..eef2417e3 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -124,12 +124,13 @@ void pcu_pmpi_finalize(pcu_mpi_t* self) { self->coll_comm = 0; } -int pcu_pmpi_free(MPI_Comm*) -{ +int pcu_pmpi_free(MPI_Comm *c) { + (void) c; return 0; } -int pcu_pmpi_split(MPI_Comm, int, int, MPI_Comm*) { +int pcu_pmpi_split(MPI_Comm cm, int c, int k, MPI_Comm *cm2) { + (void) cm, (void) c, (void) k, (void) cm2; return 1; } @@ -145,7 +146,9 @@ void pcu_pmpi_send(const pcu_mpi_t *self, pcu_message* m, MPI_Comm comm) { pcu_pmpi_send2(self, m, 0, comm); } -void pcu_pmpi_send2(const pcu_mpi_t *self, pcu_message* m, int tag, MPI_Comm) { +void pcu_pmpi_send2(const pcu_mpi_t *self, pcu_message* m, int tag, + MPI_Comm c) { + (void) c; if (m->buffer.size > (size_t)INT_MAX) { fprintf(stderr, "ERROR PCU message size exceeds INT_MAX... exiting\n"); abort(); @@ -156,14 +159,18 @@ void pcu_pmpi_send2(const pcu_mpi_t *self, pcu_message* m, int tag, MPI_Comm) { ); } -bool pcu_pmpi_done(const pcu_mpi_t*, pcu_message*) { return true; } +bool pcu_pmpi_done(const pcu_mpi_t* a, pcu_message* b) { + (void) a, (void) b; + return true; +} bool pcu_pmpi_receive(const pcu_mpi_t *self, pcu_message* m, MPI_Comm comm) { return pcu_pmpi_receive2(self, m, 0, comm); } bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, - MPI_Comm) { + MPI_Comm comm) { + (void) comm; NoMpiMsg* msg = get_nompi_msg(tag, self->rank); if (msg==0) return false; m->peer = msg->sender; @@ -178,16 +185,19 @@ bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, return true; } -int pcu_pmpi_allreduce(const void*, void*, int, - MPI_Datatype, MPI_Op, MPI_Comm) { +int pcu_pmpi_allreduce(const void* a, void* b, int c, + MPI_Datatype d, MPI_Op e, MPI_Comm f) { + (void) a, (void) b, (void) c, (void) d, (void) e, (void) f; return 0; } -int pcu_pmpi_allgather(const void *, int, MPI_Datatype, void *, int, - MPI_Datatype, MPI_Comm) { +int pcu_pmpi_allgather(const void * a, int b, MPI_Datatype c, void * d, int e, + MPI_Datatype f, MPI_Comm g) { + (void) a, (void) b, (void) c, (void) d, (void) e, (void) f, (void) g; return 0; } -int pcu_pmpi_barrier(MPI_Comm) { +int pcu_pmpi_barrier(MPI_Comm a) { + (void) a; return 0; } From 0541cff1486b462e592ca074af9ef472b5f12d8d Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 6 Feb 2025 12:33:17 -0500 Subject: [PATCH 20/66] indent CMake testing file - test/smokeTesting.cmake: indent if statements - test/testing.cmake: indent if statements in mpi_test. Signed-off-by: Aiden Woodruff --- test/smokeTesting.cmake | 18 ++++++++++-------- test/testing.cmake | 18 +++++++++++------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/test/smokeTesting.cmake b/test/smokeTesting.cmake index f895efe5a..38a3538a4 100644 --- a/test/smokeTesting.cmake +++ b/test/smokeTesting.cmake @@ -1,15 +1,17 @@ function(smoke_test TESTNAME PROCS EXE) set(tname smoke_test_${TESTNAME}) if(SCOREC_NO_MPI) - if(PROCS EQUAL "1") - add_test(NAME ${tname} COMMAND ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) + if(PROCS EQUAL "1") + add_test(NAME ${tname} COMMAND ${VALGRIND} ${VALGRIND_ARGS} + ${EXE} ${ARGN}) + else() + return() + endif() else() - return() - endif() - else() - add_test( - NAME ${tname} - COMMAND ${MPIRUN} ${MPIRUN_PROCFLAG} ${PROCS} ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) + add_test( + NAME ${tname} + COMMAND ${MPIRUN} ${MPIRUN_PROCFLAG} ${PROCS} + ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) endif() SET_TESTS_PROPERTIES(${tname} PROPERTIES LABELS "SMOKE_TEST" ) endfunction(smoke_test) diff --git a/test/testing.cmake b/test/testing.cmake index 0d234723f..5bd55bda6 100644 --- a/test/testing.cmake +++ b/test/testing.cmake @@ -3,14 +3,18 @@ set(MESHES "" "Extracted http://scorec.rpi.edu/pumi/pumi_test_meshes.tar.gz") function(mpi_test TESTNAME PROCS EXE) if(SCOREC_NO_MPI) - if(${PROCS} EQUAL "1") - add_test(NAME ${TESTNAME} COMMAND ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN}) - endif() + if(${PROCS} EQUAL "1") + add_test( + NAME ${TESTNAME} + COMMAND ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN} + ) + endif() else() - add_test( - NAME ${TESTNAME} - COMMAND ${MPIRUN} ${MPIRUN_PROCFLAG} ${PROCS} ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN} - ) + add_test( + NAME ${TESTNAME} + COMMAND ${MPIRUN} ${MPIRUN_PROCFLAG} ${PROCS} + ${VALGRIND} ${VALGRIND_ARGS} ${EXE} ${ARGN} + ) endif() endfunction(mpi_test) From e1d38cba8b9d27ee07a2ec81f8b3724705c40403 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 6 Feb 2025 12:36:53 -0500 Subject: [PATCH 21/66] Update CMakeLists.txt - CMakeLists.txt: update SCOREC_NO_MPI option helpstring. Co-authored-by: Cameron Smith --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14cf862e0..fdcfaabe4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,7 +32,7 @@ endif() # # option related to MPI # -option(SCOREC_NO_MPI "Use a stub MPI implementation" OFF) +option(SCOREC_NO_MPI "Disable MPI support. When enabled only serial execution is supported." OFF) message(STATUS "SCOREC_NO_MPI: ${SCOREC_NO_MPI}") if (SCOREC_NO_MPI) add_definitions(-DSCOREC_NO_MPI) From 74c2617a453d8e014183e94e4348f57c56dd2dab Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Sun, 9 Feb 2025 18:33:52 -0500 Subject: [PATCH 22/66] add example mpi-nompi project - example/: new directory for example projects. I will move doc/ here. - example/mpi-nompi/: new example to test an mpi app using a nompi build of SCOREC. - README.md: describe example. - hello.cc: print size/rank info and then create a box mesh like in the first example. - CMakeLists.txt: add build code (from doc/ example) and tests on 1, 2, and 4 procs. - add tests for exact output. - .github/workflows/cmake.yml: add GitHub action for the mpi-nompi example. Signed-off-by: Aiden Woodruff --- .github/workflows/cmake.yml | 13 +++++++++++ example/mpi-nompi/CMakeLists.txt | 38 ++++++++++++++++++++++++++++++++ example/mpi-nompi/README.md | 6 +++++ example/mpi-nompi/hello.cc | 31 ++++++++++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 example/mpi-nompi/CMakeLists.txt create mode 100644 example/mpi-nompi/README.md create mode 100644 example/mpi-nompi/hello.cc diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index b196dad0e..4ee5be337 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -55,3 +55,16 @@ jobs: run: | cmake -S ${{github.workspace}}/doc -B ${{github.workspace}}/buildExample -DCMAKE_CXX_COMPILER=mpicxx -DSCOREC_PREFIX=${{github.workspace}}/build/install cmake --build ${{github.workspace}}/buildExample + + - name: Build MPI-NoMPI Example + # Test if a SCOREC_NO_MPI build works with MPI applications. + if: matrix.compiler.name == 'GNU' && matrix.build_type == 'Release' matrix.nompi == 'ON' + env: + MPICH_CXX: ${{matrix.compiler.CXX}} + MPICH_CC: ${{matrix.compiler.CC}} + run: > + cmake -S ${{github.workspace}}/example/mpi-nompi + -B ${{github.workspace}}/example/mpi-nompi/build + -DCMAKE_CXX_COMPILER=mpicxx + -DSCOREC_PREFIX=${{github.workspace}}/build/install ; + cmake --build ${{github.workspace}}/example/mpi-nompi/build diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt new file mode 100644 index 000000000..a69ca279e --- /dev/null +++ b/example/mpi-nompi/CMakeLists.txt @@ -0,0 +1,38 @@ +cmake_minimum_required(VERSION 3.8) +project(mpi-nompi VERSION 1.0.0 LANGUAGES CXX) + +# Allow the user to indicate where they installed SCOREC +# via "-DSCOREC_PREFIX=/home/somewhere" when calling `cmake` +set(SCOREC_PREFIX "" CACHE STRING "Directory where SCOREC is installed") + +# If SCOREC_PREFIX was specified then use only that directory. +if (SCOREC_PREFIX) + find_package(SCOREC 3 REQUIRED CONFIG PATHS ${SCOREC_PREFIX} NO_DEFAULT_PATH) +else() + find_package(SCOREC 3 REQUIRED CONFIG) +endif() + +add_executable(hello hello.cc) +target_link_libraries(hello PRIVATE SCOREC::core) + +enable_testing() +add_test(NAME hello1 COMMAND mpirun -np 1 $) +set_property(TEST hello1 PROPERTY PASS_REGULAR_EXPRESSION + "MPI size: 1\; PCU size: 1 +Hello from MPI rank: 0\; PCU rank: 0" +) +add_test(NAME hello2 COMMAND mpirun -np 2 $) +set_property(TEST hello2 PROPERTY PASS_REGULAR_EXPRESSION + "MPI size: 2\; PCU size: 1 +Hello from MPI rank: 0\; PCU rank: 0 +Hello from MPI rank: 1\; PCU rank: 0" +) +add_test(NAME hello4 COMMAND mpirun -np 4 $) +set_property(TEST hello4 PROPERTY PASS_REGULAR_EXPRESSION + "MPI size: 4\; PCU size: 1 +Hello from MPI rank: 0\; PCU rank: 0 +Hello from MPI rank: 1\; PCU rank: 0 +Hello from MPI rank: 2\; PCU rank: 0 +Hello from MPI rank: 3\; PCU rank: 0" +) + diff --git a/example/mpi-nompi/README.md b/example/mpi-nompi/README.md new file mode 100644 index 000000000..582e4ea3e --- /dev/null +++ b/example/mpi-nompi/README.md @@ -0,0 +1,6 @@ +# Example: Using SCOREC_NO_MPI in an MPI application + +This example demonstrates how to combine a SCOREC_NO_MPI build of core with an +application that is using MPI. This is the prime use case for the SCOREC_NO_MPI +option. + diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc new file mode 100644 index 000000000..dd3a321a4 --- /dev/null +++ b/example/mpi-nompi/hello.cc @@ -0,0 +1,31 @@ +#include + +#include +#include +#include +#include +#include +#include + +int main(int argc, char** argv) { + MPI_Init(&argc, &argv); + pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); + int rank, size; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &size); + if (rank == 0) + std::cout << "MPI size: " << size << "; PCU size: " << + PCUObj->Peers() << std::endl; + for (int i = 0; i < size; ++i) { + if (rank == i) + std::cout << "Hello from MPI rank: " << rank << "; PCU rank: " << + PCUObj->Self() << std::endl; + MPI_Barrier(MPI_COMM_WORLD); + } + gmi_register_mesh(); + apf::Mesh2* m = apf::makeMdsBox(1, 1, 1, 1, 1, 1, 0, PCUObj); + apf::destroyMesh(m); + delete PCUObj; + MPI_Finalize(); + return 0; +} From c9682f3b746b6e7b1826f1d9b56f48559c8a6f22 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Sun, 9 Feb 2025 21:47:40 -0500 Subject: [PATCH 23/66] fix GitHub actions file Signed-off-by: Aiden Woodruff --- .github/workflows/cmake.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 4ee5be337..7c4b02dcc 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -58,13 +58,15 @@ jobs: - name: Build MPI-NoMPI Example # Test if a SCOREC_NO_MPI build works with MPI applications. - if: matrix.compiler.name == 'GNU' && matrix.build_type == 'Release' matrix.nompi == 'ON' + if: >- + matrix.compiler.name == 'GNU' && matrix.build_type == 'Release' && + matrix.no_mpi == 'ON' env: MPICH_CXX: ${{matrix.compiler.CXX}} MPICH_CC: ${{matrix.compiler.CC}} run: > cmake -S ${{github.workspace}}/example/mpi-nompi - -B ${{github.workspace}}/example/mpi-nompi/build - -DCMAKE_CXX_COMPILER=mpicxx - -DSCOREC_PREFIX=${{github.workspace}}/build/install ; + -B ${{github.workspace}}/example/mpi-nompi/build + -DCMAKE_CXX_COMPILER=mpicxx + -DSCOREC_PREFIX=${{github.workspace}}/build/install ; cmake --build ${{github.workspace}}/example/mpi-nompi/build From 11d50df65cd72bb3962b97b3ad421a0cede5ddd5 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Sun, 9 Feb 2025 22:27:17 -0500 Subject: [PATCH 24/66] ci: run tests for mpi-nompi example Signed-off-by: Aiden Woodruff --- .github/workflows/cmake.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 7c4b02dcc..78aa1d2ff 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -69,4 +69,5 @@ jobs: -B ${{github.workspace}}/example/mpi-nompi/build -DCMAKE_CXX_COMPILER=mpicxx -DSCOREC_PREFIX=${{github.workspace}}/build/install ; - cmake --build ${{github.workspace}}/example/mpi-nompi/build + cmake --build ${{github.workspace}}/example/mpi-nompi/build ; + ctest --test-dir ${{github.workspace}}/example/mpi-nompi/build From 73707dcef94b7886aee54218d0564904abde12f2 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Sun, 9 Feb 2025 23:42:09 -0500 Subject: [PATCH 25/66] ci: add allreduce to mpi-nompi example - example/mpi-nompi/hello.cc: add allreduce sum code. - example/mpi-nompi/CMakeLists.txt: update test regexes. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/CMakeLists.txt | 13 ++++++++++--- example/mpi-nompi/hello.cc | 13 +++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt index a69ca279e..c7dda855f 100644 --- a/example/mpi-nompi/CMakeLists.txt +++ b/example/mpi-nompi/CMakeLists.txt @@ -19,13 +19,16 @@ enable_testing() add_test(NAME hello1 COMMAND mpirun -np 1 $) set_property(TEST hello1 PROPERTY PASS_REGULAR_EXPRESSION "MPI size: 1\; PCU size: 1 -Hello from MPI rank: 0\; PCU rank: 0" +Hello from MPI rank: 0\; PCU rank: 0 +MPI(0) sum: 1; PCU sum: 1" ) add_test(NAME hello2 COMMAND mpirun -np 2 $) set_property(TEST hello2 PROPERTY PASS_REGULAR_EXPRESSION "MPI size: 2\; PCU size: 1 Hello from MPI rank: 0\; PCU rank: 0 -Hello from MPI rank: 1\; PCU rank: 0" +Hello from MPI rank: 1\; PCU rank: 0 +MPI(0) sum: 3; PCU sum: 1 +MPI(1) sum: 3; PCU sum: 1" ) add_test(NAME hello4 COMMAND mpirun -np 4 $) set_property(TEST hello4 PROPERTY PASS_REGULAR_EXPRESSION @@ -33,6 +36,10 @@ set_property(TEST hello4 PROPERTY PASS_REGULAR_EXPRESSION Hello from MPI rank: 0\; PCU rank: 0 Hello from MPI rank: 1\; PCU rank: 0 Hello from MPI rank: 2\; PCU rank: 0 -Hello from MPI rank: 3\; PCU rank: 0" +Hello from MPI rank: 3\; PCU rank: 0 +MPI(0) sum: 10\; PCU sum: 1 +MPI(1) sum: 10\; PCU sum: 1 +MPI(2) sum: 10\; PCU sum: 1 +MPI(3) sum: 10\; PCU sum: 1" ) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index dd3a321a4..6e7c1759b 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -10,6 +10,7 @@ int main(int argc, char** argv) { MPI_Init(&argc, &argv); pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); + // Print rank info. int rank, size; MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); @@ -22,9 +23,21 @@ int main(int argc, char** argv) { PCUObj->Self() << std::endl; MPI_Barrier(MPI_COMM_WORLD); } + // Test SCOREC functions. gmi_register_mesh(); apf::Mesh2* m = apf::makeMdsBox(1, 1, 1, 1, 1, 1, 0, PCUObj); apf::destroyMesh(m); + // MPI Allreduce + int val = rank + 1, sum; + MPI_Allreduce(&val, &sum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); + int pval = rank + 1, psum; + PCU_Comm_Allreduce(&pval, &psum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); + for (int i = 0; i < size; ++i) { + if (rank == i) + std::cout << "MPI(" << rank << ") sum: " << sum << + "; PCU sum: " << psum << std::endl; + MPI_Barrier(MPI_COMM_WORLD); + } delete PCUObj; MPI_Finalize(); return 0; From 36b09bd7cf624c7dd953c5cab9b82d5b77a27fee Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 10 Feb 2025 10:53:22 -0500 Subject: [PATCH 26/66] remove PCU_Comm_Allreduce - example/mpi-nompi/hello.cc: use PCU::Add. - example/mpi-nompi/CMakeLists.txt: update regex. escape parentheses. - pcu/PCU.h: remove PCU_Comm_Allreduce. - pcu/pcu_c.cc: remove PCU_Comm_Allreduce. - pcu/pcu_pmpi.c: remove pcu_pmpi_allreduce. - pcu/pcu_pmpi.h: remove pcu_pmpi_allreduce. - pcu/pcu_pnompi.c: remove pcu_pmpi_allreduce. - pcu/pcu_pnompi.h: remove pcu_pmpi_allreduce. - pumi/pumi_ghost.cc: use PCU::Add. - pumi/pumi_mesh.cc: use PCU::Add. - test/pumi.cc: use PCU::ADD. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/CMakeLists.txt | 14 +++++++------- example/mpi-nompi/hello.cc | 2 +- pcu/PCU.h | 1 - pcu/pcu_c.cc | 6 ------ pcu/pcu_pmpi.c | 5 ----- pcu/pcu_pmpi.h | 4 ---- pcu/pcu_pnompi.c | 6 ------ pcu/pcu_pnompi.h | 1 - pumi/pumi_ghost.cc | 6 +++--- pumi/pumi_mesh.cc | 20 +++++++++++++------- test/pumi.cc | 6 +++--- 11 files changed, 27 insertions(+), 44 deletions(-) diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt index c7dda855f..21ee35b68 100644 --- a/example/mpi-nompi/CMakeLists.txt +++ b/example/mpi-nompi/CMakeLists.txt @@ -20,15 +20,15 @@ add_test(NAME hello1 COMMAND mpirun -np 1 $) set_property(TEST hello1 PROPERTY PASS_REGULAR_EXPRESSION "MPI size: 1\; PCU size: 1 Hello from MPI rank: 0\; PCU rank: 0 -MPI(0) sum: 1; PCU sum: 1" +MPI\\(0\\) sum: 1\; PCU sum: 1" ) add_test(NAME hello2 COMMAND mpirun -np 2 $) set_property(TEST hello2 PROPERTY PASS_REGULAR_EXPRESSION "MPI size: 2\; PCU size: 1 Hello from MPI rank: 0\; PCU rank: 0 Hello from MPI rank: 1\; PCU rank: 0 -MPI(0) sum: 3; PCU sum: 1 -MPI(1) sum: 3; PCU sum: 1" +MPI\\(0\\) sum: 3\; PCU sum: 1 +MPI\\(1\\) sum: 3\; PCU sum: 2" ) add_test(NAME hello4 COMMAND mpirun -np 4 $) set_property(TEST hello4 PROPERTY PASS_REGULAR_EXPRESSION @@ -37,9 +37,9 @@ Hello from MPI rank: 0\; PCU rank: 0 Hello from MPI rank: 1\; PCU rank: 0 Hello from MPI rank: 2\; PCU rank: 0 Hello from MPI rank: 3\; PCU rank: 0 -MPI(0) sum: 10\; PCU sum: 1 -MPI(1) sum: 10\; PCU sum: 1 -MPI(2) sum: 10\; PCU sum: 1 -MPI(3) sum: 10\; PCU sum: 1" +MPI\\(0\\) sum: 10\; PCU sum: 1 +MPI\\(1\\) sum: 10\; PCU sum: 2 +MPI\\(2\\) sum: 10\; PCU sum: 3 +MPI\\(3\\) sum: 10\; PCU sum: 4" ) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index 6e7c1759b..78577c536 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -31,7 +31,7 @@ int main(int argc, char** argv) { int val = rank + 1, sum; MPI_Allreduce(&val, &sum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); int pval = rank + 1, psum; - PCU_Comm_Allreduce(&pval, &psum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); + psum = PCUObj->Add(pval); for (int i = 0; i < size; ++i) { if (rank == i) std::cout << "MPI(" << rank << ") sum: " << sum << diff --git a/pcu/PCU.h b/pcu/PCU.h index db39cf8f1..ca1fc7262 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -26,7 +26,6 @@ struct pcu_mpi_struct; extern "C" { int PCU_Comm_Free_One(MPI_Comm* com); int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom); -int PCU_Comm_Allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); } namespace pcu { diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 68dc1edee..580019468 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -35,12 +35,6 @@ int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom) { return PCU_SUCCESS; } -int PCU_Comm_Allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) -{ - pcu_pmpi_allreduce(sendbuf,recvbuf,count,datatype,op,comm); - return PCU_SUCCESS; -} - int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) { pcu_pmpi_allgather(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm); diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 8351e5892..1b11a47ca 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -114,11 +114,6 @@ bool pcu_pmpi_receive2(const pcu_mpi_t* self, pcu_message* m, int tag, MPI_Comm return true; } -int pcu_pmpi_allreduce( const void* sendbuf, void* recvbuf, int count, - MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) { - return MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm); -} - int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) { diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index e292a9877..e75323bef 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -26,10 +26,6 @@ bool pcu_pmpi_done(const pcu_mpi_t *, pcu_message *m); int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); int pcu_pmpi_free(MPI_Comm* comm); -int pcu_pmpi_allreduce( - const void* sendbuf, void* recvbuf, int count, - MPI_Datatype datatype, MPI_Op op, MPI_Comm comm -); int pcu_pmpi_allgather( const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index eef2417e3..419f7e2c4 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -185,12 +185,6 @@ bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, return true; } -int pcu_pmpi_allreduce(const void* a, void* b, int c, - MPI_Datatype d, MPI_Op e, MPI_Comm f) { - (void) a, (void) b, (void) c, (void) d, (void) e, (void) f; - return 0; -} - int pcu_pmpi_allgather(const void * a, int b, MPI_Datatype c, void * d, int e, MPI_Datatype f, MPI_Comm g) { (void) a, (void) b, (void) c, (void) d, (void) e, (void) f, (void) g; diff --git a/pcu/pcu_pnompi.h b/pcu/pcu_pnompi.h index 1007bafd7..78ea44a75 100644 --- a/pcu/pcu_pnompi.h +++ b/pcu/pcu_pnompi.h @@ -28,7 +28,6 @@ bool pcu_pmpi_done(const pcu_mpi_t*, pcu_message *m); int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc); int pcu_pmpi_free(MPI_Comm* comm); -int pcu_pmpi_allreduce(const void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); int pcu_pmpi_barrier(MPI_Comm comm); diff --git a/pumi/pumi_ghost.cc b/pumi/pumi_ghost.cc index 24c4165ef..38a2ed5a3 100644 --- a/pumi/pumi_ghost.cc +++ b/pumi/pumi_ghost.cc @@ -578,7 +578,7 @@ void do_off_part_bridge(pMesh m, int brg_dim, int ghost_dim, int num_layer, for (int i=0; igetPCU()->GetMPIComm()); + global_num_off_part = m->getPCU()->Add(local_num_off_part); while (global_num_off_part) { @@ -699,7 +699,7 @@ void do_off_part_bridge(pMesh m, int brg_dim, int ghost_dim, int num_layer, for (int i=0; igetPCU()->GetMPIComm()); + global_num_off_part = m->getPCU()->Add(local_num_off_part); } // while global_off_part_brg } @@ -823,7 +823,7 @@ void pumi_ghost_createLayer (pMesh m, int brg_dim, int ghost_dim, int num_layer, for (int i=0; igetPCU()->GetMPIComm()); + global_num_off_part = m->getPCU()->Add(local_num_off_part); } if (global_num_off_part) diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 45b8a0095..3d572999e 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -347,8 +347,9 @@ void pumi_mesh_setCount(pMesh m, pOwnership o) m->end(it); pumi::instance()->num_own_ent[dim] = n; } + pumi::instance()->num_global_ent = pumi::instance()->num_own_ent; } - PCU_Comm_Allreduce(pumi::instance()->num_own_ent, pumi::instance()->num_global_ent, 4, MPI_INT, MPI_SUM, m->getPCU()->GetMPIComm()); + m->getPCU()->Add(pumi::instance()->num_global_ent, 4); #ifdef DEBUG if (!pumi_rank()) std::cout<<"[PUMI INFO] "<<__func__<<" end\n"; #endif @@ -436,12 +437,17 @@ void pumi_mesh_print (pMesh m, bool print_ent) int* global_local_entity_count = new int[4*m->getPCU()->Peers()]; int* global_own_entity_count = new int[4*m->getPCU()->Peers()]; - PCU_Comm_Allreduce(local_entity_count, global_local_entity_count, 4*m->getPCU()->Peers(), - MPI_INT, MPI_SUM, m->getPCU()->GetMPIComm()); - - PCU_Comm_Allreduce(own_entity_count, global_own_entity_count, 4*m->getPCU()->Peers(), - MPI_INT, MPI_SUM, m->getPCU()->GetMPIComm()); - + memcpy( + global_local_entity_count, local_entity_count, + sizeof(int) * 4 * m->getPCU()->Peers() + ); + m->getPCU()->Add(global_local_entity_count, 4); + + memcpy( + global_own_entity_count, own_entity_count, + sizeof(int) * 4 * m->getPCU()->Peers() + ); + m->getPCU()->Add(global_own_entity_count, 4); if (!m->getPCU()->Self()) { diff --git a/test/pumi.cc b/test/pumi.cc index 8b325fd71..16ce11941 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -790,7 +790,7 @@ void TEST_GHOSTING(pMesh m) pumi_ghost_create(m, ghosting_plan); int total_mcount_diff=0, mcount_diff = pumi_mesh_getNumEnt(m, mesh_dim)-before_mcount; - PCU_Comm_Allreduce(&mcount_diff, &total_mcount_diff,1, MPI_INT, MPI_SUM, m->getPCU()->GetMPIComm()); + total_mcount_diff = m->getPCU()->Add(mcount_diff); if (!pumi_rank()) std::cout<<"\n[test_pumi] element-wise pumi_ghost_create: #ghost increase="<getPCU()->GetMPIComm()); + total_mcount_diff = m->getPCU()->Add(mcount_diff); if (!pumi_rank()) std::cout<<"\n[test_pumi] layer-wise pumi_ghost_createLayer (bd "<getPCU()->GetMPIComm()); + total_mcount_diff = m->getPCU()->Add(mcount_diff); if (!pumi_rank()) std::cout<<"\n[test_pumi] accumulative pumi_ghost_createLayer (bd "< Date: Wed, 12 Feb 2025 13:38:07 -0500 Subject: [PATCH 27/66] remove MPI_Init replacement macro from PCU.h - pcu/PCU.h: remove MPI_Init and MPI_Finalize macros which would poison the global namespace. - test/*.cc: add #ifndef SCOREC_NO_MPI around MPI_Init and MPI_Finalize calls instead. This will be clearer to people learning from the tests as examples and will not pollute the global namespace. - phasta/*.cc: add #ifndef around MPI_Init calls. Signed-off-by: Aiden Woodruff --- pcu/PCU.h | 5 ----- phasta/adaptLvlSet_loop.cc | 6 ++++++ phasta/chef.cc | 6 ++++++ phasta/chefStream.cc | 6 ++++++ phasta/condense.cc | 8 ++++++++ phasta/cut_interface.cc | 6 ++++++ phasta/migrate_interface.cc | 8 ++++++++ phasta/ph_convert.cc | 6 ++++++ phasta/readUrPrep.cc | 6 ++++++ phasta/threshold.cc | 6 ++++++ test/1d.cc | 6 ++++++ test/H1Shapes.cc | 6 ++++++ test/L2Shapes.cc | 6 ++++++ test/align.cc | 4 ++++ test/aniso_ma_test.cc | 6 ++++++ test/ansys.cc | 8 ++++++++ test/assert_timing.cc | 6 ++++++ test/balance.cc | 6 ++++++ test/bezierElevation.cc | 6 ++++++ test/bezierMesh.cc | 6 ++++++ test/bezierMisc.cc | 6 ++++++ test/bezierRefine.cc | 6 ++++++ test/bezierShapeEval.cc | 8 ++++++++ test/bezierSubdivision.cc | 6 ++++++ test/bezierValidity.cc | 6 ++++++ test/box.cc | 8 ++++++++ test/cap2vtk.cc | 6 ++++++ test/capCheckParam.cc | 6 ++++++ test/capGeomTest.cc | 6 ++++++ test/capVol.cc | 8 ++++++++ test/cap_closestPoint.cc | 6 ++++++ test/cap_inClosureOf.cc | 6 ++++++ test/cgns.cc | 12 ++++++++++++ test/classifyThenAdapt.cc | 6 ++++++ test/collapse.cc | 8 ++++++++ test/construct.cc | 6 ++++++ test/constructThenGhost.cc | 6 ++++++ test/construct_bottom_up.cc | 6 ++++++ test/convert.cc | 6 ++++++ test/crack_test.cc | 8 ++++++++ test/create_mis.cc | 8 ++++++++ test/curve_to_bezier.cc | 10 ++++++++++ test/curvetest.cc | 6 ++++++ test/degenerateSurfs.cc | 8 ++++++++ test/describe.cc | 6 ++++++ test/dg_ma_test.cc | 6 ++++++ test/elmBalance.cc | 8 ++++++++ test/embedded_edges.cc | 6 ++++++ test/extrude.cc | 8 ++++++++ test/fieldReduce.cc | 8 ++++++++ test/field_io.cc | 6 ++++++ test/fixDisconnected.cc | 8 ++++++++ test/fixlayer.cc | 6 ++++++ test/fixshape.cc | 6 ++++++ test/fusion.cc | 6 ++++++ test/fusion2.cc | 6 ++++++ test/fusion3.cc | 6 ++++++ test/gap.cc | 8 ++++++++ test/generate.cc | 8 ++++++++ test/ghost.cc | 8 ++++++++ test/ghostEdge.cc | 6 ++++++ test/ghostMPAS.cc | 6 ++++++ test/gmsh.cc | 8 ++++++++ test/graphdist.cc | 8 ++++++++ test/hierarchic.cc | 6 ++++++ test/highOrderSizeFields.cc | 6 ++++++ test/highOrderSolutionTransfer.cc | 6 ++++++ test/icesheet.cc | 6 ++++++ test/inClosureOf_test.cc | 6 ++++++ test/intrude.cc | 8 ++++++++ test/loadPart.cc | 8 ++++++++ test/ma_insphere.cc | 6 ++++++ test/ma_test.cc | 6 ++++++ test/ma_test_analytic_model.cc | 6 ++++++ test/makeAllCavities.cc | 12 ++++++++++++ test/matchedNodeElmReader.cc | 6 ++++++ test/measureAnisoStats.cc | 8 ++++++++ test/measureIsoStats.cc | 8 ++++++++ test/mixedNumbering.cc | 6 ++++++ test/mkmodel.cc | 8 ++++++++ test/mktopomodel.cc | 8 ++++++++ test/modelInfo.cc | 8 ++++++++ test/moving.cc | 6 ++++++ test/nedelecShapes.cc | 6 ++++++ test/nektar_align.cc | 6 ++++++ test/neper.cc | 8 ++++++++ test/newdim.cc | 6 ++++++ test/osh2smb.cc | 8 ++++++++ test/ph_adapt.cc | 6 ++++++ test/poisson.cc | 6 ++++++ test/print_pumipic_partition.cc | 10 ++++++++++ test/ptnParma.cc | 8 ++++++++ test/pumi.cc | 8 ++++++++ test/pumiLoadMesh.cc | 6 ++++++ test/quality.cc | 8 ++++++++ test/refine2x.cc | 6 ++++++ test/render.cc | 8 ++++++++ test/renderClass.cc | 8 ++++++++ test/render_ascii.cc | 8 ++++++++ test/reorder.cc | 8 ++++++++ test/repartition.cc | 8 ++++++++ test/reposition.cc | 6 ++++++ test/residualErrorEstimation_test.cc | 6 ++++++ test/rm_extrusion.cc | 6 ++++++ test/runSimxAnisoAdapt.cc | 8 ++++++++ test/scale.cc | 8 ++++++++ test/serialize.cc | 8 ++++++++ test/shapefun.cc | 6 ++++++ test/shapefun2.cc | 6 ++++++ test/simZBalance.cc | 6 ++++++ test/sim_countBL.cc | 6 ++++++ test/sim_part.cc | 6 ++++++ test/smb2osh.cc | 8 ++++++++ test/snap.cc | 6 ++++++ test/split.cc | 8 ++++++++ test/spr_test.cc | 6 ++++++ test/swapDoubles.cc | 6 ++++++ test/test_integrator.cc | 6 ++++++ test/test_matrix_grad.cc | 6 ++++++ test/test_scaling.cc | 6 ++++++ test/test_verify.cc | 6 ++++++ test/tetrahedronize.cc | 6 ++++++ test/torus_ma_test.cc | 6 ++++++ test/ugrid.cc | 8 ++++++++ test/ugridptnstats.cc | 6 ++++++ test/uniform.cc | 8 ++++++++ test/verify.cc | 6 ++++++ test/verify_2nd_order_shapes.cc | 8 ++++++++ test/verify_convert.cc | 6 ++++++ test/visualizeAnisoSizes.cc | 8 ++++++++ test/viz.cc | 2 ++ test/vtxBalance.cc | 8 ++++++++ test/vtxEdgeElmBalance.cc | 8 ++++++++ test/vtxElmBalance.cc | 8 ++++++++ test/vtxElmMixedBalance.cc | 6 ++++++ test/writeIPFieldTest.cc | 6 ++++++ test/writePart.cc | 8 ++++++++ test/writeVtxPtn.cc | 8 ++++++++ test/xgc_split.cc | 8 ++++++++ test/zbalance.cc | 8 ++++++++ test/zsplit.cc | 8 ++++++++ 141 files changed, 960 insertions(+), 5 deletions(-) diff --git a/pcu/PCU.h b/pcu/PCU.h index ca1fc7262..5902ffeed 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -4,11 +4,6 @@ #if defined(SCOREC_NO_MPI) #include "pcu_pnompi_types.h" // Remove MPI calls. -#define MPI_Init(argc, argv) do { \ -(void) argc; \ -(void) argv; \ -} while (0) -#define MPI_Finalize(void) #ifdef __cplusplus extern "C" #endif diff --git a/phasta/adaptLvlSet_loop.cc b/phasta/adaptLvlSet_loop.cc index c5ac347a6..ae277fc0e 100644 --- a/phasta/adaptLvlSet_loop.cc +++ b/phasta/adaptLvlSet_loop.cc @@ -36,7 +36,11 @@ namespace { } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pcu::Protect(); @@ -71,5 +75,7 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/chef.cc b/phasta/chef.cc index 1fd034d8c..8d01b7073 100644 --- a/phasta/chef.cc +++ b/phasta/chef.cc @@ -29,7 +29,11 @@ namespace { /** @brief run the operations requested in "adapt.inp" */ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pcu::Protect(); @@ -69,6 +73,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/chefStream.cc b/phasta/chefStream.cc index 37f79e8c4..c74ed6581 100644 --- a/phasta/chefStream.cc +++ b/phasta/chefStream.cc @@ -32,7 +32,11 @@ namespace { } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pcu::Protect(); @@ -60,5 +64,7 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/condense.cc b/phasta/condense.cc index 6e74a892b..0ce26e147 100644 --- a/phasta/condense.cc +++ b/phasta/condense.cc @@ -30,7 +30,9 @@ namespace { if ( argc != 3 ) { if ( !pcu_obj->Self() ) lion_oprint(1,"Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } if ( !pcu_obj->Self() ) @@ -39,7 +41,11 @@ namespace { } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); pcu::Protect(); @@ -65,5 +71,7 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/cut_interface.cc b/phasta/cut_interface.cc index bf4a9e131..dcfee2c6c 100644 --- a/phasta/cut_interface.cc +++ b/phasta/cut_interface.cc @@ -22,7 +22,11 @@ char const* outfile; int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif lion_set_verbosity(1); if (argc < 4 || argc > 5) { lion_eprint(1,"Usage: %s \n", argv[0]); @@ -82,5 +86,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/migrate_interface.cc b/phasta/migrate_interface.cc index e45bc3d67..e228b659d 100644 --- a/phasta/migrate_interface.cc +++ b/phasta/migrate_interface.cc @@ -38,7 +38,9 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) lion_eprint(1," to take model and attributes in separate files\n"); lion_eprint(1,"Usage: %s \n", argv[0]); lion_eprint(1," to take combined model and attributes file (by simTranslate)\n");} +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } if (argc == 5) { @@ -56,7 +58,11 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -90,5 +96,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/ph_convert.cc b/phasta/ph_convert.cc index 880d5d7c9..b4ead341d 100644 --- a/phasta/ph_convert.cc +++ b/phasta/ph_convert.cc @@ -213,7 +213,11 @@ static void postConvert(apf::Mesh2* m) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); MS_init(); @@ -290,5 +294,7 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/readUrPrep.cc b/phasta/readUrPrep.cc index 71eba7065..9e43e5117 100644 --- a/phasta/readUrPrep.cc +++ b/phasta/readUrPrep.cc @@ -17,7 +17,11 @@ namespace { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); pcu::Protect(); @@ -32,6 +36,8 @@ int main(int argc, char** argv) chef::preprocess(m,ctrl); freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/phasta/threshold.cc b/phasta/threshold.cc index b619bf0a9..3dcdf80eb 100644 --- a/phasta/threshold.cc +++ b/phasta/threshold.cc @@ -18,7 +18,11 @@ static double process_element(apf::Vector3 x[4], double sol[4][9]) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); #ifdef HAVE_SIMMETRIX @@ -59,5 +63,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/1d.cc b/test/1d.cc index 654eab63d..9caabd938 100644 --- a/test/1d.cc +++ b/test/1d.cc @@ -64,7 +64,11 @@ int main(int argc, char** argv) * 2 - model output name * 3 = mesh output name **/ PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -80,5 +84,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/H1Shapes.cc b/test/H1Shapes.cc index ece447aee..fb8f7f165 100644 --- a/test/H1Shapes.cc +++ b/test/H1Shapes.cc @@ -27,7 +27,11 @@ void testH1( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -73,7 +77,9 @@ int main(int argc, char** argv) apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/L2Shapes.cc b/test/L2Shapes.cc index 9f7525769..79db2a62d 100644 --- a/test/L2Shapes.cc +++ b/test/L2Shapes.cc @@ -30,7 +30,11 @@ void testL2writeNative( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -62,7 +66,9 @@ int main(int argc, char** argv) apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/align.cc b/test/align.cc index 83166344d..6f082cfa1 100644 --- a/test/align.cc +++ b/test/align.cc @@ -89,7 +89,9 @@ void testTetTri(pcu::PCU *PCUObj) } int main() { +#ifndef SCOREC_NO_MPI MPI_Init(0,0); +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -98,5 +100,7 @@ int main() testTetEdge(&pcu_obj); testTetTri(&pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/aniso_ma_test.cc b/test/aniso_ma_test.cc index 499dbfbf5..565cfc878 100644 --- a/test/aniso_ma_test.cc +++ b/test/aniso_ma_test.cc @@ -44,7 +44,11 @@ int main(int argc, char** argv) const char* modelFile = argv[1]; const char* meshFile = argv[2]; bool logInterpolation = atoi(argv[3]) > 0 ? true : false; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -68,6 +72,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ansys.cc b/test/ansys.cc index e9573b084..76dbc0895 100644 --- a/test/ansys.cc +++ b/test/ansys.cc @@ -7,14 +7,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -25,7 +31,9 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/assert_timing.cc b/test/assert_timing.cc index 699f0441d..1688c041e 100644 --- a/test/assert_timing.cc +++ b/test/assert_timing.cc @@ -29,7 +29,11 @@ double check_pcu_assert() { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 2); int opt = atoi(argv[1]); +#ifndef SCOREC_NO_MPI MPI_Init(0,0); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -43,6 +47,8 @@ int main(int argc, char** argv) { for (int i = 0; i < 5; ++i) printf("pcu assert in %f seconds\n", check_pcu_assert()); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/balance.cc b/test/balance.cc index 68efd60e4..c65c18f9c 100644 --- a/test/balance.cc +++ b/test/balance.cc @@ -9,7 +9,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -28,5 +32,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/bezierElevation.cc b/test/bezierElevation.cc index 2bb018624..5acbdd154 100644 --- a/test/bezierElevation.cc +++ b/test/bezierElevation.cc @@ -397,7 +397,11 @@ void testTetElevation(pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -405,5 +409,7 @@ int main(int argc, char** argv) testTriElevation(&pcu_obj); testTetElevation(&pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/bezierMesh.cc b/test/bezierMesh.cc index fbf317c3f..38acaa242 100644 --- a/test/bezierMesh.cc +++ b/test/bezierMesh.cc @@ -583,7 +583,11 @@ void test3DFull(pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -591,5 +595,7 @@ int main(int argc, char** argv) test3DBlended(&pcu_obj); test3DFull(&pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/bezierMisc.cc b/test/bezierMisc.cc index 2f3b389c2..3b0e57808 100644 --- a/test/bezierMisc.cc +++ b/test/bezierMisc.cc @@ -165,13 +165,19 @@ void testMatrixInverse(){ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); testNodeIndexing(); testMatrixInverse(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/bezierRefine.cc b/test/bezierRefine.cc index f413108b2..00f823fd7 100644 --- a/test/bezierRefine.cc +++ b/test/bezierRefine.cc @@ -309,12 +309,18 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/bezierShapeEval.cc b/test/bezierShapeEval.cc index ba6b5136d..c6d7866b7 100644 --- a/test/bezierShapeEval.cc +++ b/test/bezierShapeEval.cc @@ -25,7 +25,11 @@ static apf::Mesh2* makeOneTetMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PC int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -37,7 +41,9 @@ int main(int argc, char** argv) printf(" can be -1, 0, 1, 2 (-1 means no blending)\n"); printf(" inquiry point in the parent entity)\n"); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -81,7 +87,9 @@ int main(int argc, char** argv) } } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } static apf::Mesh2* makeOneTriMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PCUObj) diff --git a/test/bezierSubdivision.cc b/test/bezierSubdivision.cc index 308722fe5..f00908e71 100644 --- a/test/bezierSubdivision.cc +++ b/test/bezierSubdivision.cc @@ -480,7 +480,11 @@ void testTetSubdivision1(pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -489,5 +493,7 @@ int main(int argc, char** argv) testTriSubdivision4(&pcu_obj); testTetSubdivision1(&pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/bezierValidity.cc b/test/bezierValidity.cc index 9f627c3e0..b8f8afa6c 100644 --- a/test/bezierValidity.cc +++ b/test/bezierValidity.cc @@ -405,12 +405,18 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/box.cc b/test/box.cc index a5ed9b0dc..2beaeb56b 100644 --- a/test/box.cc +++ b/test/box.cc @@ -36,7 +36,9 @@ void verifyArgs(int argc, char** argv, pcu::PCU *PCUObj) printf(" is simplical mesh\n"); printf(" .dmg model file name\n"); printf(" .smb mesh file name\n"); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } } @@ -59,7 +61,11 @@ void getArgs(char** argv) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -79,5 +85,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/cap2vtk.cc b/test/cap2vtk.cc index a2891e4ec..6c858ff16 100644 --- a/test/cap2vtk.cc +++ b/test/cap2vtk.cc @@ -40,7 +40,11 @@ using namespace CreateMG::Geometry; int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -139,5 +143,7 @@ int main(int argc, char** argv) gmi_cap_stop(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/capCheckParam.cc b/test/capCheckParam.cc index df686c16e..7084dcece 100644 --- a/test/capCheckParam.cc +++ b/test/capCheckParam.cc @@ -27,7 +27,11 @@ void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif pcu::PCU *PCUobj = new pcu::PCU(MPI_COMM_WORLD); if (argc != 2) { @@ -112,7 +116,9 @@ int main(int argc, char** argv) checkParametrization(m, g); delete PCUobj; +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* gdb) diff --git a/test/capGeomTest.cc b/test/capGeomTest.cc index bfbd6efbd..c2b20526d 100644 --- a/test/capGeomTest.cc +++ b/test/capGeomTest.cc @@ -48,7 +48,11 @@ void visualizeEdges(gmi_model* model, int n, const char* fileName, pcu::PCU *PCU int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); gmi_register_mesh(); @@ -165,7 +169,9 @@ int main(int argc, char** argv) gmi_cap_stop(); delete PCUObj; +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void printInfo(gmi_model* model, int dim) diff --git a/test/capVol.cc b/test/capVol.cc index 3f07926d0..3448a4e44 100644 --- a/test/capVol.cc +++ b/test/capVol.cc @@ -30,7 +30,9 @@ namespace { void myExit(int exit_code = EXIT_SUCCESS) { gmi_cap_stop(); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(exit_code); } @@ -75,7 +77,11 @@ void printUsage(char *argv0) { int main(int argc, char** argv) { // Initialize parallelism. +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -272,5 +278,7 @@ int main(int argc, char** argv) { // Exit calls. gmi_cap_stop(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } \ No newline at end of file diff --git a/test/cap_closestPoint.cc b/test/cap_closestPoint.cc index 778464e88..c4e93c564 100644 --- a/test/cap_closestPoint.cc +++ b/test/cap_closestPoint.cc @@ -7,7 +7,11 @@ #include int main (int argc, char* argv[]) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif pcu::PCU* PCUObj = new pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); gmi_register_cap(); @@ -35,5 +39,7 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); delete PCUObj; +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/cap_inClosureOf.cc b/test/cap_inClosureOf.cc index 8cf88ee88..288b17407 100644 --- a/test/cap_inClosureOf.cc +++ b/test/cap_inClosureOf.cc @@ -7,7 +7,11 @@ #include int main (int argc, char* argv[]) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); gmi_register_cap(); @@ -45,5 +49,7 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); delete PCUObj; +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/cgns.cc b/test/cgns.cc index d84dc96c5..925ab791b 100644 --- a/test/cgns.cc +++ b/test/cgns.cc @@ -478,7 +478,11 @@ std::string doit(apf::CGNSBCMap &cgnsBCMap, const std::string &argv1, const std: int main(int argc, char **argv) { #ifdef HAVE_CGNS +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pumi_load_pcu(&PCUObj); @@ -488,7 +492,9 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); return -1; } @@ -500,7 +506,9 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s additional\n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); return -1; } @@ -509,7 +517,9 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); return -1; } @@ -546,7 +556,9 @@ int main(int argc, char **argv) } // } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; #else PCU_ALWAYS_ASSERT_VERBOSE(true == false, diff --git a/test/classifyThenAdapt.cc b/test/classifyThenAdapt.cc index 081ddf5c7..e714ca2ea 100644 --- a/test/classifyThenAdapt.cc +++ b/test/classifyThenAdapt.cc @@ -125,7 +125,11 @@ void printClassCounts(apf::Mesh* m) { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -149,5 +153,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/collapse.cc b/test/collapse.cc index 2ddced964..d44ae3e84 100644 --- a/test/collapse.cc +++ b/test/collapse.cc @@ -32,7 +32,9 @@ namespace { printf("Usage: mpirun -np %s \n" "Reduce the part count of mesh from inPartCount to inPartCount/factor.\n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -44,7 +46,11 @@ namespace { } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -67,5 +73,7 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/construct.cc b/test/construct.cc index cfb5597bd..f5d0ec4ce 100644 --- a/test/construct.cc +++ b/test/construct.cc @@ -10,7 +10,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -46,6 +50,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/constructThenGhost.cc b/test/constructThenGhost.cc index a4d17cf1a..81a08c0e7 100644 --- a/test/constructThenGhost.cc +++ b/test/constructThenGhost.cc @@ -12,7 +12,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); pumi_load_pcu(&pcu_obj); @@ -93,5 +97,7 @@ int main(int argc, char** argv) pumi_geom_delete(g); pumi_mesh_delete(pm); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/construct_bottom_up.cc b/test/construct_bottom_up.cc index f982dff88..21f61c550 100644 --- a/test/construct_bottom_up.cc +++ b/test/construct_bottom_up.cc @@ -137,7 +137,11 @@ const int tet_info[11][6] = { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -249,6 +253,8 @@ int main(int argc, char** argv) outMesh->destroyNative(); apf::destroyMesh(outMesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/convert.cc b/test/convert.cc index fbca0d5a2..859e0991d 100644 --- a/test/convert.cc +++ b/test/convert.cc @@ -433,7 +433,11 @@ void addFathersTag(pGModel simModel, pParMesh sim_mesh, apf::Mesh* simApfMesh, c int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -526,5 +530,7 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/crack_test.cc b/test/crack_test.cc index cbb7f1ef5..d49163cdd 100644 --- a/test/crack_test.cc +++ b/test/crack_test.cc @@ -44,7 +44,11 @@ void bCurver(const char* modelFile, const char* meshFile, int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -52,7 +56,9 @@ int main(int argc, char** argv) if (PCUObj.Self() == 0) { printf("USAGE: %s \n", argv[0]); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } const char* modelFile = argv[1]; @@ -359,5 +365,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/create_mis.cc b/test/create_mis.cc index bedc28f0d..275f650f9 100644 --- a/test/create_mis.cc +++ b/test/create_mis.cc @@ -9,14 +9,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -61,6 +67,8 @@ int main(int argc, char** argv) apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/curve_to_bezier.cc b/test/curve_to_bezier.cc index fb9fadc0c..2c2105026 100644 --- a/test/curve_to_bezier.cc +++ b/test/curve_to_bezier.cc @@ -14,7 +14,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -25,14 +29,18 @@ int main(int argc, char** argv) if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } int order = atoi(argv[3]); if(order < 1 || order > 6){ if ( !pcu_obj.Self() ) printf("Only 1st to 6th order supported\n"); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -55,5 +63,7 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/curvetest.cc b/test/curvetest.cc index 2b4b51750..aa3c5a749 100644 --- a/test/curvetest.cc +++ b/test/curvetest.cc @@ -190,7 +190,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -214,5 +218,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); SimModel_stop(); MS_exit(); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/degenerateSurfs.cc b/test/degenerateSurfs.cc index 71ece5203..5366aecc0 100644 --- a/test/degenerateSurfs.cc +++ b/test/degenerateSurfs.cc @@ -23,7 +23,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -35,7 +37,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==5); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -72,6 +78,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/describe.cc b/test/describe.cc index 4ed8b59eb..c9f874169 100644 --- a/test/describe.cc +++ b/test/describe.cc @@ -44,7 +44,11 @@ static void list_tags(apf::Mesh* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -71,5 +75,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/dg_ma_test.cc b/test/dg_ma_test.cc index 5e2b7b50a..d5e1d4988 100644 --- a/test/dg_ma_test.cc +++ b/test/dg_ma_test.cc @@ -39,7 +39,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -77,6 +81,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/elmBalance.cc b/test/elmBalance.cc index be0d2a2bf..4c382fd10 100644 --- a/test/elmBalance.cc +++ b/test/elmBalance.cc @@ -27,14 +27,20 @@ apf::MeshTag* setWeights(apf::Mesh* m) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -68,5 +74,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/embedded_edges.cc b/test/embedded_edges.cc index fcfa4b565..595393b51 100644 --- a/test/embedded_edges.cc +++ b/test/embedded_edges.cc @@ -15,7 +15,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==2); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -53,6 +57,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/extrude.cc b/test/extrude.cc index 85e3aeb59..47c2fe505 100644 --- a/test/extrude.cc +++ b/test/extrude.cc @@ -9,14 +9,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -40,5 +46,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index f0a5cce02..d2815829b 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -151,7 +151,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 3 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -164,7 +166,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif bool failflag = false; { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -197,7 +203,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return failflag; diff --git a/test/field_io.cc b/test/field_io.cc index 44c2c8305..641a83251 100644 --- a/test/field_io.cc +++ b/test/field_io.cc @@ -9,7 +9,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -47,5 +51,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fixDisconnected.cc b/test/fixDisconnected.cc index 5901e84b5..30eaa895d 100644 --- a/test/fixDisconnected.cc +++ b/test/fixDisconnected.cc @@ -10,14 +10,20 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -29,5 +35,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fixlayer.cc b/test/fixlayer.cc index f018e51c0..bc5e04512 100644 --- a/test/fixlayer.cc +++ b/test/fixlayer.cc @@ -14,7 +14,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -40,7 +44,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fixshape.cc b/test/fixshape.cc index fc32ab791..93c6e931a 100644 --- a/test/fixshape.cc +++ b/test/fixshape.cc @@ -14,7 +14,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -40,7 +44,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fusion.cc b/test/fusion.cc index f9fc9e216..8218c68d0 100644 --- a/test/fusion.cc +++ b/test/fusion.cc @@ -154,7 +154,11 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { PCU_ALWAYS_ASSERT(argc==2); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -171,5 +175,7 @@ int main( int argc, char* argv[]) code.mesh->destroyNative(); apf::destroyMesh(code.mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fusion2.cc b/test/fusion2.cc index d252af990..a9fa210c5 100644 --- a/test/fusion2.cc +++ b/test/fusion2.cc @@ -137,7 +137,11 @@ static void globalCode(apf::Mesh2* m) int main( int argc, char* argv[]) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -150,5 +154,7 @@ int main( int argc, char* argv[]) Parma_SplitPartition(code.mesh, groupSize, code, &PCUObj); globalCode(code.mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/fusion3.cc b/test/fusion3.cc index ee3e562c1..4c1e63bbf 100644 --- a/test/fusion3.cc +++ b/test/fusion3.cc @@ -281,7 +281,11 @@ class Vortex : public ma::AnisotropicFunction int main(int argc, char * argv[]) { PCU_ALWAYS_ASSERT(argc==2); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -298,5 +302,7 @@ int main(int argc, char * argv[]) // to do apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/gap.cc b/test/gap.cc index 36554ffd7..c95358069 100644 --- a/test/gap.cc +++ b/test/gap.cc @@ -28,14 +28,20 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 5); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -69,5 +75,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/generate.cc b/test/generate.cc index 7f2c4f053..d689479fd 100644 --- a/test/generate.cc +++ b/test/generate.cc @@ -66,7 +66,9 @@ void messageHandler(int type, const char* msg) case Sim_ErrorMsg: if(!globalPCU->Self()) fprintf(stdout, "Error SimModeler %s ... exiting\n", msg); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_SUCCESS); break; default: @@ -317,7 +319,11 @@ void simStop() { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); globalPCU = &PCUObj; @@ -359,5 +365,7 @@ int main(int argc, char** argv) simStop(); Sim_logOff(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ghost.cc b/test/ghost.cc index 190feb5eb..fbc9f87ed 100644 --- a/test/ghost.cc +++ b/test/ghost.cc @@ -22,7 +22,9 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -76,7 +78,11 @@ namespace { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -89,5 +95,7 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ghostEdge.cc b/test/ghostEdge.cc index 6f4d3ae40..670ea9655 100644 --- a/test/ghostEdge.cc +++ b/test/ghostEdge.cc @@ -49,7 +49,11 @@ namespace { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -60,5 +64,7 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ghostMPAS.cc b/test/ghostMPAS.cc index 8af944c6a..1dcf437eb 100644 --- a/test/ghostMPAS.cc +++ b/test/ghostMPAS.cc @@ -51,7 +51,11 @@ namespace { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -62,5 +66,7 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/gmsh.cc b/test/gmsh.cc index 2161ec764..90aae638f 100644 --- a/test/gmsh.cc +++ b/test/gmsh.cc @@ -9,7 +9,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -23,7 +27,9 @@ int main(int argc, char** argv) "the mesh.\n" "When a **gmsh v4** .msh is passed in, a topological model will be created " "from the geometric model entities defined in the gmsh input file.\n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -55,6 +61,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/graphdist.cc b/test/graphdist.cc index 3d9e96041..43dfbd0f0 100644 --- a/test/graphdist.cc +++ b/test/graphdist.cc @@ -9,14 +9,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -32,5 +38,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/hierarchic.cc b/test/hierarchic.cc index 26bccc7de..c3ad1bd32 100644 --- a/test/hierarchic.cc +++ b/test/hierarchic.cc @@ -192,7 +192,11 @@ void test(apf::Mesh* m, int p_order) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -206,5 +210,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/highOrderSizeFields.cc b/test/highOrderSizeFields.cc index db6a71ffb..bb7352bce 100644 --- a/test/highOrderSizeFields.cc +++ b/test/highOrderSizeFields.cc @@ -35,7 +35,11 @@ void testAdapt( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -69,7 +73,9 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void computeSizesFrames( diff --git a/test/highOrderSolutionTransfer.cc b/test/highOrderSolutionTransfer.cc index 57eb318d5..72eb83cf4 100644 --- a/test/highOrderSolutionTransfer.cc +++ b/test/highOrderSolutionTransfer.cc @@ -41,7 +41,11 @@ int main(int argc, char** argv) { const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -91,7 +95,9 @@ int main(int argc, char** argv) MS_exit(); SimModel_stop(); #endif +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/icesheet.cc b/test/icesheet.cc index a05b4061d..5ad0bf69f 100644 --- a/test/icesheet.cc +++ b/test/icesheet.cc @@ -481,7 +481,11 @@ int main(int argc, char** argv) return 0; } +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -525,5 +529,7 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/inClosureOf_test.cc b/test/inClosureOf_test.cc index f76448979..332ef9d66 100644 --- a/test/inClosureOf_test.cc +++ b/test/inClosureOf_test.cc @@ -18,7 +18,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==2); const char* modelFile = argv[1]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -94,6 +98,8 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/intrude.cc b/test/intrude.cc index bf1fbe332..b5994a293 100644 --- a/test/intrude.cc +++ b/test/intrude.cc @@ -9,14 +9,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -42,5 +48,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/loadPart.cc b/test/loadPart.cc index 32d4067f7..12a39b616 100644 --- a/test/loadPart.cc +++ b/test/loadPart.cc @@ -10,7 +10,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -20,7 +24,9 @@ int main(int argc, char** argv) printf("Load a single part from a partitioned mesh and " "write it as a serial part.\n" "Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -33,7 +39,9 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ma_insphere.cc b/test/ma_insphere.cc index 4b990a705..6de578164 100644 --- a/test/ma_insphere.cc +++ b/test/ma_insphere.cc @@ -7,7 +7,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif // Test determinant functions double input[4][4] = { @@ -58,5 +62,7 @@ int main(int argc, char** argv) apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ma_test.cc b/test/ma_test.cc index 86100546b..d5dad8834 100644 --- a/test/ma_test.cc +++ b/test/ma_test.cc @@ -43,7 +43,11 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* layerTagString = (argc==4) ? argv[3] : ""; const double adaptRefineFactor = (argc==5) ? atoi(argv[4]) : 3; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -81,6 +85,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ma_test_analytic_model.cc b/test/ma_test_analytic_model.cc index 1a03f233d..fe4052858 100644 --- a/test/ma_test_analytic_model.cc +++ b/test/ma_test_analytic_model.cc @@ -169,7 +169,11 @@ apf::Mesh2* createSphereMesh(pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -187,5 +191,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/makeAllCavities.cc b/test/makeAllCavities.cc index df5692c48..0fcec1d14 100644 --- a/test/makeAllCavities.cc +++ b/test/makeAllCavities.cc @@ -61,13 +61,19 @@ static apf::MeshTag* tagMesh( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); if (PCUObj.Peers() > 1) { printf("%s should only be used for serial (single part) meshes!\n", argv[0]); printf("use the serialize utility to get a serial mesh, and retry!\n"); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } if (argc != 6) { @@ -87,7 +93,9 @@ int main(int argc, char** argv) printf("fb: creates all face cavities classified on boundary\n"); printf("ls: get a list from user and creates cavities for that list\n"); printf("tagname: creates cavities for all entities that have tagname\n"); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -166,7 +174,9 @@ int main(int argc, char** argv) tag = m->findTag(mode.c_str()); if (!tag) { printf("tag with name %s was not found on the mesh. Aborting!\n", mode.c_str()); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } } @@ -254,7 +264,9 @@ int main(int argc, char** argv) #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } static void safe_mkdir( diff --git a/test/matchedNodeElmReader.cc b/test/matchedNodeElmReader.cc index a135f0703..6e7a7351a 100644 --- a/test/matchedNodeElmReader.cc +++ b/test/matchedNodeElmReader.cc @@ -743,7 +743,11 @@ void readMesh(const char* meshfilename, int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -829,5 +833,7 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/measureAnisoStats.cc b/test/measureAnisoStats.cc index c748303b2..e4fcb8c61 100644 --- a/test/measureAnisoStats.cc +++ b/test/measureAnisoStats.cc @@ -41,7 +41,11 @@ void getStats( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -52,7 +56,9 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -89,7 +95,9 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void safe_mkdir(const char* path) diff --git a/test/measureIsoStats.cc b/test/measureIsoStats.cc index 4ebacec5e..e6b53fa29 100644 --- a/test/measureIsoStats.cc +++ b/test/measureIsoStats.cc @@ -42,7 +42,11 @@ void getStats( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -53,7 +57,9 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -89,7 +95,9 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void safe_mkdir(const char* path) diff --git a/test/mixedNumbering.cc b/test/mixedNumbering.cc index 9017b454d..98ab991f9 100644 --- a/test/mixedNumbering.cc +++ b/test/mixedNumbering.cc @@ -47,7 +47,11 @@ static void write_output(apf::Mesh* m, const char* out) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -59,5 +63,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/mkmodel.cc b/test/mkmodel.cc index 3d5e063f3..b72b85996 100644 --- a/test/mkmodel.cc +++ b/test/mkmodel.cc @@ -9,7 +9,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -17,7 +21,9 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a discrete geometric model from a mesh\n" "Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -27,6 +33,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/mktopomodel.cc b/test/mktopomodel.cc index e0b64d360..3dea42c01 100644 --- a/test/mktopomodel.cc +++ b/test/mktopomodel.cc @@ -9,7 +9,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -17,7 +21,9 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a topological geometric model from a mesh\n" "Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -29,6 +35,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/modelInfo.cc b/test/modelInfo.cc index ce9df06dc..a58f1e84c 100644 --- a/test/modelInfo.cc +++ b/test/modelInfo.cc @@ -13,14 +13,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -77,6 +83,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/moving.cc b/test/moving.cc index 7e297fe32..87dcb1640 100644 --- a/test/moving.cc +++ b/test/moving.cc @@ -18,7 +18,11 @@ static void writeStep(apf::Mesh* m, int i) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -67,6 +71,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/nedelecShapes.cc b/test/nedelecShapes.cc index 534f4d04b..be0cd5b90 100644 --- a/test/nedelecShapes.cc +++ b/test/nedelecShapes.cc @@ -26,7 +26,11 @@ void testNedelec( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); @@ -67,7 +71,9 @@ int main(int argc, char** argv) apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/nektar_align.cc b/test/nektar_align.cc index 62010da87..24ad76ea0 100644 --- a/test/nektar_align.cc +++ b/test/nektar_align.cc @@ -108,7 +108,11 @@ static void alignForNektar(apf::Mesh2* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -132,5 +136,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/neper.cc b/test/neper.cc index 8be481036..224633d3d 100644 --- a/test/neper.cc +++ b/test/neper.cc @@ -7,14 +7,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -24,6 +30,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/newdim.cc b/test/newdim.cc index 29b68d160..58e558627 100644 --- a/test/newdim.cc +++ b/test/newdim.cc @@ -6,7 +6,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -40,7 +44,9 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/osh2smb.cc b/test/osh2smb.cc index c45eb6777..aec3fd301 100644 --- a/test/osh2smb.cc +++ b/test/osh2smb.cc @@ -14,7 +14,11 @@ #include int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -24,7 +28,9 @@ int main(int argc, char** argv) { std::cout << "usage: osh2smb in.osh in.dmg out.smb\n"; std::cout << " or: osh2smb (usage)\n"; } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -41,5 +47,7 @@ int main(int argc, char** argv) { apf::destroyMesh(am); } } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ph_adapt.cc b/test/ph_adapt.cc index 72a9a7d20..f1f4afff0 100644 --- a/test/ph_adapt.cc +++ b/test/ph_adapt.cc @@ -46,7 +46,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -102,6 +106,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/poisson.cc b/test/poisson.cc index 1d97d048c..8ec7e840c 100644 --- a/test/poisson.cc +++ b/test/poisson.cc @@ -250,7 +250,11 @@ void test(int dim, int p, pcu::PCU *PCUObj) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -259,5 +263,7 @@ int main(int argc, char** argv) { int p = atoi(argv[2]); test(dim, p, &pcu_obj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/print_pumipic_partition.cc b/test/print_pumipic_partition.cc index 371a43614..e9ad2c817 100644 --- a/test/print_pumipic_partition.cc +++ b/test/print_pumipic_partition.cc @@ -18,20 +18,28 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 && argc != 6) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } if (pcu_obj.Peers() > 1) { if ( !pcu_obj.Self() ) printf("This tool must be run in serial.\n"); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -81,5 +89,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ptnParma.cc b/test/ptnParma.cc index d43a22a9f..fe1585f67 100644 --- a/test/ptnParma.cc +++ b/test/ptnParma.cc @@ -142,7 +142,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( !PCUObj->Self() ) printf("Usage: %s " " <0:global|1:local>\n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -162,7 +164,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -189,5 +195,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/pumi.cc b/test/pumi.cc index 16ce11941..1a5f636b2 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -41,7 +41,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc < 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -85,7 +87,11 @@ void TEST_FIELD(pMesh m); int main(int argc, char** argv) //********************************************************* { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pumi_load_pcu(&PCUObj); @@ -251,7 +257,9 @@ int main(int argc, char** argv) pumi_printTimeMem("\n* [test_pumi] elapsed time and increased heap memory:", pumi_getTime()-begin_time, pumi_getMem()-begin_mem); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void TEST_MESH(pMesh m) diff --git a/test/pumiLoadMesh.cc b/test/pumiLoadMesh.cc index f6a9ebb4c..bd6f3eef7 100644 --- a/test/pumiLoadMesh.cc +++ b/test/pumiLoadMesh.cc @@ -2,7 +2,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pumi_load_pcu(&PCUObj); @@ -11,6 +15,8 @@ int main(int argc, char** argv) pumi_mesh_delete(m); pumi_geom_delete(g); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/quality.cc b/test/quality.cc index 17f1097a1..dad24573f 100644 --- a/test/quality.cc +++ b/test/quality.cc @@ -22,7 +22,9 @@ static void fail(char** argv, pcu::PCU *PCUObj) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -89,7 +91,11 @@ void printDiagnostics(pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -101,5 +107,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/refine2x.cc b/test/refine2x.cc index c8e80b14d..deda85965 100644 --- a/test/refine2x.cc +++ b/test/refine2x.cc @@ -83,7 +83,11 @@ class AnisotropicX: public ma::AnisotropicFunction { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -130,5 +134,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/render.cc b/test/render.cc index 52ef4e3ab..21d10678d 100644 --- a/test/render.cc +++ b/test/render.cc @@ -16,14 +16,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -60,6 +66,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/renderClass.cc b/test/renderClass.cc index 2d110c685..e7404320a 100644 --- a/test/renderClass.cc +++ b/test/renderClass.cc @@ -32,7 +32,11 @@ static void number_dim(apf::Mesh* m, apf::FieldShape* shape, int dim, std::strin int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -41,7 +45,9 @@ int main(int argc, char** argv) printf("Usage: %s \n", argv[0]); printf(" %s \n", argv[0]); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -76,7 +82,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/render_ascii.cc b/test/render_ascii.cc index 2d748f1ee..0ca596f4d 100644 --- a/test/render_ascii.cc +++ b/test/render_ascii.cc @@ -13,14 +13,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -42,6 +48,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/reorder.cc b/test/reorder.cc index 94d6670bb..6ed14b248 100644 --- a/test/reorder.cc +++ b/test/reorder.cc @@ -14,14 +14,20 @@ #include int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -46,5 +52,7 @@ int main(int argc, char** argv) { MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/repartition.cc b/test/repartition.cc index 6d019e6b8..179efa8b9 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -64,7 +64,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) "Unlike the [z]split tool, outPartCount does not have to be an integer\n" "multiple of inPartCount.\n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -96,7 +98,11 @@ void balance(apf::Mesh2* m) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU expanded_pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -115,7 +121,9 @@ int main(int argc, char** argv) m->writeNative(outFile); freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/reposition.cc b/test/reposition.cc index c3d4b47ce..fced2567a 100644 --- a/test/reposition.cc +++ b/test/reposition.cc @@ -7,7 +7,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -44,5 +48,7 @@ int main(int argc, char** argv) ma::repositionVertex(m, v, 20, 1.0); apf::writeVtkFiles("after", m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/residualErrorEstimation_test.cc b/test/residualErrorEstimation_test.cc index a34934e5a..1a8b58dc6 100644 --- a/test/residualErrorEstimation_test.cc +++ b/test/residualErrorEstimation_test.cc @@ -25,7 +25,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -97,7 +101,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void E_exact(const apf::Vector3 &x, apf::Vector3& E) diff --git a/test/rm_extrusion.cc b/test/rm_extrusion.cc index f415fd11f..02afa2321 100644 --- a/test/rm_extrusion.cc +++ b/test/rm_extrusion.cc @@ -91,7 +91,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -145,5 +149,7 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/runSimxAnisoAdapt.cc b/test/runSimxAnisoAdapt.cc index 81896ad28..dbd243e47 100644 --- a/test/runSimxAnisoAdapt.cc +++ b/test/runSimxAnisoAdapt.cc @@ -74,7 +74,11 @@ apf::Mesh2* convertToPumi( const char* sizeName, const char* frameName, pcu::PCU *PCUObj); int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -87,7 +91,9 @@ int main(int argc, char** argv) printf("USAGE: %s " " \n", argv[0]); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -229,7 +235,9 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); MS_exit(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void printModelStats(pGModel model) diff --git a/test/scale.cc b/test/scale.cc index d321a066a..bb854bfe8 100644 --- a/test/scale.cc +++ b/test/scale.cc @@ -18,7 +18,9 @@ struct Scale { static void print_usage(char** argv, pcu::PCU *PCUObj) { if (! PCUObj->Self()) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -53,7 +55,11 @@ static void scale_mesh(apf::Mesh2* m, Scale const& s) { } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -75,5 +81,7 @@ int main(int argc, char** argv) { m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/serialize.cc b/test/serialize.cc index 74b7c5c47..c1ede41cb 100644 --- a/test/serialize.cc +++ b/test/serialize.cc @@ -25,14 +25,20 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -59,6 +65,8 @@ int main( int argc, char* argv[]) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/shapefun.cc b/test/shapefun.cc index 7c02b1d2b..8e42dbe7a 100644 --- a/test/shapefun.cc +++ b/test/shapefun.cc @@ -242,7 +242,11 @@ void testPyramidVolume(pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -262,5 +266,7 @@ int main(int argc, char** argv) testPrismVolume(&PCUObj); testPyramidVolume(&PCUObj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/shapefun2.cc b/test/shapefun2.cc index 5922c36e7..d8f1e627e 100644 --- a/test/shapefun2.cc +++ b/test/shapefun2.cc @@ -169,7 +169,11 @@ static void checkFieldShape(apf::FieldShape* fs, pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -183,6 +187,8 @@ int main(int argc, char** argv) test::checkFieldShape(fs[i], &PCUObj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/simZBalance.cc b/test/simZBalance.cc index 910da6a34..2db8255ce 100644 --- a/test/simZBalance.cc +++ b/test/simZBalance.cc @@ -24,7 +24,11 @@ static void load_balance(apf::Mesh2* m) { } int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -52,5 +56,7 @@ int main(int argc, char** argv) { gmi_sim_stop(); Sim_unregisterAllKeys(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/sim_countBL.cc b/test/sim_countBL.cc index c909c029c..19f4bc323 100644 --- a/test/sim_countBL.cc +++ b/test/sim_countBL.cc @@ -22,7 +22,11 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif SimPartitionedMesh_start(&argc, &argv); // Read in command line arguments if (argc == 5) { @@ -107,7 +111,9 @@ int main(int argc, char **argv) SimParasolid_stop(1); Sim_unregisterAllKeys(); SimPartitionedMesh_stop(); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/sim_part.cc b/test/sim_part.cc index 83906b02f..a97a649a3 100644 --- a/test/sim_part.cc +++ b/test/sim_part.cc @@ -66,7 +66,11 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -173,7 +177,9 @@ int main(int argc, char **argv) SimDiscrete_stop(0); SimPartitionedMesh_stop(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/smb2osh.cc b/test/smb2osh.cc index 505b6c0c9..93872214d 100644 --- a/test/smb2osh.cc +++ b/test/smb2osh.cc @@ -14,7 +14,11 @@ #include int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -24,7 +28,9 @@ int main(int argc, char** argv) { std::cout << "usage: smb2osh in.dmg in.smb out.osh\n"; std::cout << " or: smb2osh (usage)\n"; } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -39,5 +45,7 @@ int main(int argc, char** argv) { Omega_h::binary::write(argv[3], &om); } } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/snap.cc b/test/snap.cc index 13953fa2b..c098b1da6 100644 --- a/test/snap.cc +++ b/test/snap.cc @@ -11,7 +11,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -31,6 +35,8 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/split.cc b/test/split.cc index 9dbd87c2d..3fb8e31ec 100644 --- a/test/split.cc +++ b/test/split.cc @@ -52,7 +52,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -66,7 +68,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -104,6 +110,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/spr_test.cc b/test/spr_test.cc index 69276fdb2..c1c0d073c 100644 --- a/test/spr_test.cc +++ b/test/spr_test.cc @@ -17,7 +17,11 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* outFile = argv[3]; const int order = atoi(argv[4]); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -37,6 +41,8 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/swapDoubles.cc b/test/swapDoubles.cc index 4b9e8a9f1..e106280e8 100644 --- a/test/swapDoubles.cc +++ b/test/swapDoubles.cc @@ -5,7 +5,11 @@ #include //cerr int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); const size_t n = 2; @@ -27,6 +31,8 @@ int main(int argc, char** argv) { delete [] d_orig; delete [] d; } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/test_integrator.cc b/test/test_integrator.cc index e135656a7..10994aad5 100644 --- a/test/test_integrator.cc +++ b/test/test_integrator.cc @@ -22,7 +22,11 @@ class CountIntegrator : public apf::Integrator { } }; int main(int argc, char ** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); // argument should be model, mesh @@ -48,6 +52,8 @@ int main(int argc, char ** argv) { mesh->destroyNative(); apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/test_matrix_grad.cc b/test/test_matrix_grad.cc index 6ff6eb7d9..3dca8468f 100644 --- a/test/test_matrix_grad.cc +++ b/test/test_matrix_grad.cc @@ -92,7 +92,11 @@ int main(int argc, char* argv[]) std::cerr<<"Usage: "<destroyNative(); apf::destroyMesh(mesh); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/test_scaling.cc b/test/test_scaling.cc index f727a902b..af6648b9e 100644 --- a/test/test_scaling.cc +++ b/test/test_scaling.cc @@ -12,7 +12,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -27,5 +31,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/test_verify.cc b/test/test_verify.cc index 9802b09ad..390abf84f 100644 --- a/test/test_verify.cc +++ b/test/test_verify.cc @@ -10,7 +10,11 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -44,5 +48,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/tetrahedronize.cc b/test/tetrahedronize.cc index ee0555833..00d2aa13c 100644 --- a/test/tetrahedronize.cc +++ b/test/tetrahedronize.cc @@ -14,7 +14,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -40,7 +44,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/torus_ma_test.cc b/test/torus_ma_test.cc index 5c0799848..8c38f2afe 100644 --- a/test/torus_ma_test.cc +++ b/test/torus_ma_test.cc @@ -46,7 +46,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -70,6 +74,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ugrid.cc b/test/ugrid.cc index 596392860..1164e44a5 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -30,14 +30,20 @@ pcu::PCU* getGroupedPCU(const int partitionFactor, pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -65,6 +71,8 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/ugridptnstats.cc b/test/ugridptnstats.cc index c9a67dac4..ef1ba4eef 100644 --- a/test/ugridptnstats.cc +++ b/test/ugridptnstats.cc @@ -18,7 +18,11 @@ const double weights[8] = {vtxw, edgew, triw, quadw, tetw, hexw, przw, pyrw}; int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -30,5 +34,7 @@ int main(int argc, char** argv) gmi_model* g = gmi_load(".null"); apf::printUgridPtnStats(g,ugridfile,ptnfile,weights,&PCUObj); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/uniform.cc b/test/uniform.cc index 2d45b167b..8ab124066 100644 --- a/test/uniform.cc +++ b/test/uniform.cc @@ -21,7 +21,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -32,7 +34,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -63,6 +69,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/verify.cc b/test/verify.cc index 76f94e055..67aa35d8c 100644 --- a/test/verify.cc +++ b/test/verify.cc @@ -14,7 +14,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -37,7 +41,9 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/verify_2nd_order_shapes.cc b/test/verify_2nd_order_shapes.cc index acfc64f48..2318425b8 100644 --- a/test/verify_2nd_order_shapes.cc +++ b/test/verify_2nd_order_shapes.cc @@ -16,14 +16,20 @@ #include int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -111,5 +117,7 @@ int main(int argc, char** argv) { MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/verify_convert.cc b/test/verify_convert.cc index f312d202b..d70aecdf5 100644 --- a/test/verify_convert.cc +++ b/test/verify_convert.cc @@ -42,7 +42,11 @@ class twox : public apf::Function { }; int main(int argc, char* argv[]) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -162,6 +166,8 @@ int main(int argc, char* argv[]) apf::destroyMesh(m2); apf::destroyMesh(m3); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } diff --git a/test/visualizeAnisoSizes.cc b/test/visualizeAnisoSizes.cc index f27b25b7c..a0bb7d123 100644 --- a/test/visualizeAnisoSizes.cc +++ b/test/visualizeAnisoSizes.cc @@ -42,7 +42,11 @@ void visualizeSizeField( int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -53,7 +57,9 @@ int main(int argc, char** argv) printf("USAGE2: %s " " \n", argv[0]); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } @@ -88,7 +94,9 @@ int main(int argc, char** argv) #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } void safe_mkdir(const char* path) diff --git a/test/viz.cc b/test/viz.cc index cf99e58fa..89318fb60 100644 --- a/test/viz.cc +++ b/test/viz.cc @@ -106,5 +106,7 @@ int main(int argc, char** argv) freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/vtxBalance.cc b/test/vtxBalance.cc index 163330f39..5b8c026b9 100644 --- a/test/vtxBalance.cc +++ b/test/vtxBalance.cc @@ -29,14 +29,20 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -69,5 +75,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/vtxEdgeElmBalance.cc b/test/vtxEdgeElmBalance.cc index b79239277..dbfb81d27 100644 --- a/test/vtxEdgeElmBalance.cc +++ b/test/vtxEdgeElmBalance.cc @@ -44,14 +44,20 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 6); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 6 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -87,5 +93,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/vtxElmBalance.cc b/test/vtxElmBalance.cc index 12a47e39c..d6e87c685 100644 --- a/test/vtxElmBalance.cc +++ b/test/vtxElmBalance.cc @@ -33,14 +33,20 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -60,5 +66,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/vtxElmMixedBalance.cc b/test/vtxElmMixedBalance.cc index 3aa55fe99..82caebe01 100644 --- a/test/vtxElmMixedBalance.cc +++ b/test/vtxElmMixedBalance.cc @@ -16,7 +16,11 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -42,6 +46,8 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/writeIPFieldTest.cc b/test/writeIPFieldTest.cc index 8a0f60e01..ff06eba26 100644 --- a/test/writeIPFieldTest.cc +++ b/test/writeIPFieldTest.cc @@ -8,7 +8,11 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -20,5 +24,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/writePart.cc b/test/writePart.cc index 4d631ec0e..bb6161544 100644 --- a/test/writePart.cc +++ b/test/writePart.cc @@ -7,14 +7,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -24,7 +30,9 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/writeVtxPtn.cc b/test/writeVtxPtn.cc index 600519842..7c3adb746 100644 --- a/test/writeVtxPtn.cc +++ b/test/writeVtxPtn.cc @@ -22,7 +22,9 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -32,7 +34,11 @@ namespace { int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -42,5 +48,7 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/xgc_split.cc b/test/xgc_split.cc index b502d3abb..ae8e73f66 100644 --- a/test/xgc_split.cc +++ b/test/xgc_split.cc @@ -18,7 +18,9 @@ void getConfig(int argc, char** argv, pcu::PCU* PCUObj) if (argc < 4) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -53,7 +55,11 @@ Migration* get_xgc_plan(pGeom g, pMesh m) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); pumi_load_pcu(&PCUObj); @@ -94,6 +100,8 @@ int main(int argc, char** argv) pumi_mesh_delete(m); } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/zbalance.cc b/test/zbalance.cc index 7409e5291..db1883213 100644 --- a/test/zbalance.cc +++ b/test/zbalance.cc @@ -18,14 +18,20 @@ int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -57,5 +63,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } diff --git a/test/zsplit.cc b/test/zsplit.cc index dba8b976b..d7c743bd8 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -54,7 +54,9 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -68,7 +70,11 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); +#else + (void) argc, (void) argv; +#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -106,5 +112,7 @@ int main(int argc, char** argv) MS_exit(); #endif } +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif } From da817811a2012660a50b22a09240bd7a9c953d4a Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 12 Feb 2025 13:39:49 -0500 Subject: [PATCH 28/66] remove MPI_SUM from pcu_pnompi_types.h This macro is unneeded since PCU_Comm_Allreduce was removed. Signed-off-by: Aiden Woodruff --- pcu/pcu_pnompi_types.h | 1 - 1 file changed, 1 deletion(-) diff --git a/pcu/pcu_pnompi_types.h b/pcu/pcu_pnompi_types.h index ea01a410d..dc05b849b 100644 --- a/pcu/pcu_pnompi_types.h +++ b/pcu/pcu_pnompi_types.h @@ -16,7 +16,6 @@ typedef int MPI_Datatype; typedef int MPI_Op; #define MPI_COMM_WORLD 0 #define MPI_ANY_SOURCE -1 -#define MPI_SUM 1 #define MPI_INT 2 #endif // PCU_PNOMPI_TYPES_H From ce7c4e800fe5d03052c2291b8bf97d7c6e9899c7 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 13 Feb 2025 14:29:19 -0500 Subject: [PATCH 29/66] replace PCU_Comm_Allgather with PCU::Allgather - pcu/PCU.h: remove MPI_Wtime (since pcu::Time now has the replacement). - remove PCU_Comm_Allgather. - add PCU::Allgather. - pcu/PCU.cc(pcu::Time): add SCOREC_NO_MPI definition. - define pcu::Allgather in terms of new pcu_allgather function. - add explicit template instantiations of Allgather. - pcu/pcu_c.cc: remove PCU_Comm_Allgather. - pcu/pcu_coll.c: add special pcu_merge2 function to deliver additional info necessary to merge_gather. - add pcu_progress_coll_internal which has a flag to use pcu_merge2 and call it from pcu_progress_coll (public interface). - (merge_gather): new function to merge gathered arrays. this requires the mpi_size and bit, so I had to add pcu_merge2. - (pcu_gather): new function to gather data. - (pcu_allgather): add new function to gather and broadcast. - pcu/pcu_coll.h: add pcu_allgather declaration. - pcu_pmpi.h: remove pcu_pmpi_allgather. - pcu_pmpi.c: remove pcu_pmpi_allgather. - pcu_pnompi.h: remove pcu_pmpi_allgather. - pcu_pnompi.c: remove pcu_pmpi_allgather. - remove MPI_Wtime stub (which got moved into PCU.cc). - pcu/pcu_pnompi_types.h: remove MPI_Datatype, MPI_Op, MPI_INT stubs. - pumi/pumi_numbering.cc: use PCU::Allgather. - example/mpi-nompi/hello.cc: add Allgather single value and array tests. - example/mpi-nompi/CMakeLists.txt: update test regexes. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/CMakeLists.txt | 20 ++++++++++++-- example/mpi-nompi/hello.cc | 44 ++++++++++++++++++++++++++++++ pcu/PCU.cc | 19 +++++++++++-- pcu/PCU.h | 10 ++----- pcu/pcu_c.cc | 6 ---- pcu/pcu_coll.c | 47 +++++++++++++++++++++++++++++--- pcu/pcu_coll.h | 2 ++ pcu/pcu_pmpi.c | 7 ----- pcu/pcu_pmpi.h | 4 --- pcu/pcu_pnompi.c | 14 ---------- pcu/pcu_pnompi.h | 1 - pcu/pcu_pnompi_types.h | 3 -- pumi/pumi_numbering.cc | 2 +- 13 files changed, 127 insertions(+), 52 deletions(-) diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt index 21ee35b68..67107dbf7 100644 --- a/example/mpi-nompi/CMakeLists.txt +++ b/example/mpi-nompi/CMakeLists.txt @@ -20,7 +20,9 @@ add_test(NAME hello1 COMMAND mpirun -np 1 $) set_property(TEST hello1 PROPERTY PASS_REGULAR_EXPRESSION "MPI size: 1\; PCU size: 1 Hello from MPI rank: 0\; PCU rank: 0 -MPI\\(0\\) sum: 1\; PCU sum: 1" +MPI\\(0\\) sum: 1\; PCU sum: 1 +MPI\\(0\\) gather: \\[1\\]\; PCU gather: \\[1\\] +MPI\\(0\\) gather2: \\[1, -1\\]\; PCU gather2: \\[1, -1\\]" ) add_test(NAME hello2 COMMAND mpirun -np 2 $) set_property(TEST hello2 PROPERTY PASS_REGULAR_EXPRESSION @@ -28,7 +30,11 @@ set_property(TEST hello2 PROPERTY PASS_REGULAR_EXPRESSION Hello from MPI rank: 0\; PCU rank: 0 Hello from MPI rank: 1\; PCU rank: 0 MPI\\(0\\) sum: 3\; PCU sum: 1 -MPI\\(1\\) sum: 3\; PCU sum: 2" +MPI\\(1\\) sum: 3\; PCU sum: 2 +MPI\\(0\\) gather: \\[1, 2\\]\; PCU gather: \\[1\\] +MPI\\(1\\) gather: \\[1, 2\\]\; PCU gather: \\[2\\] +MPI\\(0\\) gather2: \\[1, -1, 2, -2\\]\; PCU gather2: \\[1, -1\\] +MPI\\(1\\) gather2: \\[1, -1, 2, -2\\]\; PCU gather2: \\[2, -2\\]" ) add_test(NAME hello4 COMMAND mpirun -np 4 $) set_property(TEST hello4 PROPERTY PASS_REGULAR_EXPRESSION @@ -40,6 +46,14 @@ Hello from MPI rank: 3\; PCU rank: 0 MPI\\(0\\) sum: 10\; PCU sum: 1 MPI\\(1\\) sum: 10\; PCU sum: 2 MPI\\(2\\) sum: 10\; PCU sum: 3 -MPI\\(3\\) sum: 10\; PCU sum: 4" +MPI\\(3\\) sum: 10\; PCU sum: 4 +MPI\\(0\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[1\\] +MPI\\(1\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[2\\] +MPI\\(2\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[3\\] +MPI\\(3\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[4\\] +MPI\\(0\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[1, -1\\] +MPI\\(1\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[2, -2\\] +MPI\\(2\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[3, -3\\] +MPI\\(3\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[4, -4\\]" ) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index 78577c536..990e7073e 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -7,6 +7,8 @@ #include #include +void print_array(int *arr, size_t n); + int main(int argc, char** argv) { MPI_Init(&argc, &argv); pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); @@ -38,7 +40,49 @@ int main(int argc, char** argv) { "; PCU sum: " << psum << std::endl; MPI_Barrier(MPI_COMM_WORLD); } + // Test Allgather + int *vals1 = new int[size]; + MPI_Allgather(&val, 1, MPI_INT, vals1, 1, MPI_INT, MPI_COMM_WORLD); + int *pvals1 = new int[PCUObj->Peers()]; + PCUObj->Allgather(&val, pvals1, 1); + for (int i = 0; i < size; ++i) { + if (rank == i) { + std::cout << "MPI(" << rank << ") gather: "; + print_array(vals1, size); + std::cout << "; PCU gather: "; + print_array(pvals1, PCUObj->Peers()); + std::cout << std::endl; + } + MPI_Barrier(MPI_COMM_WORLD); + } + delete vals1; + delete pvals1; + int val2[2] = {val, -val}, *vals2 = new int[2 * size]; + MPI_Allgather(val2, 2, MPI_INT, vals2, 2, MPI_INT, MPI_COMM_WORLD); + int *pvals2 = new int[2 * PCUObj->Peers()]; + PCUObj->Allgather(val2, pvals2, 2); + for (int i = 0; i < size; ++i) { + if (rank == i) { + std::cout << "MPI(" << rank << ") gather2: "; + print_array(vals2, 2 * size); + std::cout << "; PCU gather2: "; + print_array(pvals2, 2 * PCUObj->Peers()); + std::cout << std::endl; + } + MPI_Barrier(MPI_COMM_WORLD); + } + delete vals2; + delete pvals2; delete PCUObj; MPI_Finalize(); return 0; } + +void print_array(int *arr, size_t n) { + std::cout << "["; + for (int i = 0; i < n; ++i) { + if (i != 0) std::cout << ", "; + std::cout << arr[i]; + } + std::cout << "]"; +} diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 9a5bafa51..238727140 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -49,6 +49,7 @@ #include #include #include +#include namespace pcu { int PCU::Peers() const noexcept { return pcu_mpi_size(mpi_); } @@ -193,7 +194,15 @@ void PCU::DebugOpen() noexcept { double GetMem() noexcept { return pcu_get_mem(); } void Protect() noexcept { reel_protect(); } -double Time() noexcept { return MPI_Wtime(); } +double Time() noexcept { +#ifndef SCOREC_NO_MPI + return MPI_Wtime(); +#else + struct timespec now; + clock_gettime(CLOCK_REALTIME, &now); + return (double)now.tv_sec + now.tv_nsec * 1.0e-9; +#endif +} void PCU::DebugPrint(const char *format, ...) noexcept { va_list args; @@ -317,6 +326,11 @@ template T PCU::Exscan(T p) noexcept { Exscan(&p, 1); return p; } + +template void PCU::Allgather(T *send_data, T *recv_data, size_t n) noexcept { + pcu_allgather(mpi_, &(msg_->coll), send_data, recv_data, n * sizeof(T)); +} + #define PCU_EXPL_INST_DECL(T) \ template void PCU::Add(T * p, size_t n) noexcept; \ template T PCU::Add(T p) noexcept; \ @@ -325,7 +339,8 @@ template T PCU::Exscan(T p) noexcept { template void PCU::Max(T * p, size_t n) noexcept; \ template T PCU::Max(T p) noexcept; \ template void PCU::Exscan(T * p, size_t n) noexcept; \ - template T PCU::Exscan(T p) noexcept; + template T PCU::Exscan(T p) noexcept; \ + template void PCU::Allgather(T *in, T *out, size_t n) noexcept; PCU_EXPL_INST_DECL(int) PCU_EXPL_INST_DECL(size_t) PCU_EXPL_INST_DECL(long) diff --git a/pcu/PCU.h b/pcu/PCU.h index 5902ffeed..54f8dcbf0 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -3,11 +3,6 @@ #if defined(SCOREC_NO_MPI) #include "pcu_pnompi_types.h" -// Remove MPI calls. -#ifdef __cplusplus -extern "C" -#endif -double MPI_Wtime(void); #else #include #endif @@ -21,7 +16,6 @@ struct pcu_mpi_struct; extern "C" { int PCU_Comm_Free_One(MPI_Comm* com); int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom); -int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); } namespace pcu { class PCU { @@ -83,6 +77,7 @@ class PCU { template [[nodiscard]] T Max(T p) noexcept; template void Exscan(T *p, size_t n) noexcept; template [[nodiscard]] T Exscan(T p) noexcept; + template void Allgather(T *send, T *recv, size_t n) noexcept; /*bitwise operations*/ [[nodiscard]] int Or(int c) noexcept; @@ -132,7 +127,8 @@ PCU* PCU_GetGlobal(); extern template void PCU::Max(T * p, size_t n) noexcept; \ extern template T PCU::Max(T p) noexcept; \ extern template void PCU::Exscan(T * p, size_t n) noexcept; \ - extern template T PCU::Exscan(T p) noexcept; + extern template T PCU::Exscan(T p) noexcept; \ + extern template void PCU::Allgather(T *send, T *recv, size_t n) noexcept; PCU_EXPL_INST_DECL(int) PCU_EXPL_INST_DECL(size_t) PCU_EXPL_INST_DECL(long) diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 580019468..6387600e3 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -35,12 +35,6 @@ int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom) { return PCU_SUCCESS; } -int PCU_Comm_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) -{ - pcu_pmpi_allgather(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm); - return PCU_SUCCESS; -} - int PCU_Comm_Self(PCU_t h) { if (h.ptr == nullptr) reel_fail("Comm_Self called before Comm_Init"); diff --git a/pcu/pcu_coll.c b/pcu/pcu_coll.c index 01c89445f..11d127ce6 100644 --- a/pcu/pcu_coll.c +++ b/pcu/pcu_coll.c @@ -33,6 +33,10 @@ void pcu_merge_assign(void* local, void* incoming, size_t size) memcpy(local,incoming,size); } +// Advanced merge prototype with access to bit info. +typedef void pcu_merge2(int mpi_size, int bit, void* local, void* incoming, + size_t size); + /* initiates non-blocking calls for this communication step */ static void begin_coll_step(pcu_mpi_t* mpi, pcu_coll* c) @@ -49,7 +53,7 @@ static void begin_coll_step(pcu_mpi_t* mpi, pcu_coll* c) Returns false if communication is not done, otherwise wraps up communication, merges if necessary, and returns true */ -static bool end_coll_step(pcu_mpi_t* mpi, pcu_coll* c) +static bool end_coll_step(pcu_mpi_t* mpi, pcu_coll* c, bool use_merge2) { int action = c->pattern->action(mpi, c->bit); if (action == pcu_coll_idle) @@ -64,7 +68,14 @@ static bool end_coll_step(pcu_mpi_t* mpi, pcu_coll* c) if (c->message.buffer.size != incoming.buffer.size) reel_fail("PCU unexpected incoming message.\n" "Most likely a PCU collective was not called by all ranks."); - c->merge(c->message.buffer.start,incoming.buffer.start,incoming.buffer.size); + if (use_merge2) { + pcu_merge2 *merge2 = (pcu_merge2*)(void*) c->merge; + merge2(pcu_mpi_size(mpi), c->bit, c->message.buffer.start, + incoming.buffer.start, incoming.buffer.size); + } else { + c->merge(c->message.buffer.start, incoming.buffer.start, + incoming.buffer.size); + } pcu_free_message(&incoming); return true; } @@ -108,11 +119,12 @@ void pcu_begin_coll(pcu_mpi_t* mpi, pcu_coll* c, void* data, size_t size) /* makes progress on a collective operation started by pcu_begin_coll. returns false if its done. */ -bool pcu_progress_coll(pcu_mpi_t* mpi, pcu_coll* c) +static bool pcu_progress_coll_internal(pcu_mpi_t* mpi, pcu_coll* c, + bool use_merge2) { if (c->pattern->end_bit(mpi, c->bit)) return false; - if (end_coll_step(mpi, c)) + if (end_coll_step(mpi, c, use_merge2)) { c->bit = c->pattern->shift(mpi, c->bit); if (c->pattern->end_bit(mpi, c->bit)) @@ -122,6 +134,11 @@ bool pcu_progress_coll(pcu_mpi_t* mpi, pcu_coll* c) return true; } +bool pcu_progress_coll(pcu_mpi_t *mpi, pcu_coll *c) +{ + return pcu_progress_coll_internal(mpi, c, false); +} + /* reduce merges odd ranks into even ones, then odd multiples of 2 into even ones, etc... until rank 0 has all inputs merged */ @@ -403,6 +420,28 @@ void pcu_scan(pcu_mpi_t* mpi, pcu_coll* c, pcu_merge* m, void* data, size_t size while(pcu_progress_coll(mpi, c)); } +void merge_gather(int mpi_size, int bit, void *local, void *incoming, + size_t size) { + // bit is equal to the current number of items in local and incoming. + // Since all items incoming are from greater ranks, they got to the right. + size_t block_size = size / mpi_size; + memcpy(local + bit * block_size, incoming, bit * block_size); +} + +void pcu_gather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, + void *recv_data, size_t size) { + memcpy(recv_data, send_data, size); + pcu_make_coll(mpi, c, &reduce, (pcu_merge*)(void*) merge_gather); + pcu_begin_coll(mpi, c, recv_data, size * pcu_mpi_size(mpi)); + while (pcu_progress_coll_internal(mpi, c, true)); +} + +void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, + void *recv_data, size_t size) { + pcu_gather(mpi, c, send_data, recv_data, size); + pcu_bcast(mpi, c, recv_data, size * pcu_mpi_size(mpi)); +} + /* a barrier is just an allreduce of nothing in particular */ void pcu_begin_barrier(pcu_mpi_t* mpi, pcu_coll* c) { diff --git a/pcu/pcu_coll.h b/pcu/pcu_coll.h index f69bf7a08..2b6310b65 100644 --- a/pcu/pcu_coll.h +++ b/pcu/pcu_coll.h @@ -76,6 +76,8 @@ void pcu_reduce(pcu_mpi_t*, pcu_coll* c, pcu_merge* m, void* data, size_t size); void pcu_bcast(pcu_mpi_t*, pcu_coll* c, void* data, size_t size); void pcu_allreduce(pcu_mpi_t*, pcu_coll* c, pcu_merge* m, void* data, size_t size); void pcu_scan(pcu_mpi_t*, pcu_coll* c, pcu_merge* m, void* data, size_t size); +void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, + void *recv_data, size_t size); void pcu_begin_barrier(pcu_mpi_t*,pcu_coll* c); bool pcu_barrier_done(pcu_mpi_t*, pcu_coll* c); diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 1b11a47ca..4ea2e70f9 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -114,10 +114,3 @@ bool pcu_pmpi_receive2(const pcu_mpi_t* self, pcu_message* m, int tag, MPI_Comm return true; } -int pcu_pmpi_allgather(const void *sendbuf, int sendcount, - MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, - MPI_Comm comm) { - return MPI_Allgather( - sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm - ); -} diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index e75323bef..de3bcb6eb 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -26,10 +26,6 @@ bool pcu_pmpi_done(const pcu_mpi_t *, pcu_message *m); int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); int pcu_pmpi_free(MPI_Comm* comm); -int pcu_pmpi_allgather( - const void *sendbuf, int sendcount, MPI_Datatype sendtype, - void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm -); #ifdef __cplusplus } diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 419f7e2c4..710885bf7 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -12,7 +12,6 @@ #include #include #include -#include void pcu_pmpi_send2(const pcu_mpi_t *, pcu_message* m, int tag, MPI_Comm comm); bool pcu_pmpi_receive2(const pcu_mpi_t *, pcu_message* m, int tag, MPI_Comm); @@ -104,13 +103,6 @@ void free_nompi_msg(NoMpiMsg* msg) // ------------------------------------------------------------------- // -double MPI_Wtime(void) -{ - struct timespec now; - clock_gettime(CLOCK_REALTIME, &now); - return (double)now.tv_sec + now.tv_nsec * 1.0e-9; -} - void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t *self) { self->original_comm = comm; self->user_comm = comm+1; @@ -185,12 +177,6 @@ bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, return true; } -int pcu_pmpi_allgather(const void * a, int b, MPI_Datatype c, void * d, int e, - MPI_Datatype f, MPI_Comm g) { - (void) a, (void) b, (void) c, (void) d, (void) e, (void) f, (void) g; - return 0; -} - int pcu_pmpi_barrier(MPI_Comm a) { (void) a; return 0; diff --git a/pcu/pcu_pnompi.h b/pcu/pcu_pnompi.h index 78ea44a75..8db189cc8 100644 --- a/pcu/pcu_pnompi.h +++ b/pcu/pcu_pnompi.h @@ -28,7 +28,6 @@ bool pcu_pmpi_done(const pcu_mpi_t*, pcu_message *m); int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc); int pcu_pmpi_free(MPI_Comm* comm); -int pcu_pmpi_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm); int pcu_pmpi_barrier(MPI_Comm comm); double MPI_Wtime(void); diff --git a/pcu/pcu_pnompi_types.h b/pcu/pcu_pnompi_types.h index dc05b849b..443c5f6a4 100644 --- a/pcu/pcu_pnompi_types.h +++ b/pcu/pcu_pnompi_types.h @@ -12,10 +12,7 @@ typedef int MPI_Comm; typedef int MPI_Request; -typedef int MPI_Datatype; -typedef int MPI_Op; #define MPI_COMM_WORLD 0 #define MPI_ANY_SOURCE -1 -#define MPI_INT 2 #endif // PCU_PNOMPI_TYPES_H diff --git a/pumi/pumi_numbering.cc b/pumi/pumi_numbering.cc index 9e83243d6..8aaa6e6d9 100644 --- a/pumi/pumi_numbering.cc +++ b/pumi/pumi_numbering.cc @@ -137,7 +137,7 @@ pNumbering pumi_numbering_createProcGrp ( int* out_arr = new int[m->getPCU()->Peers()]; // out[i] has local_numOwnedPartBdryEnt of process i on all processes *in = owned_node_cnt; - PCU_Comm_Allgather(in, 1, MPI_INT, out_arr, 1, MPI_INT, m->getPCU()->GetMPIComm()); + m->getPCU()->Allgather(in, out_arr, 1); it = m->begin(dim); int nbr = 0; From f88e21eb7080b36815e2fa25296928fc18168f17 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 18 Feb 2025 20:45:59 -0500 Subject: [PATCH 30/66] Replace MPI_Comm with PCU_Comm and add PCU::PCU() - CMakeLists.txt: remove -DSCOREC_NO_MPI from CFLAGS. - add SCOREC_config.h.in configure file. - add the BINARY_DIR to includes during build and /prefix/include during install so that SCOREC_config.h can be #included. - add /prefix/include to each component library target in root CMake file. Use the recommended GNUInstallDirs variable. - */CMakeLists.txt: remove the install interface include since it will be added during scorec_export_lbrary. - SCOREC_config.h.in: add SCOREC_NO_MPI. - pcu/CMakeLists.txt: remove pcu_pnompi_types.h. - pcu/PCU.h: remove pcu_pnompi_types and move #include mpi.h to pcu_defines.h. - replace MPI_Comm with PCU_Comm. - remove commented struct MPIComms. - pcu/PCU.cc: add default constructor. - replace MPI_Comm with PCU_Comm. - pcu/PCU_C.h: remove #ifdef at beginning since it's all in pcu_defines now. - replace MPI_Comm with PCU_Comm. - pcu/pcu_c.cc: use PCU default constructor and replace MPI_Comm with PCU_Comm. - pcu/pcu_defines.h: include SCOREC_config and maybe mpi. - define PCU_Comm, PCU_Request, and PCU_ANY_SOURCE. - pcu/pcu_mpi.c: replace MPI_Comm with PCU_Comm and use PCU_ANY_SOURCE. - pcu/pcu_mpi.h: use pcu_defines, PCU_Request, and PCU_Comm. - pcu/pcu_msg.c: use PCU_ANY_SOURCE. - pcu/pcu_pmpi.h: use PCU_Comm - pcu/pcu_pnompi.c: include pcu_pmpi.h, remove pcu_pnompi.h, and use PCU_Comm. - pcu/pcu_pnompi.h: remove file. - pcu/pcu_pnompi_types.h: remove file. - parma/group/parma_group.cc: replace MPI_Comm with PCU_Comm. - phasta/*.cc and test/*.cc: use default PCU constructor. - test/*.cc: use PCUObj->GetMPIComm() during PCU_Comm_Split instead of MPI_COMM_WORLD. - test/runSimxAnisoAdapt.cc, test/simSpjToSmd.cc: remove extra semicolons. Signed-off-by: Aiden Woodruff --- CMakeLists.txt | 10 ++++--- SCOREC_config.h.in | 7 +++++ apf/CMakeLists.txt | 1 - apf_cap/CMakeLists.txt | 1 - apf_sim/CMakeLists.txt | 1 - can/CMakeLists.txt | 1 - crv/CMakeLists.txt | 1 - dsp/CMakeLists.txt | 1 - gmi/CMakeLists.txt | 1 - gmi_cap/CMakeLists.txt | 1 - gmi_sim/CMakeLists.txt | 1 - lion/CMakeLists.txt | 1 - ma/CMakeLists.txt | 1 - mds/CMakeLists.txt | 1 - mth/CMakeLists.txt | 1 - omega_h/CMakeLists.txt | 1 - parma/CMakeLists.txt | 1 - parma/group/parma_group.cc | 2 +- pcu/CMakeLists.txt | 5 ---- pcu/PCU.cc | 13 +++++++--- pcu/PCU.h | 25 +++++------------- pcu/PCU_C.h | 19 ++------------ pcu/pcu_c.cc | 10 +++---- pcu/pcu_defines.h | 17 +++++++++++- pcu/pcu_mpi.c | 8 +++--- pcu/pcu_mpi.h | 25 +++++++----------- pcu/pcu_msg.c | 2 +- pcu/pcu_pmpi.h | 10 +++---- pcu/pcu_pnompi.c | 22 ++++++++-------- pcu/pcu_pnompi.h | 39 ---------------------------- pcu/pcu_pnompi_types.h | 18 ------------- phasta/CMakeLists.txt | 1 - phasta/adaptLvlSet_loop.cc | 2 +- phasta/chef.cc | 2 +- phasta/chefStream.cc | 2 +- phasta/condense.cc | 2 +- phasta/phCook.cc | 2 +- phasta/readUrPrep.cc | 2 +- phasta/threshold.cc | 2 +- pumi/CMakeLists.txt | 1 - pumi/pumi_mesh.cc | 12 ++++----- python_wrappers/CMakeLists.txt | 1 - ree/CMakeLists.txt | 1 - sam/CMakeLists.txt | 1 - spr/CMakeLists.txt | 1 - stk/CMakeLists.txt | 1 - test/1d.cc | 2 +- test/H1Shapes.cc | 2 +- test/L2Shapes.cc | 2 +- test/align.cc | 2 +- test/aniso_ma_test.cc | 2 +- test/ansys.cc | 2 +- test/assert_timing.cc | 2 +- test/balance.cc | 2 +- test/bezierElevation.cc | 2 +- test/bezierMesh.cc | 2 +- test/bezierMisc.cc | 2 +- test/bezierRefine.cc | 2 +- test/bezierShapeEval.cc | 2 +- test/bezierSubdivision.cc | 2 +- test/bezierValidity.cc | 2 +- test/box.cc | 2 +- test/cap2vtk.cc | 2 +- test/capVol.cc | 2 +- test/cgns.cc | 2 +- test/classifyThenAdapt.cc | 2 +- test/collapse.cc | 2 +- test/construct.cc | 2 +- test/constructThenGhost.cc | 2 +- test/construct_bottom_up.cc | 2 +- test/convert.cc | 2 +- test/crack_test.cc | 2 +- test/create_mis.cc | 2 +- test/curve_to_bezier.cc | 2 +- test/curvetest.cc | 2 +- test/degenerateSurfs.cc | 2 +- test/describe.cc | 2 +- test/dg_ma_test.cc | 2 +- test/elmBalance.cc | 2 +- test/embedded_edges.cc | 2 +- test/extrude.cc | 2 +- test/fieldReduce.cc | 2 +- test/field_io.cc | 2 +- test/fixDisconnected.cc | 2 +- test/fixlayer.cc | 2 +- test/fixshape.cc | 2 +- test/fusion.cc | 2 +- test/fusion2.cc | 2 +- test/fusion3.cc | 2 +- test/gap.cc | 2 +- test/generate.cc | 2 +- test/ghost.cc | 2 +- test/ghostEdge.cc | 2 +- test/ghostMPAS.cc | 2 +- test/gmsh.cc | 2 +- test/hierarchic.cc | 2 +- test/highOrderSizeFields.cc | 2 +- test/highOrderSolutionTransfer.cc | 2 +- test/icesheet.cc | 2 +- test/inClosureOf_test.cc | 2 +- test/intrude.cc | 2 +- test/loadPart.cc | 2 +- test/ma_insphere.cc | 2 +- test/ma_test.cc | 2 +- test/ma_test_analytic_model.cc | 2 +- test/makeAllCavities.cc | 2 +- test/matchedNodeElmReader.cc | 4 +-- test/measureAnisoStats.cc | 2 +- test/measureIsoStats.cc | 2 +- test/mixedNumbering.cc | 2 +- test/mkmodel.cc | 2 +- test/mktopomodel.cc | 2 +- test/modelInfo.cc | 2 +- test/moving.cc | 2 +- test/nedelecShapes.cc | 2 +- test/nektar_align.cc | 2 +- test/neper.cc | 2 +- test/newdim.cc | 2 +- test/osh2smb.cc | 2 +- test/ph_adapt.cc | 2 +- test/poisson.cc | 2 +- test/print_pumipic_partition.cc | 2 +- test/ptnParma.cc | 2 +- test/pumi.cc | 2 +- test/pumiLoadMesh.cc | 2 +- test/quality.cc | 2 +- test/refine2x.cc | 2 +- test/render.cc | 2 +- test/renderClass.cc | 2 +- test/render_ascii.cc | 2 +- test/reorder.cc | 2 +- test/repartition.cc | 6 ++--- test/reposition.cc | 2 +- test/residualErrorEstimation_test.cc | 2 +- test/rm_extrusion.cc | 2 +- test/runSimxAnisoAdapt.cc | 4 +-- test/scale.cc | 2 +- test/serialize.cc | 2 +- test/shapefun.cc | 2 +- test/shapefun2.cc | 2 +- test/simSpjToSmd.cc | 2 +- test/simZBalance.cc | 2 +- test/sim_part.cc | 2 +- test/smb2osh.cc | 2 +- test/snap.cc | 2 +- test/split.cc | 6 ++--- test/spr_test.cc | 2 +- test/swapDoubles.cc | 2 +- test/test_integrator.cc | 2 +- test/test_matrix_grad.cc | 2 +- test/test_scaling.cc | 2 +- test/test_verify.cc | 2 +- test/tetrahedronize.cc | 2 +- test/torus_ma_test.cc | 2 +- test/ugrid.cc | 6 ++--- test/ugridptnstats.cc | 2 +- test/uniform.cc | 2 +- test/verify.cc | 2 +- test/verify_2nd_order_shapes.cc | 2 +- test/verify_convert.cc | 2 +- test/visualizeAnisoSizes.cc | 2 +- test/viz.cc | 2 +- test/vtxBalance.cc | 2 +- test/vtxEdgeElmBalance.cc | 2 +- test/vtxElmBalance.cc | 2 +- test/vtxElmMixedBalance.cc | 2 +- test/writeIPFieldTest.cc | 2 +- test/writePart.cc | 2 +- test/writeVtxPtn.cc | 2 +- test/xgc_split.cc | 2 +- test/zbalance.cc | 2 +- test/zsplit.cc | 6 ++--- zoltan/CMakeLists.txt | 1 - 173 files changed, 234 insertions(+), 319 deletions(-) create mode 100644 SCOREC_config.h.in delete mode 100644 pcu/pcu_pnompi.h delete mode 100644 pcu/pcu_pnompi_types.h diff --git a/CMakeLists.txt b/CMakeLists.txt index fdcfaabe4..ad904bca1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,9 +34,6 @@ endif() # option(SCOREC_NO_MPI "Disable MPI support. When enabled only serial execution is supported." OFF) message(STATUS "SCOREC_NO_MPI: ${SCOREC_NO_MPI}") -if (SCOREC_NO_MPI) - add_definitions(-DSCOREC_NO_MPI) -endif() # Set some default compiler flags that should always be used if(NOT USE_XSDK_DEFAULTS) @@ -143,6 +140,9 @@ endif() macro(scorec_export_library target) bob_export_target(${target}) install(FILES ${HEADERS} DESTINATION include) +target_include_directories(${target} INTERFACE + "$" +) endmacro(scorec_export_library) if(ENABLE_SIMMETRIX) @@ -171,6 +171,10 @@ if(ENABLE_CGNS) add_definitions(-DHAVE_CGNS) endif() +configure_file(SCOREC_config.h.in SCOREC_config.h) +install(FILES "${CMAKE_BINARY_DIR}/SCOREC_config.h" DESTINATION include) +include_directories(PUBLIC "$") + # Include the SCOREC project packages add_subdirectory(lion) add_subdirectory(pcu) diff --git a/SCOREC_config.h.in b/SCOREC_config.h.in new file mode 100644 index 000000000..7fe11839b --- /dev/null +++ b/SCOREC_config.h.in @@ -0,0 +1,7 @@ +#ifndef SCOREC_CONFIG_H +#define SCOREC_CONFIG_H + +#cmakedefine SCOREC_NO_MPI + +#endif // SCOREC_CONFIG_H + diff --git a/apf/CMakeLists.txt b/apf/CMakeLists.txt index 2c65af0ad..56109cc1a 100644 --- a/apf/CMakeLists.txt +++ b/apf/CMakeLists.txt @@ -93,7 +93,6 @@ add_library(apf ${SOURCES}) # Include directories target_include_directories(apf PUBLIC $ - $ ) # Link this library to these others diff --git a/apf_cap/CMakeLists.txt b/apf_cap/CMakeLists.txt index 597d6406a..654e89db2 100644 --- a/apf_cap/CMakeLists.txt +++ b/apf_cap/CMakeLists.txt @@ -39,7 +39,6 @@ include(GNUInstallDirs) target_include_directories(apf_cap PUBLIC $ - $ ) scorec_export_library(apf_cap) diff --git a/apf_sim/CMakeLists.txt b/apf_sim/CMakeLists.txt index a2dd93101..7606ef720 100644 --- a/apf_sim/CMakeLists.txt +++ b/apf_sim/CMakeLists.txt @@ -19,7 +19,6 @@ target_link_libraries(apf_sim PUBLIC ${SIMMODSUITE_LIBS}) target_include_directories(gmi_sim PUBLIC ${SIMMODSUITE_INCLUDE_DIR}) target_include_directories(apf_sim PUBLIC $ - $ ) option(ENABLE_FIELDSIM "Enable use of FieldSim from Simmetrix SimModSuite" FALSE) diff --git a/can/CMakeLists.txt b/can/CMakeLists.txt index ac0c95c91..c2a57a56d 100644 --- a/can/CMakeLists.txt +++ b/can/CMakeLists.txt @@ -11,7 +11,6 @@ add_library(can INTERFACE) # Include directories target_include_directories(can INTERFACE $ - $ ) scorec_export_library(can) diff --git a/crv/CMakeLists.txt b/crv/CMakeLists.txt index 992589d23..bcede1404 100644 --- a/crv/CMakeLists.txt +++ b/crv/CMakeLists.txt @@ -33,7 +33,6 @@ add_library(crv ${SOURCES}) # Include directories target_include_directories(crv INTERFACE $ - $ ) # Link this package to these libraries diff --git a/dsp/CMakeLists.txt b/dsp/CMakeLists.txt index 2851c08fe..62ec50144 100644 --- a/dsp/CMakeLists.txt +++ b/dsp/CMakeLists.txt @@ -28,7 +28,6 @@ add_library(dsp ${SOURCES}) # Include directories target_include_directories(apf INTERFACE $ - $ ) # Link this package to these libraries diff --git a/gmi/CMakeLists.txt b/gmi/CMakeLists.txt index b132ad600..c23421cf1 100644 --- a/gmi/CMakeLists.txt +++ b/gmi/CMakeLists.txt @@ -31,7 +31,6 @@ add_library(gmi ${SOURCES}) target_link_libraries(gmi pcu lion) target_include_directories(gmi INTERFACE $ - $ ) scorec_export_library(gmi) diff --git a/gmi_cap/CMakeLists.txt b/gmi_cap/CMakeLists.txt index 5e2cb3ea2..3fa431f34 100644 --- a/gmi_cap/CMakeLists.txt +++ b/gmi_cap/CMakeLists.txt @@ -18,7 +18,6 @@ target_link_libraries(gmi_cap PUBLIC gmi pcu lion capstone_module framework_test # Include directories target_include_directories(gmi_cap PUBLIC $ - $ ) # make sure the compiler can find the config header target_include_directories(gmi_cap PRIVATE diff --git a/gmi_sim/CMakeLists.txt b/gmi_sim/CMakeLists.txt index dda337a5b..17df8ba74 100644 --- a/gmi_sim/CMakeLists.txt +++ b/gmi_sim/CMakeLists.txt @@ -26,7 +26,6 @@ target_link_libraries(gmi_sim PUBLIC gmi pcu ${SIMMODSUITE_LIBS}) # Include directories target_include_directories(gmi_sim PUBLIC $ - $ ) # make sure the compiler can find the config header target_include_directories(gmi_sim PRIVATE diff --git a/lion/CMakeLists.txt b/lion/CMakeLists.txt index 1a46f76a0..84f510b1a 100644 --- a/lion/CMakeLists.txt +++ b/lion/CMakeLists.txt @@ -33,7 +33,6 @@ add_library(lion ${SOURCES}) # Include directories target_include_directories(lion INTERFACE $ - $ ) # Do extra work if compression is enabled diff --git a/ma/CMakeLists.txt b/ma/CMakeLists.txt index 59c0abb21..42fb3cd1a 100644 --- a/ma/CMakeLists.txt +++ b/ma/CMakeLists.txt @@ -72,7 +72,6 @@ add_library(ma ${SOURCES}) # Include directories target_include_directories(ma INTERFACE $ - $ ) # Link this library to these libraries diff --git a/mds/CMakeLists.txt b/mds/CMakeLists.txt index 528c92525..a2d9f8197 100644 --- a/mds/CMakeLists.txt +++ b/mds/CMakeLists.txt @@ -47,7 +47,6 @@ add_library(mds ${SOURCES}) # Include directories target_include_directories(mds INTERFACE $ - $ ) # for the generated mds_config.h # private because no one outside MDS needs it diff --git a/mth/CMakeLists.txt b/mth/CMakeLists.txt index 1867870a1..e51d2df8d 100644 --- a/mth/CMakeLists.txt +++ b/mth/CMakeLists.txt @@ -20,7 +20,6 @@ add_library(mth ${SOURCES}) # Include directories target_include_directories(mth INTERFACE $ - $ ) # Link this library to these libraries diff --git a/omega_h/CMakeLists.txt b/omega_h/CMakeLists.txt index 750fa0538..210994820 100644 --- a/omega_h/CMakeLists.txt +++ b/omega_h/CMakeLists.txt @@ -26,7 +26,6 @@ endif() # Include directories target_include_directories(apf_omega_h INTERFACE $ - $ ) # Link this package to these libraries diff --git a/parma/CMakeLists.txt b/parma/CMakeLists.txt index 715a2a248..1d859d855 100644 --- a/parma/CMakeLists.txt +++ b/parma/CMakeLists.txt @@ -70,7 +70,6 @@ add_library(parma ${SOURCES}) target_include_directories(parma INTERFACE $ - $ PRIVATE $ $ diff --git a/parma/group/parma_group.cc b/parma/group/parma_group.cc index ac6ec2e35..3dcc0d657 100644 --- a/parma/group/parma_group.cc +++ b/parma/group/parma_group.cc @@ -48,7 +48,7 @@ static void runInGroups( int groupRank = inMap(self); int group = groupMap(self); - MPI_Comm groupComm; + PCU_Comm groupComm; PCU_Comm_Split(expandedPCU->GetMPIComm(), group, groupRank, &groupComm); auto groupedPCU = std::unique_ptr(new pcu::PCU(groupComm)); if (m){ diff --git a/pcu/CMakeLists.txt b/pcu/CMakeLists.txt index 546ba5469..79202f2a2 100644 --- a/pcu/CMakeLists.txt +++ b/pcu/CMakeLists.txt @@ -39,10 +39,6 @@ set(HEADERS PCU.h ) -if(SCOREC_NO_MPI) - set(HEADERS ${HEADERS} pcu_pnompi_types.h) -endif() - # Add the pcu library add_library(pcu ${SOURCES}) # this compiler definition is needed to silence warnings caused by the openmpi CXX @@ -75,7 +71,6 @@ target_include_directories(pcu PUBLIC $ $ - $ PRIVATE $ ) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 238727140..f55756c21 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -216,7 +216,14 @@ void PCU::DebugPrint(const char *format, va_list args) noexcept { vfprintf(msg_->file, format, args); fflush(msg_->file); } -PCU::PCU(MPI_Comm comm) { +PCU::PCU() : +#ifndef SCOREC_NO_MPI +PCU(MPI_COMM_WORLD) +#else +PCU(0) +#endif +{} +PCU::PCU(PCU_Comm comm) { mpi_ = new pcu_mpi_t; msg_ = new pcu_msg; pcu_mpi_init(comm, mpi_); @@ -242,9 +249,9 @@ PCU &PCU::operator=(PCU && other) noexcept { std::swap(msg_, other.msg_); return *this; } -MPI_Comm PCU::GetMPIComm() const noexcept { return mpi_->original_comm; } +PCU_Comm PCU::GetMPIComm() const noexcept { return mpi_->original_comm; } -MPI_Comm PCU::SwitchMPIComm(MPI_Comm newcomm) noexcept { +PCU_Comm PCU::SwitchMPIComm(PCU_Comm newcomm) noexcept { if(newcomm == mpi_->original_comm) { return mpi_->original_comm; } diff --git a/pcu/PCU.h b/pcu/PCU.h index 54f8dcbf0..b3575b315 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -1,11 +1,6 @@ #ifndef SCOREC_PCU_H #define SCOREC_PCU_H -#if defined(SCOREC_NO_MPI) -#include "pcu_pnompi_types.h" -#else -#include -#endif #include #include //va_list #include "pcu_defines.h" @@ -14,13 +9,14 @@ struct pcu_msg_struct; struct pcu_mpi_struct; extern "C" { -int PCU_Comm_Free_One(MPI_Comm* com); -int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom); +int PCU_Comm_Free_One(PCU_Comm* com); +int PCU_Comm_Split(PCU_Comm oldCom, int color, int key, PCU_Comm* newCom); } namespace pcu { class PCU { public: - explicit PCU(MPI_Comm comm); + PCU(); + explicit PCU(PCU_Comm comm); ~PCU() noexcept; PCU(PCU const &) = delete; PCU(PCU &&) noexcept; @@ -34,7 +30,7 @@ class PCU { * @return The number of ranks in the communicator. */ [[nodiscard]] int Peers() const noexcept; - [[nodiscard]] MPI_Comm GetMPIComm() const noexcept; + [[nodiscard]] PCU_Comm GetMPIComm() const noexcept; [[nodiscard]] PCU_t GetCHandle() {PCU_t h; h.ptr=this; return h;} /*recommended message passing API*/ @@ -94,16 +90,7 @@ class PCU { /* Debug functions */ void DebugOpen() noexcept; - MPI_Comm SwitchMPIComm(MPI_Comm) noexcept; - - //struct MPIComms { - // MPI_Comm original; - // MPI_Comm user; - // MPI_Comm coll; - //}; - // takes ownership of newcomms.user & newcomms.coll - // user responsibility to free returned user/coll comm - //MPIComms SwitchMPIComms(MPIComms& newcomms) noexcept; + PCU_Comm SwitchMPIComm(PCU_Comm) noexcept; private: pcu_msg_struct *msg_; diff --git a/pcu/PCU_C.h b/pcu/PCU_C.h index f565f247e..2f1ff8010 100644 --- a/pcu/PCU_C.h +++ b/pcu/PCU_C.h @@ -1,21 +1,6 @@ #ifndef PCU_C_H #define PCU_C_H #include "pcu_defines.h" -#if defined(SCOREC_NO_MPI) -#include "pcu_pnompi_types.h" -// Remove MPI calls. -#define MPI_Init(argc, argv) do { \ -(void) argc; \ -(void) argv; \ -} while (0) -#define MPI_Finalize(void) -#ifdef __cplusplus -extern "C" -#endif -double MPI_Wtime(void); -#else -#include -#endif #ifdef __cplusplus #include @@ -111,8 +96,8 @@ int PCU_Comm_Size(PCU_t h, int* size); /*deprecated method enum*/ /*special MPI_Comm replacement API*/ -void PCU_Switch_Comm(PCU_t h, MPI_Comm new_comm); -MPI_Comm PCU_Get_Comm(PCU_t h); +void PCU_Switch_Comm(PCU_t h, PCU_Comm new_comm); +PCU_Comm PCU_Get_Comm(PCU_t h); /*stack trace helpers using GNU/Linux*/ void PCU_Protect(void); diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 6387600e3..2e233068d 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -11,7 +11,7 @@ extern "C" { int PCU_Comm_Init(PCU_t* h) { if (h->ptr != nullptr) reel_fail("nested calls to Comm_Init"); - pcu::PCU* pcu_object = new pcu::PCU(MPI_COMM_WORLD); + pcu::PCU* pcu_object = new pcu::PCU(); h->ptr = static_cast(pcu_object); return PCU_SUCCESS; } @@ -24,13 +24,13 @@ int PCU_Comm_Free(PCU_t* h) { return PCU_SUCCESS; } -int PCU_Comm_Free_One(MPI_Comm* com) +int PCU_Comm_Free_One(PCU_Comm* com) { pcu_pmpi_free(com); return PCU_SUCCESS; } -int PCU_Comm_Split(MPI_Comm oldCom, int color, int key, MPI_Comm* newCom) { +int PCU_Comm_Split(PCU_Comm oldCom, int color, int key, PCU_Comm* newCom) { pcu_pmpi_split(oldCom, color, key, newCom); return PCU_SUCCESS; } @@ -486,7 +486,7 @@ void *PCU_Comm_Extract(PCU_t h, size_t size) { in the previous communicator. This is a very heavy weight function and should be used sparingly. */ -void PCU_Switch_Comm(PCU_t h, MPI_Comm new_comm) { +void PCU_Switch_Comm(PCU_t h, PCU_Comm new_comm) { if (h.ptr == nullptr) reel_fail("Switch_Comm called before Comm_Init"); static_cast(h.ptr)->SwitchMPIComm(new_comm); @@ -497,7 +497,7 @@ void PCU_Switch_Comm(PCU_t h, MPI_Comm new_comm) { most recent PCU_Switch_Comm call, or MPI_COMM_WORLD otherwise. */ -MPI_Comm PCU_Get_Comm(PCU_t h) { +PCU_Comm PCU_Get_Comm(PCU_t h) { if (h.ptr == nullptr) reel_fail("Get_Comm called before Comm_Init"); return static_cast(h.ptr)->GetMPIComm(); diff --git a/pcu/pcu_defines.h b/pcu/pcu_defines.h index acf8861e5..fbe478daf 100644 --- a/pcu/pcu_defines.h +++ b/pcu/pcu_defines.h @@ -1,6 +1,11 @@ #ifndef SCOREC_PCU_PCU_DEFINES_H #define SCOREC_PCU_PCU_DEFINES_H +#include +#ifndef SCOREC_NO_MPI +#include +#endif + #define PCU_SUCCESS 0 #define PCU_FAILURE -1 #ifdef __GNUC__ @@ -14,6 +19,16 @@ extern "C"{ #endif +#ifndef SCOREC_NO_MPI +typedef MPI_Comm PCU_Comm; +typedef MPI_Request PCU_Request; +#define PCU_ANY_SOURCE MPI_ANY_SOURCE +#else +typedef int PCU_Comm; +typedef int PCU_Request; +#define PCU_ANY_SOURCE -1 +#endif + struct PCU_t { void* ptr; }; @@ -22,4 +37,4 @@ struct PCU_t { } #endif -#endif // SCOREC_PCU_PCU_DEFINES_H \ No newline at end of file +#endif // SCOREC_PCU_PCU_DEFINES_H diff --git a/pcu/pcu_mpi.c b/pcu/pcu_mpi.c index 5681d0e90..660272840 100644 --- a/pcu/pcu_mpi.c +++ b/pcu/pcu_mpi.c @@ -38,7 +38,7 @@ static void check_rank(const pcu_mpi_t* self, int rank) PCU_ALWAYS_ASSERT(rank < pcu_mpi_size(self)); } -void pcu_mpi_send(const pcu_mpi_t* self, pcu_message* m, MPI_Comm comm) +void pcu_mpi_send(const pcu_mpi_t* self, pcu_message* m, PCU_Comm comm) { check_rank(self, m->peer); PCU_ALWAYS_ASSERT(comm == self->user_comm || comm == self->coll_comm); @@ -50,13 +50,13 @@ bool pcu_mpi_done(const pcu_mpi_t* self, pcu_message* m) return pcu_pmpi_done(self, m); } -bool pcu_mpi_receive(const pcu_mpi_t* self, pcu_message* m, MPI_Comm comm) +bool pcu_mpi_receive(const pcu_mpi_t* self, pcu_message* m, PCU_Comm comm) { - if (m->peer != MPI_ANY_SOURCE) + if (m->peer != PCU_ANY_SOURCE) check_rank(self, m->peer); return pcu_pmpi_receive(self, m, comm); } -void pcu_mpi_init(MPI_Comm comm, pcu_mpi_t* mpi) { +void pcu_mpi_init(PCU_Comm comm, pcu_mpi_t* mpi) { pcu_pmpi_init(comm, mpi); } void pcu_mpi_finalize(pcu_mpi_t* mpi) { diff --git a/pcu/pcu_mpi.h b/pcu/pcu_mpi.h index 26d637f93..8543bd175 100644 --- a/pcu/pcu_mpi.h +++ b/pcu/pcu_mpi.h @@ -10,14 +10,9 @@ #ifndef PCU_MPI_H #define PCU_MPI_H +#include "pcu_defines.h" #include "pcu_buffer.h" -#if defined(SCOREC_NO_MPI) -#include "pcu_pnompi_types.h" -#else -#include -#endif - #ifdef __cplusplus extern "C" { #endif @@ -25,7 +20,7 @@ extern "C" { typedef struct { pcu_buffer buffer; - MPI_Request request; + PCU_Request request; int peer; } pcu_message; @@ -34,9 +29,9 @@ void pcu_free_message(pcu_message* m); struct pcu_mpi_struct { - MPI_Comm original_comm; - MPI_Comm user_comm; - MPI_Comm coll_comm; + PCU_Comm original_comm; + PCU_Comm user_comm; + PCU_Comm coll_comm; int rank; int size; }; @@ -44,13 +39,13 @@ typedef struct pcu_mpi_struct pcu_mpi_t; int pcu_mpi_size(const pcu_mpi_t*); int pcu_mpi_rank(const pcu_mpi_t*); -void pcu_mpi_send(const pcu_mpi_t*, pcu_message* m, MPI_Comm comm); +void pcu_mpi_send(const pcu_mpi_t*, pcu_message* m, PCU_Comm comm); bool pcu_mpi_done(const pcu_mpi_t*, pcu_message* m); -bool pcu_mpi_receive(const pcu_mpi_t*, pcu_message* m, MPI_Comm comm); -void pcu_mpi_init(MPI_Comm comm, pcu_mpi_t* mpi); +bool pcu_mpi_receive(const pcu_mpi_t*, pcu_message* m, PCU_Comm comm); +void pcu_mpi_init(PCU_Comm comm, pcu_mpi_t* mpi); void pcu_mpi_finalize(pcu_mpi_t* mpi); -int pcu_mpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); -int pcu_mpi_free(MPI_Comm comm); +int pcu_mpi_split(PCU_Comm comm, int color, int key, PCU_Comm* newcomm); +int pcu_mpi_free(PCU_Comm comm); #ifdef __cplusplus } diff --git a/pcu/pcu_msg.c b/pcu/pcu_msg.c index 538310c30..58a68334b 100644 --- a/pcu/pcu_msg.c +++ b/pcu/pcu_msg.c @@ -174,7 +174,7 @@ static bool done_sending_peers(pcu_mpi_t* mpi, pcu_aa_tree t) static bool receive_global(pcu_mpi_t* mpi, pcu_msg* m) { - m->received.peer = MPI_ANY_SOURCE; + m->received.peer = PCU_ANY_SOURCE; while ( ! pcu_mpi_receive(mpi, &(m->received),mpi->user_comm)) { if (m->state == send_recv_state) diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index de3bcb6eb..fae84ea63 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -16,16 +16,16 @@ #ifdef __cplusplus extern "C" { #endif -void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t *mpi); +void pcu_pmpi_init(PCU_Comm comm, pcu_mpi_t *mpi); void pcu_pmpi_finalize(pcu_mpi_t *m); int pcu_pmpi_size(const pcu_mpi_t *self); int pcu_pmpi_rank(const pcu_mpi_t *self); -void pcu_pmpi_send(const pcu_mpi_t *, pcu_message *m, MPI_Comm comm); -bool pcu_pmpi_receive(const pcu_mpi_t *, pcu_message *m, MPI_Comm comm); +void pcu_pmpi_send(const pcu_mpi_t *, pcu_message *m, PCU_Comm comm); +bool pcu_pmpi_receive(const pcu_mpi_t *, pcu_message *m, PCU_Comm comm); bool pcu_pmpi_done(const pcu_mpi_t *, pcu_message *m); -int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm); -int pcu_pmpi_free(MPI_Comm* comm); +int pcu_pmpi_split(PCU_Comm comm, int color, int key, PCU_Comm* newcomm); +int pcu_pmpi_free(PCU_Comm* comm); #ifdef __cplusplus } diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 710885bf7..5b37d3ebd 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -7,14 +7,14 @@ BSD license as described in the LICENSE file in the top-level directory. *******************************************************************************/ -#include "pcu_pnompi.h" +#include "pcu_pmpi.h" #include "pcu_buffer.h" #include #include #include -void pcu_pmpi_send2(const pcu_mpi_t *, pcu_message* m, int tag, MPI_Comm comm); -bool pcu_pmpi_receive2(const pcu_mpi_t *, pcu_message* m, int tag, MPI_Comm); +void pcu_pmpi_send2(const pcu_mpi_t *, pcu_message* m, int tag, PCU_Comm comm); +bool pcu_pmpi_receive2(const pcu_mpi_t *, pcu_message* m, int tag, PCU_Comm); // // ------------------------------------------------------------------ @@ -103,7 +103,7 @@ void free_nompi_msg(NoMpiMsg* msg) // ------------------------------------------------------------------- // -void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t *self) { +void pcu_pmpi_init(PCU_Comm comm, pcu_mpi_t *self) { self->original_comm = comm; self->user_comm = comm+1; self->coll_comm = comm+2; @@ -116,12 +116,12 @@ void pcu_pmpi_finalize(pcu_mpi_t* self) { self->coll_comm = 0; } -int pcu_pmpi_free(MPI_Comm *c) { +int pcu_pmpi_free(PCU_Comm *c) { (void) c; return 0; } -int pcu_pmpi_split(MPI_Comm cm, int c, int k, MPI_Comm *cm2) { +int pcu_pmpi_split(PCU_Comm cm, int c, int k, PCU_Comm *cm2) { (void) cm, (void) c, (void) k, (void) cm2; return 1; } @@ -134,12 +134,12 @@ int pcu_pmpi_rank(const pcu_mpi_t *self) { return self->rank; } -void pcu_pmpi_send(const pcu_mpi_t *self, pcu_message* m, MPI_Comm comm) { +void pcu_pmpi_send(const pcu_mpi_t *self, pcu_message* m, PCU_Comm comm) { pcu_pmpi_send2(self, m, 0, comm); } void pcu_pmpi_send2(const pcu_mpi_t *self, pcu_message* m, int tag, - MPI_Comm c) { + PCU_Comm c) { (void) c; if (m->buffer.size > (size_t)INT_MAX) { fprintf(stderr, "ERROR PCU message size exceeds INT_MAX... exiting\n"); @@ -156,12 +156,12 @@ bool pcu_pmpi_done(const pcu_mpi_t* a, pcu_message* b) { return true; } -bool pcu_pmpi_receive(const pcu_mpi_t *self, pcu_message* m, MPI_Comm comm) { +bool pcu_pmpi_receive(const pcu_mpi_t *self, pcu_message* m, PCU_Comm comm) { return pcu_pmpi_receive2(self, m, 0, comm); } bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, - MPI_Comm comm) { + PCU_Comm comm) { (void) comm; NoMpiMsg* msg = get_nompi_msg(tag, self->rank); if (msg==0) return false; @@ -177,7 +177,7 @@ bool pcu_pmpi_receive2(const pcu_mpi_t *self, pcu_message* m, int tag, return true; } -int pcu_pmpi_barrier(MPI_Comm a) { +int pcu_pmpi_barrier(PCU_Comm a) { (void) a; return 0; } diff --git a/pcu/pcu_pnompi.h b/pcu/pcu_pnompi.h deleted file mode 100644 index 8db189cc8..000000000 --- a/pcu/pcu_pnompi.h +++ /dev/null @@ -1,39 +0,0 @@ -/****************************************************************************** - - Copyright 2011 Scientific Computation Research Center, - Rensselaer Polytechnic Institute. All rights reserved. - - This work is open source software, licensed under the terms of the - BSD license as described in the LICENSE file in the top-level directory. - -*******************************************************************************/ -#ifndef PCU_NO_PMPI_H -#define PCU_NO_PMPI_H - -#include "pcu_mpi.h" - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t *mpi); -void pcu_pmpi_finalize(pcu_mpi_t *m); -int pcu_pmpi_size(const pcu_mpi_t *self); -int pcu_pmpi_rank(const pcu_mpi_t *self); -void pcu_pmpi_send(const pcu_mpi_t*, pcu_message *m, MPI_Comm comm); -bool pcu_pmpi_receive(const pcu_mpi_t*, pcu_message *m, MPI_Comm comm); -bool pcu_pmpi_done(const pcu_mpi_t*, pcu_message *m); - -int pcu_pmpi_split(MPI_Comm c, int color, int key, MPI_Comm* nc); -int pcu_pmpi_free(MPI_Comm* comm); -int pcu_pmpi_barrier(MPI_Comm comm); - -double MPI_Wtime(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/pcu/pcu_pnompi_types.h b/pcu/pcu_pnompi_types.h deleted file mode 100644 index 443c5f6a4..000000000 --- a/pcu/pcu_pnompi_types.h +++ /dev/null @@ -1,18 +0,0 @@ -/****************************************************************************** - - Copyright 2011 Scientific Computation Research Center, - Rensselaer Polytechnic Institute. All rights reserved. - - This work is open source software, licensed under the terms of the - BSD license as described in the LICENSE file in the top-level directory. - -*******************************************************************************/ -#ifndef PCU_PNOMPI_TYPES_H -#define PCU_PNOMPI_TYPES_H - -typedef int MPI_Comm; -typedef int MPI_Request; -#define MPI_COMM_WORLD 0 -#define MPI_ANY_SOURCE -1 - -#endif // PCU_PNOMPI_TYPES_H diff --git a/phasta/CMakeLists.txt b/phasta/CMakeLists.txt index 0a785e268..25b45144d 100644 --- a/phasta/CMakeLists.txt +++ b/phasta/CMakeLists.txt @@ -102,7 +102,6 @@ endif() # Include directories target_include_directories(ph INTERFACE $ - $ ) target_include_directories(ph PRIVATE $ diff --git a/phasta/adaptLvlSet_loop.cc b/phasta/adaptLvlSet_loop.cc index ae277fc0e..93e2d1f32 100644 --- a/phasta/adaptLvlSet_loop.cc +++ b/phasta/adaptLvlSet_loop.cc @@ -42,7 +42,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pcu::Protect(); #ifdef HAVE_SIMMETRIX Sim_readLicenseFile(0); diff --git a/phasta/chef.cc b/phasta/chef.cc index 8d01b7073..dbc7fe5c8 100644 --- a/phasta/chef.cc +++ b/phasta/chef.cc @@ -35,7 +35,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pcu::Protect(); lion_set_verbosity(1); if( !PCUObj.Self() ) { diff --git a/phasta/chefStream.cc b/phasta/chefStream.cc index c74ed6581..ed3c1b51b 100644 --- a/phasta/chefStream.cc +++ b/phasta/chefStream.cc @@ -38,7 +38,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pcu::Protect(); #ifdef HAVE_SIMMETRIX Sim_readLicenseFile(0); diff --git a/phasta/condense.cc b/phasta/condense.cc index 0ce26e147..af43273b4 100644 --- a/phasta/condense.cc +++ b/phasta/condense.cc @@ -47,7 +47,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; pcu::Protect(); lion_set_verbosity(1); checkInputs(argc,argv,&pcu_obj); diff --git a/phasta/phCook.cc b/phasta/phCook.cc index 588182d07..93082309d 100644 --- a/phasta/phCook.cc +++ b/phasta/phCook.cc @@ -51,7 +51,7 @@ pcu::PCU* createGroupComm(int splitFactor, pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / splitFactor; int group = self % splitFactor; - MPI_Comm groupComm; + PCU_Comm groupComm; PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); return new pcu::PCU(groupComm); } diff --git a/phasta/readUrPrep.cc b/phasta/readUrPrep.cc index 9e43e5117..e2b424bd8 100644 --- a/phasta/readUrPrep.cc +++ b/phasta/readUrPrep.cc @@ -23,7 +23,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; pcu::Protect(); gmi_register_mesh(); apf::Mesh2* m = apf::loadMdsMesh(argv[1],argv[2], &pcu_obj); diff --git a/phasta/threshold.cc b/phasta/threshold.cc index 3dcdf80eb..61fa87f49 100644 --- a/phasta/threshold.cc +++ b/phasta/threshold.cc @@ -24,7 +24,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; #ifdef HAVE_SIMMETRIX Sim_readLicenseFile(0); gmi_sim_start(); diff --git a/pumi/CMakeLists.txt b/pumi/CMakeLists.txt index 5e46b0d28..6de176274 100644 --- a/pumi/CMakeLists.txt +++ b/pumi/CMakeLists.txt @@ -40,7 +40,6 @@ add_library(pumi ${SOURCES}) # Include directories target_include_directories(pumi PUBLIC $ - $ ) target_link_libraries(pumi diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 3d572999e..3ea3750bc 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -182,15 +182,15 @@ void split_comm(int num_out_comm, pcu::PCU &PCUObj) int self = PCUObj.Self(); int group_id = self % num_out_comm; int in_group_rank = self / num_out_comm; - MPI_Comm groupComm; + PCU_Comm groupComm; PCU_Comm_Split(PCUObj.GetMPIComm(), group_id, in_group_rank, &groupComm); PCUObj.SwitchMPIComm(groupComm); } -void merge_comm(MPI_Comm oldComm, pcu::PCU &PCUObj) +void merge_comm(PCU_Comm oldComm, pcu::PCU &PCUObj) { - MPI_Comm prevComm = PCUObj.GetMPIComm(); + PCU_Comm prevComm = PCUObj.GetMPIComm(); PCUObj.SwitchMPIComm(oldComm); PCU_Comm_Free_One(&prevComm); } @@ -211,7 +211,7 @@ pMesh pumi_mesh_loadSerial(pGeom g, const char* filename, const char* mesh_type) if (!pumi::instance()->getPCU()->Self()) std::cout<<"[PUMI ERROR] "<<__func__<<" failed: invalid mesh type "<getPCU()->GetMPIComm(); + PCU_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); int num_target_part = pumi::instance()->getPCU()->Peers(); bool isMaster = ((pumi::instance()->getPCU()->Self() % num_target_part) == 0); pMesh m = 0; @@ -239,7 +239,7 @@ pMesh pumi_mesh_load(pGeom g, const char* filename, int num_in_part, const char* } if (num_in_part==1 && pumi::instance()->getPCU()->Peers()>1) // do static partitioning { - MPI_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); + PCU_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); int num_target_part = pumi::instance()->getPCU()->Peers()/num_in_part; bool isMaster = ((pumi::instance()->getPCU()->Self() % num_target_part) == 0); pMesh m = 0; @@ -289,7 +289,7 @@ pMesh pumi_mesh_loadAll(pGeom g, const char* filename, bool stitch_link) else { double t0 = pcu::Time(); - MPI_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); + PCU_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); int num_target_part = pumi::instance()->getPCU()->Peers(); split_comm(num_target_part, *pumi::instance()->getPCU()); // no pmodel & remote links setup diff --git a/python_wrappers/CMakeLists.txt b/python_wrappers/CMakeLists.txt index 1a16cd3e0..e007ec0e9 100644 --- a/python_wrappers/CMakeLists.txt +++ b/python_wrappers/CMakeLists.txt @@ -21,7 +21,6 @@ if(ENABLE_SIMMETRIX) target_include_directories(simhelper PUBLIC ${SIMMODSUITE_INCLUDE_DIR}) target_include_directories(simhelper PUBLIC $ - $ ) target_link_libraries(simhelper ${SIMMODSUITE_LIBS}) install(TARGETS simhelper diff --git a/ree/CMakeLists.txt b/ree/CMakeLists.txt index e7b935540..74169c46a 100644 --- a/ree/CMakeLists.txt +++ b/ree/CMakeLists.txt @@ -21,7 +21,6 @@ add_library(ree ${SOURCES}) # Include directories target_include_directories(ree INTERFACE $ - $ ) # Link this package to these libraries diff --git a/sam/CMakeLists.txt b/sam/CMakeLists.txt index 163747296..f990ad487 100644 --- a/sam/CMakeLists.txt +++ b/sam/CMakeLists.txt @@ -17,7 +17,6 @@ add_library(sam ${SOURCES}) # Include directories target_include_directories(sam INTERFACE $ - $ ) # Link this package to these libraries diff --git a/spr/CMakeLists.txt b/spr/CMakeLists.txt index 5a388e72f..7d9afa95b 100644 --- a/spr/CMakeLists.txt +++ b/spr/CMakeLists.txt @@ -20,7 +20,6 @@ add_library(spr ${SOURCES}) # Include directories target_include_directories(spr INTERFACE $ - $ ) # Link this package to these libraries diff --git a/stk/CMakeLists.txt b/stk/CMakeLists.txt index 4aa5970fb..d4607b971 100644 --- a/stk/CMakeLists.txt +++ b/stk/CMakeLists.txt @@ -61,7 +61,6 @@ target_link_libraries(apf_stk PUBLIC ${Shards_LIBRARIES}) # Include directories target_include_directories(apf_stk INTERFACE $ - $ ) target_include_directories(apf_stk PUBLIC ${Shards_INCLUDE_DIRS} diff --git a/test/1d.cc b/test/1d.cc index 9caabd938..9fbdccc43 100644 --- a/test/1d.cc +++ b/test/1d.cc @@ -70,7 +70,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_model* g; apf::Mesh2* m; diff --git a/test/H1Shapes.cc b/test/H1Shapes.cc index fb8f7f165..d439cd108 100644 --- a/test/H1Shapes.cc +++ b/test/H1Shapes.cc @@ -33,7 +33,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); diff --git a/test/L2Shapes.cc b/test/L2Shapes.cc index 79db2a62d..71028088e 100644 --- a/test/L2Shapes.cc +++ b/test/L2Shapes.cc @@ -36,7 +36,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); diff --git a/test/align.cc b/test/align.cc index 6f082cfa1..66b6bc030 100644 --- a/test/align.cc +++ b/test/align.cc @@ -93,7 +93,7 @@ int main() MPI_Init(0,0); #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_null(); testTriEdge(&pcu_obj); diff --git a/test/aniso_ma_test.cc b/test/aniso_ma_test.cc index 565cfc878..69a7a37bf 100644 --- a/test/aniso_ma_test.cc +++ b/test/aniso_ma_test.cc @@ -50,7 +50,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); ma::Mesh* m = apf::loadMdsMesh(modelFile,meshFile,&PCUObj); diff --git a/test/ansys.cc b/test/ansys.cc index 76dbc0895..37c233a1d 100644 --- a/test/ansys.cc +++ b/test/ansys.cc @@ -13,7 +13,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) diff --git a/test/assert_timing.cc b/test/assert_timing.cc index 1688c041e..3e166f4d8 100644 --- a/test/assert_timing.cc +++ b/test/assert_timing.cc @@ -35,7 +35,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); /* i'm avoiding conditionals inside for loops b/c i'm paranoid about the timings even though timings diff --git a/test/balance.cc b/test/balance.cc index c65c18f9c..7282917b3 100644 --- a/test/balance.cc +++ b/test/balance.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_mesh(); //load model and mesh diff --git a/test/bezierElevation.cc b/test/bezierElevation.cc index 5acbdd154..08844f978 100644 --- a/test/bezierElevation.cc +++ b/test/bezierElevation.cc @@ -403,7 +403,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); testEdgeElevation(&pcu_obj); testTriElevation(&pcu_obj); diff --git a/test/bezierMesh.cc b/test/bezierMesh.cc index 38acaa242..dc5c3617c 100644 --- a/test/bezierMesh.cc +++ b/test/bezierMesh.cc @@ -589,7 +589,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3DBlended(&pcu_obj); diff --git a/test/bezierMisc.cc b/test/bezierMisc.cc index 3b0e57808..459b2a402 100644 --- a/test/bezierMisc.cc +++ b/test/bezierMisc.cc @@ -171,7 +171,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); testNodeIndexing(); testMatrixInverse(); diff --git a/test/bezierRefine.cc b/test/bezierRefine.cc index 00f823fd7..5e43d521a 100644 --- a/test/bezierRefine.cc +++ b/test/bezierRefine.cc @@ -315,7 +315,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); diff --git a/test/bezierShapeEval.cc b/test/bezierShapeEval.cc index c6d7866b7..f0567b578 100644 --- a/test/bezierShapeEval.cc +++ b/test/bezierShapeEval.cc @@ -31,7 +31,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 7 ) { if ( !PCUObj.Self() ) { diff --git a/test/bezierSubdivision.cc b/test/bezierSubdivision.cc index f00908e71..ea8f70f69 100644 --- a/test/bezierSubdivision.cc +++ b/test/bezierSubdivision.cc @@ -486,7 +486,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); testEdgeSubdivision(&pcu_obj); testTriSubdivision1(&pcu_obj); diff --git a/test/bezierValidity.cc b/test/bezierValidity.cc index b8f8afa6c..821ea008d 100644 --- a/test/bezierValidity.cc +++ b/test/bezierValidity.cc @@ -411,7 +411,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); diff --git a/test/box.cc b/test/box.cc index 2beaeb56b..23bc30405 100644 --- a/test/box.cc +++ b/test/box.cc @@ -67,7 +67,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); verifyArgs(argc, argv, &pcu_obj); if(pcu_obj.Peers()>1) { diff --git a/test/cap2vtk.cc b/test/cap2vtk.cc index 6c858ff16..5dd63da1e 100644 --- a/test/cap2vtk.cc +++ b/test/cap2vtk.cc @@ -46,7 +46,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; if (argc != 3) { if(0==PCUObj.Self()) diff --git a/test/capVol.cc b/test/capVol.cc index 3448a4e44..e3c2a8320 100644 --- a/test/capVol.cc +++ b/test/capVol.cc @@ -83,7 +83,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; // Initialize logging. lion_set_stdout(stdout); diff --git a/test/cgns.cc b/test/cgns.cc index 925ab791b..9ac5d287e 100644 --- a/test/cgns.cc +++ b/test/cgns.cc @@ -484,7 +484,7 @@ int main(int argc, char **argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); lion_set_verbosity(1); bool additionalTests = false; diff --git a/test/classifyThenAdapt.cc b/test/classifyThenAdapt.cc index e714ca2ea..9c025a36a 100644 --- a/test/classifyThenAdapt.cc +++ b/test/classifyThenAdapt.cc @@ -131,7 +131,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_null(); diff --git a/test/collapse.cc b/test/collapse.cc index d44ae3e84..851a04aab 100644 --- a/test/collapse.cc +++ b/test/collapse.cc @@ -52,7 +52,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); pcu::Protect(); #ifdef HAVE_SIMMETRIX diff --git a/test/construct.cc b/test/construct.cc index f5d0ec4ce..7dffc76fd 100644 --- a/test/construct.cc +++ b/test/construct.cc @@ -16,7 +16,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); gmi_register_null(); diff --git a/test/constructThenGhost.cc b/test/constructThenGhost.cc index 81a08c0e7..75ac04ec8 100644 --- a/test/constructThenGhost.cc +++ b/test/constructThenGhost.cc @@ -18,7 +18,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; pumi_load_pcu(&pcu_obj); lion_set_verbosity(1); gmi_register_mesh(); diff --git a/test/construct_bottom_up.cc b/test/construct_bottom_up.cc index 21f61c550..fddf99b49 100644 --- a/test/construct_bottom_up.cc +++ b/test/construct_bottom_up.cc @@ -143,7 +143,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); PCU_ALWAYS_ASSERT_VERBOSE(PCUObj.Peers() == 1, "Not implemented in parallel!"); diff --git a/test/convert.cc b/test/convert.cc index 859e0991d..798466e34 100644 --- a/test/convert.cc +++ b/test/convert.cc @@ -439,7 +439,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); MS_init(); SimAdvMeshing_start(); //for fancy BL/extrusion queries diff --git a/test/crack_test.cc b/test/crack_test.cc index d49163cdd..431835042 100644 --- a/test/crack_test.cc +++ b/test/crack_test.cc @@ -50,7 +50,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; if (argc < 2) { if (PCUObj.Self() == 0) { diff --git a/test/create_mis.cc b/test/create_mis.cc index 275f650f9..8d2973bae 100644 --- a/test/create_mis.cc +++ b/test/create_mis.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) diff --git a/test/curve_to_bezier.cc b/test/curve_to_bezier.cc index 2c2105026..950ef0863 100644 --- a/test/curve_to_bezier.cc +++ b/test/curve_to_bezier.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); MS_init(); SimModel_start(); diff --git a/test/curvetest.cc b/test/curvetest.cc index aa3c5a749..19fc50d62 100644 --- a/test/curvetest.cc +++ b/test/curvetest.cc @@ -196,7 +196,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); MS_init(); SimModel_start(); diff --git a/test/degenerateSurfs.cc b/test/degenerateSurfs.cc index 5366aecc0..5e0133fc6 100644 --- a/test/degenerateSurfs.cc +++ b/test/degenerateSurfs.cc @@ -43,7 +43,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/describe.cc b/test/describe.cc index c9f874169..f014dc4fb 100644 --- a/test/describe.cc +++ b/test/describe.cc @@ -50,7 +50,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/dg_ma_test.cc b/test/dg_ma_test.cc index d5e1d4988..9cde74783 100644 --- a/test/dg_ma_test.cc +++ b/test/dg_ma_test.cc @@ -45,7 +45,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/elmBalance.cc b/test/elmBalance.cc index 4c382fd10..dd70d3c77 100644 --- a/test/elmBalance.cc +++ b/test/elmBalance.cc @@ -33,7 +33,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/embedded_edges.cc b/test/embedded_edges.cc index 595393b51..e21b74260 100644 --- a/test/embedded_edges.cc +++ b/test/embedded_edges.cc @@ -21,7 +21,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); gmi_register_null(); diff --git a/test/extrude.cc b/test/extrude.cc index 47c2fe505..2190b9bd7 100644 --- a/test/extrude.cc +++ b/test/extrude.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index d2815829b..623857d05 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -173,7 +173,7 @@ int main(int argc, char** argv) #endif bool failflag = false; { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); myrank = PCUObj.Self(); commsize = PCUObj.Peers(); diff --git a/test/field_io.cc b/test/field_io.cc index 641a83251..ca6e009fd 100644 --- a/test/field_io.cc +++ b/test/field_io.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); { diff --git a/test/fixDisconnected.cc b/test/fixDisconnected.cc index 30eaa895d..40b6bcd89 100644 --- a/test/fixDisconnected.cc +++ b/test/fixDisconnected.cc @@ -16,7 +16,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) diff --git a/test/fixlayer.cc b/test/fixlayer.cc index bc5e04512..e96eb5e38 100644 --- a/test/fixlayer.cc +++ b/test/fixlayer.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/fixshape.cc b/test/fixshape.cc index 93c6e931a..5c297c706 100644 --- a/test/fixshape.cc +++ b/test/fixshape.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/fusion.cc b/test/fusion.cc index 8218c68d0..8dfe9d3d6 100644 --- a/test/fusion.cc +++ b/test/fusion.cc @@ -160,7 +160,7 @@ int main( int argc, char* argv[]) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); GroupCode code; code.model = makeModel(); diff --git a/test/fusion2.cc b/test/fusion2.cc index a9fa210c5..936e60584 100644 --- a/test/fusion2.cc +++ b/test/fusion2.cc @@ -143,7 +143,7 @@ int main( int argc, char* argv[]) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); PCU_ALWAYS_ASSERT(PCUObj.Peers() == 2); gmi_register_null(); diff --git a/test/fusion3.cc b/test/fusion3.cc index 4c1e63bbf..ca013b38c 100644 --- a/test/fusion3.cc +++ b/test/fusion3.cc @@ -287,7 +287,7 @@ int main(int argc, char * argv[]) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_model* model = makeModel(); gmi_write_dmg(model, "made.dmg"); diff --git a/test/gap.cc b/test/gap.cc index c95358069..d66e13aed 100644 --- a/test/gap.cc +++ b/test/gap.cc @@ -34,7 +34,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) diff --git a/test/generate.cc b/test/generate.cc index d689479fd..8d75747d7 100644 --- a/test/generate.cc +++ b/test/generate.cc @@ -325,7 +325,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; globalPCU = &PCUObj; lion_set_verbosity(1); pcu::Protect(); diff --git a/test/ghost.cc b/test/ghost.cc index fbc9f87ed..11aa54f7a 100644 --- a/test/ghost.cc +++ b/test/ghost.cc @@ -84,7 +84,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv,&PCUObj); diff --git a/test/ghostEdge.cc b/test/ghostEdge.cc index 670ea9655..2e18c7299 100644 --- a/test/ghostEdge.cc +++ b/test/ghostEdge.cc @@ -55,7 +55,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv); diff --git a/test/ghostMPAS.cc b/test/ghostMPAS.cc index 1dcf437eb..1fa266f28 100644 --- a/test/ghostMPAS.cc +++ b/test/ghostMPAS.cc @@ -57,7 +57,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv); diff --git a/test/gmsh.cc b/test/gmsh.cc index 90aae638f..3f4b6ea0b 100644 --- a/test/gmsh.cc +++ b/test/gmsh.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) diff --git a/test/hierarchic.cc b/test/hierarchic.cc index c3ad1bd32..41104f3a7 100644 --- a/test/hierarchic.cc +++ b/test/hierarchic.cc @@ -198,7 +198,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); PCU_ALWAYS_ASSERT(! pcu_obj.Self()); gmi_register_mesh(); diff --git a/test/highOrderSizeFields.cc b/test/highOrderSizeFields.cc index bb7352bce..69bcd8199 100644 --- a/test/highOrderSizeFields.cc +++ b/test/highOrderSizeFields.cc @@ -41,7 +41,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX diff --git a/test/highOrderSolutionTransfer.cc b/test/highOrderSolutionTransfer.cc index 72eb83cf4..344f5bd8b 100644 --- a/test/highOrderSolutionTransfer.cc +++ b/test/highOrderSolutionTransfer.cc @@ -47,7 +47,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/icesheet.cc b/test/icesheet.cc index 5ad0bf69f..1b6a7ebf0 100644 --- a/test/icesheet.cc +++ b/test/icesheet.cc @@ -487,7 +487,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); gmi_register_null(); diff --git a/test/inClosureOf_test.cc b/test/inClosureOf_test.cc index 332ef9d66..3a81d2f2d 100644 --- a/test/inClosureOf_test.cc +++ b/test/inClosureOf_test.cc @@ -24,7 +24,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/intrude.cc b/test/intrude.cc index b5994a293..be2fc7534 100644 --- a/test/intrude.cc +++ b/test/intrude.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/loadPart.cc b/test/loadPart.cc index 12a39b616..29c6f4a4d 100644 --- a/test/loadPart.cc +++ b/test/loadPart.cc @@ -16,7 +16,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); PCU_ALWAYS_ASSERT(PCUObj.Peers() == 1); if ( argc != 4 ) { diff --git a/test/ma_insphere.cc b/test/ma_insphere.cc index 6de578164..cf4e424be 100644 --- a/test/ma_insphere.cc +++ b/test/ma_insphere.cc @@ -34,7 +34,7 @@ int main(int argc, char** argv) // Test insphere (create a mesh with one tet) { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); apf::Vector3 a(0, 0, 0); apf::Vector3 b(-6, 0, 0); diff --git a/test/ma_test.cc b/test/ma_test.cc index d5dad8834..11da61340 100644 --- a/test/ma_test.cc +++ b/test/ma_test.cc @@ -49,7 +49,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/ma_test_analytic_model.cc b/test/ma_test_analytic_model.cc index fe4052858..9c1827d13 100644 --- a/test/ma_test_analytic_model.cc +++ b/test/ma_test_analytic_model.cc @@ -175,7 +175,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); apf::Mesh2* m = createSphereMesh(&PCUObj); diff --git a/test/makeAllCavities.cc b/test/makeAllCavities.cc index 0fcec1d14..fbe01b9c2 100644 --- a/test/makeAllCavities.cc +++ b/test/makeAllCavities.cc @@ -67,7 +67,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; if (PCUObj.Peers() > 1) { printf("%s should only be used for serial (single part) meshes!\n", argv[0]); printf("use the serialize utility to get a serial mesh, and retry!\n"); diff --git a/test/matchedNodeElmReader.cc b/test/matchedNodeElmReader.cc index 6e7a7351a..988dd218f 100644 --- a/test/matchedNodeElmReader.cc +++ b/test/matchedNodeElmReader.cc @@ -611,7 +611,7 @@ fh = header file (there is only one for all processes), containing: **/ std::vector readHeader(std::ifstream& fh, pcu::PCU *PCUObj) { rewindStream(fh); - const int self = PCUObj->Self();; + const int self = PCUObj->Self(); bool ret = seekPart(fh, std::to_string(self)); PCU_ALWAYS_ASSERT(ret); auto blockInfo = readTopoBlockInfo(fh); @@ -749,7 +749,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); int noVerify=0; // maintain default of verifying if not explicitly requesting it off if( argc < 11 ) { diff --git a/test/measureAnisoStats.cc b/test/measureAnisoStats.cc index e4fcb8c61..edca0d60c 100644 --- a/test/measureAnisoStats.cc +++ b/test/measureAnisoStats.cc @@ -47,7 +47,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if (argc < 5) { if (PCUObj.Self() == 0) { diff --git a/test/measureIsoStats.cc b/test/measureIsoStats.cc index e6b53fa29..0b2e86d92 100644 --- a/test/measureIsoStats.cc +++ b/test/measureIsoStats.cc @@ -48,7 +48,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if (argc < 4) { if (PCUObj.Self() == 0) { diff --git a/test/mixedNumbering.cc b/test/mixedNumbering.cc index 98ab991f9..58337b6fb 100644 --- a/test/mixedNumbering.cc +++ b/test/mixedNumbering.cc @@ -53,7 +53,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_mesh(); apf::Mesh2* m = apf::loadMdsMesh(argv[1],argv[2],&pcu_obj); diff --git a/test/mkmodel.cc b/test/mkmodel.cc index b72b85996..5a8b86d36 100644 --- a/test/mkmodel.cc +++ b/test/mkmodel.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 3 ) { if ( !pcu_obj.Self() ) diff --git a/test/mktopomodel.cc b/test/mktopomodel.cc index 3dea42c01..9ed784a29 100644 --- a/test/mktopomodel.cc +++ b/test/mktopomodel.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 3 ) { if ( !pcu_obj.Self() ) diff --git a/test/modelInfo.cc b/test/modelInfo.cc index a58f1e84c..c838f4f10 100644 --- a/test/modelInfo.cc +++ b/test/modelInfo.cc @@ -19,7 +19,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) diff --git a/test/moving.cc b/test/moving.cc index 87dcb1640..2e267077f 100644 --- a/test/moving.cc +++ b/test/moving.cc @@ -24,7 +24,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 3 ) { fprintf(stderr, "Usage: %s \n", argv[0]); diff --git a/test/nedelecShapes.cc b/test/nedelecShapes.cc index be0cd5b90..bc67335b5 100644 --- a/test/nedelecShapes.cc +++ b/test/nedelecShapes.cc @@ -32,7 +32,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(0); diff --git a/test/nektar_align.cc b/test/nektar_align.cc index 24ad76ea0..a40116790 100644 --- a/test/nektar_align.cc +++ b/test/nektar_align.cc @@ -114,7 +114,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/neper.cc b/test/neper.cc index 224633d3d..3dd631a3e 100644 --- a/test/neper.cc +++ b/test/neper.cc @@ -13,7 +13,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) diff --git a/test/newdim.cc b/test/newdim.cc index 58e558627..4869accc5 100644 --- a/test/newdim.cc +++ b/test/newdim.cc @@ -12,7 +12,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_null(); gmi_model* model = gmi_load(".null"); diff --git a/test/osh2smb.cc b/test/osh2smb.cc index aec3fd301..8ade42f2d 100644 --- a/test/osh2smb.cc +++ b/test/osh2smb.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if (argc != 4) { if (PCUObj.Self() == 0) { diff --git a/test/ph_adapt.cc b/test/ph_adapt.cc index f1f4afff0..be1dd9e87 100644 --- a/test/ph_adapt.cc +++ b/test/ph_adapt.cc @@ -52,7 +52,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/poisson.cc b/test/poisson.cc index 8ec7e840c..78b800a04 100644 --- a/test/poisson.cc +++ b/test/poisson.cc @@ -256,7 +256,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); PCU_ALWAYS_ASSERT(! pcu_obj.Self()); int dim = atoi(argv[1]); diff --git a/test/print_pumipic_partition.cc b/test/print_pumipic_partition.cc index e9ad2c817..6c46a5ee4 100644 --- a/test/print_pumipic_partition.cc +++ b/test/print_pumipic_partition.cc @@ -24,7 +24,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 && argc != 6) { if ( !pcu_obj.Self() ) diff --git a/test/ptnParma.cc b/test/ptnParma.cc index fe1585f67..6129b3902 100644 --- a/test/ptnParma.cc +++ b/test/ptnParma.cc @@ -170,7 +170,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if( !PCUObj.Self() ) lion_oprint(1, "PUMI version %s Git hash %s\n", pumi_version(), pumi_git_sha()); diff --git a/test/pumi.cc b/test/pumi.cc index 1a5f636b2..0f52c694b 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -93,7 +93,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); lion_set_verbosity(1); pumi_printSys(); diff --git a/test/pumiLoadMesh.cc b/test/pumiLoadMesh.cc index bd6f3eef7..a2f4fd506 100644 --- a/test/pumiLoadMesh.cc +++ b/test/pumiLoadMesh.cc @@ -8,7 +8,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); pGeom g = pumi_geom_load(argv[1], "mesh"); pMesh m = pumi_mesh_load(g, argv[2], 1); diff --git a/test/quality.cc b/test/quality.cc index dad24573f..56c387630 100644 --- a/test/quality.cc +++ b/test/quality.cc @@ -97,7 +97,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv,&PCUObj); diff --git a/test/refine2x.cc b/test/refine2x.cc index deda85965..b4207da65 100644 --- a/test/refine2x.cc +++ b/test/refine2x.cc @@ -89,7 +89,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if (argc != 5) { if(0==PCUObj.Self()) diff --git a/test/render.cc b/test/render.cc index 21d10678d..4f59254ce 100644 --- a/test/render.cc +++ b/test/render.cc @@ -22,7 +22,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/renderClass.cc b/test/renderClass.cc index e7404320a..8118a6f55 100644 --- a/test/renderClass.cc +++ b/test/renderClass.cc @@ -38,7 +38,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if (!(argc == 4 || argc == 5)) { if ( !PCUObj.Self() ) { diff --git a/test/render_ascii.cc b/test/render_ascii.cc index 0ca596f4d..186ceb38b 100644 --- a/test/render_ascii.cc +++ b/test/render_ascii.cc @@ -19,7 +19,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/reorder.cc b/test/reorder.cc index 6ed14b248..713e69e7a 100644 --- a/test/reorder.cc +++ b/test/reorder.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/repartition.cc b/test/repartition.cc index 179efa8b9..bac42a25b 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -45,8 +45,8 @@ CreateGroupCommResult createGroupComm(pcu::PCU *PCUObj) no need to spend time computing a good contiguous number */ groupRank = 0; } - MPI_Comm groupComm; - PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm groupComm; + PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); CreateGroupCommResult result; result.isOriginal = isOriginal; result.group_pcu_obj = new pcu::PCU(groupComm); @@ -104,7 +104,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU expanded_pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU expanded_pcu_obj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv,&expanded_pcu_obj); diff --git a/test/reposition.cc b/test/reposition.cc index fced2567a..475e160eb 100644 --- a/test/reposition.cc +++ b/test/reposition.cc @@ -13,7 +13,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #if 0 gmi_register_null(); diff --git a/test/residualErrorEstimation_test.cc b/test/residualErrorEstimation_test.cc index 1a8b58dc6..5bd4fd0f7 100644 --- a/test/residualErrorEstimation_test.cc +++ b/test/residualErrorEstimation_test.cc @@ -31,7 +31,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/rm_extrusion.cc b/test/rm_extrusion.cc index 02afa2321..7e0c3a330 100644 --- a/test/rm_extrusion.cc +++ b/test/rm_extrusion.cc @@ -97,7 +97,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); MS_init(); SimAdvMeshing_start(); diff --git a/test/runSimxAnisoAdapt.cc b/test/runSimxAnisoAdapt.cc index dbd243e47..a6ad6558c 100644 --- a/test/runSimxAnisoAdapt.cc +++ b/test/runSimxAnisoAdapt.cc @@ -80,7 +80,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); MS_init(); // Call before calling Sim_readLicenseFile Sim_readLicenseFile(0); @@ -607,7 +607,7 @@ apf::Mesh2* convertToPumi( gmi_model* nullModel = gmi_load(".null"); apf::Mesh2* m2 = apf::makeEmptyMdsMesh(nullModel, dim, false, PCUObj); apf::GlobalToVert outMap; - apf::construct(m2, adaptedConns, adaptedNumElems, apf::Mesh::TET, outMap);; + apf::construct(m2, adaptedConns, adaptedNumElems, apf::Mesh::TET, outMap); apf::alignMdsRemotes(m2); apf::deriveMdsModel(m2); apf::setCoords(m2, adaptedCoords, adaptedNumVerts, outMap); diff --git a/test/scale.cc b/test/scale.cc index bb854bfe8..6a8012fab 100644 --- a/test/scale.cc +++ b/test/scale.cc @@ -61,7 +61,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); if (argc != 8) print_usage(argv, &PCUObj); diff --git a/test/serialize.cc b/test/serialize.cc index c1ede41cb..c955c7ac0 100644 --- a/test/serialize.cc +++ b/test/serialize.cc @@ -31,7 +31,7 @@ int main( int argc, char* argv[]) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) diff --git a/test/shapefun.cc b/test/shapefun.cc index 8e42dbe7a..49224f763 100644 --- a/test/shapefun.cc +++ b/test/shapefun.cc @@ -248,7 +248,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_null(); testP1LineNodeValues(); diff --git a/test/shapefun2.cc b/test/shapefun2.cc index d8f1e627e..415f03da3 100644 --- a/test/shapefun2.cc +++ b/test/shapefun2.cc @@ -175,7 +175,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_null(); diff --git a/test/simSpjToSmd.cc b/test/simSpjToSmd.cc index 1662c227c..aef78648e 100644 --- a/test/simSpjToSmd.cc +++ b/test/simSpjToSmd.cc @@ -70,7 +70,7 @@ int main(int argc, char* argv[]) // The meshing case doesn't seem to get fully deleted, so still want // to set the model so the smd file has the correct path AttCase_setModel(currentCase,model); - std::cout << "Deleting case "<Self(); int groupRank = self / partitionFactor; int group = self % partitionFactor; - MPI_Comm groupComm; - PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm groupComm; + PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); return new pcu::PCU(groupComm); } @@ -74,7 +74,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/spr_test.cc b/test/spr_test.cc index c1c0d073c..d51c06f01 100644 --- a/test/spr_test.cc +++ b/test/spr_test.cc @@ -23,7 +23,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); apf::Mesh2* mesh = apf::loadMdsMesh(modelFile, meshFile, &PCUObj); diff --git a/test/swapDoubles.cc b/test/swapDoubles.cc index e106280e8..5f2379647 100644 --- a/test/swapDoubles.cc +++ b/test/swapDoubles.cc @@ -11,7 +11,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; const size_t n = 2; double *d_orig = new double[n]; std::iota(d_orig,d_orig+n,0); diff --git a/test/test_integrator.cc b/test/test_integrator.cc index 10994aad5..bf68d16bd 100644 --- a/test/test_integrator.cc +++ b/test/test_integrator.cc @@ -28,7 +28,7 @@ int main(int argc, char ** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; // argument should be model, mesh PCU_ALWAYS_ASSERT(argc == 3); diff --git a/test/test_matrix_grad.cc b/test/test_matrix_grad.cc index 3dca8468f..63165e64f 100644 --- a/test/test_matrix_grad.cc +++ b/test/test_matrix_grad.cc @@ -98,7 +98,7 @@ int main(int argc, char* argv[]) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_mesh(); apf::Mesh2* mesh = apf::loadMdsMesh(argv[1], argv[2], &pcu_obj); diff --git a/test/test_scaling.cc b/test/test_scaling.cc index af6648b9e..7cdf2208a 100644 --- a/test/test_scaling.cc +++ b/test/test_scaling.cc @@ -18,7 +18,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_mesh(); apf::Mesh2* m = apf::loadMdsMesh(argv[1],argv[2],&pcu_obj); diff --git a/test/test_verify.cc b/test/test_verify.cc index 390abf84f..c7d700860 100644 --- a/test/test_verify.cc +++ b/test/test_verify.cc @@ -16,7 +16,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); PCU_ALWAYS_ASSERT(argc == 3); gmi_register_mesh(); diff --git a/test/tetrahedronize.cc b/test/tetrahedronize.cc index 00d2aa13c..45183bd52 100644 --- a/test/tetrahedronize.cc +++ b/test/tetrahedronize.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/torus_ma_test.cc b/test/torus_ma_test.cc index 8c38f2afe..3d46f5af1 100644 --- a/test/torus_ma_test.cc +++ b/test/torus_ma_test.cc @@ -52,7 +52,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); ma::Mesh* m = apf::loadMdsMesh(modelFile,meshFile,&PCUObj); diff --git a/test/ugrid.cc b/test/ugrid.cc index 1164e44a5..cda398bbc 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -23,8 +23,8 @@ pcu::PCU* getGroupedPCU(const int partitionFactor, pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / partitionFactor; int group = self % partitionFactor; - MPI_Comm groupComm; - PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm groupComm; + PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); return new pcu::PCU(groupComm); } @@ -36,7 +36,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) diff --git a/test/ugridptnstats.cc b/test/ugridptnstats.cc index ef1ba4eef..1e6119614 100644 --- a/test/ugridptnstats.cc +++ b/test/ugridptnstats.cc @@ -24,7 +24,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_null(); PCU_ALWAYS_ASSERT( 3 == argc ); diff --git a/test/uniform.cc b/test/uniform.cc index 8ab124066..5bb6aaff2 100644 --- a/test/uniform.cc +++ b/test/uniform.cc @@ -40,7 +40,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/verify.cc b/test/verify.cc index 67aa35d8c..40944d3d7 100644 --- a/test/verify.cc +++ b/test/verify.cc @@ -20,7 +20,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/verify_2nd_order_shapes.cc b/test/verify_2nd_order_shapes.cc index 2318425b8..767b631a0 100644 --- a/test/verify_2nd_order_shapes.cc +++ b/test/verify_2nd_order_shapes.cc @@ -22,7 +22,7 @@ int main(int argc, char** argv) { (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) diff --git a/test/verify_convert.cc b/test/verify_convert.cc index d70aecdf5..be80032a2 100644 --- a/test/verify_convert.cc +++ b/test/verify_convert.cc @@ -48,7 +48,7 @@ int main(int argc, char* argv[]) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_null(); diff --git a/test/visualizeAnisoSizes.cc b/test/visualizeAnisoSizes.cc index a0bb7d123..5f29f5803 100644 --- a/test/visualizeAnisoSizes.cc +++ b/test/visualizeAnisoSizes.cc @@ -48,7 +48,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if (argc < 8) { if (PCUObj.Self() == 0) { diff --git a/test/viz.cc b/test/viz.cc index 89318fb60..0001ddf28 100644 --- a/test/viz.cc +++ b/test/viz.cc @@ -37,7 +37,7 @@ int main(int argc, char** argv) MPI_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); PCU_ALWAYS_ASSERT(provided==MPI_THREAD_MULTIPLE); { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv); diff --git a/test/vtxBalance.cc b/test/vtxBalance.cc index 5b8c026b9..b693bfdec 100644 --- a/test/vtxBalance.cc +++ b/test/vtxBalance.cc @@ -35,7 +35,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/vtxEdgeElmBalance.cc b/test/vtxEdgeElmBalance.cc index dbfb81d27..57b8f002c 100644 --- a/test/vtxEdgeElmBalance.cc +++ b/test/vtxEdgeElmBalance.cc @@ -50,7 +50,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 6 ) { if ( !PCUObj.Self() ) diff --git a/test/vtxElmBalance.cc b/test/vtxElmBalance.cc index d6e87c685..7835c8831 100644 --- a/test/vtxElmBalance.cc +++ b/test/vtxElmBalance.cc @@ -39,7 +39,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/vtxElmMixedBalance.cc b/test/vtxElmMixedBalance.cc index 82caebe01..fca058955 100644 --- a/test/vtxElmMixedBalance.cc +++ b/test/vtxElmMixedBalance.cc @@ -22,7 +22,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/test/writeIPFieldTest.cc b/test/writeIPFieldTest.cc index ff06eba26..4bb82d755 100644 --- a/test/writeIPFieldTest.cc +++ b/test/writeIPFieldTest.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); gmi_register_mesh(); apf::Mesh2* m = apf::loadMdsMesh(argv[1],argv[2],&pcu_obj); diff --git a/test/writePart.cc b/test/writePart.cc index bb6161544..b1d567ab8 100644 --- a/test/writePart.cc +++ b/test/writePart.cc @@ -13,7 +13,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) diff --git a/test/writeVtxPtn.cc b/test/writeVtxPtn.cc index 7c3adb746..4fac1dab7 100644 --- a/test/writeVtxPtn.cc +++ b/test/writeVtxPtn.cc @@ -40,7 +40,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_mesh(); getConfig(argc,argv,&PCUObj); diff --git a/test/xgc_split.cc b/test/xgc_split.cc index ae8e73f66..ab16558fa 100644 --- a/test/xgc_split.cc +++ b/test/xgc_split.cc @@ -61,7 +61,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); getConfig(argc,argv,&PCUObj); diff --git a/test/zbalance.cc b/test/zbalance.cc index db1883213..bfd160667 100644 --- a/test/zbalance.cc +++ b/test/zbalance.cc @@ -24,7 +24,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) diff --git a/test/zsplit.cc b/test/zsplit.cc index d7c743bd8..ff309b6fa 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -44,8 +44,8 @@ pcu::PCU* getGroupedPCU(pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / partitionFactor; int group = self % partitionFactor; - MPI_Comm groupComm; - PCU_Comm_Split(MPI_COMM_WORLD, group, groupRank, &groupComm); + PCU_Comm groupComm; + PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); return new pcu::PCU(groupComm); } @@ -76,7 +76,7 @@ int main(int argc, char** argv) (void) argc, (void) argv; #endif { - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj; lion_set_verbosity(1); #ifdef HAVE_SIMMETRIX MS_init(); diff --git a/zoltan/CMakeLists.txt b/zoltan/CMakeLists.txt index 0901f9df5..84473e02e 100644 --- a/zoltan/CMakeLists.txt +++ b/zoltan/CMakeLists.txt @@ -47,7 +47,6 @@ add_library(apf_zoltan ${SOURCES}) # Include directories target_include_directories(apf_zoltan INTERFACE $ - $ ) # Link this package to these libraries From d4ee513208d4bddef3c1f29899da3a6d4c4b1222 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 18 Feb 2025 23:53:09 -0500 Subject: [PATCH 31/66] use default PCU constructor in example project Signed-off-by: Aiden Woodruff --- doc/myprogram.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/myprogram.cpp b/doc/myprogram.cpp index 4b8ad85cf..4798b1166 100644 --- a/doc/myprogram.cpp +++ b/doc/myprogram.cpp @@ -2,7 +2,7 @@ #include "mylibrary.h" int main(int argc, char** argv) { MPI_Init(&argc,&argv); - pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); + pcu::PCU PCUObj = pcu::PCU; makeMesh(&PCUObj); MPI_Finalize(); return 0; From 5cda07672dbe418510f099ee751e6d395e7e0aaa Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 18 Feb 2025 23:59:50 -0500 Subject: [PATCH 32/66] add SCOREC_NO_MPI guards to example doc/myprogramm - doc/myprogram.cpp: exclude MPI_Init with SCOREC_NO_MPI. - use default constructor correctly. Signed-off-by: Aiden Woodruff --- doc/myprogram.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/myprogram.cpp b/doc/myprogram.cpp index 4798b1166..59df0f823 100644 --- a/doc/myprogram.cpp +++ b/doc/myprogram.cpp @@ -1,9 +1,13 @@ #include #include "mylibrary.h" int main(int argc, char** argv) { +#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); - pcu::PCU PCUObj = pcu::PCU; +#endif + pcu::PCU PCUObj; makeMesh(&PCUObj); +#ifndef SCOREC_NO_MPI MPI_Finalize(); +#endif return 0; } From 3189c08bc043f986f31438edd82ec08eed3ef41b Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 00:07:50 -0500 Subject: [PATCH 33/66] expand pcu_merge arguments and remove pcu_merge2 - pcu/pcu_coll.h: add pcu_peers and bit info to pcu_merge. - pcu/pcu_coll.c: remove pcu_merge2. - (end_coll_step): remove use_merge2 flag. - always call merge with size and bit info. - (pcu_progress_coll): remove _internal version. - add gather pcu_pattern to be descriptive. - rename merge_gather to pcu_merge_gather. - pcu/PCU.cc: update PCU::Add, PCU::Min, PCU::Max, PCU::Exscan merge lambdas with new arguments. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 8 ++++---- pcu/pcu_coll.c | 47 +++++++++++++++++++++-------------------------- pcu/pcu_coll.h | 6 ++++-- 3 files changed, 29 insertions(+), 32 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index f55756c21..888dfbbf2 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -265,7 +265,7 @@ PCU_Comm PCU::SwitchMPIComm(PCU_Comm newcomm) noexcept { template void PCU::Add(T *p, size_t n) noexcept { pcu_allreduce( mpi_, &(msg_->coll), - [](void *local, void *incoming, size_t size) { + [](int, int, void *local, void *incoming, size_t size) { auto *a = static_cast(local); auto *b = static_cast(incoming); size_t n = size / sizeof(T); @@ -281,7 +281,7 @@ template T PCU::Add(T p) noexcept { template void PCU::Min(T *p, size_t n) noexcept { pcu_allreduce( mpi_, &(msg_->coll), - [](void *local, void *incoming, size_t size) { + [](int, int, void *local, void *incoming, size_t size) { auto *a = static_cast(local); auto *b = static_cast(incoming); size_t n = size / sizeof(T); @@ -297,7 +297,7 @@ template T PCU::Min(T p) noexcept { template void PCU::Max(T *p, size_t n) noexcept { pcu_allreduce( mpi_, &(msg_->coll), - [](void *local, void *incoming, size_t size) { + [](int, int, void *local, void *incoming, size_t size) { auto *a = static_cast(local); auto *b = static_cast(incoming); size_t n = size / sizeof(T); @@ -316,7 +316,7 @@ template void PCU::Exscan(T *p, size_t n) noexcept { originals[i] = p[i]; pcu_scan( mpi_, &(msg_->coll), - [](void *local, void *incoming, size_t size) { + [](int, int, void *local, void *incoming, size_t size) { auto *a = static_cast(local); auto *b = static_cast(incoming); size_t n = size / sizeof(T); diff --git a/pcu/pcu_coll.c b/pcu/pcu_coll.c index 11d127ce6..e39f419d9 100644 --- a/pcu/pcu_coll.c +++ b/pcu/pcu_coll.c @@ -28,15 +28,13 @@ static int ceil_log2(int n) return r; } -void pcu_merge_assign(void* local, void* incoming, size_t size) +void pcu_merge_assign(int peers, int bit, void* local, void* incoming, + size_t size) { + (void) peers, (void) bit; memcpy(local,incoming,size); } -// Advanced merge prototype with access to bit info. -typedef void pcu_merge2(int mpi_size, int bit, void* local, void* incoming, - size_t size); - /* initiates non-blocking calls for this communication step */ static void begin_coll_step(pcu_mpi_t* mpi, pcu_coll* c) @@ -53,7 +51,7 @@ static void begin_coll_step(pcu_mpi_t* mpi, pcu_coll* c) Returns false if communication is not done, otherwise wraps up communication, merges if necessary, and returns true */ -static bool end_coll_step(pcu_mpi_t* mpi, pcu_coll* c, bool use_merge2) +static bool end_coll_step(pcu_mpi_t* mpi, pcu_coll* c) { int action = c->pattern->action(mpi, c->bit); if (action == pcu_coll_idle) @@ -68,14 +66,8 @@ static bool end_coll_step(pcu_mpi_t* mpi, pcu_coll* c, bool use_merge2) if (c->message.buffer.size != incoming.buffer.size) reel_fail("PCU unexpected incoming message.\n" "Most likely a PCU collective was not called by all ranks."); - if (use_merge2) { - pcu_merge2 *merge2 = (pcu_merge2*)(void*) c->merge; - merge2(pcu_mpi_size(mpi), c->bit, c->message.buffer.start, + c->merge(pcu_mpi_size(mpi), c->bit, c->message.buffer.start, incoming.buffer.start, incoming.buffer.size); - } else { - c->merge(c->message.buffer.start, incoming.buffer.start, - incoming.buffer.size); - } pcu_free_message(&incoming); return true; } @@ -119,12 +111,11 @@ void pcu_begin_coll(pcu_mpi_t* mpi, pcu_coll* c, void* data, size_t size) /* makes progress on a collective operation started by pcu_begin_coll. returns false if its done. */ -static bool pcu_progress_coll_internal(pcu_mpi_t* mpi, pcu_coll* c, - bool use_merge2) +bool pcu_progress_coll(pcu_mpi_t* mpi, pcu_coll* c) { if (c->pattern->end_bit(mpi, c->bit)) return false; - if (end_coll_step(mpi, c, use_merge2)) + if (end_coll_step(mpi, c)) { c->bit = c->pattern->shift(mpi, c->bit); if (c->pattern->end_bit(mpi, c->bit)) @@ -134,11 +125,6 @@ static bool pcu_progress_coll_internal(pcu_mpi_t* mpi, pcu_coll* c, return true; } -bool pcu_progress_coll(pcu_mpi_t *mpi, pcu_coll *c) -{ - return pcu_progress_coll_internal(mpi, c, false); -} - /* reduce merges odd ranks into even ones, then odd multiples of 2 into even ones, etc... until rank 0 has all inputs merged */ @@ -390,6 +376,15 @@ static pcu_pattern scan_down = .shift = scan_down_shift, }; +static pcu_pattern gather = +{ + .begin_bit = reduce_begin_bit, + .end_bit = reduce_end_bit, + .action = reduce_action, + .peer = reduce_peer, + .shift = reduce_shift, +}; + void pcu_reduce(pcu_mpi_t* mpi, pcu_coll* c, pcu_merge* m, void* data, size_t size) { pcu_make_coll(mpi, c,&reduce,m); @@ -420,20 +415,20 @@ void pcu_scan(pcu_mpi_t* mpi, pcu_coll* c, pcu_merge* m, void* data, size_t size while(pcu_progress_coll(mpi, c)); } -void merge_gather(int mpi_size, int bit, void *local, void *incoming, - size_t size) { +void pcu_merge_gather(int peers, int bit, void *local, void *incoming, + size_t size) { // bit is equal to the current number of items in local and incoming. // Since all items incoming are from greater ranks, they got to the right. - size_t block_size = size / mpi_size; + size_t block_size = size / peers; memcpy(local + bit * block_size, incoming, bit * block_size); } void pcu_gather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, void *recv_data, size_t size) { memcpy(recv_data, send_data, size); - pcu_make_coll(mpi, c, &reduce, (pcu_merge*)(void*) merge_gather); + pcu_make_coll(mpi, c, &gather, pcu_merge_gather); pcu_begin_coll(mpi, c, recv_data, size * pcu_mpi_size(mpi)); - while (pcu_progress_coll_internal(mpi, c, true)); + while (pcu_progress_coll(mpi, c)); } void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, diff --git a/pcu/pcu_coll.h b/pcu/pcu_coll.h index 2b6310b65..28389abfb 100644 --- a/pcu/pcu_coll.h +++ b/pcu/pcu_coll.h @@ -29,8 +29,10 @@ extern "C" { arguments are usually arrays of some type, and the operations is sum, min, max, etc. */ -typedef void pcu_merge(void* local, void* incoming, size_t size); -void pcu_merge_assign(void* local, void* incoming, size_t size); +typedef void pcu_merge(int peers, int bit, void* local, void* incoming, + size_t size); +void pcu_merge_assign(int peers, int bit, void* local, void* incoming, + size_t size); /* Enumerated actions that a rank takes during one step of the communication pattern */ From 28eaa3a27a455488890724ad4769e49730201b3b Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 00:20:49 -0500 Subject: [PATCH 34/66] ci: add ctest output on failure Signed-off-by: Aiden Woodruff --- .github/workflows/cmake.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 78aa1d2ff..6294cc8cc 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -71,3 +71,4 @@ jobs: -DSCOREC_PREFIX=${{github.workspace}}/build/install ; cmake --build ${{github.workspace}}/example/mpi-nompi/build ; ctest --test-dir ${{github.workspace}}/example/mpi-nompi/build + --output-on-failure From 54dc9ceb11c748c22127ce27b0c0de2f6b31fcaa Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 01:03:38 -0500 Subject: [PATCH 35/66] update example/mpi-nompi print order - example/mpi-nompi/hello.cc: force deterministic print order by sleeping after print statements. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/hello.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index 990e7073e..d49d3c900 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -1,4 +1,6 @@ +#include #include +#include #include #include @@ -23,6 +25,8 @@ int main(int argc, char** argv) { if (rank == i) std::cout << "Hello from MPI rank: " << rank << "; PCU rank: " << PCUObj->Self() << std::endl; + // Print deterministically please and thank you. + std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } // Test SCOREC functions. @@ -38,6 +42,8 @@ int main(int argc, char** argv) { if (rank == i) std::cout << "MPI(" << rank << ") sum: " << sum << "; PCU sum: " << psum << std::endl; + // Print deterministically please and thank you. + std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } // Test Allgather @@ -53,6 +59,8 @@ int main(int argc, char** argv) { print_array(pvals1, PCUObj->Peers()); std::cout << std::endl; } + // Print deterministically please and thank you. + std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } delete vals1; @@ -69,6 +77,8 @@ int main(int argc, char** argv) { print_array(pvals2, 2 * PCUObj->Peers()); std::cout << std::endl; } + // Print deterministically please and thank you. + std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } delete vals2; From bac66ad2e0f0337d93470569a2cffdfb4017dd55 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 10:58:07 -0500 Subject: [PATCH 36/66] replace PCU_Comm_Split with PCU::Split - pcu/PCU.h: remove PCU_Comm_Free_One and PCU_Comm_Split. - add PCU::OwnsComm to check and manage original comm ownership. - add PCU::Split which returns another PCU* that is owned. - pcu/pcu_c.cc: remove PCU_Comm_Free_One and PCU_Comm_Split. - pcu/pcu_mpi.h: add owned to pcu_mpi_struct. - (pcu_mpi_split): take pcu_mpi_t as argument. - (pcu_mpi_free): remove obsolete function. only original_comm can be freed now. - pcu/pcu_mpi.c (pcu_mpi_split): add function definition. - pcu/pcu_pmpi.h (pcu_pmpi_split): take pcu_mpi_t as argument. - remove free. - pcu/pcu_pmpi.c (pcu_pmpi_init): initialize owned to false. - (pcu_pmpi_finalize): free original comm if owned and not MPI_COMM_WORLD. - (pcu_pmpi_free) remove function. - (pcu_pmpi_split): use original_comm and still output to mpi_comm*. - pcu/pcu_pnompi.c: remove free and update split arguments. - (pcu_pmpi_init): initialize owned. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 11 +++++++++++ pcu/PCU.h | 28 ++++++++++++++++++++++++---- pcu/pcu_c.cc | 11 ----------- pcu/pcu_mpi.c | 5 +++++ pcu/pcu_mpi.h | 4 ++-- pcu/pcu_pmpi.c | 15 ++++++++------- pcu/pcu_pmpi.h | 3 +-- pcu/pcu_pnompi.c | 10 +++------- 8 files changed, 54 insertions(+), 33 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 888dfbbf2..1b916ad81 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -126,6 +126,15 @@ void PCU::Order(bool on) { void PCU::Barrier() { pcu_barrier(mpi_, &(msg_->coll)); } int PCU::Or(int c) noexcept { return Max(c); } int PCU::And(int c) noexcept { return Min(c); } + +PCU* PCU::Split(int color, int key) noexcept { + PCU_Comm newcomm; + pcu_mpi_split(mpi_, color, key, &newcomm); + PCU* splitpcu = new PCU(newcomm); + splitpcu->OwnsComm(true); + return splitpcu; +} + int PCU::Packed(int to_rank, size_t *size) noexcept { if ((to_rank < 0) || (to_rank >= Peers())) reel_fail("Invalid rank in Comm_Packed"); @@ -250,6 +259,8 @@ PCU &PCU::operator=(PCU && other) noexcept { return *this; } PCU_Comm PCU::GetMPIComm() const noexcept { return mpi_->original_comm; } +bool PCU::OwnsComm() const noexcept { return mpi_->owned; } +void PCU::OwnsComm(bool on) const noexcept { mpi_->owned = on ? 1 : 0; } PCU_Comm PCU::SwitchMPIComm(PCU_Comm newcomm) noexcept { if(newcomm == mpi_->original_comm) { diff --git a/pcu/PCU.h b/pcu/PCU.h index b3575b315..966a5f9cd 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -8,10 +8,6 @@ struct pcu_msg_struct; struct pcu_mpi_struct; -extern "C" { -int PCU_Comm_Free_One(PCU_Comm* com); -int PCU_Comm_Split(PCU_Comm oldCom, int color, int key, PCU_Comm* newCom); -} namespace pcu { class PCU { public: @@ -31,6 +27,17 @@ class PCU { */ [[nodiscard]] int Peers() const noexcept; [[nodiscard]] PCU_Comm GetMPIComm() const noexcept; + /** @brief Check if the original PCU_Comm is owned by this object. + * If true, it will be freed during destruction. */ + bool OwnsComm() const noexcept; + /** @brief Set ownership of the orignal PCU_Comm passed to the constructor. + * + * This function can enable or disable ownership. If a communicator created + * with PCU::Split() is disowned, it should be freed by the user. + * + * @param on true to enable ownership. + */ + void OwnsComm(bool on) const noexcept; [[nodiscard]] PCU_t GetCHandle() {PCU_t h; h.ptr=this; return h;} /*recommended message passing API*/ @@ -79,6 +86,19 @@ class PCU { [[nodiscard]] int Or(int c) noexcept; [[nodiscard]] int And(int c) noexcept; + /** + * @brief Split a communicator into distinct subgroups. + * + * The resulting communicator is marked owned and automatically free the + * underlying communicator. This can be disabled with PCU::OwnsComm(bool). In + * that case, the user is responsible for cleanup. + * + * @param color subgroup indicator. + * @param key used for subgroup ordering; specify 0 if you don't care. + * @return a new communicator defined on the resulting subgroup. + */ + PCU* Split(int color, int key) noexcept; + /*lesser-used APIs*/ int Packed(int to_rank, size_t *size) noexcept; int From(int *from_rank) noexcept; diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 2e233068d..627b525f9 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -24,17 +24,6 @@ int PCU_Comm_Free(PCU_t* h) { return PCU_SUCCESS; } -int PCU_Comm_Free_One(PCU_Comm* com) -{ - pcu_pmpi_free(com); - return PCU_SUCCESS; -} - -int PCU_Comm_Split(PCU_Comm oldCom, int color, int key, PCU_Comm* newCom) { - pcu_pmpi_split(oldCom, color, key, newCom); - return PCU_SUCCESS; -} - int PCU_Comm_Self(PCU_t h) { if (h.ptr == nullptr) reel_fail("Comm_Self called before Comm_Init"); diff --git a/pcu/pcu_mpi.c b/pcu/pcu_mpi.c index 660272840..faf92eec2 100644 --- a/pcu/pcu_mpi.c +++ b/pcu/pcu_mpi.c @@ -62,3 +62,8 @@ void pcu_mpi_init(PCU_Comm comm, pcu_mpi_t* mpi) { void pcu_mpi_finalize(pcu_mpi_t* mpi) { pcu_pmpi_finalize(mpi); } + +int pcu_mpi_split(const pcu_mpi_t* mpi, int color, int key, + PCU_Comm* newcomm) { + return pcu_pmpi_split(mpi, color, key, newcomm); +} diff --git a/pcu/pcu_mpi.h b/pcu/pcu_mpi.h index 8543bd175..d70b7b41f 100644 --- a/pcu/pcu_mpi.h +++ b/pcu/pcu_mpi.h @@ -34,6 +34,7 @@ struct pcu_mpi_struct PCU_Comm coll_comm; int rank; int size; + int owned; }; typedef struct pcu_mpi_struct pcu_mpi_t; @@ -44,8 +45,7 @@ bool pcu_mpi_done(const pcu_mpi_t*, pcu_message* m); bool pcu_mpi_receive(const pcu_mpi_t*, pcu_message* m, PCU_Comm comm); void pcu_mpi_init(PCU_Comm comm, pcu_mpi_t* mpi); void pcu_mpi_finalize(pcu_mpi_t* mpi); -int pcu_mpi_split(PCU_Comm comm, int color, int key, PCU_Comm* newcomm); -int pcu_mpi_free(PCU_Comm comm); +int pcu_mpi_split(const pcu_mpi_t* mpi, int color, int key, PCU_Comm* newcomm); #ifdef __cplusplus } diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 4ea2e70f9..36b3ff6ab 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -23,22 +23,23 @@ void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t* self) MPI_Comm_dup(comm,&(self->coll_comm)); MPI_Comm_size(comm,&(self->size)); MPI_Comm_rank(comm,&(self->rank)); + self->owned = 0; } void pcu_pmpi_finalize(pcu_mpi_t* self) { MPI_Comm_free(&(self->user_comm)); MPI_Comm_free(&(self->coll_comm)); + // Prevent accidental freeing of MPI_COMM_WORLD. + int result; + MPI_Comm_compare(self->original_comm, MPI_COMM_WORLD, &result); + if (self->owned && result != MPI_IDENT) + MPI_Comm_free(&(self->original_comm)); } -int pcu_pmpi_free(MPI_Comm* comm) +int pcu_pmpi_split(const pcu_mpi_t *mpi, int color, int key, MPI_Comm* newcomm) { - return MPI_Comm_free(comm); -} - -int pcu_pmpi_split(MPI_Comm comm, int color, int key, MPI_Comm* newcomm) -{ - return MPI_Comm_split(comm,color,key,newcomm); + return MPI_Comm_split(mpi->original_comm,color,key,newcomm); } int pcu_pmpi_size(const pcu_mpi_t* self) diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index fae84ea63..dcd8ee71b 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -24,8 +24,7 @@ void pcu_pmpi_send(const pcu_mpi_t *, pcu_message *m, PCU_Comm comm); bool pcu_pmpi_receive(const pcu_mpi_t *, pcu_message *m, PCU_Comm comm); bool pcu_pmpi_done(const pcu_mpi_t *, pcu_message *m); -int pcu_pmpi_split(PCU_Comm comm, int color, int key, PCU_Comm* newcomm); -int pcu_pmpi_free(PCU_Comm* comm); +int pcu_pmpi_split(const pcu_mpi_t *, int color, int key, PCU_Comm* newcomm); #ifdef __cplusplus } diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 5b37d3ebd..82b4236d8 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -109,6 +109,7 @@ void pcu_pmpi_init(PCU_Comm comm, pcu_mpi_t *self) { self->coll_comm = comm+2; self->size = 1; self->rank = 0; + self->owned = 0; } void pcu_pmpi_finalize(pcu_mpi_t* self) { @@ -116,13 +117,8 @@ void pcu_pmpi_finalize(pcu_mpi_t* self) { self->coll_comm = 0; } -int pcu_pmpi_free(PCU_Comm *c) { - (void) c; - return 0; -} - -int pcu_pmpi_split(PCU_Comm cm, int c, int k, PCU_Comm *cm2) { - (void) cm, (void) c, (void) k, (void) cm2; +int pcu_pmpi_split(const pcu_mpi_t *mpi, int c, int k, PCU_Comm *cm2) { + (void) mpi, (void) c, (void) k, (void) cm2; return 1; } From 46be470617fc2bf41d9d4a50cde65c88002e92c2 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 14:58:39 -0500 Subject: [PATCH 37/66] replace PCU_Comm_Split with PCU::Split in tests - parma/group/parma_group.cc: use PCU::Split. - phasta/phCook: use PCU::Split. - pumi/pumi_mesh.cc(split_comm): remove function and use PCU::Split instead. - (merge_comm): remove function and use delete PCUObj instead. - (pumi_mesh_loadSerial): since num_target_part is equal to number of peers, I simplified isMaster and split_comm to just use Self() as the color and 0 as key for automatic keying. - replaced merge_comm with switchPCU and delete. - (pumi_mesh_load): added pcu_obj alias for pumi::instance()->getPCU(). - use modulus and division for color and key because of num_target_part. - use switchPCU and delete. - (pumi_mesh_loadAll): use Split and switchPCU and delete. - test/repartition.cc: use PCU::Split. - test/split.cc: use PCU::Split. - test/zsplit.cc: use PCU::Split. Signed-off-by: Aiden Woodruff --- parma/group/parma_group.cc | 6 ++-- phasta/phCook.cc | 4 +-- pumi/pumi_mesh.cc | 67 +++++++++++++++----------------------- test/repartition.cc | 4 +-- test/split.cc | 4 +-- test/ugrid.cc | 4 +-- test/zsplit.cc | 4 +-- 7 files changed, 34 insertions(+), 59 deletions(-) diff --git a/parma/group/parma_group.cc b/parma/group/parma_group.cc index 3dcc0d657..c06e41fe6 100644 --- a/parma/group/parma_group.cc +++ b/parma/group/parma_group.cc @@ -48,9 +48,9 @@ static void runInGroups( int groupRank = inMap(self); int group = groupMap(self); - PCU_Comm groupComm; - PCU_Comm_Split(expandedPCU->GetMPIComm(), group, groupRank, &groupComm); - auto groupedPCU = std::unique_ptr(new pcu::PCU(groupComm)); + auto groupedPCU = std::unique_ptr( + expandedPCU->Split(group, groupRank) + ); if (m){ m->switchPCU(groupedPCU.get()); apf::remapPartition(m, inMap); diff --git a/phasta/phCook.cc b/phasta/phCook.cc index 93082309d..f277e4e73 100644 --- a/phasta/phCook.cc +++ b/phasta/phCook.cc @@ -51,9 +51,7 @@ pcu::PCU* createGroupComm(int splitFactor, pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / splitFactor; int group = self % splitFactor; - PCU_Comm groupComm; - PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); - return new pcu::PCU(groupComm); + return PCUObj->Split(group, groupRank); } void loadCommon(ph::Input& in, ph::BCs& bcs, gmi_model*& g, pcu::PCU *PCUObj) diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 3ea3750bc..6490a2147 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -177,26 +177,6 @@ apf::Migration* getPlan(apf::Mesh* m, int num_target_part) return plan; } -void split_comm(int num_out_comm, pcu::PCU &PCUObj) -{ - int self = PCUObj.Self(); - int group_id = self % num_out_comm; - int in_group_rank = self / num_out_comm; - PCU_Comm groupComm; - PCU_Comm_Split(PCUObj.GetMPIComm(), group_id, in_group_rank, &groupComm); - PCUObj.SwitchMPIComm(groupComm); -} - - -void merge_comm(PCU_Comm oldComm, pcu::PCU &PCUObj) -{ - PCU_Comm prevComm = PCUObj.GetMPIComm(); - PCUObj.SwitchMPIComm(oldComm); - PCU_Comm_Free_One(&prevComm); -} - - - pGeom pumi_mesh_getGeom(pMesh) { return pumi::instance()->model; @@ -211,14 +191,15 @@ pMesh pumi_mesh_loadSerial(pGeom g, const char* filename, const char* mesh_type) if (!pumi::instance()->getPCU()->Self()) std::cout<<"[PUMI ERROR] "<<__func__<<" failed: invalid mesh type "<getPCU()->GetMPIComm(); - int num_target_part = pumi::instance()->getPCU()->Peers(); - bool isMaster = ((pumi::instance()->getPCU()->Self() % num_target_part) == 0); + bool isMaster = pumi::instance()->getPCU()->Self() == 0; pMesh m = 0; - split_comm(num_target_part, *pumi::instance()->getPCU()); + pcu::PCU *split_comm = pumi::instance()->getPCU()->Split( + pumi::instance()->getPCU()->Self(), 0 + ); if (isMaster) - m = apf::loadMdsMesh(g->getGmi(), filename, pumi::instance()->getPCU()); - merge_comm(prevComm, *pumi::instance()->getPCU()); + m = apf::loadMdsMesh(g->getGmi(), filename, split_comm); + if (m != nullptr) m->switchPCU(pumi::instance()->getPCU()); + delete split_comm; pumi::instance()->mesh = expandMdsMesh(m, g->getGmi(), 1, m->getPCU()); return pumi::instance()->mesh; } @@ -232,28 +213,31 @@ pMesh pumi_mesh_load(pMesh m) pMesh pumi_mesh_load(pGeom g, const char* filename, int num_in_part, const char* mesh_type) { + pcu::PCU *pcu_obj = pumi::instance()->getPCU(); if (strcmp(mesh_type,"mds")) { - if (!pumi::instance()->getPCU()->Self()) std::cout<<"[PUMI ERROR] "<<__func__<<" failed: invalid mesh type "<Self()) std::cout<<"[PUMI ERROR] "<<__func__<<" failed: invalid mesh type "<getPCU()->Peers()>1) // do static partitioning + if (num_in_part==1 && pcu_obj->Peers()>1) // do static partitioning { - PCU_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); - int num_target_part = pumi::instance()->getPCU()->Peers()/num_in_part; - bool isMaster = ((pumi::instance()->getPCU()->Self() % num_target_part) == 0); + int num_target_part = pcu_obj->Peers()/num_in_part; + bool isMaster = ((pcu_obj->Self() % num_target_part) == 0); pMesh m = 0; apf::Migration* plan = 0; - split_comm(num_target_part, *pumi::instance()->getPCU()); + pcu::PCU *split_comm = pcu_obj->Split( + pcu_obj->Self() % num_target_part, pcu_obj->Self() / num_target_part + ); if (isMaster) { - m = apf::loadMdsMesh(g->getGmi(), filename, pumi::instance()->getPCU()); + m = apf::loadMdsMesh(g->getGmi(), filename, split_comm); plan = getPlan(m, num_target_part); } - merge_comm(prevComm, *pumi::instance()->getPCU()); - pumi::instance()->mesh = apf::repeatMdsMesh(m, g->getGmi(), plan, num_target_part, pumi::instance()->getPCU()); + if (m != nullptr) m->switchPCU(split_comm); + delete split_comm; + pumi::instance()->mesh = apf::repeatMdsMesh(m, g->getGmi(), plan, num_target_part, pcu_obj); } else - pumi::instance()->mesh = apf::loadMdsMesh(g->getGmi(), filename, pumi::instance()->getPCU()); + pumi::instance()->mesh = apf::loadMdsMesh(g->getGmi(), filename, pcu_obj); pumi_mesh_print(pumi::instance()->mesh); return pumi::instance()->mesh; } @@ -289,12 +273,13 @@ pMesh pumi_mesh_loadAll(pGeom g, const char* filename, bool stitch_link) else { double t0 = pcu::Time(); - PCU_Comm prevComm = pumi::instance()->getPCU()->GetMPIComm(); - int num_target_part = pumi::instance()->getPCU()->Peers(); - split_comm(num_target_part, *pumi::instance()->getPCU()); + pcu::PCU *split_comm = pumi::instance()->getPCU()->Split( + pumi::instance()->getPCU()->Self(), 0 + ); // no pmodel & remote links setup - pumi::instance()->mesh = apf::loadSerialMdsMesh(g->getGmi(), filename, pumi::instance()->getPCU()); - merge_comm(prevComm, *pumi::instance()->getPCU()); + pumi::instance()->mesh = apf::loadSerialMdsMesh(g->getGmi(), filename, split_comm); + pumi::instance()->mesh->switchPCU(pumi::instance()->getPCU()); + delete split_comm; if (!pumi::instance()->getPCU()->Self()) lion_oprint(1,"serial mesh %s loaded in %f seconds\n", filename, pcu::Time() - t0); } diff --git a/test/repartition.cc b/test/repartition.cc index bac42a25b..57225d8fa 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -45,11 +45,9 @@ CreateGroupCommResult createGroupComm(pcu::PCU *PCUObj) no need to spend time computing a good contiguous number */ groupRank = 0; } - PCU_Comm groupComm; - PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); CreateGroupCommResult result; result.isOriginal = isOriginal; - result.group_pcu_obj = new pcu::PCU(groupComm); + result.group_pcu_obj = PCUObj->Split(group, groupRank); return result; } diff --git a/test/split.cc b/test/split.cc index c0372b012..b75b1d178 100644 --- a/test/split.cc +++ b/test/split.cc @@ -42,9 +42,7 @@ pcu::PCU* getGroupedPCU(pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / partitionFactor; int group = self % partitionFactor; - PCU_Comm groupComm; - PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); - return new pcu::PCU(groupComm); + return PCUObj->Split(group, groupRank); } void getConfig(int argc, char** argv, pcu::PCU *PCUObj) diff --git a/test/ugrid.cc b/test/ugrid.cc index cda398bbc..26e553792 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -23,9 +23,7 @@ pcu::PCU* getGroupedPCU(const int partitionFactor, pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / partitionFactor; int group = self % partitionFactor; - PCU_Comm groupComm; - PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); - return new pcu::PCU(groupComm); + return PCUObj->Split(group, groupRank); } int main(int argc, char** argv) diff --git a/test/zsplit.cc b/test/zsplit.cc index ff309b6fa..efd1bf86d 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -44,9 +44,7 @@ pcu::PCU* getGroupedPCU(pcu::PCU *PCUObj) int self = PCUObj->Self(); int groupRank = self / partitionFactor; int group = self % partitionFactor; - PCU_Comm groupComm; - PCU_Comm_Split(PCUObj->GetMPIComm(), group, groupRank, &groupComm); - return new pcu::PCU(groupComm); + return PCUObj->Split(group, groupRank); } void getConfig(int argc, char** argv, pcu::PCU *PCUObj) From 0a65fea0914721ee111f1bd971dcda014a91a328 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 16:14:43 -0500 Subject: [PATCH 38/66] use default PCU constructor in capstone tests Signed-off-by: Aiden Woodruff --- test/capCheckParam.cc | 2 +- test/capGeomTest.cc | 2 +- test/cap_closestPoint.cc | 2 +- test/cap_inClosureOf.cc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/capCheckParam.cc b/test/capCheckParam.cc index 7084dcece..9a5edc1c3 100644 --- a/test/capCheckParam.cc +++ b/test/capCheckParam.cc @@ -32,7 +32,7 @@ int main(int argc, char** argv) #else (void) argc, (void) argv; #endif - pcu::PCU *PCUobj = new pcu::PCU(MPI_COMM_WORLD); + pcu::PCU *PCUobj = new pcu::PCU; if (argc != 2) { if (PCUobj->Self() == 0) diff --git a/test/capGeomTest.cc b/test/capGeomTest.cc index c2b20526d..0f4f83258 100644 --- a/test/capGeomTest.cc +++ b/test/capGeomTest.cc @@ -53,7 +53,7 @@ int main(int argc, char** argv) #else (void) argc, (void) argv; #endif - pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); + pcu::PCU *PCUObj = new pcu::PCU; gmi_register_mesh(); gmi_register_null(); diff --git a/test/cap_closestPoint.cc b/test/cap_closestPoint.cc index c4e93c564..64ec2c653 100644 --- a/test/cap_closestPoint.cc +++ b/test/cap_closestPoint.cc @@ -12,7 +12,7 @@ int main (int argc, char* argv[]) { #else (void) argc, (void) argv; #endif - pcu::PCU* PCUObj = new pcu::PCU(MPI_COMM_WORLD); + pcu::PCU* PCUObj = new pcu::PCU; lion_set_verbosity(1); gmi_register_cap(); diff --git a/test/cap_inClosureOf.cc b/test/cap_inClosureOf.cc index 288b17407..6d1e24817 100644 --- a/test/cap_inClosureOf.cc +++ b/test/cap_inClosureOf.cc @@ -12,7 +12,7 @@ int main (int argc, char* argv[]) { #else (void) argc, (void) argv; #endif - pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); + pcu::PCU *PCUObj = new pcu::PCU; lion_set_verbosity(1); gmi_register_cap(); From 615663d4081c096c18eafe05c48a27c51b669985 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 17:23:12 -0500 Subject: [PATCH 39/66] rename and deprecate GetMPIComm and SwitchMPIComm - pcu/PCU.h: add PCU::GetComm and PCU::SwitchComm and deprecate old versions PCU::GetMPIComm and PCU::SwitchMPIComm. - pcu/PCU.cc: move definitions to new names and old MPI names call new PCU ones. - pcu/pcu_c.cc: use new GetComm and SwitchComm. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 6 +++++- pcu/PCU.h | 7 +++++++ pcu/pcu_c.cc | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 1b916ad81..caa98f50f 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -258,11 +258,15 @@ PCU &PCU::operator=(PCU && other) noexcept { std::swap(msg_, other.msg_); return *this; } -PCU_Comm PCU::GetMPIComm() const noexcept { return mpi_->original_comm; } +PCU_Comm PCU::GetMPIComm() const noexcept { return GetComm(); } +PCU_Comm PCU::GetComm() const noexcept { return mpi_->original_comm; } bool PCU::OwnsComm() const noexcept { return mpi_->owned; } void PCU::OwnsComm(bool on) const noexcept { mpi_->owned = on ? 1 : 0; } PCU_Comm PCU::SwitchMPIComm(PCU_Comm newcomm) noexcept { + return SwitchComm(newcomm); +} +PCU_Comm PCU::SwitchComm(PCU_Comm newcomm) noexcept { if(newcomm == mpi_->original_comm) { return mpi_->original_comm; } diff --git a/pcu/PCU.h b/pcu/PCU.h index 966a5f9cd..95ef0d825 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -26,7 +26,12 @@ class PCU { * @return The number of ranks in the communicator. */ [[nodiscard]] int Peers() const noexcept; + [[deprecated("Use PCU::GetComm instead.")]] [[nodiscard]] PCU_Comm GetMPIComm() const noexcept; + /** + * @brief Get the underlying communicator which may be an MPI_Comm. + */ + [[nodiscard]] PCU_Comm GetComm() const noexcept; /** @brief Check if the original PCU_Comm is owned by this object. * If true, it will be freed during destruction. */ bool OwnsComm() const noexcept; @@ -110,7 +115,9 @@ class PCU { /* Debug functions */ void DebugOpen() noexcept; + [[deprecated("Use PCU::SwitchComm instead.")]] PCU_Comm SwitchMPIComm(PCU_Comm) noexcept; + PCU_Comm SwitchComm(PCU_Comm) noexcept; private: pcu_msg_struct *msg_; diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 627b525f9..34b0d3733 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -478,7 +478,7 @@ void *PCU_Comm_Extract(PCU_t h, size_t size) { void PCU_Switch_Comm(PCU_t h, PCU_Comm new_comm) { if (h.ptr == nullptr) reel_fail("Switch_Comm called before Comm_Init"); - static_cast(h.ptr)->SwitchMPIComm(new_comm); + static_cast(h.ptr)->SwitchComm(new_comm); } /** \brief Return the current MPI communicator @@ -489,7 +489,7 @@ void PCU_Switch_Comm(PCU_t h, PCU_Comm new_comm) { PCU_Comm PCU_Get_Comm(PCU_t h) { if (h.ptr == nullptr) reel_fail("Get_Comm called before Comm_Init"); - return static_cast(h.ptr)->GetMPIComm(); + return static_cast(h.ptr)->GetComm(); } /** \brief Return the time in seconds since some time in the past From 153f19bc8a3de7108ffbec6e1fdde2b8fb840d61 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 17:25:23 -0500 Subject: [PATCH 40/66] Revert "update example/mpi-nompi print order" This reverts commit 54dc9ceb11c748c22127ce27b0c0de2f6b31fcaa. --- example/mpi-nompi/hello.cc | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index d49d3c900..990e7073e 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -1,6 +1,4 @@ -#include #include -#include #include #include @@ -25,8 +23,6 @@ int main(int argc, char** argv) { if (rank == i) std::cout << "Hello from MPI rank: " << rank << "; PCU rank: " << PCUObj->Self() << std::endl; - // Print deterministically please and thank you. - std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } // Test SCOREC functions. @@ -42,8 +38,6 @@ int main(int argc, char** argv) { if (rank == i) std::cout << "MPI(" << rank << ") sum: " << sum << "; PCU sum: " << psum << std::endl; - // Print deterministically please and thank you. - std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } // Test Allgather @@ -59,8 +53,6 @@ int main(int argc, char** argv) { print_array(pvals1, PCUObj->Peers()); std::cout << std::endl; } - // Print deterministically please and thank you. - std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } delete vals1; @@ -77,8 +69,6 @@ int main(int argc, char** argv) { print_array(pvals2, 2 * PCUObj->Peers()); std::cout << std::endl; } - // Print deterministically please and thank you. - std::this_thread::sleep_for(std::chrono::milliseconds(5)); MPI_Barrier(MPI_COMM_WORLD); } delete vals2; From 21005605ceca4fd5fdf9f877e18c63bfc1b4eb25 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 19 Feb 2025 23:14:20 -0500 Subject: [PATCH 41/66] add example test file for CTest - example/mpi-nompi/test_coll.cc: add new executable to run the same tests as hello world but with assertions. - example/mpi-nompi/CMakeLists.txt: use new test_coll which allows the removal of regexes and no temporal non-determinism. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/CMakeLists.txt | 45 +++-------------------- example/mpi-nompi/test_coll.cc | 62 ++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 40 deletions(-) create mode 100644 example/mpi-nompi/test_coll.cc diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt index 67107dbf7..15cc2582d 100644 --- a/example/mpi-nompi/CMakeLists.txt +++ b/example/mpi-nompi/CMakeLists.txt @@ -14,46 +14,11 @@ endif() add_executable(hello hello.cc) target_link_libraries(hello PRIVATE SCOREC::core) +add_executable(test_coll test_coll.cc) +target_link_libraries(test_coll PRIVATE SCOREC::core) enable_testing() -add_test(NAME hello1 COMMAND mpirun -np 1 $) -set_property(TEST hello1 PROPERTY PASS_REGULAR_EXPRESSION - "MPI size: 1\; PCU size: 1 -Hello from MPI rank: 0\; PCU rank: 0 -MPI\\(0\\) sum: 1\; PCU sum: 1 -MPI\\(0\\) gather: \\[1\\]\; PCU gather: \\[1\\] -MPI\\(0\\) gather2: \\[1, -1\\]\; PCU gather2: \\[1, -1\\]" -) -add_test(NAME hello2 COMMAND mpirun -np 2 $) -set_property(TEST hello2 PROPERTY PASS_REGULAR_EXPRESSION - "MPI size: 2\; PCU size: 1 -Hello from MPI rank: 0\; PCU rank: 0 -Hello from MPI rank: 1\; PCU rank: 0 -MPI\\(0\\) sum: 3\; PCU sum: 1 -MPI\\(1\\) sum: 3\; PCU sum: 2 -MPI\\(0\\) gather: \\[1, 2\\]\; PCU gather: \\[1\\] -MPI\\(1\\) gather: \\[1, 2\\]\; PCU gather: \\[2\\] -MPI\\(0\\) gather2: \\[1, -1, 2, -2\\]\; PCU gather2: \\[1, -1\\] -MPI\\(1\\) gather2: \\[1, -1, 2, -2\\]\; PCU gather2: \\[2, -2\\]" -) -add_test(NAME hello4 COMMAND mpirun -np 4 $) -set_property(TEST hello4 PROPERTY PASS_REGULAR_EXPRESSION - "MPI size: 4\; PCU size: 1 -Hello from MPI rank: 0\; PCU rank: 0 -Hello from MPI rank: 1\; PCU rank: 0 -Hello from MPI rank: 2\; PCU rank: 0 -Hello from MPI rank: 3\; PCU rank: 0 -MPI\\(0\\) sum: 10\; PCU sum: 1 -MPI\\(1\\) sum: 10\; PCU sum: 2 -MPI\\(2\\) sum: 10\; PCU sum: 3 -MPI\\(3\\) sum: 10\; PCU sum: 4 -MPI\\(0\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[1\\] -MPI\\(1\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[2\\] -MPI\\(2\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[3\\] -MPI\\(3\\) gather: \\[1, 2, 3, 4\\]\; PCU gather: \\[4\\] -MPI\\(0\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[1, -1\\] -MPI\\(1\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[2, -2\\] -MPI\\(2\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[3, -3\\] -MPI\\(3\\) gather2: \\[1, -1, 2, -2, 3, -3, 4, -4\\]\; PCU gather2: \\[4, -4\\]" -) +add_test(NAME coll1 COMMAND mpirun -np 1 $) +add_test(NAME coll2 COMMAND mpirun -np 2 $) +add_test(NAME coll4 COMMAND mpirun -np 4 $) diff --git a/example/mpi-nompi/test_coll.cc b/example/mpi-nompi/test_coll.cc new file mode 100644 index 000000000..30b517de0 --- /dev/null +++ b/example/mpi-nompi/test_coll.cc @@ -0,0 +1,62 @@ +#include + +#include +#include +#include + +int main(int argc, char** argv) { + MPI_Init(&argc, &argv); + pcu::PCU *PCUObj = new pcu::PCU; + // Print rank info. + int rank, size; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &size); + if (rank == 0) + std::cout << "MPI size: " << size << "; PCU size: " << + PCUObj->Peers() << std::endl; + #ifdef SCOREC_NO_MPI + PCU_ALWAYS_ASSERT(PCUObj->Self() == 0); + PCU_ALWAYS_ASSERT(PCUObj->Peers() == 1); + #else + PCU_ALWAYS_ASSERT(PCUObj->Self() == rank); + PCU_ALWAYS_ASSERT(PCUObj->Peers() == size); + #endif + // MPI Allreduce + int val = rank + 1, sum; + MPI_Allreduce(&val, &sum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); + int pval = PCUObj->Self() + 1, psum; + psum = PCUObj->Add(pval); + for (int i = 0; i < size; ++i) { + PCU_ALWAYS_ASSERT(sum == (size * (size + 1)) / 2); + PCU_ALWAYS_ASSERT(psum == (PCUObj->Peers() * (PCUObj->Peers() + 1)) / 2); + } + // Test Allgather + int *vals1 = new int[size]; + MPI_Allgather(&val, 1, MPI_INT, vals1, 1, MPI_INT, MPI_COMM_WORLD); + int *pvals1 = new int[PCUObj->Peers()]; + PCUObj->Allgather(&pval, pvals1, 1); + for (int i = 0; i < size; ++i) + PCU_ALWAYS_ASSERT(vals1[i] == i + 1); + for (int i = 0; i < PCUObj->Peers(); ++i) + PCU_ALWAYS_ASSERT(pvals1[i] == i + 1); + delete vals1; + delete pvals1; + int val2[2] = {val, -val}, *vals2 = new int[2 * size]; + MPI_Allgather(val2, 2, MPI_INT, vals2, 2, MPI_INT, MPI_COMM_WORLD); + int pval2[2] = {pval, -pval}, *pvals2 = new int[2 * PCUObj->Peers()]; + PCUObj->Allgather(pval2, pvals2, 2); + for (int i = 0; i < size; ++i) { + PCU_ALWAYS_ASSERT(vals2[i * 2] == i + 1); + PCU_ALWAYS_ASSERT(vals2[i * 2 + 1] == -(i + 1)); + } + for (int i = 0; i < PCUObj->Peers(); ++i) { + PCU_ALWAYS_ASSERT(pvals2[i * 2] == i + 1); + PCU_ALWAYS_ASSERT(pvals2[i * 2 + 1] == -(i + 1)); + } + delete vals2; + delete pvals2; + delete PCUObj; + MPI_Finalize(); + return 0; +} + From e4baca18b6e08ef889b66ab22645edf682a4437d Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 20 Feb 2025 10:19:44 -0500 Subject: [PATCH 42/66] install headers to GNUInstallDirs variable Signed-off-by: Aiden Woodruff --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad904bca1..2b1f0ebc7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,7 +139,7 @@ endif() macro(scorec_export_library target) bob_export_target(${target}) -install(FILES ${HEADERS} DESTINATION include) +install(FILES ${HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") target_include_directories(${target} INTERFACE "$" ) From b0f5bf12e76968623e4eb637509130a3b6595db7 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 20 Feb 2025 10:31:36 -0500 Subject: [PATCH 43/66] use std::vector in example - example/mpi-nompi/hello.cc: use std::vector instead of new/delete. - replace print_array with print_vector. - example/mpi-nompi/test_coll.cc: use std::vector instead of new/delete. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/hello.cc | 40 +++++++++++++++++----------------- example/mpi-nompi/test_coll.cc | 23 ++++++++++--------- 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index 990e7073e..8714f0177 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -1,4 +1,5 @@ #include +#include #include #include @@ -7,7 +8,8 @@ #include #include -void print_array(int *arr, size_t n); +template +void print_vector(const std::vector &v); int main(int argc, char** argv) { MPI_Init(&argc, &argv); @@ -41,48 +43,46 @@ int main(int argc, char** argv) { MPI_Barrier(MPI_COMM_WORLD); } // Test Allgather - int *vals1 = new int[size]; - MPI_Allgather(&val, 1, MPI_INT, vals1, 1, MPI_INT, MPI_COMM_WORLD); - int *pvals1 = new int[PCUObj->Peers()]; - PCUObj->Allgather(&val, pvals1, 1); + std::vector vals1(size); + MPI_Allgather(&val, 1, MPI_INT, vals1.data(), 1, MPI_INT, MPI_COMM_WORLD); + std::vector pvals1(PCUObj->Peers()); + PCUObj->Allgather(&val, pvals1.data(), 1); for (int i = 0; i < size; ++i) { if (rank == i) { std::cout << "MPI(" << rank << ") gather: "; - print_array(vals1, size); + print_vector(vals1); std::cout << "; PCU gather: "; - print_array(pvals1, PCUObj->Peers()); + print_vector(pvals1); std::cout << std::endl; } MPI_Barrier(MPI_COMM_WORLD); } - delete vals1; - delete pvals1; - int val2[2] = {val, -val}, *vals2 = new int[2 * size]; - MPI_Allgather(val2, 2, MPI_INT, vals2, 2, MPI_INT, MPI_COMM_WORLD); - int *pvals2 = new int[2 * PCUObj->Peers()]; - PCUObj->Allgather(val2, pvals2, 2); + int val2[2] = {val, -val}; + std::vector vals2(2 * size); + MPI_Allgather(val2, 2, MPI_INT, vals2.data(), 2, MPI_INT, MPI_COMM_WORLD); + std::vector pvals2(2 * PCUObj->Peers()); + PCUObj->Allgather(val2, pvals2.data(), 2); for (int i = 0; i < size; ++i) { if (rank == i) { std::cout << "MPI(" << rank << ") gather2: "; - print_array(vals2, 2 * size); + print_vector(vals2); std::cout << "; PCU gather2: "; - print_array(pvals2, 2 * PCUObj->Peers()); + print_vector(pvals2); std::cout << std::endl; } MPI_Barrier(MPI_COMM_WORLD); } - delete vals2; - delete pvals2; delete PCUObj; MPI_Finalize(); return 0; } -void print_array(int *arr, size_t n) { +template +void print_vector(const std::vector& v) { std::cout << "["; - for (int i = 0; i < n; ++i) { + for (int i = 0; i < v.size(); ++i) { if (i != 0) std::cout << ", "; - std::cout << arr[i]; + std::cout << v[i]; } std::cout << "]"; } diff --git a/example/mpi-nompi/test_coll.cc b/example/mpi-nompi/test_coll.cc index 30b517de0..cfab1816d 100644 --- a/example/mpi-nompi/test_coll.cc +++ b/example/mpi-nompi/test_coll.cc @@ -1,4 +1,5 @@ #include +#include #include #include @@ -31,20 +32,20 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(psum == (PCUObj->Peers() * (PCUObj->Peers() + 1)) / 2); } // Test Allgather - int *vals1 = new int[size]; - MPI_Allgather(&val, 1, MPI_INT, vals1, 1, MPI_INT, MPI_COMM_WORLD); - int *pvals1 = new int[PCUObj->Peers()]; - PCUObj->Allgather(&pval, pvals1, 1); + std::vector vals1(size); + MPI_Allgather(&val, 1, MPI_INT, vals1.data(), 1, MPI_INT, MPI_COMM_WORLD); + std::vector pvals1(PCUObj->Peers()); + PCUObj->Allgather(&pval, pvals1.data(), 1); for (int i = 0; i < size; ++i) PCU_ALWAYS_ASSERT(vals1[i] == i + 1); for (int i = 0; i < PCUObj->Peers(); ++i) PCU_ALWAYS_ASSERT(pvals1[i] == i + 1); - delete vals1; - delete pvals1; - int val2[2] = {val, -val}, *vals2 = new int[2 * size]; - MPI_Allgather(val2, 2, MPI_INT, vals2, 2, MPI_INT, MPI_COMM_WORLD); - int pval2[2] = {pval, -pval}, *pvals2 = new int[2 * PCUObj->Peers()]; - PCUObj->Allgather(pval2, pvals2, 2); + int val2[2] = {val, -val}; + std::vector vals2(2 * size); + MPI_Allgather(val2, 2, MPI_INT, vals2.data(), 2, MPI_INT, MPI_COMM_WORLD); + int pval2[2] = {pval, -pval}; + std::vector pvals2(2 * PCUObj->Peers()); + PCUObj->Allgather(pval2, pvals2.data(), 2); for (int i = 0; i < size; ++i) { PCU_ALWAYS_ASSERT(vals2[i * 2] == i + 1); PCU_ALWAYS_ASSERT(vals2[i * 2 + 1] == -(i + 1)); @@ -53,8 +54,6 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(pvals2[i * 2] == i + 1); PCU_ALWAYS_ASSERT(pvals2[i * 2 + 1] == -(i + 1)); } - delete vals2; - delete pvals2; delete PCUObj; MPI_Finalize(); return 0; From 437da6845c0d3c7bdc747fa10490ab547f0219a5 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 20 Feb 2025 10:49:01 -0500 Subject: [PATCH 44/66] add nodiscard to PCU::SwitchMPIComm and PCU::SwitchComm Signed-off-by: Aiden Woodruff --- pcu/PCU.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pcu/PCU.h b/pcu/PCU.h index 95ef0d825..c30365052 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -116,7 +116,14 @@ class PCU { void DebugOpen() noexcept; [[deprecated("Use PCU::SwitchComm instead.")]] +#if __cplusplus >= 201703L + [[nodiscard]] +#endif PCU_Comm SwitchMPIComm(PCU_Comm) noexcept; + +#if __cplusplus >= 201703L + [[nodiscard]] +#endif PCU_Comm SwitchComm(PCU_Comm) noexcept; private: From d6576a96603bbf43e6d1ce6188998961e75aec17 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 24 Feb 2025 10:11:10 -0500 Subject: [PATCH 45/66] Revert "remove MPI_Init replacement macro from PCU.h" This reverts commit d150eb62e84c51cd554d5f6c33d93adbd19ba104. --- phasta/adaptLvlSet_loop.cc | 6 ------ phasta/chef.cc | 6 ------ phasta/chefStream.cc | 6 ------ phasta/condense.cc | 8 -------- phasta/cut_interface.cc | 6 ------ phasta/migrate_interface.cc | 8 -------- phasta/ph_convert.cc | 6 ------ phasta/readUrPrep.cc | 6 ------ phasta/threshold.cc | 6 ------ test/1d.cc | 6 ------ test/H1Shapes.cc | 6 ------ test/L2Shapes.cc | 6 ------ test/align.cc | 4 ---- test/aniso_ma_test.cc | 6 ------ test/ansys.cc | 8 -------- test/assert_timing.cc | 6 ------ test/balance.cc | 6 ------ test/bezierElevation.cc | 6 ------ test/bezierMesh.cc | 6 ------ test/bezierMisc.cc | 6 ------ test/bezierRefine.cc | 6 ------ test/bezierShapeEval.cc | 8 -------- test/bezierSubdivision.cc | 6 ------ test/bezierValidity.cc | 6 ------ test/box.cc | 8 -------- test/cap2vtk.cc | 6 ------ test/capCheckParam.cc | 6 ------ test/capGeomTest.cc | 6 ------ test/capVol.cc | 8 -------- test/cap_closestPoint.cc | 6 ------ test/cap_inClosureOf.cc | 6 ------ test/cgns.cc | 12 ------------ test/classifyThenAdapt.cc | 6 ------ test/collapse.cc | 8 -------- test/construct.cc | 6 ------ test/constructThenGhost.cc | 6 ------ test/construct_bottom_up.cc | 6 ------ test/convert.cc | 6 ------ test/crack_test.cc | 8 -------- test/create_mis.cc | 8 -------- test/curve_to_bezier.cc | 10 ---------- test/curvetest.cc | 6 ------ test/degenerateSurfs.cc | 8 -------- test/describe.cc | 6 ------ test/dg_ma_test.cc | 6 ------ test/elmBalance.cc | 8 -------- test/embedded_edges.cc | 6 ------ test/extrude.cc | 8 -------- test/fieldReduce.cc | 8 -------- test/field_io.cc | 6 ------ test/fixDisconnected.cc | 8 -------- test/fixlayer.cc | 6 ------ test/fixshape.cc | 6 ------ test/fusion.cc | 6 ------ test/fusion2.cc | 6 ------ test/fusion3.cc | 6 ------ test/gap.cc | 8 -------- test/generate.cc | 8 -------- test/ghost.cc | 8 -------- test/ghostEdge.cc | 6 ------ test/ghostMPAS.cc | 6 ------ test/gmsh.cc | 8 -------- test/graphdist.cc | 8 -------- test/hierarchic.cc | 6 ------ test/highOrderSizeFields.cc | 6 ------ test/highOrderSolutionTransfer.cc | 6 ------ test/icesheet.cc | 6 ------ test/inClosureOf_test.cc | 6 ------ test/intrude.cc | 8 -------- test/loadPart.cc | 8 -------- test/ma_insphere.cc | 6 ------ test/ma_test.cc | 6 ------ test/ma_test_analytic_model.cc | 6 ------ test/makeAllCavities.cc | 12 ------------ test/matchedNodeElmReader.cc | 6 ------ test/measureAnisoStats.cc | 8 -------- test/measureIsoStats.cc | 8 -------- test/mixedNumbering.cc | 6 ------ test/mkmodel.cc | 8 -------- test/mktopomodel.cc | 8 -------- test/modelInfo.cc | 8 -------- test/moving.cc | 6 ------ test/nedelecShapes.cc | 6 ------ test/nektar_align.cc | 6 ------ test/neper.cc | 8 -------- test/newdim.cc | 6 ------ test/osh2smb.cc | 8 -------- test/ph_adapt.cc | 6 ------ test/poisson.cc | 6 ------ test/print_pumipic_partition.cc | 10 ---------- test/ptnParma.cc | 8 -------- test/pumi.cc | 8 -------- test/pumiLoadMesh.cc | 6 ------ test/quality.cc | 8 -------- test/refine2x.cc | 6 ------ test/render.cc | 8 -------- test/renderClass.cc | 8 -------- test/render_ascii.cc | 8 -------- test/reorder.cc | 8 -------- test/repartition.cc | 8 -------- test/reposition.cc | 6 ------ test/residualErrorEstimation_test.cc | 6 ------ test/rm_extrusion.cc | 6 ------ test/runSimxAnisoAdapt.cc | 8 -------- test/scale.cc | 8 -------- test/serialize.cc | 8 -------- test/shapefun.cc | 6 ------ test/shapefun2.cc | 6 ------ test/simZBalance.cc | 6 ------ test/sim_countBL.cc | 6 ------ test/sim_part.cc | 6 ------ test/smb2osh.cc | 8 -------- test/snap.cc | 6 ------ test/split.cc | 8 -------- test/spr_test.cc | 6 ------ test/swapDoubles.cc | 6 ------ test/test_integrator.cc | 6 ------ test/test_matrix_grad.cc | 6 ------ test/test_scaling.cc | 6 ------ test/test_verify.cc | 6 ------ test/tetrahedronize.cc | 6 ------ test/torus_ma_test.cc | 6 ------ test/ugrid.cc | 8 -------- test/ugridptnstats.cc | 6 ------ test/uniform.cc | 8 -------- test/verify.cc | 6 ------ test/verify_2nd_order_shapes.cc | 8 -------- test/verify_convert.cc | 6 ------ test/visualizeAnisoSizes.cc | 8 -------- test/viz.cc | 2 -- test/vtxBalance.cc | 8 -------- test/vtxEdgeElmBalance.cc | 8 -------- test/vtxElmBalance.cc | 8 -------- test/vtxElmMixedBalance.cc | 6 ------ test/writeIPFieldTest.cc | 6 ------ test/writePart.cc | 8 -------- test/writeVtxPtn.cc | 8 -------- test/xgc_split.cc | 8 -------- test/zbalance.cc | 8 -------- test/zsplit.cc | 8 -------- 140 files changed, 960 deletions(-) diff --git a/phasta/adaptLvlSet_loop.cc b/phasta/adaptLvlSet_loop.cc index 93e2d1f32..655a19ca4 100644 --- a/phasta/adaptLvlSet_loop.cc +++ b/phasta/adaptLvlSet_loop.cc @@ -36,11 +36,7 @@ namespace { } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pcu::Protect(); @@ -75,7 +71,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/chef.cc b/phasta/chef.cc index dbc7fe5c8..7a10df16e 100644 --- a/phasta/chef.cc +++ b/phasta/chef.cc @@ -29,11 +29,7 @@ namespace { /** @brief run the operations requested in "adapt.inp" */ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pcu::Protect(); @@ -73,8 +69,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/chefStream.cc b/phasta/chefStream.cc index ed3c1b51b..f373b2073 100644 --- a/phasta/chefStream.cc +++ b/phasta/chefStream.cc @@ -32,11 +32,7 @@ namespace { } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pcu::Protect(); @@ -64,7 +60,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/condense.cc b/phasta/condense.cc index af43273b4..05e9e57d5 100644 --- a/phasta/condense.cc +++ b/phasta/condense.cc @@ -30,9 +30,7 @@ namespace { if ( argc != 3 ) { if ( !pcu_obj->Self() ) lion_oprint(1,"Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } if ( !pcu_obj->Self() ) @@ -41,11 +39,7 @@ namespace { } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; pcu::Protect(); @@ -71,7 +65,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/cut_interface.cc b/phasta/cut_interface.cc index dcfee2c6c..bf4a9e131 100644 --- a/phasta/cut_interface.cc +++ b/phasta/cut_interface.cc @@ -22,11 +22,7 @@ char const* outfile; int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif lion_set_verbosity(1); if (argc < 4 || argc > 5) { lion_eprint(1,"Usage: %s \n", argv[0]); @@ -86,7 +82,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/migrate_interface.cc b/phasta/migrate_interface.cc index e228b659d..e45bc3d67 100644 --- a/phasta/migrate_interface.cc +++ b/phasta/migrate_interface.cc @@ -38,9 +38,7 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) lion_eprint(1," to take model and attributes in separate files\n"); lion_eprint(1,"Usage: %s \n", argv[0]); lion_eprint(1," to take combined model and attributes file (by simTranslate)\n");} -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } if (argc == 5) { @@ -58,11 +56,7 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -96,7 +90,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/ph_convert.cc b/phasta/ph_convert.cc index b4ead341d..880d5d7c9 100644 --- a/phasta/ph_convert.cc +++ b/phasta/ph_convert.cc @@ -213,11 +213,7 @@ static void postConvert(apf::Mesh2* m) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); MS_init(); @@ -294,7 +290,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/readUrPrep.cc b/phasta/readUrPrep.cc index e2b424bd8..b2da64a04 100644 --- a/phasta/readUrPrep.cc +++ b/phasta/readUrPrep.cc @@ -17,11 +17,7 @@ namespace { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; pcu::Protect(); @@ -36,8 +32,6 @@ int main(int argc, char** argv) chef::preprocess(m,ctrl); freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/phasta/threshold.cc b/phasta/threshold.cc index 61fa87f49..f5ba92e47 100644 --- a/phasta/threshold.cc +++ b/phasta/threshold.cc @@ -18,11 +18,7 @@ static double process_element(apf::Vector3 x[4], double sol[4][9]) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; #ifdef HAVE_SIMMETRIX @@ -63,7 +59,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/1d.cc b/test/1d.cc index 9fbdccc43..f166d2ed4 100644 --- a/test/1d.cc +++ b/test/1d.cc @@ -64,11 +64,7 @@ int main(int argc, char** argv) * 2 - model output name * 3 = mesh output name **/ PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -84,7 +80,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/H1Shapes.cc b/test/H1Shapes.cc index d439cd108..444c778c7 100644 --- a/test/H1Shapes.cc +++ b/test/H1Shapes.cc @@ -27,11 +27,7 @@ void testH1( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; @@ -77,9 +73,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/L2Shapes.cc b/test/L2Shapes.cc index 71028088e..c525fbf52 100644 --- a/test/L2Shapes.cc +++ b/test/L2Shapes.cc @@ -30,11 +30,7 @@ void testL2writeNative( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; @@ -66,9 +62,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/align.cc b/test/align.cc index 66b6bc030..9316d81a3 100644 --- a/test/align.cc +++ b/test/align.cc @@ -89,9 +89,7 @@ void testTetTri(pcu::PCU *PCUObj) } int main() { -#ifndef SCOREC_NO_MPI MPI_Init(0,0); -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -100,7 +98,5 @@ int main() testTetEdge(&pcu_obj); testTetTri(&pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/aniso_ma_test.cc b/test/aniso_ma_test.cc index 69a7a37bf..894dad87b 100644 --- a/test/aniso_ma_test.cc +++ b/test/aniso_ma_test.cc @@ -44,11 +44,7 @@ int main(int argc, char** argv) const char* modelFile = argv[1]; const char* meshFile = argv[2]; bool logInterpolation = atoi(argv[3]) > 0 ? true : false; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -72,8 +68,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ansys.cc b/test/ansys.cc index 37c233a1d..e35de7fa6 100644 --- a/test/ansys.cc +++ b/test/ansys.cc @@ -7,20 +7,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -31,9 +25,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/assert_timing.cc b/test/assert_timing.cc index 3e166f4d8..3baaa2a00 100644 --- a/test/assert_timing.cc +++ b/test/assert_timing.cc @@ -29,11 +29,7 @@ double check_pcu_assert() { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 2); int opt = atoi(argv[1]); -#ifndef SCOREC_NO_MPI MPI_Init(0,0); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -47,8 +43,6 @@ int main(int argc, char** argv) { for (int i = 0; i < 5; ++i) printf("pcu assert in %f seconds\n", check_pcu_assert()); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/balance.cc b/test/balance.cc index 7282917b3..d2a90cc5b 100644 --- a/test/balance.cc +++ b/test/balance.cc @@ -9,11 +9,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -32,7 +28,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/bezierElevation.cc b/test/bezierElevation.cc index 08844f978..6f91adfb0 100644 --- a/test/bezierElevation.cc +++ b/test/bezierElevation.cc @@ -397,11 +397,7 @@ void testTetElevation(pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -409,7 +405,5 @@ int main(int argc, char** argv) testTriElevation(&pcu_obj); testTetElevation(&pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/bezierMesh.cc b/test/bezierMesh.cc index dc5c3617c..01a026240 100644 --- a/test/bezierMesh.cc +++ b/test/bezierMesh.cc @@ -583,11 +583,7 @@ void test3DFull(pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -595,7 +591,5 @@ int main(int argc, char** argv) test3DBlended(&pcu_obj); test3DFull(&pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/bezierMisc.cc b/test/bezierMisc.cc index 459b2a402..6f4799a78 100644 --- a/test/bezierMisc.cc +++ b/test/bezierMisc.cc @@ -165,19 +165,13 @@ void testMatrixInverse(){ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); testNodeIndexing(); testMatrixInverse(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/bezierRefine.cc b/test/bezierRefine.cc index 5e43d521a..d18edb851 100644 --- a/test/bezierRefine.cc +++ b/test/bezierRefine.cc @@ -309,18 +309,12 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/bezierShapeEval.cc b/test/bezierShapeEval.cc index f0567b578..b5dad36a4 100644 --- a/test/bezierShapeEval.cc +++ b/test/bezierShapeEval.cc @@ -25,11 +25,7 @@ static apf::Mesh2* makeOneTetMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PC int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -41,9 +37,7 @@ int main(int argc, char** argv) printf(" can be -1, 0, 1, 2 (-1 means no blending)\n"); printf(" inquiry point in the parent entity)\n"); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -87,9 +81,7 @@ int main(int argc, char** argv) } } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } static apf::Mesh2* makeOneTriMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PCUObj) diff --git a/test/bezierSubdivision.cc b/test/bezierSubdivision.cc index ea8f70f69..8a33b6f69 100644 --- a/test/bezierSubdivision.cc +++ b/test/bezierSubdivision.cc @@ -480,11 +480,7 @@ void testTetSubdivision1(pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -493,7 +489,5 @@ int main(int argc, char** argv) testTriSubdivision4(&pcu_obj); testTetSubdivision1(&pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/bezierValidity.cc b/test/bezierValidity.cc index 821ea008d..7e24d73fa 100644 --- a/test/bezierValidity.cc +++ b/test/bezierValidity.cc @@ -405,18 +405,12 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/box.cc b/test/box.cc index 23bc30405..bc61617c5 100644 --- a/test/box.cc +++ b/test/box.cc @@ -36,9 +36,7 @@ void verifyArgs(int argc, char** argv, pcu::PCU *PCUObj) printf(" is simplical mesh\n"); printf(" .dmg model file name\n"); printf(" .smb mesh file name\n"); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } } @@ -61,11 +59,7 @@ void getArgs(char** argv) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -85,7 +79,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/cap2vtk.cc b/test/cap2vtk.cc index 5dd63da1e..09160ebcc 100644 --- a/test/cap2vtk.cc +++ b/test/cap2vtk.cc @@ -40,11 +40,7 @@ using namespace CreateMG::Geometry; int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; @@ -143,7 +139,5 @@ int main(int argc, char** argv) gmi_cap_stop(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/capCheckParam.cc b/test/capCheckParam.cc index 9a5edc1c3..4959ca315 100644 --- a/test/capCheckParam.cc +++ b/test/capCheckParam.cc @@ -27,11 +27,7 @@ void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif pcu::PCU *PCUobj = new pcu::PCU; if (argc != 2) { @@ -116,9 +112,7 @@ int main(int argc, char** argv) checkParametrization(m, g); delete PCUobj; -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* gdb) diff --git a/test/capGeomTest.cc b/test/capGeomTest.cc index 0f4f83258..1d3bc6280 100644 --- a/test/capGeomTest.cc +++ b/test/capGeomTest.cc @@ -48,11 +48,7 @@ void visualizeEdges(gmi_model* model, int n, const char* fileName, pcu::PCU *PCU int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif pcu::PCU *PCUObj = new pcu::PCU; gmi_register_mesh(); @@ -169,9 +165,7 @@ int main(int argc, char** argv) gmi_cap_stop(); delete PCUObj; -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void printInfo(gmi_model* model, int dim) diff --git a/test/capVol.cc b/test/capVol.cc index e3c2a8320..13ad13826 100644 --- a/test/capVol.cc +++ b/test/capVol.cc @@ -30,9 +30,7 @@ namespace { void myExit(int exit_code = EXIT_SUCCESS) { gmi_cap_stop(); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(exit_code); } @@ -77,11 +75,7 @@ void printUsage(char *argv0) { int main(int argc, char** argv) { // Initialize parallelism. -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; @@ -278,7 +272,5 @@ int main(int argc, char** argv) { // Exit calls. gmi_cap_stop(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } \ No newline at end of file diff --git a/test/cap_closestPoint.cc b/test/cap_closestPoint.cc index 64ec2c653..e0b7fdf78 100644 --- a/test/cap_closestPoint.cc +++ b/test/cap_closestPoint.cc @@ -7,11 +7,7 @@ #include int main (int argc, char* argv[]) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif pcu::PCU* PCUObj = new pcu::PCU; lion_set_verbosity(1); gmi_register_cap(); @@ -39,7 +35,5 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); delete PCUObj; -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/cap_inClosureOf.cc b/test/cap_inClosureOf.cc index 6d1e24817..5c0ffd817 100644 --- a/test/cap_inClosureOf.cc +++ b/test/cap_inClosureOf.cc @@ -7,11 +7,7 @@ #include int main (int argc, char* argv[]) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif pcu::PCU *PCUObj = new pcu::PCU; lion_set_verbosity(1); gmi_register_cap(); @@ -49,7 +45,5 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); delete PCUObj; -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/cgns.cc b/test/cgns.cc index 9ac5d287e..3aeb5ee52 100644 --- a/test/cgns.cc +++ b/test/cgns.cc @@ -478,11 +478,7 @@ std::string doit(apf::CGNSBCMap &cgnsBCMap, const std::string &argv1, const std: int main(int argc, char **argv) { #ifdef HAVE_CGNS -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -492,9 +488,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); return -1; } @@ -506,9 +500,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s additional\n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); return -1; } @@ -517,9 +509,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); return -1; } @@ -556,9 +546,7 @@ int main(int argc, char **argv) } // } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; #else PCU_ALWAYS_ASSERT_VERBOSE(true == false, diff --git a/test/classifyThenAdapt.cc b/test/classifyThenAdapt.cc index 9c025a36a..077b98185 100644 --- a/test/classifyThenAdapt.cc +++ b/test/classifyThenAdapt.cc @@ -125,11 +125,7 @@ void printClassCounts(apf::Mesh* m) { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -153,7 +149,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/collapse.cc b/test/collapse.cc index 851a04aab..88d992b7d 100644 --- a/test/collapse.cc +++ b/test/collapse.cc @@ -32,9 +32,7 @@ namespace { printf("Usage: mpirun -np %s \n" "Reduce the part count of mesh from inPartCount to inPartCount/factor.\n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -46,11 +44,7 @@ namespace { } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -73,7 +67,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/construct.cc b/test/construct.cc index 7dffc76fd..1e2d27c3e 100644 --- a/test/construct.cc +++ b/test/construct.cc @@ -10,11 +10,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -50,8 +46,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/constructThenGhost.cc b/test/constructThenGhost.cc index 75ac04ec8..e0a2c65fb 100644 --- a/test/constructThenGhost.cc +++ b/test/constructThenGhost.cc @@ -12,11 +12,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; pumi_load_pcu(&pcu_obj); @@ -97,7 +93,5 @@ int main(int argc, char** argv) pumi_geom_delete(g); pumi_mesh_delete(pm); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/construct_bottom_up.cc b/test/construct_bottom_up.cc index fddf99b49..64ce82fe2 100644 --- a/test/construct_bottom_up.cc +++ b/test/construct_bottom_up.cc @@ -137,11 +137,7 @@ const int tet_info[11][6] = { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -253,8 +249,6 @@ int main(int argc, char** argv) outMesh->destroyNative(); apf::destroyMesh(outMesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/convert.cc b/test/convert.cc index 798466e34..f0cfeed0c 100644 --- a/test/convert.cc +++ b/test/convert.cc @@ -433,11 +433,7 @@ void addFathersTag(pGModel simModel, pParMesh sim_mesh, apf::Mesh* simApfMesh, c int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -530,7 +526,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/crack_test.cc b/test/crack_test.cc index 431835042..ea18e9d8a 100644 --- a/test/crack_test.cc +++ b/test/crack_test.cc @@ -44,11 +44,7 @@ void bCurver(const char* modelFile, const char* meshFile, int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; @@ -56,9 +52,7 @@ int main(int argc, char** argv) if (PCUObj.Self() == 0) { printf("USAGE: %s \n", argv[0]); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } const char* modelFile = argv[1]; @@ -365,7 +359,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/create_mis.cc b/test/create_mis.cc index 8d2973bae..edccfa02e 100644 --- a/test/create_mis.cc +++ b/test/create_mis.cc @@ -9,20 +9,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -67,8 +61,6 @@ int main(int argc, char** argv) apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/curve_to_bezier.cc b/test/curve_to_bezier.cc index 950ef0863..e8aeeb8fb 100644 --- a/test/curve_to_bezier.cc +++ b/test/curve_to_bezier.cc @@ -14,11 +14,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -29,18 +25,14 @@ int main(int argc, char** argv) if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } int order = atoi(argv[3]); if(order < 1 || order > 6){ if ( !pcu_obj.Self() ) printf("Only 1st to 6th order supported\n"); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -63,7 +55,5 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/curvetest.cc b/test/curvetest.cc index 19fc50d62..755545829 100644 --- a/test/curvetest.cc +++ b/test/curvetest.cc @@ -190,11 +190,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -218,7 +214,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); SimModel_stop(); MS_exit(); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/degenerateSurfs.cc b/test/degenerateSurfs.cc index 5e0133fc6..a1366931c 100644 --- a/test/degenerateSurfs.cc +++ b/test/degenerateSurfs.cc @@ -23,9 +23,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -37,11 +35,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==5); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -78,8 +72,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/describe.cc b/test/describe.cc index f014dc4fb..11b95ca66 100644 --- a/test/describe.cc +++ b/test/describe.cc @@ -44,11 +44,7 @@ static void list_tags(apf::Mesh* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -75,7 +71,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/dg_ma_test.cc b/test/dg_ma_test.cc index 9cde74783..3241e9014 100644 --- a/test/dg_ma_test.cc +++ b/test/dg_ma_test.cc @@ -39,11 +39,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -81,8 +77,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/elmBalance.cc b/test/elmBalance.cc index dd70d3c77..6c3d5f973 100644 --- a/test/elmBalance.cc +++ b/test/elmBalance.cc @@ -27,20 +27,14 @@ apf::MeshTag* setWeights(apf::Mesh* m) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -74,7 +68,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/embedded_edges.cc b/test/embedded_edges.cc index e21b74260..0026dd72b 100644 --- a/test/embedded_edges.cc +++ b/test/embedded_edges.cc @@ -15,11 +15,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==2); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -57,8 +53,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/extrude.cc b/test/extrude.cc index 2190b9bd7..09486271e 100644 --- a/test/extrude.cc +++ b/test/extrude.cc @@ -9,20 +9,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -46,7 +40,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index 623857d05..f0c30c0e1 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -151,9 +151,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 3 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -166,11 +164,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif bool failflag = false; { pcu::PCU PCUObj; @@ -203,9 +197,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return failflag; diff --git a/test/field_io.cc b/test/field_io.cc index ca6e009fd..c866498ea 100644 --- a/test/field_io.cc +++ b/test/field_io.cc @@ -9,11 +9,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -51,7 +47,5 @@ int main(int argc, char** argv) apf::destroyMesh(m); } } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fixDisconnected.cc b/test/fixDisconnected.cc index 40b6bcd89..23982b5a5 100644 --- a/test/fixDisconnected.cc +++ b/test/fixDisconnected.cc @@ -10,20 +10,14 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -35,7 +29,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fixlayer.cc b/test/fixlayer.cc index e96eb5e38..f17495605 100644 --- a/test/fixlayer.cc +++ b/test/fixlayer.cc @@ -14,11 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -44,9 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fixshape.cc b/test/fixshape.cc index 5c297c706..2c24347a8 100644 --- a/test/fixshape.cc +++ b/test/fixshape.cc @@ -14,11 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -44,9 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fusion.cc b/test/fusion.cc index 8dfe9d3d6..b3d41070b 100644 --- a/test/fusion.cc +++ b/test/fusion.cc @@ -154,11 +154,7 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { PCU_ALWAYS_ASSERT(argc==2); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -175,7 +171,5 @@ int main( int argc, char* argv[]) code.mesh->destroyNative(); apf::destroyMesh(code.mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fusion2.cc b/test/fusion2.cc index 936e60584..6a427abea 100644 --- a/test/fusion2.cc +++ b/test/fusion2.cc @@ -137,11 +137,7 @@ static void globalCode(apf::Mesh2* m) int main( int argc, char* argv[]) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -154,7 +150,5 @@ int main( int argc, char* argv[]) Parma_SplitPartition(code.mesh, groupSize, code, &PCUObj); globalCode(code.mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/fusion3.cc b/test/fusion3.cc index ca013b38c..e79e0cad1 100644 --- a/test/fusion3.cc +++ b/test/fusion3.cc @@ -281,11 +281,7 @@ class Vortex : public ma::AnisotropicFunction int main(int argc, char * argv[]) { PCU_ALWAYS_ASSERT(argc==2); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -302,7 +298,5 @@ int main(int argc, char * argv[]) // to do apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/gap.cc b/test/gap.cc index d66e13aed..d7b437ccb 100644 --- a/test/gap.cc +++ b/test/gap.cc @@ -28,20 +28,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 5); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -75,7 +69,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/generate.cc b/test/generate.cc index 8d75747d7..32c28f091 100644 --- a/test/generate.cc +++ b/test/generate.cc @@ -66,9 +66,7 @@ void messageHandler(int type, const char* msg) case Sim_ErrorMsg: if(!globalPCU->Self()) fprintf(stdout, "Error SimModeler %s ... exiting\n", msg); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_SUCCESS); break; default: @@ -319,11 +317,7 @@ void simStop() { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; globalPCU = &PCUObj; @@ -365,7 +359,5 @@ int main(int argc, char** argv) simStop(); Sim_logOff(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ghost.cc b/test/ghost.cc index 11aa54f7a..de8c96f69 100644 --- a/test/ghost.cc +++ b/test/ghost.cc @@ -22,9 +22,7 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -78,11 +76,7 @@ namespace { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -95,7 +89,5 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ghostEdge.cc b/test/ghostEdge.cc index 2e18c7299..c78e399a5 100644 --- a/test/ghostEdge.cc +++ b/test/ghostEdge.cc @@ -49,11 +49,7 @@ namespace { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -64,7 +60,5 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ghostMPAS.cc b/test/ghostMPAS.cc index 1fa266f28..f8163c1e9 100644 --- a/test/ghostMPAS.cc +++ b/test/ghostMPAS.cc @@ -51,11 +51,7 @@ namespace { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -66,7 +62,5 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/gmsh.cc b/test/gmsh.cc index 3f4b6ea0b..7ffb9f27c 100644 --- a/test/gmsh.cc +++ b/test/gmsh.cc @@ -9,11 +9,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -27,9 +23,7 @@ int main(int argc, char** argv) "the mesh.\n" "When a **gmsh v4** .msh is passed in, a topological model will be created " "from the geometric model entities defined in the gmsh input file.\n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -61,8 +55,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/graphdist.cc b/test/graphdist.cc index 43dfbd0f0..3d9e96041 100644 --- a/test/graphdist.cc +++ b/test/graphdist.cc @@ -9,20 +9,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -38,7 +32,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/hierarchic.cc b/test/hierarchic.cc index 41104f3a7..a134f65fc 100644 --- a/test/hierarchic.cc +++ b/test/hierarchic.cc @@ -192,11 +192,7 @@ void test(apf::Mesh* m, int p_order) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -210,7 +206,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/highOrderSizeFields.cc b/test/highOrderSizeFields.cc index 69bcd8199..f52706308 100644 --- a/test/highOrderSizeFields.cc +++ b/test/highOrderSizeFields.cc @@ -35,11 +35,7 @@ void testAdapt( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -73,9 +69,7 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void computeSizesFrames( diff --git a/test/highOrderSolutionTransfer.cc b/test/highOrderSolutionTransfer.cc index 344f5bd8b..2ef357367 100644 --- a/test/highOrderSolutionTransfer.cc +++ b/test/highOrderSolutionTransfer.cc @@ -41,11 +41,7 @@ int main(int argc, char** argv) { const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -95,9 +91,7 @@ int main(int argc, char** argv) MS_exit(); SimModel_stop(); #endif -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/icesheet.cc b/test/icesheet.cc index 1b6a7ebf0..d50f014ab 100644 --- a/test/icesheet.cc +++ b/test/icesheet.cc @@ -481,11 +481,7 @@ int main(int argc, char** argv) return 0; } -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -529,7 +525,5 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/inClosureOf_test.cc b/test/inClosureOf_test.cc index 3a81d2f2d..1bdb541b6 100644 --- a/test/inClosureOf_test.cc +++ b/test/inClosureOf_test.cc @@ -18,11 +18,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==2); const char* modelFile = argv[1]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -98,8 +94,6 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/intrude.cc b/test/intrude.cc index be2fc7534..bc709d1eb 100644 --- a/test/intrude.cc +++ b/test/intrude.cc @@ -9,20 +9,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -48,7 +42,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/loadPart.cc b/test/loadPart.cc index 29c6f4a4d..3fa317c1f 100644 --- a/test/loadPart.cc +++ b/test/loadPart.cc @@ -10,11 +10,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -24,9 +20,7 @@ int main(int argc, char** argv) printf("Load a single part from a partitioned mesh and " "write it as a serial part.\n" "Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -39,9 +33,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ma_insphere.cc b/test/ma_insphere.cc index cf4e424be..cc8b970d8 100644 --- a/test/ma_insphere.cc +++ b/test/ma_insphere.cc @@ -7,11 +7,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif // Test determinant functions double input[4][4] = { @@ -62,7 +58,5 @@ int main(int argc, char** argv) apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ma_test.cc b/test/ma_test.cc index 11da61340..72fbc7bf5 100644 --- a/test/ma_test.cc +++ b/test/ma_test.cc @@ -43,11 +43,7 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* layerTagString = (argc==4) ? argv[3] : ""; const double adaptRefineFactor = (argc==5) ? atoi(argv[4]) : 3; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -85,8 +81,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ma_test_analytic_model.cc b/test/ma_test_analytic_model.cc index 9c1827d13..4e5695574 100644 --- a/test/ma_test_analytic_model.cc +++ b/test/ma_test_analytic_model.cc @@ -169,11 +169,7 @@ apf::Mesh2* createSphereMesh(pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -191,7 +187,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/makeAllCavities.cc b/test/makeAllCavities.cc index fbe01b9c2..c974fe960 100644 --- a/test/makeAllCavities.cc +++ b/test/makeAllCavities.cc @@ -61,19 +61,13 @@ static apf::MeshTag* tagMesh( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; if (PCUObj.Peers() > 1) { printf("%s should only be used for serial (single part) meshes!\n", argv[0]); printf("use the serialize utility to get a serial mesh, and retry!\n"); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } if (argc != 6) { @@ -93,9 +87,7 @@ int main(int argc, char** argv) printf("fb: creates all face cavities classified on boundary\n"); printf("ls: get a list from user and creates cavities for that list\n"); printf("tagname: creates cavities for all entities that have tagname\n"); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -174,9 +166,7 @@ int main(int argc, char** argv) tag = m->findTag(mode.c_str()); if (!tag) { printf("tag with name %s was not found on the mesh. Aborting!\n", mode.c_str()); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } } @@ -264,9 +254,7 @@ int main(int argc, char** argv) #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } static void safe_mkdir( diff --git a/test/matchedNodeElmReader.cc b/test/matchedNodeElmReader.cc index 988dd218f..b46d214de 100644 --- a/test/matchedNodeElmReader.cc +++ b/test/matchedNodeElmReader.cc @@ -743,11 +743,7 @@ void readMesh(const char* meshfilename, int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -833,7 +829,5 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/measureAnisoStats.cc b/test/measureAnisoStats.cc index edca0d60c..213ddaafd 100644 --- a/test/measureAnisoStats.cc +++ b/test/measureAnisoStats.cc @@ -41,11 +41,7 @@ void getStats( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -56,9 +52,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -95,9 +89,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void safe_mkdir(const char* path) diff --git a/test/measureIsoStats.cc b/test/measureIsoStats.cc index 0b2e86d92..6a588ccbe 100644 --- a/test/measureIsoStats.cc +++ b/test/measureIsoStats.cc @@ -42,11 +42,7 @@ void getStats( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -57,9 +53,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -95,9 +89,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void safe_mkdir(const char* path) diff --git a/test/mixedNumbering.cc b/test/mixedNumbering.cc index 58337b6fb..516378317 100644 --- a/test/mixedNumbering.cc +++ b/test/mixedNumbering.cc @@ -47,11 +47,7 @@ static void write_output(apf::Mesh* m, const char* out) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -63,7 +59,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/mkmodel.cc b/test/mkmodel.cc index 5a8b86d36..d3b733f9d 100644 --- a/test/mkmodel.cc +++ b/test/mkmodel.cc @@ -9,11 +9,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -21,9 +17,7 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a discrete geometric model from a mesh\n" "Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -33,8 +27,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/mktopomodel.cc b/test/mktopomodel.cc index 9ed784a29..b89d13077 100644 --- a/test/mktopomodel.cc +++ b/test/mktopomodel.cc @@ -9,11 +9,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -21,9 +17,7 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a topological geometric model from a mesh\n" "Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -35,8 +29,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/modelInfo.cc b/test/modelInfo.cc index c838f4f10..ff86ef2d6 100644 --- a/test/modelInfo.cc +++ b/test/modelInfo.cc @@ -13,20 +13,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -83,8 +77,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/moving.cc b/test/moving.cc index 2e267077f..4e35e8e82 100644 --- a/test/moving.cc +++ b/test/moving.cc @@ -18,11 +18,7 @@ static void writeStep(apf::Mesh* m, int i) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -71,8 +67,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/nedelecShapes.cc b/test/nedelecShapes.cc index bc67335b5..58518d44a 100644 --- a/test/nedelecShapes.cc +++ b/test/nedelecShapes.cc @@ -26,11 +26,7 @@ void testNedelec( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; @@ -71,9 +67,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/nektar_align.cc b/test/nektar_align.cc index a40116790..95a4c9a36 100644 --- a/test/nektar_align.cc +++ b/test/nektar_align.cc @@ -108,11 +108,7 @@ static void alignForNektar(apf::Mesh2* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -136,7 +132,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/neper.cc b/test/neper.cc index 3dd631a3e..f1df960da 100644 --- a/test/neper.cc +++ b/test/neper.cc @@ -7,20 +7,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -30,8 +24,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/newdim.cc b/test/newdim.cc index 4869accc5..8f41a6911 100644 --- a/test/newdim.cc +++ b/test/newdim.cc @@ -6,11 +6,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -44,9 +40,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/osh2smb.cc b/test/osh2smb.cc index 8ade42f2d..dc1549b83 100644 --- a/test/osh2smb.cc +++ b/test/osh2smb.cc @@ -14,11 +14,7 @@ #include int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -28,9 +24,7 @@ int main(int argc, char** argv) { std::cout << "usage: osh2smb in.osh in.dmg out.smb\n"; std::cout << " or: osh2smb (usage)\n"; } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -47,7 +41,5 @@ int main(int argc, char** argv) { apf::destroyMesh(am); } } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ph_adapt.cc b/test/ph_adapt.cc index be1dd9e87..d8247c2ba 100644 --- a/test/ph_adapt.cc +++ b/test/ph_adapt.cc @@ -46,11 +46,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -106,8 +102,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/poisson.cc b/test/poisson.cc index 78b800a04..9658758e8 100644 --- a/test/poisson.cc +++ b/test/poisson.cc @@ -250,11 +250,7 @@ void test(int dim, int p, pcu::PCU *PCUObj) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -263,7 +259,5 @@ int main(int argc, char** argv) { int p = atoi(argv[2]); test(dim, p, &pcu_obj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/print_pumipic_partition.cc b/test/print_pumipic_partition.cc index 6c46a5ee4..52236da85 100644 --- a/test/print_pumipic_partition.cc +++ b/test/print_pumipic_partition.cc @@ -18,28 +18,20 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 && argc != 6) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } if (pcu_obj.Peers() > 1) { if ( !pcu_obj.Self() ) printf("This tool must be run in serial.\n"); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -89,7 +81,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ptnParma.cc b/test/ptnParma.cc index 6129b3902..ede26829c 100644 --- a/test/ptnParma.cc +++ b/test/ptnParma.cc @@ -142,9 +142,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( !PCUObj->Self() ) printf("Usage: %s " " <0:global|1:local>\n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -164,11 +162,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -195,7 +189,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/pumi.cc b/test/pumi.cc index 0f52c694b..052d453a8 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -41,9 +41,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc < 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -87,11 +85,7 @@ void TEST_FIELD(pMesh m); int main(int argc, char** argv) //********************************************************* { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -257,9 +251,7 @@ int main(int argc, char** argv) pumi_printTimeMem("\n* [test_pumi] elapsed time and increased heap memory:", pumi_getTime()-begin_time, pumi_getMem()-begin_mem); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void TEST_MESH(pMesh m) diff --git a/test/pumiLoadMesh.cc b/test/pumiLoadMesh.cc index a2f4fd506..85ea5dd18 100644 --- a/test/pumiLoadMesh.cc +++ b/test/pumiLoadMesh.cc @@ -2,11 +2,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -15,8 +11,6 @@ int main(int argc, char** argv) pumi_mesh_delete(m); pumi_geom_delete(g); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/quality.cc b/test/quality.cc index 56c387630..2faecc6ce 100644 --- a/test/quality.cc +++ b/test/quality.cc @@ -22,9 +22,7 @@ static void fail(char** argv, pcu::PCU *PCUObj) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -91,11 +89,7 @@ void printDiagnostics(pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -107,7 +101,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/refine2x.cc b/test/refine2x.cc index b4207da65..74ae6317c 100644 --- a/test/refine2x.cc +++ b/test/refine2x.cc @@ -83,11 +83,7 @@ class AnisotropicX: public ma::AnisotropicFunction { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -134,7 +130,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/render.cc b/test/render.cc index 4f59254ce..2c0759bfc 100644 --- a/test/render.cc +++ b/test/render.cc @@ -16,20 +16,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -66,8 +60,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/renderClass.cc b/test/renderClass.cc index 8118a6f55..13e35d57f 100644 --- a/test/renderClass.cc +++ b/test/renderClass.cc @@ -32,11 +32,7 @@ static void number_dim(apf::Mesh* m, apf::FieldShape* shape, int dim, std::strin int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -45,9 +41,7 @@ int main(int argc, char** argv) printf("Usage: %s \n", argv[0]); printf(" %s \n", argv[0]); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -82,9 +76,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/render_ascii.cc b/test/render_ascii.cc index 186ceb38b..1b35a584a 100644 --- a/test/render_ascii.cc +++ b/test/render_ascii.cc @@ -13,20 +13,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -48,8 +42,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/reorder.cc b/test/reorder.cc index 713e69e7a..62768c157 100644 --- a/test/reorder.cc +++ b/test/reorder.cc @@ -14,20 +14,14 @@ #include int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -52,7 +46,5 @@ int main(int argc, char** argv) { MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/repartition.cc b/test/repartition.cc index 57225d8fa..9975e11f1 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -62,9 +62,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) "Unlike the [z]split tool, outPartCount does not have to be an integer\n" "multiple of inPartCount.\n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -96,11 +94,7 @@ void balance(apf::Mesh2* m) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU expanded_pcu_obj; lion_set_verbosity(1); @@ -119,9 +113,7 @@ int main(int argc, char** argv) m->writeNative(outFile); freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/reposition.cc b/test/reposition.cc index 475e160eb..e5dabce1a 100644 --- a/test/reposition.cc +++ b/test/reposition.cc @@ -7,11 +7,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -48,7 +44,5 @@ int main(int argc, char** argv) ma::repositionVertex(m, v, 20, 1.0); apf::writeVtkFiles("after", m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/residualErrorEstimation_test.cc b/test/residualErrorEstimation_test.cc index 5bd4fd0f7..47acd5a66 100644 --- a/test/residualErrorEstimation_test.cc +++ b/test/residualErrorEstimation_test.cc @@ -25,11 +25,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -101,9 +97,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void E_exact(const apf::Vector3 &x, apf::Vector3& E) diff --git a/test/rm_extrusion.cc b/test/rm_extrusion.cc index 7e0c3a330..6ceb66f83 100644 --- a/test/rm_extrusion.cc +++ b/test/rm_extrusion.cc @@ -91,11 +91,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -149,7 +145,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/runSimxAnisoAdapt.cc b/test/runSimxAnisoAdapt.cc index a6ad6558c..c3df52c70 100644 --- a/test/runSimxAnisoAdapt.cc +++ b/test/runSimxAnisoAdapt.cc @@ -74,11 +74,7 @@ apf::Mesh2* convertToPumi( const char* sizeName, const char* frameName, pcu::PCU *PCUObj); int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -91,9 +87,7 @@ int main(int argc, char** argv) printf("USAGE: %s " " \n", argv[0]); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -235,9 +229,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); MS_exit(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void printModelStats(pGModel model) diff --git a/test/scale.cc b/test/scale.cc index 6a8012fab..bb683fb67 100644 --- a/test/scale.cc +++ b/test/scale.cc @@ -18,9 +18,7 @@ struct Scale { static void print_usage(char** argv, pcu::PCU *PCUObj) { if (! PCUObj->Self()) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -55,11 +53,7 @@ static void scale_mesh(apf::Mesh2* m, Scale const& s) { } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -81,7 +75,5 @@ int main(int argc, char** argv) { m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/serialize.cc b/test/serialize.cc index c955c7ac0..935c51294 100644 --- a/test/serialize.cc +++ b/test/serialize.cc @@ -25,20 +25,14 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -65,8 +59,6 @@ int main( int argc, char* argv[]) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/shapefun.cc b/test/shapefun.cc index 49224f763..5a97bf88d 100644 --- a/test/shapefun.cc +++ b/test/shapefun.cc @@ -242,11 +242,7 @@ void testPyramidVolume(pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -266,7 +262,5 @@ int main(int argc, char** argv) testPrismVolume(&PCUObj); testPyramidVolume(&PCUObj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/shapefun2.cc b/test/shapefun2.cc index 415f03da3..42ee8db5e 100644 --- a/test/shapefun2.cc +++ b/test/shapefun2.cc @@ -169,11 +169,7 @@ static void checkFieldShape(apf::FieldShape* fs, pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -187,8 +183,6 @@ int main(int argc, char** argv) test::checkFieldShape(fs[i], &PCUObj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/simZBalance.cc b/test/simZBalance.cc index a703e78ba..61adb28de 100644 --- a/test/simZBalance.cc +++ b/test/simZBalance.cc @@ -24,11 +24,7 @@ static void load_balance(apf::Mesh2* m) { } int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -56,7 +52,5 @@ int main(int argc, char** argv) { gmi_sim_stop(); Sim_unregisterAllKeys(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/sim_countBL.cc b/test/sim_countBL.cc index 19f4bc323..c909c029c 100644 --- a/test/sim_countBL.cc +++ b/test/sim_countBL.cc @@ -22,11 +22,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif SimPartitionedMesh_start(&argc, &argv); // Read in command line arguments if (argc == 5) { @@ -111,9 +107,7 @@ int main(int argc, char **argv) SimParasolid_stop(1); Sim_unregisterAllKeys(); SimPartitionedMesh_stop(); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/sim_part.cc b/test/sim_part.cc index 23befe9a1..460a0d518 100644 --- a/test/sim_part.cc +++ b/test/sim_part.cc @@ -66,11 +66,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -177,9 +173,7 @@ int main(int argc, char **argv) SimDiscrete_stop(0); SimPartitionedMesh_stop(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/smb2osh.cc b/test/smb2osh.cc index bea5d8208..1e427adfc 100644 --- a/test/smb2osh.cc +++ b/test/smb2osh.cc @@ -14,11 +14,7 @@ #include int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -28,9 +24,7 @@ int main(int argc, char** argv) { std::cout << "usage: smb2osh in.dmg in.smb out.osh\n"; std::cout << " or: smb2osh (usage)\n"; } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -45,7 +39,5 @@ int main(int argc, char** argv) { Omega_h::binary::write(argv[3], &om); } } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/snap.cc b/test/snap.cc index 8ef3b2438..203917c48 100644 --- a/test/snap.cc +++ b/test/snap.cc @@ -11,11 +11,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -35,8 +31,6 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/split.cc b/test/split.cc index b75b1d178..9a1bb5072 100644 --- a/test/split.cc +++ b/test/split.cc @@ -50,9 +50,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -66,11 +64,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -108,8 +102,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/spr_test.cc b/test/spr_test.cc index d51c06f01..aa76c2c6f 100644 --- a/test/spr_test.cc +++ b/test/spr_test.cc @@ -17,11 +17,7 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* outFile = argv[3]; const int order = atoi(argv[4]); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -41,8 +37,6 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/swapDoubles.cc b/test/swapDoubles.cc index 5f2379647..01e850a45 100644 --- a/test/swapDoubles.cc +++ b/test/swapDoubles.cc @@ -5,11 +5,7 @@ #include //cerr int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; const size_t n = 2; @@ -31,8 +27,6 @@ int main(int argc, char** argv) { delete [] d_orig; delete [] d; } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/test_integrator.cc b/test/test_integrator.cc index bf68d16bd..2e362389b 100644 --- a/test/test_integrator.cc +++ b/test/test_integrator.cc @@ -22,11 +22,7 @@ class CountIntegrator : public apf::Integrator { } }; int main(int argc, char ** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; // argument should be model, mesh @@ -52,8 +48,6 @@ int main(int argc, char ** argv) { mesh->destroyNative(); apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/test_matrix_grad.cc b/test/test_matrix_grad.cc index 63165e64f..03a3bb110 100644 --- a/test/test_matrix_grad.cc +++ b/test/test_matrix_grad.cc @@ -92,11 +92,7 @@ int main(int argc, char* argv[]) std::cerr<<"Usage: "<destroyNative(); apf::destroyMesh(mesh); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/test_scaling.cc b/test/test_scaling.cc index 7cdf2208a..9552419bd 100644 --- a/test/test_scaling.cc +++ b/test/test_scaling.cc @@ -12,11 +12,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -31,7 +27,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/test_verify.cc b/test/test_verify.cc index c7d700860..1e7be52a1 100644 --- a/test/test_verify.cc +++ b/test/test_verify.cc @@ -10,11 +10,7 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -48,7 +44,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/tetrahedronize.cc b/test/tetrahedronize.cc index 45183bd52..e916e506e 100644 --- a/test/tetrahedronize.cc +++ b/test/tetrahedronize.cc @@ -14,11 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -44,9 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/torus_ma_test.cc b/test/torus_ma_test.cc index 3d46f5af1..c80d04e37 100644 --- a/test/torus_ma_test.cc +++ b/test/torus_ma_test.cc @@ -46,11 +46,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -74,8 +70,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ugrid.cc b/test/ugrid.cc index 26e553792..84fe6bd7d 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -28,20 +28,14 @@ pcu::PCU* getGroupedPCU(const int partitionFactor, pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_null(); @@ -69,8 +63,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/ugridptnstats.cc b/test/ugridptnstats.cc index 1e6119614..eaba2be5a 100644 --- a/test/ugridptnstats.cc +++ b/test/ugridptnstats.cc @@ -18,11 +18,7 @@ const double weights[8] = {vtxw, edgew, triw, quadw, tetw, hexw, przw, pyrw}; int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -34,7 +30,5 @@ int main(int argc, char** argv) gmi_model* g = gmi_load(".null"); apf::printUgridPtnStats(g,ugridfile,ptnfile,weights,&PCUObj); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/uniform.cc b/test/uniform.cc index 5bb6aaff2..a4048cfb4 100644 --- a/test/uniform.cc +++ b/test/uniform.cc @@ -21,9 +21,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -34,11 +32,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -69,8 +63,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/verify.cc b/test/verify.cc index 40944d3d7..e0dd4f8cf 100644 --- a/test/verify.cc +++ b/test/verify.cc @@ -14,11 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -41,9 +37,7 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/verify_2nd_order_shapes.cc b/test/verify_2nd_order_shapes.cc index 767b631a0..f5535abd5 100644 --- a/test/verify_2nd_order_shapes.cc +++ b/test/verify_2nd_order_shapes.cc @@ -16,20 +16,14 @@ #include int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -117,7 +111,5 @@ int main(int argc, char** argv) { MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/verify_convert.cc b/test/verify_convert.cc index be80032a2..66c5ef9d0 100644 --- a/test/verify_convert.cc +++ b/test/verify_convert.cc @@ -42,11 +42,7 @@ class twox : public apf::Function { }; int main(int argc, char* argv[]) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc, &argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -166,8 +162,6 @@ int main(int argc, char* argv[]) apf::destroyMesh(m2); apf::destroyMesh(m3); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif return 0; } diff --git a/test/visualizeAnisoSizes.cc b/test/visualizeAnisoSizes.cc index 5f29f5803..a527ad04a 100644 --- a/test/visualizeAnisoSizes.cc +++ b/test/visualizeAnisoSizes.cc @@ -42,11 +42,7 @@ void visualizeSizeField( int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -57,9 +53,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " " \n", argv[0]); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } @@ -94,9 +88,7 @@ int main(int argc, char** argv) #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } void safe_mkdir(const char* path) diff --git a/test/viz.cc b/test/viz.cc index 0001ddf28..bd4e5a3f7 100644 --- a/test/viz.cc +++ b/test/viz.cc @@ -106,7 +106,5 @@ int main(int argc, char** argv) freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/vtxBalance.cc b/test/vtxBalance.cc index b693bfdec..f11d38cf2 100644 --- a/test/vtxBalance.cc +++ b/test/vtxBalance.cc @@ -29,20 +29,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -75,7 +69,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/vtxEdgeElmBalance.cc b/test/vtxEdgeElmBalance.cc index 57b8f002c..ea328a587 100644 --- a/test/vtxEdgeElmBalance.cc +++ b/test/vtxEdgeElmBalance.cc @@ -44,20 +44,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 6); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 6 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -93,7 +87,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/vtxElmBalance.cc b/test/vtxElmBalance.cc index 7835c8831..0261ba653 100644 --- a/test/vtxElmBalance.cc +++ b/test/vtxElmBalance.cc @@ -33,20 +33,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -66,7 +60,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/vtxElmMixedBalance.cc b/test/vtxElmMixedBalance.cc index fca058955..c082532c6 100644 --- a/test/vtxElmMixedBalance.cc +++ b/test/vtxElmMixedBalance.cc @@ -16,11 +16,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -46,8 +42,6 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/writeIPFieldTest.cc b/test/writeIPFieldTest.cc index 4bb82d755..c77fe6a2e 100644 --- a/test/writeIPFieldTest.cc +++ b/test/writeIPFieldTest.cc @@ -8,11 +8,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -24,7 +20,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/writePart.cc b/test/writePart.cc index b1d567ab8..5d22b60f1 100644 --- a/test/writePart.cc +++ b/test/writePart.cc @@ -7,20 +7,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -30,9 +24,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/writeVtxPtn.cc b/test/writeVtxPtn.cc index 4fac1dab7..c9e1a9070 100644 --- a/test/writeVtxPtn.cc +++ b/test/writeVtxPtn.cc @@ -22,9 +22,7 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -34,11 +32,7 @@ namespace { int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -48,7 +42,5 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/xgc_split.cc b/test/xgc_split.cc index ab16558fa..6fd040b3c 100644 --- a/test/xgc_split.cc +++ b/test/xgc_split.cc @@ -18,9 +18,7 @@ void getConfig(int argc, char** argv, pcu::PCU* PCUObj) if (argc < 4) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -55,11 +53,7 @@ Migration* get_xgc_plan(pGeom g, pMesh m) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -100,8 +94,6 @@ int main(int argc, char** argv) pumi_mesh_delete(m); } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/zbalance.cc b/test/zbalance.cc index bfd160667..15a66ed3a 100644 --- a/test/zbalance.cc +++ b/test/zbalance.cc @@ -18,20 +18,14 @@ int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -63,7 +57,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } diff --git a/test/zsplit.cc b/test/zsplit.cc index efd1bf86d..6da7d94d3 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -52,9 +52,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -68,11 +66,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { -#ifndef SCOREC_NO_MPI MPI_Init(&argc,&argv); -#else - (void) argc, (void) argv; -#endif { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -110,7 +104,5 @@ int main(int argc, char** argv) MS_exit(); #endif } -#ifndef SCOREC_NO_MPI MPI_Finalize(); -#endif } From 953f86f2ada86db3145266384bb0785740ce5966 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 24 Feb 2025 10:27:45 -0500 Subject: [PATCH 46/66] add pcu::PCU_Init and pcu::PCU_Finalize - pcu/PCU.h: add pcu::PCU_Init and finalize declarations. - pcu/PCU.cc: add definitions. - test/*.cc: replace MPI_Init with pcu::PCU_Init and finalize - phasta/*.cc: replace MPI_Init with PCU_Init. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 17 +++++++++++++++++ pcu/PCU.h | 19 +++++++++++++++++++ phasta/adaptLvlSet_loop.cc | 4 ++-- phasta/chef.cc | 4 ++-- phasta/chefStream.cc | 4 ++-- phasta/condense.cc | 6 +++--- phasta/cut_interface.cc | 4 ++-- phasta/migrate_interface.cc | 6 +++--- phasta/ph_convert.cc | 4 ++-- phasta/readUrPrep.cc | 4 ++-- phasta/threshold.cc | 4 ++-- test/1d.cc | 4 ++-- test/H1Shapes.cc | 4 ++-- test/L2Shapes.cc | 4 ++-- test/align.cc | 4 ++-- test/aniso_ma_test.cc | 4 ++-- test/ansys.cc | 6 +++--- test/assert_timing.cc | 4 ++-- test/balance.cc | 4 ++-- test/bezierElevation.cc | 4 ++-- test/bezierMesh.cc | 4 ++-- test/bezierMisc.cc | 4 ++-- test/bezierRefine.cc | 4 ++-- test/bezierShapeEval.cc | 6 +++--- test/bezierSubdivision.cc | 4 ++-- test/bezierValidity.cc | 4 ++-- test/box.cc | 6 +++--- test/cap2vtk.cc | 4 ++-- test/capCheckParam.cc | 4 ++-- test/capGeomTest.cc | 4 ++-- test/capVol.cc | 6 +++--- test/cap_closestPoint.cc | 4 ++-- test/cap_inClosureOf.cc | 4 ++-- test/cgns.cc | 10 +++++----- test/classifyThenAdapt.cc | 4 ++-- test/collapse.cc | 6 +++--- test/construct.cc | 4 ++-- test/constructThenGhost.cc | 4 ++-- test/construct_bottom_up.cc | 4 ++-- test/convert.cc | 4 ++-- test/crack_test.cc | 6 +++--- test/create_mis.cc | 6 +++--- test/curve_to_bezier.cc | 8 ++++---- test/curvetest.cc | 4 ++-- test/degenerateSurfs.cc | 6 +++--- test/describe.cc | 4 ++-- test/dg_ma_test.cc | 4 ++-- test/elmBalance.cc | 6 +++--- test/embedded_edges.cc | 4 ++-- test/extrude.cc | 6 +++--- test/fieldReduce.cc | 6 +++--- test/field_io.cc | 4 ++-- test/fixDisconnected.cc | 6 +++--- test/fixlayer.cc | 4 ++-- test/fixshape.cc | 4 ++-- test/fusion.cc | 4 ++-- test/fusion2.cc | 4 ++-- test/fusion3.cc | 4 ++-- test/gap.cc | 6 +++--- test/generate.cc | 6 +++--- test/ghost.cc | 6 +++--- test/ghostEdge.cc | 4 ++-- test/ghostMPAS.cc | 4 ++-- test/gmsh.cc | 6 +++--- test/graphdist.cc | 6 +++--- test/hierarchic.cc | 4 ++-- test/highOrderSizeFields.cc | 4 ++-- test/highOrderSolutionTransfer.cc | 4 ++-- test/icesheet.cc | 4 ++-- test/inClosureOf_test.cc | 4 ++-- test/intrude.cc | 6 +++--- test/loadPart.cc | 6 +++--- test/ma_insphere.cc | 4 ++-- test/ma_test.cc | 4 ++-- test/ma_test_analytic_model.cc | 4 ++-- test/makeAllCavities.cc | 10 +++++----- test/matchedNodeElmReader.cc | 4 ++-- test/measureAnisoStats.cc | 6 +++--- test/measureIsoStats.cc | 6 +++--- test/mixedNumbering.cc | 4 ++-- test/mkmodel.cc | 6 +++--- test/mktopomodel.cc | 6 +++--- test/modelInfo.cc | 6 +++--- test/moving.cc | 4 ++-- test/nedelecShapes.cc | 4 ++-- test/nektar_align.cc | 4 ++-- test/neper.cc | 6 +++--- test/newdim.cc | 4 ++-- test/osh2smb.cc | 6 +++--- test/ph_adapt.cc | 4 ++-- test/poisson.cc | 4 ++-- test/print_pumipic_partition.cc | 8 ++++---- test/ptnParma.cc | 6 +++--- test/pumi.cc | 6 +++--- test/pumiLoadMesh.cc | 4 ++-- test/quality.cc | 6 +++--- test/refine2x.cc | 4 ++-- test/render.cc | 6 +++--- test/renderClass.cc | 6 +++--- test/render_ascii.cc | 6 +++--- test/reorder.cc | 6 +++--- test/repartition.cc | 6 +++--- test/reposition.cc | 4 ++-- test/residualErrorEstimation_test.cc | 4 ++-- test/rm_extrusion.cc | 4 ++-- test/runSimxAnisoAdapt.cc | 6 +++--- test/scale.cc | 6 +++--- test/serialize.cc | 6 +++--- test/shapefun.cc | 4 ++-- test/shapefun2.cc | 4 ++-- test/simZBalance.cc | 4 ++-- test/sim_countBL.cc | 4 ++-- test/sim_part.cc | 4 ++-- test/smb2osh.cc | 6 +++--- test/snap.cc | 4 ++-- test/split.cc | 6 +++--- test/spr_test.cc | 4 ++-- test/swapDoubles.cc | 4 ++-- test/test_integrator.cc | 4 ++-- test/test_matrix_grad.cc | 4 ++-- test/test_scaling.cc | 4 ++-- test/test_verify.cc | 4 ++-- test/tetrahedronize.cc | 4 ++-- test/torus_ma_test.cc | 4 ++-- test/ugrid.cc | 6 +++--- test/ugridptnstats.cc | 4 ++-- test/uniform.cc | 6 +++--- test/verify.cc | 4 ++-- test/verify_2nd_order_shapes.cc | 6 +++--- test/verify_convert.cc | 4 ++-- test/visualizeAnisoSizes.cc | 6 +++--- test/viz.cc | 4 ++-- test/vtxBalance.cc | 6 +++--- test/vtxEdgeElmBalance.cc | 6 +++--- test/vtxElmBalance.cc | 6 +++--- test/vtxElmMixedBalance.cc | 4 ++-- test/writeIPFieldTest.cc | 4 ++-- test/writePart.cc | 6 +++--- test/writeVtxPtn.cc | 6 +++--- test/xgc_split.cc | 6 +++--- test/zbalance.cc | 6 +++--- test/zsplit.cc | 6 +++--- 142 files changed, 379 insertions(+), 343 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index caa98f50f..86f8e3f25 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -52,6 +52,23 @@ #include namespace pcu { +int PCU_Init(int *argc, char ***argv) { +#ifndef SCOREC_NO_MPI + return MPI_Init(argc, argv); +#else + (void) argc, (void) argv; + return 0; +#endif +} + +int PCU_Finalize() { +#ifndef SCOREC_NO_MPI + return MPI_Finalize(); +#else + return 0; +#endif +} + int PCU::Peers() const noexcept { return pcu_mpi_size(mpi_); } int PCU::Self() const noexcept { return pcu_mpi_rank(mpi_); } void PCU::Begin() noexcept { pcu_msg_start(mpi_, msg_); } diff --git a/pcu/PCU.h b/pcu/PCU.h index c30365052..1c4ac335c 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -137,6 +137,25 @@ void Protect() noexcept; /*MPI_Wtime() equivalent*/ [[nodiscard]] double Time() noexcept; +/** + * @brief Initialize the underlying parallel library. + * + * This may be MPI (or a stub, given SCOREC_NO_MPI). This function abstracts + * the difference. + * + * @return 0 on success, nonzero otherwise. + */ +int PCU_Init(int *argc, char ***argv); +/** + * @brief Finalize the underlying parallel library. + * + * This may be MPI (or a stub, given SCOREC_NO_MPI). This function abstracts + * the difference. + * + * @return 0 on success, nonzero otherwise. + */ +int PCU_Finalize(); + PCU* PCU_GetGlobal(); /* explicit instantiations of template functions */ diff --git a/phasta/adaptLvlSet_loop.cc b/phasta/adaptLvlSet_loop.cc index 655a19ca4..81e7e4292 100644 --- a/phasta/adaptLvlSet_loop.cc +++ b/phasta/adaptLvlSet_loop.cc @@ -36,7 +36,7 @@ namespace { } int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; pcu::Protect(); @@ -71,5 +71,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/chef.cc b/phasta/chef.cc index 7a10df16e..f0366781c 100644 --- a/phasta/chef.cc +++ b/phasta/chef.cc @@ -29,7 +29,7 @@ namespace { /** @brief run the operations requested in "adapt.inp" */ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; pcu::Protect(); @@ -69,6 +69,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/chefStream.cc b/phasta/chefStream.cc index f373b2073..a3e19ff7d 100644 --- a/phasta/chefStream.cc +++ b/phasta/chefStream.cc @@ -32,7 +32,7 @@ namespace { } int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; pcu::Protect(); @@ -60,5 +60,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/condense.cc b/phasta/condense.cc index 05e9e57d5..46dc7a85d 100644 --- a/phasta/condense.cc +++ b/phasta/condense.cc @@ -30,7 +30,7 @@ namespace { if ( argc != 3 ) { if ( !pcu_obj->Self() ) lion_oprint(1,"Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } if ( !pcu_obj->Self() ) @@ -39,7 +39,7 @@ namespace { } int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; pcu::Protect(); @@ -65,5 +65,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/cut_interface.cc b/phasta/cut_interface.cc index bf4a9e131..3e5b0de31 100644 --- a/phasta/cut_interface.cc +++ b/phasta/cut_interface.cc @@ -22,7 +22,7 @@ char const* outfile; int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); lion_set_verbosity(1); if (argc < 4 || argc > 5) { lion_eprint(1,"Usage: %s \n", argv[0]); @@ -82,5 +82,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/migrate_interface.cc b/phasta/migrate_interface.cc index e45bc3d67..94a644b5d 100644 --- a/phasta/migrate_interface.cc +++ b/phasta/migrate_interface.cc @@ -38,7 +38,7 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) lion_eprint(1," to take model and attributes in separate files\n"); lion_eprint(1,"Usage: %s \n", argv[0]); lion_eprint(1," to take combined model and attributes file (by simTranslate)\n");} - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } if (argc == 5) { @@ -56,7 +56,7 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -90,5 +90,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/ph_convert.cc b/phasta/ph_convert.cc index 880d5d7c9..1d5ba620a 100644 --- a/phasta/ph_convert.cc +++ b/phasta/ph_convert.cc @@ -213,7 +213,7 @@ static void postConvert(apf::Mesh2* m) int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); MS_init(); @@ -290,5 +290,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/readUrPrep.cc b/phasta/readUrPrep.cc index b2da64a04..4fbfebf8e 100644 --- a/phasta/readUrPrep.cc +++ b/phasta/readUrPrep.cc @@ -17,7 +17,7 @@ namespace { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; pcu::Protect(); @@ -32,6 +32,6 @@ int main(int argc, char** argv) chef::preprocess(m,ctrl); freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/phasta/threshold.cc b/phasta/threshold.cc index f5ba92e47..10ba7a98a 100644 --- a/phasta/threshold.cc +++ b/phasta/threshold.cc @@ -18,7 +18,7 @@ static double process_element(apf::Vector3 x[4], double sol[4][9]) int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU pcu_obj; #ifdef HAVE_SIMMETRIX @@ -59,5 +59,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/1d.cc b/test/1d.cc index f166d2ed4..21eb7b892 100644 --- a/test/1d.cc +++ b/test/1d.cc @@ -64,7 +64,7 @@ int main(int argc, char** argv) * 2 - model output name * 3 = mesh output name **/ PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -80,5 +80,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/H1Shapes.cc b/test/H1Shapes.cc index 444c778c7..36106a596 100644 --- a/test/H1Shapes.cc +++ b/test/H1Shapes.cc @@ -27,7 +27,7 @@ void testH1( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; @@ -73,7 +73,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/L2Shapes.cc b/test/L2Shapes.cc index c525fbf52..abbc65242 100644 --- a/test/L2Shapes.cc +++ b/test/L2Shapes.cc @@ -30,7 +30,7 @@ void testL2writeNative( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; @@ -62,7 +62,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/align.cc b/test/align.cc index 9316d81a3..8267492c0 100644 --- a/test/align.cc +++ b/test/align.cc @@ -89,7 +89,7 @@ void testTetTri(pcu::PCU *PCUObj) } int main() { - MPI_Init(0,0); + pcu::PCU_Init(0,0); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -98,5 +98,5 @@ int main() testTetEdge(&pcu_obj); testTetTri(&pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/aniso_ma_test.cc b/test/aniso_ma_test.cc index 894dad87b..0ec59eef5 100644 --- a/test/aniso_ma_test.cc +++ b/test/aniso_ma_test.cc @@ -44,7 +44,7 @@ int main(int argc, char** argv) const char* modelFile = argv[1]; const char* meshFile = argv[2]; bool logInterpolation = atoi(argv[3]) > 0 ? true : false; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -68,6 +68,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ansys.cc b/test/ansys.cc index e35de7fa6..ba573c9c8 100644 --- a/test/ansys.cc +++ b/test/ansys.cc @@ -7,14 +7,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -25,7 +25,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/assert_timing.cc b/test/assert_timing.cc index 3baaa2a00..fcd238af1 100644 --- a/test/assert_timing.cc +++ b/test/assert_timing.cc @@ -29,7 +29,7 @@ double check_pcu_assert() { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 2); int opt = atoi(argv[1]); - MPI_Init(0,0); + pcu::PCU_Init(0,0); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -43,6 +43,6 @@ int main(int argc, char** argv) { for (int i = 0; i < 5; ++i) printf("pcu assert in %f seconds\n", check_pcu_assert()); } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/balance.cc b/test/balance.cc index d2a90cc5b..399fbb03b 100644 --- a/test/balance.cc +++ b/test/balance.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -28,5 +28,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/bezierElevation.cc b/test/bezierElevation.cc index 6f91adfb0..da55cbef8 100644 --- a/test/bezierElevation.cc +++ b/test/bezierElevation.cc @@ -397,7 +397,7 @@ void testTetElevation(pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -405,5 +405,5 @@ int main(int argc, char** argv) testTriElevation(&pcu_obj); testTetElevation(&pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/bezierMesh.cc b/test/bezierMesh.cc index 01a026240..8dd4252a0 100644 --- a/test/bezierMesh.cc +++ b/test/bezierMesh.cc @@ -583,7 +583,7 @@ void test3DFull(pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -591,5 +591,5 @@ int main(int argc, char** argv) test3DBlended(&pcu_obj); test3DFull(&pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/bezierMisc.cc b/test/bezierMisc.cc index 6f4799a78..38f8e2019 100644 --- a/test/bezierMisc.cc +++ b/test/bezierMisc.cc @@ -165,13 +165,13 @@ void testMatrixInverse(){ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); testNodeIndexing(); testMatrixInverse(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/bezierRefine.cc b/test/bezierRefine.cc index d18edb851..0e70321c9 100644 --- a/test/bezierRefine.cc +++ b/test/bezierRefine.cc @@ -309,12 +309,12 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/bezierShapeEval.cc b/test/bezierShapeEval.cc index b5dad36a4..60cd87bc4 100644 --- a/test/bezierShapeEval.cc +++ b/test/bezierShapeEval.cc @@ -25,7 +25,7 @@ static apf::Mesh2* makeOneTetMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PC int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -37,7 +37,7 @@ int main(int argc, char** argv) printf(" can be -1, 0, 1, 2 (-1 means no blending)\n"); printf(" inquiry point in the parent entity)\n"); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -81,7 +81,7 @@ int main(int argc, char** argv) } } - MPI_Finalize(); + pcu::PCU_Finalize(); } static apf::Mesh2* makeOneTriMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PCUObj) diff --git a/test/bezierSubdivision.cc b/test/bezierSubdivision.cc index 8a33b6f69..5fcce6c82 100644 --- a/test/bezierSubdivision.cc +++ b/test/bezierSubdivision.cc @@ -480,7 +480,7 @@ void testTetSubdivision1(pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -489,5 +489,5 @@ int main(int argc, char** argv) testTriSubdivision4(&pcu_obj); testTetSubdivision1(&pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/bezierValidity.cc b/test/bezierValidity.cc index 7e24d73fa..71ab17d96 100644 --- a/test/bezierValidity.cc +++ b/test/bezierValidity.cc @@ -405,12 +405,12 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/box.cc b/test/box.cc index bc61617c5..492446cf4 100644 --- a/test/box.cc +++ b/test/box.cc @@ -36,7 +36,7 @@ void verifyArgs(int argc, char** argv, pcu::PCU *PCUObj) printf(" is simplical mesh\n"); printf(" .dmg model file name\n"); printf(" .smb mesh file name\n"); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } } @@ -59,7 +59,7 @@ void getArgs(char** argv) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -79,5 +79,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/cap2vtk.cc b/test/cap2vtk.cc index 09160ebcc..917d81e92 100644 --- a/test/cap2vtk.cc +++ b/test/cap2vtk.cc @@ -40,7 +40,7 @@ using namespace CreateMG::Geometry; int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; @@ -139,5 +139,5 @@ int main(int argc, char** argv) gmi_cap_stop(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/capCheckParam.cc b/test/capCheckParam.cc index 4959ca315..472cfff7f 100644 --- a/test/capCheckParam.cc +++ b/test/capCheckParam.cc @@ -27,7 +27,7 @@ void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); pcu::PCU *PCUobj = new pcu::PCU; if (argc != 2) { @@ -112,7 +112,7 @@ int main(int argc, char** argv) checkParametrization(m, g); delete PCUobj; - MPI_Finalize(); + pcu::PCU_Finalize(); } void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* gdb) diff --git a/test/capGeomTest.cc b/test/capGeomTest.cc index 1d3bc6280..0c4d915cc 100644 --- a/test/capGeomTest.cc +++ b/test/capGeomTest.cc @@ -48,7 +48,7 @@ void visualizeEdges(gmi_model* model, int n, const char* fileName, pcu::PCU *PCU int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); pcu::PCU *PCUObj = new pcu::PCU; gmi_register_mesh(); @@ -165,7 +165,7 @@ int main(int argc, char** argv) gmi_cap_stop(); delete PCUObj; - MPI_Finalize(); + pcu::PCU_Finalize(); } void printInfo(gmi_model* model, int dim) diff --git a/test/capVol.cc b/test/capVol.cc index 13ad13826..41f5cbfc8 100644 --- a/test/capVol.cc +++ b/test/capVol.cc @@ -30,7 +30,7 @@ namespace { void myExit(int exit_code = EXIT_SUCCESS) { gmi_cap_stop(); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(exit_code); } @@ -75,7 +75,7 @@ void printUsage(char *argv0) { int main(int argc, char** argv) { // Initialize parallelism. - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; @@ -272,5 +272,5 @@ int main(int argc, char** argv) { // Exit calls. gmi_cap_stop(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } \ No newline at end of file diff --git a/test/cap_closestPoint.cc b/test/cap_closestPoint.cc index e0b7fdf78..65ba53e30 100644 --- a/test/cap_closestPoint.cc +++ b/test/cap_closestPoint.cc @@ -7,7 +7,7 @@ #include int main (int argc, char* argv[]) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); pcu::PCU* PCUObj = new pcu::PCU; lion_set_verbosity(1); gmi_register_cap(); @@ -35,5 +35,5 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); delete PCUObj; - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/cap_inClosureOf.cc b/test/cap_inClosureOf.cc index 5c0ffd817..2e93ac063 100644 --- a/test/cap_inClosureOf.cc +++ b/test/cap_inClosureOf.cc @@ -7,7 +7,7 @@ #include int main (int argc, char* argv[]) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); pcu::PCU *PCUObj = new pcu::PCU; lion_set_verbosity(1); gmi_register_cap(); @@ -45,5 +45,5 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); delete PCUObj; - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/cgns.cc b/test/cgns.cc index 3aeb5ee52..78ac7f7c5 100644 --- a/test/cgns.cc +++ b/test/cgns.cc @@ -478,7 +478,7 @@ std::string doit(apf::CGNSBCMap &cgnsBCMap, const std::string &argv1, const std: int main(int argc, char **argv) { #ifdef HAVE_CGNS - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -488,7 +488,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); return -1; } @@ -500,7 +500,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s additional\n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); return -1; } @@ -509,7 +509,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); return -1; } @@ -546,7 +546,7 @@ int main(int argc, char **argv) } // } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; #else PCU_ALWAYS_ASSERT_VERBOSE(true == false, diff --git a/test/classifyThenAdapt.cc b/test/classifyThenAdapt.cc index 077b98185..fd347aa68 100644 --- a/test/classifyThenAdapt.cc +++ b/test/classifyThenAdapt.cc @@ -125,7 +125,7 @@ void printClassCounts(apf::Mesh* m) { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -149,5 +149,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/collapse.cc b/test/collapse.cc index 88d992b7d..220db2e7f 100644 --- a/test/collapse.cc +++ b/test/collapse.cc @@ -32,7 +32,7 @@ namespace { printf("Usage: mpirun -np %s \n" "Reduce the part count of mesh from inPartCount to inPartCount/factor.\n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -44,7 +44,7 @@ namespace { } int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -67,5 +67,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/construct.cc b/test/construct.cc index 1e2d27c3e..b00b0e188 100644 --- a/test/construct.cc +++ b/test/construct.cc @@ -10,7 +10,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -46,6 +46,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/constructThenGhost.cc b/test/constructThenGhost.cc index e0a2c65fb..fc4e2c493 100644 --- a/test/constructThenGhost.cc +++ b/test/constructThenGhost.cc @@ -12,7 +12,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; pumi_load_pcu(&pcu_obj); @@ -93,5 +93,5 @@ int main(int argc, char** argv) pumi_geom_delete(g); pumi_mesh_delete(pm); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/construct_bottom_up.cc b/test/construct_bottom_up.cc index 64ce82fe2..e83c833a0 100644 --- a/test/construct_bottom_up.cc +++ b/test/construct_bottom_up.cc @@ -137,7 +137,7 @@ const int tet_info[11][6] = { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -249,6 +249,6 @@ int main(int argc, char** argv) outMesh->destroyNative(); apf::destroyMesh(outMesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/convert.cc b/test/convert.cc index f0cfeed0c..f626c20a9 100644 --- a/test/convert.cc +++ b/test/convert.cc @@ -433,7 +433,7 @@ void addFathersTag(pGModel simModel, pParMesh sim_mesh, apf::Mesh* simApfMesh, c int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -526,5 +526,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/crack_test.cc b/test/crack_test.cc index ea18e9d8a..c73f689b3 100644 --- a/test/crack_test.cc +++ b/test/crack_test.cc @@ -44,7 +44,7 @@ void bCurver(const char* modelFile, const char* meshFile, int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; @@ -52,7 +52,7 @@ int main(int argc, char** argv) if (PCUObj.Self() == 0) { printf("USAGE: %s \n", argv[0]); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } const char* modelFile = argv[1]; @@ -359,5 +359,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/create_mis.cc b/test/create_mis.cc index edccfa02e..19b9cad53 100644 --- a/test/create_mis.cc +++ b/test/create_mis.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -61,6 +61,6 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/curve_to_bezier.cc b/test/curve_to_bezier.cc index e8aeeb8fb..a9f24efb9 100644 --- a/test/curve_to_bezier.cc +++ b/test/curve_to_bezier.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -25,14 +25,14 @@ int main(int argc, char** argv) if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } int order = atoi(argv[3]); if(order < 1 || order > 6){ if ( !pcu_obj.Self() ) printf("Only 1st to 6th order supported\n"); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -55,5 +55,5 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/curvetest.cc b/test/curvetest.cc index 755545829..b35f997e3 100644 --- a/test/curvetest.cc +++ b/test/curvetest.cc @@ -190,7 +190,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -214,5 +214,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); SimModel_stop(); MS_exit(); - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/degenerateSurfs.cc b/test/degenerateSurfs.cc index a1366931c..42ef2527b 100644 --- a/test/degenerateSurfs.cc +++ b/test/degenerateSurfs.cc @@ -23,7 +23,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -35,7 +35,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==5); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -72,6 +72,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/describe.cc b/test/describe.cc index 11b95ca66..ff0392565 100644 --- a/test/describe.cc +++ b/test/describe.cc @@ -44,7 +44,7 @@ static void list_tags(apf::Mesh* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -71,5 +71,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/dg_ma_test.cc b/test/dg_ma_test.cc index 3241e9014..dc697d052 100644 --- a/test/dg_ma_test.cc +++ b/test/dg_ma_test.cc @@ -39,7 +39,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -77,6 +77,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/elmBalance.cc b/test/elmBalance.cc index 6c3d5f973..f9f7f9981 100644 --- a/test/elmBalance.cc +++ b/test/elmBalance.cc @@ -27,14 +27,14 @@ apf::MeshTag* setWeights(apf::Mesh* m) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -68,5 +68,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/embedded_edges.cc b/test/embedded_edges.cc index 0026dd72b..ad9b9a16b 100644 --- a/test/embedded_edges.cc +++ b/test/embedded_edges.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==2); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -53,6 +53,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/extrude.cc b/test/extrude.cc index 09486271e..051e399e0 100644 --- a/test/extrude.cc +++ b/test/extrude.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -40,5 +40,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index f0c30c0e1..c530fc8f8 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -151,7 +151,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 3 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -164,7 +164,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); bool failflag = false; { pcu::PCU PCUObj; @@ -197,7 +197,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); return failflag; diff --git a/test/field_io.cc b/test/field_io.cc index c866498ea..630d133fa 100644 --- a/test/field_io.cc +++ b/test/field_io.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -47,5 +47,5 @@ int main(int argc, char** argv) apf::destroyMesh(m); } } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fixDisconnected.cc b/test/fixDisconnected.cc index 23982b5a5..eb8fb8099 100644 --- a/test/fixDisconnected.cc +++ b/test/fixDisconnected.cc @@ -10,14 +10,14 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -29,5 +29,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fixlayer.cc b/test/fixlayer.cc index f17495605..2913c1bb0 100644 --- a/test/fixlayer.cc +++ b/test/fixlayer.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fixshape.cc b/test/fixshape.cc index 2c24347a8..ad69fa19c 100644 --- a/test/fixshape.cc +++ b/test/fixshape.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fusion.cc b/test/fusion.cc index b3d41070b..2b7134e9c 100644 --- a/test/fusion.cc +++ b/test/fusion.cc @@ -154,7 +154,7 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { PCU_ALWAYS_ASSERT(argc==2); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -171,5 +171,5 @@ int main( int argc, char* argv[]) code.mesh->destroyNative(); apf::destroyMesh(code.mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fusion2.cc b/test/fusion2.cc index 6a427abea..17e07b4a9 100644 --- a/test/fusion2.cc +++ b/test/fusion2.cc @@ -137,7 +137,7 @@ static void globalCode(apf::Mesh2* m) int main( int argc, char* argv[]) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -150,5 +150,5 @@ int main( int argc, char* argv[]) Parma_SplitPartition(code.mesh, groupSize, code, &PCUObj); globalCode(code.mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/fusion3.cc b/test/fusion3.cc index e79e0cad1..8523721aa 100644 --- a/test/fusion3.cc +++ b/test/fusion3.cc @@ -281,7 +281,7 @@ class Vortex : public ma::AnisotropicFunction int main(int argc, char * argv[]) { PCU_ALWAYS_ASSERT(argc==2); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -298,5 +298,5 @@ int main(int argc, char * argv[]) // to do apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/gap.cc b/test/gap.cc index d7b437ccb..8bfa7d73d 100644 --- a/test/gap.cc +++ b/test/gap.cc @@ -28,14 +28,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 5); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -69,5 +69,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/generate.cc b/test/generate.cc index 32c28f091..1d0f4b9dc 100644 --- a/test/generate.cc +++ b/test/generate.cc @@ -66,7 +66,7 @@ void messageHandler(int type, const char* msg) case Sim_ErrorMsg: if(!globalPCU->Self()) fprintf(stdout, "Error SimModeler %s ... exiting\n", msg); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_SUCCESS); break; default: @@ -317,7 +317,7 @@ void simStop() { int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; globalPCU = &PCUObj; @@ -359,5 +359,5 @@ int main(int argc, char** argv) simStop(); Sim_logOff(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ghost.cc b/test/ghost.cc index de8c96f69..d5ff0b111 100644 --- a/test/ghost.cc +++ b/test/ghost.cc @@ -22,7 +22,7 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -76,7 +76,7 @@ namespace { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -89,5 +89,5 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ghostEdge.cc b/test/ghostEdge.cc index c78e399a5..da96012a2 100644 --- a/test/ghostEdge.cc +++ b/test/ghostEdge.cc @@ -49,7 +49,7 @@ namespace { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -60,5 +60,5 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ghostMPAS.cc b/test/ghostMPAS.cc index f8163c1e9..b5558b900 100644 --- a/test/ghostMPAS.cc +++ b/test/ghostMPAS.cc @@ -51,7 +51,7 @@ namespace { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -62,5 +62,5 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/gmsh.cc b/test/gmsh.cc index 7ffb9f27c..3853f3e3e 100644 --- a/test/gmsh.cc +++ b/test/gmsh.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -23,7 +23,7 @@ int main(int argc, char** argv) "the mesh.\n" "When a **gmsh v4** .msh is passed in, a topological model will be created " "from the geometric model entities defined in the gmsh input file.\n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -55,6 +55,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/graphdist.cc b/test/graphdist.cc index 3d9e96041..4531dabf7 100644 --- a/test/graphdist.cc +++ b/test/graphdist.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -32,5 +32,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/hierarchic.cc b/test/hierarchic.cc index a134f65fc..338a8fcc2 100644 --- a/test/hierarchic.cc +++ b/test/hierarchic.cc @@ -192,7 +192,7 @@ void test(apf::Mesh* m, int p_order) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -206,5 +206,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/highOrderSizeFields.cc b/test/highOrderSizeFields.cc index f52706308..aaffbfeef 100644 --- a/test/highOrderSizeFields.cc +++ b/test/highOrderSizeFields.cc @@ -35,7 +35,7 @@ void testAdapt( int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -69,7 +69,7 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif - MPI_Finalize(); + pcu::PCU_Finalize(); } void computeSizesFrames( diff --git a/test/highOrderSolutionTransfer.cc b/test/highOrderSolutionTransfer.cc index 2ef357367..16af511f8 100644 --- a/test/highOrderSolutionTransfer.cc +++ b/test/highOrderSolutionTransfer.cc @@ -41,7 +41,7 @@ int main(int argc, char** argv) { const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -91,7 +91,7 @@ int main(int argc, char** argv) MS_exit(); SimModel_stop(); #endif - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/icesheet.cc b/test/icesheet.cc index d50f014ab..008689f11 100644 --- a/test/icesheet.cc +++ b/test/icesheet.cc @@ -481,7 +481,7 @@ int main(int argc, char** argv) return 0; } - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -525,5 +525,5 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/inClosureOf_test.cc b/test/inClosureOf_test.cc index 1bdb541b6..2f04eb327 100644 --- a/test/inClosureOf_test.cc +++ b/test/inClosureOf_test.cc @@ -18,7 +18,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==2); const char* modelFile = argv[1]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -94,6 +94,6 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/intrude.cc b/test/intrude.cc index bc709d1eb..65613f387 100644 --- a/test/intrude.cc +++ b/test/intrude.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -42,5 +42,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/loadPart.cc b/test/loadPart.cc index 3fa317c1f..1037c49e6 100644 --- a/test/loadPart.cc +++ b/test/loadPart.cc @@ -10,7 +10,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -20,7 +20,7 @@ int main(int argc, char** argv) printf("Load a single part from a partitioned mesh and " "write it as a serial part.\n" "Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -33,7 +33,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ma_insphere.cc b/test/ma_insphere.cc index cc8b970d8..1e0799232 100644 --- a/test/ma_insphere.cc +++ b/test/ma_insphere.cc @@ -7,7 +7,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); // Test determinant functions double input[4][4] = { @@ -58,5 +58,5 @@ int main(int argc, char** argv) apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ma_test.cc b/test/ma_test.cc index 72fbc7bf5..c0c820c9d 100644 --- a/test/ma_test.cc +++ b/test/ma_test.cc @@ -43,7 +43,7 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* layerTagString = (argc==4) ? argv[3] : ""; const double adaptRefineFactor = (argc==5) ? atoi(argv[4]) : 3; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -81,6 +81,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ma_test_analytic_model.cc b/test/ma_test_analytic_model.cc index 4e5695574..b211ed69f 100644 --- a/test/ma_test_analytic_model.cc +++ b/test/ma_test_analytic_model.cc @@ -169,7 +169,7 @@ apf::Mesh2* createSphereMesh(pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -187,5 +187,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/makeAllCavities.cc b/test/makeAllCavities.cc index c974fe960..52c8799cc 100644 --- a/test/makeAllCavities.cc +++ b/test/makeAllCavities.cc @@ -61,13 +61,13 @@ static apf::MeshTag* tagMesh( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; if (PCUObj.Peers() > 1) { printf("%s should only be used for serial (single part) meshes!\n", argv[0]); printf("use the serialize utility to get a serial mesh, and retry!\n"); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } if (argc != 6) { @@ -87,7 +87,7 @@ int main(int argc, char** argv) printf("fb: creates all face cavities classified on boundary\n"); printf("ls: get a list from user and creates cavities for that list\n"); printf("tagname: creates cavities for all entities that have tagname\n"); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -166,7 +166,7 @@ int main(int argc, char** argv) tag = m->findTag(mode.c_str()); if (!tag) { printf("tag with name %s was not found on the mesh. Aborting!\n", mode.c_str()); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } } @@ -254,7 +254,7 @@ int main(int argc, char** argv) #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } static void safe_mkdir( diff --git a/test/matchedNodeElmReader.cc b/test/matchedNodeElmReader.cc index b46d214de..d89e6a8e7 100644 --- a/test/matchedNodeElmReader.cc +++ b/test/matchedNodeElmReader.cc @@ -743,7 +743,7 @@ void readMesh(const char* meshfilename, int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -829,5 +829,5 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/measureAnisoStats.cc b/test/measureAnisoStats.cc index 213ddaafd..70d3cfc25 100644 --- a/test/measureAnisoStats.cc +++ b/test/measureAnisoStats.cc @@ -41,7 +41,7 @@ void getStats( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -52,7 +52,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } void safe_mkdir(const char* path) diff --git a/test/measureIsoStats.cc b/test/measureIsoStats.cc index 6a588ccbe..0e3e777b1 100644 --- a/test/measureIsoStats.cc +++ b/test/measureIsoStats.cc @@ -42,7 +42,7 @@ void getStats( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -53,7 +53,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } void safe_mkdir(const char* path) diff --git a/test/mixedNumbering.cc b/test/mixedNumbering.cc index 516378317..69da3d68e 100644 --- a/test/mixedNumbering.cc +++ b/test/mixedNumbering.cc @@ -47,7 +47,7 @@ static void write_output(apf::Mesh* m, const char* out) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -59,5 +59,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/mkmodel.cc b/test/mkmodel.cc index d3b733f9d..fabe26188 100644 --- a/test/mkmodel.cc +++ b/test/mkmodel.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -17,7 +17,7 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a discrete geometric model from a mesh\n" "Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -27,6 +27,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/mktopomodel.cc b/test/mktopomodel.cc index b89d13077..121b2b0a8 100644 --- a/test/mktopomodel.cc +++ b/test/mktopomodel.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -17,7 +17,7 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a topological geometric model from a mesh\n" "Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -29,6 +29,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/modelInfo.cc b/test/modelInfo.cc index ff86ef2d6..b639ea1bb 100644 --- a/test/modelInfo.cc +++ b/test/modelInfo.cc @@ -13,14 +13,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -77,6 +77,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/moving.cc b/test/moving.cc index 4e35e8e82..4c738ba41 100644 --- a/test/moving.cc +++ b/test/moving.cc @@ -18,7 +18,7 @@ static void writeStep(apf::Mesh* m, int i) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -67,6 +67,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/nedelecShapes.cc b/test/nedelecShapes.cc index 58518d44a..52e0cd978 100644 --- a/test/nedelecShapes.cc +++ b/test/nedelecShapes.cc @@ -26,7 +26,7 @@ void testNedelec( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; @@ -67,7 +67,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/nektar_align.cc b/test/nektar_align.cc index 95a4c9a36..b6336466f 100644 --- a/test/nektar_align.cc +++ b/test/nektar_align.cc @@ -108,7 +108,7 @@ static void alignForNektar(apf::Mesh2* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -132,5 +132,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/neper.cc b/test/neper.cc index f1df960da..1c2df9911 100644 --- a/test/neper.cc +++ b/test/neper.cc @@ -7,14 +7,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -24,6 +24,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/newdim.cc b/test/newdim.cc index 8f41a6911..0a3434756 100644 --- a/test/newdim.cc +++ b/test/newdim.cc @@ -6,7 +6,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/osh2smb.cc b/test/osh2smb.cc index dc1549b83..739feb041 100644 --- a/test/osh2smb.cc +++ b/test/osh2smb.cc @@ -14,7 +14,7 @@ #include int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -24,7 +24,7 @@ int main(int argc, char** argv) { std::cout << "usage: osh2smb in.osh in.dmg out.smb\n"; std::cout << " or: osh2smb (usage)\n"; } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -41,5 +41,5 @@ int main(int argc, char** argv) { apf::destroyMesh(am); } } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ph_adapt.cc b/test/ph_adapt.cc index d8247c2ba..87d4f17dc 100644 --- a/test/ph_adapt.cc +++ b/test/ph_adapt.cc @@ -46,7 +46,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -102,6 +102,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/poisson.cc b/test/poisson.cc index 9658758e8..9fe97bb71 100644 --- a/test/poisson.cc +++ b/test/poisson.cc @@ -250,7 +250,7 @@ void test(int dim, int p, pcu::PCU *PCUObj) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -259,5 +259,5 @@ int main(int argc, char** argv) { int p = atoi(argv[2]); test(dim, p, &pcu_obj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/print_pumipic_partition.cc b/test/print_pumipic_partition.cc index 52236da85..62893f246 100644 --- a/test/print_pumipic_partition.cc +++ b/test/print_pumipic_partition.cc @@ -18,20 +18,20 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 && argc != 6) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } if (pcu_obj.Peers() > 1) { if ( !pcu_obj.Self() ) printf("This tool must be run in serial.\n"); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -81,5 +81,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ptnParma.cc b/test/ptnParma.cc index ede26829c..0f1f4ac47 100644 --- a/test/ptnParma.cc +++ b/test/ptnParma.cc @@ -142,7 +142,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( !PCUObj->Self() ) printf("Usage: %s " " <0:global|1:local>\n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -162,7 +162,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -189,5 +189,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/pumi.cc b/test/pumi.cc index 052d453a8..079dce9a0 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -41,7 +41,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc < 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -85,7 +85,7 @@ void TEST_FIELD(pMesh m); int main(int argc, char** argv) //********************************************************* { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -251,7 +251,7 @@ int main(int argc, char** argv) pumi_printTimeMem("\n* [test_pumi] elapsed time and increased heap memory:", pumi_getTime()-begin_time, pumi_getMem()-begin_mem); } - MPI_Finalize(); + pcu::PCU_Finalize(); } void TEST_MESH(pMesh m) diff --git a/test/pumiLoadMesh.cc b/test/pumiLoadMesh.cc index 85ea5dd18..744bb503a 100644 --- a/test/pumiLoadMesh.cc +++ b/test/pumiLoadMesh.cc @@ -2,7 +2,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -11,6 +11,6 @@ int main(int argc, char** argv) pumi_mesh_delete(m); pumi_geom_delete(g); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/quality.cc b/test/quality.cc index 2faecc6ce..f75424e57 100644 --- a/test/quality.cc +++ b/test/quality.cc @@ -22,7 +22,7 @@ static void fail(char** argv, pcu::PCU *PCUObj) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ void printDiagnostics(pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -101,5 +101,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/refine2x.cc b/test/refine2x.cc index 74ae6317c..7305bd9e7 100644 --- a/test/refine2x.cc +++ b/test/refine2x.cc @@ -83,7 +83,7 @@ class AnisotropicX: public ma::AnisotropicFunction { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -130,5 +130,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/render.cc b/test/render.cc index 2c0759bfc..f5eb1bdcb 100644 --- a/test/render.cc +++ b/test/render.cc @@ -16,14 +16,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -60,6 +60,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/renderClass.cc b/test/renderClass.cc index 13e35d57f..002665063 100644 --- a/test/renderClass.cc +++ b/test/renderClass.cc @@ -32,7 +32,7 @@ static void number_dim(apf::Mesh* m, apf::FieldShape* shape, int dim, std::strin int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -41,7 +41,7 @@ int main(int argc, char** argv) printf("Usage: %s \n", argv[0]); printf(" %s \n", argv[0]); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -76,7 +76,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/render_ascii.cc b/test/render_ascii.cc index 1b35a584a..5ec20bbd3 100644 --- a/test/render_ascii.cc +++ b/test/render_ascii.cc @@ -13,14 +13,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -42,6 +42,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/reorder.cc b/test/reorder.cc index 62768c157..e646b19d6 100644 --- a/test/reorder.cc +++ b/test/reorder.cc @@ -14,14 +14,14 @@ #include int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -46,5 +46,5 @@ int main(int argc, char** argv) { MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/repartition.cc b/test/repartition.cc index 9975e11f1..6cc8766eb 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -62,7 +62,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) "Unlike the [z]split tool, outPartCount does not have to be an integer\n" "multiple of inPartCount.\n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -94,7 +94,7 @@ void balance(apf::Mesh2* m) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU expanded_pcu_obj; lion_set_verbosity(1); @@ -113,7 +113,7 @@ int main(int argc, char** argv) m->writeNative(outFile); freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/reposition.cc b/test/reposition.cc index e5dabce1a..a7b94eca9 100644 --- a/test/reposition.cc +++ b/test/reposition.cc @@ -7,7 +7,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -44,5 +44,5 @@ int main(int argc, char** argv) ma::repositionVertex(m, v, 20, 1.0); apf::writeVtkFiles("after", m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/residualErrorEstimation_test.cc b/test/residualErrorEstimation_test.cc index 47acd5a66..21a6358e7 100644 --- a/test/residualErrorEstimation_test.cc +++ b/test/residualErrorEstimation_test.cc @@ -25,7 +25,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -97,7 +97,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } void E_exact(const apf::Vector3 &x, apf::Vector3& E) diff --git a/test/rm_extrusion.cc b/test/rm_extrusion.cc index 6ceb66f83..ce77213f1 100644 --- a/test/rm_extrusion.cc +++ b/test/rm_extrusion.cc @@ -91,7 +91,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) { int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -145,5 +145,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/runSimxAnisoAdapt.cc b/test/runSimxAnisoAdapt.cc index c3df52c70..77ec918d7 100644 --- a/test/runSimxAnisoAdapt.cc +++ b/test/runSimxAnisoAdapt.cc @@ -74,7 +74,7 @@ apf::Mesh2* convertToPumi( const char* sizeName, const char* frameName, pcu::PCU *PCUObj); int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -87,7 +87,7 @@ int main(int argc, char** argv) printf("USAGE: %s " " \n", argv[0]); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -229,7 +229,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); MS_exit(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } void printModelStats(pGModel model) diff --git a/test/scale.cc b/test/scale.cc index bb683fb67..c461c4632 100644 --- a/test/scale.cc +++ b/test/scale.cc @@ -18,7 +18,7 @@ struct Scale { static void print_usage(char** argv, pcu::PCU *PCUObj) { if (! PCUObj->Self()) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -53,7 +53,7 @@ static void scale_mesh(apf::Mesh2* m, Scale const& s) { } int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -75,5 +75,5 @@ int main(int argc, char** argv) { m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/serialize.cc b/test/serialize.cc index 935c51294..ff33f17a5 100644 --- a/test/serialize.cc +++ b/test/serialize.cc @@ -25,14 +25,14 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -59,6 +59,6 @@ int main( int argc, char* argv[]) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/shapefun.cc b/test/shapefun.cc index 5a97bf88d..91fb67104 100644 --- a/test/shapefun.cc +++ b/test/shapefun.cc @@ -242,7 +242,7 @@ void testPyramidVolume(pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -262,5 +262,5 @@ int main(int argc, char** argv) testPrismVolume(&PCUObj); testPyramidVolume(&PCUObj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/shapefun2.cc b/test/shapefun2.cc index 42ee8db5e..892a7986d 100644 --- a/test/shapefun2.cc +++ b/test/shapefun2.cc @@ -169,7 +169,7 @@ static void checkFieldShape(apf::FieldShape* fs, pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -183,6 +183,6 @@ int main(int argc, char** argv) test::checkFieldShape(fs[i], &PCUObj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/simZBalance.cc b/test/simZBalance.cc index 61adb28de..787081dba 100644 --- a/test/simZBalance.cc +++ b/test/simZBalance.cc @@ -24,7 +24,7 @@ static void load_balance(apf::Mesh2* m) { } int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -52,5 +52,5 @@ int main(int argc, char** argv) { gmi_sim_stop(); Sim_unregisterAllKeys(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/sim_countBL.cc b/test/sim_countBL.cc index c909c029c..9ac2346a1 100644 --- a/test/sim_countBL.cc +++ b/test/sim_countBL.cc @@ -22,7 +22,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); SimPartitionedMesh_start(&argc, &argv); // Read in command line arguments if (argc == 5) { @@ -107,7 +107,7 @@ int main(int argc, char **argv) SimParasolid_stop(1); Sim_unregisterAllKeys(); SimPartitionedMesh_stop(); - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/sim_part.cc b/test/sim_part.cc index 460a0d518..2ca4ae21c 100644 --- a/test/sim_part.cc +++ b/test/sim_part.cc @@ -66,7 +66,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -173,7 +173,7 @@ int main(int argc, char **argv) SimDiscrete_stop(0); SimPartitionedMesh_stop(); } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/smb2osh.cc b/test/smb2osh.cc index 1e427adfc..4a835e56f 100644 --- a/test/smb2osh.cc +++ b/test/smb2osh.cc @@ -14,7 +14,7 @@ #include int main(int argc, char** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -24,7 +24,7 @@ int main(int argc, char** argv) { std::cout << "usage: smb2osh in.dmg in.smb out.osh\n"; std::cout << " or: smb2osh (usage)\n"; } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -39,5 +39,5 @@ int main(int argc, char** argv) { Omega_h::binary::write(argv[3], &om); } } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/snap.cc b/test/snap.cc index 203917c48..c035e9f19 100644 --- a/test/snap.cc +++ b/test/snap.cc @@ -11,7 +11,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -31,6 +31,6 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/split.cc b/test/split.cc index 9a1bb5072..0a8d68619 100644 --- a/test/split.cc +++ b/test/split.cc @@ -50,7 +50,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -64,7 +64,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -102,6 +102,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/spr_test.cc b/test/spr_test.cc index aa76c2c6f..0a0c8078d 100644 --- a/test/spr_test.cc +++ b/test/spr_test.cc @@ -17,7 +17,7 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* outFile = argv[3]; const int order = atoi(argv[4]); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -37,6 +37,6 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/swapDoubles.cc b/test/swapDoubles.cc index 01e850a45..05da537e8 100644 --- a/test/swapDoubles.cc +++ b/test/swapDoubles.cc @@ -5,7 +5,7 @@ #include //cerr int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; const size_t n = 2; @@ -27,6 +27,6 @@ int main(int argc, char** argv) { delete [] d_orig; delete [] d; } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/test_integrator.cc b/test/test_integrator.cc index 2e362389b..f4f745b97 100644 --- a/test/test_integrator.cc +++ b/test/test_integrator.cc @@ -22,7 +22,7 @@ class CountIntegrator : public apf::Integrator { } }; int main(int argc, char ** argv) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; // argument should be model, mesh @@ -48,6 +48,6 @@ int main(int argc, char ** argv) { mesh->destroyNative(); apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/test_matrix_grad.cc b/test/test_matrix_grad.cc index 03a3bb110..1d5152a18 100644 --- a/test/test_matrix_grad.cc +++ b/test/test_matrix_grad.cc @@ -92,7 +92,7 @@ int main(int argc, char* argv[]) std::cerr<<"Usage: "<destroyNative(); apf::destroyMesh(mesh); } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/test_scaling.cc b/test/test_scaling.cc index 9552419bd..e01558540 100644 --- a/test/test_scaling.cc +++ b/test/test_scaling.cc @@ -12,7 +12,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -27,5 +27,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/test_verify.cc b/test/test_verify.cc index 1e7be52a1..557fe6077 100644 --- a/test/test_verify.cc +++ b/test/test_verify.cc @@ -10,7 +10,7 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -44,5 +44,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/tetrahedronize.cc b/test/tetrahedronize.cc index e916e506e..cd68d58d3 100644 --- a/test/tetrahedronize.cc +++ b/test/tetrahedronize.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/torus_ma_test.cc b/test/torus_ma_test.cc index c80d04e37..15e37e895 100644 --- a/test/torus_ma_test.cc +++ b/test/torus_ma_test.cc @@ -46,7 +46,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -70,6 +70,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ugrid.cc b/test/ugrid.cc index 84fe6bd7d..45891f57d 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -28,14 +28,14 @@ pcu::PCU* getGroupedPCU(const int partitionFactor, pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -63,6 +63,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/ugridptnstats.cc b/test/ugridptnstats.cc index eaba2be5a..c700fd6e4 100644 --- a/test/ugridptnstats.cc +++ b/test/ugridptnstats.cc @@ -18,7 +18,7 @@ const double weights[8] = {vtxw, edgew, triw, quadw, tetw, hexw, przw, pyrw}; int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -30,5 +30,5 @@ int main(int argc, char** argv) gmi_model* g = gmi_load(".null"); apf::printUgridPtnStats(g,ugridfile,ptnfile,weights,&PCUObj); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/uniform.cc b/test/uniform.cc index a4048cfb4..f98a42746 100644 --- a/test/uniform.cc +++ b/test/uniform.cc @@ -21,7 +21,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -32,7 +32,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -63,6 +63,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/verify.cc b/test/verify.cc index e0dd4f8cf..6d0dfca15 100644 --- a/test/verify.cc +++ b/test/verify.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -37,7 +37,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/verify_2nd_order_shapes.cc b/test/verify_2nd_order_shapes.cc index f5535abd5..4482beb4e 100644 --- a/test/verify_2nd_order_shapes.cc +++ b/test/verify_2nd_order_shapes.cc @@ -16,14 +16,14 @@ #include int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -111,5 +111,5 @@ int main(int argc, char** argv) { MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/verify_convert.cc b/test/verify_convert.cc index 66c5ef9d0..881b6ba6e 100644 --- a/test/verify_convert.cc +++ b/test/verify_convert.cc @@ -42,7 +42,7 @@ class twox : public apf::Function { }; int main(int argc, char* argv[]) { - MPI_Init(&argc, &argv); + pcu::PCU_Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -162,6 +162,6 @@ int main(int argc, char* argv[]) apf::destroyMesh(m2); apf::destroyMesh(m3); } - MPI_Finalize(); + pcu::PCU_Finalize(); return 0; } diff --git a/test/visualizeAnisoSizes.cc b/test/visualizeAnisoSizes.cc index a527ad04a..8674be797 100644 --- a/test/visualizeAnisoSizes.cc +++ b/test/visualizeAnisoSizes.cc @@ -42,7 +42,7 @@ void visualizeSizeField( int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -53,7 +53,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " " \n", argv[0]); } - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } @@ -88,7 +88,7 @@ int main(int argc, char** argv) #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } void safe_mkdir(const char* path) diff --git a/test/viz.cc b/test/viz.cc index bd4e5a3f7..05e2e9c16 100644 --- a/test/viz.cc +++ b/test/viz.cc @@ -34,7 +34,7 @@ namespace { int main(int argc, char** argv) { int provided; - MPI_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); + pcu::PCU_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); PCU_ALWAYS_ASSERT(provided==MPI_THREAD_MULTIPLE); { pcu::PCU PCUObj; @@ -106,5 +106,5 @@ int main(int argc, char** argv) freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/vtxBalance.cc b/test/vtxBalance.cc index f11d38cf2..0e63be45d 100644 --- a/test/vtxBalance.cc +++ b/test/vtxBalance.cc @@ -29,14 +29,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -69,5 +69,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/vtxEdgeElmBalance.cc b/test/vtxEdgeElmBalance.cc index ea328a587..7f16e0f67 100644 --- a/test/vtxEdgeElmBalance.cc +++ b/test/vtxEdgeElmBalance.cc @@ -44,14 +44,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 6); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 6 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -87,5 +87,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/vtxElmBalance.cc b/test/vtxElmBalance.cc index 0261ba653..85bdc6b64 100644 --- a/test/vtxElmBalance.cc +++ b/test/vtxElmBalance.cc @@ -33,14 +33,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -60,5 +60,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/vtxElmMixedBalance.cc b/test/vtxElmMixedBalance.cc index c082532c6..3c819eee7 100644 --- a/test/vtxElmMixedBalance.cc +++ b/test/vtxElmMixedBalance.cc @@ -16,7 +16,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -42,6 +42,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/writeIPFieldTest.cc b/test/writeIPFieldTest.cc index c77fe6a2e..8e9e07a43 100644 --- a/test/writeIPFieldTest.cc +++ b/test/writeIPFieldTest.cc @@ -8,7 +8,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -20,5 +20,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/writePart.cc b/test/writePart.cc index 5d22b60f1..691772c54 100644 --- a/test/writePart.cc +++ b/test/writePart.cc @@ -7,14 +7,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -24,7 +24,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/writeVtxPtn.cc b/test/writeVtxPtn.cc index c9e1a9070..6dc0c2e1c 100644 --- a/test/writeVtxPtn.cc +++ b/test/writeVtxPtn.cc @@ -22,7 +22,7 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -32,7 +32,7 @@ namespace { int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -42,5 +42,5 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/xgc_split.cc b/test/xgc_split.cc index 6fd040b3c..0783069aa 100644 --- a/test/xgc_split.cc +++ b/test/xgc_split.cc @@ -18,7 +18,7 @@ void getConfig(int argc, char** argv, pcu::PCU* PCUObj) if (argc < 4) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -53,7 +53,7 @@ Migration* get_xgc_plan(pGeom g, pMesh m) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -94,6 +94,6 @@ int main(int argc, char** argv) pumi_mesh_delete(m); } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/zbalance.cc b/test/zbalance.cc index 15a66ed3a..0b50b5d96 100644 --- a/test/zbalance.cc +++ b/test/zbalance.cc @@ -18,14 +18,14 @@ int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -57,5 +57,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } diff --git a/test/zsplit.cc b/test/zsplit.cc index 6da7d94d3..a47f75889 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -52,7 +52,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - MPI_Finalize(); + pcu::PCU_Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -66,7 +66,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - MPI_Init(&argc,&argv); + pcu::PCU_Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -104,5 +104,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - MPI_Finalize(); + pcu::PCU_Finalize(); } From 6f7ec1aa09cb971ae74dab7e2cc4b93619f53b1e Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 24 Feb 2025 11:22:09 -0500 Subject: [PATCH 47/66] use static pcu object in capstone tests - example/mpi-nompi: use static pcu object instead of dynamically allocating. - test/cap*.cc: use static pcu object instead of dynamic allocation. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/hello.cc | 19 ++++++++++--------- example/mpi-nompi/test_coll.cc | 33 +++++++++++++++++---------------- test/capCheckParam.cc | 7 ++++--- test/capGeomTest.cc | 11 ++++++----- test/cap_closestPoint.cc | 7 ++++--- test/cap_inClosureOf.cc | 7 ++++--- 6 files changed, 45 insertions(+), 39 deletions(-) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index 8714f0177..737a5ecb1 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -13,18 +13,19 @@ void print_vector(const std::vector &v); int main(int argc, char** argv) { MPI_Init(&argc, &argv); - pcu::PCU *PCUObj = new pcu::PCU(MPI_COMM_WORLD); + { // pcu object scope + pcu::PCU PCUObj; // Print rank info. int rank, size; MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); if (rank == 0) std::cout << "MPI size: " << size << "; PCU size: " << - PCUObj->Peers() << std::endl; + PCUObj.Peers() << std::endl; for (int i = 0; i < size; ++i) { if (rank == i) std::cout << "Hello from MPI rank: " << rank << "; PCU rank: " << - PCUObj->Self() << std::endl; + PCUObj.Self() << std::endl; MPI_Barrier(MPI_COMM_WORLD); } // Test SCOREC functions. @@ -35,7 +36,7 @@ int main(int argc, char** argv) { int val = rank + 1, sum; MPI_Allreduce(&val, &sum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); int pval = rank + 1, psum; - psum = PCUObj->Add(pval); + psum = PCUObj.Add(pval); for (int i = 0; i < size; ++i) { if (rank == i) std::cout << "MPI(" << rank << ") sum: " << sum << @@ -45,8 +46,8 @@ int main(int argc, char** argv) { // Test Allgather std::vector vals1(size); MPI_Allgather(&val, 1, MPI_INT, vals1.data(), 1, MPI_INT, MPI_COMM_WORLD); - std::vector pvals1(PCUObj->Peers()); - PCUObj->Allgather(&val, pvals1.data(), 1); + std::vector pvals1(PCUObj.Peers()); + PCUObj.Allgather(&val, pvals1.data(), 1); for (int i = 0; i < size; ++i) { if (rank == i) { std::cout << "MPI(" << rank << ") gather: "; @@ -60,8 +61,8 @@ int main(int argc, char** argv) { int val2[2] = {val, -val}; std::vector vals2(2 * size); MPI_Allgather(val2, 2, MPI_INT, vals2.data(), 2, MPI_INT, MPI_COMM_WORLD); - std::vector pvals2(2 * PCUObj->Peers()); - PCUObj->Allgather(val2, pvals2.data(), 2); + std::vector pvals2(2 * PCUObj.Peers()); + PCUObj.Allgather(val2, pvals2.data(), 2); for (int i = 0; i < size; ++i) { if (rank == i) { std::cout << "MPI(" << rank << ") gather2: "; @@ -72,7 +73,7 @@ int main(int argc, char** argv) { } MPI_Barrier(MPI_COMM_WORLD); } - delete PCUObj; + } // pcu object scope MPI_Finalize(); return 0; } diff --git a/example/mpi-nompi/test_coll.cc b/example/mpi-nompi/test_coll.cc index cfab1816d..246b74d82 100644 --- a/example/mpi-nompi/test_coll.cc +++ b/example/mpi-nompi/test_coll.cc @@ -7,54 +7,55 @@ int main(int argc, char** argv) { MPI_Init(&argc, &argv); - pcu::PCU *PCUObj = new pcu::PCU; + { // pcu object scope + pcu::PCU PCUObj; // Print rank info. int rank, size; MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); if (rank == 0) std::cout << "MPI size: " << size << "; PCU size: " << - PCUObj->Peers() << std::endl; + PCUObj.Peers() << std::endl; #ifdef SCOREC_NO_MPI - PCU_ALWAYS_ASSERT(PCUObj->Self() == 0); - PCU_ALWAYS_ASSERT(PCUObj->Peers() == 1); + PCU_ALWAYS_ASSERT(PCUObj.Self() == 0); + PCU_ALWAYS_ASSERT(PCUObj.Peers() == 1); #else - PCU_ALWAYS_ASSERT(PCUObj->Self() == rank); - PCU_ALWAYS_ASSERT(PCUObj->Peers() == size); + PCU_ALWAYS_ASSERT(PCUObj.Self() == rank); + PCU_ALWAYS_ASSERT(PCUObj.Peers() == size); #endif // MPI Allreduce int val = rank + 1, sum; MPI_Allreduce(&val, &sum, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); - int pval = PCUObj->Self() + 1, psum; - psum = PCUObj->Add(pval); + int pval = PCUObj.Self() + 1, psum; + psum = PCUObj.Add(pval); for (int i = 0; i < size; ++i) { PCU_ALWAYS_ASSERT(sum == (size * (size + 1)) / 2); - PCU_ALWAYS_ASSERT(psum == (PCUObj->Peers() * (PCUObj->Peers() + 1)) / 2); + PCU_ALWAYS_ASSERT(psum == (PCUObj.Peers() * (PCUObj.Peers() + 1)) / 2); } // Test Allgather std::vector vals1(size); MPI_Allgather(&val, 1, MPI_INT, vals1.data(), 1, MPI_INT, MPI_COMM_WORLD); - std::vector pvals1(PCUObj->Peers()); - PCUObj->Allgather(&pval, pvals1.data(), 1); + std::vector pvals1(PCUObj.Peers()); + PCUObj.Allgather(&pval, pvals1.data(), 1); for (int i = 0; i < size; ++i) PCU_ALWAYS_ASSERT(vals1[i] == i + 1); - for (int i = 0; i < PCUObj->Peers(); ++i) + for (int i = 0; i < PCUObj.Peers(); ++i) PCU_ALWAYS_ASSERT(pvals1[i] == i + 1); int val2[2] = {val, -val}; std::vector vals2(2 * size); MPI_Allgather(val2, 2, MPI_INT, vals2.data(), 2, MPI_INT, MPI_COMM_WORLD); int pval2[2] = {pval, -pval}; - std::vector pvals2(2 * PCUObj->Peers()); - PCUObj->Allgather(pval2, pvals2.data(), 2); + std::vector pvals2(2 * PCUObj.Peers()); + PCUObj.Allgather(pval2, pvals2.data(), 2); for (int i = 0; i < size; ++i) { PCU_ALWAYS_ASSERT(vals2[i * 2] == i + 1); PCU_ALWAYS_ASSERT(vals2[i * 2 + 1] == -(i + 1)); } - for (int i = 0; i < PCUObj->Peers(); ++i) { + for (int i = 0; i < PCUObj.Peers(); ++i) { PCU_ALWAYS_ASSERT(pvals2[i * 2] == i + 1); PCU_ALWAYS_ASSERT(pvals2[i * 2 + 1] == -(i + 1)); } - delete PCUObj; + } // pcu object scope MPI_Finalize(); return 0; } diff --git a/test/capCheckParam.cc b/test/capCheckParam.cc index 472cfff7f..feeb49b38 100644 --- a/test/capCheckParam.cc +++ b/test/capCheckParam.cc @@ -28,10 +28,11 @@ void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* int main(int argc, char** argv) { pcu::PCU_Init(&argc, &argv); - pcu::PCU *PCUobj = new pcu::PCU; + { // pcu object scope + pcu::PCU PCUobj; if (argc != 2) { - if (PCUobj->Self() == 0) + if (PCUobj.Self() == 0) std::cerr << "usage: " << argv[0] << " \n"; return EXIT_FAILURE; } @@ -111,7 +112,7 @@ int main(int argc, char** argv) // check parametrization using capstone apis checkParametrization(m, g); - delete PCUobj; + } // pcu object scope pcu::PCU_Finalize(); } diff --git a/test/capGeomTest.cc b/test/capGeomTest.cc index 0c4d915cc..148d469c4 100644 --- a/test/capGeomTest.cc +++ b/test/capGeomTest.cc @@ -49,7 +49,8 @@ void visualizeEdges(gmi_model* model, int n, const char* fileName, pcu::PCU *PCU int main(int argc, char** argv) { pcu::PCU_Init(&argc, &argv); - pcu::PCU *PCUObj = new pcu::PCU; + { // pcu object scope + pcu::PCU PCUObj; gmi_register_mesh(); gmi_register_null(); @@ -117,7 +118,7 @@ int main(int argc, char** argv) gmi_register_cap(); - apf::Mesh2* mesh0 = apf::createMesh(m,g,PCUObj); + apf::Mesh2* mesh0 = apf::createMesh(m,g,&PCUObj); apf::writeVtkFiles("mesh_no_param", mesh0); gmi_model* model = gmi_import_cap(g); @@ -138,7 +139,7 @@ int main(int argc, char** argv) while( (ge = gmi_next(model, gi)) ){ std::stringstream name_str; name_str << "face_" << gmi_tag(model, ge) << "_mesh"; - visualizeFace(model, ge, 100, 100, name_str.str().c_str(), PCUObj); + visualizeFace(model, ge, 100, 100, name_str.str().c_str(), &PCUObj); } gmi_end(model, gi); @@ -146,7 +147,7 @@ int main(int argc, char** argv) printf("creating mesh with param field\n"); - apf::Mesh2* mesh = apf::createMesh(m,g,PCUObj); + apf::Mesh2* mesh = apf::createMesh(m,g,&PCUObj); apf::Field* pf = apf::createFieldOn(mesh, "param_field", apf::VECTOR); apf::Field* idf = apf::createFieldOn(mesh, "id", apf::SCALAR); apf::MeshEntity* e; @@ -164,7 +165,7 @@ int main(int argc, char** argv) gmi_cap_stop(); - delete PCUObj; + } // pcu object scope pcu::PCU_Finalize(); } diff --git a/test/cap_closestPoint.cc b/test/cap_closestPoint.cc index 65ba53e30..6c47aca6c 100644 --- a/test/cap_closestPoint.cc +++ b/test/cap_closestPoint.cc @@ -8,7 +8,8 @@ int main (int argc, char* argv[]) { pcu::PCU_Init(&argc, &argv); - pcu::PCU* PCUObj = new pcu::PCU; + { // pcu object scope + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_cap(); @@ -19,7 +20,7 @@ int main (int argc, char* argv[]) { "Mesh Database : Create", "Attribution Database : Create"); cs.load_files(v_string(1, creFile)); // 2. CreateMesh. - apf::Mesh2* m = apf::createMesh(cs.get_mesh(), cs.get_geometry(), PCUObj); + apf::Mesh2* m = apf::createMesh(cs.get_mesh(), cs.get_geometry(), &PCUObj); PCU_ALWAYS_ASSERT(m->canGetClosestPoint()); @@ -34,6 +35,6 @@ int main (int argc, char* argv[]) { PCU_ALWAYS_ASSERT((to - apf::Vector3(0.5, 0.34, 0.5)).getLength() < 0.0001); apf::destroyMesh(m); - delete PCUObj; + } // pcu object scope pcu::PCU_Finalize(); } diff --git a/test/cap_inClosureOf.cc b/test/cap_inClosureOf.cc index 2e93ac063..346d5a3aa 100644 --- a/test/cap_inClosureOf.cc +++ b/test/cap_inClosureOf.cc @@ -8,7 +8,8 @@ int main (int argc, char* argv[]) { pcu::PCU_Init(&argc, &argv); - pcu::PCU *PCUObj = new pcu::PCU; + { // pcu object scope + pcu::PCU PCUObj; lion_set_verbosity(1); gmi_register_cap(); @@ -19,7 +20,7 @@ int main (int argc, char* argv[]) { "Mesh Database : Create", "Attribution Database : Create"); cs.load_files(v_string(1, creFile)); // 2. CreateMesh. - apf::Mesh2* m = apf::createMesh(cs.get_mesh(), cs.get_geometry(), PCUObj); + apf::Mesh2* m = apf::createMesh(cs.get_mesh(), cs.get_geometry(), &PCUObj); // 3. Get region 1 ModelEntity*. apf::ModelEntity* rgn = m->findModelEntity(3, 1); PCU_ALWAYS_ASSERT(rgn); @@ -44,6 +45,6 @@ int main (int argc, char* argv[]) { PCU_ALWAYS_ASSERT(m->isInClosureOf(m->findModelEntity(0, 8), f1)); apf::destroyMesh(m); - delete PCUObj; + } // pcu object scope pcu::PCU_Finalize(); } From 9ac70dd566ebb79d2dfc827359c54f9f5bc4e16f Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 24 Feb 2025 11:32:43 -0500 Subject: [PATCH 48/66] fix bug in example project - example/mpi-nompi/hello.cc: update call using PCUObj address. Signed-off-by: Aiden Woodruff --- example/mpi-nompi/hello.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/mpi-nompi/hello.cc b/example/mpi-nompi/hello.cc index 737a5ecb1..7fa31ee5c 100644 --- a/example/mpi-nompi/hello.cc +++ b/example/mpi-nompi/hello.cc @@ -30,7 +30,7 @@ int main(int argc, char** argv) { } // Test SCOREC functions. gmi_register_mesh(); - apf::Mesh2* m = apf::makeMdsBox(1, 1, 1, 1, 1, 1, 0, PCUObj); + apf::Mesh2* m = apf::makeMdsBox(1, 1, 1, 1, 1, 1, 0, &PCUObj); apf::destroyMesh(m); // MPI Allreduce int val = rank + 1, sum; From cdf7e3fbaa371c600cd1adbaa7488e5556f5b4c2 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 24 Feb 2025 17:30:06 -0500 Subject: [PATCH 49/66] change PCU::Split to return std::unique_ptr - pcu/PCU.h: include and change PCU::Split signature to return std::unique_ptr. - pcu/PCU.cc: return unique_ptr in PCU::Split. - parma/group/parma_group.cc: update PCU::Split call. - phasta/phCook.cc: update to use unique_ptr. remove delete. - pumi/pumi_mesh.cc: update to use unique_ptr and remove delete. - test/repartition.cc: update to use unique_ptr. - test/split.cc: inline getGroupedPCU() and update to use unique_ptr. - test/ugrid.cc: inline getGroupedPCU() and update to use unique_ptr. - test/zsplit.cc: inline getGroupedPCU() and update to use unique_ptr. Signed-off-by: Aiden Woodruff --- parma/group/parma_group.cc | 4 +--- pcu/PCU.cc | 4 ++-- pcu/PCU.h | 3 ++- phasta/phCook.cc | 7 +++---- pumi/pumi_mesh.cc | 17 +++++++---------- test/repartition.cc | 4 ++-- test/split.cc | 15 ++++----------- test/ugrid.cc | 15 ++++----------- test/zsplit.cc | 15 ++++----------- 9 files changed, 29 insertions(+), 55 deletions(-) diff --git a/parma/group/parma_group.cc b/parma/group/parma_group.cc index c06e41fe6..4291bcd70 100644 --- a/parma/group/parma_group.cc +++ b/parma/group/parma_group.cc @@ -48,9 +48,7 @@ static void runInGroups( int groupRank = inMap(self); int group = groupMap(self); - auto groupedPCU = std::unique_ptr( - expandedPCU->Split(group, groupRank) - ); + auto groupedPCU = expandedPCU->Split(group, groupRank); if (m){ m->switchPCU(groupedPCU.get()); apf::remapPartition(m, inMap); diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 86f8e3f25..6fbf87e82 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -144,12 +144,12 @@ void PCU::Barrier() { pcu_barrier(mpi_, &(msg_->coll)); } int PCU::Or(int c) noexcept { return Max(c); } int PCU::And(int c) noexcept { return Min(c); } -PCU* PCU::Split(int color, int key) noexcept { +std::unique_ptr PCU::Split(int color, int key) noexcept { PCU_Comm newcomm; pcu_mpi_split(mpi_, color, key, &newcomm); PCU* splitpcu = new PCU(newcomm); splitpcu->OwnsComm(true); - return splitpcu; + return std::unique_ptr(splitpcu); } int PCU::Packed(int to_rank, size_t *size) noexcept { diff --git a/pcu/PCU.h b/pcu/PCU.h index 1c4ac335c..2f55dd12a 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -1,6 +1,7 @@ #ifndef SCOREC_PCU_H #define SCOREC_PCU_H +#include #include #include //va_list #include "pcu_defines.h" @@ -102,7 +103,7 @@ class PCU { * @param key used for subgroup ordering; specify 0 if you don't care. * @return a new communicator defined on the resulting subgroup. */ - PCU* Split(int color, int key) noexcept; + std::unique_ptr Split(int color, int key) noexcept; /*lesser-used APIs*/ int Packed(int to_rank, size_t *size) noexcept; diff --git a/phasta/phCook.cc b/phasta/phCook.cc index f277e4e73..6de8f399f 100644 --- a/phasta/phCook.cc +++ b/phasta/phCook.cc @@ -46,7 +46,7 @@ static void print_stats(const char* name, double value, pcu::PCU *pcu_obj) namespace { -pcu::PCU* createGroupComm(int splitFactor, pcu::PCU *PCUObj) +std::unique_ptr createGroupComm(int splitFactor, pcu::PCU *PCUObj) { int self = PCUObj->Self(); int groupRank = self / splitFactor; @@ -268,11 +268,10 @@ namespace chef { ph::BCs bcs; loadCommon(in, bcs, g, expandedPCUObj); const int worldRank = expandedPCUObj->Self(); - pcu::PCU *groupPCUObj = createGroupComm(in.splitFactor, expandedPCUObj); + auto groupPCUObj = createGroupComm(in.splitFactor, expandedPCUObj); if ((worldRank % in.splitFactor) == 0) - originalMain(m, in, g, plan, groupPCUObj); + originalMain(m, in, g, plan, groupPCUObj.get()); if(m != nullptr) m->switchPCU(expandedPCUObj); - delete groupPCUObj; if (in.simmetrixMesh == 0) m = repeatMdsMesh(m, g, plan, in.splitFactor, expandedPCUObj); if (in.simmetrixMesh == 0 && shrinkFactor > 1){ diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 6490a2147..94b00cda7 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -193,13 +193,12 @@ pMesh pumi_mesh_loadSerial(pGeom g, const char* filename, const char* mesh_type) } bool isMaster = pumi::instance()->getPCU()->Self() == 0; pMesh m = 0; - pcu::PCU *split_comm = pumi::instance()->getPCU()->Split( + std::unique_ptr split_comm = pumi::instance()->getPCU()->Split( pumi::instance()->getPCU()->Self(), 0 ); if (isMaster) - m = apf::loadMdsMesh(g->getGmi(), filename, split_comm); + m = apf::loadMdsMesh(g->getGmi(), filename, split_comm.get()); if (m != nullptr) m->switchPCU(pumi::instance()->getPCU()); - delete split_comm; pumi::instance()->mesh = expandMdsMesh(m, g->getGmi(), 1, m->getPCU()); return pumi::instance()->mesh; } @@ -225,15 +224,14 @@ pMesh pumi_mesh_load(pGeom g, const char* filename, int num_in_part, const char* bool isMaster = ((pcu_obj->Self() % num_target_part) == 0); pMesh m = 0; apf::Migration* plan = 0; - pcu::PCU *split_comm = pcu_obj->Split( + std::unique_ptr split_comm = pcu_obj->Split( pcu_obj->Self() % num_target_part, pcu_obj->Self() / num_target_part ); if (isMaster) { - m = apf::loadMdsMesh(g->getGmi(), filename, split_comm); + m = apf::loadMdsMesh(g->getGmi(), filename, split_comm.get()); plan = getPlan(m, num_target_part); } - if (m != nullptr) m->switchPCU(split_comm); - delete split_comm; + if (m != nullptr) m->switchPCU(split_comm.get()); pumi::instance()->mesh = apf::repeatMdsMesh(m, g->getGmi(), plan, num_target_part, pcu_obj); } else @@ -273,13 +271,12 @@ pMesh pumi_mesh_loadAll(pGeom g, const char* filename, bool stitch_link) else { double t0 = pcu::Time(); - pcu::PCU *split_comm = pumi::instance()->getPCU()->Split( + std::unique_ptr split_comm = pumi::instance()->getPCU()->Split( pumi::instance()->getPCU()->Self(), 0 ); // no pmodel & remote links setup - pumi::instance()->mesh = apf::loadSerialMdsMesh(g->getGmi(), filename, split_comm); + pumi::instance()->mesh = apf::loadSerialMdsMesh(g->getGmi(), filename, split_comm.get()); pumi::instance()->mesh->switchPCU(pumi::instance()->getPCU()); - delete split_comm; if (!pumi::instance()->getPCU()->Self()) lion_oprint(1,"serial mesh %s loaded in %f seconds\n", filename, pcu::Time() - t0); } diff --git a/test/repartition.cc b/test/repartition.cc index 6cc8766eb..9fb669d92 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -19,7 +19,7 @@ int inputPartCount = 1; struct CreateGroupCommResult{ bool isOriginal; - pcu::PCU *group_pcu_obj; + std::unique_ptr group_pcu_obj; }; void freeMesh(apf::Mesh* m) @@ -105,7 +105,7 @@ int main(int argc, char** argv) CreateGroupCommResult result = createGroupComm(&expanded_pcu_obj); if (result.isOriginal) - m = apf::loadMdsMesh(g, meshFile, result.group_pcu_obj); + m = apf::loadMdsMesh(g, meshFile, result.group_pcu_obj.get()); m = apf::expandMdsMesh(m, g, inputPartCount, &expanded_pcu_obj); balance(m); diff --git a/test/split.cc b/test/split.cc index 0a8d68619..e8350dad9 100644 --- a/test/split.cc +++ b/test/split.cc @@ -37,14 +37,6 @@ apf::Migration* getPlan(apf::Mesh* m) return plan; } -pcu::PCU* getGroupedPCU(pcu::PCU *PCUObj) -{ - int self = PCUObj->Self(); - int groupRank = self / partitionFactor; - int group = self % partitionFactor; - return PCUObj->Split(group, groupRank); -} - void getConfig(int argc, char** argv, pcu::PCU *PCUObj) { if ( argc != 5 ) { @@ -82,15 +74,16 @@ int main(int argc, char** argv) g = gmi_load(modelFile); apf::Mesh2* m = 0; apf::Migration* plan = 0; - pcu::PCU *groupedPCUObj = getGroupedPCU(&PCUObj); + auto groupedPCUObj = PCUObj.Split( + PCUObj.Self() % partitionFactor, PCUObj.Self() / partitionFactor + ); if (isOriginal) { - m = apf::loadMdsMesh(g, meshFile, groupedPCUObj); + m = apf::loadMdsMesh(g, meshFile, groupedPCUObj.get()); plan = getPlan(m); } //used switchPCU here to load the mesh on the groupedPCU, perform tasks and then call repeatMdsMesh //on the globalPCU if(m != nullptr) m->switchPCU(&PCUObj); - delete groupedPCUObj; m = repeatMdsMesh(m, g, plan, partitionFactor, &PCUObj); Parma_PrintPtnStats(m, ""); m->writeNative(outFile); diff --git a/test/ugrid.cc b/test/ugrid.cc index 45891f57d..45e7ff72e 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -18,14 +18,6 @@ apf::Migration* getPlan(apf::Mesh* m, const int partitionFactor) return plan; } -pcu::PCU* getGroupedPCU(const int partitionFactor, pcu::PCU *PCUObj) -{ - int self = PCUObj->Self(); - int groupRank = self / partitionFactor; - int group = self % partitionFactor; - return PCUObj->Split(group, groupRank); -} - int main(int argc, char** argv) { pcu::PCU_Init(&argc,&argv); @@ -45,9 +37,11 @@ int main(int argc, char** argv) gmi_model* g = gmi_load(".null"); apf::Mesh2* m = 0; apf::Migration* plan = 0; - pcu::PCU *groupedPCUObj = getGroupedPCU(partitionFactor, &PCUObj); + auto groupedPCUObj = PCUObj.Split( + PCUObj.Self() % partitionFactor, PCUObj.Self() / partitionFactor + ); if (isOriginal) { - m = apf::loadMdsFromUgrid(g, argv[1], groupedPCUObj); + m = apf::loadMdsFromUgrid(g, argv[1], groupedPCUObj.get()); apf::deriveMdsModel(m); m->verify(); plan = getPlan(m, partitionFactor); @@ -55,7 +49,6 @@ int main(int argc, char** argv) //used switchPCU here to load the mesh on the groupedPCU, perform tasks and then call repeatMdsMesh //on the globalPCU if(m != nullptr) m->switchPCU(&PCUObj); - delete groupedPCUObj; m = repeatMdsMesh(m, g, plan, partitionFactor, &PCUObj); Parma_PrintPtnStats(m, ""); gmi_write_dmg(g,argv[2]); diff --git a/test/zsplit.cc b/test/zsplit.cc index a47f75889..5c66fd6a2 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -39,14 +39,6 @@ apf::Migration* getPlan(apf::Mesh* m) return plan; } -pcu::PCU* getGroupedPCU(pcu::PCU *PCUObj) -{ - int self = PCUObj->Self(); - int groupRank = self / partitionFactor; - int group = self % partitionFactor; - return PCUObj->Split(group, groupRank); -} - void getConfig(int argc, char** argv, pcu::PCU *PCUObj) { if ( argc != 5 ) { @@ -84,15 +76,16 @@ int main(int argc, char** argv) g = gmi_load(modelFile); apf::Mesh2* m = 0; apf::Migration* plan = 0; - pcu::PCU *groupedPCUObj = getGroupedPCU(&PCUObj); + auto groupedPCUObj = PCUObj.Split( + PCUObj.Self() % partitionFactor, PCUObj.Self() / partitionFactor + ); if (isOriginal) { - m = apf::loadMdsMesh(g, meshFile, groupedPCUObj); + m = apf::loadMdsMesh(g, meshFile, groupedPCUObj.get()); plan = getPlan(m); } //used switchPCU here to load the mesh on the groupedPCU, perform tasks and then call repeatMdsMesh //on the globalPCU if(m != nullptr) m->switchPCU(&PCUObj); - delete groupedPCUObj; m = apf::repeatMdsMesh(m, g, plan, partitionFactor, &PCUObj); Parma_PrintPtnStats(m, ""); m->writeNative(outFile); From 95110ebf181ef196e0d4a871ba5092bddcfb601a Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 24 Feb 2025 17:48:22 -0500 Subject: [PATCH 50/66] add PCU::DupComm - pcu/PCU.h: add PCU::DupComm. - pcu/PCU.cc: add DupComm definition. - pcu/pcu_mpi.[ch]: add pcu_mpi layer. - pcu/pcu_pmpi.[ch]: add pcu_pmpi layer. - pcu/pcu_pnompi.c: add stub pcu_pmpi_dup implementation. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 5 +++++ pcu/PCU.h | 14 ++++++++++++++ pcu/pcu_mpi.c | 4 ++++ pcu/pcu_mpi.h | 1 + pcu/pcu_pmpi.c | 5 +++++ pcu/pcu_pmpi.h | 1 + pcu/pcu_pnompi.c | 8 +++++++- 7 files changed, 37 insertions(+), 1 deletion(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 6fbf87e82..f2ce7cf2a 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -151,6 +151,11 @@ std::unique_ptr PCU::Split(int color, int key) noexcept { splitpcu->OwnsComm(true); return std::unique_ptr(splitpcu); } +PCU_Comm PCU::DupComm() const noexcept { + PCU_Comm newcomm; + pcu_mpi_dup(mpi_, &newcomm); + return newcomm; +} int PCU::Packed(int to_rank, size_t *size) noexcept { if ((to_rank < 0) || (to_rank >= Peers())) diff --git a/pcu/PCU.h b/pcu/PCU.h index 2f55dd12a..98f715246 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -105,6 +105,20 @@ class PCU { */ std::unique_ptr Split(int color, int key) noexcept; + /** + * @brief Duplicate the underlying communicator. + * + * It is the user's responsiblity to cleanup the returned communicator. This + * function may be used to initialize other libraries using the PCU-defined + * communication group. + * + * If SCOREC::core was compiled with the SCOREC_NO_MPI flag, the return value + * is not meaningful. + * + * @return The new duplicated communicator. + */ + PCU_Comm DupComm() const noexcept; + /*lesser-used APIs*/ int Packed(int to_rank, size_t *size) noexcept; int From(int *from_rank) noexcept; diff --git a/pcu/pcu_mpi.c b/pcu/pcu_mpi.c index faf92eec2..652deebcd 100644 --- a/pcu/pcu_mpi.c +++ b/pcu/pcu_mpi.c @@ -67,3 +67,7 @@ int pcu_mpi_split(const pcu_mpi_t* mpi, int color, int key, PCU_Comm* newcomm) { return pcu_pmpi_split(mpi, color, key, newcomm); } + +int pcu_mpi_dup(const pcu_mpi_t* mpi, PCU_Comm* newcomm) { + return pcu_pmpi_dup(mpi, newcomm); +} diff --git a/pcu/pcu_mpi.h b/pcu/pcu_mpi.h index d70b7b41f..5a23162da 100644 --- a/pcu/pcu_mpi.h +++ b/pcu/pcu_mpi.h @@ -46,6 +46,7 @@ bool pcu_mpi_receive(const pcu_mpi_t*, pcu_message* m, PCU_Comm comm); void pcu_mpi_init(PCU_Comm comm, pcu_mpi_t* mpi); void pcu_mpi_finalize(pcu_mpi_t* mpi); int pcu_mpi_split(const pcu_mpi_t* mpi, int color, int key, PCU_Comm* newcomm); +int pcu_mpi_dup(const pcu_mpi_t* mpi, PCU_Comm* newcomm); #ifdef __cplusplus } diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 36b3ff6ab..6daafcbd8 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -42,6 +42,11 @@ int pcu_pmpi_split(const pcu_mpi_t *mpi, int color, int key, MPI_Comm* newcomm) return MPI_Comm_split(mpi->original_comm,color,key,newcomm); } +int pcu_pmpi_dup(const pcu_mpi_t *mpi, PCU_Comm* newcomm) +{ + return MPI_Comm_dup(mpi->user_comm, newcomm); +} + int pcu_pmpi_size(const pcu_mpi_t* self) { return self->size; diff --git a/pcu/pcu_pmpi.h b/pcu/pcu_pmpi.h index dcd8ee71b..fb9f0e134 100644 --- a/pcu/pcu_pmpi.h +++ b/pcu/pcu_pmpi.h @@ -25,6 +25,7 @@ bool pcu_pmpi_receive(const pcu_mpi_t *, pcu_message *m, PCU_Comm comm); bool pcu_pmpi_done(const pcu_mpi_t *, pcu_message *m); int pcu_pmpi_split(const pcu_mpi_t *, int color, int key, PCU_Comm* newcomm); +int pcu_pmpi_dup(const pcu_mpi_t *, PCU_Comm* newcomm); #ifdef __cplusplus } diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 82b4236d8..454d639e5 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -119,7 +119,13 @@ void pcu_pmpi_finalize(pcu_mpi_t* self) { int pcu_pmpi_split(const pcu_mpi_t *mpi, int c, int k, PCU_Comm *cm2) { (void) mpi, (void) c, (void) k, (void) cm2; - return 1; + return 0; +} + +int pcu_pmpi_dup(const pcu_mpi_t *mpi, PCU_Comm* newcomm) { + (void) mpi; + *newcomm = mpi->user_comm; + return 0; } int pcu_pmpi_size(const pcu_mpi_t *self) { From 0ce789790a419ee281fe849fe5e18afb8084f7a6 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 25 Feb 2025 12:05:59 -0500 Subject: [PATCH 51/66] remove PCU original comm and ownership and use Dup - pcu/PCU.h: remove GetMPIComm, GetComm, SwitchMPIComm, SwitchComm, OwnsComm, OwnsComm(bool). - (PCU::Split): change return type to int and set output pointer. - update documentation. - pcu/PCU.cc: remove GetMPIComm, GetComm, SwitchMPIComm, SwitchComm, OwnsComm. - (PCU::Split): remove OwnsComm call. - (PCU::DupComm): return int and set pointer. - pcu/pcu_mpi.h: remove pcu_mpi_struct original_comm and owned. - pcu/pcu_pmpi.c (pcu_pmpi_init): do not copy original comm and remove self->owned. - (pcu_pmpi_finalize): remove MPI_Comm_free for owned original_comm. - (pcu_pmpi_split): split over user_comm. - pcu/pcu_pnompi.c: update init and finalize. - pcu/PCU_C.h: remove Switch_Comm and Get_Comm. - add Comm_Dup and Comm_Split. - pcu/pcu_c.cc: remove Switch_Comm and Get_Comm. add Comm_Dup with pointer to newpcu that releases the unique_ptr and Comm_Split. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 24 ++---------------------- pcu/PCU.h | 33 +++------------------------------ pcu/PCU_C.h | 7 +++---- pcu/pcu_c.cc | 42 +++++++++++++++++------------------------- pcu/pcu_mpi.h | 2 -- pcu/pcu_pmpi.c | 9 +-------- pcu/pcu_pnompi.c | 2 -- 7 files changed, 26 insertions(+), 93 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index f2ce7cf2a..0727be29b 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -148,13 +148,10 @@ std::unique_ptr PCU::Split(int color, int key) noexcept { PCU_Comm newcomm; pcu_mpi_split(mpi_, color, key, &newcomm); PCU* splitpcu = new PCU(newcomm); - splitpcu->OwnsComm(true); return std::unique_ptr(splitpcu); } -PCU_Comm PCU::DupComm() const noexcept { - PCU_Comm newcomm; - pcu_mpi_dup(mpi_, &newcomm); - return newcomm; +int PCU::DupComm(PCU_Comm* newcomm) const noexcept { + return pcu_mpi_dup(mpi_, newcomm); } int PCU::Packed(int to_rank, size_t *size) noexcept { @@ -280,23 +277,6 @@ PCU &PCU::operator=(PCU && other) noexcept { std::swap(msg_, other.msg_); return *this; } -PCU_Comm PCU::GetMPIComm() const noexcept { return GetComm(); } -PCU_Comm PCU::GetComm() const noexcept { return mpi_->original_comm; } -bool PCU::OwnsComm() const noexcept { return mpi_->owned; } -void PCU::OwnsComm(bool on) const noexcept { mpi_->owned = on ? 1 : 0; } - -PCU_Comm PCU::SwitchMPIComm(PCU_Comm newcomm) noexcept { - return SwitchComm(newcomm); -} -PCU_Comm PCU::SwitchComm(PCU_Comm newcomm) noexcept { - if(newcomm == mpi_->original_comm) { - return mpi_->original_comm; - } - auto original_comm = mpi_->original_comm; - pcu_mpi_finalize(mpi_); - pcu_mpi_init(newcomm, mpi_); - return original_comm; -} /* template implementations */ template void PCU::Add(T *p, size_t n) noexcept { diff --git a/pcu/PCU.h b/pcu/PCU.h index 98f715246..9c6f77470 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -27,23 +27,6 @@ class PCU { * @return The number of ranks in the communicator. */ [[nodiscard]] int Peers() const noexcept; - [[deprecated("Use PCU::GetComm instead.")]] - [[nodiscard]] PCU_Comm GetMPIComm() const noexcept; - /** - * @brief Get the underlying communicator which may be an MPI_Comm. - */ - [[nodiscard]] PCU_Comm GetComm() const noexcept; - /** @brief Check if the original PCU_Comm is owned by this object. - * If true, it will be freed during destruction. */ - bool OwnsComm() const noexcept; - /** @brief Set ownership of the orignal PCU_Comm passed to the constructor. - * - * This function can enable or disable ownership. If a communicator created - * with PCU::Split() is disowned, it should be freed by the user. - * - * @param on true to enable ownership. - */ - void OwnsComm(bool on) const noexcept; [[nodiscard]] PCU_t GetCHandle() {PCU_t h; h.ptr=this; return h;} /*recommended message passing API*/ @@ -115,9 +98,10 @@ class PCU { * If SCOREC::core was compiled with the SCOREC_NO_MPI flag, the return value * is not meaningful. * - * @return The new duplicated communicator. + * @param[out] newcomm The output address for the new communicator copy. + * @return 0 on success. */ - PCU_Comm DupComm() const noexcept; + int DupComm(PCU_Comm* newcomm) const noexcept; /*lesser-used APIs*/ int Packed(int to_rank, size_t *size) noexcept; @@ -130,17 +114,6 @@ class PCU { /* Debug functions */ void DebugOpen() noexcept; - [[deprecated("Use PCU::SwitchComm instead.")]] -#if __cplusplus >= 201703L - [[nodiscard]] -#endif - PCU_Comm SwitchMPIComm(PCU_Comm) noexcept; - -#if __cplusplus >= 201703L - [[nodiscard]] -#endif - PCU_Comm SwitchComm(PCU_Comm) noexcept; - private: pcu_msg_struct *msg_; pcu_mpi_struct *mpi_; diff --git a/pcu/PCU_C.h b/pcu/PCU_C.h index 2f1ff8010..43fb33aa0 100644 --- a/pcu/PCU_C.h +++ b/pcu/PCU_C.h @@ -21,6 +21,9 @@ int PCU_Comm_Free(PCU_t* h); int PCU_Comm_Self(PCU_t h); int PCU_Comm_Peers(PCU_t h); +int PCU_Comm_Dup(PCU_t h, PCU_Comm* newcomm); +void PCU_Comm_Split(PCU_t h, int color, int key, PCU_t* newpcu); + /*recommended message passing API*/ void PCU_Comm_Begin(PCU_t h); int PCU_Comm_Pack(PCU_t h, int to_rank, const void* data, size_t size); @@ -95,10 +98,6 @@ int PCU_Comm_Size(PCU_t h, int* size); /*deprecated method enum*/ -/*special MPI_Comm replacement API*/ -void PCU_Switch_Comm(PCU_t h, PCU_Comm new_comm); -PCU_Comm PCU_Get_Comm(PCU_t h); - /*stack trace helpers using GNU/Linux*/ void PCU_Protect(void); diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 34b0d3733..86d922e41 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -36,6 +36,23 @@ int PCU_Comm_Peers(PCU_t h) { return static_cast(h.ptr)->Peers(); } +int PCU_Comm_Dup(PCU_t h, PCU_Comm* newcomm) { + if (h.ptr == nullptr) + reel_fail("PCU_Comm_Dup called before PCU_Comm_Init"); + return static_cast(h.ptr)->DupComm(newcomm); +} + +void PCU_Comm_Split(PCU_t h, int color, int key, PCU_t* newpcu) { + if (h.ptr == nullptr) + reel_fail("PCU_Comm_Split called before PCU_Comm_Init"); + if (newpcu == nullptr) + reel_fail("PCU_Comm_Split received NULL newpcu."); + if (newpcu->ptr != nullptr) + reel_fail("PCU_Comm_Split received an initialized newpcu."); + auto newpcu_ptr = static_cast(h.ptr)->Split(color, key); + newpcu->ptr = newpcu_ptr.release(); +} + void PCU_Comm_Begin(PCU_t h) { if (h.ptr == nullptr) reel_fail("Comm_Begin called before Comm_Init"); @@ -369,7 +386,6 @@ int PCU_Comm_Size(PCU_t h, int *size) { bool PCU_Comm_Initialized(PCU_t h) { return h.ptr != nullptr; } - /** \brief Returns in * \a size the number of bytes being sent to \a to_rank. \details Returns the size of the buffer being sent to \a to_rank. This function should be called after PCU_Comm_Start and before @@ -467,30 +483,6 @@ void *PCU_Comm_Extract(PCU_t h, size_t size) { return static_cast(h.ptr)->Extract(size); } -/** \brief Reinitializes PCU with a new MPI communicator. - \details All of PCU's logic is based off two duplicates - of this communicator, so you can safely get PCU to act - on sub-groups of processes using this function. - This call should be collective over all processes - in the previous communicator. This is a very heavy weight function - and should be used sparingly. - */ -void PCU_Switch_Comm(PCU_t h, PCU_Comm new_comm) { - if (h.ptr == nullptr) - reel_fail("Switch_Comm called before Comm_Init"); - static_cast(h.ptr)->SwitchComm(new_comm); -} - -/** \brief Return the current MPI communicator - \details Returns the communicator given to the - most recent PCU_Switch_Comm call, or MPI_COMM_WORLD - otherwise. - */ -PCU_Comm PCU_Get_Comm(PCU_t h) { - if (h.ptr == nullptr) - reel_fail("Get_Comm called before Comm_Init"); - return static_cast(h.ptr)->GetComm(); -} /** \brief Return the time in seconds since some time in the past */ diff --git a/pcu/pcu_mpi.h b/pcu/pcu_mpi.h index 5a23162da..44e42c260 100644 --- a/pcu/pcu_mpi.h +++ b/pcu/pcu_mpi.h @@ -29,12 +29,10 @@ void pcu_free_message(pcu_message* m); struct pcu_mpi_struct { - PCU_Comm original_comm; PCU_Comm user_comm; PCU_Comm coll_comm; int rank; int size; - int owned; }; typedef struct pcu_mpi_struct pcu_mpi_t; diff --git a/pcu/pcu_pmpi.c b/pcu/pcu_pmpi.c index 6daafcbd8..15a8752b7 100644 --- a/pcu/pcu_pmpi.c +++ b/pcu/pcu_pmpi.c @@ -18,28 +18,21 @@ bool pcu_pmpi_receive2(const pcu_mpi_t*, pcu_message* m, int tag, MPI_Comm comm) void pcu_pmpi_init(MPI_Comm comm, pcu_mpi_t* self) { - self->original_comm = comm; MPI_Comm_dup(comm,&(self->user_comm)); MPI_Comm_dup(comm,&(self->coll_comm)); MPI_Comm_size(comm,&(self->size)); MPI_Comm_rank(comm,&(self->rank)); - self->owned = 0; } void pcu_pmpi_finalize(pcu_mpi_t* self) { MPI_Comm_free(&(self->user_comm)); MPI_Comm_free(&(self->coll_comm)); - // Prevent accidental freeing of MPI_COMM_WORLD. - int result; - MPI_Comm_compare(self->original_comm, MPI_COMM_WORLD, &result); - if (self->owned && result != MPI_IDENT) - MPI_Comm_free(&(self->original_comm)); } int pcu_pmpi_split(const pcu_mpi_t *mpi, int color, int key, MPI_Comm* newcomm) { - return MPI_Comm_split(mpi->original_comm,color,key,newcomm); + return MPI_Comm_split(mpi->user_comm,color,key,newcomm); } int pcu_pmpi_dup(const pcu_mpi_t *mpi, PCU_Comm* newcomm) diff --git a/pcu/pcu_pnompi.c b/pcu/pcu_pnompi.c index 454d639e5..900641f66 100644 --- a/pcu/pcu_pnompi.c +++ b/pcu/pcu_pnompi.c @@ -104,12 +104,10 @@ void free_nompi_msg(NoMpiMsg* msg) // void pcu_pmpi_init(PCU_Comm comm, pcu_mpi_t *self) { - self->original_comm = comm; self->user_comm = comm+1; self->coll_comm = comm+2; self->size = 1; self->rank = 0; - self->owned = 0; } void pcu_pmpi_finalize(pcu_mpi_t* self) { From 7d6dbd7a78240fd0d2ef1bb87c3935db53d3b8ac Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 25 Feb 2025 12:53:55 -0500 Subject: [PATCH 52/66] add errors when using nompi with Zoltan/CGNS - CMakeLists.txt: add error when SCOREC_NO_MPI and ENABLE_CGNS. - zoltan/CMakeLists.txt: add error when SCOREC_NO_MPI and ENABLE_ZOLTAN. Signed-off-by: Aiden Woodruff --- CMakeLists.txt | 3 +++ zoltan/CMakeLists.txt | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b1f0ebc7..16b13ba2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,9 @@ endif() # option(SCOREC_NO_MPI "Disable MPI support. When enabled only serial execution is supported." OFF) message(STATUS "SCOREC_NO_MPI: ${SCOREC_NO_MPI}") +if(SCOREC_NO_MPI AND ENABLE_CGNS) + message(FATAL_ERROR "SCOREC_NO_MPI is incompatible with CGNS.") +endif() # Set some default compiler flags that should always be used if(NOT USE_XSDK_DEFAULTS) diff --git a/zoltan/CMakeLists.txt b/zoltan/CMakeLists.txt index 84473e02e..92e9638a2 100644 --- a/zoltan/CMakeLists.txt +++ b/zoltan/CMakeLists.txt @@ -9,6 +9,10 @@ xsdk_add_tpl(ZOLTAN) xsdk_add_tpl(PARMETIS) message(STATUS "ENABLE_ZOLTAN: " ${ENABLE_ZOLTAN}) +if(SCOREC_NO_MPI AND ENABLE_ZOLTAN) + message(FATAL_ERROR "SCOREC_NO_MPI is incompatible with Zoltan.") +endif() + # Let CMake know where to find custom find package implementations set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} From f192d2dfc5fe644d2528d66a167a98266f1fa333 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 25 Feb 2025 14:51:42 -0500 Subject: [PATCH 53/66] use DupComm in apfZoltan - zoltan/apfZoltanCallbacks.cc: use DupComm and free our duplicate after Zoltan_Create. Signed-off-by: Aiden Woodruff --- zoltan/apfZoltanCallbacks.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zoltan/apfZoltanCallbacks.cc b/zoltan/apfZoltanCallbacks.cc index 63bed1064..7fe724fc5 100644 --- a/zoltan/apfZoltanCallbacks.cc +++ b/zoltan/apfZoltanCallbacks.cc @@ -271,9 +271,12 @@ ZoltanData::ZoltanData(ZoltanMesh* zb_) : zb(zb_) MPI_Comm comm; if (zb->isLocal) comm = MPI_COMM_SELF; - else - comm = zb->mesh->getPCU()->GetMPIComm(); + else { + zb->mesh->getPCU()->DupComm(&comm); + } ztn =Zoltan_Create(comm); + if (!zb->isLocal) + MPI_Comm_free(&comm); // Zoltan duplicates too, so free our reference. import_gids = NULL; import_lids = NULL; import_procs = NULL; From 006947468405b1e31a3a22407d10f38fa09c8236 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 25 Feb 2025 14:53:24 -0500 Subject: [PATCH 54/66] fix pumi_mesh switchPCU - pumi/pumi_mesh.cc (pumi_mesh_load): switch back to original PCU object instead of split (fixing error introduced by 46be470). Signed-off-by: Aiden Woodruff --- pumi/pumi_mesh.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 94b00cda7..26d0a764d 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -231,7 +231,7 @@ pMesh pumi_mesh_load(pGeom g, const char* filename, int num_in_part, const char* m = apf::loadMdsMesh(g->getGmi(), filename, split_comm.get()); plan = getPlan(m, num_target_part); } - if (m != nullptr) m->switchPCU(split_comm.get()); + if (m != nullptr) m->switchPCU(pcu_obj); pumi::instance()->mesh = apf::repeatMdsMesh(m, g->getGmi(), plan, num_target_part, pcu_obj); } else From 07232e81062b5fe7fdea11950f8c9fcadbdf9568 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Wed, 26 Feb 2025 23:24:30 -0500 Subject: [PATCH 55/66] fix pumi_mesh.cc errors introduced by 36b09bd7c - pumi/pumi_mesh.cc (pumi_mesh_setCount): set array elements, not array pointer. - (pumi_mesh_print): fix PCU::Add array sizes. - replace memcpy with for loops. Signed-off-by: Aiden Woodruff --- pumi/pumi_mesh.cc | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/pumi/pumi_mesh.cc b/pumi/pumi_mesh.cc index 26d0a764d..017b25769 100644 --- a/pumi/pumi_mesh.cc +++ b/pumi/pumi_mesh.cc @@ -329,7 +329,7 @@ void pumi_mesh_setCount(pMesh m, pOwnership o) m->end(it); pumi::instance()->num_own_ent[dim] = n; } - pumi::instance()->num_global_ent = pumi::instance()->num_own_ent; + pumi::instance()->num_global_ent[dim] = pumi::instance()->num_own_ent[dim]; } m->getPCU()->Add(pumi::instance()->num_global_ent, 4); #ifdef DEBUG @@ -419,17 +419,12 @@ void pumi_mesh_print (pMesh m, bool print_ent) int* global_local_entity_count = new int[4*m->getPCU()->Peers()]; int* global_own_entity_count = new int[4*m->getPCU()->Peers()]; - memcpy( - global_local_entity_count, local_entity_count, - sizeof(int) * 4 * m->getPCU()->Peers() - ); - m->getPCU()->Add(global_local_entity_count, 4); - - memcpy( - global_own_entity_count, own_entity_count, - sizeof(int) * 4 * m->getPCU()->Peers() - ); - m->getPCU()->Add(global_own_entity_count, 4); + for (int i = 0; i < 4 * m->getPCU()->Peers(); ++i) { + global_local_entity_count[i] = local_entity_count[i]; + global_own_entity_count[i] = own_entity_count[i]; + } + m->getPCU()->Add(global_local_entity_count, 4*m->getPCU()->Peers()); + m->getPCU()->Add(global_own_entity_count, 4*m->getPCU()->Peers()); if (!m->getPCU()->Self()) { From 262a5c9b62c0d15458692afbdc46dc632ef36762 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Fri, 28 Feb 2025 10:19:20 -0500 Subject: [PATCH 56/66] remove undefined PCU_GetGlobal - pcu/PCU.h: remove undefined and unused PCU_GetGlobal. - pcu/PCU_C.h: remove undefined and unused PCU_Get_Global_Handle. Signed-off-by: Aiden Woodruff --- pcu/PCU.h | 2 -- pcu/PCU_C.h | 4 ---- 2 files changed, 6 deletions(-) diff --git a/pcu/PCU.h b/pcu/PCU.h index 9c6f77470..d672674e4 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -144,8 +144,6 @@ int PCU_Init(int *argc, char ***argv); */ int PCU_Finalize(); -PCU* PCU_GetGlobal(); - /* explicit instantiations of template functions */ #define PCU_EXPL_INST_DECL(T) \ extern template void PCU::Add(T * p, size_t n) noexcept; \ diff --git a/pcu/PCU_C.h b/pcu/PCU_C.h index 43fb33aa0..75bd73dc5 100644 --- a/pcu/PCU_C.h +++ b/pcu/PCU_C.h @@ -107,10 +107,6 @@ double PCU_Time(void); /*Memory usage*/ double PCU_GetMem(void); -/*Access global variable*/ -PCU_t PCU_Get_Global_Handle(void); - - #ifdef __cplusplus } /* extern "C" */ #endif From f11237b5b2a3cb6b788b337c8cacf4689db1d92c Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 3 Mar 2025 18:39:19 -0500 Subject: [PATCH 57/66] change PCU_Init to avoid re-initializing MPI - pcu/PCU.h (pcu::PCU_Init): change return type to void. - remove @return clause. - (pcu::PCU_Finalize): change return type to void. - remove @return clause. - pcu/PCU.cc (pcu::PCU_Init): only call MPI_Init if not previously initialized. - (pcu::PCU_Finalize): only finalize if not previously finalized. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 15 ++++++++------- pcu/PCU.h | 8 ++------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 0727be29b..20abc8968 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -52,20 +52,21 @@ #include namespace pcu { -int PCU_Init(int *argc, char ***argv) { +void PCU_Init(int *argc, char ***argv) { #ifndef SCOREC_NO_MPI - return MPI_Init(argc, argv); + int flag; + MPI_Initialized(&flag); + if (!flag) MPI_Init(argc, argv); #else (void) argc, (void) argv; - return 0; #endif } -int PCU_Finalize() { +void PCU_Finalize() { #ifndef SCOREC_NO_MPI - return MPI_Finalize(); -#else - return 0; + int flag; + MPI_Finalized(&flag); + if (!flag) MPI_Finalize(); #endif } diff --git a/pcu/PCU.h b/pcu/PCU.h index d672674e4..89548647b 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -130,19 +130,15 @@ void Protect() noexcept; * * This may be MPI (or a stub, given SCOREC_NO_MPI). This function abstracts * the difference. - * - * @return 0 on success, nonzero otherwise. */ -int PCU_Init(int *argc, char ***argv); +void PCU_Init(int *argc, char ***argv); /** * @brief Finalize the underlying parallel library. * * This may be MPI (or a stub, given SCOREC_NO_MPI). This function abstracts * the difference. - * - * @return 0 on success, nonzero otherwise. */ -int PCU_Finalize(); +void PCU_Finalize(); /* explicit instantiations of template functions */ #define PCU_EXPL_INST_DECL(T) \ From fa2e70b32427b5d2c9ea80825afb3383fc68cc45 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 3 Mar 2025 19:06:59 -0500 Subject: [PATCH 58/66] change pcu::PCU_Init to pcu::Init - pcu/PCU.h: rename PCU_Init to Init and PCU_Finalize to Finalize. - pcu/PCU.cc: rename functions. - pcu/PCU_C.h: add PCU_Init and PCU_Finalize to call pcu::Init and pcu::Finalize. - pcu/pcu_c.cc: add PCU_Init and PCU_Finalize definitions. - test/*.cc phasta/*.cc: replace PCU_Init with Init and PCU_Finalize with Finalize. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 4 ++-- pcu/PCU.h | 4 ++-- pcu/PCU_C.h | 3 +++ pcu/pcu_c.cc | 8 ++++++++ phasta/adaptLvlSet_loop.cc | 4 ++-- phasta/chef.cc | 4 ++-- phasta/chefStream.cc | 4 ++-- phasta/condense.cc | 6 +++--- phasta/cut_interface.cc | 4 ++-- phasta/migrate_interface.cc | 6 +++--- phasta/ph_convert.cc | 4 ++-- phasta/readUrPrep.cc | 4 ++-- phasta/threshold.cc | 4 ++-- test/1d.cc | 4 ++-- test/H1Shapes.cc | 4 ++-- test/L2Shapes.cc | 4 ++-- test/align.cc | 4 ++-- test/aniso_ma_test.cc | 4 ++-- test/ansys.cc | 6 +++--- test/assert_timing.cc | 4 ++-- test/balance.cc | 4 ++-- test/bezierElevation.cc | 4 ++-- test/bezierMesh.cc | 4 ++-- test/bezierMisc.cc | 4 ++-- test/bezierRefine.cc | 4 ++-- test/bezierShapeEval.cc | 6 +++--- test/bezierSubdivision.cc | 4 ++-- test/bezierValidity.cc | 4 ++-- test/box.cc | 6 +++--- test/cap2vtk.cc | 4 ++-- test/capCheckParam.cc | 4 ++-- test/capGeomTest.cc | 4 ++-- test/capVol.cc | 6 +++--- test/cap_closestPoint.cc | 4 ++-- test/cap_inClosureOf.cc | 4 ++-- test/cgns.cc | 10 +++++----- test/classifyThenAdapt.cc | 4 ++-- test/collapse.cc | 6 +++--- test/construct.cc | 4 ++-- test/constructThenGhost.cc | 4 ++-- test/construct_bottom_up.cc | 4 ++-- test/convert.cc | 4 ++-- test/crack_test.cc | 6 +++--- test/create_mis.cc | 6 +++--- test/curve_to_bezier.cc | 8 ++++---- test/curvetest.cc | 4 ++-- test/degenerateSurfs.cc | 6 +++--- test/describe.cc | 4 ++-- test/dg_ma_test.cc | 4 ++-- test/elmBalance.cc | 6 +++--- test/embedded_edges.cc | 4 ++-- test/extrude.cc | 6 +++--- test/fieldReduce.cc | 6 +++--- test/field_io.cc | 4 ++-- test/fixDisconnected.cc | 6 +++--- test/fixlayer.cc | 4 ++-- test/fixshape.cc | 4 ++-- test/fusion.cc | 4 ++-- test/fusion2.cc | 4 ++-- test/fusion3.cc | 4 ++-- test/gap.cc | 6 +++--- test/generate.cc | 6 +++--- test/ghost.cc | 6 +++--- test/ghostEdge.cc | 4 ++-- test/ghostMPAS.cc | 4 ++-- test/gmsh.cc | 6 +++--- test/graphdist.cc | 6 +++--- test/hierarchic.cc | 4 ++-- test/highOrderSizeFields.cc | 4 ++-- test/highOrderSolutionTransfer.cc | 4 ++-- test/icesheet.cc | 4 ++-- test/inClosureOf_test.cc | 4 ++-- test/intrude.cc | 6 +++--- test/loadPart.cc | 6 +++--- test/ma_insphere.cc | 4 ++-- test/ma_test.cc | 4 ++-- test/ma_test_analytic_model.cc | 4 ++-- test/makeAllCavities.cc | 10 +++++----- test/matchedNodeElmReader.cc | 4 ++-- test/measureAnisoStats.cc | 6 +++--- test/measureIsoStats.cc | 6 +++--- test/mixedNumbering.cc | 4 ++-- test/mkmodel.cc | 6 +++--- test/mktopomodel.cc | 6 +++--- test/modelInfo.cc | 6 +++--- test/moving.cc | 4 ++-- test/nedelecShapes.cc | 4 ++-- test/nektar_align.cc | 4 ++-- test/neper.cc | 6 +++--- test/newdim.cc | 4 ++-- test/osh2smb.cc | 6 +++--- test/ph_adapt.cc | 4 ++-- test/poisson.cc | 4 ++-- test/print_pumipic_partition.cc | 8 ++++---- test/ptnParma.cc | 6 +++--- test/pumi.cc | 6 +++--- test/pumiLoadMesh.cc | 4 ++-- test/quality.cc | 6 +++--- test/refine2x.cc | 4 ++-- test/render.cc | 6 +++--- test/renderClass.cc | 6 +++--- test/render_ascii.cc | 6 +++--- test/reorder.cc | 6 +++--- test/repartition.cc | 6 +++--- test/reposition.cc | 4 ++-- test/residualErrorEstimation_test.cc | 4 ++-- test/rm_extrusion.cc | 4 ++-- test/runSimxAnisoAdapt.cc | 6 +++--- test/scale.cc | 6 +++--- test/serialize.cc | 6 +++--- test/shapefun.cc | 4 ++-- test/shapefun2.cc | 4 ++-- test/simZBalance.cc | 4 ++-- test/sim_countBL.cc | 4 ++-- test/sim_part.cc | 4 ++-- test/smb2osh.cc | 6 +++--- test/snap.cc | 4 ++-- test/split.cc | 6 +++--- test/spr_test.cc | 4 ++-- test/swapDoubles.cc | 4 ++-- test/test_integrator.cc | 4 ++-- test/test_matrix_grad.cc | 4 ++-- test/test_scaling.cc | 4 ++-- test/test_verify.cc | 4 ++-- test/tetrahedronize.cc | 4 ++-- test/torus_ma_test.cc | 4 ++-- test/ugrid.cc | 6 +++--- test/ugridptnstats.cc | 4 ++-- test/uniform.cc | 6 +++--- test/verify.cc | 4 ++-- test/verify_2nd_order_shapes.cc | 6 +++--- test/verify_convert.cc | 4 ++-- test/visualizeAnisoSizes.cc | 6 +++--- test/viz.cc | 4 ++-- test/vtxBalance.cc | 6 +++--- test/vtxEdgeElmBalance.cc | 6 +++--- test/vtxElmBalance.cc | 6 +++--- test/vtxElmMixedBalance.cc | 4 ++-- test/writeIPFieldTest.cc | 4 ++-- test/writePart.cc | 6 +++--- test/writeVtxPtn.cc | 6 +++--- test/xgc_split.cc | 6 +++--- test/zbalance.cc | 6 +++--- test/zsplit.cc | 6 +++--- 144 files changed, 358 insertions(+), 347 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 20abc8968..4c694ca4c 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -52,7 +52,7 @@ #include namespace pcu { -void PCU_Init(int *argc, char ***argv) { +void Init(int *argc, char ***argv) { #ifndef SCOREC_NO_MPI int flag; MPI_Initialized(&flag); @@ -62,7 +62,7 @@ void PCU_Init(int *argc, char ***argv) { #endif } -void PCU_Finalize() { +void Finalize() { #ifndef SCOREC_NO_MPI int flag; MPI_Finalized(&flag); diff --git a/pcu/PCU.h b/pcu/PCU.h index 89548647b..c65c3c540 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -131,14 +131,14 @@ void Protect() noexcept; * This may be MPI (or a stub, given SCOREC_NO_MPI). This function abstracts * the difference. */ -void PCU_Init(int *argc, char ***argv); +void Init(int *argc, char ***argv); /** * @brief Finalize the underlying parallel library. * * This may be MPI (or a stub, given SCOREC_NO_MPI). This function abstracts * the difference. */ -void PCU_Finalize(); +void Finalize(); /* explicit instantiations of template functions */ #define PCU_EXPL_INST_DECL(T) \ diff --git a/pcu/PCU_C.h b/pcu/PCU_C.h index 75bd73dc5..2c7889c5a 100644 --- a/pcu/PCU_C.h +++ b/pcu/PCU_C.h @@ -14,6 +14,9 @@ extern "C" { typedef struct PCU_t PCU_t; +void PCU_Init(int *argc, char ***argv); +void PCU_Finalize(void); + int PCU_Comm_Init(PCU_t* h); int PCU_Comm_Free(PCU_t* h); diff --git a/pcu/pcu_c.cc b/pcu/pcu_c.cc index 86d922e41..ad5f91681 100644 --- a/pcu/pcu_c.cc +++ b/pcu/pcu_c.cc @@ -8,6 +8,14 @@ extern "C" { +void PCU_Init(int *argc, char ***argv) { + pcu::Init(argc, argv); +} + +void PCU_Finalize(void) { + pcu::Finalize(); +} + int PCU_Comm_Init(PCU_t* h) { if (h->ptr != nullptr) reel_fail("nested calls to Comm_Init"); diff --git a/phasta/adaptLvlSet_loop.cc b/phasta/adaptLvlSet_loop.cc index 81e7e4292..b9c2bd3c2 100644 --- a/phasta/adaptLvlSet_loop.cc +++ b/phasta/adaptLvlSet_loop.cc @@ -36,7 +36,7 @@ namespace { } int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; pcu::Protect(); @@ -71,5 +71,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/chef.cc b/phasta/chef.cc index f0366781c..646038b14 100644 --- a/phasta/chef.cc +++ b/phasta/chef.cc @@ -29,7 +29,7 @@ namespace { /** @brief run the operations requested in "adapt.inp" */ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; pcu::Protect(); @@ -69,6 +69,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/chefStream.cc b/phasta/chefStream.cc index a3e19ff7d..1229b882f 100644 --- a/phasta/chefStream.cc +++ b/phasta/chefStream.cc @@ -32,7 +32,7 @@ namespace { } int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; pcu::Protect(); @@ -60,5 +60,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/condense.cc b/phasta/condense.cc index 46dc7a85d..c21bc00cb 100644 --- a/phasta/condense.cc +++ b/phasta/condense.cc @@ -30,7 +30,7 @@ namespace { if ( argc != 3 ) { if ( !pcu_obj->Self() ) lion_oprint(1,"Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } if ( !pcu_obj->Self() ) @@ -39,7 +39,7 @@ namespace { } int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; pcu::Protect(); @@ -65,5 +65,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/cut_interface.cc b/phasta/cut_interface.cc index 3e5b0de31..65bf458dc 100644 --- a/phasta/cut_interface.cc +++ b/phasta/cut_interface.cc @@ -22,7 +22,7 @@ char const* outfile; int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); lion_set_verbosity(1); if (argc < 4 || argc > 5) { lion_eprint(1,"Usage: %s \n", argv[0]); @@ -82,5 +82,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/migrate_interface.cc b/phasta/migrate_interface.cc index 94a644b5d..980ede4b7 100644 --- a/phasta/migrate_interface.cc +++ b/phasta/migrate_interface.cc @@ -38,7 +38,7 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) lion_eprint(1," to take model and attributes in separate files\n"); lion_eprint(1,"Usage: %s \n", argv[0]); lion_eprint(1," to take combined model and attributes file (by simTranslate)\n");} - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } if (argc == 5) { @@ -56,7 +56,7 @@ void getConfig(int argc, char** argv, pcu::PCU *pcu_obj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); @@ -90,5 +90,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/ph_convert.cc b/phasta/ph_convert.cc index 1d5ba620a..eb66229a5 100644 --- a/phasta/ph_convert.cc +++ b/phasta/ph_convert.cc @@ -213,7 +213,7 @@ static void postConvert(apf::Mesh2* m) int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU pcu_obj = pcu::PCU(MPI_COMM_WORLD); MS_init(); @@ -290,5 +290,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/readUrPrep.cc b/phasta/readUrPrep.cc index 4fbfebf8e..091e959e8 100644 --- a/phasta/readUrPrep.cc +++ b/phasta/readUrPrep.cc @@ -17,7 +17,7 @@ namespace { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; pcu::Protect(); @@ -32,6 +32,6 @@ int main(int argc, char** argv) chef::preprocess(m,ctrl); freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/phasta/threshold.cc b/phasta/threshold.cc index 10ba7a98a..adc0ae740 100644 --- a/phasta/threshold.cc +++ b/phasta/threshold.cc @@ -18,7 +18,7 @@ static double process_element(apf::Vector3 x[4], double sol[4][9]) int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU pcu_obj; #ifdef HAVE_SIMMETRIX @@ -59,5 +59,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/1d.cc b/test/1d.cc index 21eb7b892..272ad0977 100644 --- a/test/1d.cc +++ b/test/1d.cc @@ -64,7 +64,7 @@ int main(int argc, char** argv) * 2 - model output name * 3 = mesh output name **/ PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -80,5 +80,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/H1Shapes.cc b/test/H1Shapes.cc index 36106a596..86c8f0a8a 100644 --- a/test/H1Shapes.cc +++ b/test/H1Shapes.cc @@ -27,7 +27,7 @@ void testH1( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; @@ -73,7 +73,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/L2Shapes.cc b/test/L2Shapes.cc index abbc65242..d26567c52 100644 --- a/test/L2Shapes.cc +++ b/test/L2Shapes.cc @@ -30,7 +30,7 @@ void testL2writeNative( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; @@ -62,7 +62,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/align.cc b/test/align.cc index 8267492c0..3f0eb3760 100644 --- a/test/align.cc +++ b/test/align.cc @@ -89,7 +89,7 @@ void testTetTri(pcu::PCU *PCUObj) } int main() { - pcu::PCU_Init(0,0); + pcu::Init(0,0); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -98,5 +98,5 @@ int main() testTetEdge(&pcu_obj); testTetTri(&pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/aniso_ma_test.cc b/test/aniso_ma_test.cc index 0ec59eef5..f1d99a360 100644 --- a/test/aniso_ma_test.cc +++ b/test/aniso_ma_test.cc @@ -44,7 +44,7 @@ int main(int argc, char** argv) const char* modelFile = argv[1]; const char* meshFile = argv[2]; bool logInterpolation = atoi(argv[3]) > 0 ? true : false; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -68,6 +68,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ansys.cc b/test/ansys.cc index ba573c9c8..3a0ecd833 100644 --- a/test/ansys.cc +++ b/test/ansys.cc @@ -7,14 +7,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -25,7 +25,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/assert_timing.cc b/test/assert_timing.cc index fcd238af1..18f7bb5fa 100644 --- a/test/assert_timing.cc +++ b/test/assert_timing.cc @@ -29,7 +29,7 @@ double check_pcu_assert() { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 2); int opt = atoi(argv[1]); - pcu::PCU_Init(0,0); + pcu::Init(0,0); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -43,6 +43,6 @@ int main(int argc, char** argv) { for (int i = 0; i < 5; ++i) printf("pcu assert in %f seconds\n", check_pcu_assert()); } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/balance.cc b/test/balance.cc index 399fbb03b..ed791522a 100644 --- a/test/balance.cc +++ b/test/balance.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -28,5 +28,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/bezierElevation.cc b/test/bezierElevation.cc index da55cbef8..f8b84dfb2 100644 --- a/test/bezierElevation.cc +++ b/test/bezierElevation.cc @@ -397,7 +397,7 @@ void testTetElevation(pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -405,5 +405,5 @@ int main(int argc, char** argv) testTriElevation(&pcu_obj); testTetElevation(&pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/bezierMesh.cc b/test/bezierMesh.cc index 8dd4252a0..e59ba7564 100644 --- a/test/bezierMesh.cc +++ b/test/bezierMesh.cc @@ -583,7 +583,7 @@ void test3DFull(pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -591,5 +591,5 @@ int main(int argc, char** argv) test3DBlended(&pcu_obj); test3DFull(&pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/bezierMisc.cc b/test/bezierMisc.cc index 38f8e2019..5ca394257 100644 --- a/test/bezierMisc.cc +++ b/test/bezierMisc.cc @@ -165,13 +165,13 @@ void testMatrixInverse(){ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); testNodeIndexing(); testMatrixInverse(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/bezierRefine.cc b/test/bezierRefine.cc index 0e70321c9..88aae0fe4 100644 --- a/test/bezierRefine.cc +++ b/test/bezierRefine.cc @@ -309,12 +309,12 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/bezierShapeEval.cc b/test/bezierShapeEval.cc index 60cd87bc4..5a9f9d754 100644 --- a/test/bezierShapeEval.cc +++ b/test/bezierShapeEval.cc @@ -25,7 +25,7 @@ static apf::Mesh2* makeOneTetMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PC int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -37,7 +37,7 @@ int main(int argc, char** argv) printf(" can be -1, 0, 1, 2 (-1 means no blending)\n"); printf(" inquiry point in the parent entity)\n"); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -81,7 +81,7 @@ int main(int argc, char** argv) } } - pcu::PCU_Finalize(); + pcu::Finalize(); } static apf::Mesh2* makeOneTriMesh(int order, apf::MeshEntity* &ent, pcu::PCU *PCUObj) diff --git a/test/bezierSubdivision.cc b/test/bezierSubdivision.cc index 5fcce6c82..9a16bd37d 100644 --- a/test/bezierSubdivision.cc +++ b/test/bezierSubdivision.cc @@ -480,7 +480,7 @@ void testTetSubdivision1(pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -489,5 +489,5 @@ int main(int argc, char** argv) testTriSubdivision4(&pcu_obj); testTetSubdivision1(&pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/bezierValidity.cc b/test/bezierValidity.cc index 71ab17d96..9a580b157 100644 --- a/test/bezierValidity.cc +++ b/test/bezierValidity.cc @@ -405,12 +405,12 @@ void test3D(pcu::PCU *PCUObj) } int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); test2D(&pcu_obj); test3D(&pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/box.cc b/test/box.cc index 492446cf4..a4694ebc0 100644 --- a/test/box.cc +++ b/test/box.cc @@ -36,7 +36,7 @@ void verifyArgs(int argc, char** argv, pcu::PCU *PCUObj) printf(" is simplical mesh\n"); printf(" .dmg model file name\n"); printf(" .smb mesh file name\n"); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } } @@ -59,7 +59,7 @@ void getArgs(char** argv) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -79,5 +79,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/cap2vtk.cc b/test/cap2vtk.cc index 917d81e92..1b2c696e7 100644 --- a/test/cap2vtk.cc +++ b/test/cap2vtk.cc @@ -40,7 +40,7 @@ using namespace CreateMG::Geometry; int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; @@ -139,5 +139,5 @@ int main(int argc, char** argv) gmi_cap_stop(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/capCheckParam.cc b/test/capCheckParam.cc index feeb49b38..a349bff2c 100644 --- a/test/capCheckParam.cc +++ b/test/capCheckParam.cc @@ -27,7 +27,7 @@ void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { // pcu object scope pcu::PCU PCUobj; @@ -113,7 +113,7 @@ int main(int argc, char** argv) checkParametrization(m, g); } // pcu object scope - pcu::PCU_Finalize(); + pcu::Finalize(); } void checkParametrization(MeshDatabaseInterface* mdb, GeometryDatabaseInterface* gdb) diff --git a/test/capGeomTest.cc b/test/capGeomTest.cc index 148d469c4..25f681fa2 100644 --- a/test/capGeomTest.cc +++ b/test/capGeomTest.cc @@ -48,7 +48,7 @@ void visualizeEdges(gmi_model* model, int n, const char* fileName, pcu::PCU *PCU int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { // pcu object scope pcu::PCU PCUObj; @@ -166,7 +166,7 @@ int main(int argc, char** argv) gmi_cap_stop(); } // pcu object scope - pcu::PCU_Finalize(); + pcu::Finalize(); } void printInfo(gmi_model* model, int dim) diff --git a/test/capVol.cc b/test/capVol.cc index 41f5cbfc8..7e44c2e36 100644 --- a/test/capVol.cc +++ b/test/capVol.cc @@ -30,7 +30,7 @@ namespace { void myExit(int exit_code = EXIT_SUCCESS) { gmi_cap_stop(); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(exit_code); } @@ -75,7 +75,7 @@ void printUsage(char *argv0) { int main(int argc, char** argv) { // Initialize parallelism. - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; @@ -272,5 +272,5 @@ int main(int argc, char** argv) { // Exit calls. gmi_cap_stop(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } \ No newline at end of file diff --git a/test/cap_closestPoint.cc b/test/cap_closestPoint.cc index 6c47aca6c..4db2b59c2 100644 --- a/test/cap_closestPoint.cc +++ b/test/cap_closestPoint.cc @@ -7,7 +7,7 @@ #include int main (int argc, char* argv[]) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { // pcu object scope pcu::PCU PCUObj; lion_set_verbosity(1); @@ -36,5 +36,5 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); } // pcu object scope - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/cap_inClosureOf.cc b/test/cap_inClosureOf.cc index 346d5a3aa..63ebb828b 100644 --- a/test/cap_inClosureOf.cc +++ b/test/cap_inClosureOf.cc @@ -7,7 +7,7 @@ #include int main (int argc, char* argv[]) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { // pcu object scope pcu::PCU PCUObj; lion_set_verbosity(1); @@ -46,5 +46,5 @@ int main (int argc, char* argv[]) { apf::destroyMesh(m); } // pcu object scope - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/cgns.cc b/test/cgns.cc index 78ac7f7c5..66ea7d439 100644 --- a/test/cgns.cc +++ b/test/cgns.cc @@ -478,7 +478,7 @@ std::string doit(apf::CGNSBCMap &cgnsBCMap, const std::string &argv1, const std: int main(int argc, char **argv) { #ifdef HAVE_CGNS - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -488,7 +488,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); return -1; } @@ -500,7 +500,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s additional\n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); return -1; } @@ -509,7 +509,7 @@ int main(int argc, char **argv) { if (!PCUObj.Self()) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); return -1; } @@ -546,7 +546,7 @@ int main(int argc, char **argv) } // } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; #else PCU_ALWAYS_ASSERT_VERBOSE(true == false, diff --git a/test/classifyThenAdapt.cc b/test/classifyThenAdapt.cc index fd347aa68..b957ac373 100644 --- a/test/classifyThenAdapt.cc +++ b/test/classifyThenAdapt.cc @@ -125,7 +125,7 @@ void printClassCounts(apf::Mesh* m) { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -149,5 +149,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/collapse.cc b/test/collapse.cc index 220db2e7f..818acb4f0 100644 --- a/test/collapse.cc +++ b/test/collapse.cc @@ -32,7 +32,7 @@ namespace { printf("Usage: mpirun -np %s \n" "Reduce the part count of mesh from inPartCount to inPartCount/factor.\n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -44,7 +44,7 @@ namespace { } int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -67,5 +67,5 @@ int main(int argc, char** argv) { Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/construct.cc b/test/construct.cc index b00b0e188..974e012ca 100644 --- a/test/construct.cc +++ b/test/construct.cc @@ -10,7 +10,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -46,6 +46,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/constructThenGhost.cc b/test/constructThenGhost.cc index fc4e2c493..47242ff57 100644 --- a/test/constructThenGhost.cc +++ b/test/constructThenGhost.cc @@ -12,7 +12,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; pumi_load_pcu(&pcu_obj); @@ -93,5 +93,5 @@ int main(int argc, char** argv) pumi_geom_delete(g); pumi_mesh_delete(pm); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/construct_bottom_up.cc b/test/construct_bottom_up.cc index e83c833a0..283b0b049 100644 --- a/test/construct_bottom_up.cc +++ b/test/construct_bottom_up.cc @@ -137,7 +137,7 @@ const int tet_info[11][6] = { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -249,6 +249,6 @@ int main(int argc, char** argv) outMesh->destroyNative(); apf::destroyMesh(outMesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/convert.cc b/test/convert.cc index f626c20a9..4ee4b4d0a 100644 --- a/test/convert.cc +++ b/test/convert.cc @@ -433,7 +433,7 @@ void addFathersTag(pGModel simModel, pParMesh sim_mesh, apf::Mesh* simApfMesh, c int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -526,5 +526,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/crack_test.cc b/test/crack_test.cc index c73f689b3..f5b2c857f 100644 --- a/test/crack_test.cc +++ b/test/crack_test.cc @@ -44,7 +44,7 @@ void bCurver(const char* modelFile, const char* meshFile, int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; @@ -52,7 +52,7 @@ int main(int argc, char** argv) if (PCUObj.Self() == 0) { printf("USAGE: %s \n", argv[0]); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } const char* modelFile = argv[1]; @@ -359,5 +359,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/create_mis.cc b/test/create_mis.cc index 19b9cad53..444cfc0bb 100644 --- a/test/create_mis.cc +++ b/test/create_mis.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -61,6 +61,6 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/curve_to_bezier.cc b/test/curve_to_bezier.cc index a9f24efb9..70e686fc1 100644 --- a/test/curve_to_bezier.cc +++ b/test/curve_to_bezier.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -25,14 +25,14 @@ int main(int argc, char** argv) if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } int order = atoi(argv[3]); if(order < 1 || order > 6){ if ( !pcu_obj.Self() ) printf("Only 1st to 6th order supported\n"); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -55,5 +55,5 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/curvetest.cc b/test/curvetest.cc index b35f997e3..f1d5526de 100644 --- a/test/curvetest.cc +++ b/test/curvetest.cc @@ -190,7 +190,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -214,5 +214,5 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); SimModel_stop(); MS_exit(); - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/degenerateSurfs.cc b/test/degenerateSurfs.cc index 42ef2527b..c36a59995 100644 --- a/test/degenerateSurfs.cc +++ b/test/degenerateSurfs.cc @@ -23,7 +23,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -35,7 +35,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==5); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -72,6 +72,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/describe.cc b/test/describe.cc index ff0392565..e28e6da8f 100644 --- a/test/describe.cc +++ b/test/describe.cc @@ -44,7 +44,7 @@ static void list_tags(apf::Mesh* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -71,5 +71,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/dg_ma_test.cc b/test/dg_ma_test.cc index dc697d052..a33bd5b4d 100644 --- a/test/dg_ma_test.cc +++ b/test/dg_ma_test.cc @@ -39,7 +39,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -77,6 +77,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/elmBalance.cc b/test/elmBalance.cc index f9f7f9981..157ecf396 100644 --- a/test/elmBalance.cc +++ b/test/elmBalance.cc @@ -27,14 +27,14 @@ apf::MeshTag* setWeights(apf::Mesh* m) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -68,5 +68,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/embedded_edges.cc b/test/embedded_edges.cc index ad9b9a16b..f84caa438 100644 --- a/test/embedded_edges.cc +++ b/test/embedded_edges.cc @@ -15,7 +15,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==2); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -53,6 +53,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/extrude.cc b/test/extrude.cc index 051e399e0..f011e2709 100644 --- a/test/extrude.cc +++ b/test/extrude.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -40,5 +40,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fieldReduce.cc b/test/fieldReduce.cc index c530fc8f8..29ee782f5 100644 --- a/test/fieldReduce.cc +++ b/test/fieldReduce.cc @@ -151,7 +151,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 3 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -164,7 +164,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); bool failflag = false; { pcu::PCU PCUObj; @@ -197,7 +197,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); return failflag; diff --git a/test/field_io.cc b/test/field_io.cc index 630d133fa..fd581efbb 100644 --- a/test/field_io.cc +++ b/test/field_io.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -47,5 +47,5 @@ int main(int argc, char** argv) apf::destroyMesh(m); } } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fixDisconnected.cc b/test/fixDisconnected.cc index eb8fb8099..7ef93e957 100644 --- a/test/fixDisconnected.cc +++ b/test/fixDisconnected.cc @@ -10,14 +10,14 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -29,5 +29,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fixlayer.cc b/test/fixlayer.cc index 2913c1bb0..c0db6f462 100644 --- a/test/fixlayer.cc +++ b/test/fixlayer.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fixshape.cc b/test/fixshape.cc index ad69fa19c..830d316e4 100644 --- a/test/fixshape.cc +++ b/test/fixshape.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fusion.cc b/test/fusion.cc index 2b7134e9c..e4a6ee7b1 100644 --- a/test/fusion.cc +++ b/test/fusion.cc @@ -154,7 +154,7 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { PCU_ALWAYS_ASSERT(argc==2); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -171,5 +171,5 @@ int main( int argc, char* argv[]) code.mesh->destroyNative(); apf::destroyMesh(code.mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fusion2.cc b/test/fusion2.cc index 17e07b4a9..faeb0c2cc 100644 --- a/test/fusion2.cc +++ b/test/fusion2.cc @@ -137,7 +137,7 @@ static void globalCode(apf::Mesh2* m) int main( int argc, char* argv[]) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -150,5 +150,5 @@ int main( int argc, char* argv[]) Parma_SplitPartition(code.mesh, groupSize, code, &PCUObj); globalCode(code.mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/fusion3.cc b/test/fusion3.cc index 8523721aa..d4567725e 100644 --- a/test/fusion3.cc +++ b/test/fusion3.cc @@ -281,7 +281,7 @@ class Vortex : public ma::AnisotropicFunction int main(int argc, char * argv[]) { PCU_ALWAYS_ASSERT(argc==2); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -298,5 +298,5 @@ int main(int argc, char * argv[]) // to do apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/gap.cc b/test/gap.cc index 8bfa7d73d..699cb92b0 100644 --- a/test/gap.cc +++ b/test/gap.cc @@ -28,14 +28,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 5); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -69,5 +69,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/generate.cc b/test/generate.cc index 1d0f4b9dc..5e76958e5 100644 --- a/test/generate.cc +++ b/test/generate.cc @@ -66,7 +66,7 @@ void messageHandler(int type, const char* msg) case Sim_ErrorMsg: if(!globalPCU->Self()) fprintf(stdout, "Error SimModeler %s ... exiting\n", msg); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_SUCCESS); break; default: @@ -317,7 +317,7 @@ void simStop() { int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; globalPCU = &PCUObj; @@ -359,5 +359,5 @@ int main(int argc, char** argv) simStop(); Sim_logOff(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ghost.cc b/test/ghost.cc index d5ff0b111..d2ebb9808 100644 --- a/test/ghost.cc +++ b/test/ghost.cc @@ -22,7 +22,7 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -76,7 +76,7 @@ namespace { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -89,5 +89,5 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ghostEdge.cc b/test/ghostEdge.cc index da96012a2..d6883304b 100644 --- a/test/ghostEdge.cc +++ b/test/ghostEdge.cc @@ -49,7 +49,7 @@ namespace { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -60,5 +60,5 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ghostMPAS.cc b/test/ghostMPAS.cc index b5558b900..568090e29 100644 --- a/test/ghostMPAS.cc +++ b/test/ghostMPAS.cc @@ -51,7 +51,7 @@ namespace { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -62,5 +62,5 @@ int main(int argc, char** argv) m->writeNative(argv[3]); freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/gmsh.cc b/test/gmsh.cc index 3853f3e3e..f259b3cac 100644 --- a/test/gmsh.cc +++ b/test/gmsh.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -23,7 +23,7 @@ int main(int argc, char** argv) "the mesh.\n" "When a **gmsh v4** .msh is passed in, a topological model will be created " "from the geometric model entities defined in the gmsh input file.\n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -55,6 +55,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/graphdist.cc b/test/graphdist.cc index 4531dabf7..61fe1bc37 100644 --- a/test/graphdist.cc +++ b/test/graphdist.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj = pcu::PCU(MPI_COMM_WORLD); lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -32,5 +32,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/hierarchic.cc b/test/hierarchic.cc index 338a8fcc2..7c450eeda 100644 --- a/test/hierarchic.cc +++ b/test/hierarchic.cc @@ -192,7 +192,7 @@ void test(apf::Mesh* m, int p_order) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -206,5 +206,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/highOrderSizeFields.cc b/test/highOrderSizeFields.cc index aaffbfeef..e299c0c56 100644 --- a/test/highOrderSizeFields.cc +++ b/test/highOrderSizeFields.cc @@ -35,7 +35,7 @@ void testAdapt( int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -69,7 +69,7 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif - pcu::PCU_Finalize(); + pcu::Finalize(); } void computeSizesFrames( diff --git a/test/highOrderSolutionTransfer.cc b/test/highOrderSolutionTransfer.cc index 16af511f8..638f426e3 100644 --- a/test/highOrderSolutionTransfer.cc +++ b/test/highOrderSolutionTransfer.cc @@ -41,7 +41,7 @@ int main(int argc, char** argv) { const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -91,7 +91,7 @@ int main(int argc, char** argv) MS_exit(); SimModel_stop(); #endif - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/icesheet.cc b/test/icesheet.cc index 008689f11..8115dec73 100644 --- a/test/icesheet.cc +++ b/test/icesheet.cc @@ -481,7 +481,7 @@ int main(int argc, char** argv) return 0; } - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -525,5 +525,5 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/inClosureOf_test.cc b/test/inClosureOf_test.cc index 2f04eb327..958a22541 100644 --- a/test/inClosureOf_test.cc +++ b/test/inClosureOf_test.cc @@ -18,7 +18,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==2); const char* modelFile = argv[1]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -94,6 +94,6 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); #endif - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/intrude.cc b/test/intrude.cc index 65613f387..48ecf7546 100644 --- a/test/intrude.cc +++ b/test/intrude.cc @@ -9,14 +9,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -42,5 +42,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/loadPart.cc b/test/loadPart.cc index 1037c49e6..9c8f12744 100644 --- a/test/loadPart.cc +++ b/test/loadPart.cc @@ -10,7 +10,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -20,7 +20,7 @@ int main(int argc, char** argv) printf("Load a single part from a partitioned mesh and " "write it as a serial part.\n" "Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -33,7 +33,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ma_insphere.cc b/test/ma_insphere.cc index 1e0799232..bab162b28 100644 --- a/test/ma_insphere.cc +++ b/test/ma_insphere.cc @@ -7,7 +7,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); // Test determinant functions double input[4][4] = { @@ -58,5 +58,5 @@ int main(int argc, char** argv) apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ma_test.cc b/test/ma_test.cc index c0c820c9d..8a98f271d 100644 --- a/test/ma_test.cc +++ b/test/ma_test.cc @@ -43,7 +43,7 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* layerTagString = (argc==4) ? argv[3] : ""; const double adaptRefineFactor = (argc==5) ? atoi(argv[4]) : 3; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -81,6 +81,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ma_test_analytic_model.cc b/test/ma_test_analytic_model.cc index b211ed69f..bd7cf7979 100644 --- a/test/ma_test_analytic_model.cc +++ b/test/ma_test_analytic_model.cc @@ -169,7 +169,7 @@ apf::Mesh2* createSphereMesh(pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -187,5 +187,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/makeAllCavities.cc b/test/makeAllCavities.cc index 52c8799cc..ed82c9a58 100644 --- a/test/makeAllCavities.cc +++ b/test/makeAllCavities.cc @@ -61,13 +61,13 @@ static apf::MeshTag* tagMesh( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; if (PCUObj.Peers() > 1) { printf("%s should only be used for serial (single part) meshes!\n", argv[0]); printf("use the serialize utility to get a serial mesh, and retry!\n"); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } if (argc != 6) { @@ -87,7 +87,7 @@ int main(int argc, char** argv) printf("fb: creates all face cavities classified on boundary\n"); printf("ls: get a list from user and creates cavities for that list\n"); printf("tagname: creates cavities for all entities that have tagname\n"); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -166,7 +166,7 @@ int main(int argc, char** argv) tag = m->findTag(mode.c_str()); if (!tag) { printf("tag with name %s was not found on the mesh. Aborting!\n", mode.c_str()); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } } @@ -254,7 +254,7 @@ int main(int argc, char** argv) #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } static void safe_mkdir( diff --git a/test/matchedNodeElmReader.cc b/test/matchedNodeElmReader.cc index d89e6a8e7..314908c35 100644 --- a/test/matchedNodeElmReader.cc +++ b/test/matchedNodeElmReader.cc @@ -743,7 +743,7 @@ void readMesh(const char* meshfilename, int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -829,5 +829,5 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/measureAnisoStats.cc b/test/measureAnisoStats.cc index 70d3cfc25..198a8c916 100644 --- a/test/measureAnisoStats.cc +++ b/test/measureAnisoStats.cc @@ -41,7 +41,7 @@ void getStats( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -52,7 +52,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } void safe_mkdir(const char* path) diff --git a/test/measureIsoStats.cc b/test/measureIsoStats.cc index 0e3e777b1..cef3d410f 100644 --- a/test/measureIsoStats.cc +++ b/test/measureIsoStats.cc @@ -42,7 +42,7 @@ void getStats( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -53,7 +53,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " "\n", argv[0]); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } void safe_mkdir(const char* path) diff --git a/test/mixedNumbering.cc b/test/mixedNumbering.cc index 69da3d68e..22ff425f6 100644 --- a/test/mixedNumbering.cc +++ b/test/mixedNumbering.cc @@ -47,7 +47,7 @@ static void write_output(apf::Mesh* m, const char* out) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -59,5 +59,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/mkmodel.cc b/test/mkmodel.cc index fabe26188..04f212876 100644 --- a/test/mkmodel.cc +++ b/test/mkmodel.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -17,7 +17,7 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a discrete geometric model from a mesh\n" "Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -27,6 +27,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/mktopomodel.cc b/test/mktopomodel.cc index 121b2b0a8..3ac9d39c8 100644 --- a/test/mktopomodel.cc +++ b/test/mktopomodel.cc @@ -9,7 +9,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -17,7 +17,7 @@ int main(int argc, char** argv) if ( !pcu_obj.Self() ) printf("Create a topological geometric model from a mesh\n" "Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -29,6 +29,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/modelInfo.cc b/test/modelInfo.cc index b639ea1bb..bced288e7 100644 --- a/test/modelInfo.cc +++ b/test/modelInfo.cc @@ -13,14 +13,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -77,6 +77,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/moving.cc b/test/moving.cc index 4c738ba41..9ebe5aa33 100644 --- a/test/moving.cc +++ b/test/moving.cc @@ -18,7 +18,7 @@ static void writeStep(apf::Mesh* m, int i) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -67,6 +67,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/nedelecShapes.cc b/test/nedelecShapes.cc index 52e0cd978..c980759e2 100644 --- a/test/nedelecShapes.cc +++ b/test/nedelecShapes.cc @@ -26,7 +26,7 @@ void testNedelec( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; @@ -67,7 +67,7 @@ int main(int argc, char** argv) apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } void E_exact(const apf::Vector3& x, apf::Vector3& value, int p) diff --git a/test/nektar_align.cc b/test/nektar_align.cc index b6336466f..9fb33e587 100644 --- a/test/nektar_align.cc +++ b/test/nektar_align.cc @@ -108,7 +108,7 @@ static void alignForNektar(apf::Mesh2* m) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -132,5 +132,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/neper.cc b/test/neper.cc index 1c2df9911..224ee4a83 100644 --- a/test/neper.cc +++ b/test/neper.cc @@ -7,14 +7,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -24,6 +24,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/newdim.cc b/test/newdim.cc index 0a3434756..654be4268 100644 --- a/test/newdim.cc +++ b/test/newdim.cc @@ -6,7 +6,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/osh2smb.cc b/test/osh2smb.cc index 739feb041..6855b4a7f 100644 --- a/test/osh2smb.cc +++ b/test/osh2smb.cc @@ -14,7 +14,7 @@ #include int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -24,7 +24,7 @@ int main(int argc, char** argv) { std::cout << "usage: osh2smb in.osh in.dmg out.smb\n"; std::cout << " or: osh2smb (usage)\n"; } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -41,5 +41,5 @@ int main(int argc, char** argv) { apf::destroyMesh(am); } } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ph_adapt.cc b/test/ph_adapt.cc index 87d4f17dc..640a202bf 100644 --- a/test/ph_adapt.cc +++ b/test/ph_adapt.cc @@ -46,7 +46,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -102,6 +102,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/poisson.cc b/test/poisson.cc index 9fe97bb71..859a601f2 100644 --- a/test/poisson.cc +++ b/test/poisson.cc @@ -250,7 +250,7 @@ void test(int dim, int p, pcu::PCU *PCUObj) { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 3); - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -259,5 +259,5 @@ int main(int argc, char** argv) { int p = atoi(argv[2]); test(dim, p, &pcu_obj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/print_pumipic_partition.cc b/test/print_pumipic_partition.cc index 62893f246..f68d0d6f4 100644 --- a/test/print_pumipic_partition.cc +++ b/test/print_pumipic_partition.cc @@ -18,20 +18,20 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 && argc != 6) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } if (pcu_obj.Peers() > 1) { if ( !pcu_obj.Self() ) printf("This tool must be run in serial.\n"); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -81,5 +81,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ptnParma.cc b/test/ptnParma.cc index 0f1f4ac47..689e25b2c 100644 --- a/test/ptnParma.cc +++ b/test/ptnParma.cc @@ -142,7 +142,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( !PCUObj->Self() ) printf("Usage: %s " " <0:global|1:local>\n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -162,7 +162,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -189,5 +189,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/pumi.cc b/test/pumi.cc index 079dce9a0..220d8d0d7 100644 --- a/test/pumi.cc +++ b/test/pumi.cc @@ -41,7 +41,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc < 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -85,7 +85,7 @@ void TEST_FIELD(pMesh m); int main(int argc, char** argv) //********************************************************* { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -251,7 +251,7 @@ int main(int argc, char** argv) pumi_printTimeMem("\n* [test_pumi] elapsed time and increased heap memory:", pumi_getTime()-begin_time, pumi_getMem()-begin_mem); } - pcu::PCU_Finalize(); + pcu::Finalize(); } void TEST_MESH(pMesh m) diff --git a/test/pumiLoadMesh.cc b/test/pumiLoadMesh.cc index 744bb503a..7aee6898d 100644 --- a/test/pumiLoadMesh.cc +++ b/test/pumiLoadMesh.cc @@ -2,7 +2,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -11,6 +11,6 @@ int main(int argc, char** argv) pumi_mesh_delete(m); pumi_geom_delete(g); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/quality.cc b/test/quality.cc index f75424e57..6b32ed651 100644 --- a/test/quality.cc +++ b/test/quality.cc @@ -22,7 +22,7 @@ static void fail(char** argv, pcu::PCU *PCUObj) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ void printDiagnostics(pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -101,5 +101,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/refine2x.cc b/test/refine2x.cc index 7305bd9e7..1de67e672 100644 --- a/test/refine2x.cc +++ b/test/refine2x.cc @@ -83,7 +83,7 @@ class AnisotropicX: public ma::AnisotropicFunction { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -130,5 +130,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/render.cc b/test/render.cc index f5eb1bdcb..91b92bedb 100644 --- a/test/render.cc +++ b/test/render.cc @@ -16,14 +16,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -60,6 +60,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/renderClass.cc b/test/renderClass.cc index 002665063..043ae61e8 100644 --- a/test/renderClass.cc +++ b/test/renderClass.cc @@ -32,7 +32,7 @@ static void number_dim(apf::Mesh* m, apf::FieldShape* shape, int dim, std::strin int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -41,7 +41,7 @@ int main(int argc, char** argv) printf("Usage: %s \n", argv[0]); printf(" %s \n", argv[0]); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -76,7 +76,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/render_ascii.cc b/test/render_ascii.cc index 5ec20bbd3..b6cc32300 100644 --- a/test/render_ascii.cc +++ b/test/render_ascii.cc @@ -13,14 +13,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -42,6 +42,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/reorder.cc b/test/reorder.cc index e646b19d6..4e8878989 100644 --- a/test/reorder.cc +++ b/test/reorder.cc @@ -14,14 +14,14 @@ #include int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -46,5 +46,5 @@ int main(int argc, char** argv) { MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/repartition.cc b/test/repartition.cc index 9fb669d92..78382ba1b 100644 --- a/test/repartition.cc +++ b/test/repartition.cc @@ -62,7 +62,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) "Unlike the [z]split tool, outPartCount does not have to be an integer\n" "multiple of inPartCount.\n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -94,7 +94,7 @@ void balance(apf::Mesh2* m) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU expanded_pcu_obj; lion_set_verbosity(1); @@ -113,7 +113,7 @@ int main(int argc, char** argv) m->writeNative(outFile); freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/reposition.cc b/test/reposition.cc index a7b94eca9..0cc574b57 100644 --- a/test/reposition.cc +++ b/test/reposition.cc @@ -7,7 +7,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -44,5 +44,5 @@ int main(int argc, char** argv) ma::repositionVertex(m, v, 20, 1.0); apf::writeVtkFiles("after", m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/residualErrorEstimation_test.cc b/test/residualErrorEstimation_test.cc index 21a6358e7..effb87900 100644 --- a/test/residualErrorEstimation_test.cc +++ b/test/residualErrorEstimation_test.cc @@ -25,7 +25,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -97,7 +97,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } void E_exact(const apf::Vector3 &x, apf::Vector3& E) diff --git a/test/rm_extrusion.cc b/test/rm_extrusion.cc index ce77213f1..701c7ab85 100644 --- a/test/rm_extrusion.cc +++ b/test/rm_extrusion.cc @@ -91,7 +91,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) { int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -145,5 +145,5 @@ int main(int argc, char** argv) if( should_log ) Sim_logOff(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/runSimxAnisoAdapt.cc b/test/runSimxAnisoAdapt.cc index 77ec918d7..7f4e17e3d 100644 --- a/test/runSimxAnisoAdapt.cc +++ b/test/runSimxAnisoAdapt.cc @@ -74,7 +74,7 @@ apf::Mesh2* convertToPumi( const char* sizeName, const char* frameName, pcu::PCU *PCUObj); int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -87,7 +87,7 @@ int main(int argc, char** argv) printf("USAGE: %s " " \n", argv[0]); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -229,7 +229,7 @@ int main(int argc, char** argv) Sim_unregisterAllKeys(); MS_exit(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } void printModelStats(pGModel model) diff --git a/test/scale.cc b/test/scale.cc index c461c4632..a59ce66c4 100644 --- a/test/scale.cc +++ b/test/scale.cc @@ -18,7 +18,7 @@ struct Scale { static void print_usage(char** argv, pcu::PCU *PCUObj) { if (! PCUObj->Self()) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -53,7 +53,7 @@ static void scale_mesh(apf::Mesh2* m, Scale const& s) { } int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -75,5 +75,5 @@ int main(int argc, char** argv) { m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/serialize.cc b/test/serialize.cc index ff33f17a5..080559509 100644 --- a/test/serialize.cc +++ b/test/serialize.cc @@ -25,14 +25,14 @@ struct GroupCode : public Parma_GroupCode int main( int argc, char* argv[]) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -59,6 +59,6 @@ int main( int argc, char* argv[]) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/shapefun.cc b/test/shapefun.cc index 91fb67104..a6b38c394 100644 --- a/test/shapefun.cc +++ b/test/shapefun.cc @@ -242,7 +242,7 @@ void testPyramidVolume(pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -262,5 +262,5 @@ int main(int argc, char** argv) testPrismVolume(&PCUObj); testPyramidVolume(&PCUObj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/shapefun2.cc b/test/shapefun2.cc index 892a7986d..301b1692d 100644 --- a/test/shapefun2.cc +++ b/test/shapefun2.cc @@ -169,7 +169,7 @@ static void checkFieldShape(apf::FieldShape* fs, pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -183,6 +183,6 @@ int main(int argc, char** argv) test::checkFieldShape(fs[i], &PCUObj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/simZBalance.cc b/test/simZBalance.cc index 787081dba..b7abaa485 100644 --- a/test/simZBalance.cc +++ b/test/simZBalance.cc @@ -24,7 +24,7 @@ static void load_balance(apf::Mesh2* m) { } int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -52,5 +52,5 @@ int main(int argc, char** argv) { gmi_sim_stop(); Sim_unregisterAllKeys(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/sim_countBL.cc b/test/sim_countBL.cc index 9ac2346a1..463976f4a 100644 --- a/test/sim_countBL.cc +++ b/test/sim_countBL.cc @@ -22,7 +22,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); SimPartitionedMesh_start(&argc, &argv); // Read in command line arguments if (argc == 5) { @@ -107,7 +107,7 @@ int main(int argc, char **argv) SimParasolid_stop(1); Sim_unregisterAllKeys(); SimPartitionedMesh_stop(); - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/sim_part.cc b/test/sim_part.cc index 2ca4ae21c..6981476a1 100644 --- a/test/sim_part.cc +++ b/test/sim_part.cc @@ -66,7 +66,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -173,7 +173,7 @@ int main(int argc, char **argv) SimDiscrete_stop(0); SimPartitionedMesh_stop(); } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/smb2osh.cc b/test/smb2osh.cc index 4a835e56f..31d6a8ca1 100644 --- a/test/smb2osh.cc +++ b/test/smb2osh.cc @@ -14,7 +14,7 @@ #include int main(int argc, char** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -24,7 +24,7 @@ int main(int argc, char** argv) { std::cout << "usage: smb2osh in.dmg in.smb out.osh\n"; std::cout << " or: smb2osh (usage)\n"; } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -39,5 +39,5 @@ int main(int argc, char** argv) { Omega_h::binary::write(argv[3], &om); } } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/snap.cc b/test/snap.cc index c035e9f19..9b3807dc6 100644 --- a/test/snap.cc +++ b/test/snap.cc @@ -11,7 +11,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -31,6 +31,6 @@ int main(int argc, char** argv) SimModel_stop(); MS_exit(); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/split.cc b/test/split.cc index e8350dad9..6fd4d430b 100644 --- a/test/split.cc +++ b/test/split.cc @@ -42,7 +42,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -56,7 +56,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -95,6 +95,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/spr_test.cc b/test/spr_test.cc index 0a0c8078d..bc4c28df7 100644 --- a/test/spr_test.cc +++ b/test/spr_test.cc @@ -17,7 +17,7 @@ int main(int argc, char** argv) const char* meshFile = argv[2]; const char* outFile = argv[3]; const int order = atoi(argv[4]); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -37,6 +37,6 @@ int main(int argc, char** argv) mesh->destroyNative(); apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/swapDoubles.cc b/test/swapDoubles.cc index 05da537e8..5570d6432 100644 --- a/test/swapDoubles.cc +++ b/test/swapDoubles.cc @@ -5,7 +5,7 @@ #include //cerr int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; const size_t n = 2; @@ -27,6 +27,6 @@ int main(int argc, char** argv) { delete [] d_orig; delete [] d; } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/test_integrator.cc b/test/test_integrator.cc index f4f745b97..853e8daf4 100644 --- a/test/test_integrator.cc +++ b/test/test_integrator.cc @@ -22,7 +22,7 @@ class CountIntegrator : public apf::Integrator { } }; int main(int argc, char ** argv) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; // argument should be model, mesh @@ -48,6 +48,6 @@ int main(int argc, char ** argv) { mesh->destroyNative(); apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/test_matrix_grad.cc b/test/test_matrix_grad.cc index 1d5152a18..ea4667d5d 100644 --- a/test/test_matrix_grad.cc +++ b/test/test_matrix_grad.cc @@ -92,7 +92,7 @@ int main(int argc, char* argv[]) std::cerr<<"Usage: "<destroyNative(); apf::destroyMesh(mesh); } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/test_scaling.cc b/test/test_scaling.cc index e01558540..c80d34fed 100644 --- a/test/test_scaling.cc +++ b/test/test_scaling.cc @@ -12,7 +12,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -27,5 +27,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/test_verify.cc b/test/test_verify.cc index 557fe6077..e3209dcdf 100644 --- a/test/test_verify.cc +++ b/test/test_verify.cc @@ -10,7 +10,7 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -44,5 +44,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/tetrahedronize.cc b/test/tetrahedronize.cc index cd68d58d3..ddcf2a6f8 100644 --- a/test/tetrahedronize.cc +++ b/test/tetrahedronize.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -40,7 +40,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/torus_ma_test.cc b/test/torus_ma_test.cc index 15e37e895..4c76f19a2 100644 --- a/test/torus_ma_test.cc +++ b/test/torus_ma_test.cc @@ -46,7 +46,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -70,6 +70,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ugrid.cc b/test/ugrid.cc index 45e7ff72e..352ed246a 100644 --- a/test/ugrid.cc +++ b/test/ugrid.cc @@ -20,14 +20,14 @@ apf::Migration* getPlan(apf::Mesh* m, const int partitionFactor) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_null(); @@ -56,6 +56,6 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/ugridptnstats.cc b/test/ugridptnstats.cc index c700fd6e4..a488aeb48 100644 --- a/test/ugridptnstats.cc +++ b/test/ugridptnstats.cc @@ -18,7 +18,7 @@ const double weights[8] = {vtxw, edgew, triw, quadw, tetw, hexw, przw, pyrw}; int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -30,5 +30,5 @@ int main(int argc, char** argv) gmi_model* g = gmi_load(".null"); apf::printUgridPtnStats(g,ugridfile,ptnfile,weights,&PCUObj); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/uniform.cc b/test/uniform.cc index f98a42746..9ca428f12 100644 --- a/test/uniform.cc +++ b/test/uniform.cc @@ -21,7 +21,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -32,7 +32,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -63,6 +63,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/verify.cc b/test/verify.cc index 6d0dfca15..1e12067c2 100644 --- a/test/verify.cc +++ b/test/verify.cc @@ -14,7 +14,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -37,7 +37,7 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/verify_2nd_order_shapes.cc b/test/verify_2nd_order_shapes.cc index 4482beb4e..4afde62e6 100644 --- a/test/verify_2nd_order_shapes.cc +++ b/test/verify_2nd_order_shapes.cc @@ -16,14 +16,14 @@ #include int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 2 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -111,5 +111,5 @@ int main(int argc, char** argv) { MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/verify_convert.cc b/test/verify_convert.cc index 881b6ba6e..3f268cb83 100644 --- a/test/verify_convert.cc +++ b/test/verify_convert.cc @@ -42,7 +42,7 @@ class twox : public apf::Function { }; int main(int argc, char* argv[]) { - pcu::PCU_Init(&argc, &argv); + pcu::Init(&argc, &argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -162,6 +162,6 @@ int main(int argc, char* argv[]) apf::destroyMesh(m2); apf::destroyMesh(m3); } - pcu::PCU_Finalize(); + pcu::Finalize(); return 0; } diff --git a/test/visualizeAnisoSizes.cc b/test/visualizeAnisoSizes.cc index 8674be797..6f7ae0be3 100644 --- a/test/visualizeAnisoSizes.cc +++ b/test/visualizeAnisoSizes.cc @@ -42,7 +42,7 @@ void visualizeSizeField( int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -53,7 +53,7 @@ int main(int argc, char** argv) printf("USAGE2: %s " " \n", argv[0]); } - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } @@ -88,7 +88,7 @@ int main(int argc, char** argv) #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } void safe_mkdir(const char* path) diff --git a/test/viz.cc b/test/viz.cc index 05e2e9c16..58a122b5e 100644 --- a/test/viz.cc +++ b/test/viz.cc @@ -34,7 +34,7 @@ namespace { int main(int argc, char** argv) { int provided; - pcu::PCU_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); + pcu::Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); PCU_ALWAYS_ASSERT(provided==MPI_THREAD_MULTIPLE); { pcu::PCU PCUObj; @@ -106,5 +106,5 @@ int main(int argc, char** argv) freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/vtxBalance.cc b/test/vtxBalance.cc index 0e63be45d..bfa9ab570 100644 --- a/test/vtxBalance.cc +++ b/test/vtxBalance.cc @@ -29,14 +29,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -69,5 +69,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/vtxEdgeElmBalance.cc b/test/vtxEdgeElmBalance.cc index 7f16e0f67..07421ce91 100644 --- a/test/vtxEdgeElmBalance.cc +++ b/test/vtxEdgeElmBalance.cc @@ -44,14 +44,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 6); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 6 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -87,5 +87,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/vtxElmBalance.cc b/test/vtxElmBalance.cc index 85bdc6b64..74a4071cd 100644 --- a/test/vtxElmBalance.cc +++ b/test/vtxElmBalance.cc @@ -33,14 +33,14 @@ namespace { int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc == 4); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -60,5 +60,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/vtxElmMixedBalance.cc b/test/vtxElmMixedBalance.cc index 3c819eee7..53576b323 100644 --- a/test/vtxElmMixedBalance.cc +++ b/test/vtxElmMixedBalance.cc @@ -16,7 +16,7 @@ int main(int argc, char** argv) PCU_ALWAYS_ASSERT(argc==3); const char* modelFile = argv[1]; const char* meshFile = argv[2]; - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -42,6 +42,6 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/writeIPFieldTest.cc b/test/writeIPFieldTest.cc index 8e9e07a43..b4de654b3 100644 --- a/test/writeIPFieldTest.cc +++ b/test/writeIPFieldTest.cc @@ -8,7 +8,7 @@ int main(int argc, char** argv) { PCU_ALWAYS_ASSERT(argc==3); - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); @@ -20,5 +20,5 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/writePart.cc b/test/writePart.cc index 691772c54..a9320015d 100644 --- a/test/writePart.cc +++ b/test/writePart.cc @@ -7,14 +7,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU pcu_obj; lion_set_verbosity(1); if ( argc != 5 ) { if ( !pcu_obj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } gmi_register_mesh(); @@ -24,7 +24,7 @@ int main(int argc, char** argv) m->destroyNative(); apf::destroyMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/writeVtxPtn.cc b/test/writeVtxPtn.cc index 6dc0c2e1c..25eb9e27d 100644 --- a/test/writeVtxPtn.cc +++ b/test/writeVtxPtn.cc @@ -22,7 +22,7 @@ namespace { if ( argc != 4 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -32,7 +32,7 @@ namespace { int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -42,5 +42,5 @@ int main(int argc, char** argv) Parma_WriteVtxPtn(m,argv[3]); freeMesh(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/xgc_split.cc b/test/xgc_split.cc index 0783069aa..0fd6d8c8e 100644 --- a/test/xgc_split.cc +++ b/test/xgc_split.cc @@ -18,7 +18,7 @@ void getConfig(int argc, char** argv, pcu::PCU* PCUObj) if (argc < 4) { if (!PCUObj->Self()) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -53,7 +53,7 @@ Migration* get_xgc_plan(pGeom g, pMesh m) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; pumi_load_pcu(&PCUObj); @@ -94,6 +94,6 @@ int main(int argc, char** argv) pumi_mesh_delete(m); } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/zbalance.cc b/test/zbalance.cc index 0b50b5d96..163c29f8d 100644 --- a/test/zbalance.cc +++ b/test/zbalance.cc @@ -18,14 +18,14 @@ int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); if ( argc != 4 ) { if ( !PCUObj.Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } #ifdef HAVE_SIMMETRIX @@ -57,5 +57,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } diff --git a/test/zsplit.cc b/test/zsplit.cc index 5c66fd6a2..1b2bc5455 100644 --- a/test/zsplit.cc +++ b/test/zsplit.cc @@ -44,7 +44,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) if ( argc != 5 ) { if ( !PCUObj->Self() ) printf("Usage: %s \n", argv[0]); - pcu::PCU_Finalize(); + pcu::Finalize(); exit(EXIT_FAILURE); } modelFile = argv[1]; @@ -58,7 +58,7 @@ void getConfig(int argc, char** argv, pcu::PCU *PCUObj) int main(int argc, char** argv) { - pcu::PCU_Init(&argc,&argv); + pcu::Init(&argc,&argv); { pcu::PCU PCUObj; lion_set_verbosity(1); @@ -97,5 +97,5 @@ int main(int argc, char** argv) MS_exit(); #endif } - pcu::PCU_Finalize(); + pcu::Finalize(); } From 981b20ae64daac4629576c701979abc675c8e999 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Mon, 3 Mar 2025 20:21:36 -0500 Subject: [PATCH 59/66] bump PUMI to 4.0.0 Signed-off-by: Aiden Woodruff --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16b13ba2b..a8af52867 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ endif() # This is the top level CMake file for the SCOREC build cmake_minimum_required(VERSION 3.8) -project(SCOREC VERSION 3.0.3 LANGUAGES CXX C) +project(SCOREC VERSION 4.0.0 LANGUAGES CXX C) include(cmake/bob.cmake) include(cmake/xsdk.cmake) From 9aa22718270ef518ea56215af1c29563d6c56ef6 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 4 Mar 2025 12:25:06 -0500 Subject: [PATCH 60/66] revert to MPI_Init in sim_countBL Signed-off-by: Aiden Woodruff --- test/sim_countBL.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/sim_countBL.cc b/test/sim_countBL.cc index 463976f4a..ac5785995 100644 --- a/test/sim_countBL.cc +++ b/test/sim_countBL.cc @@ -5,7 +5,7 @@ #include "SimAdvMeshing.h" #include -#include +#include #include #include #include @@ -22,7 +22,7 @@ void messageHandler(int type, const char *msg); int main(int argc, char **argv) { - pcu::Init(&argc, &argv); + MPI_Init(&argc, &argv); SimPartitionedMesh_start(&argc, &argv); // Read in command line arguments if (argc == 5) { @@ -107,7 +107,7 @@ int main(int argc, char **argv) SimParasolid_stop(1); Sim_unregisterAllKeys(); SimPartitionedMesh_stop(); - pcu::Finalize(); + MPI_Finalize(); return 0; } From f4f79c1a60f8de88d46aa6496f7a1842fdb59772 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 4 Mar 2025 12:28:11 -0500 Subject: [PATCH 61/66] bump SCOREC major version in examples Signed-off-by: Aiden Woodruff --- doc/CMakeLists.txt | 4 ++-- example/mpi-nompi/CMakeLists.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 07f52b7b0..0bcddce3a 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -16,13 +16,13 @@ set(SCOREC_PREFIX "" CACHE STRING "Directory where SCOREC is installed") # If SCOREC_PREFIX was specified, only link to that directory, # i.e. don't link to another installation in /usr/lib by mistake if (SCOREC_PREFIX) - find_package(SCOREC 3.0.0 REQUIRED CONFIG PATHS ${SCOREC_PREFIX} NO_DEFAULT_PATH) + find_package(SCOREC 4 REQUIRED CONFIG PATHS ${SCOREC_PREFIX} NO_DEFAULT_PATH) else() # IF SCOREC_PREFIX was not specified, look in typical system directories, # and also in CMAKE_PREFIX_PATH (environment variable) find_package( SCOREC #package name, has to be SCOREC - 3.0.0 #version. can be omitted, and will match any installed version + 4 #version. can be omitted, and will match any installed version #greater than or equal to this one, as long as the major number #is the same REQUIRED #indicate that SCOREC is really needed to compile diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt index 15cc2582d..858e44a99 100644 --- a/example/mpi-nompi/CMakeLists.txt +++ b/example/mpi-nompi/CMakeLists.txt @@ -7,9 +7,9 @@ set(SCOREC_PREFIX "" CACHE STRING "Directory where SCOREC is installed") # If SCOREC_PREFIX was specified then use only that directory. if (SCOREC_PREFIX) - find_package(SCOREC 3 REQUIRED CONFIG PATHS ${SCOREC_PREFIX} NO_DEFAULT_PATH) + find_package(SCOREC 4 REQUIRED CONFIG PATHS ${SCOREC_PREFIX} NO_DEFAULT_PATH) else() - find_package(SCOREC 3 REQUIRED CONFIG) + find_package(SCOREC 4 REQUIRED CONFIG) endif() add_executable(hello hello.cc) From 4895e2d72eb08637341b7a606d4aa262840fc6cb Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 6 Mar 2025 20:26:34 -0500 Subject: [PATCH 62/66] add const to PCU::Allgather send data - pcu/PCU.h: make Allgather `send` a const void*. - pcu/PCU.cc: update instantiations. - pcu/pcu_coll.h (pcu_allgather): make `send_data` const. - pcu/pcu_coll.c: update pcu_gather and pcu_allgather arguments. Signed-off-by: Aiden Woodruff --- pcu/PCU.cc | 5 +++-- pcu/PCU.h | 6 ++++-- pcu/pcu_coll.c | 4 ++-- pcu/pcu_coll.h | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pcu/PCU.cc b/pcu/PCU.cc index 4c694ca4c..062abb913 100644 --- a/pcu/PCU.cc +++ b/pcu/PCU.cc @@ -352,7 +352,8 @@ template T PCU::Exscan(T p) noexcept { return p; } -template void PCU::Allgather(T *send_data, T *recv_data, size_t n) noexcept { +template +void PCU::Allgather(const T *send_data, T *recv_data, size_t n) noexcept { pcu_allgather(mpi_, &(msg_->coll), send_data, recv_data, n * sizeof(T)); } @@ -365,7 +366,7 @@ template void PCU::Allgather(T *send_data, T *recv_data, size_t n) template T PCU::Max(T p) noexcept; \ template void PCU::Exscan(T * p, size_t n) noexcept; \ template T PCU::Exscan(T p) noexcept; \ - template void PCU::Allgather(T *in, T *out, size_t n) noexcept; + template void PCU::Allgather(const T *in, T *out, size_t n) noexcept; PCU_EXPL_INST_DECL(int) PCU_EXPL_INST_DECL(size_t) PCU_EXPL_INST_DECL(long) diff --git a/pcu/PCU.h b/pcu/PCU.h index c65c3c540..7b588758c 100644 --- a/pcu/PCU.h +++ b/pcu/PCU.h @@ -69,7 +69,8 @@ class PCU { template [[nodiscard]] T Max(T p) noexcept; template void Exscan(T *p, size_t n) noexcept; template [[nodiscard]] T Exscan(T p) noexcept; - template void Allgather(T *send, T *recv, size_t n) noexcept; + template + void Allgather(const T *send, T *recv, size_t n) noexcept; /*bitwise operations*/ [[nodiscard]] int Or(int c) noexcept; @@ -150,7 +151,8 @@ void Finalize(); extern template T PCU::Max(T p) noexcept; \ extern template void PCU::Exscan(T * p, size_t n) noexcept; \ extern template T PCU::Exscan(T p) noexcept; \ - extern template void PCU::Allgather(T *send, T *recv, size_t n) noexcept; + extern template \ + void PCU::Allgather(const T *send, T *recv, size_t n) noexcept; PCU_EXPL_INST_DECL(int) PCU_EXPL_INST_DECL(size_t) PCU_EXPL_INST_DECL(long) diff --git a/pcu/pcu_coll.c b/pcu/pcu_coll.c index e39f419d9..0d27ada5f 100644 --- a/pcu/pcu_coll.c +++ b/pcu/pcu_coll.c @@ -423,7 +423,7 @@ void pcu_merge_gather(int peers, int bit, void *local, void *incoming, memcpy(local + bit * block_size, incoming, bit * block_size); } -void pcu_gather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, +void pcu_gather(pcu_mpi_t* mpi, pcu_coll* c, const void *send_data, void *recv_data, size_t size) { memcpy(recv_data, send_data, size); pcu_make_coll(mpi, c, &gather, pcu_merge_gather); @@ -431,7 +431,7 @@ void pcu_gather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, while (pcu_progress_coll(mpi, c)); } -void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, +void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, const void *send_data, void *recv_data, size_t size) { pcu_gather(mpi, c, send_data, recv_data, size); pcu_bcast(mpi, c, recv_data, size * pcu_mpi_size(mpi)); diff --git a/pcu/pcu_coll.h b/pcu/pcu_coll.h index 28389abfb..2942cf787 100644 --- a/pcu/pcu_coll.h +++ b/pcu/pcu_coll.h @@ -78,7 +78,7 @@ void pcu_reduce(pcu_mpi_t*, pcu_coll* c, pcu_merge* m, void* data, size_t size); void pcu_bcast(pcu_mpi_t*, pcu_coll* c, void* data, size_t size); void pcu_allreduce(pcu_mpi_t*, pcu_coll* c, pcu_merge* m, void* data, size_t size); void pcu_scan(pcu_mpi_t*, pcu_coll* c, pcu_merge* m, void* data, size_t size); -void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, void *send_data, +void pcu_allgather(pcu_mpi_t* mpi, pcu_coll* c, const void *send_data, void *recv_data, size_t size); void pcu_begin_barrier(pcu_mpi_t*,pcu_coll* c); From 974b2efafdfd8512cbf3f83fa018860e09048179 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 6 Mar 2025 21:41:52 -0500 Subject: [PATCH 63/66] remove direct MPI calls from CGNS code - apf/apfCGNS.cc: replace MPI_Allgather with PCU::Allgather. - wrap Allgatherv call in #ifndef SCOREC_NO_MPI. use DupComm and use std::copy in the serial case. - use DupComm for cgp_mpi_comm. and free the comm later with MPI_Comm_free wrapped in #ifndef SCOREC_NO_MPI. - mds/mdsCGNS.cc: use PCU_Comm_Dup and MPI_Comm_free later instead of using PCU_Get_Comm. Signed-off-by: Aiden Woodruff --- apf/apfCGNS.cc | 33 ++++++++++++++++++++------------- mds/mdsCGNS.cc | 6 +++++- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/apf/apfCGNS.cc b/apf/apfCGNS.cc index 4bd3499b0..da01cd99b 100644 --- a/apf/apfCGNS.cc +++ b/apf/apfCGNS.cc @@ -545,8 +545,9 @@ CellElementReturn WriteElements(const CGNS &cgns, apf::Mesh *m, apf::GlobalNumbe cgp_error_exit(); std::vector allNumbersForThisType(m->getPCU()->Peers(), 0); - MPI_Allgather(&numbersByElementType[o], 1, MPI_INT, allNumbersForThisType.data(), 1, - MPI_INT, m->getPCU()->GetMPIComm()); + m->getPCU()->Allgather( + &numbersByElementType[o], allNumbersForThisType.data(), 1 + ); cgsize_t num = 0; for (int i = 0; i < m->getPCU()->Self(); i++) @@ -656,8 +657,7 @@ void AddBocosToMainBase(const CGNS &cgns, const CellElementReturn &cellResults, } std::vector allNumbersForThisType(m->getPCU()->Peers(), 0); - MPI_Allgather(&number, 1, MPI_INT, allNumbersForThisType.data(), 1, - MPI_INT, m->getPCU()->GetMPIComm()); + m->getPCU()->Allgather(&number, allNumbersForThisType.data(), 1); cgsize_t num = 0; for (int i = 0; i < m->getPCU()->Self(); i++) @@ -684,19 +684,16 @@ void AddBocosToMainBase(const CGNS &cgns, const CellElementReturn &cellResults, } } std::vector cacheStarts(m->getPCU()->Peers(), 0); - MPI_Allgather(&cacheStart, 1, MPI_INT, cacheStarts.data(), 1, - MPI_INT, m->getPCU()->GetMPIComm()); + m->getPCU()->Allgather(&cacheStart, cacheStarts.data(), 1); std::vector cacheEnds(m->getPCU()->Peers(), 0); - MPI_Allgather(&cacheEnd, 1, MPI_INT, cacheEnds.data(), 1, - MPI_INT, m->getPCU()->GetMPIComm()); + m->getPCU()->Allgather(&cacheEnd, cacheEnds.data(), 1); return std::make_pair(cacheStarts, cacheEnds); }; const auto globalElementList = [&m](const std::vector &bcList, std::vector &allElements) { std::vector sizes(m->getPCU()->Peers(), 0); // important initialiser const int l = bcList.size(); - MPI_Allgather(&l, 1, MPI_INT, sizes.data(), 1, - MPI_INT, m->getPCU()->GetMPIComm()); + m->getPCU()->Allgather(&l, sizes.data(), 1); int totalLength = 0; for (const auto &i : sizes) @@ -708,9 +705,15 @@ void AddBocosToMainBase(const CGNS &cgns, const CellElementReturn &cellResults, displacement[i] = displacement[i - 1] + sizes[i - 1]; allElements.resize(totalLength); + #ifndef SCOREC_NO_MPI + PCU_Comm comm; + m->getPCU()->DupComm(&comm); MPI_Allgatherv(bcList.data(), bcList.size(), MPI_INT, allElements.data(), - sizes.data(), displacement.data(), MPI_INT, - m->getPCU()->GetMPIComm()); + sizes.data(), displacement.data(), MPI_INT, comm); + MPI_Comm_free(&comm); + #else + std::copy(bcList.begin(), bcList.end(), allElements.begin()); + #endif }; const auto doVertexBC = [&](const auto &iter) { @@ -1046,7 +1049,8 @@ void WriteCGNS(const char *prefix, apf::Mesh *m, const apf::CGNSBCMap &cgnsBCMap sizes[2] = 0; // nodes are unsorted, as defined by api // Copy communicator - auto communicator = m->getPCU()->GetMPIComm(); + PCU_Comm communicator; + m->getPCU()->DupComm(&communicator); cgp_mpi_comm(communicator); // cgp_pio_mode(CGP_INDEPENDENT); @@ -1134,6 +1138,9 @@ void WriteCGNS(const char *prefix, apf::Mesh *m, const apf::CGNSBCMap &cgnsBCMap destroyGlobalNumbering(gcn); // cgp_close(cgns.index); + #ifndef SCOREC_NO_MPI + MPI_Comm_free(&communicator); + #endif } } // namespace diff --git a/mds/mdsCGNS.cc b/mds/mdsCGNS.cc index fd811f914..54f483607 100644 --- a/mds/mdsCGNS.cc +++ b/mds/mdsCGNS.cc @@ -1054,7 +1054,8 @@ apf::Mesh2 *DoIt(PCU_t h, gmi_model *g, const std::string &fname, apf::CGNSBCMap static_assert(std::is_same::value, "cgsize_t not compiled as int"); int cgid = -1; - auto comm = PCU_Get_Comm(h); + PCU_Comm comm; + PCU_Comm_Dup(h, &comm); cgp_mpi_comm(comm); cgp_pio_mode(CGP_INDEPENDENT); cgp_open(fname.c_str(), CG_MODE_READ, &cgid); @@ -1636,6 +1637,9 @@ apf::Mesh2 *DoIt(PCU_t h, gmi_model *g, const std::string &fname, apf::CGNSBCMap cgp_close(cgid); else cg_close(cgid); +#ifndef SCOREC_NO_MPI + MPI_Comm_free(&comm); +#endif { apf::MeshTag *tag = nullptr; From aec006e71202e86a48dc0ce851097dded699212c Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 11 Mar 2025 16:47:47 -0400 Subject: [PATCH 64/66] quote CMake variable in example/mpi-nompi Signed-off-by: Aiden Woodruff --- example/mpi-nompi/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/mpi-nompi/CMakeLists.txt b/example/mpi-nompi/CMakeLists.txt index 858e44a99..eaea8d8ba 100644 --- a/example/mpi-nompi/CMakeLists.txt +++ b/example/mpi-nompi/CMakeLists.txt @@ -7,7 +7,7 @@ set(SCOREC_PREFIX "" CACHE STRING "Directory where SCOREC is installed") # If SCOREC_PREFIX was specified then use only that directory. if (SCOREC_PREFIX) - find_package(SCOREC 4 REQUIRED CONFIG PATHS ${SCOREC_PREFIX} NO_DEFAULT_PATH) + find_package(SCOREC 4 REQUIRED CONFIG PATHS "${SCOREC_PREFIX}" NO_DEFAULT_PATH) else() find_package(SCOREC 4 REQUIRED CONFIG) endif() From 75fe4948d10f94a120bbbe515f7495bedfd58fca Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 11 Mar 2025 16:48:10 -0400 Subject: [PATCH 65/66] fix include in sim_countBL test - since this is an MPI-only application, it should include MPI directly and not via PCU. Signed-off-by: Aiden Woodruff --- test/sim_countBL.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/sim_countBL.cc b/test/sim_countBL.cc index ac5785995..c909c029c 100644 --- a/test/sim_countBL.cc +++ b/test/sim_countBL.cc @@ -5,7 +5,7 @@ #include "SimAdvMeshing.h" #include -#include +#include #include #include #include From 42c4d6aa7bd244d0235c50d0bf1ff1b35cf0e4d6 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Tue, 11 Mar 2025 16:48:43 -0400 Subject: [PATCH 66/66] fix buffer overflow - pcu/pcu_coll.c (pcu_merge_gather): fix buffer overflow on the local array when number of peers is odd. I was assuming that with power of 2 peers the local array always has an even size. Now, memcpy will never write past local + size. - added comment explaining it. Signed-off-by: Aiden Woodruff --- pcu/pcu_coll.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pcu/pcu_coll.c b/pcu/pcu_coll.c index 0d27ada5f..f8c8da2f8 100644 --- a/pcu/pcu_coll.c +++ b/pcu/pcu_coll.c @@ -417,10 +417,12 @@ void pcu_scan(pcu_mpi_t* mpi, pcu_coll* c, pcu_merge* m, void* data, size_t size void pcu_merge_gather(int peers, int bit, void *local, void *incoming, size_t size) { - // bit is equal to the current number of items in local and incoming. - // Since all items incoming are from greater ranks, they got to the right. size_t block_size = size / peers; - memcpy(local + bit * block_size, incoming, bit * block_size); + // local has `bit` blocks. + // incoming may have `bit` (if peers is a power of 2) or `bit - 1` blocks. + // either way, writing `size - bit * block_size` prevents buffer overrun. + // Also, all incoming blocks are from greater ranks, so they go to the right. + memcpy(local + bit * block_size, incoming, size - bit * block_size); } void pcu_gather(pcu_mpi_t* mpi, pcu_coll* c, const void *send_data,