Commit Graph

4052 Commits

Author SHA1 Message Date
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
Robert Maynard
7b1b9e445a Correctly forward rvalue functors when passed to CastAndCall 2017-12-08 12:02:01 -05:00
Kenneth Moreland
3ad106f179 Merge topic 'pyexpander-script-location'
62fa1d56 Fix location of VTKmCheckPyexpander.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1017
2017-12-07 14:37:59 -05:00
Kenneth Moreland
62fa1d562a Fix location of VTKmCheckPyexpander.cmake
The location of VTKmCheckPyexpander.cmake was originally set to $
{CMAKE_SOURCE_DIR}/CMake. This is correct with respect to the VTK-m
install, but incorrect if VTK-m is being included as a module in another
project (like VTK). Change the location to ${VTKm_CMAKE_MODULE_PATH},
which should be correct in every case.
2017-12-07 09:27:59 -07:00
Robert Maynard
5ca31f7072 Merge topic 'dispatcher_base_proper_type_for_sizeof'
d51ddda9 Since sizeof returns std::size_t we should iterate using unsigned integers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1016
2017-12-07 08:12:28 -05:00
Robert Maynard
d51ddda9b6 Since sizeof returns std::size_t we should iterate using unsigned integers 2017-12-06 13:57:05 -05:00
Sujin Philip
91f26844a6 Merge topic 'remove-VTKM_EXEC_CONSTANT'
e28309f0 Remove VTKM_EXEC_CONSTANT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1015
2017-12-06 11:50:55 -05:00
Matt Larsen
e0b1edb467 Merge topic 'support_log_plots'
39abcb99 fixing compile errors
655412fc adding support for log plots with the wireframer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1014
2017-12-05 19:38:00 -05:00
Matt Larsen
39abcb99c3 fixing compile errors 2017-12-05 13:26:45 -08:00
Sujin Philip
e28309f09b Remove VTKM_EXEC_CONSTANT
If a global static array is declared with VTKM_EXEC_CONSTANT and the code
is compiled by nvcc (for multibackend code) then the array is only accesible
on the GPU. If for some reason a worklet fails on the cuda backend and it is
re-executed on any of the CPU backends, it will continue to fail.

We couldn't find a simple way to declare the array once and have it available
on both CPU and GPU. The approach we are using here is to declare the arrays
as static inside some "Get" function which is marked as VTKM_EXEC_CONT.
2017-12-05 13:49:55 -05:00
Matt Larsen
655412fca3 adding support for log plots with the wireframer 2017-12-05 10:00:27 -08:00
Matt Larsen
1d58eeaa9e Merge topic 'annotation_color'
6d616309 let there be foreground color

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1013
2017-12-05 00:13:07 -05:00
Matt Larsen
6d61630928 let there be foreground color 2017-12-04 20:46:38 -08:00
Matt Larsen
b3c1002014 Merge topic 'ray_gen_fix'
17f4e1b5 avoiding zero directions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1012
2017-12-03 17:00:31 -05:00
Matt Larsen
17f4e1b51a avoiding zero directions 2017-12-03 09:38:53 -08:00
Robert Maynard
59afc5cba6 Merge topic 'dispatcher_base_leverage_new_cast_and_call'
f6e18ac4 Remove IntegerSequence.h as we don't need it in vtk-m anymore
7f762204 Redesign the Dispatcher to not need FunctionInterface to convert dynamic types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1010
2017-11-29 15:44:24 -05:00
Robert Maynard
f6e18ac452 Remove IntegerSequence.h as we don't need it in vtk-m anymore 2017-11-29 10:55:04 -05:00
Matt Larsen
013113e393 Fixing streaming scan doc 2017-11-29 07:47:06 -08:00
Matt Larsen
eaebaea7cb adding a wrapper for device adapter algorithm 2017-11-29 07:44:37 -08:00
Robert Maynard
7f76220427 Redesign the Dispatcher to not need FunctionInterface to convert dynamic types 2017-11-28 11:01:02 -05:00
Robert Maynard
8be1a71ada Merge topic 'per_thread_runtime_tracker'
9ae3098a Give each thread using vtk a separate runtime device tracker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1008
2017-11-24 08:54:06 -05:00
Robert Maynard
9ae3098af8 Give each thread using vtk a separate runtime device tracker 2017-11-21 16:43:40 -05:00
Robert Maynard
2467411ecc Merge topic 'variadic_CastAndCall_and_TryExecute'
203205a1 TryExecute RuntimeDeviceTracker can't be a const ref anymore.
dfb9cc62 Allow users to pass multiple arguments to TryExecute
5384305d Update tests and a single worklet to verify new CastAndCall works
2ff14a81 Allow users to pass multiple arguments to CastAndCall

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1005
2017-11-13 17:56:20 -05:00
Matt Larsen
7563a1d6dd Merge topic 'fix_tick'
56f302d0 fixing axis ticks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1007
2017-11-13 13:18:18 -05:00
Matt Larsen
56f302d0a9 fixing axis ticks 2017-11-13 08:34:05 -08:00
Robert Maynard
203205a171 TryExecute RuntimeDeviceTracker can't be a const ref anymore.
Previously we allowed a const ref as we would make a copy, this only works
as it relies on  RuntimeDeviceTracker implementing state through a shared_ptr.
Instead if we require modifiable types only we can make TryExecute more
efficient and clearer on what it does.
2017-11-10 10:02:45 -05:00
Robert Maynard
dfb9cc6236 Allow users to pass multiple arguments to TryExecute 2017-11-09 12:45:00 -05:00
Allison Vacanti
9f51f4b7e2 Merge topic 'symbol_vis_option'
5f1db422 Add option to use default symbol visiblity for VTK-m libraries.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1004
2017-11-09 10:26:55 -05:00
Robert Maynard
713e428abf Merge topic 'internally_improve_CastAndCall_TryExecute'
dd25c5c2 DynamicCellSet CastAndCall refactored to use the new vtkm::ForEach
c9f1d192 DynamicArrayHandle CastAndCall refactored to use the new vtkm::ForEach
68381d9f Rework TryExecute to leverage perfect forwarding.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1003
2017-11-08 17:44:14 -05:00
Allison Vacanti
5f1db422cd Add option to use default symbol visiblity for VTK-m libraries.
VTK doesn't hide symbols for static builds, which results in linker
errors for VTK targets that link with VTK-m. This option allows VTK-m
to match VTK's behavior.
2017-11-08 16:29:47 -05:00
Robert Maynard
5384305d25 Update tests and a single worklet to verify new CastAndCall works 2017-11-08 13:19:05 -05:00
Robert Maynard
2ff14a811f Allow users to pass multiple arguments to CastAndCall 2017-11-08 13:19:05 -05:00
Robert Maynard
0b8ee3ca1a Merge topic 'variadic_ListForEach_support'
cc71e8ec vtkm::ListForEach can handle passing any number of extra arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1002
2017-11-08 12:48:57 -05:00
Robert Maynard
dd25c5c2eb DynamicCellSet CastAndCall refactored to use the new vtkm::ForEach 2017-11-08 12:48:09 -05:00
Robert Maynard
c9f1d19233 DynamicArrayHandle CastAndCall refactored to use the new vtkm::ForEach 2017-11-08 12:48:09 -05:00