cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

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

Parallel Adviser 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