void test_1(int me){ if(me == 1){ long tmp = 99; a[0:5]:[0] = tmp; // put xmp_sync_memory(NULL); }
void test_1(int me) { if(me == 1){ long tmp; tmp = a[1]:[0]; xmp_sync_memory(NULL); if(tmp == a[1]-100) printf("check_1 : PASS\n"); else{ printf("check_1 : ERROR\n"); return_val = 1; } }
int main(){ double t; int i, me, target; unsigned int size; me = xmp_node_num(); target = 3 - me; init_buf(local_buf, me); init_buf(target_buf, me); if(me==1) print_items(); for(size=4;size<MAX_SIZE+1;size*=2){ // size must be more than 4 when using Fujitsu RDMA xmp_sync_all(NULL); for(i=0;i<LOOP+WARMUP;i++){ if(WARMUP == i) t = wtime(); if(me == 1){ local_buf[0:size] = target_buf[0:size]:[target]; xmp_sync_memory(NULL); #ifdef DEBUG if(local_buf[0] != '2' && local_buf[size-1] != '2') fprintf(stderr, "Error !\n"); local_buf[0] = '1'; local_buf[size-1] = '1'; #endif xmp_sync_all(NULL); } else{ xmp_sync_all(NULL); local_buf[0:size] = target_buf[0:size]:[target]; #ifdef DEBUG if(local_buf[0] != '1' && local_buf[size-1] != '1') fprintf(stderr, "Error !\n"); local_buf[0] = '2'; local_buf[size-1] = '2'; #endif } xmp_sync_all(NULL); }