1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 #ifndef PMI_INTERFACE_H
  12 #define PMI_INTERFACE_H
  13 
  14 #include <stdio.h>
  15 
  16 void pmi_init(int *rank, int *size);
  17 void pmi_get_local_ranks(int **local_ranks, int *local_cnt);
  18 void pmi_get_shmem_size(char *is_avail, size_t *cum_size);
  19 void pmi_put_key_loc(char *key, int *key_val, int key_size);
  20 void pmi_put_key_rem(char *key, int *key_val, int key_size);
  21 void pmi_put_double(char *key, double val);
  22 void pmi_commit();
  23 void pmi_fence(int collect);
  24 void pmi_fini();
  25 void pmi_get_key_loc(int rank, char *key_name, int **key_val, int *key_size);
  26 void pmi_get_key_rem(int rank, char *key_name, int **key_val, int *key_size);
  27 double pmi_get_double(int rank, char *key);
  28 
  29 #endif