# M.Sc. in High-Performance Computing

## Is this course for me?

The programme is taught in close collaboration with the Research IT (previously The Trinity Centre for High Performance Computing, TCHPC) and the Schools of Physics and Chemistry and has close links to the IITAC interdisciplinary research project in computational science. The course has been awarded a Hewlett-Packard technology for teaching grant.

The aim of the course is to train students in practical applications of high-performance technical computing in industry, finance and research. Course content includes computer architecture, software optimisation, parallel programming, classical simulation and stochastic modelling. Application areas include simulation of physical, chemical and biological systems, financial risk management, telecommunications performance modelling, optimisation and data mining. The course has a number of optional elements, allowing specialisation in application areas.

The course includes a strong practical element. Students have unlimited access to a dedicated teaching computing laboratory, and access to the facilities of Research IT (previously The Trinity Centre for High Performance Computing, TCHPC), which include large-scale parallel computers. Career opportunities include mathematical modeling, simulation and forecasting, data-base mining and resource management. The techniques covered during the year will allow students to work in advanced software development including parallel and concurrent software applications. High-performance technical computing methods are becoming increasingly widespread in research into mathematics, physics, chemistry and biotechnology, engineering and finance, providing a wide range of options for the student wishing to go on to further research.

**Samyukta Venkataramanan**

As an undergraduate I had the opportunity to work on a couple of large-scale simulation projects which got me interested in working with parallel programming. A masters in HPC provided the perfect platform for me to pursue a career that combines my knowledge of Mathematics and my passion for Computer Science.

The M.Sc. program opened up an entirely new avenue of computing for me. It has helped me build on the underpinning knowledge that I gained from my undergraduate degree. It has provided me with plentiful inspiration for ongoing and further research in the area of numerical analysis.

## What is High-Performance Computing (HPC)?

High-Performance Computing (HPC) makes use of the most powerful computing systems to solve the substantial technical and numerical problems that arise in simulations of complex physical, biological and financial systems. These computer systems have many connected computing cores that must be harnessed effectively to optimise performance. Mastering the subject involves learning about advanced multi-core computing technology and combining this with the mathematical, problem-solving and programming skills needed to solve large-scale problems.

As a student, you will have full access to a dedicated teaching laboratory. To complete assignments and develop software for larger projects, you can use the large-scale computing resources managed by the Trinity Centre for High-Performance Computing. The centre also manages a scientific visualisation facility, available for project work.

During your year in Trinity, you will develop the expertise to make use of a large number of computer processing cores and use them to solve large numerical problems quickly, precisely and reliably. The course presents the practical mathematical skills needed to translate descriptions of complex systems into a form the computer can manipulate and solve efficiently.

This programme equips students with the combination of programming skills and mathematical insight to enable them to go on to careers or academic research in large-scale modelling, simulation or numerical multi-core software development. To make use of powerful modern computing systems, you will learn the programming tools needed, the best algorithms adapted to solve different types of problem and how to maximise the impact of available resources.

The course is aimed at graduates with a good honours degree (II.1 level or equivalent) in a technical discipline such as mathematics, physics, engineering, chemistry or mathematical finance. No prior programming experience is assumed but some familiarity with the concepts is useful. A background in basic mathematical concepts is important.

## How to Apply

Applications are handled via the Graduate Studies office of Trinity College, Dublin. It is possible to apply online - follow this link for link for general applications instructions.

Completed applications must be received by the 31st July. Well-qualified applicants can expect an earlier positive decision, if they apply early.

In accordance with the overall standards for postgraduate admission at TCD applicants should have an honours degree at II.1 grade or better, or an equivalent qualification from universities with different systems of grading awards, or a relevant track record to compensate for somewhat deficient purely academic qualifications. We need students to have a background in a numerate area, such as mathematics, science, finance, engineering or computing as otherwise all the coursework would be unrealistically demanding.

## Careers

Successful graduates of the course go on to careers in technical and scientific computing and modelling, either in industrial or academic positions. A substantial number of graduates begin research towards their Ph.D. directly after completing the course, studying topics as diverse as astrophysics, biomolecular modelling, fluid mechanics and financial mathematics.

The skills learned during the course allow the student to construct and determine the dynamics of sophisticated models of complex systems, and these skills have allowed many of our graduates to prosper in commercial analysis jobs. Many graduates go on to positions in the finance industries.

The technical and technological skills learned during the year allow many students to work directly in the IT sector, either directly in advanced software development or in the optimisation of large codes to high-performance computing platforms.

As a successful graduate of the course, you will have career opportunities in;

- Academic Research
- Engineering and Industiral Simulation
- Financial Forecasting
- Numerical Modelling
- Software Engineering
- HPC Systems Support and Development