You are here
Courses > Postgraduate > MSc in High Performance Computing > Course Modules
Module MAP55600: Tools for scientific and technical computing
- Credit weighting (ECTS)
- 5 credits
- Semester/term taught
- First and second semesters
- Module Coordinator
- Mike Peardon mjp@maths.tcd.ie
- Intended Learning Outcomes
- Students who successfully complete the course should be able to:
- • use the Linux command-line eectively, for daily tasks such as copying files, making folders, writing and compiling code; and automate repetitive shell tasks with shell scripting
- • use a version control system to eectively manage code development and automate code compilation (and other general tasks) using Makefiles
- • use techniques for improving your code: by eliminating errors with debuggers; identifying potential bottlenecks with profilers; and using unit testing techniques to write repeatable tests for small chunks of code
- • be able to submit and manage jobs in a HPC cluster environment
- • describe some of the main scientific libraries used in the HPC and scientific computing community, and how to use those libraries.
- • prepare simple documents using the LaTeX typesetting language.
-
- Structure and Content
- The course covers techniques and tools for writing and and managing scientific code. It focuses on Linux-based clusters but many skills learned also apply outside of the HPC environment. The first semester begins with an introduction to Linux command-line, for gaining experience with working on the shell. It then covers version control automated builds using Makefiles for managing larger codes, followed by debugging tools and techniques for C code. An overview of the queueing systems on the TCHPC clusters will be covered. The second semester begins with bash shell scripting techniques, for gaining more control on how you run code, and how to automate tasks to save time. Profiling tools and techniques will be examined, to gain insights in how to focus eorts to speed up code. We will then cover unit testing in C. The use of scientific libraries in your code will be examined, including BLAS and LAPACK libraries. Finally, an introduction to the LaTeX typesetting language will be given.
- Assessment Detail
- 100% continuously assessed programming assignments. The course will be examined by assignments. There will be a mixture of theoretical and practical assignments.