CND68ParallelAdviser
Parallel Adviser
Team
Dev: Nick Krasilnikov (NK; NB nick: nnnnnk)
Lead: Vladimir Voskresensky (VV; NB nick: vv159170)
Charter
Add support for shared-memory parallel programming in NetBeans to development of multi-threaded applications and transformation of single-treaded applications to multi-threaded.
Goals
Defining:
- Notifications about abilities for parallelization
- Parallel adviser view
Target:
- OpenMP Editor Support
Nice to have:
- Performance comparison view
No P1 or P2 issues, P3 issues < 10.
User View
Metrics
- Functionality is implemented: Yes/No
- Number of P1/P2/P3 issues.
Test Plan
Schedule
| Milestone | Date | Content |
|---|---|---|
| M0 | 1-July-2009 | Planning, User View |
| M1 | 10-July-2009 | Risks and dependencies investigation |
| M2 | 14-July-2009 | UI prototype |
| M3 | 23-July-2009 | Prototype |
| M4 | 27-July-2009 | Editor support for OpenMP |
Risks and dependencies
Status and test results
Design specifications
Unit tests
IssueZilla
Status Whiteboard keyword: parallel_adviser
Ideas
Profiler based advises
One processor used + no threads support => advice
OpenMP Support
Highlighting, completion.
MPI Plugin
Toolchain.
Configuration.
Templates and code generation
Parallel "for", etc...
- Open MP
- pthreads
- std::thread
- win32 threads
Parallel calculator
Calculate parallel acceleration, etc. for some models.
Samples
2d FFT
Fractals
Overview
Existent tools:
- "IDE support for parallel programming" in VS 2010
- Intel Parallel Adviser
VS 2010
- Library for parallel programming
- Debugger allows to chose politics for stopping threads on breakpoint
- MultiStack - Graph that represents all call stacks
- TaskList - List of states for all tasks
- Concurrency Analysis - view for core utilization + basic timing measurements
- Tread Execution - view with statistics for each thread
- Tread Migration - view that represents migration of threads between cores
http://download.microsoft.com/download/C/D/3/CD39BB69-35CC-458A-B4EB-2F928B58FB4B/VisualStudio2010_ProductOverview.pdf
http://msdn.microsoft.com/en-us/magazine/cc817396%28printer%29.aspx
Intel Parallel Studio
- Parallel Amplifier - profiler, that allows to understand core utilization, view locks and waits, compare different experiments
- Parallel Composer
- OpenMP support
- Integrated Performance Primitives
- Thread Building Blocks
- Debugger Extension (check for data sharing and re-entrance)
- Parallel Inspector - threads and memory errors checker
- Parallel Advisor Light - methodology for parallelizing of single-threaded applications
Profiler=>Annotations(Special macros)=>Correctness Tool=>Parallel Code
http://software.intel.com/en-us/articles/intel-parallel-studio-documentation
http://software.intel.com/en-us/articles/intel-parallel-advisor-lite
Eclipse PTP
- Support of distributed programming
- Parallel launch and scheduler
- Parallel debugger
- MPI
- Remote development
- OpenMP support
http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp

