This directory contains all examples for the course

in the course list http://www.hlrs.de/training/course-list/
and in the new course recordings (since 2014) http://www.hlrs.de/training/par-prog-ws/
and in the old course recordings (2001-2005) http://fs.hlrs.de/projects/par/par_prog_ws/

The directories MPI, OpenMP and HPF are already organized in the way that a group of 20 working groups can do these exercises in a practical room where this course is presented. For these 20 groups, there are the user directories 01-20. In the case of OpenMP, all skeletons should be copied to these user directories before the course starts, see OpenMP/README.

The tar-files (and as zip-files)

include all examples and the user directories.

The tar-files MPI31single.tar.gz (and as MPI31single.zip) (used in courses since Aug. 2020), MPIsingle.tar.gz (used in courses Nov. 2015 - Jul 2020), MPIsingle-until-2014.tar.gz (used in courses and recording until Oct. 2015), OpenMPsingle.tar.gz (and as OpenMPsingle.zip) (used in courses since Aug. 2020), OpenMP_2016-11-22single.tar.gz (used in courses until July 2020), CGVsingle.tar.gz , CGsingle.tar.gz , PETSCsingle-2.3.0.tar.gz , PETSCsingle-2.2.0.tar.gz , PETSCsingle-2.1.3.tar.gz , PETSCsingle_nobin-2.1.3.tar.gz , paralleles_CG_single.tar.gz , HPFsingle.tar.gz , and Euler2D-Musterloesung.tar.gz (CFD practical) include the same, but without the user directories, except OpenMP/01 and CG/01.


Commands to install the tar-files on your system that will be used for the practicals:
  umask 022 
  rm -rf HPF; gunzip -c HPF.tar.gz | tar -xvf -; chmod -R u+rw,a+rX HPF
 
  rm -rf MPI; gunzip -c MPI.tar.gz | tar -xvf -; chmod -R u+rw,a+rX MPI
 
  rm -rf UPC CAF; gunzip -c UPC+CAF.tar.gz | tar -xvf -; chmod -R u+rw,a+rX UPC CAF
 
  rm -rf OpenMP; gunzip -c OpenMP.tar.gz | tar -xvf -  
  (cd OpenMP; rm -Rf 01/* ; for dir in [0-9]* ; do  ( cd $dir ; pwd ; tar -xf ../tasks.tar ) ; done) 
  chmod -R u+rw,a+rX OpenMP  

  Test of parallel licences of the Intel Thread checker:
icc -tcheck -openmp -g -o demo_with_bugs demo_with_bugs.c
( tcheck_cl -w 90 -d tmp1 -o demo_with_bugs_out1.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp2 -o demo_with_bugs_out2.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp3 -o demo_with_bugs_out3.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp4 -o demo_with_bugs_out4.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp5 -o demo_with_bugs_out5.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp6 -o demo_with_bugs_out6.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp7 -o demo_with_bugs_out7.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp8 -o demo_with_bugs_out8.txt ./demo_with_bugs & ) ; ( tcheck_cl -w 90 -d tmp9 -o demo_with_bugs_out9.txt ./demo_with_bugs & ) ; echo "==="
( icc -tcheck -openmp -g -o demo_with_bugs1 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs2 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs3 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs4 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs5 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs6 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs7 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs8 demo_with_bugs.c & ) ; ( icc -tcheck -openmp -g -o demo_with_bugs9 demo_with_bugs.c & ) ; 
 
 
  rm -rf CGV; gunzip -c CGV.tar.gz | tar -xvf -; chmod -R u+rw,a+rX CGV
 
  rm -rf CGV_F90; gunzip -c CGV_F90.tar.gz | tar -xvf -; chmod -R u+rw,a+rX CGV_F90
 
  rm -rf CG; gunzip -c CG.tar.gz | tar -xvf -; chmod -R u+rw,a+rX CG
 
  rm -rf PETSC; gunzip -c PETSC-2.3.0.tar.gz | tar -xvf -; chmod -R u+rw,a+rX PETSC
 
  rm -rf paralleles_CG; gunzip -c paralleles_CG.tar.gz | tar -xvf - 
  (cd paralleles_CG; for dir in [0-9]* ; do  ( cd $dir ; pwd ; cp -p ../source/* . ) ; done)
  chmod -R u+rw,a+rX paralleles_CG
 
  rm -rf TOTALVIEW; gunzip -c TOTALVIEW.tar.gz | tar -xvf -  
  (cd TOTALVIEW;rm -Rf 01/* ; for dir in [0-9]* ; do  ( cd $dir ; pwd ; tar -xf ../TOTALVIEW.exercise.tar ) ; done) 
 
  \rm -rf MATLAB ; gunzip -c MATLAB.tar.gz | tar -xvf - 
 
  \rm -rf Fischer2006 ; gunzip -c Fischer2006.tar.gz | tar -xvf - 
  (cd Fischer2006 ; umask 022 ; for dir in [0-9]* ; do  ( cd $dir ; pwd ; \rm -rf * ; tar -xf ../source.tar ) ; done )