1 /***************************************************************************** 2 * Copyright (c) 2019 FrontISTR Commons 3 * This software is released under the MIT License, see LICENSE.txt 4 *****************************************************************************/ 5 6 #ifndef INC_HECMW_COUPLE_COMM 7 #define INC_HECMW_COUPLE_COMM 8 9 #include "hecmw_config.h" 10 11 extern int HECMW_couple_inter_send_recv( 12 int n_neighbor_pe_send, int *neighbor_pe_send, int *sendbuf_index, 13 void *sendbuf, int n_neighbor_pe_recv, int *neighbor_pe_recv, 14 int *recvbuf_index, void *recvbuf, HECMW_Datatype datatype, 15 HECMW_Comm comm); 16 17 extern int HECMW_couple_intra_send_recv(int n_neighbor_pe, int *neighbor_pe, 18 int *sendbuf_index, void *sendbuf, 19 int *recvbuf_index, void *recvbuf, 20 HECMW_Datatype datatype, 21 HECMW_Comm comm); 22 23 extern int HECMW_couple_bcast(int n_neighbor_pe_send, int *neighbor_pe_send, 24 int sendbuf_size, void *sendbuf, 25 int n_neighbor_pe_recv, int *neighbor_pe_recv, 26 int *recvbuf_index, void *recvbuf, 27 HECMW_Datatype datatype, HECMW_Comm comm); 28 29 extern int HECMW_couple_inter_bcast(const char *boundary_id, void *buffer, 30 int count, HECMW_Datatype datatype, 31 int direction); 32 33 extern int HECMW_couple_inter_barrier(const char *boundary_id); 34 35 #endif /* INC_HECMW_COUPLE_COMM */ 36