#include "definitions.h" #include "App_Info.h" App_Info::App_Info(int app_num, int app_size, int *world_ranks) { int world_size; app_num_ = app_num; app_size_ = app_size; world_ranks_ = copy_int_list(app_size, world_ranks); MPI_Comm_size(MPI_COMM_WORLD, &world_size); relative_ranks_ = (int *) malloc(sizeof(int)*world_size); for(int i=0; i < world_size; i++) relative_ranks_[i] = -1; for(i=0; i < app_size_; i++) relative_ranks_[world_ranks_[i]] = i; intra_comm_ = NULL; combine_count_ = 0; #ifdef DEBUG printf("Creating an new App Info object\n"); printf("App_num = %d App_size = %d\n", app_num_, app_size_); printf("Ranks relative: world: world-relative\n"); for(int j=0;j