Practical work with sequential HPC-programming
Practical work with simple codes
(BLAS) to get in touch with compilers, compiler options
and makefiles. Loop unrolling and tiling of data.
Have a look at the exercise and download
the template. There is also a template for Jacobi
iteration available.
- untar the template
- cd template_seq
- make run
- You can swich between GNU- and Intel-compiler by changing the line
COMPILER=GCC_
into
COMPILER=ICC_
in the Makefile
- The following targets/calls are available in the Makefile:
- make : Compiles and links the
code
- make run : Recompiles the whole code and runs
it
- make cache : Profiles the code wrt. cache performance
- make prof : Profiles the code
- make mem : Checks the code for correct data
accesses, pointers alloc/deallocs, memory leaks
- doc
: Generates documentation, see html/index.html
afterwards
- clean
: Cleans temporary files
- clean_all : Cleans everything
- tar
:
Cleans everything and packs the remainding files into a tar-file in the
root directory
Available compilers:
- GNU:
- Performance analyzer: gprof (kprof); valgrind
(kcachegrind)
- Memory analyzer: valgrind
- Intel:
- Quick
Reference Card, non-commercial
license available, academic
pricing
- Performance analyzer: amplifier (amplxe-gu)
- Memory/Thread analyzer: inspector (inspxe-gui)
Operating System: Linux
The BLAS library