Over deze cursus
The course „Scientific Computing“ will present an overview of HPC hardware, programming languages and numerical methods for different problems, and introduce the student to reproducibility. List of topics:
-
literate programming, reproducible research
-
general aspects of HPC and Scientific Computing (hardware, Amdahl's law)
-
overview of numerical methods: FEM, CFD, particle based methods, iterative methods for systems of linear equations
-
parallel programming: OpenMP, MPI, optimization
-
data races, deadlocks and other parallel-programming pitfalls and finding these Exercises, project and homeworks will be solved in groups of two, preferably the groups are composed of students of different curricula.
NB! This course will take place in spring semester 2024/2025 which starts on 3rd of February and ends on 16th of June (you can find that information under Start date section). The real course start and end dates will be announced at the beginning of February at the latest.
Leerresultaten
The student is able to:
- recognize complex problems;
- choose suitable numerical method;
- choose suitable programming language;
- choose suitable computer architecture;
- write and debug simple parallel code;
- document the simulation and results in a reproducible way.
Toetsing
Final assessment can consist of one test/assignment or several smaller assignments completed during the whole course. After declaring a course the student can re-sit the exam/assessment once. Assessment can be graded or non-graded. For specific information about the assessment process please get in touch with the contact person of this course. For specific information about grade transfer please contact your home university
Voorkennis
knowledge of linear algebra, analysis, basic programming skills
Bronnen
- * Reprocible research: http://ropensci.github.io/reproducibility-guide/
- Bathe: Finite Element Procedures ISBN-13: 978-0979004957
- * Alberty, Carstensen, Funken: Remarks around 50 lines of Matlab: short finite element implementation, Numer. Algorithms, volume 20, 1999 https://www.math.hu-berlin.de/~cc/cc_homepage/download/1999-AJ_CC_FS-50_Lines_of_Matlab.pdf
- * Grossmann, Roos, Stynes: Numerical Treatment of Partial Differential Equations ISBN 978-3-540-71584-9
- * Eymard, Galloyet, Herbin: Finite Volume Methods https://www.cmi.univ-mrs.fr/~herbin/PUBLI/bookevol.pdf
- * Leveque: Finite Volume Methods For Hyperbolic Problems https://archive.org/details/FiniteVolumeMethodsForHyperbolicProblemsRandallJ.Leveque
- * Saad: Iterative methods for sparse linear systems http://www-users.cs.umn.edu/~saad/books.html
- * Parlante: Essential C: http://cslibrary.stanford.edu/101/EssentialC.pdf
- * Burch: C for Python Programmers: http://www.toves.org/books/cpy/
- * Jorgensen: Introduction to Programming using Fortran 95/2003/2008 http://www.egr.unlv.edu/~ed/fortranv3.pdf
- * MPI standard: http://mpi-forum.org/docs/
- * OpenMP: http://www.openmp.org/specifications/
- * OpenCL: https://www.khronos.org/registry/OpenCL/
- * Valgrind manual: http://valgrind.org/docs/manual/manual.html
- * Eijkhout: Introduction to High-Performance Scientific Computing Lulu 2015 ISBN 978-1-25799-254-6
Activiteiten
lectures, exercises
Aanvullende informatie
- Meer infoCursuspagina op de website van Tallinn University of Technology
- Neem contact op met een coordinator
- StudiepuntenECTS 6
- NiveauMaster
- Contact uren per week4
- InstructeursHeiko Jens Herrmann
- InstructievormHybrid
Aanbod
Startdatum
3 februari 2025
- Einddatum16 juni 2025
- Periode *Spring semester 2025
- VoertaalEngels
Inschrijvingsperiode gesloten