ucs_status_t uct_mm_ep_atomic_add64(uct_ep_h tl_ep, uint64_t add, uint64_t remote_addr, uct_rkey_t rkey) { uint64_t *ptr = (uint64_t *)(rkey + remote_addr); ucs_atomic_add64(ptr, add); uct_mm_trace_data(remote_addr, rkey, "ATOMIC_ADD64 [add %"PRIu64"]", add); return UCS_OK; }
ucs_status_t uct_sm_ep_atomic_add64(uct_ep_h tl_ep, uint64_t add, uint64_t remote_addr, uct_rkey_t rkey) { uint64_t *ptr = (uint64_t *)(rkey + remote_addr); ucs_atomic_add64(ptr, add); uct_sm_ep_trace_data(remote_addr, rkey, "ATOMIC_ADD64 [add %"PRIu64"]", add); UCT_TL_EP_STAT_ATOMIC(ucs_derived_of(tl_ep, uct_base_ep_t)); return UCS_OK; }