ALERT! Warning: your browser isn't supported. Please install a modern one, like Firefox, Opera, Safari, Chrome or the latest Internet Explorer. Thank you!
Startseite » ... » Zentrale Einrichtungen  » ZIH  » Wiki
phone prefix: +49 351 463.....

HPC Support

Operation Status

Ulf Markwardt: 33640
Claudia Schmidt: 39833 hpcsupport@zih.tu-dresden.de

Login and project application

Phone: 40000
Fax: 42328
servicedesk@tu-dresden.de

You are here: Compendium » SoftwareDevelopment

Software Development at HPC systems

This section should provide you with the basic knowledge and tools to get you out of trouble. It will tell you:
  • How to compile your code
  • Using mathematical libraries
  • Find caveats and hidden errors in application codes
  • Handle debuggers
  • Follow system calls and interrupts
  • Understand the relationship between correct code and performance

Some hints that are helpful:
  • Stick to standards wherever possible, e.g. use the -std flag for GNU and Intel C/C++ compilers. Computers are short living creatures, migrating between platforms can be painful. In addition, running your code on different platforms greatly increases the reliably. You will find many bugs on one platform that never will be revealed on another.
  • Before and during performance tuning: Make sure that your code delivers the correct results.

Some questions you should ask yourself:
  • Given that a code is parallel, are the results independent from the numbers of threads or processes?
  • Have you ever run your Fortran code with array bound and subroutine argument checking (the -check all and -traceback flags for the Intel compilers)?
  • Have you checked that your code is not causing floating point exceptions?
  • Does your code work with a different link order of objects?
  • Have you made any assumptions regarding storage of data objects in memory?

Subsections:

Intel Tools Seminar [Oct. 2013]