vtk-m/vtkm/cont/internal/CMakeLists.txt

50 lines
1.5 KiB
CMake
Raw Permalink Normal View History

##============================================================================
## Copyright (c) Kitware, Inc.
## All rights reserved.
## See LICENSE.txt for details.
2019-04-15 23:24:21 +00:00
##
## 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
ArrayCopyUnknown.h
ArrayHandleExecutionManager.h
ArrayPortalFromIterators.h
ArrayRangeComputeUtils.h
ArrayTransfer.h
Buffer.h
CastInvalidValue.h
CellLocatorBase.h
ConnectivityExplicitInternals.h
ConvertNumComponentsToOffsetsTemplate.h
DeviceAdapterAlgorithmGeneral.h
DeviceAdapterMemoryManager.h
DeviceAdapterMemoryManagerShared.h
DeviceAdapterListHelpers.h
2022-08-22 19:02:03 +00:00
FieldCollection.h
FunctorsGeneral.h
Add hints to device adapter scheduler The `DeviceAdapter` provides an abstract interface to the accelerator devices worklets and other algorithms run on. As such, the programmer has less control about how the device launches each worklet. Each device adapter has its own configuration parameters and other ways to attempt to optimize how things are run, but these are always a universal set of options that are applied to everything run on the device. There is no way to specify launch parameters for a particular worklet. To provide this information, VTK-m now supports `Hint`s to the device adapter. The `DeviceAdapterAlgorithm::Schedule` method takes a templated argument that is of the type `HintList`. This object contains a template list of `Hint` types that provide suggestions on how to launch the parallel execution. The device adapter will pick out hints that pertain to it and adjust its launching accordingly. These are called hints rather than, say, directives, because they don't force the device adapter to do anything. The device adapter is free to ignore any (and all) hints. The point is that the device adapter can take into account the information to try to optimize for itself. A provided hint can be tied to specific device adapters. In this way, an worklet can further optimize itself. If multiple hints match a device adapter, the last one in the list will be selected. The `Worklet` base now has an internal type named `Hints` that points to a `HintList` that is applied when the worklet is scheduled. Derived worklet classes can provide hints by simply defining their own `Hints` type.
2024-02-06 18:33:33 +00:00
Hints.h
IteratorFromArrayPortal.h
KXSort.h
MapArrayPermutation.h
OptionParser.h
2021-05-26 19:43:36 +00:00
OptionParserArguments.h
ParallelRadixSort.h
ParallelRadixSortInterface.h
PointLocatorBase.h
ReverseConnectivityBuilder.h
2021-05-26 19:43:36 +00:00
RuntimeDeviceConfiguration.h
RuntimeDeviceConfigurationOptions.h
RuntimeDeviceOption.h
StorageError.h
)
vtkm_declare_headers(${headers})
# These source files are actually compiled in the parent directory.
# They are in a separate directory to highlight which objects are
# internal and which are part of the external interface.
#add_custom_target(vtkmContInternal ALL DEPENDS vtkmCont)