VTK/ARB/Meetings/October 2010
From KitwarePublic
Jump to navigationJump to search
Agenda
- Stephane: VTK/MultiThreading
- Stephane: Task Stealing framework
- Bill: Sharing VTK contributions
Meeting Notes
- We want to address potential incompatibilities with different implementations of multi-threading in VTK.
- Pieper: ITK pipeline work with Intel, put pieces into separate processing units. Worked well, but with fairly shallow pipelines.
- DeMarle: Streaming work does not do multithreading but could easily take advantage of it.
- Schroeder: Older medical image streaming/multithreading in VTK where it is easy to break up the data. Intrafilter functionality along with streaming among filters to have smaller memory footprint.
- Need more separation between process objects and execution model. Need to preserve simple path for programmers for writing new algorithms.
- Stephane: Task stealing can work intra-algorithm and inter-algorithm. First step is to have it work intra-algorithm. Task stealing should be complementary to HyperFlow. One use case is improving contouring algorithm or other non-parallel algorithm.
- Want to support unstructured and structured data structures.
- Want to build a library that makes it easy to iterate over VTK data structures in ways that would be useful to several algorithms.
- Need to test speed, memory consumption of new filters.
- Need to clean up API for VTK data objects to be thread-safe.
- Suggest that we start with simple example of parallelizing the filter, perhaps streamlines, contours.
- HyperFlow and task stealing may have to communicate in order to not overallocate resources?
- Task stealing only uses threads that are not busy so this may not be an issue.
- KAAPI
- Has no central resource allocation.
- It is LGPL with potential to change it.
- No Windows support yet.
- 22K lines of code.
- Has GPU support.
- Need a set of pipeline use cases that can be tested.
- First integration next year, on a branch of VTK.
- Bill - Way for external people to access submitted features. Talk to Steve about how ITK does extensions.
- "Modules" for Insight Journal. Code automatically goes into Git repository.
- Boolean operations for VTK is a good example of code that will likely not go into VTK but is useful.
- Need to be able to scale the community.
Action Items
- Send any additional multi-threading use cases to Stephane.
- Coordinate on setting up "modules" for VTK Journal (Bill and Will).
Next Time
- More on sharing code contributions.
- VTK library reorganization.