Introduction To High Performance Computing: Shaohao Chen Research Computing Services (RCS) Boston University
Introduction To High Performance Computing: Shaohao Chen Research Computing Services (RCS) Boston University
Performance Computing
Shaohao Chen
Research Computing Services (RCS)
Boston University
Outline
• Network switch
• Storage system
• The 3rd term clock cycles per second is known as the clock frequency, typically 2 ~ 3 GHz.
• The 4th term FLOPs per cycle is how many floating-point operations are done in one clock cycle.
Typical values for Intel Xeon CPUs are:
--- Sandy Bridge and Ivy Bridge: 8 DP FLOPs/cycle, 16 SP FLOPs/cycle.
--- Haswell and Broadwell : 16 DP FLOPs/cycle, 32 SP FLOPs/cycle.
• GigaFLOPS – 109 FLOPS; TeraFLOPS – 1012 FLOPS; PetaFLOPS – 1015 FLOPS; ExaFLOPS – 1018 FLOPS.
Computer power grows rapidly
• Iphone 4 vs. 1985 Cray-2 supercomputer • Rapid growth of the power of the top-500 supercomputers
(logarithmic y-axis, in GFLOPS)
Top 500 Supercomputers
• The list of June 2017
Statistics of the Top 500
HPC user environment
• Operation system: Linux (Redhat/CentOS, Ubuntu, etc), Unix.
• Login: ssh, gsissh.
• File transfer: secure ftp (scp), grid ftp (globus).
• Job scheduler: Slurm, PBS, SGE, Loadleveler.
• Software management: module.
• Compilers: Intel, GNU, PGI.
• MPI implementations: OpenMPI, MPICH, MVAPICH, Intel MPI.
• Debugging and profiling tools: Totalview, Tau, DDT, Vtune.
• Numerical Libraries: Lapack/Blas, FFTw, MKL, GSL, PETSc, Slepc, HDF5, NetCDF, Numpy, Scipy.
• Physics and Engineering: BerkeleyGW, Root, Gurobi, Abaqus, Openfoam, Fluent, Ansys, WRF
• Chemistry and material science: Gaussian, NWChem, VASP, QuantumEspresso, Gamess, Octopus
• Molecular dynamics: Lammps, Namd, Gromacs, Charmm, Amber
• Bioinformatics: Bowtie, BLAST, Bwa, Impute, Minimac, Picard, Plink, Solar, Tophat, Velvet.
• Data science and machine learning: Hadoop, Spark, Tensorflow, Caffe, Torch, cuDNN, Scikit-learn.
XSEDE software: https://portal.xsede.org/software/
BU SCC software: http://sccsvc.bu.edu/software/
Parallel Computing
Parallel computing is a type of computation in
which many calculations are carried out
simultaneously, based on the principle that
large problems can often be divided into
smaller ones, which are then solved at the
same time.
Speedup of a parallel program,
p: number of processors/cores,
α: fraction of the program that is serial.
• The figure is from: https://en.wikipedia.org/wiki/Parallel_computing
Distributed or shared memory systems
Figures are from the book Using OpenMP: Portable Shared Memory Parallel Programming
An example: weather science
• Serial weather model
• Shared-memory weather model (for several cores within one node)
• Distributed-memory weather model (for many nodes within one cluster)
National-wide HPC resources: XSEDE
• XSEDE (eXtreme Science and Engineering Discovery Environment) is a virtual system that
provides compute resources for scientists and researchers from all over the US.
• Its mission is to facilitate research collaboration among institutions, enhance research
productivity, provide remote data transfer, and enable remote instrumentation.
• A combination of supercomputers in many institutions in the US.
• Available to BU users. How to apply for an XSEDE account and allocations? See details at
http://www.bu.edu/tech/support/research/computing-resources/external/xsede/ .
• XSEDE provides regular HPC trainings and workshops:
--- online training: https://www.xsede.org/web/xup/online-training
---- monthly workshops: https://www.xsede.org/web/xup/course-calendar
XSEDE resources (1)
XSEDE resources (2)
XSEDE resources (3)
BU Shared Computer Cluster (SCC)
• A Linux cluster with over 580 nodes, 11,000 processors,
and 252 GPUs. Currently over 3 Petabytes of disk.
• Located in Holyoke, MA at the Massachusetts Green
High Performance Computing Center (MGHPCC), a
collaboration between 5 major universities and the
Commonwealth of Massachusetts.
• Went into production in June, 2013 for Research
Computing. Continues to be updated/expanded.
• Webpage:
http://www.bu.edu/tech/support/research/computing-
resources/scc/
BU RCS tutorials (1)
Linux system: Mathematics and Data Analysis:
• Introduction to Linux • Introduction to R
• Build software from Source Codes in Linux • Graphics in R
• Programming in R
BU SCC: • R Code Optimization
• Introduction to SCC • Introduction to MATLAB
• Intermediate Usage of SCC • Introduction to SPSS
• Managing Projects on the SCC • Introduction to SAS
• Python for Data Analysis
Visualization:
• Introduction to Maya
• Introduction to ImageJ
BU RCS tutorials (2)
Computer programming: High-performance computing:
• Introduction to C • Introduction to MPI
• Introduction to C++ • Introduction to OpenMP
• Introduction to Python • Introduction to GPU
• Introduction to Python for Non-programmers • Introduction to CUDA
• Introduction to Perl • Introduction to OpenACC
• Version Control and GIT. • MATLAB for HPC
• MATLAB Parallel Tool Box.