int PMPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr,
int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count,
MPI_Datatype target_datatype, MPI_Op op, MPI_Win win){
- CHECK_COUNT(2, origin_count)
- if(origin_count>0)
- CHECK_TYPE(3, origin_datatype)
- if (op != MPI_NO_OP)
+
+ if (op != MPI_NO_OP){
CHECK_BUFFER(1, origin_addr, origin_count, origin_datatype)
+ CHECK_COUNT(2, origin_count)
+ if(origin_count>0)
+ CHECK_TYPE(3, origin_datatype)
+ }
CHECK_COUNT(5, result_count)
CHECK_TYPE(6, result_datatype)
CHECK_BUFFER(4, result_addr, result_count, result_datatype)
MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request* request){
if(target_rank==MPI_PROC_NULL)
*request = MPI_REQUEST_NULL;
- CHECK_COUNT(2, origin_count)
- CHECK_TYPE(3, origin_datatype)
- CHECK_BUFFER(1, origin_addr, origin_count, origin_datatype)
+ if (op != MPI_NO_OP){
+ CHECK_BUFFER(1, origin_addr, origin_count, origin_datatype)
+ CHECK_COUNT(2, origin_count)
+ if(origin_count>0)
+ CHECK_TYPE(3, origin_datatype)
+ }
CHECK_COUNT(5, result_count)
CHECK_TYPE(6, result_datatype)
CHECK_BUFFER(4, result_addr, result_count, result_datatype)
strided_acc_onelock strided_get_indexed strided_putget_indexed contention_put contention_putget lockcontention3
adlb_mimic1 lock_contention_dt acc-loc get_acc_local get_accumulate put_base put_bottom
linked_list_bench_lock_all linked_list_bench_lock_excl manyrma2 pscw_ordering rma-contig get-struct
- rput_local_comp racc_local_comp rget-testall win_shared win_shared_put_flush_get)
+ rput_local_comp racc_local_comp rget-testall win_shared win_shared_put_flush_get atomic_get)
# fence_shm fetchandadd_am fetchandadd fetchandadd_tree_am fetchandadd_tree
# linked_list_bench_lock_shr linked_list linked_list_fop linked_list_lockall
# mcs-mutex mixedsync mutex_bench reqops
# strided_getacc_indexed_shared rget-unlock
# win_flavors win_shared_zerobyte win_shared_noncontig win_shared_noncontig_put
- # win_large_shm win_zero wintest atomic_rmw_fop atomic_rmw_gacc atomic_get atomic_rmw_cas
+ # win_large_shm win_zero wintest atomic_rmw_fop atomic_rmw_gacc atomic_rmw_cas
# aint derived-acc-flush_local large-acc-flush_local
# win_shared_create win_shared_put_flush_get win_shared_rma_flush_load
# wrma_flush_get