22
High performance computing for non-programmers Lecture #1: How computing is changing our lives Glib Ivashkevych junior researcher, NSC KIPT

Lecture 1: How computing is changing our lives

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

Page 1: Lecture 1: How computing is changing our lives

High performance computingfor non-programmers

Lecture #1:How computing is changing our lives

Glib Ivashkevychjunior researcher, NSC KIPT

Page 2: Lecture 1: How computing is changing our lives

VFX createdby Weta Digital

rendered with Nvidia GPUs,25 times faster

Avatarmovie

Page 3: Lecture 1: How computing is changing our lives

Computing is everywhere

Science & engineering

MedicineManufacturing

TelecomBanking

Retail and many more...

VFX

Page 4: Lecture 1: How computing is changing our lives

Progress is huge

CP-PACS

2048 coresUniversity of Tsukuba, Nov 1996

Tesla C2075

448 coresby Nvidia, Sept 2011

Page 5: Lecture 1: How computing is changing our lives

Progress is huge

ASCI Red

9152 coresSandia National Lab, Nov 1997

Tesla K20X

1792 coresby Nvidia, Nov 2012

Page 6: Lecture 1: How computing is changing our lives

Progress is huge

ASCI Red

9152 coresSandia National Lab, Nov 1997

First supercomputer built from commodity hardware

Start of broadly available computing resources era

Page 7: Lecture 1: How computing is changing our lives

Progress is huge

Computers help tosolve problems once unsolvable

HPC is now

cheaper than ever,easier than ever,

more accessible than ever

Page 8: Lecture 1: How computing is changing our lives

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

Page 9: Lecture 1: How computing is changing our lives

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

Page 10: Lecture 1: How computing is changing our lives

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

Page 11: Lecture 1: How computing is changing our lives

Trends are clear

Virtualization & Clouds

Hybrid computing

Big Data

Green computing

Page 12: Lecture 1: How computing is changing our lives

Trends are clear

General purpose hardware

Specialized software

Open data

Open source

Skilled software developers are required

Page 13: Lecture 1: How computing is changing our lives

Syllabus

Page 14: Lecture 1: How computing is changing our lives

Why this course?

Physicist with programming skillsis better than just physicist

Put the landmarks

Software development is a learnable skill

Page 15: Lecture 1: How computing is changing our lives

Logistics

One lecture per week + a real-life example

Weekly assignments

Three projects

Numerous tutorials

Course virtual machine image

Page 16: Lecture 1: How computing is changing our lives

Block #1: Infrastructure

Computer architectureLinux OSAmazon AWS

How it’s made. How to leverage good parts and avoid bad ones.

Page 17: Lecture 1: How computing is changing our lives

PythonC++ reviewJava review: optional

How to choose right tool for the job.

Block #2: Languages

Page 18: Lecture 1: How computing is changing our lives

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

Page 19: Lecture 1: How computing is changing our lives

Basic algorithms

Design patterns

How to create elegant and complex software architecture.

Block #4: Software Design

Page 20: Lecture 1: How computing is changing our lives

Profiling and optimizationsThreads and OpenMPMPICUDA

How to achieve performance.

Block #5: Parallel software

Page 21: Lecture 1: How computing is changing our lives

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

Page 22: Lecture 1: How computing is changing our lives

Questions?