int main(int argc,char *argv[]) { gaspi_rank_t rank,tnc; gaspi_float vers; gaspi_config_t gconf; char mtype[16]; int i; mcycles_t t0, t1; mcycles_t delta[1024]; gaspi_float cpu_freq; gaspi_config_get(&gconf); gconf.mtu = 4096; gconf.queue_num = 1; gaspi_config_set(gconf); GPI2_ASSERT(gaspi_proc_init(GASPI_BLOCK)); GPI2_ASSERT( gaspi_version(&vers) ); GPI2_ASSERT( gaspi_proc_rank(&rank) ); GPI2_ASSERT( gaspi_proc_num(&tnc) ); GPI2_ASSERT( gaspi_machine_type(mtype) ); GPI2_ASSERT( gaspi_cpu_frequency(&cpu_freq)); if ( 0 == rank) printf("my rank: %d tnc: %d (vers: %.2f) machine:%s\n",rank,tnc,vers,mtype); GPI2_ASSERT(gaspi_barrier(GASPI_GROUP_ALL,GASPI_BLOCK)); if(0 == rank) printf("cpu freq: %.2f\n",cpu_freq); //benchmark for(i = 0; i < 1000; i++) { t0 = get_mcycles(); GPI2_ASSERT(gaspi_barrier(GASPI_GROUP_ALL,GASPI_BLOCK)); t1 = get_mcycles(); delta[i] = (t1 - t0); } if(0 == rank) { qsort(delta,1000,sizeof *delta,mcycles_compare); const double div = 1.0 / cpu_freq; const double ts = (double)delta[500] * div; printf("time: %f usec\n",ts); } fflush(stdout); GPI2_ASSERT(gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); GPI2_ASSERT(gaspi_proc_term(GASPI_BLOCK)); return 0; }
int main(int argc, char *argv[]) { gaspi_config_t default_conf; TSUITE_INIT(argc, argv); ASSERT (gaspi_config_get(&default_conf)); gaspi_printf("logger %u\nnet_info %u\nnetdev_info %u\nmtu %u\nport_check %u\nuser_net %u\nnet_type %u\n", default_conf.logger, default_conf.net_info, default_conf.netdev_id, default_conf.mtu, default_conf.port_check, default_conf.user_net, default_conf.net_typ); ASSERT (gaspi_proc_init(GASPI_BLOCK)); ASSERT (gaspi_proc_term(GASPI_BLOCK)); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { gaspi_config_t default_conf; TSUITE_INIT(argc, argv); ASSERT (gaspi_config_get(&default_conf)); //MTU default_conf.mtu = 5000; EXPECT_FAIL (gaspi_config_set(default_conf)); default_conf.mtu = 4096; ASSERT (gaspi_config_set(default_conf)); default_conf.netdev_id = 2; EXPECT_FAIL (gaspi_config_set(default_conf)); // GASPI_NETWORK_TYPE default_conf.netdev_id = 0; default_conf.network = GASPI_IB; default_conf.mtu = 2048; ASSERT (gaspi_config_set(default_conf)); //############################################// ASSERT (gaspi_proc_init(GASPI_BLOCK)); //Don't allow setup after init default_conf.mtu = 2048; EXPECT_FAIL (gaspi_config_set(default_conf)); ASSERT (gaspi_proc_term(GASPI_BLOCK)); return EXIT_SUCCESS; }
int main(int argc,char *argv[]) { gaspi_rank_t rank,tnc; gaspi_return_t ret; gaspi_float vers; gaspi_config_t gconf; char mtype[16]; int commSize=1,cnt=0; gaspi_number_t queueSize; void *pret; int i,l; mcycles_t t0,t1,dt; mcycles_t stamp[1024], stamp2[1024], delta[1024]; int amount_work = 1000; gaspi_float cpu_freq; gaspi_config_get(&gconf); gconf.mtu = 4096; gconf.queue_num = 1; gaspi_config_set(gconf); GPI2_ASSERT(gaspi_proc_init(GASPI_BLOCK)); GPI2_ASSERT( gaspi_version(&vers) ); GPI2_ASSERT( gaspi_proc_rank(&rank) ); GPI2_ASSERT( gaspi_proc_num(&tnc) ); GPI2_ASSERT( gaspi_machine_type(mtype) ); GPI2_ASSERT( gaspi_cpu_frequency(&cpu_freq)); if(0 == rank) { printf("cpu freq: %.2f\n", cpu_freq); printf("my rank: %d tnc: %d (vers: %.2f) machine:%s\n",rank, tnc, vers, mtype); } GPI2_ASSERT(gaspi_barrier(GASPI_GROUP_ALL,GASPI_BLOCK)); //benchmark for(i = 0; i < 1000; i++) { t0=t1=dt=0; do { t0 = get_mcycles(); ret = gaspi_barrier(GASPI_GROUP_ALL,GASPI_TEST); t1 = get_mcycles(); dt += (t1-t0); usleep(amount_work); //useful work here.. }while(ret!=GASPI_SUCCESS); delta[i]=dt; } if(0 == rank) { qsort(delta,1000,sizeof *delta,mcycles_compare); const double div = 1.0 / cpu_freq; const double ts = (double)delta[500] * div; printf("time: %f usec\n",ts); } GPI2_ASSERT(gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); GPI2_ASSERT(gaspi_proc_term(GASPI_BLOCK)); return 0; }