Study programme competencies |
Code
|
Study programme competences / results
|
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 |
B6 |
CG1 - Be able to search and select useful information to solve complex problems, using the bibliographic sources of the field |
B7 |
CG2 - Elaborate adqueately and originally written essays or motivated reasonings, write planings, work projects, scientific papers and formulate reasonable hypothesis |
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 |
Analyze and improve the performance of a given architecture or software |
AJ2
|
BJ1 BJ2
|
CJ1
|
Deepen the knowledge of programming tools and different languages in the field of high performance computing |
AJ4
|
BJ6
|
CJ1
|
Analyze, design and implement efficient parallel algorithms and applications |
AJ5
|
BJ2
|
|
Know the technologies and tools available for computing in distributed systems over a network |
AJ7
|
BJ7
|
|
Contents |
Topic |
Sub-topic |
Structure of heterogeneous CPU-GPU systems |
- |
Introduction to programming in CUDA |
- |
Architecture of usual heterogeneous systems |
- |
Programming models and compilers for heterogeneous systems. |
- |
General purpose programming in heterogeneous systems. |
- |
Optimizations for heterogeneous systems. |
- |
Planning |
Methodologies / tests |
Competencies / Results |
Teaching hours (in-person & virtual) |
Student’s personal work hours |
Total hours |
Laboratory practice |
A2 A4 B2 |
19 |
19 |
38 |
Supervised projects |
A4 A5 B1 B2 B7 C1 |
4 |
80 |
84 |
Objective test |
A7 B7 |
1 |
0 |
1 |
Guest lecture / keynote speech |
B6 |
23 |
0 |
23 |
|
Personalized attention |
|
4 |
0 |
4 |
|
(*)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 |
n the laboratory practice, problem-based learning and case studies will be conducted. An introduction to the programming of heterogeneous systems logical processor on Zynq-7000 architecture will be made with the development environment Vivado de Xilinx. The GPUs with CUDA will be programmed on the cluster of the CESGA or of the GAC-UDC; and, will be compared with other programming methods such as OpenCL. Competencies worked: A2, A4, B2 |
Supervised projects |
consultation of bibliography, autonomous study, development of program activities, preparation of presentations and works. Competencies worked: A4, A5, B1, B2, B7, C1 |
Objective test |
Examination on the contents of the subject that will combine theory questions with problem solving. Competencies worked: A7, B7 |
Guest lecture / keynote speech |
The student will be informed in advance of the necessary material to read in order to correctly follow the teacher's explanation. In class, the teacher will clarify the most relevant aspects of the topic, interactively with the student. Competencies worked: B6 |
Personalized attention |
Methodologies
|
Laboratory practice |
Supervised projects |
|
Description |
Laboratory practices: Attend and resolve student doubts in relation to the practices proposed or performed in the laboratory.
Tutored work: Address and resolve doubts of students in relation to the proposed tutelage. |
|
Assessment |
Methodologies
|
Competencies / Results |
Description
|
Qualification
|
Laboratory practice |
A2 A4 B2 |
In the laboratory sessions, the development of practical dunes is proposed. At the end of these sessions, the correct functioning of the practice, the structuring of the code and the understanding of the concepts worked through a written test are valued. |
50 |
Supervised projects |
A4 A5 B1 B2 B7 C1 |
The student has to solve a job where he will present a memory and the correct functioning of the work in the laboratory is valued. |
30 |
Objective test |
A7 B7 |
Corresponds to knowledge imparted in the lectures. |
20 |
|
Assessment comments |
In the second opportunity the criteria and evaluation activity are the same as in the first opportunity. The fraudulent performance of the tests or evaluation activities, once verified, will directly imply the qualification of failure "0" in the matter in the opportunities it corresponds to you. The students with recognition of part-time dedication and academic exemption of exemption of assistance teniente exemption of attendance would follow the same criteria as the non-attendance modality.
|
Sources of information |
Basic
|
David Kirk and Wen-mei Hwu (2016). Programming Massively Parallel Processors. Morgran Kauffmann
L. H. Crokett, R. Elliot and M. Ederwitz (2014). The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000. All Programmable SoC. Strathclyde Academic Media |
|
Complementary
|
Jason Sanders (2010). CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison Wesley
P. P. Chu (2011). Embedded SoPC Design with Nios II Processor and VHDL Examples. Wiley-IEEE Press
B. R. Gaster, L. Howes, D. R. Kaeli, P. Mistry, D. Schaa (2013). Heterogeneous Computing with OpenCL. Morgan Kaufmann
D. R. Kaeli, P. Mistry, Dana Schaa, and D. P. Zhang (2015). Heterogeneous Computing with OpenCL 2.0.. Morgan Kaufmann Publishers Inc. |
|
Recommendations |
Subjects that it is recommended to have taken before |
|
Subjects that are recommended to be taken simultaneously |
High Performance Architecture/614473101 | Parallel Programming/614473102 |
|
Subjects that continue the syllabus |
Advanced Parallel Programming/614473107 |
|
Other comments |
It is advisable to read the assigned material for each theory class before attending it. Those students who submit papers or perform evaluation tests in a non-contact manner, may also request their dixital signature and / or a sworn statement about the authorship of the same. |
|