3
* Test rectangular matrix multiplication.
5
* Nawab Ali <nawab.ali@pnl.gov>
18
#define NDIMS 2 /* 2-dimensional matrices */
26
int g_a, g_b, g_c; /* GA handles for matrices A, B, and C */
28
int mr_create_matrices(void);
32
int main(int argc, char **argv) {
36
/* Initialize message passing and GA */
45
if (!MA_init(C_DBL, stack, heap)) {
46
GA_Error("MA_init failed", stack+heap);
49
/* Create the matrices A, B, C */
50
ret = mr_create_matrices();
57
GA_Dgemm('N', 'N', m, n, k, 1.0, g_a, g_b, 0.0, g_c);
67
int mr_create_matrices(void) {
72
/* Create a 2-dimensional matrix A[m][k] */
76
g_a = GA_Create_handle();
77
GA_Set_array_name(g_a, "Matrix A");
78
GA_Set_data(g_a, NDIMS, dims, C_DBL);
79
ret = GA_Allocate(g_a);
82
/* Create a 2-dimensional matrix B[k][n] */
86
g_b = GA_Create_handle();
87
GA_Set_array_name(g_b, "Matrix B");
88
GA_Set_data(g_b, NDIMS, dims, C_DBL);
89
ret = GA_Allocate(g_b);
92
/* Create a 2-dimensional matrix C[m][n] */
96
g_c = GA_Create_handle();
97
GA_Set_array_name(g_c, "Matrix C");
98
GA_Set_data(g_c, NDIMS, dims, C_DBL);
99
ret = GA_Allocate(g_c);
105
int mr_cleanup(void) {