d3503bfaba
Now that we have atomic free functions (e.g. `vtkm::AtomicAdd()`), we no longer need special implementations for control and each execution device. (Well, technically we do have special implementations for each, but they are handled with compiler directives in the free functions.) Convert the old atomic interface classes (`AtomicInterfaceControl` and `AtomicInterfaceExecution`) to use the new atomic free functions. This will allow us to test the new atomic functions everywhere that atomics are used in VTK-m. Once verified, we can deprecate the old atomic interface classes.
39 lines
1.2 KiB
CMake
39 lines
1.2 KiB
CMake
##============================================================================
|
|
## Copyright (c) Kitware, Inc.
|
|
## All rights reserved.
|
|
## See LICENSE.txt for details.
|
|
##
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
##============================================================================
|
|
|
|
set(headers
|
|
ArrayManagerExecutionOpenMP.h
|
|
DeviceAdapterAlgorithmOpenMP.h
|
|
DeviceAdapterMemoryManagerOpenMP.h
|
|
DeviceAdapterRuntimeDetectorOpenMP.h
|
|
DeviceAdapterTagOpenMP.h
|
|
FunctorsOpenMP.h
|
|
ParallelQuickSortOpenMP.h
|
|
ParallelRadixSortOpenMP.h
|
|
ParallelScanOpenMP.h
|
|
ParallelSortOpenMP.h
|
|
VirtualObjectTransferOpenMP.h
|
|
)
|
|
|
|
vtkm_declare_headers(${headers})
|
|
|
|
#These sources need to always be built
|
|
target_sources(vtkm_cont PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/DeviceAdapterRuntimeDetectorOpenMP.cxx
|
|
)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
if (TARGET vtkm::openmp)
|
|
target_sources(vtkm_cont PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/DeviceAdapterAlgorithmOpenMP.cxx
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ParallelRadixSortOpenMP.cxx
|
|
)
|
|
endif()
|