Commit Graph

238 Commits

Author SHA1 Message Date
Chun-Ming Chen
bf44b9a840 Remove unncecessary comments 2015-06-08 12:13:19 -04:00
Chun-Ming Chen
5d87c1fa79 add testing ReduceByKey with zipped array with heterogeneous value types 2015-06-08 11:57:29 -04:00
Chun-Ming Chen
1533d7c63a Add ReduceByKey support for zip array input. A testing codelet to demo the problem. 2015-06-08 11:57:29 -04:00
Robert Maynard
252c8563ed Merge branch 'allow_creating_output_arrayhandle_zip' 2015-06-08 10:46:57 -04:00
Robert Maynard
0bd7d5e0f5 Merge branch 'schedule_id3_serial' 2015-06-08 10:38:20 -04:00
Robert Maynard
95cf2edc37 Allow the creation of array handle zips.
We now allow the user to use array handle zips as output with knowing
the size of the output.
2015-06-08 10:17:46 -04:00
Robert Maynard
2d6bdd1496 Correct a bug in the TBB Schedule 3D implementation. 2015-06-08 09:49:08 -04:00
Robert Maynard
34c005104f Simplify the implementation of Schedule 3D for the serial background. 2015-06-08 09:48:46 -04:00
Robert Maynard
1d595b868c Make Schedule 3D use a larger dim size to throughly test implementations.
A smaller dim size can hide problems with algorithms that don't sum properly,
or do to much math per iteration.
2015-06-08 09:47:17 -04:00
Robert Maynard
8a8fc9ea73 Remove unused code from TestingDeviceAdapter. 2015-06-08 08:45:38 -04:00
Robert Maynard
18dbdd5d52 Add in a better version of 3d scheduling to the serial backend.
This is the first step to having better 3d scheduling for the serial backend.
While this doesn't improve the performance, it lays the foundation for
allowing I,J,K indexing when iterating Cells of a uniform grid.
2015-06-08 08:32:07 -04:00
Robert Maynard
98b13aae2f Merge branch 'allow_modification_of_user_storage' 2015-06-08 08:26:33 -04:00
Sujin Philip
4c51138f60 Add new lines at end of files. 2015-06-05 13:14:28 -04:00
Robert Maynard
b43fb01ff0 Redesign StorageBasic to allow modification of user provided memory.
The driving desire for this change was to make vtk-m ArrayHandle behave more
like the standard vector. The canonical example of what we want to support is:

```
std::vector<vtkm::Id> values;
values.resize(100);
vtkm::cont::ArrayHandle<vtkm::Id> array = vtkm::cont::make_ArrayHandle(values);
vtkm::cont::DeviceAdapterAlgorithm<DeviceAdapter>::Sort(array);
```

And with-out the ability to modify user provided memory, this was impossible.
2015-06-05 10:32:48 -04:00
Robert Maynard
342a9989a5 Correct double to float conversion warnings. 2015-06-04 09:06:47 -04:00
Robert Maynard
0a433303e6 Correct headers to have the new copyright. 2015-06-03 15:06:43 -04:00
Robert Maynard
6af4961e40 Remove unneeded test file. 2015-06-03 15:06:32 -04:00
Robert Maynard
7f2ee8d050 Merge branch 'master' into datamodel-design 2015-06-03 14:36:53 -04:00
Robert Maynard
e0e6ffb705 Suppress warnings generated by TBB code, which we can change.
These warnings are caused by tbb code, which we have zero control over.
2015-06-02 09:42:40 -04:00
Robert Maynard
3a532160c9 cuda device adapter now support different value types for keys and values. 2015-06-01 17:19:33 -04:00
Robert Maynard
98bd557a4f TestingDeviceAdapter now doesn't use initializer lists for vtkm::Vec
Since initializer lists are a c++11 feature we shouldn't use them.
2015-06-01 14:50:35 -04:00
Robert Maynard
ca3a91ef6e Merge branch 'add-tbb-backend' 2015-06-01 14:31:01 -04:00
Sujin Philip
08f88b1cb9 Add TBB backend. 2015-06-01 13:57:37 -04:00
Chun-Ming Chen
7ea9563d19 Fixed bug in ReduceByKey 2015-06-01 12:33:08 -04:00
Robert Maynard
81450f2317 CellSetExplicit can now use different storage backends.
CellSetExplicit can now use different storage backends to allow
for cheaper representations of the data. For example a pool of triangles
can now implicit handles for shape and num indices.

This does raise the question if runtime polymorphism is the best approach
for CellSet, or if we should do some from of CRTP.
2015-06-01 09:55:53 -04:00
Robert Maynard
ecec6945bf ExplicitConnectivity can now use different storage backends.
ExplicitConnectivity can now use different storage backends to allow
for cheaper representations of the data. For example a pool of triangles
can now implicit handles for shape and num indices.
2015-06-01 09:42:10 -04:00
Robert Maynard
25722fec2e Merge 'origin/datamodel-design' into datamodel-design
Conflicts:
	vtkm/cont/ExplicitConnectivity.h
	vtkm/cont/Field.h
2015-05-29 13:54:10 -04:00
Dave Pugmire
089864d6f3 minor fixes and code cleanup for merge to trunk.
added vtkm_cont_export to ExplicitConnectivity classes.
2015-05-29 12:48:31 -04:00
Dave Pugmire
4af48552b8 added vtkm_cont_export 2015-05-29 12:22:00 -04:00
Robert Maynard
7552509e4b Include all the new DataSet header in CMakeLists.
This will make sure that we properly install these headers.
2015-05-29 12:07:46 -04:00
Robert Maynard
9e75fb9ca3 ExplicitConnectivity now uses ArrayHandle.allocate + std::copy in FillViaCopy.
The original implementation use the naive approach of the device adapter
to copy the memory to the dynamic array handle. The issue with this approach
is that it would do a upload to device, and than a copy on device. Instead
we should prefer a copy on host, and than an upload to device.
2015-05-29 10:42:15 -04:00
Robert Maynard
dd298b1826 ExplicitConnectivity and RegularConnectivity can now upload to any device.
Previously we had accidentally bound the PrepareForInput method to upload
only to the default device adapter, which breaks the use case of allowing
multiple simultaneous backends at runtime.
2015-05-29 10:34:06 -04:00
Robert Maynard
42dc45c8b7 Correct the include guards on vtkm::cont::Field. 2015-05-29 09:51:11 -04:00
Robert Maynard
b8ac6d6a81 Field now uses ArrayHandle.allocate + std::copy in CopyData.
The original implementation use the naive approach of the device adapter
to copy the memory to the dynamic array handle. The issue with this approach
is that it would do a upload to device, and than a copy on device. Instead
we should prefer a copy on host, and than an upload to device.
2015-05-29 09:48:48 -04:00
Robert Maynard
e4423944a2 CellSet's now hold logical structure by value, instead of by pointer. 2015-05-29 09:07:40 -04:00
Robert Maynard
a61989a6d5 Redesign RegularStructure and RegularConnectivity to use vtkm::Vec.
By having them use vtkm::Vec the code becomes safer ( no bad indexes on dim=2).
Plus CellSetStructured becomes super simple.
2015-05-28 16:49:40 -04:00
Robert Maynard
b1dfa20d45 All test vtkm::cont::DataSets are now made on the stack.
No need to heap allocate vtkm::cont::DataSet now.
2015-05-28 15:35:19 -04:00
Robert Maynard
a7bfc99579 DataSet now holds all CellSets by shared pointer.
This clarifies the ownership semantics of the CellSets.
2015-05-28 15:30:13 -04:00
Robert Maynard
07970cf476 Correct all signed / unsigned and narrowing warnings ( 64bit to 32bit ). 2015-05-28 09:05:17 -04:00
Robert Maynard
d54aee7eb5 Merge branch 'fix_typo_in_copyright' 2015-05-21 10:32:08 -04:00
Robert Maynard
6b8e7822be The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
Robert Maynard
f2b47ffd4a Add ReduceByKey to the DeviceAdapter. 2015-05-21 08:23:28 -04:00
Robert Maynard
be193542ac Introduce StreamCompact with a custom stencil unary predicate. 2015-05-21 08:23:28 -04:00
Dave Pugmire
14a0b5f1f7 remove a print 2015-05-20 15:29:57 -04:00
Dave Pugmire
e1bbda8cae Add PrintSummary() for DataSet. 2015-05-20 15:26:10 -04:00
Jeremy Meredith
c55d764c50 adding coordinate systems instead of axis indices. 2015-05-20 12:46:00 -04:00
Jeremy Meredith
019e30a263 allow requesting fields by name, and make test data set names more sensible. 2015-05-20 11:46:04 -04:00
Robert Maynard
959d89f77d Correct DeviceAdapterAlgorithmGeneral ScanInclusive with length 1.
Previously we returned a sum of 0 when the length is 1, when really
we need to return the value that is in side the single location of the
array.
2015-05-20 09:30:36 -04:00
Robert Maynard
d4adcb464a Merge branch 'reduce' 2015-05-19 16:53:59 -04:00
Jeremy Meredith
4e36d05fac moderately substantial cleanup to fields. 2015-05-19 16:49:17 -04:00