VTK/Multicore Vision: Difference between revisions
From KitwarePublic
< VTK
Jump to navigationJump to search
(New page: == 1. Accelerate algorithms that need access to the whole dataset == * Examples: ** Streamlines ** Graph algorithms * What is needed: ** Multi***threading abstraction *** vtkMultiThreader ...) |
(No difference)
|
Revision as of 16:06, 24 August 2009
1. Accelerate algorithms that need access to the whole dataset
- Examples:
- Streamlines
- Graph algorithms
- What is needed:
- Multi***threading abstraction
- vtkMultiThreader
- What about OpenMP, Intel TBB?
- Thread safe data structures
- Multi***threading abstraction
- Pros:
- Scalable
- Cons:
- Filters need to change
2. Pipeline parallelism
- Analyze the pipeline
- Assign different filters to different threads
- Pros:
- Automatic performance improvement for all filters
- Cons:
- It is only useful for:
- Streaming
- Branching pipelines
- It is only useful for:
3. Streaming
- All types of data:
- Structured data
- Unstructured data
- Text (documents)
- ...
- How do we break the data?
4. How do we bring (1), (2) and (3) together?
- Do algorithms need to provide more meta***data?
- I can work with pieces
- I need the whole thing
- I scale up to N processors?
5. What about interactive applications
- Using separate threads to run the pipeline and to control user interface/rendering