Merge branch 'cleanup_old_docs'

This commit is contained in:
Robert Maynard 2015-04-28 09:54:10 -04:00
commit f089f0f0cf
3 changed files with 48 additions and 63 deletions

@ -1,8 +1,27 @@
Welcome to vtkm design and hackathon.
## VTK-m ##
Resources:
One of the biggest recent changes in high-performance computing is the increasing use of accelerators. Accelerators contain processing cores that independently are inferior to a core in a typical CPU, but these cores are replicated and grouped such that their aggregate execution provides a very high computation rate at a much lower power. Current and future CPU processors also require much more explicit parallelism. Each successive version of the hardware packs more cores into each processor, and technologies like hyperthreading and vector operations require even more parallel processing to leverage each cores full potential.
EAVL: https://github.com/jsmeredith/EAVL
DAX: https://github.com/Kitware/DaxToolkit
PISTON: http://viz.lanl.gov/projects/PISTON.html
VTK-m is a toolkit of scientific visualization algorithms for emerging processor architectures. VTK-m supports the fine-grained concurrency for data analysis and visualization algorithms required to drive extreme scale computing by providing abstract models for data and execution that can be applied to a variety of algorithms across many different processor architectures.
## Getting VTK-m ##
The VTK-m repository is located at [http://public.kitware.com/gitweb?p=vtkm.git](http://public.kitware.com/gitweb?p=vtkm.git)
VTK-m dependencies are:
+ [CMake 3.0](http://www.cmake.org/download/)
+ [Boost 1.52.0](http://www.boost.org) or greater
+ [Cuda Toolkit 6+](https://developer.nvidia.com/cuda-toolkit) or [Thrust 1.7+](https://thrust.github.com)
```
git clone git://public.kitware.com/vtkm.git vtkm
mkdir vtkm-build
cd vtkm-build
cmake-gui ../vtkm
```
A detailed walk-through of installing and building VTK-m can be found on our [Contributing page](http://m.vtk.org/index.php/Contributing_to_VTK-m)

@ -1,37 +1,31 @@
### Design Decisions ###
A quick list of where the primary classes that will go into VTKM.
High level classes:
+ vtkm::vtkAllocators [ dax ]
+ vtkm::vtkMappedDataSets [ dax ]
+ vtkm::Filters [ eavl ]
+ pistons halo finder
+ vtkm::Mutators [ eavl ] + additive fields
+ vtkm::OpenGLInterop [ dax + piston ]
Mid level:
+ vtkm::ArrayHandle [dax]
+ dynamic info from eavl
+ vtkm::CellSet [eavl]
+ Includes the Explicit and Implicit versions
+ vtkm::DataSet [eavl]
+ Holds a Coordinate field
+ Holds a collection of CellSets
+ Holds a collection of array handles as fields
Low level:
+ vtkm::DeviceAdapter [dax]
+ vtkm::DeviceAdapterGeneral [dax]
+ vtkm::TopologyMap [eavl]
+ vtkm::WorkletConcept [ eavl + dax ]
A quick list of what the final design of vtkm should look like:
Code Layout:
```
vtkm/
cont/
datamodel/
filters/
- vtkm::cont::ArrayHandle
- vtkm::cont::CellSet
- vtkm::cont::DataSet
interop/
- OpenGL interop classes
- VTK interop classes
cuda/
filters/
- vtkm::filter::ThresholdFilter
- vtkm::filter::ContourFilter
- Mutators?
exec/
worklets/
cuda/
worklets/
- vtkm::worklet::WorkletMapField
- vtkm::worklet::WorkletMapCell
```

@ -1,28 +0,0 @@
Poster & Presentation:
Things that we want to do.
Things that we are going to do.
What would we call it?
dynamic vs templates interfacing.
The pull between insitu and general purpose library, where we want
high performance
foundation / groundwork / experimental work
What are the different layers that each project fills
[dax] - [eavl]
[filter] - []
[worklet] -
Todo:
1. Dynamic Arrays with tuple(s)
2. Sum of a cell set.
3. [Rob] Create the basic layout with and get the basic concrete array handle
to compile with nothing else.