In order to drive the development of the future's high-performance computer systems, whether for software or hardware development, it is necessary to have a holistic view. This view combines how algorithms specified in a high-level language can utilize given computational structures and how computational resources should be designed and managed to achieve the high demands on computational performance and energy utilization as required by the future digital society. This programme focuses on hardware-software co-design aspects to develop domain-specific architectures considering current emerging applications such as artificial intelligence and deep learning.
The main topic and fundamental idea behind the programme is how the needs of future industries in terms of high computational performance and energy efficiency can be met with systematic methods based on the latest research results in the field of computer systems engineering. The master's programme in High-performance computer systems aims to provide these cutting-edge skills.
Programme description
The master’s programme in High-performance computer systems:
- Aims to provide a comprehensive understanding of how a complete computer system consisting of multiple layers of software and hardware interact to provide ultimate functionality, performance, and energy efficiency characteristics;
- Offers a deep understanding of different topics in the areas of computer architecture, reconfigurable computing, computer graphics, and real-time systems, which are required to master the design of future computer systems that achieve exceptional computational performance (using general purpose and accelerator processing elements) and energy efficiency for demanding emerging applications;
- Offers the possibility to dive deep into innovation and entrepreneurship, with special emphasis on how technical ideas can be transformed into businesses either as a startup or as part of existing organizations.
The master's programme includes courses on advanced computer architecture, techniques to help deliver high performance from parallel programs, as well as aspects and techniques in the field of energy efficiency and sustainability. In addition, the programme offers the possibility for students to specialize in the areas of computer architectures and reconfigurable computing, computer graphics, or real-time systems. In all courses the material covers cutting-edge technology and emerging workloads such as applications of artificial intelligence and machine learning in different fields. In addition, the students may also choose a track on Entrepreneurship. As part of their training, the students are offered a course covering generic skills such as technical writing and presentation, research methodology, and ethics.
In addition to the compulsory and specialization courses, which offer the necessary depth, the students are free to choose elective courses, giving them a breadth into related areas such as computational science and machine learning.
Finally, in order to complete the master's programme the students have to complete a 30 credit Master Thesis project where the acquired knowledge and skills are put into practice. This project offers the opportunity for students to work with world-renowned top faculty researchers that are involved in key projects related to the HPC strategy such as the European Processor Initiative (EPI)
Topics covered
The subjects of computer architecture, parallel programming and sustainability/energy-efficiency are fundamental areas in the High-performance computer systems master's programme. The courses included in the programme plan also cover topics such as parallel architectures, reconfigurable systems, computer graphics, and real-time systems. Overall, the courses in the programme also cover aspects of hardware-software co-design and the use of artificial intelligence or machine learning in the different areas and topics above mentioned.
Master's programme structure
The master's programme runs for a duration of two years, leading to a Master of Science (MSc) degree. During each year, students can earn 60 credits (ECTS) and complete the programme by accumulating a total of 120 credits. Credits are earned by completing courses where each course is usually 7.5 credits. The programme consists of compulsory courses, compulsory elective courses, and elective courses.
Compulsory courses year 1
During the first semester the programme starts with three compulsory courses that form a common foundation in High-performance computer systems.
- Computer architecture
- High-performance parallel programming
- Sustainable computing
Computer architecture
Computer architecture is the engineering discipline on computer design, which conveys principles for how to convert the raw speed of transistors into application software performance through computational structures that exploit the parallelism in software. This course covers the important principles for how to design a computer that offers high performance to the application software.
High-performance parallel programming
In this course, the students will not only learn the parallel programming paradigms, languages, and development environments for High-performance computer systems (e.g. OpenMP, MPI, CUDA,) but also be exposed to performance problem-solving techniques and methodologies as to improve the execution time of parallel programs and exploit the full potential of the underlying parallel systems.
Sustainable computing
The aim of the course is to make students aware of the importance of sustainability in computing and to show techniques to achieve it at the different levels of a computer system. The course gives an overview of the energy efficiency aspects of computer systems and computing, ranging from the electronic circuits up to the applications for systems ranging from small IoT devices to large data centres. For instance, students will learn about approaches to measuring and estimating the energy consumption of different architectural components as well as architecture and software techniques to save energy in the system.
Compulsory courses year 2
In the second year you must complete a master's thesis in order to graduate. The thesis may be worth 30 credits or 60 credits depending on your choice.
- Technical writing
- Master’s thesis
Technical Writing
This course aims to develop the student's awareness of the underlying structure of scientific and engineering research papers and to improve proficiency in reviewing and writing scientific research papers as well as presenting such papers in public. Ethical issues in connection with scientific writing, e.g. plagiarism and authorship, is an important part of the course.
Master's Thesis
Students may perform their thesis work in an industrial context or within a research group at Chalmers. Students who want to write a research-oriented thesis may apply for an additional 15 credit research project or extend their research thesis work to 60 credits.
Compulsory elective courses (Profile courses)
The compulsory elective profile courses serve as the backbone of the master’s programme. Through compulsory elective courses, you can specialize in computer systems, computer graphics, real-time systems, entrepreneurship, or a combination thereof. During year 1 and 2, you need to select at least 4 of the 8 available profile courses in order to graduate.
Computer systems profile courses
- Parallel computer architecture
- Reconfigurable computing
Computer graphics profile courses
- Computer graphics
- Advanced computer graphics
Real-time systems profile courses
- Real-time systems
- Dependable real-time systems
Entrepreneurship profile courses
- Strategic management of technological innovation
- Creating technology-based ventures
Elective courses
You are free to choose a large number of courses for your programme. This allows you to tailor the programme to her/his own preferences. These courses offer breadth in the knowledge of topics that are still related to the programme. As such you may choose to take courses in areas such as computational sciences or machine learning. You may also opt to select courses closer to the core such as Operating systems or Networking. In addition, you may also take as elective courses, profile courses that you have not chosen before for the requirements of their programme. The following courses are recommended as elective courses for this programme.
- Algorithms
- Applied machine learning
- Autonomous robots
- Computational physics
- Computational methods in bioinformatics
- Computer networks
- Computer vision
- Creative problem-solving in engineering
- Data-driven support for cyber-physical systems
- Design of AI-systems
- Distributed systems
- Empirical software engineering
- Introduction to data science and AI
- Introduction to game research
- Operating systems
- Principles on concurrent programming
- Quantum computing
Career
The master's programme High-performance computer systems has been designed to be relevant to a growing industrial and governmental ICT sector (e.g. computer game industry, database systems and, more relevant, all applications for machine learning such as autonomous vehicles). The programme gives a unique opportunity to combine academic training with engineering work experience, as well as entrepreneurship skills. As such a student is prepared to become:
- Co-Founder, Chief Architect, and/or Product Owner for a product or startup company that brings a research idea into a product
- Chief Technology Officer who takes responsibility for the company’s technological development plan and influences its competitiveness in the market
- Systems Architect and Designer who builds HPC systems either as a new product or from available COTS
- HPC Architect and Performance Engineer who builds HPC systems and evaluates the performance and tunes applications for such systems.
- Systems Administrator who manages an HPC system as well as monitors and evaluates application performance
- Project Manager responsible for driving specific projects by choosing technical directions and leading people
- Software Engineer who develops hardware-aware optimized software for either Cloud Function as a Service (FaaS) software, libraries, or runtimes.
Research within High-performance computer systems
The faculty behind the programme has an established track record of academic, industrial and scientific accomplishments in the following research areas:
- Computer Architecture
- Memory Hierarchy and Memory Compression
- Parallel Processing Systems (multi- and many-core systems)
- Runtime Systems
- Reconfigurable Computing
- Approximate Computing
In addition, faculty members are involved in a variety of research projects related to the programme’s topics such as the European Processor Initiative (EPI).
As a student, you will be invited to take part in such research through seminars, thesis projects, and other individual and group projects. Past research collaborations including master-level students have yielded many innovations and accompanying scientific publications. Moreover, many of these students have been accepted to Ph.D. studies at Chalmers and other leading institutions worldwide.
Department of Computer Science and Engineering