Checking date: 08/07/2020

Course: 2020/2021

High Performance Computing
Study: Master in Computer Engineering (228)


Department assigned to the subject: Department of Computer Science and Engineering

Type: Compulsory
ECTS Credits: 3.0 ECTS


Students are expected to have completed
Computer Architecture, Operating Systems
Competences and skills that will be acquired and learning results.
1. Ability to understand and apply advanced concepts in high performance computing and numerical methods for solving engineering problems. 2. Ability to analyze and design high performance computing applications. 3. Ability to apply high performance computing techniques to engineering problems.
Description of contents: programme
1. Principles of high performance computing. 2. Design and analysis of high throughput computing applications. 3. Parallel programming paradigms: message passing, shared memory, data-parallel. 4. Performance analysis and optimization of parallel applications. 5. Trends in High Performace Computing.
Learning activities and methodology
AF1. Theory classes. Oriented towards specific competences of the subject, they will allow to teach the students the concepts they should know. Before the classes, the students will have in advance course materials and bibliography to study and to deeply understand the course topics. AF4. Classes in computer labs. The course includes mandatory projects, that will be made in groups. AF7. Student self-study. Oriented to acquire self-organization capacities and to be able to plan individual work and the learning process. It might include exercises, extra lectures, and studying the course contents.
Assessment System
  • % end-of-term-examination 50
  • % of continuous assessment (assigments, laboratory, practicals...) 50
Basic Bibliography
  • B. Wilkinson, M. Allen. Parallel Programming Techniques and Applications Using Networked Workstations and Parallel Computers. Prentice Hall, 1999.
  • Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farrell. PThreads Programming. O'Reilly, 1997.
  • D. Kirk, W. Hwo. Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann. 2010
  • D.E. Culler, J.P. Singh, with A. Gupta. Parallel Computer Architectures: a Hardware/Software Approach. Morgan Kaufmann Pub.,1999.
  • G.R. Andrews. Multithreaded, Parallel, and Distributed Programming. Addison Wesley, 2000..
  • P.S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann Pub.,1997..
  • R. Chandra, R. Menon,L. Dagum et al.. Parallel Programming in OpenMP. Morgan Kaufmann Pub., 2000..

The course syllabus and the academic weekly planning may change due academic events or other reasons.

More information: