Commit Graph

1616 Commits

Author SHA1 Message Date
Robert Maynard
ad4f6c6485 All examples now use the proper CMake CUDA found variable. 2016-02-22 11:25:15 -05:00
Sujin Philip
14a01ef03a Merge topic 'add-knl-opt-flags'
e79b8ff2 Add vectorization flags for KNL
0900e0c0 Fix how the vectorization flags are specified

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !340
2016-02-22 08:55:45 -05:00
Sujin Philip
e79b8ff238 Add vectorization flags for KNL 2016-02-19 11:43:24 -05:00
Sujin Philip
0900e0c06c Fix how the vectorization flags are specified
For intel compilers, specifying multiple flags will result in warnings and
the last flag overrides previous flags.
2016-02-19 11:43:17 -05:00
Robert Maynard
e121a67c8e Merge topic 'correct_avx_options_for_intel'
8589df3d Correct avx options when using the intel compiler.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !338
2016-02-18 15:17:03 -05:00
Robert Maynard
8589df3df8 Correct avx options when using the intel compiler. 2016-02-18 14:58:39 -05:00
mclarsen
ca37b2e9cb Fixed compiler error with atomics 2016-02-10 08:21:38 -08:00
Matt Larsen
2baac9cd8b initial commit of atomic adds 2016-02-10 07:51:31 -08:00
Robert Maynard
7161baacd1 Merge topic 'more_cellset_dimensionality_docs'
3f2c68a4 Finish writing the comment explaining what GetDimensionality values mean.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !335
2016-02-03 14:16:19 -05:00
Robert Maynard
3f2c68a4d6 Finish writing the comment explaining what GetDimensionality values mean. 2016-02-03 13:35:10 -05:00
Robert Maynard
07d299209e Merge topic 'fix/ExecutionWholeArray'
5b705a52 Fixing return value for void function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !334
2016-01-27 15:57:40 -05:00
Kenneth Moreland
8cdf2aa7e5 Merge branch 'msvc-warnings' into 'master'
Fix MSVC warnings

Fix your typical batch of MSVC warnings including picky type conversions
and using "unsafe" std functions on pointers for iterators.

See merge request !333
2016-01-27 13:02:15 -05:00
mclarsen
5b705a5239 Fixing return value for void function 2016-01-27 08:07:20 -08:00
Kenneth Moreland
f4e4dc9ebe Use serial device for copies in DataSetBuilderRectilinear
A previous change used the Copy method of DeviceAdapterAlgorithm to
perform the actual copy in the CopyInto method. This works fine, except
that it uses the default device adapter, and the default device adapter
may need to copy the data to the device just to copy it to another
array. Instead, use the serial device adapter, which is guaranteed to
only perform one copy of the data.
2016-01-27 08:45:29 -07:00
Kenneth Moreland
0731bd4a53 Fix compiler error about difference_type
Whoops. Pointers are not classes and do not have a difference_type
member. You have to get that from iterator_traits. I'm not sure why this
succeeded on MSVC, but it was clearly wrong.
2016-01-26 17:09:10 -07:00
Kenneth Moreland
cadf0e53ab Fix MSVC warnings
Fix your typical batch of MSVC warnings including picky type conversions
and using "unsafe" std functions on pointers for iterators.
2016-01-26 16:23:00 -07:00
Robert Maynard
2e97c2bc40 Merge topic 'correct_cuda_runtime_crashes'
821096cf Perform necessary copies when deducing a worklets parameters.
bd3d2957 Fix ArrayPortalFromThrust to re-enable texture memory fast path.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !331
2016-01-26 17:01:57 -05:00
Robert Maynard
b09fb3edf5 Merge topic 'update_interop_to_use_CopyInto'
711b7122 Remove warnings from CopyInto with MSVC.
763691a7 Update TransferToOpenGL to use ArrayHandle::CopyInto.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !328
2016-01-26 16:07:23 -05:00
Robert Maynard
6ad3f115ab Merge topic 'reenable_cuda_texture_fastpath'
b2cd41d7 Fix ArrayPortalFromThrust to re-enable texture memory fast path.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !330
2016-01-26 15:41:52 -05:00
Robert Maynard
821096cfd7 Perform necessary copies when deducing a worklets parameters.
As part of the work to reduce the number of copies of array handles the CUDA
backend was broken. The transportation of stack allocated classes to CUDA
relies on all member variables being value based, not references/pointers.
This correct the issue of sending references to host side memory to CUDA, at
the cost of two copies of the Invocation object.

When we move to C++11 we need to revisit this work and see if std::move
can help reduce the cost of these copies.
2016-01-26 15:08:46 -05:00
Robert Maynard
bd3d29577a Fix ArrayPortalFromThrust to re-enable texture memory fast path. 2016-01-26 14:30:25 -05:00
Robert Maynard
b2cd41d765 Fix ArrayPortalFromThrust to re-enable texture memory fast path. 2016-01-26 14:29:52 -05:00
Robert Maynard
bad060acd6 Merge topic 'remove_global_compile_options'
ee368d0d Do not add c++ compiler optimizations to all compilers, but on a target basis.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !329
2016-01-26 14:24:24 -05:00
Sujin Philip
3b94d350f4 Merge topic 'fix-VTKM_VECTORIZATION_IN_LOOP-placement'
6efc1920 Fix VTKM_VECTORIZATION_IN_LOOP placement

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !321
2016-01-25 16:03:16 -05:00
Robert Maynard
ee368d0d68 Do not add c++ compiler optimizations to all compilers, but on a target basis.
As reported in Issue #54 the add_compile_options pollutes the global compile
flags. Instead we provided cmake flags for people to use.
2016-01-25 14:38:06 -05:00
Robert Maynard
711b7122dc Remove warnings from CopyInto with MSVC. 2016-01-25 14:33:46 -05:00
Sujin Philip
6efc1920df Fix VTKM_VECTORIZATION_IN_LOOP placement
It is only applicable on the statement on following line.
2016-01-25 10:59:08 -05:00
Robert Maynard
763691a7b3 Update TransferToOpenGL to use ArrayHandle::CopyInto.
Now that ArrayHandle has CopyInto we can simplify the code inside
the OpenGL transfer of non basic array handles.
2016-01-25 10:12:18 -05:00
Robert Maynard
bc7f996610 Merge branch 'update_cellset_documentation' into 'master'
Add a small amount of documentation to CellSet Dimensionality.



See merge request !327
2016-01-25 09:58:53 -05:00
Robert Maynard
1d28a6dd04 Add a small amount of documentation to CellSet Dimensionality. 2016-01-25 09:23:08 -05:00
Kenneth Moreland
0416506715 Merge branch 'fix-dynamic-cast-changes' into 'master'
Fixes related to changes in how the Dynamic class does casting

A recently merged topic branch changed the methods of how the Dynamic
classes do casting and type checking. The
support_visit_structured_points topic branch was started before these
changes and merged to master afterward. It used an old version of IsType
that did not conflict and caused a compile error. This fixes the compile
error.

See merge request !326
2016-01-21 18:09:57 -05:00
Kenneth Moreland
feaed27cb0 Fixes related to changes in how the Dynamic class do casting
A recently merged topic branch changed the methods of how the Dynamic
classes do casting and type checking. The
support_visit_structured_points topic branch was started before these
changes and merged to master afterward. It used an old version of IsType
that did not conflict and caused a compile error. This fixes the compile
error.
2016-01-21 15:27:25 -07:00
Kenneth Moreland
51ef8f470c Merge branch 'static-dataset-builder-methods' into 'master'
Improvements to data set builds

Some improvements to data set builders to make them easier to use. The main changes are making most of the methods static so that the class does not have to be instantiated and to accept DynamicArrayHandle for fields.

See merge request !325
2016-01-21 17:21:59 -05:00
Kenneth Moreland
f9750e83f7 Fix issues with Field constructor overloads
I ran into a few minor issues with the constructors to the Field class.

The big change I made was that I removed the Field constructors that
take an example type and create an empty field of that type. The problem
was that the example type was easily confused with some other type that
was supposed to describe an array. This lead to some odd behavior in the
compiler and resulted in errors in unexpected places.

The use case for this constructor is dubious. There were several tests
in the code that would create an empty field, add it to a data set, then
get it back out to pass to the worklet. The code is much simpler if you
just make an ArrayHandle of the right type and use that in the worklet
invoke directly. It is also faster to compile with smaller code because
the type is known statically (whereas it is lost the other way).

The other change was to declare references to ArrayHandle and
DynamicArrayHandle as const. There is nothing in the behavior that
invalidates the const, and it accepts arrays constructed in the
parameter.
2016-01-21 13:54:05 -07:00
Kenneth Moreland
e066214090 Add methods to DataSetFieldAdd that accept a DynamicArrayHandle 2016-01-21 13:00:41 -07:00
Robert Maynard
27c25bd72f Merge topic 'support_visit_structured_points'
c8c0556d Fixed issues that Sujin found during code review.
33b20a8d All readers now support Fields before data (aka VisIt files).
10d59c17 StructuredPointsReader supports multiple visit fields.
735462f8 Update the io readers to handle visit style structured points files.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !313
2016-01-21 13:41:02 -05:00
Kenneth Moreland
d626f7317d Make DataSetBuilder methods static
This makes is slightly easier to use as you do not actually have to
construct the DataSetBuilder object but just call its static method.

The DataSetBuilderExplicitIterative methods are not static because they
use state of the builder object to create the data.
2016-01-21 10:45:33 -07:00
Robert Maynard
c8c0556dbb Fixed issues that Sujin found during code review. 2016-01-21 12:44:14 -05:00
Kenneth Moreland
33cc8a2b19 Merge branch 'cell-to-point-map' into 'master'
Add WorkletMapCellToPoint class

The map topology worklets are to have convenience classes for all the
common mappings. However WorkletMapCellToPoint was left out as an
oversight. This adds the class.

See merge request !324
2016-01-21 10:48:26 -05:00
Kenneth Moreland
c346d40eb4 Add WorkletMapCellToPoint class
The map topology worklets are to have convenience classes for all the
common mappings. However WorkletMapCellToPoint was left out as an
oversight. This adds the class.
2016-01-20 16:16:58 -07:00
Robert Maynard
33b20a8d18 All readers now support Fields before data (aka VisIt files). 2016-01-20 15:58:41 -05:00
Kenneth Moreland
020c31caf9 Merge branch 'get-cell-dimensions' into 'master'
Add GetCellDimensions to CellSetStructured

There was not an easy way to get the dimensions of cells in a structured
data set. Add a method to get that.

See merge request !323
2016-01-20 14:42:42 -05:00
Robert Maynard
8070586ea7 Merge topic 'less_temporary_copies'
4153c2c7 Found a few more places where we don't need to return by value.
dd85fc13 Document why we certain classes member variables need to be const ref.
6fb86da8 DynamicArrayHandle Casting methods now holds by const * const.
c1560e2d Perform less unnecessary copies when deducing a worklets parameters.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !320
2016-01-20 12:02:57 -05:00
Kenneth Moreland
384727d00e Add GetCellDimensions to CellSetStructured.
There was not an easy way to get the dimensions of cells in a structured
data set. Add a method to get that.
2016-01-20 09:24:31 -07:00
Kenneth Moreland
dec61fe51a Merge branch 'regular-to-uniform' into 'master'
Change Regular to Uniform

There was an inconsistency in naming classes where axes-aligned grids
with even spacing were sometimes called "uniform" and sometimes called
"regular". Maintain consistency by always calling them uniform.

See merge request !322
2016-01-20 11:04:44 -05:00
Kenneth Moreland
9ccd7fa9c7 Change Regular to Uniform
There was an inconsistency in naming classes where axes-aligned grids
with even spacing were sometimes called "uniform" and sometimes called
"regular". Maintain consistency by always calling them uniform.
2016-01-19 15:54:05 -07:00
Robert Maynard
40ecf08948 Merge topic 'cleanup_copy_code_in_datasetbuilder'
2ae3f13a Don't use DeviceAdapter inside DataSetBuilderRectilinear.
8cf9b979 Don't use DeviceAdapter inside DataSetBuilderExplicit.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !319
2016-01-19 17:00:55 -05:00
Robert Maynard
2ae3f13a79 Don't use DeviceAdapter inside DataSetBuilderRectilinear.
No need to use the device adapter, just do a manual host side copy.
2016-01-19 15:43:49 -05:00
Robert Maynard
8973ca8f08 Merge topic 'simplify-vectorize-pragma-logic'
86bb45b9 Simplify the ifdef conditions used for vector pragma definitions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !310
2016-01-19 14:59:27 -05:00
Robert Maynard
4153c2c786 Found a few more places where we don't need to return by value. 2016-01-19 10:54:37 -05:00