Difference between revisions of "Parallel Numerics - Winter 13"

From Sccswiki
Jump to navigation Jump to search
(correction)
 
(25 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
| audience = CSE (compulsory course, 3rd semester), Mathematics (Master), Informatics (Master) (Modul [https://campus.tum.de/tumonline/wbStpModHB.detailPage?pKnotenNr=456366&pExtView=N&pCaller=MODHBAPP&pCallerOrgNr=15430 IN2012])
 
| audience = CSE (compulsory course, 3rd semester), Mathematics (Master), Informatics (Master) (Modul [https://campus.tum.de/tumonline/wbStpModHB.detailPage?pKnotenNr=456366&pExtView=N&pCaller=MODHBAPP&pCallerOrgNr=15430 IN2012])
 
| exam = Do 20.2.14, 12:00-13:30, 5503.EG.350 (MW 0350, Egbert-von-Hoyer-Hörsaal)
 
| exam = Do 20.2.14, 12:00-13:30, 5503.EG.350 (MW 0350, Egbert-von-Hoyer-Hörsaal)
| tutorials = Friday, 10:15-11:45, Room 02.07.023, Organization: [[Michael Lieb]]
+
| tutorials = Friday, 10:15-11:45, Room 02.07.023, Organization: [[Michael Lieb, M.Sc.]]
 
| tumonline = [[https://campus.tum.de/tumonline/lv.detail?clvnr=950114291 reference]]
 
| tumonline = [[https://campus.tum.de/tumonline/lv.detail?clvnr=950114291 reference]]
 
}}
 
}}
Line 15: Line 15:
 
{| class="wikitable" valign="top"
 
{| class="wikitable" valign="top"
 
|-
 
|-
! valign="top" | 14.11.2013 || The tutorial on 15.11.2013 will take place.
+
! valign="top" | 24.02.2014 || The exam review will take place in room 02.07.023 on 25.02.2014, 15:00 - 15:30.
 
|}
 
|}
  
Line 30: Line 30:
 
== Course Material ==
 
== Course Material ==
  
=== Lecture Notes ===
+
=== Lecture Slides ===
  
 
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131022-parnum.pdf Lecture 1]]
 
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131022-parnum.pdf Lecture 1]]
Line 36: Line 36:
 
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131105-parnum.pdf Lecture 3],[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131105-parnum.m Material]]
 
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131105-parnum.pdf Lecture 3],[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131105-parnum.m Material]]
 
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131119-parnum.pdf Lecture 4]]
 
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131119-parnum.pdf Lecture 4]]
 
+
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131126-parnum.pdf Lecture 5]]
=== Slides ===
+
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131203-parnum.pdf Lecture 6]]
 
+
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131210-parnum.pdf Lecture 7]]
 +
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20131217-parnum.pdf Lecture 8]]
 +
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20140108-parnum.pdf Lecture 9]]
 +
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/20140114-parnum.pdf Lecture 10]]
 +
* [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/vorlesung/parnum-complete.pdf Full script]]
 +
* [[http://www5.in.tum.de/persons/huckle/vorl_11.pdf Lecture 11]]
 +
* [[http://www5.in.tum.de/persons/huckle/vorl_14.pdf Lecture 12]]
  
 
=== Tutorials ===
 
=== Tutorials ===
Line 49: Line 55:
 
| '''2''' || Numerical Integration & P2P Communication I || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet2.pdf sheet2.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet2_solution.pdf sheet2_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet2_task1.cpp sheet2_task1.cpp] ||
 
| '''2''' || Numerical Integration & P2P Communication I || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet2.pdf sheet2.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet2_solution.pdf sheet2_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet2_task1.cpp sheet2_task1.cpp] ||
 
|-
 
|-
| '''3''' || Vector-Vector Operations & P2P Communication II || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet3.pdf sheet3.pdf] ||[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet3_solution.pdf sheet3_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet3_task5.cpp sheet3_task5.cpp] ||
+
| '''3''' || Vector-Vector Operations & P2P Communication II || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet3.pdf sheet3.pdf] ||[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet3_solution.pdf sheet3_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet3_task5.cpp sheet3_task5.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/Block_Send.pdf Send-Modes] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/Comm_Modes_wo.pdf Communication-Modes]
 
|-
 
|-
| '''4''' || Matrix-Matrix-Operations & P2P Communication III || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet4.pdf sheet4.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet4_solution.pdf sheet4_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws4/ws4_task5.cpp ws4_task5.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/AmdahlGustaf.txt AmdahlGustaf.txt]-->
+
| '''4''' || Matrix-Matrix-Operations & P2P Communication III || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet4.pdf sheet4.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet4_solution.pdf sheet4_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet4_task5.cpp sheet4_task5.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/AmdahlGustaf.txt AmdahlGustaf.txt]
 
|-
 
|-
| '''5''' || Parallel Gaussian elimination & Collective Operations  || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet5.pdf sheet5.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet5_solution.pdf sheet5_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws5/ws5_task3.cpp ws5_task3.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Collective.pdf Collective.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Pivoting.txt Pivoting.txt]-->
+
| '''5''' || Parallel Gaussian elimination & Collective Operations  || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet5.pdf sheet5.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet5_solution.pdf sheet5_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet5_task3.cpp sheet5_task3.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Collective.pdf Collective.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Pivoting.txt Pivoting.txt]
 
|-
 
|-
| '''6''' || Tridiagonal Matrices, Hockney/Golub method & Message Tags || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet6.pdf sheet6.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet6_solution.pdf sheet6_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws6/ws6_task1_serial.cpp ws6_task1_serial.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws6/ws6_task1_parallel.cpp ws6_task1_parallel.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws6/ws6_task3.cpp ws6_task3.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Hockney_Golub_Notes.pdf Hockney_Golub_Notes.pdf]-->
+
| '''6''' || Tridiagonal Matrices, Hockney/Golub method & Message Tags || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet6.pdf sheet6.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet6_solution.pdf sheet6_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet6_task1_serial.cpp sheet6_task1_serial.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet6_task1_parallel.cpp sheet6_task1_parallel.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet6_task3.cpp sheet6_task3.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Hockney_Golub_Notes.pdf Hockney_Golub_Notes.pdf]
 
|-
 
|-
| '''7''' || Sparse Matrix-Vector Multiplication & MPI Communicators  || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet7.pdf sheet7.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet7_solution.pdf sheet7_solution.pdf] <br>[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws7/ws7_task3.cpp ws7_task3.cpp]||-->
+
| '''7''' || Sparse Matrix-Vector Multiplication & MPI Communicators  || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet7.pdf sheet7.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet7_solution.pdf sheet7_solution.pdf] <br>[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet7_task3.cpp sheet7_task3.cpp]||
 +
[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet7-additional-notes.pdf additional-notes]
 
|-
 
|-
| '''8''' || Stationary Methods || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet8.pdf sheet8.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet8_solution.pdf sheet8_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws8/ws8_task3_serial.cpp ws8_task3_serial.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws8/ws8_task3_parallel.cpp ws8_task3_parallel.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Jacobi_Relaxation_Notes.pdf Jacobi_Relaxation_Notes.pdf]-->
+
| '''8''' || Stationary Methods || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet8.pdf sheet8.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet8_solution.pdf sheet8_solution.pdf] <br>  
 +
[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet8_task3_serial.cpp sheet8_task3_serial.cpp] <br>
 +
[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet8_task3_parallel.cpp sheet8_task3_parallel.cpp]
 +
|| [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/Jacobi_Relaxation_Notes.pdf Jacobi_Relaxation_Notes] <br>
 +
[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet8-stationary.m sheet8-stationary.m]
 
|-
 
|-
| '''9''' || Gradient Methods, Preconditioning & Eigenvalues  || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet9.pdf sheet9.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet9_solution.pdf sheet9_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws9/ws9_task1_sequential.c ws9_task1_sequential.c] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/ws9/ws9_task1_parallel.c ws9_task1_parallel.c] ||-->
+
| '''9''' || Gradient Methods, Preconditioning & Eigenvalues  || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet9.pdf sheet9.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet9_solution.pdf sheet9_solution.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet9_task1_sequential.c ws9_task1_sequential.c] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet9_task1_parallel.c ws9_task1_parallel.c] ||  
 
|-
 
|-
| '''10''' || Domain Decomposition || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet10.pdf sheet10.pdf] || || <!--http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet10_solution.pdf sheet10_solution.pdf] || -->
+
| '''10''' || Domain Decomposition || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet10.pdf sheet10.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/sheet10_solution.pdf sheet10_solution.pdf] <br>
 +
[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet10_task1_sequential.c sheet10_task1_sequential.c] <br> [http://www5.in.tum.de/lehre/vorlesungen/parnum/WS13/tutorium/code/sheet10_task1_parallel.c sheet10_task1_parallel.c]
 +
||
 
|}
 
|}
  
Line 76: Line 89:
 
# [http://portal.acm.org/ft_gateway.cfm?id=367709&type=pdf&coll=GUIDE&dl=GUIDE&CFID=9612637&CFTOKEN=88133936 An Introduction To Quantum Computing for Non-Physicists]
 
# [http://portal.acm.org/ft_gateway.cfm?id=367709&type=pdf&coll=GUIDE&dl=GUIDE&CFID=9612637&CFTOKEN=88133936 An Introduction To Quantum Computing for Non-Physicists]
  
 +
<!--
 
== Exam ==
 
== Exam ==
 +
* '''Date''': 20.02.14, 12:00-13:30
 +
* '''Room''': 5503.EG.350 (MW 0350, Egbert-von-Hoyer-Hörsaal)
 +
* '''Registration''': via TUMOnline
 +
* '''Inspection/Review''': 25.02.2014 in room 02.07.023 <br>Note that only 2 persons will be allowed to inspect their exam simultaneously!<br>Do not forget your student and identity card! -->
  
 +
== Repetition Exam ==
 +
* '''Date''': 10.04.14, 14:00-16:30
 +
* '''Room''': 02.07.023
 +
* '''Registration''': via TUMOnline
 +
<!-- * <span style="color:#ff0000">'''Inspection/Review''': 25.02.2014 in room 02.07.023 <br>Note that only 2 persons will be allowed to inspect their exam simultaneously!<br>Do not forget your student and identity card!</span> -->
  
 
=== Allowed Material for the exam ===
 
=== Allowed Material for the exam ===
 
+
* 1 two-sided hand-written sheet of paper
 +
* "Message Passing Interface Quick Reference in C" [[http://www5.in.tum.de/lehre/vorlesungen/parnum/WS09/mpi-quick-ref.pdf MPI Quick Reference]]
  
 
=== Regulations ===
 
=== Regulations ===

Latest revision as of 15:07, 8 April 2014

Term
Winter 13
Lecturer
Univ.-Prof. Dr. Thomas Huckle
Time and Place
Tuesday, 09:15-10:45, Room 02.07.023
Audience
CSE (compulsory course, 3rd semester), Mathematics (Master), Informatics (Master) (Modul IN2012)
Tutorials
Friday, 10:15-11:45, Room 02.07.023, Organization: Michael Lieb, M.Sc.
Exam
Do 20.2.14, 12:00-13:30, 5503.EG.350 (MW 0350, Egbert-von-Hoyer-Hörsaal)
Semesterwochenstunden / ECTS Credits
SWS (2V + 2Ü) / 5 Credits
TUMonline
[reference]



This course will be given in every winter term. The lectures and tutorials are conducted in English, and the course substitutes the German lecture "Numerik auf Parallelrechnern".

News

24.02.2014 The exam review will take place in room 02.07.023 on 25.02.2014, 15:00 - 15:30.

Contents

  1. High-Performance Computing
  2. Performance: Analysis, Modeling, and Measurements
  3. Basic Linear Algebra Subprograms
  4. Direct Solution of Sparse Linear Systems
  5. Iterative Methods for Linear Systems
  6. Linear Eigenvalue Problems
  7. Programming in MPI

Course Material

Lecture Slides

Tutorials

Tutorial Topics Worksheet Proposal for solution / code Additional (Slides)
1 Flynn's Taxonomy & MPI Basics sheet1.pdf sheet1_solution.pdf
sheet1_task6.cpp
2 Numerical Integration & P2P Communication I sheet2.pdf sheet2_solution.pdf
sheet2_task1.cpp
3 Vector-Vector Operations & P2P Communication II sheet3.pdf sheet3_solution.pdf
sheet3_task5.cpp
Send-Modes
Communication-Modes
4 Matrix-Matrix-Operations & P2P Communication III sheet4.pdf sheet4_solution.pdf
sheet4_task5.cpp
AmdahlGustaf.txt
5 Parallel Gaussian elimination & Collective Operations sheet5.pdf sheet5_solution.pdf
sheet5_task3.cpp
Collective.pdf
Pivoting.txt
6 Tridiagonal Matrices, Hockney/Golub method & Message Tags sheet6.pdf sheet6_solution.pdf
sheet6_task1_serial.cpp
sheet6_task1_parallel.cpp
sheet6_task3.cpp
Hockney_Golub_Notes.pdf
7 Sparse Matrix-Vector Multiplication & MPI Communicators sheet7.pdf sheet7_solution.pdf
sheet7_task3.cpp

additional-notes

8 Stationary Methods sheet8.pdf sheet8_solution.pdf

sheet8_task3_serial.cpp
sheet8_task3_parallel.cpp

Jacobi_Relaxation_Notes

sheet8-stationary.m

9 Gradient Methods, Preconditioning & Eigenvalues sheet9.pdf sheet9_solution.pdf
ws9_task1_sequential.c
ws9_task1_parallel.c
10 Domain Decomposition sheet10.pdf sheet10_solution.pdf

sheet10_task1_sequential.c
sheet10_task1_parallel.c

Literature & External Links

  1. Introduction to High Performance Scientific Computing (Eijkhout, Chow, van de Geijn) [free download]
  2. Numerical Linear Algebra for High-Performance Computers (Dongarra, Duff, Sorensen, van der Vorst)
  3. Parallel Algorithms for Matrix Computations (Gallivan, Heath, Ng, Ortega,...)
  4. A User's Guide to MPI (Pacheco)
  5. Iterative Methods for Sparse Linear Systems (Saad)
  6. Loesung linearer Gleichungssysteme auf Parallelrechnern (Frommer)
  7. An Introduction To Quantum Computing for Non-Physicists


Repetition Exam

  • Date: 10.04.14, 14:00-16:30
  • Room: 02.07.023
  • Registration: via TUMOnline

Allowed Material for the exam

  • 1 two-sided hand-written sheet of paper
  • "Message Passing Interface Quick Reference in C" [MPI Quick Reference]

Regulations

Old Exams