Upload
phtraveller
View
59
Download
0
Tags:
Embed Size (px)
DESCRIPTION
This is the first lecture of the introductory course on high performance computing for applied physics students of the Department of Physics and Technology, Kharkiv Karazin Universityhttps://www.facebook.com/kharkivhpc
Citation preview
High performance computingfor non-programmers
Lecture #1:How computing is changing our lives
Glib Ivashkevychjunior researcher, NSC KIPT
VFX createdby Weta Digital
rendered with Nvidia GPUs,25 times faster
Avatarmovie
Computing is everywhere
Science & engineering
MedicineManufacturing
TelecomBanking
Retail and many more...
VFX
Progress is huge
CP-PACS
2048 coresUniversity of Tsukuba, Nov 1996
Tesla C2075
448 coresby Nvidia, Sept 2011
Progress is huge
ASCI Red
9152 coresSandia National Lab, Nov 1997
Tesla K20X
1792 coresby Nvidia, Nov 2012
Progress is huge
ASCI Red
9152 coresSandia National Lab, Nov 1997
First supercomputer built from commodity hardware
Start of broadly available computing resources era
Progress is huge
Computers help tosolve problems once unsolvable
HPC is now
cheaper than ever,easier than ever,
more accessible than ever
Computational revolutionScience: Human Brain Project
Computers help tosolve problems once unsolvable
50 PFLOPs for modeling of mouse brain
1 EFLOPs for modeling of human brain
Computational revolutionScience: CERN IT infrastructure
Computers help tosolve problems once unsolvable
15 PBytes of data annually at LHC, global tiered infrastructure
1 Tier 0, 11 Tier 1, 140 Tier 2 sites
Computational revolutionEngineering: Car crash simulation
Computers help tosolve problems once unsolvable
Finite-elements modeling
Millions of equations
Tens of thousands of crash simulations a month
Trends are clear
Virtualization & Clouds
Hybrid computing
Big Data
Green computing
Trends are clear
General purpose hardware
Specialized software
Open data
Open source
Skilled software developers are required
Syllabus
Why this course?
Physicist with programming skillsis better than just physicist
Put the landmarks
Software development is a learnable skill
Logistics
One lecture per week + a real-life example
Weekly assignments
Three projects
Numerous tutorials
Course virtual machine image
Block #1: Infrastructure
Computer architectureLinux OSAmazon AWS
How it’s made. How to leverage good parts and avoid bad ones.
PythonC++ reviewJava review: optional
How to choose right tool for the job.
Block #2: Languages
Revision Control Systems: git, Github, BitBucketBuild automation: GNU makeDocumentation: SphinxTesting and Debugging: nose framework, pdb
How to be a good citizen in software development world.
Block #3: Tools & Workflow
Basic algorithms
Design patterns
How to create elegant and complex software architecture.
Block #4: Software Design
Profiling and optimizationsThreads and OpenMPMPICUDA
How to achieve performance.
Block #5: Parallel software
Developing simple DropBox alternative
Neural networks on GPU
N-body simulations on GPU
And now it’s time to apply everything we’ve learned to real-world problems.
Projects
Questions?