Commit Graph

649 Commits

Author SHA1 Message Date
Sujin Philip
1a9e8d1e3d Initial support for generating documentation using Doxygen 2015-07-17 15:35:59 -04:00
Robert Maynard
74377ecc92 Merge branch 'simplify_cuda_iterator_detection' into 'master'
Simplify cuda iterator detection

See merge request !83
2015-07-16 14:19:59 -04:00
Robert Maynard
bde08f77cf Merge branch 'refactor_cmake_macros' into 'master'
Refactor cmake macros

See merge request !86
2015-07-16 13:20:55 -04:00
Robert Maynard
cc94027c4b Correct logic bug in setting the NVCC flags inside a function. 2015-07-16 10:19:34 -04:00
Robert Maynard
a4be794a33 More refactoring to simplify the msvc exceptions in VTKmMacros. 2015-07-15 15:52:54 -04:00
Robert Maynard
7bab948682 Refactor common nvcc flag code to only exist in a single place. 2015-07-15 15:45:05 -04:00
Robert Maynard
1c1bee0dd6 Merge branch 'cuda_needs_to_generate_with_bigobj_support' into 'master'
Make sure nvcc compiles with bigobj on windows.

This required as the testing infrastructure creates thousands of symbol
entries, and the default for VisualStudio is crazy small.

See merge request !85
2015-07-15 14:36:36 -04:00
Robert Maynard
e6dd564d92 Make sure nvcc compiles with bigobj on windows.
This required as the testing infrastructure creates thousands of symbol
entries, and the default for VisualStudio is crazy small.
2015-07-15 12:42:47 -04:00
Robert Maynard
d22100f06a Merge branch 'windows_tbb_min_max_macro_issue' into 'master'
Windows tbb min max macro issue

See merge request !84
2015-07-15 11:12:35 -04:00
Robert Maynard
765cc36ba5 Guard against tbb including windows.h in a damaging fashion.
tbb includes windows.h, and doesn't use the NOMINMAX so we need to do
that ourselves so that we can use std::min/max and limits<T>::min/max.

At the same we also define WIN32_LEAN_AND_MEAN so that the total number of
macros that windows.h defines is reduced.
2015-07-15 09:51:46 -04:00
Robert Maynard
4af01d305e Explicitly check against NULL to reduce windows warnings. 2015-07-15 09:48:51 -04:00
Robert Maynard
b40db1db1f Cleanup the code to make it easier to read. 2015-07-15 09:48:37 -04:00
Sujin Philip
d5fe8ce046 Merge branch 'micro-benchmarks' into 'master'
Adding micro benchmark suite

This is an initial go at putting together a small micro-benchmarks suite to compare the performance of the backends and the performance of changes to them (eg. track improvements/regressions). The benchmark suite is configured and built almost identically to how the tests are setup, for example the vtkm_save_benchmarks and vtkm_benchmarks are essentially just vtkm_save_worklets and vtkm_worklet_unit_tests. However the benchmarks aren't actually added to the list of tests so they won't run with make test and can be run seperately if desired. They'll also only be built if VTKm_ENABLE_BENCHMARKS and VTKm_ENABLE_TESTING are on.

I'm curious what folks think about these benchmarks, do they measure useful things? Does the test data look ok? Is it worth it to run all the various data sets for sort? Any other comments are great as well of course.

Thank you!

See merge request !71
2015-07-14 13:04:09 -04:00
Robert Maynard
75d11f66cf Merge branch 'add_compositevector_to_fancy_test' into 'master'
Verify ArrayHandleCompositeVector can be used on with each device adapter.

See merge request !82
2015-07-14 10:53:08 -04:00
Robert Maynard
5ec088e916 Remove IteratorType from ArrayHandlePermutation. 2015-07-14 10:11:27 -04:00
Robert Maynard
e74ded809a Defer more thrust iterator deduction logic to ArrayPortalToIterators. 2015-07-14 10:11:12 -04:00
Sujin Philip
8ce6a1ec41 Merge branch 'cleanup-Field' into 'master'
Cleanup vtkm::cont::Field

See merge request !81
2015-07-13 17:33:49 -04:00
Robert Maynard
4ba1f7c853 Remove the need for any portal to define an IteratorType. 2015-07-13 17:16:27 -04:00
Sujin Philip
1b74eb6073 Add all data members to vtkm::cont::Field constructors' initializer lists 2015-07-13 17:14:57 -04:00
Sujin Philip
c95f265ec0 Make vtkm::cont::Field class const correct 2015-07-13 16:20:39 -04:00
Sujin Philip
9f1f1727a4 Consturct Field from given DynamicArrayHandle
Add un-templated contructors to Field that construct a Field from the given DynamicArrayHandle, without knowing the underlying type.
2015-07-13 15:50:07 -04:00
Sujin Philip
9a20b9e4b7 Changes to follow VTK-m coding conventions 2015-07-13 15:43:48 -04:00
Robert Maynard
c6c072fac1 Verify ArrayHandleCompositeVector can be used on with each device adapter. 2015-07-13 13:01:41 -04:00
Robert Maynard
882221a79c Merge branch 'MeshSimplifyOptimize' into 'master'
Mesh simplify optimization

See merge request !63
2015-07-13 12:47:39 -04:00
Robert Maynard
eb131c8a27 Merge branch 'tbb_blocked_ranges' into 'master'
Up the default tbb grain size, and use the grain size everywhere.

See merge request !79
2015-07-09 17:01:29 -04:00
Will Usher
238d4fa759 Adding micro benchmark suite 2015-07-09 13:56:06 -06:00
Robert Maynard
c28ca7aa41 Up the default tbb grain size, and use the grain size everywhere. 2015-07-09 15:51:29 -04:00
Robert Maynard
2f0205f421 Merge branch 'fix-upper-bounds-out-type' into 'master'
Correct type for the output portal in DeviceAdapterAlgorithmGeneral::UpperBounds

It looks like the type here was accidently written as a `ArrayHandle<T, COut>` when it should (I think) be `ArrayHandle<vtkm::Id, COut>`. I Encountered this causing a compilation error when trying to run some
benchmarks with FloatDefault input and values since it was using the
wrong type for some iterators if I recall correctly and couldn't cast to the vtkm::Id
type. This should fix that by using the correct type for the output
portal.

See merge request !75
2015-07-09 08:40:57 -04:00
Robert Maynard
4c6462e0ab Merge branch 'array-handle-print' into 'master'
Storage template parameter for ArrayHandle print function

Added an additional storage type template parameter.  This addition enables any subclass of ArrayHandle (e.g., ArrayHandleCounting) to have proper printing functionality, without compilation errors.

See merge request !77
2015-07-09 08:33:32 -04:00
Brent Lessley
b8381a1e6b Added an additional storage type template parameter. This addition enables any subclass of ArrayHandle (e.g., ArrayHandleCounting) to have proper printing functionality, without compilation errors. 2015-07-08 19:49:35 -07:00
Kenneth Moreland
d6169e0bb5 Merge branch 'dynamic-array-get-number-of-components' into 'master'
Add data size introspection to DynamicArrayHandle.

Sometimes it is useful to know how big an array held in a
DynamicArrayHandle is. This adds two methods to DynamicArrayHandle:
GetNumberOfValues and GetNumberOfComponents. They allow you to query the
size of the array without having to statically cast to the array itself.

See merge request !76
2015-07-08 17:02:09 -04:00
Kenneth Moreland
a7a8248cfb Add data size introspection to DynamicArrayHandle.
Sometimes it is useful to know how big an array held in a
DynamicArrayHandle is. This adds two methods to DynamicArrayHandle:
GetNumberOfValues and GetNumberOfComponents. They allow you to query the
size of the array without having to statically cast to the array itself.
2015-07-08 14:09:36 -06:00
Will Usher
a6078a6413 It looks like the type here should actually be vtkm::Id
Encountered this causing a compilation error when trying to run some
benchmarks with FloatDefault input and values since it was using the
wrong type for some iterators iirc and couldn't cast to the vtkm::Id
type. This should fix that by using the correct type for the output
portal.
2015-07-08 14:01:30 -06:00
Robert Maynard
faba821809 Merge branch 'remove_unneeded_helpers' into 'master'
Remove unneeded helpers from the TestingDeviceAdapter.

See merge request !74
2015-07-08 12:34:38 -04:00
Robert Maynard
ffa1e4ed50 Remove unneeded helpers from the TestingDeviceAdapter. 2015-07-08 10:58:20 -04:00
Chun-Ming Chen
a6a29158da Member variables should start with an uppercase letter 2015-07-08 10:00:48 -04:00
Kenneth Moreland
79960e8383 Merge branch 'vector-analysis' into 'master'
Vector Analysis

Add basic vector analysis methods.

See merge request !73
2015-07-07 17:38:48 -04:00
Kenneth Moreland
3350c0da38 Add basic vector analysis methods. 2015-07-07 14:25:58 -06:00
Kenneth Moreland
d0508264fa Fix typo TypeTraitsUnkownTag -> TypeTraitsUnknownTag
There was a simple typo in the tag. Since the tag is basically a
placeholder for an invalid value, the typo was missed.
2015-07-07 10:23:10 -06:00
Kenneth Moreland
f69b6f0a6a Merge branch 'msvc-warnings' into 'master'
Remove cast warnings in UnitTestMatrix.

Unlike most compilers, MSVC will give conversion warnings when
implicitly converting a 32-bit int to a 32-bit float because the
mantissa can potentially drop some of the lower order bits of large
ints. Use static casts to (hopefully) remove the warnings.

See merge request !72
2015-07-07 12:13:57 -04:00
Kenneth Moreland
fd1a36dce7 Remove cast warnings in UnitTestMatrix.
Unlike most compilers, MSVC will give conversion warnings when
implicitly converting a 32-bit int to a 32-bit float because the
mantissa can potentially drop some of the lower order bits of large
ints. Use static casts to (hopefully) remove the warnings.
2015-07-07 09:54:19 -06:00
Kenneth Moreland
5357d85846 Merge branch 'icc-issues' into 'master'
ICC issues

Fixes some issues found with the Intel icc compiler.

See merge request !70
2015-07-06 17:25:11 -04:00
Kenneth Moreland
dc91446972 Fix issue with Intel compiler removing loop in MatrixTranspose
For some reason when optimization was on with the Intel compiler it
was removing the loop in some instances of the templated MatrixTranspose
function. I inserted an empty assembly statement that prevents the
compiler from removing the loop but does not add any actual code. That
seems to fix the problem.
2015-07-06 14:31:43 -06:00
Kenneth Moreland
1c2f33926b Use test_equal for comparisons in UnitTestMatrix.
Some compilers, particularly icc, do strange things to literals during
optimization that makes them slightly different. This change was originally
to fix a testing issue with the icc build. It is not actually fixing the
problem, but I am leaving in the change because it is good practice.
2015-07-06 12:23:33 -06:00
Kenneth Moreland
eb870fb045 Fix ICC warning about unused member method
Specifically a conversion operator was not being used in the StringInt
class of UnitTestArrayHandleCounting. Because it was in an anonymous
namespace that could not be used outside of the file, ICC warned about
it. Rather than remove the method, which could cause confusion later,
gave the namespace a name so the compiler assumes that the class could
potentially be used somewhere else.
2015-07-06 10:40:08 -06:00
Kenneth Moreland
4fc3626712 Fix compiler directives for icc
The Intel icc compiler tries to pretend it is gcc, but it sometimes
behaves differently. Add more explicit checks for what compiler is
being used.
2015-07-06 10:35:06 -06:00
Kenneth Moreland
901b0bcc5f Merge branch 'matrix' into 'master'
Add Matrix class.

The matrix class is for thread-local matrix computations. It is intended
to store things like tensors or geometric transforms.

See merge request !69
2015-07-06 01:30:05 -04:00
Chun-Ming Chen
9504a61411 update testing for the new modification 2015-07-02 17:06:56 -04:00
Kenneth Moreland
abcc6da52f Add Matrix class.
The matrix class is for thread-local matrix computations. It is intended
to store things like tensors or geometric transforms.
2015-07-02 11:20:21 -06:00
Chun-Ming Chen
14d1610a0b Sort triangle point ids so that the same triangle will have the same signature 2015-07-02 12:58:26 -04:00