FrontISTR 5.2.0
Large-scale structural analysis program with finit element method
Loading...
Searching...
No Matches
hecmw_comm.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright (c) 2019 FrontISTR Commons
3 * This software is released under the MIT License, see LICENSE.txt
4 *****************************************************************************/
5
6#ifndef HECMW_COMM_INCLUDED
7#define HECMW_COMM_INCLUDED
8
9#include "hecmw_config.h"
10
11extern int HECMW_Comm_rank(HECMW_Comm comm, int *rank);
12extern int HECMW_Comm_size(HECMW_Comm comm, int *size);
13extern int HECMW_Comm_dup(HECMW_Comm comm, HECMW_Comm *new_comm);
14extern int HECMW_Comm_free(HECMW_Comm *comm);
15
16extern int HECMW_Barrier(HECMW_Comm comm);
17extern int HECMW_Wait(HECMW_Request *request, HECMW_Status *statuse);
18extern int HECMW_Waitall(int count, HECMW_Request *array_of_requests,
19 HECMW_Status *array_of_statuses);
20extern int HECMW_Bcast(void *buffer, int count, HECMW_Datatype datatype,
21 int root, HECMW_Comm comm);
22extern int HECMW_Send(void *buffer, int count, HECMW_Datatype datatype,
23 int dest, int tag, HECMW_Comm comm);
24extern int HECMW_Recv(void *buffer, int count, HECMW_Datatype datatype,
25 int source, int tag, HECMW_Comm comm,
26 HECMW_Status *status);
27extern int HECMW_Isend(void *buffer, int count, HECMW_Datatype datatype,
28 int dest, int tag, HECMW_Comm comm,
29 HECMW_Request *request);
30extern int HECMW_Irecv(void *buffer, int count, HECMW_Datatype datatype,
31 int source, int tag, HECMW_Comm comm,
32 HECMW_Request *request);
33extern int HECMW_Allreduce(void *sendbuf, void *recvbuf, int count,
34 HECMW_Datatype datatype, HECMW_Op op,
35 HECMW_Comm comm);
36extern int HECMW_Allgather(void *sendbuf, int sendcount,
37 HECMW_Datatype sendtype, void *recvbuf,
38 int recvcount, HECMW_Datatype recvtype,
39 HECMW_Comm comm);
40extern int HECMW_Group_incl(HECMW_Group group, int n, int *ranks,
41 HECMW_Group *newgroup);
42extern int HECMW_Group_excl(HECMW_Group group, int n, int *ranks,
43 HECMW_Group *newgroup);
44extern int HECMW_Comm_create(HECMW_Comm comm, HECMW_Group group,
45 HECMW_Comm *comm_out);
46extern int HECMW_Group_rank(HECMW_Group group, int *rank);
47extern int HECMW_Group_size(HECMW_Group group, int *size);
48extern int HECMW_Comm_group(HECMW_Comm comm, HECMW_Group *group);
49
50extern int HECMW_comm_init(int *argc, char ***argv);
51extern int HECMW_comm_is_initialized(void);
53extern int HECMW_comm_get_size(void);
54extern int HECMW_comm_get_rank(void);
58extern int HECMW_comm_is_initialized(void);
59
60extern void hecmw_comm_init_if(HECMW_Fint *comm, int *size, int *rank,
61 HECMW_Fint *group);
62#endif
int HECMW_Comm_create(HECMW_Comm comm, HECMW_Group group, HECMW_Comm *comm_out)
Definition: hecmw_comm.c:522
int HECMW_Comm_rank(HECMW_Comm comm, int *rank)
Definition: hecmw_comm.c:18
int HECMW_Irecv(void *buffer, int count, HECMW_Datatype datatype, int source, int tag, HECMW_Comm comm, HECMW_Request *request)
Definition: hecmw_comm.c:321
int HECMW_Isend(void *buffer, int count, HECMW_Datatype datatype, int dest, int tag, HECMW_Comm comm, HECMW_Request *request)
Definition: hecmw_comm.c:278
int HECMW_Wait(HECMW_Request *request, HECMW_Status *statuse)
Definition: hecmw_comm.c:113
int HECMW_Waitall(int count, HECMW_Request *array_of_requests, HECMW_Status *array_of_statuses)
Definition: hecmw_comm.c:132
HECMW_Fint HECMW_Comm_c2f(HECMW_Comm comm)
Definition: hecmw_comm.c:715
int HECMW_comm_init(int *argc, char ***argv)
Definition: hecmw_comm.c:666
HECMW_Comm HECMW_comm_get_comm(void)
Definition: hecmw_comm.c:699
int HECMW_Group_size(HECMW_Group group, int *size)
Definition: hecmw_comm.c:560
int HECMW_Comm_size(HECMW_Comm comm, int *size)
Definition: hecmw_comm.c:37
int HECMW_Group_excl(HECMW_Group group, int n, int *ranks, HECMW_Group *newgroup)
Definition: hecmw_comm.c:503
int HECMW_Allreduce(void *sendbuf, void *recvbuf, int count, HECMW_Datatype datatype, HECMW_Op op, HECMW_Comm comm)
Definition: hecmw_comm.c:364
int HECMW_comm_get_rank(void)
Definition: hecmw_comm.c:707
int HECMW_Send(void *buffer, int count, HECMW_Datatype datatype, int dest, int tag, HECMW_Comm comm)
Definition: hecmw_comm.c:193
int HECMW_Barrier(HECMW_Comm comm)
Definition: hecmw_comm.c:95
int HECMW_Recv(void *buffer, int count, HECMW_Datatype datatype, int source, int tag, HECMW_Comm comm, HECMW_Status *status)
Definition: hecmw_comm.c:235
void hecmw_comm_init_if(HECMW_Fint *comm, int *size, int *rank, HECMW_Fint *group)
Definition: hecmw_comm.c:741
int HECMW_Comm_free(HECMW_Comm *comm)
Definition: hecmw_comm.c:75
int HECMW_comm_get_size(void)
Definition: hecmw_comm.c:703
int HECMW_Comm_group(HECMW_Comm comm, HECMW_Group *group)
Definition: hecmw_comm.c:579
HECMW_Group HECMW_comm_get_group(void)
Definition: hecmw_comm.c:711
int HECMW_Group_rank(HECMW_Group group, int *rank)
Definition: hecmw_comm.c:541
int HECMW_comm_is_initialized(void)
Definition: hecmw_comm.c:697
HECMW_Comm HECMW_Comm_f2c(HECMW_Fint comm)
Definition: hecmw_comm.c:723
int HECMW_Group_incl(HECMW_Group group, int n, int *ranks, HECMW_Group *newgroup)
Definition: hecmw_comm.c:484
int HECMW_Allgather(void *sendbuf, int sendcount, HECMW_Datatype sendtype, void *recvbuf, int recvcount, HECMW_Datatype recvtype, HECMW_Comm comm)
Definition: hecmw_comm.c:432
int HECMW_Comm_dup(HECMW_Comm comm, HECMW_Comm *new_comm)
Definition: hecmw_comm.c:56
int HECMW_Bcast(void *buffer, int count, HECMW_Datatype datatype, int root, HECMW_Comm comm)
Definition: hecmw_comm.c:151
MPI_Group HECMW_Group
Definition: hecmw_config.h:32
MPI_Datatype HECMW_Datatype
Definition: hecmw_config.h:38
MPI_Op HECMW_Op
Definition: hecmw_config.h:40
MPI_Fint HECMW_Fint
Definition: hecmw_config.h:42
MPI_Status HECMW_Status
Definition: hecmw_config.h:36
MPI_Comm HECMW_Comm
Definition: hecmw_config.h:30
MPI_Request HECMW_Request
Definition: hecmw_config.h:34