00001 #ifndef MM_COL_DISTR_H 00002 #define MM_COL_DISTR_H 00003 00004 #include <stdio.h> 00005 #include "fupermod/fupermod_partition.h" 00006 00007 #ifdef __cplusplus 00008 extern "C" { 00009 #endif 00010 00013 typedef struct _mm_col_i_zone { 00015 int x; 00017 int y; 00019 int w; 00021 int h; 00023 int i; 00025 int j; 00027 int c; 00028 } mm_col_i_zone; 00029 00031 typedef struct _mm_col_i_distrib { 00033 int nproc; 00035 mm_col_i_zone* d; 00037 int N; 00039 int M; 00041 int kb; 00042 } mm_col_i_distrib; 00043 00051 mm_col_i_distrib* mm_col_dist(int nproc, int N, int kb, double* speeds); 00052 00054 void mm_col_i_dist_free(mm_col_i_distrib* dist); 00055 00057 void mm_col_print(mm_col_i_distrib* dist); 00058 00060 int mm_col_dist_write(FILE* stream, mm_col_i_distrib* idist, fupermod_dist* dist, fupermod_process_conf* confs); 00061 00063 mm_col_i_distrib* mm_col_dist_read(FILE* stream, int size, fupermod_process_conf* confs); 00064 00065 #ifdef __cplusplus 00066 } 00067 #endif 00068 00069 #endif /* MM_COL_DISTR_H */