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.
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.
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, 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 as well as techniques to help deliver high performance from parallel programs. In addition, the programme offers the possibility for students to specialize in the areas of computer architectures and sustainable computing, computer graphics, or real-time systems. 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) and use a variety of advanced systems available at the SNIC Science Cloud and the Chalmers Center for Computational Science and Engineering (C3SE).
This master's programme is for all students who would like to acquire in-depth knowledge, abilities, skills and methodologies in the area of Computer engineering and in particular in the field of High-performance computer systems.
More specifically, it is for those students that aim at developing their knowledge, abilities, skills and methodologies needed to:
- Be able to lead and participate in software development as well as computer hardware for general and specific computer applications with high demands on computational performance and/or energy efficiency;
- Be able to carry out development work in the technological forefront in national as well as international environments in general and with expert knowledge in any of the following computer systems core subjects: computer architecture, real-time systems and computer graphics;
- Develop innovative technology and in methodologies needed to take an innovative idea to the market.
Several industrial trends make the proposed master's program relevant. High-performance computing systems have enabled the creation of many major industries such as the computer game industry, database systems and, more relevant, all applications for machine learning such as autonomous vehicles.
The subjects of computer software development and real-time systems are fundamental areas in the High-performance computer systems master’s programme. The courses included in the programme plan handle topics such as telecom and algorithms.
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 two compulsory courses that form a common foundation in High-performance computer systems.
- Computer architecture
- High-performance parallel programming
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.
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
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.
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
The compulsory elective track 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 2 of the 4 available tracks in order to graduate.
Profile track: Computer systems
- Sustainable computing
- Parallel computer architecture
Profile track: Computer graphics
- Computer graphics
- Advanced computer graphics
Profile track: Real-time systems
- Real-time systems
- Dependable real-time systems
Profile track: Entrepreneurship
- Strategic management of technological innovation
- Creating technology-based ventures
Students are free to choose a large number of courses for their programme. This allows each student 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 students may choose to take courses in areas such as computational sciences or machine learning. Students may also opt to select courses closer to the core such as Operating systems or Networking. In addition, students may also take as elective courses, courses that belong to tracks that they have not chosen before for the requirements of their programme.'You can choose from a wide range of elective courses, including the following:
- Computational physics
- Computational methods in bioinformatics
- Empirical software engineering
- Computational biology 1
- Principles on concurrent programming
- Applied machine learning
- Techniques for large-scale data
- Autonomous robots
- Algorithms for machine learning and interference
- Operating systems
- Computer networks
- Distributed systems
- Creative problem solving in engineering
- Computer vision
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