Skip to content

Kokkos::atomic_compare_exchange_strong

rgayatri edited this page Feb 16, 2022 · 1 revision

Kokkos::atomic_compare_exchange_strong

Header File: Kokkos_Core.hpp

Usage:

was_exchanged = atomic_compare_exchange_strong(ptr_to_value,comparison_value, new_value);

Atomically sets the value at the address given by ptr_to_value to new_value if the current value at ptr_to_value is equal to comparison_value, and returns true if the exchange has happened.

Synopsis

  template<class T>
  bool atomic_compare_exchange_strong(T* const ptr_to_value, const T comparison_value, const T new_value);

Description

  • template<class T>
    bool atomic_compare_exchange_strong(T* const ptr_to_value, const T comparison_value, const T new_value);

    Atomically executes old_value = *ptr_to_value; if(old_value==comparison_value) *ptr_to_value = new_value; return old_value==comparison_value;.

    • ptr_to_value: address of the to be updated value.
    • comparison_value: value to be comapred to.
    • new_value: new value.
    • old_value: value at address ptr_to_value before doing the exchange.
Clone this wiki locally