header applications

This website uses cookies to manage authentication, navigation, and other functions. By using our website, you agree that we can place these types of cookies on your device.

View e-Privacy Directive Documents

In a first step application developers have to analyse their application. A detailed analysis of the code is essential to get to know which parts of the code can benefit from which of the innovative DEEP-ER technologies.

Here are some profiling tools we would like to recommend. They are all available on the DEEP and DEEP-ER systems:

  • Intel Vtune Amplifier
  • Intel Vector Advisor
  • Scalasca
  • Extrae/Paraver

The tools determine e.g. what is the most time consuming part of an application, whether the application is compute, memory or bandwidth bound or how well balanced the application is. Some of the tools like Intel Vector Advisor give hints about the parallelisation and vectorisation potential.

The detailed analysis gives users an insight into which of the 5 categories (shown in the figure below) their application belongs.

  • Applications with massively parallel parts and without any time critical I/O or serial parts (e.g. Chroma from UREG) belong to the first category (blue). These benefit best merely using the Booster.
  • Applications with massively parallel parts and time critical I/O and/or serial parts (like GERShWIN from Inria) belong to the second category (red) and should run on the Booster and offload the time critical I/O and serial parts to the Cluster.
  • For applications where it’s dependent on the use case how big the serial and how big the parallel parts are (e.g. the FWI application from BSC) the third category (green) is the best where a dynamical ratio of Cluster and Booster Nodes will be used.
  • If the application has some massively parallel parts that are controlled by a serial part (like the OmpSs version of TurboRVB from CINECA) it belongs to the fourth category (purple) and should use the Booster Nodes as a pool of accelerators.
  • Finally, applications can show behaviours where the amount of serial and massively parallel parts is about the same and both parts should run in parallel (orange category, e.g. xPic from KU Leuven). In this case the application should run in a specialised symmetric mode on Cluster and Booster.

 

Analysing your code