read_ini.h 982 Bytes
Newer Older
1
2
3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
iker_martin's avatar
iker_martin committed
4
#include <mpi.h>
5
6
7

typedef struct
{
8
9
10
11
12
  int pt; // Procedure type
  float t_stage; // Time to complete the stage

  double t_op;
  int operations;
13
  int bytes, real_bytes;
14
15
16
17
18
19
20
21
22

  char* array, *full_array;
  double* double_array;
} iter_stage_t;

typedef struct
{
    int resizes, iter_stages;
    int actual_resize, actual_iter;
23
    int matrix_tam, sdr, adr;
24
    int css, cst;
25
    int aib;
26
    double latency_m, bw_m;
27
28
29
30

    int *iters, *procs, *phy_dist;
    float *factors;

31
    iter_stage_t *iter_stage;
32
33
} configuration;

34

35
36
configuration *read_ini_file(char *file_name);
void free_config(configuration *user_config);
37
38
void print_config(configuration *user_config, int grp);
void print_config_group(configuration *user_config, int grp);
iker_martin's avatar
iker_martin committed
39

40
// MPI Intercomm functions
iker_martin's avatar
iker_martin committed
41
void send_config_file(configuration *config_file, int root, MPI_Comm intercomm);
42
void recv_config_file(int root, MPI_Comm intercomm, configuration **config_file_out);