Skip to content

Commit

Permalink
Address review feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
sethrj committed May 7, 2024
1 parent e6ae4e7 commit 1117dd9
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/celeritas/track/detail/TrackSortUtils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ void count_tracks_per_action(
std::fill(offsets.begin(), offsets.end(), ThreadId{});
auto const size = states.size();
// if get_action(0) != get_action(1), get_action(0) never gets initialized
#if CELERITAS_OPENMP == CELERITAS_OPENMP_THREAD
#if CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# pragma omp parallel for
#endif
for (size_type i = 1; i < size; ++i)
Expand Down
13 changes: 10 additions & 3 deletions src/corecel/math/Atomics.hh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ namespace celeritas
//---------------------------------------------------------------------------//
/*!
* Add to a value, returning the original value.
*
* Note that on CPU, this assumes the atomic add is being done in with \em
* track-level parallelism rather than \em event-level because these utilities
* are meant for "kernel" code.
*
* \warning Multiple events must not use this function to simultaneously modify
* shared data.
*/
template<class T>
CELER_FORCEINLINE_FUNCTION T atomic_add(T* address, T value)
Expand All @@ -28,7 +35,7 @@ CELER_FORCEINLINE_FUNCTION T atomic_add(T* address, T value)
#else
CELER_EXPECT(address);
T initial;
# if CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# if defined(_OPENMP) && CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# pragma omp atomic capture
# endif
{
Expand Down Expand Up @@ -78,7 +85,7 @@ CELER_FORCEINLINE_FUNCTION T atomic_min(T* address, T value)
#else
CELER_EXPECT(address);
T initial;
# if CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# if defined(_OPENMP) && CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# pragma omp atomic capture
# endif
{
Expand All @@ -101,7 +108,7 @@ CELER_FORCEINLINE_FUNCTION T atomic_max(T* address, T value)
#else
CELER_EXPECT(address);
T initial;
# if CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# if defined(_OPENMP) && CELERITAS_OPENMP == CELERITAS_OPENMP_TRACK
# pragma omp atomic capture
# endif
{
Expand Down

0 comments on commit 1117dd9

Please sign in to comment.