Commit Graph

787 Commits

Author SHA1 Message Date
Robert Maynard
c6726644b9 Reformat some test code to stop gcc 7.3 from segfaulting.
Somehow deducing the parameters to a static function was causing
gcc to segfault and crash. Changed around the code to use a free
function and everything works properly
2018-05-02 13:32:02 -04:00
Kenneth Moreland
edc4c85fd9 Move Scatter from Worklet to Dispatcher
Previously, when a Worklet needed a scatter, the scatter object was
stored in the Worklet object. That was problematic because that means
the Scatter, which is a control object, was shoved into the execution
environment.

To prevent that, move the Scatter into the Dispatcher object. The
worklet still declares a ScatterType alias, but no longer has a
GetScatter method. Instead, the Dispatcher now takes a Scatter object in
its constructor. If using the default scatter (ScatterIdentity), the
default constructor is used. If using another type of Scatter that
requires data to set up its state, then the caller of the worklet needs
to provide that to the dispatcher. For convenience, worklets are
encouraged to have a MakeScatter method to help construct a proper
scatter object.
2018-04-27 00:43:51 -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
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
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
f37e642563 Remove MultiBlock::GetGlobalRange API.
Removing MultiBlock::GetGlobalRange API to keep things consistent with
DataSet API. Instead, one should use `FieldRangeCompute` or
`FieldRangeGlobalCompute` as appropriate.
2018-04-05 17:16:10 -04:00
Utkarsh Ayachit
20a052f44e add FieldRangeCompute. 2018-04-05 17:16:10 -04:00
Robert Maynard
86c487e614 Properly clean up ColorTable's memory. 2018-04-05 14:43:51 -04:00
Robert Maynard
84311a2453 Merge branch 'master' into cmake_refactor 2018-04-05 10:18:36 -04:00
Robert Maynard
c123796949 VTK-m ArrayHandle can now take ownership of a user allocated memory location
Previously memory that was allocated outside of VTK-m was impossible to transfer to
VTK-m as we didn't know how to free it. By extending the ArrayHandle constructors
to support a Storage object that is being moved, we can clearly express that
the ArrayHandle now owns memory it didn't allocate.

Here is an example of how this is done:
```cpp
  T* buffer = new T[100];
  auto user_free_function = [](void* ptr) { delete[] static_cast<T*>(ptr); };

  vtkm::cont::internal::Storage<T, vtkm::cont::StorageTagBasic>
      storage(buffer, 100, user_free_function);
  vtkm::cont::ArrayHandle<T> arrayHandle(std::move(storage));
```
2018-04-04 11:28:25 -04:00
Robert Maynard
707970f492 VTK-m StorageBasic is now able to give/take ownership of user allocated memory.
This fixes the three following issues with StorageBasic.

1. Memory that was allocated by VTK-m and Stolen by the user needed the
proper free function called which is generally StorageBasicAllocator::deallocate.
But that was hard for the user to hold onto. So now we provide a function
pointer to the correct free function.

2. Memory that was allocated outside of VTK-m was impossible to transfer to
VTK-m as we didn't know how to free it. This is now resolved by allowing the
user to specify a free function to be called on release.

3. When the CUDA backend allocates memory for an ArrayHandle that has no
control representation, and the location we are running on supports concurrent
managed access we want to specify that cuda managed memory as also the host memory.
This requires that StorageBasic be able to call an arbitrary new delete function
which is chosen at runtime.
2018-04-04 11:27:57 -04:00
Robert Maynard
0d45c5cff2 Correct warnings found after disabling all warning when CUDA is enabled. 2018-04-04 11:00:12 -04:00
Kenneth Moreland
3a812b044e Make default ColorTable preset
Changed the "default" ColorTable preset from "cool to warm" to
"viridis." Also made a default constructor for ColorTable that sets it
to this default preset.

The main reason to change to viridis for the default is that it is in
LAB space. We are concerned that having the default ColorTable preset
being Diverging space could lead to users using that color space
inappropriately.
2018-04-02 15:32:23 -06:00
Kenneth Moreland
a3b2c3931d Remove default constructor for ColorTable
The problem is that there is no good "default" constructor for
ColorTable. The previous default constructor created an empty color
table, but that would be confusing if someone actually tried to use it.
We could set ot to the default preset, but the default preset uses the
diverging color map, which could foul people up if they actually want to
edit or create their own color map. Instead, force the declaration of
ColorTable to indicate what you plan to do with it.
2018-04-02 11:44:17 -06:00
Utkarsh Ayachit
0f5ba79b3f fix warning in MakeTestDataSet 2018-04-02 09:30:58 -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
7c54125b66 Switch over from static const to static constexpr where possible. 2018-03-10 11:39:58 -05:00
Utkarsh Ayachit
7002c71e95 add warning guards around diy includes.
Adding `VTKM_THIRDPARTY_PRE_INCLUDE` and `VTKM_THIRDPARTY_POST_INCLUDE`
guards around diy includes.
2018-02-26 15:33:56 -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
182f4707e7 vtkm prefers 'using' over typedef. 2018-02-23 10:47:20 -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
d0a68d3266 Refactor vtk-m storage basic to generate less code
By moving all common operations to a parent class we can
significantly reduce the vtk-m library size.
2018-02-16 09:59:19 -05:00
Robert Maynard
22ea58335a iVTK-m CUDA backend doesn't use thrust::cuda::pointer any more.
This was removed as CUDA 9.0 on MSVC has issues where CUB/Thrust
would fail to compile when given these types.
2018-02-02 08:33:17 -05:00
luz.paz
80b11afa24 Misc. typos
Found via `codespell -q 3` via downstream VTK
2018-01-30 06:51:47 -05:00
Robert Maynard
4f239ed3b9 Correct casting warnings found with new cmake code 2018-01-16 15:42:36 -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
Utkarsh Ayachit
842019023a Merge branch 'diy-as-3rd-party' into 'master'
DIY as 3rd party import

See merge request vtk/vtk-m!1047
2018-01-04 10:58:51 -05:00
Robert Maynard
a8415d8e37 VTK-m now widens result type for UInt8/Int8/UInt16/Int16 input.
When using vtkm::dot on narrow types you easily rollover the values.
Instead the result type of vtkm::dot should be wide enough to store the results
(32bits) when this occurs.

Fixes #193
2018-01-03 16:32:41 -05:00
Utkarsh Ayachit
37969e9602 Use VTKM_DIY() to include diy headers.
This makes it easier to mangle diy and support using external diy.
2018-01-03 14:53:37 -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
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
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
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
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
655412fca3 adding support for log plots with the wireframer 2017-12-05 10:00:27 -08:00
Matt Larsen
eaebaea7cb adding a wrapper for device adapter algorithm 2017-11-29 07:44:37 -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
Robert Maynard
5384305d25 Update tests and a single worklet to verify new CastAndCall works 2017-11-08 13:19:05 -05:00
Robert Maynard
68381d9fe5 Rework TryExecute to leverage perfect forwarding.
By using perfect forwarding we can reduce not only the amount of TryExecute
signatures, but we can enable the ability to pass temporary functors to
TryExecute.

At the same time we have optimized TryExecute by moving the string generation
code into a single function that is compiled into the vtkm_cont library.

The end result is that the vtkm_rendering library size has been reduced from
12MB to 11MB, and we shave off about 5% of our build time.
2017-11-08 12:48:09 -05:00
Sujin Philip
8c242cef91 Switch from faux to true virtuals 2017-11-06 15:25:29 -05:00
Robert Maynard
27d1275249 Correct issues on windows with debug tests timing out.
The tests actually raised a std assert which was causing a timeout as it
required user intervention to click through.
2017-10-31 13:35:13 -04:00
Sujin Philip
5842da4921 Remove ArrayHandle CopyInto
Fixes #170
2017-10-27 17:28:59 -04:00
Matt Larsen
450033110c Merge remote-tracking branch 'upstream/master' into support_2D_and_1D_plots 2017-10-26 08:10:50 -07:00
Matt Larsen
035814a4a7 adding 2d ortho support to ray tracing and updating WireFramer to support 2d lines and 1D line plots 2017-10-26 07:58:02 -07:00
Li-Ta Lo
3acd7c37a1 Merge topic 'pointlocator'
ed3a64a5 Coding style improvment
7fa800b7 Update TestingPointLocatorUniformGrid.h
f1974cab Update TestingPointLocatorUniformGrid.h
508882fa PointLocatorUniformGrid

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !973
2017-10-25 10:42:07 -04:00
Li-Ta Lo
ed3a64a512 Coding style improvment
Capitalize the first character of data members. Rename Run() to FindNearestPoint().
2017-10-24 18:26:01 -04:00
Kenneth Moreland
e50ec6b667 Fix type error in ScanExclusiveByKey
The implementation of ScanExclusiveByKey in
DeviceAdapterAlgorithmGeneral by shifting values in the input values
array and then calling ScanInclusiveByKey. However, the temporary
shifted values array was created using the key type instead of the
values type. This caused a compile error when the keys and values had
different types.
2017-10-24 16:12:30 -06:00
Allison Vacanti
40441e78e6 Fix some additional warnings. 2017-10-23 11:48:19 -04:00
Li-Ta Lo
7fa800b7f3 Update TestingPointLocatorUniformGrid.h 2017-10-19 16:04:55 -04:00
Li-Ta Lo
f1974cab5a Update TestingPointLocatorUniformGrid.h
Add a empty new line at the end of file.
2017-10-19 16:00:06 -04:00
Li-Ta Lo
508882fa21 PointLocatorUniformGrid
Provide an accelerated neareast neighbor search of points in the
dataset using a one layer uniform grid.
2017-10-19 11:44:36 -06:00
Allison Vacanti
4cd791932b Ensure that Pair and Vec are trivial classes.
For std::copy to optimize a copy to memcpy, the valuetype must be both
trivially constructable and trivially copyable.

The new copy benchmarks highlighted an issue that std::copy'ing pairs
and vecs were not optimized to memcpy. For a 256 MiB buffer on my
laptop w/ GCC, the serial copy speeds were:

UInt8:                 10.10 GiB/s
Vec<UInt8, 2>           3.12 GiB/s
Pair<UInt32, Float32>   6.92 GiB/s

After this patch, the optimization occurs and a bitwise copy occurs:

UInt8:                 10.12 GiB/s
Vec<UInt8, 2>           9.66 GiB/s
Pair<UInt32, Float32>   9.88 GiB/s

Check were also added to the Vec and Pair unit tests to ensure that
this classes continue to be trivial.

The ArrayHandleSwizzle test was refactored a bit to eliminate a new
'possibly uninitialized memory' warning introduced with the default
Vec ctors.
2017-10-18 14:58:35 -04:00
Allison Vacanti
7b66dece45 Add equality operators that handle different handle types.
In generic code, it's a pain to use the equality operators since they
requires the ValueType and Storage to match, else the operator is undefined.
This commit adds operators for such comparisons, as well as a unit test.
2017-10-11 17:25:13 -04:00
Allison Vacanti
1018d981a0 Check for overlap in CopySubRange.
Some parallel copy implementations will not handle this sanely.
2017-10-11 16:52:32 -04:00
Allison Vacanti
b396716f86 Merge topic 'vertexclustering-reducepoints'
8fabece1 Use median point from cluster as representative vertex.
c7bf0c95 Compute PointIdMap while reducing cluster ids.
5dee7c6a Select input point from cluster rather than averaging.
28e76ddb Update vertex clustering benchmarking code.
e3c9e7bb Optimize cell map computation.
d7669650 Use requested grid in VertexClustering worklet.
0472dc11 Fix warning on Cuda.
3f4e17e2 Add field mapping to VertexClustering.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !960
2017-10-11 16:25:30 -04:00
Sujin Philip
41679cb5f9 Add a CellLocator
Implements a two-level uniform grid cell locator
2017-10-10 14:01:41 -04:00
Allison Vacanti
5420368ae0 Add fields to the cow nose testing dataset. 2017-10-10 10:28:51 -04:00
Kenneth Moreland
091881d2a4 Use default storage in ArrayHandleCompositeVector test
The idea of the test was to turn off the "default" storage to ensure
that the fancy array was not making assumptions about the storage of its
delegate array. But there is lots of code elsewhere that uses the
default storage (rightly so) to create intermediate arrays, which will
fail if you disable the default storage. This was causing a test to
fail, so turn default storage back on for this case.
2017-09-27 10:05:24 -06:00
Kenneth Moreland
2625ae7866 Update VTK-m source to use new ArrayCopy functionality 2017-09-25 16:54:46 -06:00
Kenneth Moreland
65c7324ffe Create ArrayCopy method
This is a convenience method to do a deep copy of an array. This comes
up a lot, but can be a pain if you don't have a specific device adapter
on which to do the copy.
2017-09-25 16:28:44 -06:00
Robert Maynard
311618a15f Enable highest level of warnings(W4) under MSVC
This will make VTK-m warning level match the one used by VTK. This commit
also resolves the first round of warnings that W4 exposes.
2017-09-22 13:04:28 -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
Kenneth Moreland
1e7b3e6e8b More control over device in ConvertNumComponentsToOffsets
Previously, ConvertNumComponentsToOffsets always used TryCompile on the
global set of runtime devices. That is still the default behavior, but
now you are able to specify your own runtime tracker. Also, there are
now versions of ConvertNumComponentsToOffsets that take a device adapter
tag.
2017-09-07 15:08:55 -06:00
dongliangchu
a0cdad52e5 reviewed version 1 2017-08-30 10:30:29 -04:00
dongliangchu
90c870f2f5 reviewed version 1 2017-08-24 10:50:14 -04:00
Robert Maynard
0cbc3db016 Merge topic 'stolen_arrays_can_still_be_used_as_input'
c385b21a StorageBasic is now treated like users memory after being stolen.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !891
2017-08-22 09:09:58 -04:00
dongliangchu
fffc0282a5 reviewed version 1 2017-08-18 19:20:15 -04:00
dongliangchu
424b37ec97 reviewed version 1 2017-08-18 16:28:33 -04:00
Robert Maynard
c385b21acd StorageBasic is now treated like users memory after being stolen.
Previously once an ArrayHandle was stolen it was placed in an invalid state
where it could not used again by VTK-m. Now instead after being stolen it
is placed into a state where it is identical to memory allocated outside
of VTK-m and passed in.
2017-08-18 08:24:49 -04:00
Robert Maynard
f68635941e Convert VTK-m over to use 'using' instead of 'typedef' 2017-08-17 10:47:25 -04:00
Robert Maynard
a487017fd1 Remove lines that only contain a semi-colon. 2017-08-16 14:31:17 -04:00
Sujin Philip
4e1b026c8a Streamline CellSetExplicit
1) Don't require a DeviceAdapter for the BuildConnectivity function (#131)
2) Explicitly instantiate default CellSetExplicit and CellSetSingleType
2017-08-11 10:14:40 -04:00
dongliangchu
389bda7ec2 refactoring unittest for multiblock filters 2017-08-10 16:08:10 -04:00
dongliangchu
3bff60d3c6 refactoring unittest for multiblock filters 2017-08-10 16:05:37 -04:00
Thomas Otahal
89b2700298 Merge topic 'external-faces-production'
75517554 Move check for cell variables to it gets executed.
147247e8 Code formatting changes and compiler warning fixes.
a3fd135b Fix errors and warnings on Mac and Windows
347af497 Poly Data for External Faces
aeed7a07 Cell variables for External Faces
ad13e9b4 Merge branch 'master' into external-faces-production
ab25c160 External Faces Uniform and Rectilear grids

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !860
2017-08-09 16:00:01 -04:00
Robert Maynard
08d4b3cf36 Merge topic 'clang_tidy'
b85cdd90 Convert VTK-m over to use 'using' instead of 'typedef'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !836
2017-08-08 16:26:10 -04:00
Sujin Philip
38700ffae3 Merge topic 'fix-cellsets'
4db096bf Update CellToPoint worklets
6ce8218d Implement CellToPoint for CellSetPermutation
46aa7451 Fix CellSetExplicit CellToPoint

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !848
2017-08-07 14:20:10 -04:00
Robert Maynard
b85cdd9080 Convert VTK-m over to use 'using' instead of 'typedef' 2017-08-07 14:05:43 -04:00
Allison Vacanti
1a09338e0c Merge topic '43-ArrayHandleExtractComponent'
84588c80 Add ArrayHandleExtractComponent.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !853
2017-08-07 10:23:03 -04:00
dongliangchu
3b3734a3d3 merge formating changes 2017-08-04 16:39:36 -04:00
dongliangchu
ab0fe3ef3c merge formating changes 2017-08-04 15:44:07 -04:00
dongliangchu
63b1d6ecac merge formating changes 2017-08-04 15:40:41 -04:00
Allison Vacanti
030ef57380 Add ArrayHandleSwizzle for reordering/removing components from a vec array.
This is tangentially related to #43.
2017-08-04 13:42:38 -04:00
dongliangchu
b0213e7428 update unit test for MultiBlock class 2017-08-03 22:45:56 -04:00
dongliangchu
26f08f598a update unit test for MultiBlock class 2017-08-03 22:09:32 -04:00
dongliangchu
dde2f076e0 update unit test for MultiBlock class 2017-08-03 22:00:43 -04:00
dongliangchu
781be38f76 update unit test for MultiBlock class 2017-08-03 21:55:17 -04:00
dongliangchu
dc9f8cac3f update unit test for MultiBlock class 2017-08-03 21:39:56 -04:00
dongliangchu
e2012925b8 update unit test for MultiBlock class 2017-08-03 17:46:37 -04:00
dongliangchu
83911d7ab8 update unit test for MultiBlock class 2017-08-03 16:40:18 -04:00
dongliangchu
78c40f8d91 update unit test for MultiBlock class 2017-08-03 16:24:44 -04:00
dongliangchu
5040c72dd3 update unit test for MultiBlock class 2017-08-03 16:18:59 -04:00
dongliangchu
235034c739 update unit test for MultiBlock class 2017-08-03 16:09:32 -04:00
dongliangchu
4c0071eeac update unit test for MultiBlock class 2017-08-03 16:03:13 -04:00
dongliangchu
a8650c9c4a update unit test for MultiBlock class 2017-08-03 15:51:53 -04:00
dongliangchu
2015387b9a update unit test for MultiBlock class 2017-08-03 15:43:12 -04:00
dongliangchu
106e351f3f update unit test for MultiBlock class 2017-08-03 15:40:32 -04:00
dongliangchu
028284d1c3 update unit test for MultiBlock class 2017-08-03 15:32:28 -04:00
dongliangchu
7b26c80d83 pull to keep up with the master branch 2017-08-03 13:35:42 -04:00
dongliangchu
f622e8a03c fix multiblock compiling macro issue 2017-08-03 12:21:37 -04:00
Thomas J. Otahal
347af49722 Poly Data for External Faces
The external faces filter and worklet now pass input
PolyData (0D, 1D, and 2D) cells to the output. The external
faces filter has a flag to control this output (PassPolyData).
Added tests to the external faces filter and worklet.
2017-08-03 09:19:22 -06:00
dongliangchu
5e8f76918f fix multiblock compiling macro issue 2017-08-02 16:02:37 -04:00
dongliangchu
6c953eccff fix multiblock compiling macro issue 2017-08-02 15:34:34 -04:00
Sujin Philip
6ce8218d09 Implement CellToPoint for CellSetPermutation 2017-08-02 15:19:06 -04:00
Sujin Philip
46aa74519a Fix CellSetExplicit CellToPoint
The computation of CellToPoint was not correctly handling the case where some
points are not part of any cell.
2017-08-02 15:19:06 -04:00
dongliangchu
73e3753d9e fix multiblock compiling macro issue 2017-08-02 15:18:55 -04:00
Allison Vacanti
84588c803f Add ArrayHandleExtractComponent.
This is part of #43, which will ultimately simplify the
ArrayHandleCompositeVector to a new implementation that can be easily
written to. Part of this effort will remove the ability to pull a single
component from a vector-typed input ArrayHandle for use in the
CompositeVector, and this new class makes sure we can still support that
usecase.
2017-08-02 12:22:08 -04:00
dongliangchu
e54196b4d2 fix multiblock compiling definition issue 2017-08-01 16:10:53 -04:00
dongliangchu
6257e284eb remove useless head file 2017-08-01 13:41:11 -04:00
dongliangchu
440a6be88e Expand MultiBlock Functionality 2017-07-20 15:11:12 -04:00
David C. Lonie
b2c3e41645 Refactor array transfer logic for basic storage.
The old templated array transfer mechanism generated a lot of code
that ended up doing a simple, type-agnostic memcpy for most devices.
This patch specialized array handles for basic storage and uses a
fast-path array transfer implementation. This reduces the size of the
vtkm_cont library by 27% on gcc (from 6.2MB to 4.5MB).
2017-06-29 13:18:44 -04:00
dongliangchu
b15aa10b73 Applying cell filter to multiblock data 2017-06-22 14:28:00 -04:00
dongliangchu
e9ab997939 Applying cell filter to multiblock data 2017-06-20 16:23:14 -04:00
dongliangchu
f382cdd5a6 worklet for multiblock data 2017-06-12 09:22:46 -04:00
Sujin Philip
c4e3102084 Simplify ArrayHandleImplicit template 2017-06-08 16:46:45 -04:00
Sujin Philip
6ce2a43d41 Simplify ArrayHandleTransform template 2017-06-08 16:46:45 -04:00
Sujin Philip
749c0c8920 Add Worklet and Filter for faceted surface normals 2017-06-08 09:37:12 -04:00
dongliangchu
add3299b61 Template function for applying filter to multiblock data 2017-06-01 16:43:40 -04:00
dongliangchu
14a7f22377 Template function for applying filter to multiblock data 2017-05-31 23:16:12 -04:00
dongliangchu
da097c6308 Template function for applying filter to multiblock data 2017-05-30 21:52:24 -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
Sujin Philip
3016c2d5f9 Merge topic 'fix-datasetbuilder'
5751ed7a Fix DataSetBuilder for Uniform and Rectilinear

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !781
2017-05-26 10:46:15 -04:00
Sujin Philip
5751ed7a13 Fix DataSetBuilder for Uniform and Rectilinear
Allow 1 and 2 dimensional data along any orthogonal plane/axis.
2017-05-25 17:07:14 -04:00
Li-Ta Lo
869c978976 Merge branch 'array_handle_reverse_write_2' of gitlab.kitware.com:ollielo/vtk-m into array_handle_reverse_write_2
Merged and resolved conflict after clang-format.
2017-05-25 11:14:39 -06:00
Li-Ta Lo
14592b8279 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into array_handle_reverse_write_2 2017-05-25 09:05:14 -06:00
Li-Ta Lo
1c50c86a2b remove commented out code to print values to stdout 2017-05-25 08:49:10 -06:00
Kitware Robot
4ade5f5770 clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
dongliangchu
c7769ba172 testing filter on multiblock 2017-05-24 18:54:56 -04:00
Li-Ta Lo
f64cb5efb4 Added test for using ArrayHandleReverse as output of ScanInclusiveByKey
Relexed the constrain for ArrayHandleReverse to allocate storage for the
underlying ArryaHandle
2017-05-24 16:02:46 -06:00
Li-Ta Lo
6054280431 fixed a typo and added write support for ArrayHandleReverse 2017-05-24 09:58:44 -06:00
dongliangchu
65a9bfc376 reorganizing multiblock test codes into two files 2017-05-22 16:34:22 -04:00
Kitware Robot
efbde1d54b clang-format: sort include directives 2017-05-18 12:59:33 -04:00
dongliangchu
315e50c42a fixing test error and applying worklet on multiblock 2017-05-17 14:34:55 -04:00
dongliangchu
0d71a72b69 fixing test error and applying worklet on multiblock 2017-05-17 14:32:46 -04:00
Sujin Philip
67febc27ad Add ImplicitFunction for Cylinder and Frustum 2017-05-16 09:38:28 -04:00
dongliangchu
faf6ee30af fixing test error 2017-05-11 16:16:45 -04:00
dongliangchu
9e8de89643 test on various dataset for multiblock class 2017-05-11 14:27:43 -04:00
dongliangchu
fb3bf2e296 Merge branch 'MultiBlock' of https://gitlab.kitware.com/dongliangchu/vtk-m into multiblock 2017-05-11 14:05:55 -04:00
dongliangchu
dffc1ac545 small tweak for multiblock class and its unit test 2017-05-11 11:05:47 -04:00
dongliangchu
d24e57aaac multiblock class and its unit test 2017-05-09 20:27:03 -04:00
Li-Ta Lo
cfea9b32d0 Merge topic 'array_handle_reverse'
5226fa8b add read only (for the moment) test and implementation of ArrayHandleReverse (a.k.a reverse iterator)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !763
2017-05-08 10:54:16 -04:00
Li-Ta Lo
5226fa8b53 add read only (for the moment) test and implementation of ArrayHandleReverse (a.k.a reverse iterator) 2017-05-05 13:45:23 -06:00
Robert Maynard
57ab48fe8e Replace occurrences of NULL with nullptr. 2017-05-04 10:50:57 -04:00
Sujin Philip
e9898cc5cf Merge topic 'virtual-methods'
4049b5b2 Add ClipWithImplicitFunction Filter
82d02e46 Modify ImplicitFunctions to use Virtual Methods
968960c1 Add Virtual Methods Framework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !750
2017-05-02 16:12:04 -04:00
Sujin Philip
82d02e46ef Modify ImplicitFunctions to use Virtual Methods 2017-05-01 16:55:59 -04:00
Sujin Philip
968960c1a1 Add Virtual Methods Framework 2017-05-01 16:51:42 -04:00
Robert Maynard
80b9d74a23 Merge topic 'embed_more_into_vtkm_cont'
ec6589d3 Only enable -fPIC on component static libraries when necessary.
cbfe5fdd Fix up various issues with ArrayHandles in vtkm_cont.
355eea88 Get the vtkm cont cuda object to compile properly.
6ecc22bb First pass at compiling ArrayHandle into vtkm_cont.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !715
2017-04-26 13:47:10 -04:00
Li-Ta Lo
5c735a385c this should resovle all the type conversion warnings 2017-04-25 10:12:11 -06:00
Li-Ta Lo
d8b02329c5 Merge branch 'scanbykey' of gitlab.kitware.com:ollielo/vtk-m into scanbykey 2017-04-20 15:13:05 -06:00
Li-Ta Lo
58ef7c8de0 one more attemp to get the data type right 2017-04-20 15:09:38 -06:00
Li-Ta Lo
22d0e35521 attempt to fix warning on type conversion 2017-04-20 10:22:43 -06:00
Li-Ta Lo
ded4583aca attempt to fix warning on type conversion 2017-04-20 08:54:09 -06:00
Li-Ta Lo
897b2f0f63 add tests for 1, 2 and ARRAY_SIZE elements for both ScanInclusiveByKey and ScanExclusiveByKey 2017-04-19 13:38:28 -06:00
Li-Ta Lo
c05a2c323e Merge branch 'scanbykey' of gitlab.kitware.com:ollielo/vtk-m into scanbykey 2017-04-18 16:13:51 -06:00
Li-Ta Lo
0e97fcb94f handle the case of 0 or 1 element in the input for ScanExclusiveByKey 2017-04-18 16:12:36 -06:00
Li-Ta Lo
bea8e85c47 handle the case of 0 or 1 element in the input for ScanExclusiveByKey 2017-04-18 13:26:15 -06:00
Li-Ta Lo
a205f21043 make ScanExclusiveByKey return void, rearrange parameter ordering 2017-04-17 16:11:02 -06:00
Li-Ta Lo
7023266585 add both generic and Thrust ScanExclusiveByKey 2017-04-17 15:03:49 -06:00
Li-Ta Lo
e77f9fac6a add CUDA implementation of ScanInclusiveByKey using Thrust library 2017-04-14 11:25:25 -06:00
Li-Ta Lo
da8a2315ce add wip for exclusive scan by key 2017-04-13 11:50:56 -06:00
David C. Lonie
cbfe5fddd9 Fix up various issues with ArrayHandles in vtkm_cont. 2017-04-05 15:45:11 -07:00
Li-Ta Lo
847c73b7d4 first attemp at segmented inclusive scan 2017-03-29 09:29:11 -06:00
Sujin Philip
566d70c450 Merge topic 'fix-windows_h-include-logic'
25f9f88f Fix windows.h include logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !722
2017-03-13 09:59:24 -04:00
Sujin Philip
25f9f88f3e Fix windows.h include logic
windows.h was only being included for MSVC, while in UnitTestTimer.cxx, the
Windows function Sleep was being called after check for _WIN32. This was
causing compilation failure in MINGW.

Fixes #122
2017-03-10 16:28:13 -05:00
Kenneth Moreland
6fdc7eb8c0 Add Field::GetRange and CoordinateSystem::GetBounds to library
Following what was done with ArrayRangeCompute, the GetRange and
GetBounds methods are embedded into the vtkm_cont library for the most
common type lists.

Also, and probably more importantly, the device adapter is no longer one
of the arguments for either of these methods. It is no longer needed as
ArrayRangeCompute no longer needs it.
2017-03-09 13:18:36 -05:00
Kenneth Moreland
c16236ce69 Use ArrayRangeCompute without specifying a device
Most uses of ArrayRangeCompute just want to get the range of the data
and probably don't have a particular device in mind. Thus, it is better
to use a TryExecute internally use whatever devices are available.

Note that when using TryExecute, the calling code is expected to be able
to support all devices. That might not always be the case. Thus, I am
experimenting a bit with how we incorporate this in a library. The
advantage of having the code compiled in a library is that you only have
to compile it once and the calling code does not need to worry about
CUDA, etc.

However, because ArrayRangeCompute is templated, we can only pre-compile
some subset of array handle types. The most common are compiled into the
code (matching all the predefined ArrayHandles as well as some special
cases). If the code wants to use some other type, it has to include
ArrayRangeCompute.hxx. The only place where this is necessary is a test
that intentially trys to find the range on an uncommon type.

If array portals were to support virtual methods, then we should be able
to modify this code so that we could precompile for all array handle
types.
2017-03-09 13:18:36 -05:00
Kenneth Moreland
8b33f2bc79 Fix device adapter algorithms for small arrays
There were some issues for device adapter algorithms (like scan and
reduce) for empty arrays or arrays of size 1. This adds tests for these
short arrays to the device adapter algorithm tests and fixes these
problems.
2017-03-08 19:05:28 -05:00
Sujin Philip
9eddce6c99 Rename StreamCompact to CopyIf
Plus, removes the version that uses one array as both input and stencil.
2017-03-06 11:08:27 -05:00
Sujin Philip
a88807fd7e Catch all exceptions by reference 2017-02-23 13:25:01 -05:00
David Lonie
a0016456cc Merge topic 'default_device_to_public_header'
7a41621d Move default device selection out of private headers.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !693
2017-02-17 08:26:01 -05:00
David C. Lonie
7a41621d82 Move default device selection out of private headers.
This will make the librarification of vtk-m easier as we tread that
path.

Refs #120.
2017-02-16 13:40:35 -05:00
Kenneth Moreland
c3a9a55307 Merge topic 'group-vec-variable-cont-portal'
17ed7a36 Remove typedef that is no longer used
364f4175 Only print cell arrays that are valid
5b8389f9 Use printSummary_ArrayHandle when testing fancy arrays
873ceefc Implement ArrayHandleGroupVecVariable::GetPortalConst

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !695
2017-02-16 12:43:32 -05:00
Kenneth Moreland
d339025a1b Merge topic 'external-face-more-generic'
dcbbb727 Merge branch 'master' into external-face-more-generic
0703139a Make Keys class do in-place sort
059c7f6d Fix issue with ExternalFaces on CellSetSingleType
876514ba Add better test for external faces
53679dfc Update ExternalFaces to support mixed face types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brent Lessley <blessley@cs.uoregon.edu>
Merge-request: !662
2017-02-16 10:28:56 -05:00
Kenneth Moreland
17ed7a3629 Remove typedef that is no longer used
It was a typedef for a Portal. Instead of setting the portal directly,
the portal is just sent to a function, so we don't directly use this
type anymore.

Not a big deal, but it could cause compiler warnings.
2017-02-15 16:59:54 -07:00
Kenneth Moreland
5b8389f955 Use printSummary_ArrayHandle when testing fancy arrays
This makes it easier to see what is going on in the fancy arrays and do
diagnostics.

This change required some changes to printSummary_ArrayHandle to support
more array types.
2017-02-15 14:34:17 -07:00
Kenneth Moreland
58bbeb183a Support using empty array handles as input
Previously if you constructed an array handle without allocating it, you
would get an error if you tried to use the array as input. This
conflicted with some recent changes to accept empty vectors.

Now when you try to use an unallocated ArrayHandle as input (calling
PrepareForInput or PrepareForInPlace), it internally calls Allocate(0)
(to establish internal state) and sets up a valid execution ArrayPortal
of size 0.
2017-02-14 15:27:34 -07:00
David Lonie
7c50b00263 Fix old exception name in ArrayHandleDiscard. 2017-02-09 11:59:49 -05:00
Kenneth Moreland
dcbbb72784 Merge branch 'master' into external-face-more-generic
Update exception methods to new names.
2017-02-08 17:10:17 -07:00
James Kress
a0b7cd2606 Merge topic 'DataSetAddUniform-test-enhance'
4fc6a6a4 Updating formatting and fixing compiler warnings
00b73b63 Updating formatting and fixing compiler warnings
eee9edde Updating formatting and fixing compiler warnings
6cac1843 Updating formatting and fixing compiler warnings
48d22460 Updating formatting and fixing compiler warnings
19b61a53 Merge branch 'master' into DataSetAddUniform-test-enhance
cefc333a Adding fields to data set builder unit tests to test fields.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !681
2017-02-08 10:19:14 -05:00
David Lonie
6f51bf18ef Merge topic '57-rename-exception-classes'
f601e38b Simplify exception hierarchy.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !683
2017-02-08 08:46:35 -05:00
David C. Lonie
17b2dd66c5 Add ArrayHandleDiscard for unused outputs.
ArrayHandleDiscard is intended to be used for worklets that produce
multiple output arrays when one or more outputs is not needed. It
does not allocate space for its data and the Set method is a no-op,
allowing the compiler to prune unnecessary instructions.
Reading from the array handle is not allowed.
2017-02-07 15:55:33 -05:00
David C. Lonie
f601e38ba8 Simplify exception hierarchy.
Remove the ErrorControl class such that all subclasses now inherit from
error. Renamed all exception classes via s/ErrorControl/Error/.

See issue #57.
2017-02-07 15:42:38 -05:00
James Kress
4fc6a6a4b9 Updating formatting and fixing compiler warnings 2017-02-07 13:02:27 -05:00
James Kress
00b73b63b2 Updating formatting and fixing compiler warnings 2017-02-07 11:52:53 -05:00
James Kress
eee9edde58 Updating formatting and fixing compiler warnings 2017-02-07 11:48:43 -05:00
James Kress
6cac18438d Updating formatting and fixing compiler warnings 2017-02-07 11:32:15 -05:00
James Kress
48d22460ee Updating formatting and fixing compiler warnings 2017-02-07 11:16:07 -05:00
James Kress
19b61a5367 Merge branch 'master' into DataSetAddUniform-test-enhance 2017-02-07 08:12:20 -05:00
James Kress
cefc333a99 Adding fields to data set builder unit tests to test fields. 2017-02-06 16:24:36 -05:00
Kenneth Moreland
629271bceb Make sure all ArrayPortals have a Set method.
The current design for ArrayPortalVirtual makes it a requirement for all
array portals (that it wraps) to have Set defined. Thus, make sure Set is
defined for all ArrayPortal. Where Set is invalid, an assert is thrown if
something calls it at runtime.
2017-01-31 15:46:39 -05:00
Kenneth Moreland
876514bab2 Add better test for external faces
Tests zoo cells with different face size. Also makes sure the surface is
exactly as expected.
2017-01-26 13:35:49 -07:00
Kenneth Moreland
503bebda54 Merge topic 'array-handle-zip-in-place'
4d1da547 Fix ArrayHandleZip::PrepareForInPlace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !660
2017-01-18 10:00:45 -05:00
Kenneth Moreland
4d1da5474a Fix ArrayHandleZip::PrepareForInPlace
The implementation was calling PrepareForOutput on the delegate arrays
rather than PrepareForInPlace, do when used with CUDA you did not get
the data on the device.

Also added a regression test to check this.
2017-01-17 15:33:18 -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
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
b3b5149b28 Use cont/testing/MakeTestDataSet.h and add contour tree tests.
Remove worklet/contourtree/PrintVectors.h from CMakeLists.txt.
2017-01-12 10:40:29 -07:00
Robert Maynard
79b74ccd3c Merge branch 'gcc6_warnings' into 'master'
Fix warnings on GCC6.

See merge request !656
2017-01-11 15:37:30 -05:00
Robert Maynard
9335e75e51 Fix casting warnings in TestingDeviceAdapter. 2017-01-11 09:47:24 -05:00
David C. Lonie
c928b14cfe Fix warnings on GCC6. 2017-01-10 14:22:22 -05:00
Patricia Kroll Fasel - 090207
62a1cceea6 Add file that creates test data sets and use that instead for contour tree. 2017-01-09 15:50:23 -07:00
Robert Maynard
ad28ccad5a Update the default ARRAY_SIZE in TestingDeviceAdapter.
This will expose bugs inside the tbb backend. We had to use heap allocations
for test arrays, instead of stack as the new array increases started to
cause stack overflow on windows.
2017-01-09 13:41:21 -05:00
Kenneth Moreland
a5817da438 Fix cow nose data set
It was not properly setting the number of points.
2016-12-19 17:59:16 -07:00
Kenneth Moreland
ce7d2190e4 Fix winding of hexahedrons
While writing a test I noticed that some of the MakeTestDataSet
hexahedrons had improper point ordering. It was close but backwards so
that all the faces pointed in instead of out.
2016-12-16 07:22:01 -07:00
Kenneth Moreland
22b3a4a72a Add a small test data set
This new explicit data set example is interesting in that it contains
several different cell types (one of every 3D cell shape currently
defined).
2016-12-15 16:04:38 -07:00
Robert Maynard
854e298be6 CellAverage filter now verifies the field is a point field. 2016-12-15 09:10:33 -05:00
Ben Boeckel
e06a998e5b Merge topic 'render_1D'
8a93ecc4 code alignment tweaks.
6fa448b5 Remove the 1D camera. 1D plots will use a 2D camera.
52aa9b9a Fix some compile errors.
23d8d585 Add explicit 1D rendering. Also added some data model suport.
db522c4c Add GetCanvas calls to the mapper classes.
87b1cdca cleanup. Remove some compiler warnings.
d38e6270 Support for 1D rendering.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !616
2016-12-09 09:34:11 -05:00
Robert Maynard
c6088fa539 Merge topic 'cellset_explicit_CellToPoint_constant_shape_storage'
80df037f CellSetExplicit Reverse Connectivity is abit more efficient.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !623
2016-12-02 15:30:01 -05:00
Robert Maynard
a74bab02f4 Merge topic 'allow_reduction_to_different_T_type'
b97b4cc7 Allow thrust::reduce to work when iterator and initial value types differ.
64bcc343 Refactor MinAndMax to use vtkm::Vec<T,2> instead of Pair.
8d60ed57 Refactor MinAndMax to be a shared binary operator.
18375b54 Update Bound computations to always use a single Reduce call
2cfc9743 Reduce can support reduce to a T type that isn't the arrayhandles T type.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !614
2016-12-01 07:56:30 -05:00
Robert Maynard
80df037f73 CellSetExplicit Reverse Connectivity is abit more efficient.
Both computing the reverse connectivity and also the total footprint are now
smaller.
2016-11-29 14:17:02 -05:00
Dave Pugmire
52aa9b9ad0 Fix some compile errors. 2016-11-29 09:33:46 -05:00
Dave Pugmire
23d8d585a0 Add explicit 1D rendering. Also added some data model suport. 2016-11-28 16:07:40 -05:00
Robert Maynard
6b1094c767 Consistently include windows.h by making a wrapper header.
We previously included windows.h in numerous locations using different
techniques to guard against bringing in parts of the file that are bad
(min/max macros, etc). This solves the problem by consistently using
vtkm/internal/Windows.h to setup everything.
2016-11-28 09:54:37 -05:00
Robert Maynard
64bcc34389 Refactor MinAndMax to use vtkm::Vec<T,2> instead of Pair.
The types are the same which makes Vec a more suitable container.
2016-11-25 13:11:19 -05:00
Robert Maynard
8d60ed57ad Refactor MinAndMax to be a shared binary operator. 2016-11-25 11:40:46 -05:00
Robert Maynard
18375b5424 Update Bound computations to always use a single Reduce call 2016-11-25 11:40:46 -05:00
Robert Maynard
2cfc9743e3 Reduce can support reduce to a T type that isn't the arrayhandles T type.
This has been done so that operations such as computing the Min/Max of
an array can be done in a single reduce step.
2016-11-25 11:40:46 -05:00
Dave Pugmire
d38e627057 Support for 1D rendering. 2016-11-23 10:48:22 -05:00
Kenneth Moreland
e43acbac28 Fix issue with private class in CUDA
CUDA has some strange rules about using private classes and anonymous
namespaces. For whatever reason, recent changes have introduced such an
issue. When compiling on CUDA, expose the problematic class. It is
testing code, so it does not matter much.
2016-11-22 17:31:50 -07:00
Kenneth Moreland
63c748f049 Implement ArrayHandleGroupVecVariable
This is a fancy array handle that can group entries in another array by
arbitrary amounts. This allows us to implement input and output arrays
with a different sized Vec for each instance. This is necessary for
generating new topologies with cells of different types.
2016-11-22 17:10:09 -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
cd842c696e fix warnings. 2016-11-04 15:28:48 -04:00
Dave Pugmire
dc547ec671 compiler warnings. 2016-11-04 08:32:46 -04:00
Dave Pugmire
3e306a9d7b compiler warnings... 2016-11-03 16:09:24 -04:00
Dave Pugmire
e1c659a4fb fix compiler warnings. 2016-11-03 15:15:40 -04:00
Robert Maynard
f31d6c2258 Refactor vtkm::Types to be concise and move math helpers out of internal.
I have verified that the optimized assembly for Vec<3> and Vec<4> are consistent
with what we generated before.
2016-10-28 14:57:16 -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
Dave Pugmire
827bf10795 compiler warnings. 2016-10-04 12:43:04 -04:00
Dave Pugmire
668e8115af Fix compiler warnings. 2016-10-04 11:59:00 -04:00
Robert Maynard
0f58d6fc54 Add vtkm/cont/serial directory for the serial backend. 2016-09-28 14:22:53 -04:00
Robert Maynard
80b220ff0d Remove boost::random usage from DataSetBuilder tests. 2016-09-28 10:54:04 -04:00
Dave Pugmire
7a2874cf44 Add 1D support for uniform and rectilinear data. 2016-09-23 09:00:40 -04:00
Robert Maynard
310f1bc0a5 Correct missing std::time includes that vtkm::Math was hiding. 2016-09-02 14:44:30 -04:00
Robert Maynard
f81c42b9b4 Replace NULL with nullptr where applicable. 2016-09-01 09:38:25 -04:00
Robert Maynard
12810165bb Switch over to c++11 type_traits. 2016-08-31 16:11:26 -04:00
Kenneth Moreland
40db6c1cd1 Merge branch 'faster-compile' into 'master'
Faster compile

Some small change to make modest improvements to the
compile time.

See merge request !520
2016-08-25 16:03:58 -04:00
Kenneth Moreland
8ac6ce4501 Add back a condition to zip array test with vec as first
In the test for the ArrayHandleZip fancy array handle, re-add a
condition where the first array being zipped is of type Vec.
2016-08-25 13:11:04 -06:00
Kenneth Moreland
f8442903d8 Replace TryAllTypes with trying exemplar tests
There were many tests that created code paths for every base and Vec
type that VTK-m supports (up to 4 components). Although this is
admirable, it is also excessive, and our compile times for the tests are
very long.

To shorten compile times, remove the TryAllTypes method. Replace it with
a version of TryTypes that uses a default list of "exemplar" set of
integers, floats, and Vecs.
2016-08-24 16:02:18 -06:00
Kenneth Moreland
fc0d804ad0 Reduce conditions to check in TestingFancyArrayHandles
By far the source file that was taking the longest to compile was that
for the fancy array handles. This is because this test was being
pedantic about all the different types it was testing. This change
should drastically reduce the types actually compiled for and,
therefore, also drastically reduce the compile time for this test.
2016-08-24 15:43:33 -06:00
Robert Maynard
51e50d2933 Add DeviceAdapter::CopySubRange to all device adapters.
This allows callers to copy a subsection of an array into another array,
without clearing the contents of the destination array if a resize
is required.
2016-08-24 15:42:51 -04:00
Robert Maynard
9712de8b24 Merge topic 'wavelets'
d677d0d1 small tweaks
816364d2 in an effort to get rid of a warning
778da350 In attempt to fix errors and warnings
bb450c51 fix a warning
49e56b61 two new wavelet filters, HAAR and CDF8/4 supported now
767356bc working on even length filters; need ASYM* support in Extend1D()
a6efad04 half done even length filters implementation
ee32ea4c took off timing code
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !482
2016-08-18 15:47:33 -04:00
Samuel Li
bb450c5156 fix a warning 2016-08-17 09:14:29 -07:00
Kenneth Moreland
dd2edcab6c Add general ability to try execution on multiple devices
There are various reasons why you might want to execute something but
not have a specific device to execute on. To mange this, add a general
function that will try a list of devices in order and attempt to run on
them in order.
2016-08-15 17:16:58 -06:00