Commit Graph

1029 Commits

Author SHA1 Message Date
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
Robert Maynard
ae9a8fd0a4 Fix CellSet* typeid to consistent across dynamic libraries.
Since we don't have explicit template instantiations for CellSetExplicit
and CellSetSingleType we need to mark them as being exported from all
libraries.
2017-03-01 17:12:46 -05:00
Sujin Philip
57f5881538 Merge topic 'use-c++11=delete'
8c4bbc39 Use C++11 =delete keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !708
2017-02-24 13:31:57 -05:00
Kenneth Moreland
3e77f4e18b Merge topic 'refactor-runtime-device-tracker'
18c4190d Update classes using RuntimeDeviceTracker
200928ef Add a global RuntimeDeviceTracker
a3573117 Compile RuntimeDeviceTracker.cxx with CUDA when appropriate
814b2db1 Add the implementation of RuntimeDeviceTracker to cont library
b9d3206e Move RuntimeDeviceTracker to vtkm::cont

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !707
2017-02-24 10:50:19 -05:00
Sujin Philip
8c4bbc39ad Use C++11 =delete keyword 2017-02-24 09:39:22 -05:00
David Lonie
69fe31005b Merge topic 'verbose_castandcall_errors'
7e34f861 Append newline to ArrayHandle summaries.
6f417a38 Add type information to array summaries and cast/call errors.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !705
2017-02-24 09:03:31 -05:00
Sujin Philip
e5bc34e9f5 Merge topic 'catch-by-reference'
a88807fd Catch all exceptions by reference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !704
2017-02-23 16:36:00 -05:00
Sujin Philip
a88807fd7e Catch all exceptions by reference 2017-02-23 13:25:01 -05:00
David C. Lonie
7e34f86115 Append newline to ArrayHandle summaries. 2017-02-23 12:48:32 -05:00
Kenneth Moreland
18c4190d85 Update classes using RuntimeDeviceTracker
They now grab the global runtime device tracker. In some cases, I've
added the ability to set/get the tracker to change it from the global.
In others I just removed the local copy, since it was just hooked into
the global tracker.
2017-02-23 09:54:41 -07:00
David C. Lonie
6f417a386b Add type information to array summaries and cast/call errors.
This isn't always the most human readable type info on some platforms,
but it does greatly assist in tracking down why a cast failed.
2017-02-23 11:20:45 -05:00
Kenneth Moreland
200928ef35 Add a global RuntimeDeviceTracker
Next up is using this by default pretty much everywhere you want to run
an algorithm but don't care on what device.
2017-02-23 09:19:13 -07:00
Kenneth Moreland
a3573117de Compile RuntimeDeviceTracker.cxx with CUDA when appropriate
The RuntimeDeviceTracker.cxx contains a library method that queries the
CUDA device, which only works if compiled as a CUDA source file.

This set up will allow code that is not compiled with CUDA use a
RuntimeDeviceTracker with other code that does use CUDA.
2017-02-22 16:18:23 -07:00
Kenneth Moreland
81f7ff2391 Make offsets for ArrayHandleGroupVecVariable always input
The offsets for an ArrayHandleGroupVecVariable are always inputs
and cannot be changed, even when the array handle is used as an output.
There was a mistake where the PrepareFor* methods tried to make
the offsets mutable. In the case of an output, the offsets were not
pushed to the execution environment, and the arrays could not be looked
up.
2017-02-22 15:44:06 -07:00
Kenneth Moreland
814b2db18c Add the implementation of RuntimeDeviceTracker to cont library
This allows code to include the RuntimeDeviceTracker without depending
on the device-specific adapters (I think).

Also changed the implementation to use a shared_ptr for the state so you
can pass it around and share the state easier.
2017-02-22 15:25:04 -07:00
Kenneth Moreland
b9d3206ea6 Move RuntimeDeviceTracker to vtkm::cont
Before it was in the vtkm::cont::internal namespace. However, we expect
to be using this feature quite a bit more as we want VTK-m to handle
multiple devices effectively (as in, just figure it out and go).
2017-02-22 13:33:52 -07:00
Kenneth Moreland
6089e7396e Match the two overload of ArrayRangeCompute
There are two versions of ArrayRangeCompute. The first version is a
general version that computes the min and max by running a reduction on
a device. The second version was a specialization for uniform grid
coordinate arrays, which is easily computed without looking at the
values.

The problem was that the generic version of ArrayRangeCompute took two
arguments and the specialization only took one argument (because it does
not need a device). This means that templated code uses the general
version will never use the specialized version. This fix adds a device
argument to the specialized version. The extra argument is not used, but
will properly overload the general version.
2017-02-21 16:22:53 -07: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
364f417529 Only print cell arrays that are valid
ConnectivityExplicitInternals::PrintSummary blindly attempted to print
all of its arrays regardless of whether they are valid. Trying to print
uninitialized arrays can be invalid in some circumstances. Instead,
check to see of the arrays are valid before printing them out. (This can
give you useful information anyway. There is a difference between an
uninitialized array and one of zero length.)
2017-02-15 15:07:50 -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
Robert Maynard
ca302128a9 Merge topic 'benchmarks'
fc68362d Build benchmarks even when testing is not enabled.
31e20859 Fix typo.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !696
2017-02-15 15:10:38 -05:00
Kenneth Moreland
873ceefc17 Implement ArrayHandleGroupVecVariable::GetPortalConst
Previously it was impossible to get an ArrayPortal from an
ArrayHandleGroupVecVariable on the control side (by calling GetPortal or
GetPortalConst). This makes it possible.
2017-02-15 08:26:53 -07:00
Kenneth Moreland
3834afdd43 Merge topic 'empty-array'
58bbeb18 Support using empty array handles as input
6d5de0c3 Change make_ArrayHandle work with empty std::vector

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !694
2017-02-15 10:23:26 -05:00
Robert Maynard
2600b3d890 Merge topic 'leverage_move_constructors'
94bd79b0 Leverage std::move to help FunctionInterface make less copies.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !691
2017-02-15 08:23:14 -05: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
Robert Maynard
94bd79b09c Leverage std::move to help FunctionInterface make less copies. 2017-02-14 17:02:32 -05:00
Kenneth Moreland
6d5de0c34b Change make_ArrayHandle work with empty std::vector
When make_ArrayHandle gets an std::vector, it converts it to an
ArrayHandle by getting a pointer to the vector's internal array.
However, when the vector is of size 0, there is no array and it is
invalid to get a pointer. Instead, make a special case for empty
vectors.
2017-02-14 14:49:41 -07:00
Tom Fogal
31e20859d4 Fix typo. 2017-02-14 10:29:00 -08:00
Robert Maynard
df437afbbf Remove an unnecessary copy of a string in ErrorExecution constructor 2017-02-14 13:11:27 -05:00
Li-Ta Lo - 194699
835073dae2 clean up with custom allocator 2017-02-13 11:45:17 -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
Robert Maynard
9148bea396 Corrects ignorable warnings with msvc and cuda enabled.
These constant value warnings are ignorable as we are trying
to throw an assert.
2017-02-02 10:09:34 -05:00
Robert Maynard
799277e515 Merge topic 'move_computerange_to_own_header'
3d2e15b4 Move ComputeRange for ArrayHandle to its own header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !677
2017-02-01 10:37:36 -05:00
Robert Maynard
e0fd5696a3 Merge topic '2-field_assoc_convenience'
5020a848 Add convenience getters for accessing field data by association.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !678
2017-02-01 09:08:54 -05:00
Robert Maynard
6e4e07b378 Merge topic 'all_array_portals_have_set'
629271bc Make sure all ArrayPortals have a Set method.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !676
2017-02-01 09:08:51 -05:00
Kenneth Moreland
3d2e15b4c0 Move ComputeRange for ArrayHandle to its own header
It will be convenient to make this accessible outside of Field.
2017-02-01 09:06:42 -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
David Lonie
49a88cda08 Merge topic '114-thrust-cudaMalloc'
575d74d1 Manage cuda device memory with cudaMalloc instead of thrust::vector.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !675
2017-01-31 14:56:02 -05:00
David C. Lonie
5020a8482f Add convenience getters for accessing field data by association. 2017-01-31 14:50:52 -05:00
David C. Lonie
575d74d143 Manage cuda device memory with cudaMalloc instead of thrust::vector. 2017-01-30 15:36:37 -05:00
Robert Maynard
dc143e7d9e Fix issues found on dashboard machines. 2017-01-27 15:22:34 -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
Robert Maynard
d0eb528aaf Merge branch 'reduce_amount_of_weak_vtables' into 'master'
Reduce amount of weak vtables

See merge request !612
2017-01-23 08:47:54 -05:00
Kenneth Moreland
28b866920f Merge branch 'reduce-by-key-worklet' into 'master'
Reduce by Key Worklet Type

See merge request !645
2017-01-19 16:25:06 -05:00
Robert Maynard
2dc23cf1a8 Correct compilation errors on Windows with CUDA. 2017-01-19 14:02:35 -05:00
Christopher Sewell
82c40a6374 First support for unified memory 2017-01-18 11:43: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
72b85559c2 Add ReducedValues[In][Out] tags to WorkletReduceByKey 2017-01-17 15:53:13 -07:00
Kenneth Moreland
add10f56cf Add Value[In][Out] tags for WorkletReduceByKey
This lets you give arrays of values paired with the keys that will be
grouped into (hopefully) small Vecs.
2017-01-17 15:53:08 -07:00
Kenneth Moreland
58eb8f168d Add WorkletReduceByKey and dispatcher
And the basic type for a reduce by key worklet and its associated
adapter. Right now the worklet only supports passing in keys. Values
come next.
2017-01-17 15:53:06 -07: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
Robert Maynard
a6bd3a22e0 Make sure all custom storage containers are exported. 2017-01-16 09:17:38 -05:00
Robert Maynard
bd1ff7a5ac Allow vtkm errors to properly work with shared libraries. 2017-01-16 09:17:38 -05:00
Robert Maynard
5921c8d9b8 vtkm_cont now contains explicit instantiations of common StorageBasic types. 2017-01-16 09:17:38 -05:00
Robert Maynard
0a34a4027c vtkm_cont now contains explicit instantiations of common ArrayHandles.
To help reduce compile and library size the vtkm_cont library now holds
common instantiations.
2017-01-16 09:17:38 -05:00
Robert Maynard
3c07c77fa7 Introduce vtkm_cont library to reduce weak vtable creation.
This reduces the number of weak vtables vtkm generates, resulting in
a reduction of binary sizes for projects that include vtkm classes in
multiple translation units.
2017-01-16 09:17:38 -05:00
Robert Maynard
d8d6fd1741 StorageTags are now always exported to resolve future dynamic_cast issues.
Class that need to be passed across dynamic library boundaries such as
DynamicArrayHandle need to be properly export. One of 'tricks' of this
is that templated classes such as PolymorphicArrayHandleContainer need
the Type and Storage types to have public visibility.

This makes sure that all vtkm storage tags have public visibility so
in the future we can transfer dynamic array handles across libraries.
2017-01-16 09:17:38 -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
be1e6588c1 Merge topic 'correct_exclusive_scan_tbb_2017'
35585f39 Correct a bug in tbb scan exclusive that was found using tbb 2017.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !652
2017-01-12 11:25:34 -05: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
David Lonie
a771c72c84 Merge topic 'exception_hierarchy'
4a9b8b6f Inherit std::exception in vtkm::cont::Error.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !655
2017-01-11 15:28:14 -05:00
Robert Maynard
35585f39ba Correct a bug in tbb scan exclusive that was found using tbb 2017. 2017-01-11 14:10:49 -05:00
Robert Maynard
69006fba60 Merge topic 'TestingDeviceAdapter_warnings'
9335e75e Fix casting warnings in TestingDeviceAdapter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !659
2017-01-11 10:50:41 -05:00
Kenneth Moreland
5e752a2396 Merge topic 'warnings-compiling-with-vtk'
f23ff9fa Fix warnings about assignment operators not being generated
7ec8c034 Remove warning about constant conditional in VTKM_ASSUME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !657
2017-01-11 10:46:57 -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
Kenneth Moreland
f23ff9fa49 Fix warnings about assignment operators not being generated
For some reason when VTK-m was being compiled as an accelerator in VTK,
Visual Studio 2013 gave a bunch of warnings about not being able to generate
assignment operators for many classes. This happened for classes with a
const ivar that could not be automatically set. (Automatic copy constructors
are fine on this count.) I'm not sure why these warnings did not happen
when just compiling VTK-m, nor am I sure why they were generated at all as
no code actually used the copy constructors.

This commit fixes the problems by adding a private declaration for assignment
operators that cannot be automatically created. No implementation is
provided, nor should any be needed.
2017-01-10 11:10:38 -07:00
Kenneth Moreland
7ec8c03489 Remove warning about constant conditional in VTKM_ASSUME
It is common practice to swallow a semicolon in a macro using a do/
while(false) loop that only executes once. However, the Visual Studio
2013 compiler was stupidly warning about having a constant expression
for the loop. Get around the problem by creating our own swallow
semicolon macros that disable this warning as necessary.
2017-01-10 10:40:17 -07:00
David C. Lonie
4a9b8b6f77 Inherit std::exception in vtkm::cont::Error.
Fixes #58.
2017-01-10 12:23:42 -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
Robert Maynard
589285eb5e Merge topic 'correct_reduce_tbb'
a339f3ac Had to rewrite tbb reduce to correct all the problems.
0120157e Correct tbb reduction algorithm to be correct when using multiple threads.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !654
2017-01-05 09:25:23 -05:00
Robert Maynard
a339f3ac0e Had to rewrite tbb reduce to correct all the problems.
The previous implementation(s) didn't properly handle non identity
initial values properly.
2017-01-04 17:27:21 -05:00
Robert Maynard
0120157e2e Correct tbb reduction algorithm to be correct when using multiple threads. 2017-01-04 13:43:55 -05:00
Robert Maynard
137dffb4a1 CellSetPermutation copy constructor to suppress cuda warnings.
Without an explicit copy constructor when cuda is used it generates a
copy constructor which is marked up as host/device and than emits warnings.
2017-01-02 11:29:32 -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
9ea10317d9 Add passing input domain to transport operator
Previously, the operator for a Transport class took the object being
transported to the execution environment and the size of the output
domain. This change also passes in the control-side argument for the
input domain. This will help check input array sizes as well as make
other potential transformations based on the input domain.
2016-12-19 17:03:15 -07:00
Kenneth Moreland
1c3f1694ea Remove ambiguous CellSetExplicit constructor
CellSetExplicit had a constructor that took a single argument that is
the number of points in the data and another constructor that had two
arguments of the number of points and the name. The problem was that the
latter constructor had a default argument for the second argument. Thus,
if you tried to construct a CellSetExplicit with just the number of
points, it would fail to compile because the compiler would not know
which constructor to use.

Fix the issue by removing the single argument constructor.
2016-12-16 08:41:13 -07:00
Kenneth Moreland
4dd16c5bcb Merge topic 'check-cuda-errors'
98c8cb86 Do not attempt to execute CUDA kernels with no blocks
fda3ec71 Don't call std functions in math nonfinte functions for CUDA
55c159d6 Check error codes from CUDA functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !632
2016-12-16 10:27:06 -05: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
Kenneth Moreland
98c8cb8657 Do not attempt to execute CUDA kernels with no blocks
I noticed that when I attempted to execute a CUDA kernel with 0 blocks,
it generated a CUDA error. The error did not really matter since nothing
was really supposed to run anyway. However, once we are careful about
checking CUDA errors, it will cause test failures and likely other
misdiagnoses.
2016-12-15 11:33:48 -07:00