Commit Graph

558 Commits

Author SHA1 Message Date
Robert Maynard
ae11e115a0 RuntimeDeviceTracker: Remove Global from names 2019-03-22 08:53:26 -07:00
Kenneth Moreland
fd794edb36 Fix particle advection example
The grid evaluator class structure changed.
2019-03-21 13:58:42 -06:00
Sujin Philip
d4e1c18254 Update existing code to use the new functions 2019-03-15 13:28:55 -04:00
Haocheng LIU
6e6968d97f Fix diy include and Timer construction errors in examples 2019-02-06 15:28:09 -05:00
Haocheng LIU
415252c662 Introduce asynchronous and device independent timer
The timer class now is asynchronous and device independent. it's using an
similiar API as vtkOpenGLRenderTimer with Start(), Stop(), Reset(), Ready(),
and GetElapsedTime() function. For convenience and backward compability, Each
Start() function call will call Reset() internally and each GetElapsedTime()
function call will call Stop() function if it hasn't been called yet for keeping
backward compatibility purpose.

Bascially it can be used in two modes:

* Create a Timer without any device info. vtkm::cont::Timer time;

  * It would enable timers for all enabled devices on the machine. Users can get a
specific elapsed time by passing a device id into the GetElapsedtime function.
If no device is provided, it would pick the maximum of all timer results - the
logic behind this decision is that if cuda is disabled, openmp, serial and tbb
roughly give the same results; if cuda is enabled it's safe to return the
maximum elapsed time since users are more interested in the device execution
time rather than the kernal launch time. The Ready function can be handy here
to query the status of the timer.

* Create a Timer with a device id. vtkm::cont::Timer time((vtkm::cont::DeviceAdapterTagCuda()));

  * It works as the old timer that times for a specific device id.
2019-02-05 12:01:56 -05:00
Kenneth Moreland
887f79c6f4 Make a vtkm_worklet library
This is a library that contains parts of worklets that can be
precompiled into a library.

Currently, this library contains the implementation of ScatterCounting.
2019-01-23 17:09:15 -07:00
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Robert Maynard
f1e1a524e9 Require CMake 3.8 to build VTK-m. 2019-01-09 16:01:22 -05:00
Robert Maynard
8ca24baecd Update the UnifiedMemory example to properly disable managed memory 2018-12-28 11:30:29 -05:00
Robert Maynard
0a40c620ac Rename ArrayHandleVariant to VariantArrayHandle. 2018-12-27 14:35:56 -05:00
Robert Maynard
b138798604 Update examples to work with ArrayHandleVariant/Virtual 2018-12-27 14:35:56 -05:00
Robert Maynard
6e22bb5dc6 Cosmotools exmaples builds again with the change of vtkm::cont::Initialize 2018-12-27 11:58:16 -05:00
Robert Maynard
ab3d89d4e3 Simplify the example/demo CMakeLists.txt 2018-12-27 11:57:48 -05:00
Robert Maynard
028e954b41 Game Of Life example now supports -d/--device command line argument 2018-12-27 11:55:26 -05:00
Robert Maynard
e2c61e0100 Update the HelloWorld example to use VTK-m runtime device adapter logic 2018-12-27 11:50:28 -05:00
Robert Maynard
34165c8e75 Correct crashes in the GameOfLife example 2018-12-27 11:47:34 -05:00
Robert Maynard
cdbee58c1b Remove the dynamic_dispatcher example as is a compiler benchmark
This example doesn't need to exist as it was used to see how
long compile times are with DynamicArrayHandle
2018-12-27 11:45:41 -05:00
Allison Vacanti
cdb1f5680a Add vtkm::cont::Initialize.
Also
- Renamed vtkm::cont::make_DeviceAdapterIdFromName to just overload
  make_DeviceAdapterId.
- Refactored CMake logic for unit tests
  - Since we're now querying the device tracker for the names, they
    cannot be all caps.
- Updated usages of InitLogging to use Initialize instead.
- Added changelog.
2018-12-13 10:15:44 -05:00
Kenneth Moreland
01a9e85416 Change WorkletPointNeighborhood to specify neighborhood at runtime
Previously, WorkletPointNeighborhood had a template argument to select
the size of the neighborhood. This change removes that template
argument. Instead, the vtkm::exec::arg::BoundaryState methods now take
in a size parameter when determining when it overlaps the boundary.

If in the future we want to add the ability to select the neighborhood
size at compile-time (for performance reasons), I suggest adding this
template argument to the OnBoundary tag for ExecutionSignature.
2018-12-03 12:45:23 -07:00
Kenneth Moreland
e9d0d7de47 Fix the CosmoTools examples
The CosmoTools examples were still directly using device adapters.
Change the code to compile single executables that chooses a device at
runtime.
2018-11-27 10:56:00 -07:00
Kenneth Moreland
bddad9b386 Remove TryExecute from filters
Now that the dispatcher does its own TryExecute, filters do not need to
do that. This change requires all worklets called by filters to be able
to execute without knowing the device a priori.
2018-10-16 15:59:53 -06:00
Kenneth Moreland
723792a482 Use new integrators and evaluators for advection 2018-10-16 09:53:18 -06:00
Kenneth Moreland
a2602183a4 Make integrators have a virtual superclass
This will make it easier to support integrators as an ExecObject.

One side effect is that the integrators and partical advection
are not templated by the type of the field.
Regardless of the type of the field, there is probably little reason to
compute particle advection with less than 64 bit floats to account for
accumulated errors. This will make it easier to use these classes.
2018-10-16 09:53:18 -06:00
Robert Maynard
9d5efbd95d Merge topic 'misc-typos'
d5beb69ec Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1426
2018-10-08 08:37:19 -04:00
Kenneth Moreland
cd8b41f478 Fix type conversion warnings
Make the types consistent in an std::accumulate call. Previously it was
taking vtkm::Id values, multiplying them as std::size_t, and then
storing them in an int. Now, the std::accumulate does everything as a
vtkm::Id and at the end converts the result to an std::size_t.
2018-10-05 09:08:19 -06:00
luz.paz
d5beb69ec1 Misc. typos
Found via `codespell`
2018-10-04 10:30:33 -04:00
Robert Maynard
91fd7f4f74 Merge topic 'ppp2'
c05b04c9d Fix windows warnings of duplicate symbols
12b90c434 Rename PPP2 to Augmented.
6f5c383e1 Move PPP2 over to constexpr instead of defines
f828ebfd4 Update PPP2 to dispatcher that don't require a device adapter template
98fd16d9a Correct PPP2 warnings found from 32bit builders
b460f5611 Make sure ContourTreeApp obeys the desired device
432ee3422 Optimize the PPP2 ActiveGraphs to reduce size of device transfers
2370a6cc5 Refactor the PPP2 work based on Code Review and add UnitTests.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1376
2018-09-29 09:40:17 -04:00
Robert Maynard
12b90c434b Rename PPP2 to Augmented. 2018-09-26 10:48:37 -07:00
Sujin Philip
d34eca5f4e Update RedistributePoints to use the new serialization methods 2018-09-25 13:58:39 -04:00
Sujin Philip
fd89dfc89b Add ArrayHandle Serialization 2018-09-25 13:58:39 -04:00
Robert Maynard
98fd16d9ad Correct PPP2 warnings found from 32bit builders 2018-09-18 08:54:22 -04:00
Robert Maynard
b460f56113 Make sure ContourTreeApp obeys the desired device 2018-09-18 08:54:22 -04:00
Oliver Ruebel
2370a6cc5d Refactor the PPP2 work based on Code Review and add UnitTests. 2018-09-18 08:54:22 -04:00
Gunther H. Weber
ab0ccd4cad vtk-m implementation of improved parallel peak pruning with hyperstructure (PPP2.0) 2018-09-18 08:54:22 -04:00
Kenneth Moreland
d879188de0 Make DispatcherBase invoke using a TryExecute
Rather than force all dispatchers to be templated on a device adapter,
instead use a TryExecute internally within the invoke to select a device
adapter.

Because this removes the need to declare a device when invoking a
worklet, this commit also removes the need to declare a device in
several other areas of the code.
2018-08-29 19:18:54 -07:00
Robert Maynard
9f5d57f8ab Remove the posthocinterpolation example as it didn't showcase vtkm 2018-08-24 08:28:56 -04:00
Robert Maynard
7231f7e557 Use vtkm::Math functions in ABCField. 2018-08-24 08:28:12 -04:00
Robert Maynard
2a75916dd3 Merge topic 'remove_duplicate_data_in_multi_backend'
6990b605b The multi backend example now doesn't share data between blocks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1344
2018-08-15 15:09:14 -04:00
Sudhanshu Sane
3364d1c4e0 Lagrangian filter, example
The added files provide support for Lagrangian analysis of velocity fields of time-varying data. Examples show how to use the filter to generate data and a second example demonstrates consuming generated information to calculate new particle trajectories.
2018-08-13 14:53:41 -07:00
Robert Maynard
6990b605b0 The multi backend example now doesn't share data between blocks
This should allow for multiple different devices.
2018-07-31 15:02:41 -04:00
Kenneth Moreland
49ae7d5e7d Add header file for std::isstype
This function might get defined through other headers, but it was not
being defined with visual studio.
2018-07-26 16:33:16 -06:00
Sebastien Jourdain
4192b9a1d8 Add a point-oscillator filter + example
The oscillator is a simple analytical source of time-varying data.
It provides a function value at each point that is computed as a
sum of Gaussian kernels -- each with a specified position, amplitude,
frequency, and phase.
2018-07-18 09:33:06 -04:00
Sujin Philip
01a45d8e5e Workaround compiling error in multi-backend example with some gcc versions 2018-06-21 12:07:12 -04:00
Robert Maynard
9861cdecb1 Use CMake to automatically set policies to NEW.
CMake 3.12 introduces a ...<max> syntax in the version given to
cmake_minimum_required to automatically set policies to NEW up
to that version. Use it to avoid listing policies explicitly.
2018-06-19 16:12:48 -04:00
luz.paz
940c891886 Misc. typos
Found via `codespell` and `grep`
more typos

includes source typo change and a typo that needs further review
follow-up typos


Follow-up typos


Revert a commit
2018-06-14 16:49:11 -04:00
Robert Maynard
5a2c2b9460 temporaladvection example follows the same naming pattern as all examples 2018-06-01 10:31:14 -04:00
Allison Vacanti
93506d25e2 Change function signatures to use 'using' aliases.
Also cleaned up some lingering type typedefs.
2018-05-25 17:18:41 -04:00
Haocheng LIU
5c797169ec Use the strong typed enums for vtkm::cont::Field
Since Field association is used either when creating or working
with 'vtkm::cont::Field', it's put in the class itself.
2018-05-22 11:44:51 -04:00
Haocheng LIU
fae8409c9c Add float version operations for vtkm::Math Pi()
This commit also removes the old static_cast<vtkm::float32>vtkm::Pi() usages and
fix serveral conversion warnings.
2018-05-21 10:58:15 -04:00
David Thompson
7cbbb016d4 Fix multi_backend when using double precision. 2018-05-18 14:05:11 -04:00
ayenpure
eb2ed4f275 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection 2018-05-15 11:46:26 -07:00
Robert Maynard
ad545dad5b multi_backend shows how a filter can use multiple device adapter 2018-05-15 10:35:18 -04:00
Sujin Philip
0c1634bbc3 Fix a few more warnings
These warnings were detected on my local machine.
2018-05-09 17:49:45 -04:00
Utkarsh Ayachit
20e7cd4189 Demo.cxx: fix type conversion warning 2018-05-08 14:52:23 -04:00
ayenpure
78118a840f Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection 2018-05-07 11:00:52 -07:00
Sujin Philip
3be5ee8a7c Fix usage of vtkm_compile_as_cuda in examples
Incorrect usage in histogram and redistribute_points examples.
Only source files (.cxx) should be specified.
2018-05-04 15:26:13 -04:00
ayenpure
7d5e99c0b6 Adding updated CMakeLists for temporal particle advection 2018-04-19 10:07:54 -07:00
ayenpure
c53d6ec216 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into pathsurfaces 2018-04-18 22:18:34 -07:00
ayenpure
d38358e40d Adding files missed in previous commit 2018-04-18 22:09:25 -07:00
ayenpure
4cf9942d44 Updating temporal advection example
- renaming long directory name to something concise
- Adding Dave's Unit test for particle advection
- Fixing really trivial issues
2018-04-18 22:06:40 -07: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
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
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
Robert Maynard
84311a2453 Merge branch 'master' into cmake_refactor 2018-04-05 10:18:36 -04:00
Utkarsh Ayachit
3da8b5be66 Remove vtkm::filter::Result
This commit removes `vtkm::filter::Result`. All methods that used
`vtkm::filter::Result` simply change to use `vtkm::cont::Dataset` instead.
The utility API on `Result` that was used to add fields to the resulting
dataset is now available via `vtkm::filter::internal::CreateResult`.
2018-04-03 16:55:03 -04:00
Utkarsh Ayachit
68d43a6156 Demo: fix filter::Execute API usage. 2018-04-03 14:36:54 -04:00
Robert Maynard
8808b41fbd Merge branch 'master' into vtk-m-cmake_refactor 2018-03-29 22:51:26 -04:00
Sujin Philip
cd69e71247 Fix Unified Memory example
Update to use the new filter interface
2018-03-29 18:00:19 -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
Utkarsh Ayachit
0208cd7683 fix example after filters API change. 2018-03-26 13:10:53 -04:00
ayenpure
b9fe03a018 Updating example 2018-03-23 13:18:40 -07:00
ayenpure
077988aeb4 Adding working temporal interpolation 2018-03-23 00:49:32 -07:00
ayenpure
8ae9c733e8 Adding temporal interpolation files 2018-03-22 18:15:39 -07:00
Utkarsh Ayachit
e3961b9c95 update examples after filter API changes. 2018-03-13 13:54:22 -04:00
Matt Larsen
cf0b0aaf95 fixing clipping and contour tree examples 2018-03-10 09:08:29 -08:00
Robert Maynard
e630ac5aa4 Merge branch 'master' into vtk-m-cmake_refactor 2018-02-23 14:52:00 -05:00
Robert Maynard
182f4707e7 vtkm prefers 'using' over typedef. 2018-02-23 10:47:20 -05:00
Robert Maynard
ec074bb627 Redesign how we specify cxx files should be compiled as cuda.
Due to limitations in the CUDA MSBuild support and how CMake stores the language
of a source file, we had to change VTK-m over to using generated .cu files
to signal when we want CUDA compilation.
2018-01-16 15:42:37 -05:00
Robert Maynard
0660c67fef Merge branch 'master' into vtk-m-cmake_refactor 2018-01-16 15:42:28 -05:00
Li-Ta Lo
29232c49c0 Revert un-intended change to examples
Revert un-intended changed to the size of tangle field in isosurface example and the requirements on CMake version for game_of_life.
2018-01-16 10:55:02 -07:00
Li-Ta Lo
7ef956a934 Merge branch 'master' into connected_component 2018-01-11 09:10:37 -07:00
Sujin Philip
70fcd1d1cc Update CoordinateSystem to use the Virtual Array 2018-01-10 10:19:19 -05:00
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
b10e50860f Update all the examples to the new CMake code. 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
Li-Ta Lo
2a9439ab1e Merge branch 'master' into connected_component 2018-01-02 17:59:19 -07:00
Li-Ta Lo
4c2ef4f89b factor out CellSetConnectivity worklet, cleanup 2018-01-02 16:44:35 -07:00
Robert Maynard
93bc0198fe Suppress false positive warnings about calling host device functions. 2018-01-02 10:40:49 -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
Li-Ta Lo
2e88f4220a Connected component for triangle mesh 2017-12-22 10:31:02 -07: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
Matthew Letter
2587584993 added cuda files back into the build for examples
some of the cuda files were left out during the refactor, brought them back into the build process
2017-11-30 15:27:23 -07:00
Robert Maynard
db3e97bac6 Correct issues when CUDA is enabled. 2017-10-27 15:30:16 -04:00
Robert Maynard
ed8f4111ef Update all the code to work with CMake 3.3
Obviously this does mean that CUDA is not supported with 3.3.
2017-10-27 15:30:14 -04:00
Robert Maynard
3ded554831 Extend the CMake rewrite to include vtkm_rendering 2017-10-27 15:29:58 -04:00
Robert Maynard
56c7362258 A thought on what CMake 3.9 would mean to VTK-m. 2017-10-27 15:29:51 -04:00
Allison Vacanti
30f4151bf8 Add missing headers to examples. 2017-10-02 12:33:30 -04:00
Kenneth Moreland
1e48012fab Merge topic 'update-license'
c3a3184d Update copyright for Sandia

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Berk Geveci <berk.geveci@kitware.com>
Merge-request: !945
2017-09-21 11:03:33 -04:00
Kenneth Moreland
c3a3184d51 Update copyright for Sandia
Sandia National Laboratories recently changed management from the
Sandia Corporation to the National Technology & Engineering Solutions
of Sandia, LLC (NTESS). The copyright statements need to be updated
accordingly.
2017-09-20 15:33:44 -06:00
Robert Maynard
8e2751e1a4 Refactor VTK-m to make the interop code non-conditional. 2017-09-20 13:43:23 -04:00
Abhishek Yenpure
d30c795c08 Fix particle advection error 2017-09-15 13:07:39 -04:00
Patricia Kroll Fasel - 090207
57165916d1 Cosmology fix
Add the setting of the default device adapter in examples code
2017-09-14 10:08:13 -06:00
Patricia Fasel
2052f40719 Merge topic 'cosmo-tools'
e9f9a3d8 remove setting of DeveiceAdapter from cosmotools worklet
cdf84ccb Add sample input
6ca2683f Remove the data file for examples
f3766449 Cosmology halo finder

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !919
2017-09-13 15:30:38 -04:00
Patricia Kroll Fasel - 090207
f3766449f2 Cosmology halo finder
Running friend of friends algorithm and then NxN most bound particle
after to find halo center. Cosmology center finder running NxN MBP
algorithm followed by a estimator reducing the problem to MxN MBP
to speed up run.
2017-09-06 11:43:40 -06:00
Dave Pugmire
1c0f721b96 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into streamline_returntype 2017-08-28 15:27:04 -04:00
Dave Pugmire
611c5c43e5 Remove dead code. Remove compiler warnings. 2017-08-28 14:31:50 -04:00
Robert Maynard
99f60c27cd Add GameOfLife example to show off WorkletPointNeighborhood3x3x3.
Conway's game of life is a very simple example of a point neighborhood worklet
that needs to access the 8 adjacent points of each point in a 2d structured grid
2017-08-23 16:42:00 -04:00
Yenpure
533380e705 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into pics_unittests 2017-08-11 16:01:06 -04:00
Yenpure
1c35a74521 Resolve merge conflicts for pics_unittest 2017-08-11 13:57:47 -04:00
Allison Vacanti
565896cc49 Combine ResultField + ResultDataSet into Result. 2017-08-11 08:25:42 -04:00
ayenpure
8915d90273 removing trailing whitespaces 2017-08-10 18:15:21 -04:00
Dave Pugmire
f5273c62ef Clang reformat. 2017-08-10 16:42:52 -04:00
Dave Pugmire
b23564a526 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into pics_unittests 2017-08-10 16:18:18 -04:00
Robert Maynard
c0b08b5a9f Convert examples over to using 'using' over 'typedef' 2017-08-10 13:46:17 -04:00
Yenpure
2ba83cd101 particle advection refactoring
-removing the bounds object form integrators.
-some formatting changes
-changes to build successfully
2017-08-03 13:34:58 -04:00
Yenpure
3668e098e3 Fixed particle advection build issues
-Merged short steps changes from AYenpure's branch
-Fixed build issues
-Fixedf merge issues
2017-08-02 10:02:21 -04:00
Yenpure
4b7bba836b Merge branch 'refactor_integrators' of https://gitlab.kitware.com/ayenpure/vtk-m into pics_unittests 2017-08-01 22:00:07 -04:00
Yenpure
61c61ee93b Adding a base class for Integrators 2017-07-31 15:46:13 -04:00
Robert Maynard
4200bf608d Merge topic 'correct_helloworld_example'
92ac1db4 Hello World example once again computes intial point values correctly.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !856
2017-07-31 13:42:02 -04:00
David C. Lonie
bd042ec567 Add CudaAllocator to encapsulate runtime managed memory logic.
Unified memory is now used when we detect that the hardware supports it.
2017-07-31 09:08:27 -04:00
Robert Maynard
92ac1db4eb Hello World example once again computes intial point values correctly.
Incorrect casting conversions caused the hello_world example to divide
in integer space rather than float space.
2017-07-28 17:27:06 -04:00
Dave Pugmire
3759887aed Merge branch 'master' of gitlab.kitware.com:dpugmire/vtk-m 2017-07-28 10:07:37 -04:00
ayenpure
c564c4b911 Enhancements for particle advection
-support for short steps to push the particle out of bounds
2017-07-25 23:30:17 -04:00
Dave Pugmire
45c82f2e93 First take at getting streamline worklet to return useful information.
More changes to come.
2017-07-21 14:37:20 -04:00
Dave Pugmire
8bdf42f31c Change return type to a struct that contains the arrays from the worklet. 2017-07-20 07:36:57 -04:00
Yenpure
8e500a172a Moving PortalType templetization to Step method of Integrators
Changes suggested by Rob.
2017-07-12 15:31:16 -04:00
Dave Pugmire
33150365eb Validate the data format for the UniformGridEvaluate. 2017-07-12 12:02:04 -05:00
Yenpure
5a652f41bc Fix for MSVC compile isses
MSVC does not allow typename for non templated types while
compiling with c++98 std. (clang/gcc allow it)
Don't know about which standards Kitware uses to test builds, but
this should fix it.
Also removing unused parameter from the particle advection example.
2017-07-12 10:52:39 -04:00
Dave Pugmire
50dbd6347a Remove unneeded template from grid eval glasses. 2017-07-12 08:38:32 -05:00
Dave Pugmire
4f7ccdefbf Remove the rectilinear examples. 2017-07-11 21:27:53 -05:00
Dave Pugmire
4574f36dec Cleanup of particle advection worklets
Created ParticleAdvection.h for worklets that match the worklet pattern.
Slight reorganization of existing code to match this pattern.
Added a unittest particle advection.
2017-07-11 21:22:28 -05:00
Dave Pugmire
77c152abc2 Move some python files used for the paper. 2017-07-10 14:32:07 -05:00
Dave Pugmire
929b10fa72 MR cleanup.
Move some python testing files for the paper into the paper repo. (removing from VTK-m repo)
Removed a #define that is no longer needed.
2017-07-10 14:30:38 -05:00
Dave Pugmire
b86ca21b6d Cleanup for merge.
Renamed filter classes to worklet.
Removed some dead code.
2017-07-08 15:54:44 -04:00
ayenpure
f209d670be Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into PICS 2017-07-07 15:01:24 -04:00
ayenpure
f5c59a01e8 Updates for particle advection files.
- removing tabs, and trailing whitespaces.
- removing compile warnings for clang and gcc.
2017-07-07 13:46:45 -04:00
ayenpure
b2765881df removing most of the compile warnings, and adding CUDA and TBB tests for rectilinear grids 2017-07-07 13:46:45 -04:00
ayenpure
fc8d2a27b2 improved regular grid evaluator and added rectilinear grid evaluator 2017-07-07 13:46:45 -04:00
Dave Pugmire
aee83d0b39 Updated results parser. 2017-07-07 13:46:45 -04:00
Dave Pugmire
818257e3b4 Add doing particles in rounds. 2017-07-07 13:46:45 -04:00
Dave Pugmire
46f5c92a27 New parse file. 2017-07-07 13:46:45 -04:00
Dave Pugmire
97e8a8e20c Add summit to run script. 2017-07-07 13:46:45 -04:00
Dave Pugmire
9125e7759b Add options for sparse/medium/dense seeding. 2017-07-07 13:46:45 -04:00
Dave Pugmire
b81383d6fb tweaks to run script. 2017-07-07 13:46:45 -04:00
Dave Pugmire
e418d93157 mods to the run script. 2017-07-07 13:46:25 -04:00
Dave Pugmire
ec5d9a2fdb Major changes for streamlines and particles. Does them in rounds for streamlines. 2017-07-07 13:46:25 -04:00
Dave Pugmire
0ad373c3f8 Add in some initial code for streamlines. 2017-07-07 13:46:25 -04:00
Dave Pugmire
f07509d71d Fixes for rhea 2017-07-07 13:46:25 -04:00
Dave Pugmire
024535c272 add new data producing file. 2017-07-07 13:46:25 -04:00
Dave Pugmire
9a7cce2b92 Cleaned the test run script. 2017-07-07 13:46:07 -04:00
Dave Pugmire
6d6bb7ab65 Change the timers. 2017-07-07 13:45:52 -04:00
Dave Pugmire
1044a3b126 add compiler symbol 2017-07-07 13:45:52 -04:00
Dave Pugmire
51d263c002 fixes for titan and rhea. 2017-07-07 13:45:52 -04:00
Dave Pugmire
bef97533e2 Add a python test script. 2017-07-07 13:45:52 -04:00
Bernd Hentschel
4b24021e27 moved timing to only include the pure runtime
exclude load time and time for seed generation
2017-07-07 13:45:52 -04:00
Bernd Hentschel
4bbd80d16b moved tbb_task_scheduler_init to same context as Run
This the init object needs to be in the same scope in order to take an effect on subsequent tbb executions.
2017-07-07 13:45:52 -04:00
Dave Pugmire
ece9f00e11 Add better command line control for running tests. 2017-07-07 13:45:52 -04:00
Dave Pugmire
42aba5357a Tweaked the test file. 2017-07-07 13:45:31 -04:00
Dave Pugmire
d956f000e4 Enhanced PICS filter and added BOV reader.
Add a particle advection test program for doing studies using BOV files.
Added state recording particles
Cleanup in the filter.
2017-07-07 13:43:58 -04:00
David C. Lonie
0564af0a5f Fix Clipping example compilation.
Some functions were refactored and broke this example code.
2017-06-28 12:20:09 -04:00
Robert Maynard
5dd346007b Respect VTK-m convention of parameters all or nothing on a line
clang-format BinPack settings have been disabled to make sure that the
VTK-m style guideline is obeyed.
2017-05-26 13:53:28 -04:00
Kitware Robot
4ade5f5770 clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
Kitware Robot
efbde1d54b clang-format: sort include directives 2017-05-18 12:59:33 -04:00
Robert Maynard
57ab48fe8e Replace occurrences of NULL with nullptr. 2017-05-04 10:50:57 -04:00
Li-Ta Lo
7f4d5de2b2 remove unused code in CMakeList.txt 2017-03-28 09:05:08 -06:00
Dave Pugmire
ca93142512 Merge branch 'master' of gitlab.kitware.com:dpugmire/vtk-m 2017-03-28 09:30:13 -04:00
Dave Pugmire
69f9125663 Experiment with speeding up the GetHexahedronClassification. 2017-03-28 09:28:03 -04:00
Li-Ta Lo
fb8a8369ca update examples/tetrhedra to use filters instead of worklets 2017-03-27 17:38:03 -06:00
Li-Ta Lo
8d5ce89458 Merge branch 'tri-tet-fix' of gitlab.kitware.com:Fasel/vtk-m into tri-tet-fix 2017-03-27 16:47:44 -06:00
Patricia Kroll Fasel - 090207
3a1a6aece3 Added mapping of cell data onto output dataset 2017-03-23 17:14:39 -06:00
Robert Maynard
2481dd6248 Merge topic 'multi_iso_value_contour'
5566afdd Allow MarchingCubes to handle multiple iso-contour values.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !730
2017-03-17 14:16:17 -04:00
Li-Ta Lo
5a50d60573 Merge topic 'unified-memory'
2bdc0be5 add cuda calls for memory advise as per Tom Fogel
6ce8a013 Merge branch 'master' into unified-memory
b470175f new unified memory effort with the new Thrust device
835073da clean up with custom allocator
dfae8f5e Fixing merge issue with contour_tree
82c40a63 First support for unified memory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !729
2017-03-16 15:14:55 -04:00
Robert Maynard
5566afdd8d Allow MarchingCubes to handle multiple iso-contour values. 2017-03-16 11:49:20 -04:00
Robert Maynard
476dc1e56e remove unneeded dependency from contour_tree example. 2017-03-14 09:03:58 -04:00
Li-Ta Lo - 194699
b470175f98 new unified memory effort with the new Thrust device 2017-03-09 14:51:45 -07:00
Tom Fogal
55be1fcbb2 examples: ensure cleanup occurs before main ends.
Else the implicit context in the CUDA driver may destroy itself
before the destructors for globals/statics run, and we could try
to e.g. cudaFree without a valid context.
2017-02-15 10:32:20 -08:00
Robert Maynard
407f9822c2 Merge branch 'use_usage_requirements' into 'master'
Use usage requirements

See merge request !673
2017-01-27 17:36:16 -05:00
Robert Maynard
e415f55b6f Update the examples to work with the new usage requirements 2017-01-27 10:03:53 -05:00
Robert Maynard
f7e651fa10 When building the multi_backend code suppress warnings from thrust. 2017-01-26 14:41:30 -05:00
Kenneth Moreland
5fed7dda7f Fix compile issue on windows
A variable length array declaration was used. That is not part of the
official C++11 standard and is not supported on all compilers.
2017-01-19 14:21:47 -07:00
Christopher Sewell
dfae8f5e3e Fixing merge issue with contour_tree 2017-01-18 11:47:52 -07:00
Christopher Sewell
82c40a6374 First support for unified memory 2017-01-18 11:43:49 -07:00
Robert Maynard
4a56e9f129 Merge branch 'contour-tree' into 'master'
Contour tree

See merge request !658
2017-01-17 17:00:54 -05:00
Patricia Kroll Fasel - 090207
0950af7aeb Compiler warnings 2017-01-12 14:35:34 -07:00
Kenneth Moreland
713cf4228a Make it not possible to create a cell set without specifying num points
The CellSetExplicit and CellSetSingleType classes have an ivar that
marks the number of points. There were several instances of code
creating cell sets without specifying the number of points. This can be
very bad if subsequent code needs that information.
2017-01-12 13:02:10 -07:00
Patricia Kroll Fasel - 090207
bed40256c8 Fix compiler warnings. Fix case table operation to comply. 2017-01-11 14:02:32 -07:00
Patricia Kroll Fasel - 090207
9548441565 Fix compiler warnings and test errors before merge. 2017-01-10 16:52:59 -07:00
Patricia Kroll Fasel - 090207
851dfc094b Correct the example compilation for TBB. 2017-01-10 12:33:45 -07:00
Patricia Kroll Fasel - 090207
f6140c39e2 Add LANL/LLC copyright notification. 2017-01-09 14:53:59 -07:00
Patricia Kroll Fasel - 090207
9412584bf2 First implementation of contour tree 2D and 3D, serial and cuda. 2017-01-09 13:54:47 -07:00
Kenneth Moreland
fdaccc22db Remove exports for header-only functions/methods
Change the VTKM_CONT_EXPORT to VTKM_CONT. (Likewise for EXEC and
EXEC_CONT.) Remove the inline from these macros so that they can be
applied to everything, including implementations in a library.

Because inline is not declared in these modifies, you have to add the
keyword to functions and methods where the implementation is not inlined
in the class.
2016-11-15 22:22:13 -07:00
Dave Pugmire
4edb91ad96 Get rid of warnings in examples. 2016-11-04 16:29:07 -04:00
Robert Maynard
5ec273aade Remove all occurrences of boost::lexical_cast from vtk-m.
Replaced with the new std::stof/stoi functions.
2016-10-20 16:55:15 -04:00
Robert Maynard
37efba159c CellSetSingleType now can be constructed with proper number of points
This is important so that when we execute a Cell->Point worklet we
don't have to compute the number of points from the connectivity array.
2016-10-20 08:33:16 -04:00
Mark Kim
464da87d5a Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m 2016-10-12 14:40:32 -04:00
Kenneth Moreland
fbb061d661 Fix some minor issues with move to glut CMake component
I was using GLUT_LIBRARY instead of GLUT_LIBRARIES, and there was an
extra use of GLUT_INCLUDE_DIR that should not have been there.
2016-10-04 10:48:19 -06:00
Kenneth Moreland
d1d7ac54a0 Add GLUT component to find_package(VTKm)
This makes it easier to use VTK-m with GLUT. It also makes it more
consistent with GLFW, GLEW, and other support libraries.
2016-10-03 17:34:13 -06:00
Robert Maynard
0f58d6fc54 Add vtkm/cont/serial directory for the serial backend. 2016-09-28 14:22:53 -04:00
Mark Kim
a41e0f28df Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m 2016-09-26 16:12:19 -04:00
Mark Kim
5827473abb Merge branch 'master' of gitlab.kitware.com:dpugmire/vtk-m 2016-09-23 09:46:48 -04:00
Kenneth Moreland
c1de0e0746 Change VTKm_BUILD_RENDERING to VTKm_ENABLE_RENDERING
This makes the name more consistent with the names of the other VTK-m
CMake options.

Also changed the default to be ON. I do not see a big downside to
compiling the rendering library most of the time.
2016-09-21 14:38:00 -06:00
Mark Kim
e59fc37f90 Merge topic 'master'
7cfc1199 Demo.cxx: MapperRayTracer is no longer a templated class. UnitTestMapperEGL.cxx: MapperGL is no longer a templated class. UnitTestMapperGLFW.cxx: strmp needs cstring rendering/CMakeLists.txt: need to append egl_sources to sources.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !552
2016-09-16 09:02:06 -04:00
Mark Kim
7cfc119999 Demo.cxx: MapperRayTracer is no longer a templated class.
UnitTestMapperEGL.cxx: MapperGL is no longer a templated class.
UnitTestMapperGLFW.cxx: strmp needs cstring
rendering/CMakeLists.txt: need to append egl_sources to sources.
2016-09-14 15:58:45 -04:00
Robert Maynard
4521403fd2 Examples now correctly request the optional CUDA component 2016-09-14 15:29:04 -04:00
Mark Kim
c216c98c57 Merge branch 'umaster' 2016-09-14 10:39:52 -04:00
Mark Kim
fbaee11da9 Demo.cxx: MapperRayTracer is no longer a templated class.
UnitTestMapperEGL.cxx: MapperGL is no longer a templated class.
UnitTestMapperGLFW.cxx: strmp needs cstring
rendering/CMakeLists.txt: need to append egl_sources to sources.
2016-09-14 10:33:51 -04:00
Mark Kim
f293c5a0bc Merge branch 'glut-unittest' 2016-09-14 09:19:57 -04:00
Kenneth Moreland
e6686e8be7 Merge branch 'master' into rendering-library 2016-09-09 13:59:15 -06:00
Robert Maynard
08eb3a957b Correct a bad target_compile_definitions line in examples/demo 2016-09-09 15:19:17 -04:00
Kenneth Moreland
22c6741152 Add View to rendering library
To get rid of some templates, I added the ability to create new
instances of mappers and canvases without knowing their type.
2016-09-07 16:48:04 -06:00
Kenneth Moreland
668f93a66b Move Mappers to rendering library
Also changed the mappers to not be templated on the device adapter.
Instead, use TryExecute to determine the device adapter at runtime.
2016-09-07 16:47:52 -06:00
Kenneth Moreland
2ea00d28f0 Examples that use Rendering now need to configure Rendering 2016-09-07 16:47:37 -06:00
Kenneth Moreland
8cb2803b45 Merge branch 'precision-warnings' into 'master'
Fix precision warnings when FloatDefault is 64 bit

When VTKm_USE_DOUBLE_PRECISION is on (not the default), then
vtkm::FloatDefault is set to 64 bit values. There was some code that was
coded for 32 bit and never checked for 64 bit (on all compilers).

See merge request !526
2016-09-07 13:54:13 -04:00
Robert Maynard
75d435f7ad Merge topic 'refactor-cmake'
011605d4 Refactor CMake files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !493
2016-09-02 09:52:52 -04:00
Sujin Philip
011605d489 Refactor CMake files
1. Change set_property(...) to target_* commands
2. Remove explcit adding of CMAKE_CXX_FLAGS_WARN_EXTRA as compile option
3. Add /bigobj option to VTKm_COMPILE_OPTIONS under MSVC
2016-09-01 11:14:29 -04:00
Robert Maynard
f81c42b9b4 Replace NULL with nullptr where applicable. 2016-09-01 09:38:25 -04:00
Kenneth Moreland
893f3115f2 Fix precision warnings when FloatDefault is 64 bit
When VTKm_USE_DOUBLE_PRECISION is on (not the default), then
vtkm::FloatDefault is set to 64 bit values. There was some code that was
coded for 32 bit and never checked for 64 bit (on all compilers).
2016-08-26 09:33:37 -06:00
Kenneth Moreland
866c617cbf Fix config issues with headers and libraries
There were a couple of places where the configure scripts did not add
either includes to VTKm_INCLUDE_DIRS or libraries to VTKm_LIBRARIES.

The biggest offender was when the examples used find_package to load the
VTK-m configuration it needed. find_package cleared out the includes and
libraries, but it did not clear out the VTKm_<COMPONENT>_FOUND
variables. Normally, these variables would not be set before
find_package is called, but in this case the examples were called after
some partial configuration. I got around this issue by clearing out all
the *_FOUND variables in VTKmConfig.cmake.
2016-08-23 14:07:38 -06:00
Robert Maynard
7ece97bb87 Merge topic 'some_examples_show_how_to_find_vtkm'
88ce3f23 Examples now call find_package(VTKm)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !511
2016-08-23 13:09:20 -04:00
Robert Maynard
1224a90305 multi_backend example now uses vtkm::cont::TryExecute
Now that TryExecute has been standardized, update the example of
how to compile for multiple runtime backends.
2016-08-22 15:45:45 -04:00
Robert Maynard
88ce3f23ae Examples now call find_package(VTKm)
The examples are now written so they can be copied out of the vtk-m
source and still build properly. This will help new users / developers
learn how to build projects that use VTK-m.
2016-08-22 14:03:16 -04:00
Robert Maynard
af05ea0e8d Cleanup clipping so we can use it from a filter. 2016-08-18 12:50:20 -04:00
Robert Maynard
08a33675f6 Prefer vtkm::cont::CastAndCall function over the member method. 2016-08-05 15:29:39 -04:00
Robert Maynard
31138293f9 Pass Fields and CoordinateSystems to Dispatcher::Invoke
Now that we can handle scheduling Fields and CoordinateSystems, do
2016-08-05 15:26:17 -04:00
Mark Kim
447295e79b Switch from OSMesa to ray tracer for demo because OSMesa is not working atm. 2016-08-02 18:29:30 -04:00
Mark Kim
df0e64572a Demo.cxx compiles, at least. But, the background isn't even correct. 2016-08-02 16:27:55 -04:00
Dave Pugmire
7d5934ea22 use the matricies from the camera for the VBO rendering. 2016-08-02 13:42:47 -04:00
Mark Kim
293ba569e7 Demo.cxx has not been updated in a while (pre-ResultDataSet change). 2016-08-02 13:22:02 -04:00
Mark Kim
e8b17eb947 OSMesa, not OSMESA. 2016-08-02 13:10:32 -04:00
Robert Maynard
1796625616 Cleanup the multiple dynamic array handle dispatch example. 2016-07-29 09:48:13 -04:00
Robert Maynard
063b349a20 Setup the examples to find vtkm components quietly. 2016-07-28 10:47:43 -04:00
Robert Maynard
44afc5e878 Merge topic 'more_suppress_of_cuda_warnings'
45ada6b5 Rework ArrayHandleCuda to make it stop generate warnings
4ca6ce2a nvcc doesn't have troubles with boost shared_ptr optimizations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !473
2016-07-20 14:46:15 -04:00
Robert Maynard
4ca6ce2ad6 nvcc doesn't have troubles with boost shared_ptr optimizations 2016-07-19 13:26:23 -04:00
Robert Maynard
aa01784a06 Remove unused result warnings from StreamLineUniformGrid example. 2016-07-15 11:40:52 -04:00
Kenneth Moreland
7ff20c9230 Fix includes for CUDA builds
The CMake CUDA build targets do not respect the
target_include_directories (yet?). Instead, add the necessary includes
to cuda_include_directories().
2016-06-22 12:53:23 -06:00
Kenneth Moreland
13ee8bc190 Fix several issues with making sure all includes are set
Make everything consistent with new builds.
2016-06-21 18:03:29 -06:00
Kenneth Moreland
1d0eac6301 Update some configuration to new components 2016-06-21 18:03:25 -06:00
Kenneth Moreland
b3314f539f Fix another stupid signed to unsigned conversion warning 2016-06-16 11:24:27 -06:00
Kenneth Moreland
5461d27948 Do not compile hello_world without GLEW
The GLEW library is optional, but without it you cannot do OpenGL
interop. The hello_world example uses OpenGL interop, but did not check
that GLEW was available. It tried to use GLEW and an error occured.
2016-06-16 11:15:23 -06:00
Kenneth Moreland
e50d91199c Merge branch 'consolidate-background-color' into 'master'
Consolidate background color in rendering classes

Before this commit, there were three separate classes (Mapper, Canvas,
and View) that were all managing their own version of the background
color. As you can imagine, this could easily become out of sync, and in
fact if the user code did not specify the same background at least
twice, it would not work.

Fix this by consolidating the background color management to the Canvas.
This is the class most responsible for maintaining the background. All
other classes get or set the background from the Canvas.

That said, I also removed setting the background color from the
constructor in the Canvas. This background color is overridden by the
View anyway, so having it there was only confusing.

See merge request !448
2016-06-13 11:46:18 -04:00
Kenneth Moreland
72b43d7151 Consolidate background color in rendering classes
Before this commit, there were three separate classes (Mapper, Canvas,
and View) that were all managing their own version of the background
color. As you can imagine, this could easily become out of sync, and in
fact if the user code did not specify the same background at least
twice, it would not work.

Fix this by consolidating the background color management to the Canvas.
This is the class most responsible for maintaining the background. All
other classes get or set the background from the Canvas.

That said, I also removed setting the background color from the
constructor in the Canvas. This background color is overridden by the
View anyway, so having it there was only confusing.
2016-06-11 12:09:51 -06:00
Kenneth Moreland
ebfb1e7389 Make giving Camera to View optional
It is now optional to give a Camera object when constructing a View. If
a Camera is not specified, one is automatically set up by calling
ResetToBounds on the spatial bounds of the scene.

This makes it even easier to set up a view.
2016-06-09 13:34:29 -06:00
Kenneth Moreland
9f3e0e5952 Implement roll, elevation, and azimuth for 3D cameras
Also implement pan and zoom for 2D cameras.

Update the rendering tests to do these camera rotations. This matches
better the viewpoint used before the previous camera changes.
2016-06-09 13:34:29 -06:00
Kenneth Moreland
ca87b5f736 Make defining WorldAnnotator for View optional
Most of the time, you just match the WorldAnnotator with the canvas of
the same type. Rather than make the user specify it every time, add a
method to the canvas that creates a "good" WorldAnnotator to use with
it. Then, if a WorldAnnotator is not given to the View constructor, one
is automatically created from the Canvas.
2016-06-09 12:08:03 -06:00
Kenneth Moreland
2be7a8e032 Remove templating from View
The template parameters on vtkm::rendering::View are unnecessary. All
three of the templated classes are polymorphic (with virtual functions).
Thus, you just have to specify them at the constructor. Removing the
template parameters makes the syntax a bit cleaner and removes some
unnecessary duplication in the executable.

Removing the template does mean we cannot optimize in the future.
However, I expect us to start using more virtual methods rather than
less, so I think this is a move in the right direction.
2016-06-09 12:08:01 -06:00
Kenneth Moreland
5af7c6ff4c Hide internal parts of Canvas 2016-06-09 12:07:59 -06:00
Kenneth Moreland
55af901f60 Hide Camera private parts
With only a few exceptions for simple structures, we do not expose the
members of classes. Instead, we provide accessor methods. Do this for
Camera as well as add some helper methods.
2016-06-09 12:07:58 -06:00
Kenneth Moreland
0769b96bf3 Remove Width and Height from Camera
The width and height are maintained out of necessity by the canvas. A
second copy was maintained by the camera, which was only used for
computing the aspect ratio and similar metrics for projections.

Having to maintain the width/height in two places is a bit of a hassle
and provides the opportunity for bugs if they get out of sync. Instead,
have the width/height managed in one place (the canvas) and pass them as
parameters as necessary.
2016-06-09 12:07:56 -06:00
Kenneth Moreland
b01e8391b4 Consolidate functionality in Canvas classes
Move some of the management of the width, height, and buffers to the base
Canvas class. Also, when it makes sense, get the width and height from
the rendering system.

Also changed the color buffer to be a Vec so that you don't have to
manage array offsets by hand.

All of these changes snowballed from the observation that the glut
example did not properly enable the depth buffer.
2016-06-09 12:07:55 -06:00