2. What is happening ?
Single Core Era Multi-Core Era Many-Core Era
Constraints :
-Power
-Complexity of algorithms
Constraints :
-Power
-Parallel software availability
-Scalability
Constraints :
-Programming models
Performance
Time(years)
3. • Parallel profiler designed for:
‒ C/C++, Fortran
‒ MPI code
Interdependent or independent processes
‒ Multithreaded code
Monitor the main threads for each process
‒ Accelerated codes
GPUs, Intel Xeon Phi
• Improve productivity :
‒ Helps you detect performance issues quickly and easily
‒ Tells you immediately where your time is spent in your source code
‒ Helps you to optimize your application efficiently
Allinea MAP
Increase application performance
4. • Support for I/O metrics
‒ I/O can be a major bottleneck in HPC systems
‒ Find the optimal configuration for your file system.
Benefit : Broader profiling and analysis capabilities to
solve even more performance issues.
• Support for Intel Xeon Phi
‒ Already supported on Allinea DDT
‒ Officially extended to profiling
Benefit : Ensure you are getting the best performance
from new technology.
Allinea MAP 4.1
New features at ISC 2013
5. Intel Xeon Phi and Allinea
• Started architecture and tools discussions with Intel
• Early development prototypes exchanged2011
• Full debugger support for Intel MIC architecture
• Official 3.2 release
• Feedback from early adopters2012
• Profiling support for Intel Xeon Phi announced
• #1 Green 500 system, Xeon Phi-powered Beacon chooses
Allinea
• Dramatic surge in interest in debugging and profiling on
Xeon Phi
2013
6. Optimizing for the Xeon Phi
Where do you start?
“Code that’s well-optimized for the host
usually performs pretty well on the cards”
- Pretty much everyone
7. Optimizing for the Xeon Phi
But what matters?
Vectorization
Other
stuff
Performance
12. Optimizing for the Xeon Phi
Non-obvious tradeoffs
Here a loop taking
55% of total runtime
isn’t vectorized at all
Taking the unvectorizable rand() out of the loop
allows the sqrt workload to be fully-vectorized –
reverse loop fusion!
13. Optimizing for the Xeon Phi
Non-obvious tradeoffs
Now the floating-
point workload is
fully-vectorized
But all the time is being spent in the random
number generation, so that’s what really needs to
be optimized
14. Optimizing for the Xeon Phi
Know your tools
Replace rand() with Intel’s vectorized version and re-fuse the loop
to retain temporal cache locality benefits
15. Optimizing for the Xeon Phi
The full picture
You need to see the full picture to spot these
tradeoffs – Allinea MAP shows you the way
16. Optimizing for the Xeon Phi
Running on the card
Allinea MAP runs with full metrics on Xeon Phi cards!
17. Optimizing for the Xeon Phi
Running on the card
This makes it easy to compare and learn versus the host
18. • Full, graphical debugger designed for :
‒ C/C++, Fortran, Xeon Phi, UPC, …
‒ MPI, OpenMP and mixed-mode code
• Unified interface with Allinea MAP :
‒ Just what you need when you’ve added
OpenMP and now everything segfaults!
‒ One interface eliminates learning curve
‒ Spend more time on your results
• Slash your time to develop :
‒ Reproduces and triggers your bugs instantly
‒ Helps you easily understand where issues come from quickly
‒ Helps you to fix them as swiftly as possible
Allinea DDT
Unified interface for debugging
19. • Ten years of high-quality development tools
‒ Leading in HPC software tools market worldwide
‒ Global customer base
• Making parallel programming accessible to the widest
range of scientists and programmers
‒ Design an unrivaled productive and easy-to-use development environment…
‒ … To help you reach the highest level of performance and scalability
‒ Define a new standard of customer support
Allinea Software
20. Summary
• Allinea’s tools are the premier Xeon Phi development
environment
– See at a glance which loops to vectorized and which to
ignore
– Full profiling metrics available on the Xeon Phi cards
– Unified interface with Allinea DDT keeps you productive,
whatever you’re working on
To learn more, visit us at our
booth #655 !
21. Thank you
Your contacts :
– Technical Support team : support@allinea.com
– Sales team : sales@allinea.com