Commit Graph

588 Commits

Author SHA1 Message Date
Chun-Ming Chen
03ef13eaaf release resources during process 2015-06-30 12:39:24 -04:00
Robert Maynard
21205d0785 Merge branch 'degagore_warnings' into 'master'
Degagore warnings

See merge request !66
2015-06-30 09:45:05 -04:00
Robert Maynard
98fc2a6eaa Merge branch 'fix_cuda_chooseCudaDevice' into 'master'
Fix cuda choose cuda device

See merge request !65
2015-06-30 09:25:31 -04:00
Robert Maynard
e1d1a08161 Correct casting issues ArrayHandleUniformPointCoordinates. 2015-06-30 09:21:19 -04:00
Robert Maynard
b18f59f10c Remove unused typedef in DeviceAdapterAlgorithmGeneral. 2015-06-30 08:38:25 -04:00
Robert Maynard
d12375450f Make ChooseCudaDevice only consider SM3 and above equal. 2015-06-30 08:18:16 -04:00
Robert Maynard
6af949f488 Fix warnings in ChooseCudaDevice by moving performance metric to double. 2015-06-30 08:16:42 -04:00
Kenneth Moreland
e19e0ea551 Merge branch 'mesh-simplify-changes' into 'master'
Some fixes to VertexClustering

VertexClustering previously only worked with data of a specific floating
point type (32 bit for point coordinates). Add some templates to accept
either 32 bit or 64 bit floating points for point coordintes and be a
bit more careful about implicit type conversions.

I also made some changes to conform better with the VTK-m coding
standards. The most common changes are using 2 space indentation for all
block levels, capitolizing and using camel case for all class members,
and prefixing "this->" to all use of internal class members.

See merge request !64
2015-06-29 18:14:19 -04:00
Kenneth Moreland
ba99e830ae Make sure VertexClustering grid dimensions do not exceed nDimensions
When mixing precision, it is possible for the computation to pick a grid
size greater than the requested number of dimensions. This change
ensures that you never get more dimensions than requested. (Thanks to
Chun-Ming Chen for the fix.)

The test now behaves the same way as it did before the last change.
2015-06-29 16:10:25 -06:00
Kenneth Moreland
cc8a5d35ec Some fixes to VertexClustering
VertexClustering previously only worked with data of a specific floating
point type (32 bit for point coordinates). Add some templates to accept
either 32 bit or 64 bit floating points for point coordintes and be a
bit more careful about implicit type conversions.

I also made some changes to conform better with the VTK-m coding
standards. The most common changes are using 2 space indentation for all
block levels, capitolizing and using camel case for all class members,
and prefixing "this->" to all use of internal class members.
2015-06-29 15:14:50 -06:00
Robert Maynard
99df565f85 Merge branch 'vtkm_exec_array_in' into 'master'
Implement a way to pass a portal to worklet as a parameter.

This is built ontop of the ExecutionObjectBase work, and is designed to show
other developers how they can create custom objects that are shared among
all worklets, but are passed as parameters to the worklet.

See merge request !60
2015-06-29 15:06:41 -04:00
Kenneth Moreland
ba20680728 Merge branch 'math-msvc-fix' into 'master'
Fix use of VTKM_MSVC

Fix an inappropriate use of the VTKM_MSVC macro.

See merge request !61
2015-06-29 13:46:38 -04:00
Robert Maynard
22c9a69685 Merge branch 'implicit_storage_no_exception_on_release' into 'master'
Make releasing an implicit storage resources a no-op instead of exception.

Corrects Issue #16.

See merge request !62
2015-06-29 13:00:52 -04:00
Robert Maynard
c53f61d4fd Make releasing an implicit storage resources a no-op instead of exception.
See https://gitlab.kitware.com/vtk/vtk-m/issues/16 for the full discussion.
2015-06-29 11:56:53 -04:00
Kenneth Moreland
3ab8288dc7 Fix use of VTKM_MSVC
The VTKM_MSVC is just defined if using MSVC. It is not set to any value.
There was a reference in Math.h that assumed it was set to true, which
it was not. This simple change should fix that.
2015-06-29 09:27:16 -06:00
Robert Maynard
40a2ce0645 Merge branch 'MeshSimplifyWorklets' into 'master'
Mesh simplify worklets

Vertex clustering algorithm and a AverageByKey computation are now in vtkm::worklets

See merge request !57
2015-06-29 09:49:19 -04:00
Kenneth Moreland
3b9bb5ffeb Merge branch 'math' into 'master'
Math

Adds a set of portable math functions, most of which are "expected" to be available and are typically useful. They include things like trigonometry (sin, cos, tan, etc.), floating point information (nan, finite, etc), and min/max.

See merge request !58
2015-06-27 20:29:49 -04:00
Robert Maynard
d7e85bb6ae Implement a way to pass a portal to worklet as a parameter.
This is built ontop of the ExecutionObjectBase work, and is designed to show
other developers how they can create custom objects that are shared among
all worklets, but are passed as parameters to the worklet.
2015-06-26 16:26:51 -04:00
Robert Maynard
6ca2308e5f Merge branch 'cleanup_worklet_tests' into 'master'
Cleanup the worklet UnitTests. Mainly move everything into namespaces.

See merge request !59
2015-06-26 16:13:39 -04:00
Robert Maynard
5fa6afed2e Cleanup the worklet UnitTests. Mainly move everything into namespaces. 2015-06-26 15:52:59 -04:00
Kenneth Moreland
4a8d69ca66 Add CUDA math test
Also fix some issues that caused the compile to fail when trying to
run some of the math functions on a CUDA device. In particular, CUDA
is picky about using a global const on a device when the const type is
not one of the basic C types.
2015-06-25 13:54:24 -06:00
Chun-Ming Chen
00382a3b8b fix warning: && with || 2015-06-25 15:33:25 -04:00
Robert Maynard
be1cd405fc Merge branch 'enable_cuda_texture_memory_for_more_types' into 'master'
Enable cuda texture memory fetches when possible.

See merge request !55
2015-06-25 15:28:18 -04:00
Kenneth Moreland
787feacf1e Change math test to run in execution environment
This change is to do the test on a CUDA device.
2015-06-25 12:07:15 -06:00
Jimmy
0fd5556cae Move DataSet related codes in VertexClustering to UnitTestVertexClustering 2015-06-25 13:16:16 -04:00
Jimmy
05b550b574 change double to vtkm::Float64 2015-06-25 11:46:28 -04:00
Jimmy
7d1e3f8b1d set the invlid_id to -1, so the Id3Less will have to take care of this. 2015-06-25 11:43:29 -04:00
Jimmy
e234f29148 remove vc_debug 2015-06-25 10:52:02 -04:00
Jimmy
314c1b9da2 remove if 0 blocks in averageByKey 2015-06-25 10:38:34 -04:00
Jimmy
a5a4fb36ad remove internal namespace to expose AverageByKey 2015-06-25 10:37:11 -04:00
Robert Maynard
2d7e44de62 Make it so that we actually use cuda texture memory loads.
By mistake the cuda texture memory load code was not being used, so correct
that issue and allow loading of vtkm::Vec and primitive types. Currently
the only issue is loading int8/int16 uint8/uint16 through texture memory.
2015-06-25 08:21:49 -04:00
Robert Maynard
47f9874132 Extend the array handle testing to be done on a per device basis.
Now we test ArrayHandle with all the vtkm types to make sure all the
transfer logic / access logic works for all T types.
2015-06-25 08:21:49 -04:00
Kenneth Moreland
b642338465 Fix copyright statement in UnitTestMath.cxx. 2015-06-24 16:31:57 -06:00
Kenneth Moreland
7e2feb7e52 Add trig functions to math. 2015-06-24 16:27:07 -06:00
Kenneth Moreland
c7ad5207a3 Add sign-based math functions. 2015-06-24 15:40:18 -06:00
Jimmy
03823d96a1 Fix VertexClustering and missing iteratortype in ArrayHandleImplicit.h for CUDA 2015-06-24 16:35:11 -04:00
Jimmy
73564d7a2c Fix VortexClustering for thrust backend (partially) 2015-06-24 15:52:56 -04:00
Jimmy
3c25024781 hide debug / benchmark outputs 2015-06-24 15:13:16 -04:00
Jimmy
4220b37135 Finish testing codes for VertexClustering 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
470c93fe69 move VertexClustering codes to /vtkm/cont/worklet 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
71974e4cd3 Add vtkm/worklet/testing/UnitTestVertexClustering.cxx 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
ebd6e43409 Added VertexClustering test 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
4f813ca4c5 Prepare for vertex clustering algorithm 2015-06-24 14:55:21 -04:00
Sujin Philip
74033a5eaf Merge branch 'fix-tbb-scan' into 'master'
Fix Parallel Scan implementation for TBB Device

The previous implementation assumed the identity value to be zero, which does
not work for multiplication. Changed the interface to require an initial value
for Exclusive Scan with custom operator (TBB Device only, for now).

See merge request !56
2015-06-24 10:00:30 -04:00
Sujin Philip
273281f581 Fix Parallel Scan implementation for TBB Device
The previous implementation assumed the identity value to be zero, which does
not work for multiplication. Changed the interface to require an initial value
for Exclusive Scan with custom operator (TBB Device only, for now).
2015-06-24 09:24:58 -04:00
Kenneth Moreland
94744dc7fb Add precision functions to math. 2015-06-23 17:35:55 -06:00
Robert Maynard
6b70893b96 Merge branch 'clarify_unary_and_binary_operator_names' into 'master'
Clarify unary and binary operator names

Fixes the naming issues brought up in Issue #6.

See merge request !54
2015-06-23 15:49:03 -04:00
Robert Maynard
459552d795 Update the name of the binary functor for UpperBounds 2015-06-23 09:19:09 -04:00
Robert Maynard
3cbac03810 Update the name of the binary functor Unique 2015-06-23 08:58:53 -04:00
Robert Maynard
e6cadef457 Update the name of the unary functor for StreamCompact. 2015-06-23 08:56:18 -04:00