Study programme competencies |
Code
|
Study programme competences / results
|
A1 |
CE1 - Define, evaluate and select the most appropriate architecture and software to solve a problem |
A2 |
CE2 - Analyze and improve the performance of a given architecture or software |
A4 |
CE4 - Deepen in the knowledge of different programming tools and programming languages in the field of the high performance computing |
A5 |
CE5 - Analyze, design and implement efficient parallel algorithms and applications |
A7 |
CE7 - Know the emerging technologies in the supercomputing field |
B1 |
CB6 - Possess and understand the knowledge that give a baseline or opportunity to be original in the development and/or application of ideas, often in a research environment |
B2 |
CB7 - The students have to know how to apply the acquired knowledge and their capacity to solve problems in new or hardly explored environment inside wider contexts (or multidiscipinary) related to its area of development |
B5 |
CB10 - The students have to possess learning skills that allows them to continue to study in a mainly self-driven or autonomous manner |
B6 |
CG1 - Be able to search and select useful information to solve complex problems, using the bibliographic sources of the field |
B9 |
CG4 - Be able to plan and do research, development and innovation tasks in high performance computing related environments |
C1 |
CT1 - Use the basic technologies of the information and computing technology field required for the professional development and the long-life learning |
Learning aims |
Learning outcomes |
Study programme competences / results |
Know advanced techniques for the optimization of parallel codes |
AJ1 AJ2 AJ5
|
BJ1 BJ2 BJ5 BJ6 BJ9
|
|
Control the affinity and load balance of tasks |
AJ5
|
BJ1 BJ2 BJ5 BJ6 BJ9
|
CJ1
|
Optimize communications in distributed memory systems |
AJ2 AJ4 AJ5
|
BJ1 BJ2 BJ5 BJ6 BJ9
|
CJ1
|
Perform parallel input/output operations |
AJ4 AJ5
|
BJ1 BJ2 BJ5 BJ6 BJ9
|
CJ1
|
Program systems with several hardware accelerators |
AJ4 AJ5 AJ7
|
BJ1 BJ2 BJ5 BJ6 BJ9
|
CJ1
|
Program systems with shared/distributed memory |
AJ4 AJ5 AJ7
|
BJ1 BJ2 BJ5 BJ6 BJ9
|
CJ1
|
Contents |
Topic |
Sub-topic |
1- Advanced techniques for the optimization of parallel codes |
- |
2- Affinity control and load balance |
- |
3- Optimization of communications in distributed memory systems |
- |
4- Parallel input/output |
- |
5- Hybrid programming for systems with several hardware accelerators |
- |
6- Hybrid programming for systems with shared/distributed memory |
- |
Planning |
Methodologies / tests |
Competencies / Results |
Teaching hours (in-person & virtual) |
Student’s personal work hours |
Total hours |
Laboratory practice |
A2 A5 C1 |
4 |
80 |
84 |
Supervised projects |
A1 A2 A4 A5 A7 B1 B2 B5 B6 B9 C1 |
0 |
45 |
45 |
Mixed objective/subjective test |
A2 A5 B2 |
2 |
0 |
2 |
Workbook |
A1 A4 A7 B1 |
0 |
18 |
18 |
|
Personalized attention |
|
1 |
0 |
1 |
|
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students. |
Methodologies |
Methodologies |
Description |
Laboratory practice |
In this activity autonomous tasks guided by instructions from the teacher are carried out which allow the student to become familiar from a practical point of view with the contents exposed in the reading materials on the contents of the subject. |
Supervised projects |
They consist in the development of projects in which the student has to use the acquired knowledge to solve different problems in an autonomous way. |
Mixed objective/subjective test |
An evaluation test of the subject is conducted in this activity. |
Workbook |
Reading and viewing material related to the content of each topic. The student will have all the necessary material according to the calendar of the subject. The teacher will promote an active attitude, encouraging the student to ask questions that clarify specific aspects. The material will leave open questions for the reflection of the student. |
Personalized attention |
Methodologies
|
Supervised projects |
Laboratory practice |
|
Description |
Both in the practices carried out autonomously as well as during the development of the supervised projects, the students will be able to present questions, doubts, etc. The teacher, in response to these requests, will review concepts, solve new problems or use any activity that considers appropriate to resolve the issues raised. |
|
Assessment |
Methodologies
|
Competencies / Results |
Description
|
Qualification
|
Supervised projects |
A1 A2 A4 A5 A7 B1 B2 B5 B6 B9 C1 |
Quality of the work developed and progress of the student during its completion |
70 |
Mixed objective/subjective test |
A2 A5 B2 |
Correction and quality of the solutions proposed by the students to the questions raised in the test |
30 |
|
Assessment comments |
In the activities of distance evaluation students may be required to apply mechanisms that guarantee their identity as well as the authorship of the evaluable elements presented.
All the evaluation activities included in this guide conform the process of continuous evaluation of the subject. Neither the classes nor most of the evaluation activities require the student's presence, with the exception of the mixed test, of a maximum of 2 hours. This, together with the fact that all the materials of the subject are available in the education web platform of the degree, favors the work and the evaluation of the students enrolled part-time and with academic allowance of teaching exemption.
|
Sources of information |
Basic
|
|
- Using Advanced MPI: Modern Features of the Message-Passing Interface. 2014. W. Gropp, T. Hoefler, R. Thakur, E. Lusk. MIT Press - Using OpenMP: The Next Step: Affinity, Accelerators, Tasking, and SIMD (Scientific and Engineering Computation). 2017. R. van der Pas, E. Stotzer, C. Terboven . MIT Press - OpenCL Programming Guide. 2011. A. Munshi, B. Gaster, T. G. Mattson, J. Fung, D. Ginsburg. Addison-Wesley/Pearson Education |
Complementary
|
|
- Multi-core programming. 2006. S. Akhter e J. Roberts. Intel Press. - Professional CUDA C Programming. 2014. J. Cheng, M. Grossman, T. McKercher. Wross. |
Recommendations |
Subjects that it is recommended to have taken before |
Parallel Programming/614473102 | Heterogeneous Programming/614473103 |
|
Subjects that are recommended to be taken simultaneously |
|
Subjects that continue the syllabus |
Master's Thesis/614473111 |
|
Other comments |
Due to the strong interrelation between the theoretical part and the practical part, and the progressiveness in the presentation of concepts closely related to each other in the theoretical part, it is advisable to dedicate a time of study or daily review.
In this subject, intensive use of online communication tools will be made: videoconference, email, chat, etc.
|
|