Commit Graph

4122 Commits

Author SHA1 Message Date
Robert Maynard
d07ab6bc4a Refactor benchmarking to be outside the vtkm folder structure
The benchmarking isn't installed as part of vtk-m and therefore shouldn't
be under vtkm/
2018-01-08 14:00:57 -05:00
Robert Maynard
9277eaa2d3 Update FindOpenGL to version in CMake 3.10.1 2018-01-08 14:00:57 -05:00
Robert Maynard
ac7ba751f8 Benchmarks build with the correct backend when cuda is enabled 2018-01-08 14:00:57 -05:00
Robert Maynard
004bfe7b12 Prefer using existence of targets when looking for TBB/CUDA support 2018-01-08 14:00:57 -05:00
Robert Maynard
b10e50860f Update all the examples to the new CMake code. 2018-01-08 14:00:57 -05:00
Robert Maynard
18a360b793 Properly allow constexpr on the device side when compiling cuda 2018-01-08 14:00:57 -05:00
Robert Maynard
b2c03ad858 Unit_tests are built with the correct compiler when cuda is enabled.
Previously all the Unit_tests that shared source files would use cuda
once CUDA set the language on the file.
2018-01-08 14:00:57 -05:00
Robert Maynard
afc19ab0fc Setup symbol visibility controls for VTK-m 2018-01-08 14:00:57 -05:00
Robert Maynard
37a2359c70 Refactor the rendering context flags to not be a combo box.
This way in the future it is easier to make currently mutually exclusive
compile options be all enabled at the same time.
2018-01-08 14:00:57 -05:00
Robert Maynard
af0a781086 Properly detect what flags to pass to cuda when CUDA_Architecture is native 2018-01-08 14:00:54 -05:00
Robert Maynard
52329ba3f6 Make sure all VTKm cmake files are prefixed with VTKm 2017-12-28 14:25:44 -05:00
Robert Maynard
6fbca1e43f Update tbb and serial unit tests to mark which backend they use properly 2017-12-28 14:23:51 -05:00
Robert Maynard
24e57556e6 Merge branch 'master' into vtk-m-cmake_refactor
Includes updating to cleanup benchmark code and handle the new MPI option
2017-12-28 14:23:21 -05:00
Robert Maynard
de7162ab8f Merge topic 'compile_in_dataset'
3eb8294b Build vtkm::cont::DataSet into the vtkm_cont library.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1032
2017-12-22 08:24:38 -05:00
Sujin Philip
96c22747d5 Merge topic 'fix-field-api'
334262db Fix Field constructors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1035
2017-12-21 14:51:52 -05:00
Sujin Philip
334262db16 Fix Field constructors
1. Add option to copy user supplied array in make_ArrayHandle.
2. Replace Field constructors that take user supplied arrays with make_Field.
3. Replace CoordinateSystem constructors that take user supplied arrays with
   make_CoordinateSystem.
2017-12-21 12:48:15 -05:00
Matt Larsen
2fab4458e5 Merge topic 'ray_tracing_benchmarks'
83e51cf4 creating ray tracing benchmark
a4106506 trying to create a benchmark for ray tracing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1036
2017-12-21 10:52:06 -05:00
Matt Larsen
83e51cf42e creating ray tracing benchmark 2017-12-20 14:22:52 -08:00
Matt Larsen
a410650655 trying to create a benchmark for ray tracing 2017-12-20 10:25:16 -08:00
Sujin Philip
fab26344c6 Merge topic 'fix-ManagedMemory-issue'
b530a5ce Fix issue with Managed Memory for 0 size arrays

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1033
2017-12-20 09:39:04 -05:00
Robert Maynard
a6ec3ab093 Merge topic 'enable_all_point_gradient_tests'
a73fc3fd Enable all point gradient worklet tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1031
2017-12-20 08:25:23 -05:00
Robert Maynard
a32394b92b Merge topic 'correct_capitalization_in_datasetwriter'
1d816534 Local var for the array portal instead of inside the for loop.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1029
2017-12-20 08:25:10 -05:00
Sujin Philip
b530a5ce3f Fix issue with Managed Memory for 0 size arrays 2017-12-19 17:18:24 -05:00
Robert Maynard
a73fc3fd0a Enable all point gradient worklet tests 2017-12-19 16:31:47 -05:00
Robert Maynard
3eb8294b24 Build vtkm::cont::DataSet into the vtkm_cont library. 2017-12-19 15:14:30 -05:00
Robert Maynard
f97f5a6e67 Merge topic 'normalize_worklet'
c6a4e335 Normalize worklet (both in place, and copy).

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1028
2017-12-19 15:02:50 -05:00
Dave Pugmire
1d8165344f Local var for the array portal instead of inside the for loop. 2017-12-19 11:48:38 -05:00
Dave Pugmire
c6a4e335d9 Normalize worklet (both in place, and copy). 2017-12-19 11:44:30 -05:00
Utkarsh Ayachit
f98f42ded2 Merge topic 'add_mpi_tests'
186e6869 Add ability to run tests with `mpiexec`.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1025
2017-12-19 10:16:32 -05:00
Utkarsh Ayachit
186e686968 Add ability to run tests with mpiexec.
Extends `vtkm_unit_tests` to support running tests with `mpiexec`.
Updates `UnitTestMultiBlock` to use mpi, if available.
2017-12-18 14:45:25 -05:00
Utkarsh Ayachit
a6f6ea99a4 Merge topic 'vtk-h-integration'
1bb7dde9 Update MultiBlock to use `diy` for block-based operations.
e9c7e561 Add `EnvironmentTracker` to track MPI communicator.
d52b275e Making vtkm-cont depend on diy.
c63f3635 diy: pass operator instance to mpi_op<>::get()
42d5be31 diy: Add support for MPI_COMM_NULL.
6a4edd87 Exclude diy from VTK-m Copyright checks.
9b544471 Add `diy`
1f989b1f exclude `diy` from clang format.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1023
2017-12-15 16:00:44 -05:00
Utkarsh Ayachit
1bb7dde971 Update MultiBlock to use diy for block-based operations.
Updating MultiBlock to use `diy` for computing block summaries like
ranges, bounds etc. This makes it possible to MultiBlock to
work in distributed operations without explicit logic.
2017-12-15 15:15:23 -05:00
Utkarsh Ayachit
e9c7e5619c Add EnvironmentTracker to track MPI communicator.
When using MPI, we need a mechanism in VTK-m to set/get the MPI
controller. Added `EnvironmentTracker` to do that.
2017-12-15 15:15:23 -05:00
Utkarsh Ayachit
d52b275e59 Making vtkm-cont depend on diy. 2017-12-15 15:15:23 -05:00
Utkarsh Ayachit
c63f3635d5 diy: pass operator instance to mpi_op<>::get()
This makes it possible to add custom MPI reduction operations without
having to add too complex logic to allocating and freeing MPI operation.
2017-12-15 15:15:23 -05:00
Utkarsh Ayachit
42d5be319b diy: Add support for MPI_COMM_NULL. 2017-12-15 15:15:22 -05:00
Utkarsh Ayachit
6a4edd87f7 Exclude diy from VTK-m Copyright checks. 2017-12-15 15:15:22 -05:00
Utkarsh Ayachit
9b5444718c Add diy 2017-12-15 15:15:22 -05:00
Utkarsh Ayachit
1f989b1fb0 exclude diy from clang format. 2017-12-15 15:03:03 -05:00
Utkarsh Ayachit
9dfc6f814e Add MPI as a dependency.
Adding option to enable MPI. When enabled, we do `find_package(MPI)` in
the Base component itself.
2017-12-15 10:53:30 -05:00
Utkarsh Ayachit
e72ce1e141 Update MultiBlock to follow coding style.
Use `this` and rename `blocks` to `Blocks`.
2017-12-15 10:53:30 -05:00
Robert Maynard
0de08aae06 Merge topic 'teach_brigand_about_cray_compiler'
06c5f161 Teach brigand about more intel compiler limitations introduced in 18.X.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1020
2017-12-14 15:26:06 -05:00
Robert Maynard
06c5f1613f Teach brigand about more intel compiler limitations introduced in 18.X. 2017-12-14 13:40:03 -05:00
Robert Maynard
9fc3e6a778 Merge topic 'reduce_algorithms_boilerplate'
7420f72c Simplify the boilerplate functors in vtkm/cont/Algorithms.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1019
2017-12-12 18:15:21 -05:00
Robert Maynard
7420f72c24 Simplify the boilerplate functors in vtkm/cont/Algorithms. 2017-12-12 11:10:52 -05:00
Robert Maynard
a1a23f83d3 Merge topic 'intel_compiler_hangs_on_brigand_crossproduct'
f9f205e9 ListCrossProduct now uses a special version for MSVC2013
c02349a8 ListCrossProduct now uses a lazy evaluation implementation
7b1b9e44 Correctly forward rvalue functors when passed to CastAndCall

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1018
2017-12-12 09:29:50 -05:00
Matt Larsen
c7db823ea0 Merge topic 'algorithm_wrap'
bf6cb1bd removing state from functors and adding variadic templates
013113e3 Fixing streaming scan doc
eaebaea7 adding a wrapper for device adapter algorithm

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1011
2017-12-11 20:28:48 -05:00
Matt Larsen
bf6cb1bd62 removing state from functors and adding variadic templates 2017-12-11 14:15:12 -08:00
Robert Maynard
f9f205e9df ListCrossProduct now uses a special version for MSVC2013
The lazy version that was implemented to get the Intel compiler to work doesn't
work under MSVC2013. Since MSVC2013 is our least c++11 conforming compiler we
add a special MSVS2013 code path, since it will be the first compiler we drop.
2017-12-11 16:27:15 -05:00
Robert Maynard
c02349a8e7 ListCrossProduct now uses a lazy evaluation implementation
The intel compiler could not generate code in a timely manner ( 12+ hours ) when
asked to produce a cross product of very long lists. By moving to a lazy
evaluation scheme we now have all compilers product a cross product in a
reasonable amount of time ( 2-4 seconds ).

This resolves Issues:
- https://gitlab.kitware.com/vtk/vtk-m/issues/190
- https://gitlab.kitware.com/vtk/vtk/issues/17196
2017-12-11 13:31:56 -05:00