Commit Graph

161 Commits

Author SHA1 Message Date
Haocheng LIU
9bd30571f5 Fix link errors for vtkm_cont when logging is enabled 2018-11-27 11:37:51 -05:00
Kenneth Moreland
70e10459c7 Update presets for ColorTable
The ParaView project went through a rigourous selection process
for a short list of color tables. Let's replicate that for our
presets.
2018-11-09 09:02:10 -07:00
Haocheng LIU
bb06717803 Make RuntimeDeviceInformation class template independent
By making RuntimeDeviceInformation class template independent, vtkm is
able to detect
device info at runtime with a runtime specified deviceId. In the past
it's impossible
because the CRTP pattern does not allow function overloading(compiler
would complain
that DeviceAdapterRuntimeDetector does not have Exists() function
defined).
2018-11-01 14:55:33 -04:00
Robert Maynard
154b65f47a Install vtkm/cont/ColorTable.hxx so users can use color tables 2018-10-31 17:02:12 -04:00
Robert Maynard
169ca722b3 Redesign vtkm::cont::ColorTable to work with separable compilation. 2018-10-31 08:18:08 -04:00
Robert Maynard
45422478cf Refactor VirtualObjectHandle to support new virtual design 2018-10-15 17:38:54 -04:00
Robert Maynard
db1b394336 Merge branch '291_logging' into 'master'
Add general logging support

See merge request vtk/vtk-m!1414
2018-10-04 09:36:47 -04:00
Allison Vacanti
bd337854ec Initial implementation of general logging.
Addresses #291.
2018-10-02 11:37:55 -04:00
Sujin Philip
fd89dfc89b Add ArrayHandle Serialization 2018-09-25 13:58:39 -04:00
Kenneth Moreland
2b05487398 Add ExecutionAndControlObjectBase
This is a subclass of ExecutionObject and a superset of its
functionality. In addition to having a PrepareForExecution method, it
also has a PrepareForControl method that gets an object appropriate for
the control environment. This is helpful for situations where you need
code to work in both environments, such as the functor in an
ArrayHandleTransform.

Also added several runtime checks for execution objects and execution
and cotnrol objects.
2018-09-08 11:54:28 -06:00
Kenneth Moreland
9841d0e2c5 Add ArrayHandleView
Adds a fancy array handle that restricts access to an array to some
window of values. It takes a start offset and a size and represents the
values between that start offset and size past that.
2018-08-29 13:54:31 -07:00
Allison Vacanti
716f393c32 Add DeviceAdapterId::GetName. 2018-08-28 14:14:49 -07:00
Robert Maynard
28e0eb9da6 Replace FindDeviceAdapterTagAndCall with TryExecuteOnDevice
Also add a throwFailedRuntimeDeviceTransfer that throws a nicely
detailed message on why a something couldn't be transfered to
the requested device adapter.
2018-08-08 14:53:28 -04:00
Robert Maynard
8a44d0a5ae Merge topic 'vtkm_cont_less_device_sources'
d7660a556 vtkm_cont listed non-device sources as device-source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1324
2018-07-19 15:57:02 -04:00
Robert Maynard
d7660a556c vtkm_cont listed non-device sources as device-source
Cleanup the device sources list in vtkm_cont to only contain
.cxx files that could invoke cuda
2018-07-19 12:59:34 -04:00
Matthew Letter
db1c9bfeee Change the namespacing of atomic array
moved the execution object to vtkm::exec and AtomicArray to vtkm::cont
2018-07-02 16:25:48 -06:00
ayenpure
e2dccee099 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into spatialsearch 2018-06-30 11:56:33 -06:00
Abhishek Yenpure
b5f2e7060e Moving changes of .cxx to .hxx
-For the BoundingIntervalHierarchy CUDA had failures with using
 .cxx file to implement the virtual methods
-Moving the contents to the .hxx file after discussing with Rob
 over email
-Need to still work on the .cxx implementation after merge
2018-06-29 16:11:16 -07:00
Abhishek Yenpure
50963290dc Moving BoundingIntervalHierarchy.cxx to device sources
Rectifying print statements in the unit test
2018-06-29 10:46:31 -07:00
ayenpure
2714da8f0e Adding changes suggested by Rob on GitLab
- Seperate BoundingIntervalHierarchy.h into
  - BoundingIntervalHierarchy.h
  - BoundingIntervalHierarchy.hxx
  - BoundingIntervalHierarchy.cxx
2018-06-29 09:09:24 -06:00
Abhishek Yenpure
72d4556f7d Adding changes for Ken's review from GitLab
- Reducing the stack allocation for CUDA for the BIH unit test
- Adding changes from Ken's review
- Suppress ptxas stack size warning for BoundingIntervalHierarchy
2018-06-27 22:40:13 -06:00
Kenneth Moreland
33f1f2dd1d Make sure all source files are listed in CMake 2018-06-27 10:12:40 +02:00
ayenpure
61fdfac710 Adding updated CellLocator / PointLocator APIs
- Adding API files
- Adding back Manish's BoundingIntervalHierarchy search structure
- Updating CMakeLists.txt to accomodate these changes
- Adding the old test file from Manish - won't build for now
2018-06-04 20:04:38 -07:00
ayenpure
18579394ed Moving Files for proper CellLocator/PointLocator APIs
-Changing the existing CellLocator.h to CellLocatorHelper.h,
 it's used by CellLocatorTwoLevelUniformGrid.h

-Changing unit tests and worklets that use CellLocator.h to use CellLocatorHelper.h
2018-06-04 19:51:54 -07:00
Allison Vacanti
74c280a0b3 Merge topic 'datasetbuilder_refactor'
158f57c9a Split the DataSetBuilders into h/cxx files.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1233
2018-05-31 17:06:31 -04:00
Allison Vacanti
183bcf109a Add initial version of an OpenMP backend. 2018-05-31 16:47:48 -04:00
Allison Vacanti
158f57c9a1 Split the DataSetBuilders into h/cxx files. 2018-05-29 16:49:34 -04:00
Allison Vacanti
193447078f Add vtkm_taotuple to build system. 2018-05-16 11:45:11 -04:00
Kenneth Moreland
0753131a04 Replace ExecutionObjectFactoryBase with ExecutionObjectBase
While making changes to how execution objects work, we had agreed to
name the base object ExecutionObjectBase instead of its original name of
ExecutionObjectFactoryBase. Somehow that change did not make it through.
2018-05-10 17:53:39 -06:00
Matthew Letter
7e5a55881b changes typechecks for execution objects
In order to make the change from the current way execution obejcts are utilized to the new proposed executionObjectFactory process type checks now has to look for the new execution object factory class to check against.
2018-05-03 14:45:21 -06:00
Utkarsh Ayachit
c4970604fa Add BoundsCompute and BoundsGlobalCompute
Adding compute function to compute local and global bounds for datasets
and multiblocks alike.
2018-04-05 17:16:10 -04:00
Utkarsh Ayachit
20a052f44e add FieldRangeCompute. 2018-04-05 17:16:10 -04:00
Utkarsh Ayachit
50bfb1d206 Add utility to serialize ArrayHandles for DIY. 2018-04-05 17:16:10 -04:00
Robert Maynard
84311a2453 Merge branch 'master' into cmake_refactor 2018-04-05 10:18:36 -04:00
Utkarsh Ayachit
cebe6820b7 add vtkm::cont::ErrorFilterExecution
Adding a new exception type `vtkm::cont::ErrorFilterExecution`. Unlike
existing exceptions, when thrown in `TryExecute`, this exception causes
the call to not attempt to execute on any other devices and let it be
thrown so that the application can catch it.
2018-04-03 16:55:03 -04:00
Utkarsh Ayachit
60f4936d54 cleanup diy usage in MultiBlock.
This fixes several issues with how DIY was used in MultiBlock.

Instead of using `diy::RegularSwapPartners` using
`diy::RegularMergePartners` to reduce data to block(gid=0) and then
broadcast out to all ranks (and not blocks) using
`diy::RegularBroadcastPartners`. Old code that used RegularSwapPartners
ended up building reduced result on all blocks, which was not only
unnecessary, but expensive since we would generally have more blocks
than ranks.

Remove `DecomposerMultiBlock`. This class was needed due to my
misunderstanding of how the decomposer works.
`diy::RegularDecomposer<diy::DiscreteBounds>` provides all the necessary
functionality provided by `DecomposerMultiBlock`.
2018-03-31 11:34:33 -04:00
Robert Maynard
8808b41fbd Merge branch 'master' into vtk-m-cmake_refactor 2018-03-29 22:51:26 -04:00
Robert Maynard
944bc3c0d6 Introduce vtkm::cont::ColorTable replacing vtkm::rendering::ColorTable
The new and improved vtkm::cont::ColorTable provides a more feature complete
color table implementation that is modeled after
vtkDiscretizableColorTransferFunction. This class therefore supports different
color spaces ( rgb, lab, hsv, diverging ) and supports execution across all
device adapters.
2018-03-28 16:11:23 -04:00
Robert Maynard
cbadd3e67e Make CoordinateSystem not fail on CUDA 2018-03-10 16:38:41 -05:00
Utkarsh Ayachit
70b647071c Make DIY a required dependency.
DIY now depends on MPI optionally. Hence we no longer need to depend on
DIY optionally based on whether MPI was enabled. Update cmake and c++
code to always use DIY-based components.

DIY is built with MPI support if VTKm_ENABLE_MPI is ON.
2018-02-26 11:25:56 -05:00
Robert Maynard
e630ac5aa4 Merge branch 'master' into vtk-m-cmake_refactor 2018-02-23 14:52:00 -05:00
Robert Maynard
705528bf17 vtk-m ArrayHandle + basic storage has an optimized PrepareForDevice method
By hard coding the PrepareForDevice to know about all the different VTK-m
devices, we can have a single base class do the execution allocation, and not
have that logic repeated in each child class.
2018-02-16 10:00:28 -05:00
Robert Maynard
668b30864e Remove CellSetExplicit.cxx being listed twice 2018-01-31 15:58:45 -05:00
Robert Maynard
9c668b61e0 Simplify how we built the list of source files for vtkm_cont 2018-01-17 17:13:50 -05:00
Robert Maynard
e1916ea7e2 Redesign of vtk-m test build infrastructure to reduce amount of cmake re-runs
Previous versions of the test build infrastructure would cause cmake to re-run
everytime a header was modified. Now this will not occur.
2018-01-16 15:42:37 -05:00
Robert Maynard
98e4a34cd1 VTKm now refers to diy as vtkm_diy
This is done to be more consistent with the vtkm CMake naming and
to make sure we don't conflict with other exported diy instances.
2018-01-16 15:42:36 -05:00
Robert Maynard
0660c67fef Merge branch 'master' into vtk-m-cmake_refactor 2018-01-16 15:42:28 -05:00
Sujin Philip
8f78aa739d Add CellLocator
Add a general cell locator that has an optimized path for uniform grid
datasets and uses CellLocatorTwoLevelUniformGrid for all other
dataset types.
2018-01-12 10:16:26 -05:00
Sujin Philip
70fcd1d1cc Update CoordinateSystem to use the Virtual Array 2018-01-10 10:19:19 -05:00
Sujin Philip
950b12b1f2 Add ArrayHandleVirtualCoordinates 2018-01-09 17:23:41 -05:00