110 likes | 246 Views
High-Performance Computing Cluster in Aachen. Christian Kocks April 3, 2012. Typical Simulation Workflow. Workflow for Simulations on HPC Cluster. Develop simulator on local PC / server Perform short tests on local PC / server Transfer simulator to HPC cluster (Subversion!)
E N D
High-Performance Computing Cluster in Aachen Christian Kocks April 3, 2012
Workflow forSimulations on HPC Cluster • Develop simulator on local PC / server • Perform short tests on local PC / server • Transfer simulator to HPC cluster (Subversion!) • Perform short tests on HPC cluster using the Linux login shell • Enqueue simulations on HPC cluster • Wait for notification e-mail from HPC cluster • Transfer results to local PC / server (e.g. with WinSCP using SCP protocol) • Evaluate and visualize results on local PC HPC High-Performance Computing SCP Secure Copy
Local Simulations vs. HPC Cluster Simulations local HPC cluster total simulation time number of simulations
UsingMatlab on HPC Cluster • Connect to Linux login shell using SSH client (e.g. PuTTY): • Server name: cluster-linux.rz.rwth-aachen.de • Load Matlab modules: module load MISC module load matlab • Start Matlab: matlab -nodisplay -nodesktop -nosplash -nojvm -logfile job.log -c @lic-serv.uni-due.de • Alternative: use graphical remote session (with NX client)
Using Subversion on HPC Cluster • Use Subversion module svntest for first tests • Check out Subversion module (e.g. svntest) from KT server: svn checkout https://134.91.99.160/svn/svntest/trunk [dst] • Update local working copy: svn update • Add file test.m: svn add test.m • Commit changes to KT server: svn commit
Sample Queue Script File https://versions1.kt.uni-due.de/svn/lib/trunk/simulators/sim_awgn_matlab/sample_simple.sh #!/usr/bin/envzsh #BSUB -J sim_awgn_matlab # jobname #BSUB -o sim_awgn_matlab.%J # joboutput (use %J forjobid) #BSUB -e sim_awgn_matlab.e%J # erroroutput #BSUB -W 0:20 # hardlimits in hours:minutes #BSUB -M 512 # memory in MB #BSUB -u my.name@kommunikationstechnik.org # e-mailaddressfornotification #BSUB -N # enablee-mailnotification #BSUB -n 2 # requestnumberofcomputeslots #BSUB -a openmp # useesubforOpenMP/sharedmemoryjobs ### loadmatlabmodules moduleload MISC moduleloadmatlab ### changetotheworkdirectory cd $HOME/svn/lib/simulators/sim_awgn_matlab ### runmatlab matlab-nodisplay -nodesktop -nosplash -nojvm -logfilejob.log -c @lic-serv.uni-due.de <sim_awgn_matlab_run.m
Sample Queue Script File – Advanced https://versions1.kt.uni-due.de/svn/lib/trunk/simulators/sim_awgn_matlab/sample_advanced.sh #!/usr/bin/envzsh #BSUB -J sim_awgn_matlab # jobname #BSUB -o sim_awgn_matlab.%J # joboutput (use %J forjobid) #BSUB -e sim_awgn_matlab.e%J # erroroutput #BSUB -W 0:20 # hardlimits in hours:minutes #BSUB -M 512 # memory in MB #BSUB -u my.name@kommunikationstechnik.org # e-mailaddressfornotification #BSUB -N # enablee-mailnotification #BSUB -n 2 # requestnumberofcomputeslots #BSUB -a openmp # useesubforOpenMP/sharedmemoryjobs ### loadmatlabmodules moduleload MISC moduleloadmatlab ### changetotheworkdirectory cd $HOME/svn/lib/simulators/sim_awgn_matlab ### runmatlab matlab-nodisplay -nodesktop -nosplash -nojvm -logfilejob.log -c @lic-serv.uni-due.de <<EOF sim_awgn_matlab('ebn0', 6.78952, 'ModulationOrder', 2, 'Log', 'true', 'NumSymbols', 1000, ‚Filename', 'sample_advanced'); EOF
Job Management • Enqueue a job: bsub<myscript.sh • Query unfinishedjobs: bjobs • Kill unfinishedjob: bkill [job ID]
General Hintsforusing HPC Cluster • Ask Mrs. Tiedtke from UniDuE for HPC cluster account • Write the simulator in a way to allow the execution of multiple small simulations instead of one long simulation • Collect simulation parameters and results in MAT file • Deactivate all graphical outputs • Read “HPC Primer” for further information on using the cluster • Visit http://www.rz.rwth-aachen.de/aw/cms/rz/Themen/~mem/hochleistungsrechnen