Closed jeffhammond closed 1 year ago
https://github.com/GlobalArrays/ga/blob/master/armci/examples/features/non-blocking/overlap/overlap.c#L287 does a NbGetS where the input and output buffers are the same.
case STRIDED_GET: ARMCI_INIT_HANDLE(&handle); time_start = armci_timer(); time_after_start = armci_timer(); ARMCI_ASSERT(ARMCI_NbGetS(array_ptrs[second], &stride_dist, array_ptrs[second], &stride_dist, block_sizes, 1, second, &handle)); time_after_call = armci_timer(); ARMCI_ASSERT(ARMCI_Wait(&handle)); time_after_wait = armci_timer(); break;
This does not seem legal, and is inconsistent with the other tests, including https://github.com/GlobalArrays/ga/blob/master/armci/examples/features/non-blocking/overlap/overlap.c#L259:
case CONT_GET: ARMCI_INIT_HANDLE(&handle); time_start = armci_timer(); time_after_start = armci_timer(); ARMCI_ASSERT(ARMCI_NbGet(array_ptrs[second], array_ptrs[rank], msg_size, second, &handle)); time_after_call = armci_timer(); ARMCI_ASSERT(ARMCI_Wait(&handle)); time_after_wait = armci_timer(); break;
I propose to fix this by making the input and output of the former match the latter. Any objections?
The proposed change looks good to me
https://github.com/GlobalArrays/ga/blob/master/armci/examples/features/non-blocking/overlap/overlap.c#L287 does a NbGetS where the input and output buffers are the same.
This does not seem legal, and is inconsistent with the other tests, including https://github.com/GlobalArrays/ga/blob/master/armci/examples/features/non-blocking/overlap/overlap.c#L259:
I propose to fix this by making the input and output of the former match the latter. Any objections?