Introduction to Parallel Computing

Similar documents
Advanced Multiprocessor Programming

Advanced Multiprocessor Programming

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

ECE (Fall 2009) Computer Networking Laboratory

Education: Integrating Parallel and Distributed Computing in Computer Science Curricula

Data Structures and Algorithms

SAM - Sensors, Actuators and Microcontrollers in Mobile Robots

Computer Science 141: Computing Hardware Course Information Fall 2012

CS Course Missive

CTE Teacher Preparation Class Schedule Career and Technical Education Business and Industry Route Teacher Preparation Program

Applying Learn Team Coaching to an Introductory Programming Course

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Microcontroller VU

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

TU-E2090 Research Assignment in Operations Management and Services

Texas A&M University-Central Texas CISK Comprehensive Networking C_SK Computer Networks Monday/Wednesday 5.

LIN 6520 Syntax 2 T 5-6, Th 6 CBD 234

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Course Content Concepts

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

Physics XL 6B Reg# # Units: 5. Office Hour: Tuesday 5 pm to 7:30 pm; Wednesday 5 pm to 6:15 pm

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

The Consistent Positive Direction Pinnacle Certification Course

Study in Berlin at the HTW. Study in Berlin at the HTW

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Orientation Programme

TEACHING AND EXAMINATION REGULATIONS (TER) (see Article 7.13 of the Higher Education and Research Act) MASTER S PROGRAMME EMBEDDED SYSTEMS

Web-based Learning Systems From HTML To MOODLE A Case Study

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Lahore University of Management Sciences. FINN 321 Econometrics Fall Semester 2017

BSM 2801, Sport Marketing Course Syllabus. Course Description. Course Textbook. Course Learning Outcomes. Credits.

IST 649: Human Interaction with Computers

(Sub)Gradient Descent

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Information Event Master Thesis

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

IPHY 3410 Section 1 - Introduction to Human Anatomy Lecture Syllabus (Spring, 2017)

Joint Study Application Japan - Outgoing

Curriculum for the doctoral (PhD) programme in Natural Sciences/Social and Economic Sciences/Engineering Sciences at TU Wien

Computer Architecture CSC

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

Introduction to Personality Daily 11:00 11:50am

Business 4 exchange academic guide

Math 181, Calculus I

Improving Fairness in Memory Scheduling

Computer Science 1015F ~ 2016 ~ Notes to Students

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

COMS 622 Course Syllabus. Note:

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

ED487: Methods for Teaching EC-6 Social Studies, Language Arts and Fine Arts

CRITICAL THINKING AND WRITING: ENG 200H-D01 - Spring 2017 TR 10:45-12:15 p.m., HH 205

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

PeopleSoft Human Capital Management 9.2 (through Update Image 23) Hardware and Software Requirements

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Mktg 315 Marketing Research Spring 2015 Sec. 003 W 6:00-8:45 p.m. MBEB 1110

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

Firms and Markets Saturdays Summer I 2014

Guide Decentralised selection procedure for the Bachelor s degree programme in Architecture, Urbanism and Building Sciences

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

have to be modeled) or isolated words. Output of the system is a grapheme-tophoneme conversion system which takes as its input the spelling of words,

ENVR 205 Engineering Tools for Environmental Problem Solving Spring 2017

Courses in English. Application Development Technology. Artificial Intelligence. 2017/18 Spring Semester. Database access

Seminar - Organic Computing

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

ED : Methods for Teaching EC-6 Social Studies, Language Arts and Fine Arts

An Introduction to Simio for Beginners

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

THESIS GUIDE FORMAL INSTRUCTION GUIDE FOR MASTER S THESIS WRITING SCHOOL OF BUSINESS

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

POLSC& 203 International Relations Spring 2012

Computer Organization I (Tietokoneen toiminta)

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Course Syllabus Solid Waste Management and Environmental Health ENVH 445 Fall Quarter 2016 (3 Credits)

PROJECT DESCRIPTION SLAM

STANDARDIZED COURSE SYLLABUS

EDU 614: Advanced Educational Psychology Online Course Dr. Jim McDonald

Shank, Matthew D. (2009). Sports marketing: A strategic perspective (4th ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.

UCC2: Course Change Transmittal Form

University of Texas Libraries. Welcome!

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Albright College Reading, PA Tentative Syllabus

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

Linguistics Program Outcomes Assessment 2012

Innovative Teaching in Science, Technology, Engineering, and Math

Introduction to Ensemble Learning Featuring Successes in the Netflix Prize Competition

MBA 5652, Research Methods Course Syllabus. Course Description. Course Material(s) Course Learning Outcomes. Credits.

FINN FINANCIAL MANAGEMENT Spring 2014

Teaching Evaluation Work Group. Introduction: What constitutes a good curriculum? 1. Basic premises

An OO Framework for building Intelligence and Learning properties in Software Agents

Transcription:

Introduction to Parallel Computing Jesper Larsson Träff, Angelos Papatriantafyllou {traff,papatriantafyllou}@par.tuwien.ac.at Parallel Computing, 184-5 Favoritenstrasse 16, 3. Stock Sprechstunde: Per email-appointment

Parallel Computing Parallel computers are around and everywhere (it was not always like that) What are they good for? What is a parallel computer? Why is that? How to use them? Efficiently? In practice? Algorithms, Languages, Interfaces, (Applications) How do they look? Architecture, Models

Parallel Computing: Prerequisites Some understanding of: Programming, programming languages (we will use C ) Algorithms and data structures, asymptotic analysis of algorithms O(f(n)) Computer architecture Operating systems

This VU: Introduction to parallel computing Introduction: aims, motivation, basics, history (Amdahl s Law, Moore s Law, ) Shared memory parallel computing Concrete language: OpenMP, pthreads, Cilk Distributed memory parallel computing Concrete interface: MPI (Message-Passing Interface) New architectures, new languages (GPU, CUDA, OpenCL) Other languages, paradigms Theory and PRACTICE: Learning by doing the project

Introduction to parallel computing Focus on Principles: parallel algorithms, (architectures), languages and interfaces Standard, paradigmatic, actual, much-used languages and interfaces (MPI, OpenMP, pthreads/c threads, Cilk) Lot s of approches, languages, interfaces that will not be treated but possible to follow up later: bachelor-thesis, project, master-thesis, master lectures, seminars. See us!

Prerequisites ( 3rd Semester, STEOP) C/C++, Fortran (Java) programming skills Operating systems Algorithms&Data structures Computer architecture Interest in solving problems faster and better in theory and practice

Lectures, exercises, projects Monday, 10:00-12:00 MANDATORY Occasionally: Thursday, 10:00-12:00 (also MANDATORY) MONDAY: Freihaus Hörsaal 7 (FH7) THURSDAY: EI 5 Hochenegg (Gusshausstarsse 25) Project work: ON YOUR OWN there will be Q&A sessions (Thursday slots) Can start early, complete before end of lecture, discussion/examination at end of semester (late January, early February)

Lectures, exercises, projects Capacity? Lecture was originally planned for 40+ students We only have two parallel systems SIGN UP in TISS SIGN OFF in TISS if you decide not to follow the lecture, makes administration easier

Requirements, credit (4 hours/week, 6ECTS) Lecture attendance MANDATORY Active participation during lectures Presentation of project work (exam) MANDATORY Hand-in of project work MANDATORY: 1. Short write-up 2. Program code 3. Results Practical project work: should be done in groups of 2 NOTE: See us ( Sprechstunde ) in case of problems with schedule (unable to finish project in time)

Requirements, credit (4 hours/week, 6ECTS) Lecture attendance MANDATORY Active participation during lectures Presentation of project work (exam) MANDATORY Hand-in of project work MANDATORY: 1. Short write-up 2. Program code 3. Results Practical project work: should be done in groups of 2 GRADE: Based on project presentation and hand-in

Requirements, credit (4 hours/week, 6ECTS) Lecture attendance MANDATORY Active participation during lectures Presentation of project work (exam) MANDATORY Hand-in of project work MANDATORY: 1. Short write-up 2. Program code 3. Results Practical project work: should be done in groups of 2 NOTE: Solutions to project exercises can possibly be found somewhere. Don t cheat yourself!!

Requirements, credit (4 hours/week, 6ECTS) Lecture attendance MANDATORY Active participation during lectures Presentation of project work (exam) MANDATORY Hand-in of project work MANDATORY: 1. Short write-up 2. Program code 3. Results Practical project work: should be done in groups of 2 NOTE: Solutions to project exercises can possibly be found somewhere. Don t cheat us: be open about what you took from others, plagiarism will automatically result in grade 6 (fail)!

Grading: DON T OPTIMIZE Active participation in lectures Written project solution, quality of programs (correctness, performance, readibility), oral explanation, knowledge of course material Each project will consist of 3 parts; deliberately, not everything is said explicitly (but enough should be said) Very roughly: 1-2: All parts solved, performance/speed-up achieved, everything can be explained 2-3: 2 out of 3 Fail: Less than 1 out of tree

Grading: DON T OPTIMIZE Groups of two: Stand or fall as a group, ideally both get same grade Means: Both group members should have contributed and feel responsible for all parts of the solutions

ECTS breakdown Planning, intro ( Vorbesprechung ): 1h Lectures: 15 x 2h = 30h Preparation: 45h OpenMP: 20h Cilk: 20h MPI: 20h Write-up: 10h Presentation, including preparation: 4h Total: 150h = 6ECTS

Project exercises Programming exercises using the main three languages/interfaces covered in the lecture (OpenMP/pthreads, Cilk, MPI). Each exercise will explore the same problem in all three paradigms Tentatively: Select 1 (or 2) out of 4 Focus on achieving and documenting improved performance (good benchmarking) Correctness first! (Some) room for creativity

Project exercises, credit Document solution with code and short report Code: readable, compilable, correct Report: IN ENGLISH (as far as possible), DEUTSCH ERLAUBT State problem, hypothesis, explain (briefly) solution, implementation details and issues, state of solution (correct, what works, what not), testing and benchmarking approach, document performance (plots or tables) Compare/comment on paradigms 8-15 pages per exercise, including performance plots Project exercises in groups of two

Schedule TENTATIVE 5.10: Planning, overview ( Vorbesprechung ) 12.10: Motivation, concepts 19.10: Example problems: merging, prefix-sums 22.10: Projects presentation (IMPORTANT! in EI 5) 26.10: LECTURE FREE Some Thursdays 2.11: LECTURE FREE 9.11: OpenMP 16.11: Presumably NO LECTURE (do project work) 23.11: OpenMP 30.11: OpenMP, Cilk 7.12: Cilk 14.12: Distributed memory architectures & programming, MPI 11.1: MPI 18.1: Other architectures and interfaces 25.1: Project Q&A 1.2: Project hand-in Project work

Schedule TENTATIVE Idea: All basics, and all 3 interfaces (OpenMP, Cilk, MPI) covered before Christmas (so: some Thursdays may be necessary) January: Other architectures and interfaces; project work Project hand-in: 1.2.2015 Exams: 8-12.2.2015 Per group sign-up in TISS IF problems with any of these dates, contact us in advance! Later hand-in of projects NOT possible (a later or earlier examination may be, but with good reason)

Literature, course material Slides in English will be made available at www.par.tuwien.ac.at/teaching/2015w/184.710.psp Look here and TISS for information (cancelled lectures, change of plans, ). Will try to keep up to date, timely (but lectures will not be ready much in advance ) No script; slides should be enough for doing the project work, additional material can be found easily

Organizational TUWEL for Forming the groups Getting accounts Your discussions? Uploading code/reports Register in groups of 2 now (until 30.10.15)! First exercise: Apply for account (ssh key) via TUWEL until 2.11.15

Literature: general Thomas Rauber, Gudula Rünger: Parallel Programming for multicore and cluster systems. Springer, 2nd edition 2013 Grama, Gupta, Karypis, Kumar: Introduction to Parallel Computing. Second edition. Pearson 2003 Michael J. Quinn: Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2004 Calvin Lin, Lawrence Snyder: Principles of parallel programming. Addison-Wesley, 2008 Peter Pacheco: An introduction to parallel programming. Morgan Kaufmann, 2011 Randal E. Bryant, David R. O Hallaron: Computer Systems. Prentice-Hall, 2011

Literature: general (almost) NEW: Encyclopedia of Parallel Computing. David Padua (editor). Springer, 2011. Handbook of Parallel Computing. Rajasekaran/Reif (editors). Chapman&Hall, 2008

Literature: OpenMP, MPI, CUDA Chandra, Dagum et al.: Parallel Programming in OpenMP. Morgan Kaufmann, 2001 Barbara Chapman, Gabriele Jost, Ruud van der Pas: Using OpenMP. MIT, 2008 MPI: A message-passing interface standard. Version 3.1 Message Passing Interface Forum, June 4th, 2015. www.mpiforum.org/docs/docs.html William Gropp, Ewing Lusk, Anthony Skjellum: Using MPI. MIT, 1999 David B. Kirk, Wen-mei Hwu: Programming massively parallel processors. Morgan Kaufmann, 2010

Systems, hardware OpenMP, Cilk saturn.par.tuwien.ac.at 48-core AMD-based shared-memory cluster, Saturn MPI jupiter.par.tuwien.ac.at 36-node InfiniBand AMD-based 2x8 core cluster = 576 processor cores, Jupiter Access via ssh (instructions to follow), program at home/tu. No actual lab

Saturn: AMD-based, shared-memory system Jupiter: small InfiniBand cluster, AMD processors

Other systems at TU Wien parallel computing Pluto: 16-core Ivy-bridge system + 2xNVidia K20x GPU + 2xIntel Xeon-Phi 60-core accelerator Mars: 80-core Intel Westmere system, 1TB shared memory Ceres: 64-core Oracle/Fujitsu shared memory system, Sparcbased with HW-support for 512 threads, 1TB shared memory Research systems for bachelor, master and PhD work

The Austrian Top500 HPC system: www.vsc.ac.at

Access to TU Wien systems saturn and jupiter Login via ssh Get account by sending email to Markus Levonyak, see TUWEL exercise. Some information on how to login and use in TUWEL

Using the systems Saturn: for shared-memory project part (Cilk and OpenMP) Jupiter: for distributed memory project part (MPI Free access, interactive use till Christmas January: (probably) use only via batch system (slurm) START EARLY on the projects!

Research Group Parallel computing Some information at www.par.tuwien.ac.at Favoritenstrasse 16, 3 rd floor Next to U1, Taubstummengasse, exit Floragasse

Research Group Parallel computing Exam (Early Februray) in Favoritenstrasse 16, 3 rd floor, HK 03 20 Contact: Use lecture first,tuwel second, contact us per email (for questions, appointment): traff@par.tuwien,ac,at papatriantafyllou@par.tuwien.ac.at

TU Wien Research Group Parallel Computing Our themes 1. HPC languages, interfaces design, algorithmic support and implementation (MPI, PGAS) 2. Interfaces for multi-core parallel computing algorithmic support and implementation: task-parallel models, lock- and wait-free data structures 3. Parallel algorithms 4. Scheduling in theory and practice 5. Communication networks (routing), memory-hierarchy 6. Experimental parallel computing benchmarking, validation, reproducibility 7. (Heterogeneous parallel computing: interfaces, autotuning, scheduling)

TU Wien Research Group Parallel Computing Applications Algorithms Architectures Programming languages Parallel computing

Algorithms Applications TU Wien parallel computing Programming interfaces Algorithms Architectures

Bachelor: Bachelor thesis VU Parallel Computing Master: VU Parallel Algorithms PRAM Network algorithms VU Advanced Multiprocesor Programming Programming models, lock-free algorithms and data structures VU High Performance Computing Master s thesis Project SE Topics in Parallel Programming Models, Algorithms, Architectures