Commit Graph

4525 Commits

Author SHA1 Message Date
Utkarsh Ayachit
8a5f0a521d Merge topic 'redistribute-points-examples'
07ba6c25 example: redistribute points using DIY
e62ff809 Fix BoundsCompute for missing coordinate system.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1151
2018-04-18 11:51:25 -04:00
Robert Maynard
84386f28eb Merge topic 'correct_maybe_uninitialized_warnings'
da45e81d Make sure that WaveletTransform doesn't emit maybe-uninitialized warnings
c33bf063 RK4Integrator now properly initializes all variables.
d2001fb5 Suppress strict overflow optimization warnings.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1152
2018-04-17 14:51:34 -04:00
Robert Maynard
b75d015c41 Merge topic 'allow_cuda_tests_to_run_on_mac'
8c7c1be2 Specify an RPATH for CUDA runtime on OSX so tests will run

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1153
2018-04-17 14:25:07 -04:00
Robert Maynard
da45e81d9b Make sure that WaveletTransform doesn't emit maybe-uninitialized warnings 2018-04-17 14:24:19 -04:00
Robert Maynard
c33bf063f4 RK4Integrator now properly initializes all variables.
Previously the RK4Integrator could compute velocity with uninitialized inputs.
2018-04-17 14:24:19 -04:00
Robert Maynard
8c7c1be232 Specify an RPATH for CUDA runtime on OSX so tests will run 2018-04-17 14:05:07 -04:00
Robert Maynard
d2001fb52e Suppress strict overflow optimization warnings.
This warning is emitted when the compiler performs an optimization, and wants
you to verify that the presumptions it is making are valid. For this case
we can correctly promise the compiler that the values will not overflow and
the optimizations are correct.
2018-04-17 11:48:39 -04:00
Utkarsh Ayachit
07ba6c254c example: redistribute points using DIY
Adding an example that demonstrates how to write a distributed filter
that customizes the execution for all blocks in a MultiBlock. This is a
reinterpretation of the `reduce/all_to_all` example provided by DIY.
2018-04-16 17:13:36 -04:00
Utkarsh Ayachit
e62ff8096a Fix BoundsCompute for missing coordinate system.
DataSet::GetCoordinateSystem(Id) doesn't throw `ErrorBadValue`. Fixed
BoundsCompute to check for number of coordinate systems instead.
2018-04-16 16:57:36 -04:00
Utkarsh Ayachit
94db252c62 Merge topic 'filter-enhancements'
d37c1fee adding mpi-only filter example.
4610e8b1 increate timeout for CopyrightStatement test.
89041e4f Compute correct histogram for distributed multiblock cases.
0af0271f Filter API enhancements.
b31af29a New constructor for AssignerMultiBlock.
dd3709c3 make MultiBlock constructors explicit.
7fbd0204 FieldHistogram: support using precomputed range
ddd14f25 mpi: avoid MPI calls when not using MPI.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1138
2018-04-13 16:31:27 -04:00
Utkarsh Ayachit
d37c1fee79 adding mpi-only filter example.
Adding a Histogram filter example that uses MPI (instead of DIY)
for distributed processing.
2018-04-12 16:40:19 -04:00
Utkarsh Ayachit
4610e8b167 increate timeout for CopyrightStatement test. 2018-04-12 16:40:19 -04:00
Utkarsh Ayachit
89041e4f8e Compute correct histogram for distributed multiblock cases.
Histogram filter now correctly computes the histogram for multiblock
input or when operating in a distributed environment. It employs
reduction to reduce local/per block results to generate the final
output.
2018-04-12 16:40:19 -04:00
Utkarsh Ayachit
0af0271f59 Filter API enhancements.
This revamps Filter API to improve support for multiblock dataset and
distributed use-cases. Filters now operate on MultiBlock alone thus
`Filter::Execute(MultiBlock&)` is the primary method.
`Filter::Execute(DataSet*)` is only provided as an convenience that
internally puts the dataset into a MultiBlock and calls the primary
method.

Subclasses can provides PreExecute and PostExecute overrides to handle
init/reduction operations for filters with operating on multiple blocks.
Since blocks can be distributed, filters are expected to handle that as
well.

Subclasses can provide `PrepareForExecution(MultiBlock*..)` to customize
behavior for handling multiblock inputs. Default is to simply loop
over blocks.
2018-04-12 16:40:19 -04:00
Utkarsh Ayachit
b31af29a8d New constructor for AssignerMultiBlock.
AssignerMultiBlock can now be created by simply passing in the number of
blocks on the local process.
2018-04-12 16:40:18 -04:00
Utkarsh Ayachit
dd3709c3ec make MultiBlock constructors explicit.
This avoids silent conversion from vtkm::Id or std::vector<DataSet> to
MultiBlock.
2018-04-12 16:40:18 -04:00
Utkarsh Ayachit
7fbd020478 FieldHistogram: support using precomputed range
Updated FieldHistogram worklet to support executing the worklet using a
precomputed range. This will be needed for distributed and multiblock
use-cases.
2018-04-12 16:40:18 -04:00
Utkarsh Ayachit
ddd14f25e3 mpi: avoid MPI calls when not using MPI.
AssignerMultiBlock did a mpi::scan which could get called when there was
only 1 rank (e.g. built with MPI, but without initializing it). Fixed
that.
2018-04-12 16:40:18 -04:00
Utkarsh Ayachit
8ecc21c0f1 init MPI when needed.
EnvironmentTracker now initializes MPI if not already initialized in MPI
builds. This is required so that MPI calls the DIY may make don't fail.
2018-04-12 16:40:18 -04:00
Robert Maynard
06c3389aa7 Merge topic 'correct_cuda_calling_host_function_warnings'
73c05c10 Suppressions of __host__ warnings shouldn't trigger internal compile errors
5100e559 Suppress warnings about calling __host__ functions from CUDA 9.0
282c515e Suppress warnings about calling __host__ functions from CUDA 8.0
5dfdc830 Cuda will also print error/warning pragma values now.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1150
2018-04-12 14:35:01 -04:00
Utkarsh Ayachit
d5b48645a3 Merge topic '217-add-distribute-testing-support'
3211c150 add support to run test with MPI.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1148
2018-04-12 14:26:47 -04:00
Robert Maynard
73c05c10c7 Suppressions of __host__ warnings shouldn't trigger internal compile errors 2018-04-12 12:04:53 -04:00
Robert Maynard
5100e559c7 Suppress warnings about calling __host__ functions from CUDA 9.0 2018-04-12 10:31:19 -04:00
Robert Maynard
282c515ea8 Suppress warnings about calling __host__ functions from CUDA 8.0 2018-04-12 10:06:57 -04:00
Robert Maynard
5dfdc8304b Cuda will also print error/warning pragma values now.
Previously we only printed out the error numbers on MSVC.
2018-04-12 10:06:57 -04:00
Robert Maynard
bc34a14f0f Merge topic 'remove_duplicate_lib_versioning'
2d522503 VTK-m library naming convention is now restored how it was done for v1.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1149
2018-04-11 17:18:45 -04:00
Robert Maynard
2d522503b0 VTK-m library naming convention is now restored how it was done for v1.2 2018-04-11 16:50:56 -04:00
Kenneth Moreland
c0bedb057e Merge topic 'find-tbb-version'
faf916f1 Fix condition on which to get the TBB version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1140
2018-04-11 13:45:22 -04:00
Utkarsh Ayachit
3211c1501c add support to run test with MPI.
`vtkm_unit_tests` now supports an MPI option that can be used to add
test that run with MPI. Adding `UnitTestFieldRangeGlobalCompute` to test
global ranges for fields.
2018-04-10 14:48:37 -04:00
James Kress
e28b274d6f Merge topic 'rendering-label-leak'
a79b4c2f Removing move command to remove warnings.
e19e61f1 Merge branch 'rendering-label-leak' of https://gitlab.kitware.com/jameskress/vtk-m into rendering-label-leak
02a67d64 Merge remote-tracking branch 'upstream/master' into rendering-label-leak
3bab4087 Adding delete and assignment oeprators to annotations.
e3ccd7f8 Adding previous cmake fix.
9f32bbe0 Merge branch 'rendering-label-leak' of https://gitlab.kitware.com/jameskress/vtk-m into rendering-label-leak
7906e89e Updating leak fix to use uniq_ptr.
b92c4801 Update CMakeLists.txt
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1131
2018-04-10 14:13:44 -04:00
James
a79b4c2ff2 Removing move command to remove warnings. 2018-04-10 10:27:12 -04:00
Robert Maynard
de79765c24 Merge topic 'move_over_to_sm_archs'
d7ce601c To allow compiled in virtuals we need to only build for actual sm archs.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1146
2018-04-10 08:36:12 -04:00
Robert Maynard
5acaae3969 Merge topic 'examples_correctly_link_to_libGLU'
a37a3f39 Examples that use glu functions now properly link to OpenGL::GLU
a44ad273 Make sure Rendering example doesn't conflict with rendering testing name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !1147
2018-04-09 16:53:47 -04:00
Robert Maynard
a37a3f3968 Examples that use glu functions now properly link to OpenGL::GLU 2018-04-09 15:29:01 -04:00
Robert Maynard
a44ad273b3 Make sure Rendering example doesn't conflict with rendering testing name 2018-04-09 15:20:00 -04:00
James
e19e61f18f Merge branch 'rendering-label-leak' of https://gitlab.kitware.com/jameskress/vtk-m into rendering-label-leak 2018-04-09 14:28:27 -04:00
James
02a67d64bf Merge remote-tracking branch 'upstream/master' into rendering-label-leak 2018-04-09 14:11:43 -04:00
James
3bab4087dc Adding delete and assignment oeprators to annotations. 2018-04-09 14:09:52 -04:00
James
e3ccd7f86c Adding previous cmake fix. 2018-04-09 14:04:52 -04:00
Robert Maynard
0059351eb1 Merge topic 'cmake_refactor_correct_pyexpander_and_install_issues'
c6dcbc1f Check for git version only once
f2f8796d Properly install all required cmake files needed by vtk-m
b658a72a Fix broken VTK-m PyExpander functin

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1144
2018-04-09 13:18:43 -04:00
Kenneth Moreland
c6dcbc1fe1 Check for git version only once
The check to determine the version of VTK-m from git was duplicated in
CMakeLists.txt. Although pointless, it generally was not a big deal
(only an extra check when running CMake). Except for some reason with
the latest changes to the CMake build the second time find_package(Git)
was called on my system the GIT_EXECUTABLE variable got cleared out and
that caused the configure to fail. I have no idea why this happens (and
running CMake again seems to fix the problem), but simply removing the
extraneous find seems fix the problem.
2018-04-09 13:00:26 -04:00
Robert Maynard
d7ce601cd4 To allow compiled in virtuals we need to only build for actual sm archs.
CUDA currently doesn't support building for `compute_` and having compiled
in virtuals ( using separable compilation ). So we need to transition everything
over to `sm_`
2018-04-09 12:50:13 -04:00
Robert Maynard
f2f8796d1b Properly install all required cmake files needed by vtk-m 2018-04-09 11:08:58 -04:00
Robert Maynard
b658a72af7 Fix broken VTK-m PyExpander functin
Fixes #216
2018-04-09 11:05:51 -04:00
Robert Maynard
2ed1bb7271 Merge topic 'color_table_stop_leaking_memory'
86c487e6 Properly clean up ColorTable's memory.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: James Kress <james@jameskress.com>
Merge-request: !1141
2018-04-09 08:18:56 -04:00
Matt Larsen
715141737f Merge topic 'typos'
efdf8543 Misc. Typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1113
2018-04-06 18:04:46 -04:00
Utkarsh Ayachit
bc695f2a5f Merge topic 'field-range-compute'
6938b05c Remove GetBounds methods from MultiBlock.
c4970604 Add `BoundsCompute` and `BoundsGlobalCompute`
f966a362 Remove MultiBlock::GetGlobalNumberOfBlocks.
f37e6425 Remove `MultiBlock::GetGlobalRange` API.
20a052f4 add FieldRangeCompute.
50bfb1d2 Add utility to serialize ArrayHandles for DIY.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1142
2018-04-05 18:42:57 -04:00
Utkarsh Ayachit
6938b05c33 Remove GetBounds methods from MultiBlock.
Removing GetBounds and related methods from MultiBlock. These have been
replaced by BoundsCompute and BoundsGlobalCompute.
2018-04-05 17:31:49 -04: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
f966a36214 Remove MultiBlock::GetGlobalNumberOfBlocks.
Removing another API that need not be on MultiBlock. There's generally
no need for apps to know this. If needed, we can add `...Compute`
function. This removes another API on MultiBlock that could trigger
parallel communication/synchronization.
2018-04-05 17:16:10 -04:00