High Performance Computing Code:  M0.538    :  6
View general information   Description   The subject within the syllabus as a whole   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the UOC learning resources used in the subject   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the first semester of the academic year 2024/2025. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.

In this subject, inside the Master's Degree in Computational Engineering and Mathematics, will try to deepen in the field of the High Performance Computation (HPC), seeing the different possibilities that offers us this field,  the different levels of paradigms of programming, parallel and distributed applications, and the different hardware/software architectural solutions, that allow us work in this field (supercomputing, distributed systems, or new architectures like the GPUs).

We will examine architectures of high performance, its models by parallel and distributed computation, and some middleware for the computational Grid and Cloud.  Also we will observe the different concepts around Green Computing, as new paradigm that incorporates the idea of optimization of consumption, in addition to maximise the system performance.

Amunt

This course delves into advanced concepts of hardware/software architectures for high-performance computing. It is a natural continuation of undergraduate courses in computer science related to the area of fundaments of Structure and Computer Architecture, as well as complementary to courses related to algorithm computing in different computing areas, offering solutions for the computation of algorithms with high temporal cost.

Amunt

  • Requirements: Basic programming knowledge (C or Fortran) and GNU / Linux environments at the user level.
  • Software: GNU gcc (C/C ++/Fortran compiler) and user level of GNU/Linux distributions like Ubuntu/Redhat/CentOS/Rock.

Amunt

In this course, the main language to used is english, e.g. the reference materials to be used and the activities. Also in different  course subjects we will use some current articles on the field of high performance computing, which are written in English.

For this reason it is recommended to have a sufficient level of understanding of technical English.

  • Description: This course allows the student to know the concepts and acquire the necessary competences to design and develop computational solutions based on high performance computing, as an alternative to traditionally sequential systems. It addresses the process and communications design techniques needed to develop applications that take advantage of the computing resources of today's computing architectures. Allowing the migration from classic algorithms to new optimized algorithms aware of the architecture that allow to obtain better computational performance.
  • Requirements: Basic programming knowledge (C or Fortran) and GNU / Linux environments at the user level.
  • Bibliography: Using the UOC Modules, the reference textbook, and other recomended bibliography and research papers.
  • Software: GNU gcc (C/C ++/Fortran compiler) and GNU/Linux distributions like Ubuntu/Redhat/CentOS/Rock.

 

Amunt

In this couse we plan to obtain the tools you will need to achieve the following objectives:

1. Understand the motivations behind high performance computing and parallelism.

2. Understand the fundamentals of parallelism, parallel architectures, and programming models, including those related to shared-memory systems and distributed-memory systems.

3. Learn about the fundamental concepts for programming GPU devices using graphic computing programming models.

4. Understand the fundamentals related to management systems for high performance systems and their components, planning policies, and performance and analysis for high performance systems.

5. Understand the fundamentals and technologies related to distributed computing as well as the paradigms of grid and cloud computing, including their relationship with high performance computing.

6. Understand the fundamentals, characteristics, and main lines of research related to green computing and energy efficiency, as well as to sustainable computing and sustainability.

7. Understand the current challenges facing high performance computing.

Amunt

Module 1 Introduction to high performance computing

1. Motivations behind high performance computing
2. Parallelism and parallel architectures
3. Programming parallel applications
4. Performance for parallel applications
5. Challenges for high performance computing

Module 2 High performance architectures

1. Functional and data decomposition
2. Flynn's taxonomy
3. SIMD processor architectures
4. Multithread or MIMD processor architectures
5. Many-core architectures: the case of the Intel Xeon Phi

Module 3 Parallel programming and computing

1. Shared-memory programming models
2. Graphics programming models
3. Programing models for distributed memory
4. Parallel algorithmic schemes

Module 4 High performance computing system architectures

1. Organization of high performance systems
2. Interconnection networks
3. File systems for high performance systems
4. Job scheduler and resource managers

Module 5 Introduction to high performance distributed computing

1. Fundamentals of distributed computing
2. Grid computing
3. Cloud computing

Module 6 Green computing

1. Fundamentals and basic concepts
2. Energy efficiency
3. Sustainable computing and sustainability
4. List of recommended reading

 

Amunt

Amunt

Assessment at the UOC is, in general, online, structured around the continuous assessment activities, the final assessment tests and exams, and the programme's final project.

Assessment activities and tests can be written texts and/or video recordings, use random questions, and synchronous or asynchronous oral tests, etc., as decided by each teaching team. The final project marks the end of the learning process and consists of an original and tutored piece of work to demonstrate that students have acquired the competencies worked on during the programme.

To verify students' identity and authorship in the assessment tests, the UOC reserves the right to use identity recognition and plagiarism detection systems. For these purposes, the UOC may make video recordings or use supervision methods or techniques while students carry out any of their academic activities.

The UOC may also require students to use electronic devices (microphones, webcams or other tools) or specific software during assessments. It is the student's responsibility to ensure that these devices work properly.

The assessment process is based on students' individual efforts, and the assumption that the student is the author of the work submitted for academic activities and that this work is original. The UOC's website on academic integrity and plagiarism has more information on this.

Submitting work that is not one's own or not original for assessment tests; copying or plagiarism; impersonation; accepting or obtaining any assignments, whether for compensation or otherwise; collaboration, cover-up or encouragement to copy; and using materials, software or devices not authorized in the course plan or instructions for the activity, including artificial intelligence and machine translation, among others, are examples of misconduct in assessments that may have serious academic and disciplinary consequences.

If students are found to be engaging in any such misconduct, they may receive a Fail (D/0) for the graded activities in the course plan (including final tests) or for the final grade for the course. This could be because they have used unauthorized materials, software or devices (such as artificial intelligence when it is not permitted, social media or internet search engines) during the tests; copied fragments of text from an external source (the internet, notes, books, articles, other students' work or tests, etc.) without the corresponding citation; purchased or sold assignments, or undertaken any other form of misconduct.

Likewise and in accordance with the UOC's academic regulations, misconduct during assessment may also be grounds for disciplinary proceedings and, where appropriate, the corresponding disciplinary measures, as established in the regulations governing the UOC community (Normativa de convivència).

In its assessment process, the UOC reserves the right to:

  • Ask students to provide proof of their identity as established in the UOC's academic regulations.
  • Ask students to prove the authorship of their work throughout the assessment process, in both continuous and final assessments, through a synchronous oral interview, of which a video recording or any other type of recording established by the UOC may be made. These methods seek to ensure verification of the student's identity, and their knowledge and competencies. If it is not possible to ensure the student's authorship, they may receive a D grade in the case of continuous assessment or a Fail grade in the case of the final assessment.

Artificial intelligence in assessments

The UOC understands the value and potential of artificial intelligence (AI) in education, but it also understands the risks involved if it is not used ethically, critically and responsibly. So, in each assessment activity, students will be told which AI tools and resources can be used and under what conditions. In turn, students must agree to follow the guidelines set by the UOC when it comes to completing the assessment activities and citing the tools used. Specifically, they must identify any texts or images generated by AI systems and they must not present them as their own work.

In terms of using AI, or not, to complete an activity, the instructions for assessment activities indicate the restrictions on the use of these tools. Bear in mind that using them inappropriately, such as using them in activities where they are not allowed or not citing them in activities where they are, may be considered misconduct. If in doubt, we recommend getting in touch with the course instructor and asking them before you submit your work.

Amunt

In order to pass the course, you must pass the continuous assessment and take a synthesis test.

Your final mark for the course will be calculated as follows:

  • If you pass the continuous assessment and get the required minimum mark in the synthesis test, your final mark will be based on the weightings specified in the course plan.
  • If you pass the continuous assessment but don't get the required minimum mark in the synthesis test, your final mark will be the numerical mark from the synthesis test.
  • If you pass the continuous assessment and don't sit the synthesis test, you'll receive a final mark of Absent.
  • If you don't pass the continuous assessment, your final mark will be the mark you received in the continuous assessment.
  • If you don't take part in the continuous assessment, you'll receive a final mark of Absent.

 

Amunt