lecture 1: how computing is changing our lives

Post on 02-Jan-2016

60 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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?

top related