-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathacr_mpi.h
61 lines (44 loc) · 1.27 KB
/
acr_mpi.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef _acr_mpi_h
#define _acr_mpi_h
#include <hlib.hh>
#include "hlib-c.h"
#include <mpi.h>
using namespace HLIB;
// MPI Type Struct to collect data info
typedef struct dataSplitInfo2m {
int middleIdx;
int sizeFH;
int sizeSH;
} dsi2m;
// MPI Type Struct to collect data info
typedef struct dataSplitInfo4m {
int sizem1;
int sizem2;
int sizem3;
int sizem4;
} dsi4m;
void
MPI_print(MPI_Comm comm, char const *MESSAGE, int num, int verbose);
void
MPI_blank_line(MPI_Comm comm);
void
probe_HMatrix(MPI_Comm comm, hlib_matrix_t A, int MPI_rank, char const *NAME, int level, int block);
void
probe_HVector(MPI_Comm comm, hlib_vector_t vec, int MPI_rank, char const *NAME, int level, int block);
void
MPI_Send_HMatrix_1m(MPI_Comm comm, TMatrix* A, int destination);
TMatrix*
MPI_Recv_Matrix_1m(MPI_Comm comm, int source);
void
MPI_Send_HMatrix_2m(MPI_Comm comm, TMatrix* A, int destination);
TMatrix*
MPI_Recv_Matrix_2m(MPI_Comm comm, int source);
void
MPI_Send_HMatrix(MPI_Comm comm, TMatrix* A, int destination);
TMatrix*
MPI_Recv_Matrix(MPI_Comm comm, int source);
void
MPI_Send_HVector(MPI_Comm comm, TVector* vec, int destination);
TVector*
MPI_Recv_Vector(MPI_Comm comm, int source,int blockSize);
#endif