Commit Graph

1761 Commits

Author SHA1 Message Date
Jeremy Meredith
1608495f1c refactoring render surfaces to unify duplicate code. 2016-05-18 14:34:10 -04:00
Jeremy Meredith
6c9a7adaa7 Merge branch 'annot2' into 'master'
annotations

Additional rendering support including 2D, 3D axes and GLUT.

See merge request !414
2016-05-17 11:02:46 -04:00
Jeremy Meredith
9e53753c98 Merge branch 'master' into annot2 2016-05-16 16:54:45 -04:00
Jeremy Meredith
f5c8cbdfb6 Merge branch 'cellsetdim' into 'master'
remove cell set dimensionality

Removing cell set dimensionality.
Also splitting triangulate functionality from tetrahedralizer into its own worklet.


See merge request !413
2016-05-16 11:00:15 -04:00
Jeremy Meredith
d560cf1d85 Merge branch 'master' into cellsetdim 2016-05-13 14:53:08 -04:00
Jeremy Meredith
514d32107a Merge branch 'master' into annot2 2016-05-13 14:39:04 -04:00
Jeremy Meredith
0c18278028 removing cell set dimensionality and splitting tetrahedralizer. 2016-05-13 14:26:59 -04:00
Jeremy Meredith
9f7525ae03 removing header files 2016-05-13 14:24:06 -04:00
Robert Maynard
90d3ad0efa Merge topic 'resolve_dejagore_maxwell_issues'
780cef61 Bump up the CUDA timeout as some of our Maxwell machines are timing out.
e5c3f9c4 Solve reduce by key bugs with cuda 7.5 + maxwell hardware.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !411
2016-05-12 16:33:06 -04:00
Robert Maynard
780cef619c Bump up the CUDA timeout as some of our Maxwell machines are timing out. 2016-05-12 15:46:42 -04:00
Robert Maynard
e5c3f9c42d Solve reduce by key bugs with cuda 7.5 + maxwell hardware.
The concern is now all architectures are doing a hardware sync on reduce_by_key.
This isn't a super serious concern, but it is a downside.
2016-05-12 13:24:59 -04:00
Robert Maynard
60b78007c2 Merge topic 'style_fixes'
49ede2a5 Remove unneeded debugging message from VTKmMacros.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !412
2016-05-12 11:01:44 -04:00
Robert Maynard
49ede2a547 Remove unneeded debugging message from VTKmMacros. 2016-05-12 10:12:30 -04:00
Jeremy Meredith
9e3484dcde Merge branch 'annot2' of gitlab.kitware.com:jsmeredith/vtk-m into annot2 2016-05-09 16:32:44 -04:00
Jeremy Meredith
790844472d adding 2d annotations and fixing a viewport bug 2016-05-09 16:32:27 -04:00
Kenneth Moreland
c2dcd1df2f Merge branch 'filter-interface-changes' into 'master'
Filter interface changes

These changes make the filter classes more consistent with the VTK-m
coding standards as well as adding some simplification for users.

These changes fix issues #59, #60, #61, and #62.

See merge request !410
2016-05-08 14:23:52 -04:00
Kenneth Moreland
b446abba37 Update examples to filter interface changes. 2016-05-06 15:03:50 -06:00
Kenneth Moreland
eecbb30d96 Make sure all field filters specify a default name for their fields
If the user does not specify a name for the output field in a filter, that
filter should provide some default name. Having blank names for fields is
not a great idea. (In fact, an earlier commit added an assert to make
sure that a ResultField is given a non-empty name.)

This covers issue #61.
2016-05-05 15:27:32 -06:00
Kenneth Moreland
f4362a4902 Give result classes their own header file.
VTK-m style guidelines dictate that all classes part of the API should
be in their own header file. Thus, we have moved the result classes out
of the filter header files and into their own headers.

We have also renamed these clases to ResultField and ResultDataSet to
better match the class naming conventions of VTK-m.

Since we are moving around these result classes, we have also revamped
their structure. They are now in a hierarchy with a common ResultBase
class. Additionally, all result classes have a reference to a complete
DataSet that can be considered the output of the filter. This will make
it easier for users to consistently deal with filter results.

These changes cover issues #60 and #62.
2016-05-05 15:07:55 -06:00
Kenneth Moreland
82949e79cc List template sources in IDE
I like to have all the source files used in VTK-m to be explicitly
declared as source files in CMake so that when CMake builds a project file
for an IDE, all the source files are shown and monitored by the IDE. This
makes working with the files much easier.
2016-05-05 13:00:12 -06:00
Kenneth Moreland
e8d3eda84d Rename filter base classes to follow VTK-m naming convention
The base classes for all the filters are named with 'Filter' at the end.
Generally the convention in VTK-m is to place the most general
descriptor (in this case Filter) first, which makes it easier to find
items in ordered lists.

This commit resolves issue #59.
2016-05-05 12:43:28 -06:00
Dave Pugmire
72673ed952 Add glut-based rendering example.
Added a GL-based render surface.
2016-05-05 13:26:39 -04:00
Robert Maynard
5502db999b Merge topic 'faster_compile_times'
90099d1c Simplify ThreadIndicies so link time is reduced.
08b888f7 Improve the compile speed and binary output by tweaking FunctionInterface.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !400
2016-05-04 16:34:49 -04:00
Robert Maynard
90099d1c55 Simplify ThreadIndicies so link time is reduced.
ThreadIndicies constructor was templated on the invocation type, which created
thousand's of versions of that symbol which all had the same behavior. So now
remove that and move that logic into a Worklet function since it requires
the invocation info.
2016-05-04 14:48:42 -04:00
Robert Maynard
08b888f703 Improve the compile speed and binary output by tweaking FunctionInterface. 2016-05-04 14:48:42 -04:00
Kenneth Moreland
ab765be785 Merge branch 'msvc-warnings' into 'master'
Fix MSVC Warnings

Fix some warnings that were happening with the MSVC compiler.

See merge request !409
2016-05-04 13:53:39 -04:00
Robert Maynard
772e34559e Merge topic 'simplify_benchmark_code'
19a941cc It is now easier to use the device adapter benchmark code.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !408
2016-05-04 13:52:10 -04:00
Robert Maynard
fbfd01a9bd Merge topic 'radix'
eeae5c13 Adding fast path for radix sort sort_by_key

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !407
2016-05-04 13:51:34 -04:00
Robert Maynard
90c664bcaf Merge topic 'uninitialized_warnings_vtkm_assume'
e5d30951 Solve the ParametricCoordinates issue by using VTKM_ASSUME.
1596f403 Silence maybe-uninitialized warnings from ParametricCoordinates.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !406
2016-05-04 13:43:51 -04:00
Kenneth Moreland
2da22e612a Merge branch 'fix_splatter' into 'master'
Fix compilation after change to IdCountingType

This has been merged into the hpx branch, but should ideally be a separate merge request

See merge request !404
2016-05-04 13:36:40 -04:00
Kenneth Moreland
e27e955931 Turn off warning for fill_n on MSVC
MSVC has a warning for using "unsafe" algorithms such as fill_n that can
easily overrun the end of unchecked pointers. The problem is that there
are lots of valid uses of these algorithms, and the signal that this is
a valid use is MSVC-specific. Even less fortunate is the fact that if
another header violates the warning, it is impossible to suppress it
because it happens in a system header file (xutility), which was included
far before the actual offending code occured. Even less fortunate than
that, a boost header we (indirectly) use sets off this warning, cannot
be suppressed, and is not going to be fixed
(https://svn.boost.org/trac/boost/ticket/11426). The best solution is to
turn off this problematic warning for everybody.
2016-05-04 07:58:25 -06:00
Kenneth Moreland
0af7188708 Remove warning about loss of precision. 2016-05-03 16:13:09 -06:00
Robert Maynard
19a941cc6e It is now easier to use the device adapter benchmark code.
For example to now benchmark only the sortbykey algorithm

  ./bin/BenchmarkDeviceAdapter_TBB sortbykey
2016-05-03 15:53:09 -04:00
Matt Larsen
eeae5c1352 Adding fast path for radix sort sort_by_key 2016-05-03 08:53:42 -07:00
Robert Maynard
e5d3095102 Solve the ParametricCoordinates issue by using VTKM_ASSUME. 2016-04-28 11:15:43 -04:00
Robert Maynard
1596f403ef Silence maybe-uninitialized warnings from ParametricCoordinates.h 2016-04-27 13:11:21 -04:00
Robert Maynard
d22c7794f8 Merge topic 'windows_long_symbol_warning_suppression'
6154e19a Explicitly disable warning C4503 when building with MSVC.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !401
2016-04-26 21:31:48 -04:00
Robert Maynard
6154e19a66 Explicitly disable warning C4503 when building with MSVC. 2016-04-26 12:43:22 -04:00
John Biddiscombe
2cadb8ee62 Fix compilation after change to IdCountingType 2016-04-24 17:12:02 +02:00
Kenneth Moreland
16b71c21bb Merge branch 'assert-redux' into 'master'
Unify assert mechanism

It has been decided that an assert that throws an exception instead of
terminating the program is not all that great of a feature and it causes
some limitations on how it is used. Instead, the two different types
of assert have been replaced with a single version that behaves like
the POSIX version.

See merge request !402
2016-04-21 15:00:51 -04:00
Kenneth Moreland
b20c4fc8ef Fix test that fails during optimization.
After the most recent changes, I noticed that the matrix unit test
started failing for some optimized compiles. I'm not sure if it was
these changes or others. What I think happened is that it was a check
for a Matrix operation that should be invalid. It checked the valid flag
without checking the data (which, of course, is invalid). However, I
think the optimizer saw that the data generated was never used so
removed that part of the computation so the invalid flag was never set.
Add a condition that uses the result even though it should never be
called to hopefully force the compiler to compute it.
2016-04-21 11:02:45 -06:00
Kenneth Moreland
b87cac7492 Fix warnings about unused parameters. 2016-04-21 09:32:02 -06:00
Kenneth Moreland
860649acf6 Fix error about redefinition of GetMessageA or GetMessageB
If Error.h was loaded before windows.h on windows compilers, then it
happily defined GetMessage and then GetMessageA and GetMessageB. However,
if the load order was reversed, then GetMessage is a macro that changes
it to GetMessageA or GetMessageB and you get an error about the same
method being declared twice.

Get around the problem by not defining GetMessage if it is already
declared as a macro.
2016-04-21 08:23:34 -06:00
Kenneth Moreland
cc497e6a1b Remove cont/Assert.h and exec/Assert.h
These asserts are consolidated into the unified Assert.h. Also made some
minor edits to add asserts where appropriate and a little bit of
reconfiguring as found.
2016-04-20 15:41:14 -06:00
Kenneth Moreland
2ddad8bcc5 Add POSIX assert wrapper
Add in the vtkm namespace an assert macro (technically VTKM_ASSERT) that
basically replicates the functionality of the POSIX assert macro. This
form of assert is set to replace the separate control/exection asserts.

It has been decided that an assert that throws an exception instead of
terminating the program is not all that great of a feature and it causes
some limitations on how it is used. The next commit will remove the
other forms of VTK-m assert.
2016-04-20 14:19:22 -06:00
Kenneth Moreland
eede71f918 Merge branch 'fix-vector-analysis-failure' into 'master'
Fix issues with UnitTestVectorAnalysis for MSVC.

We have been having a problem with one of the MSVC dashboards failing
the UnitTestVectorAnalysis test. The test just dies in the middle with
no indication of what problematic thing was run.

After playing with this for quite a while, I found that it could by
triggered exclusively in the Lerp test. I further found that if I
switched the order of the test and check Lerp the test worked. This is
strange behavior and leads me to believe one of the following is going
on:

1. There is an error such as an invalid memory access happening in
the VTK-m code that is sometimes corrupting the stack.
2. Somewhere there is an expression that has undefined behavior. Usually
it works OK, but some optimization sequence causes it to fail.
3. There is a bug in one of the compiler's optimizations.

It concerns me that I cannot identify exactly where the problem lies.
I've looked very hard at the vtkm::Vec and vtkm::Lerp code to try to find
possible problems, but I have not been able to find anything.

See merge request !399
2016-04-20 12:05:31 -04:00
Jeremy Meredith
7603b638d9 adding 3d axes 2016-04-19 17:04:00 -04:00
Kenneth Moreland
0efd08d3ef Merge branch 'move-newtons-method' into 'master'
Move NewtonsMethod to the vtkm package

All the other math functions are in the vtkm package. This one was in
vtkm::exec because it uses a callback method. This can be problematic on
CUDA the the declaration of NewtonsMethod does not match the callback
method. However, we now have a VTKM_SUPPRESS_EXEC_WARNINGS macro that
allows a VTKM_EXEC_CONT_EXPORT function (like NewtonsMethod) to call
either a VTKM_EXEC_EXPORT or VTKM_CONT_EXPORT without a warning.

See merge request !398
2016-04-19 16:50:17 -04:00
Kenneth Moreland
7e1b9b8886 Fix issues with UnitTestVectorAnalysis for MSVC.
We have been having a problem with one of the MSVC dashboards failing
the UnitTestVectorAnalysis test. The test just dies in the middle with
no indication of what problematic thing was run.

After playing with this for quite a while, I found that it could by
triggered exclusively in the Lerp test. I further found that if I
switched the order of the test and check Lerp the test worked. This is
strange behavior and leads me to believe one of the following is going
on:

1. There is an error such as an invalid memory access happening in
the VTK-m code that is sometimes corrupting the stack.
2. Somewhere there is an expression that has undefined behavior. Usually
it works OK, but some optimization sequence causes it to fail.
3. There is a bug in one of the compiler's optimizations.

It concerns me that I cannot identify exactly where the problem lies.
I've looked very hard at the vtkm::Vec and vtkm::Lerp code to try to find
possible problems, but I have not been able to find anything.
2016-04-19 14:39:16 -06:00
Dave Pugmire
a28c22e031 remove some unused code. 2016-04-19 09:42:12 -04:00