Type A
|
Code |
Competences Specific | | CM14 |
Have knowledge of and apply the fundamental principles and basic techniques of parallel, concurrent, distributed and real-time programming.
|
| CP3 |
Be able to evaluate the computational complexity of a problem, know algorithmic strategies that may lead to its resolution and recommend, develop and implement the one that will guarantee the best performance in accordance with the established requirements.
|
Type B
|
Code |
Competences Transversal | | CT5 |
Communicate information clearly and precisely to a variety of audiences. |
Type C
|
Code |
Competences Nuclear |
Type A
|
Code |
Learning outcomes |
| CM14 |
Know the architectures of general-purpose multiprocessors.
Know the architectures of Shared-Memory Multiprocessors (SMM) and Distributed-Memory Multiprocessors (DMM).
Design and implement parallel programs on CMM using MPI.
Design and implement programs parallel to the DMM using MPI.
| | CP3 |
Understand the general process of algorithm parallelisation and their design principles.
Design and implement parallel programs on CMM using MPI.
Design and implement programs parallel to the DMM using MPI.
|
Type B
|
Code |
Learning outcomes |
| CT5 |
Produce quality texts that have no grammatical or spelling errors, are properly structured and make appropriate and consistent use of formal and bibliographic conventions.
Draw up texts that are structured, clear, cohesive, rich and of the appropriate length
Draw up texts that are appropriate to the communicative situation, consistent and persuasive
Use the techniques of non-verbal communication and the expressive resources of the voice to make a good oral presentation
Draw up texts that are structured, clear, cohesive, rich and of the appropriate length
Produce a persuasive, consistent and precise discourse that can explain complex ideas and effectively interact with the audience
|
Type C
|
Code |
Learning outcomes |
Topic |
Sub-topic |
1. Introduction |
1. General-purpose parallel architectures
2. Multiprocessor structures |
2. Shared memory multiprocessors |
1. Architecture
2. Cache consistency
3. General process of parallelizing algorithms |
3. OpenMP |
1. Basic concepts
2. Programming model
3. Programming directives |
4. Distributed memory multiprocessors |
1. Architecture
2. Interconnection Networks
3. Programming Models
4. General process of parallelizing algorithms |
5. MPI |
1. Basic concepts
2. Programming model
3. Bookstore functions |
Methodologies :: Tests |
|
Competences |
(*) Class hours
|
Hours outside the classroom
|
(**) Total hours |
Lecture |
|
11 |
33 |
44 |
Introductory activities |
|
1 |
0 |
1 |
Laboratory practicals |
|
25 |
65 |
90 |
Personal attention |
|
2 |
0 |
2 |
|
Multiple-choice objective tests |
|
2 |
1 |
3 |
Practical tests |
|
2 |
4 |
6 |
Oral tests |
|
2 |
2 |
4 |
|
(*) On e-learning, hours of virtual attendance of the teacher. (**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students. |
Methodologies
|
Description |
Lecture |
Following the concepts and examples of the bibliography, clarifying, expanding and summarizing (depending on the need) the theoretical concepts using transparencies and blackboard. The students interact in order to contribute their point of view to different engineering approaches. |
Introductory activities |
Explanation of the objectives, content and evaluation process. |
Laboratory practicals |
Solving engineering problems, using computers and/or simulators. |
Personal attention |
Students can go personally to the teacher's office during consultation hours in order to raise any doubts related to the theoretical or practical explanation, implementation of problems or practices and evolution and difficulties in their learning process. |
Description |
Students can go personally to the teacher's office during consultation hours in order to raise any doubts related to the theoretical or practical explanation, implementation of problems or practices and evolution and difficulties in their learning process. |
Methodologies |
Competences
|
Description |
Weight |
|
|
|
|
Multiple-choice objective tests |
|
Carrying out several theoretical tests during the semester related to the subject matter taught up to that point. |
50% |
Practical tests |
|
Resolution of some practical exercises, which in addition to the skills to be demonstrated in the development tests, we want to assess and evaluate the real problem solving skills, their testing and validation of results. In the same way, their written ability to describe the problem and its resolution is assessed. |
50% |
Oral tests |
|
Linked to practice tests. Interviews are held with the group that has completed the practical test, so that, individually, they defend/demonstrate the proposed solution and their knowledge of it. |
0% |
Others |
|
|
|
|
Other comments and second exam session |
It is important to follow the work plan, which indicates, week by week, the evolution of the contents and the dates of the different events. The Assessment in the second call allows students to take all the assessment tests that have taken place during the course. The development and test-type tests on the day specified by the ETSE for this subject. The practical tests will be delivered by moodle on the same day of the exam and the oral tests linked to the practical tests during the week following the day of the second exam. The assessment tests will consist of two blocks: a.- test, b.- practicals + oral. The student can, at his discretion, submit to any of these parties the grade that will be recorded, and will be used at the end, it will be the last that has been submitted. It is necessary to obtain a minimum grade of 4 in the theoretical part and to pass each of the practical tests in order to pass the subject. |
Basic |
D. Culler, J.P. Singh, i A. Gupta, Parallel Computer Architecture: A hardware/software approach, Morgan Kaufmann, 1997
Ananth Grama, Anshul Gupta, George Karypis, i Vipin Kumar., Introduction to Parallel Computing, Ananth Grama, Anshul Gupta, George Karypis, i Vipin Kumar., 2003
L. Ridway Scott, Terry Clark i Babak Bagheri, Scientific Parallel Computing, Princeton University Press, 2005
|
|
Complementary |
Michael J. Quinn, Parallel Programing in C with MPI and OpenMP, McGrawHill, 2003
Chandra, Rohit, Parallel programming in OpenMP, Morgan Kaufmann, 2001
|
|
Subjects that it is recommended to have taken before |
COMPUTER STRUCTURE/17234108 | PROGRAMMING METHODOLOGIES/17234116 | COMPUTERS/17234107 | PROGRAMMING/17234114 | COMPUTER ARCHITECTURE/17234109 |
|
(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation. |
|