Identifying Data 2019/20
Subject (*) High performance computing in bioinformatics Code 614522011
Study programme
Mestrado Universitario en Bioinformática para Ciencias da Saúde
Descriptors Cycle Period Year Type Credits
Official Master's Degree 2nd four-month period
First Obligatory 6
Language
Spanish
Galician
English
Teaching method Face-to-face
Prerequisites
Department Enxeñaría de Computadores
Coordinador
González Domínguez, Jorge
E-mail
jorge.gonzalezd@udc.es
Lecturers
González Domínguez, Jorge
E-mail
jorge.gonzalezd@udc.es
Web http://campusvirtual.udc.es/moodle
General description Estudo dos diferentes tipos de arquitecturas paralelas que se poden empregar no eido da bioinformática. Introducción a diferentes modelos de programación paralela. Uso de sistemas paralelos para acelerar a execución de ferramentas bioinformáticas.

Study programme competencies
Code Study programme competences
A2 CE2 – To define, evaluate and select the architecture and the most suitable software for solving a problem in the field of bioinformatics
A3 CE3 – To analyze, design, develop, implement, verify and document efficient software solutions based on an adequate knowledge of the theories, models and techniques in the field of Bioinformatics
B2 CB7 - Students should know how to apply the acquired knowledge and ability to problem solving in new environments or little known within broad (or multidisciplinary) contexts related to their field of study
B5 CB10 - Students should possess learning skills that allow them to continue studying in a way that will largely be self-directed or autonomous.
B7 CG2 - Maintain and extend well-founded theoretical approaches to enable the introduction and exploitation of new and advanced technologies
C1 CT1 - Express oneself correctly, both orally writing, in the official languages of the autonomous community
C3 CT3 - Use the basic tools of the information technology and communications (ICT) necessary for the exercise of their profession and lifelong learning

Learning aims
Learning outcomes Study programme competences
To understand the main differences in the organization of parallel architectures AJ2
BJ7
To understand the main programming models for high performance computing AJ3
BJ2
BJ5
To apply the new knowledge to the efficient execution of parallel bioinformatics tools AJ2
BJ5
CJ1
CJ3

Contents
Topic Sub-topic
1) Introduction to parallel programming 1.1) Basic concepts of parallel computing
1.2) Parallel computer architectures
1.3) Parallel programming paradigms
1.4) Performance evaluation of parallel algorithms
2) Parallel programming on shared memory architectures 2.1) Shared memory architectures
2.2) Shared memory programming model
2.3) Programming languages for shared memory architectures
3) Parallel programming on distributed memory architectures 3.1) Distributed memory architectures
3.2) Message-passing programming model
3.3) Programming languages for distributed memory architectures
4) Parallel programming on emerging architectures 4.1) GPUs
4.2) Programming languages for GPUs
4.3) Intel Xeon Phi
5) Executing parallel bioinformatics tools 5.1) Analysis of parallel bioinformatics tools
5.2) Execution on shared memory systems
5.3) Execution on distributed memory systems
5.4) Execution on GPUs
5.5) Usage of execution queues on supercomputers centers

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Guest lecture / keynote speech A2 A3 B2 B5 B7 14 28 42
Laboratory practice A2 B2 B5 C3 21 52.5 73.5
Supervised projects A2 C1 C3 3 18 21
Oral presentation A2 C1 C3 2 6 8
Objective test A2 A3 B2 B5 B7 2 0 2
 
Personalized attention 3.5 0 3.5
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech Oral lectures with slides and questions from the students. The goal of these presentations is to provide information and to help in the adquisition of knowledge. There will be oral lectures related to the contents 1, 2, 3 and 4. I will be the besis for the rest of activities.
Laboratory practice Activity to increase the knowledge of the concepts explained in the oral lectures, by performing practical sessions in computers. The students will understand the practical concepts of high performance computing. Particularly, these sessions will focus on content 5, and it will be necessary for the supervised project and the oral test.
Supervised projects The student will develop an individual work where he must use a parallel bioinformatic tool. This project will be used to evaluate whether the student learnt the concepts explained during the laboratory prcatices and he is able to use the new knowledge on different scenarios.
Oral presentation Activity where students must expose to the teacher and the colleagues the results of their projects. There will enough time so that the other students can ask questions about the work (they must be active).
Objective test Activity to evaluate the knowledge acquired by the students during the oral lectures. It consists of a written test with several questions.

Personalized attention
Methodologies
Objective test
Oral presentation
Laboratory practice
Supervised projects
Description
In the laboratory practical sessions the students will be allowed to ask questions. The teacher will use any necessary activity to solve the questions and doubts. Moreover, it is recommended that students attend to tutorships in the teacher office, where they will be allowed to ask questions related to the theorical and practical concepts that will be evaluated.

Partial-time students must use the tutorships and the personalized attention to follow the lectures and laboratory practices when they are not able to attend the original date.

Assessment
Methodologies Competencies Description Qualification
Objective test A2 A3 B2 B5 B7 Written test about the contents presented in the lectures and the laboratory practices. 30
Oral presentation A2 C1 C3 Presentation of the results of the supervised project in front of the teacher and the other students.

It is necessary (but not sufficient) to perform this oral presentation and actively attend to the colleagues presentations in order to pass the subject.
10
Laboratory practice A2 B2 B5 C3 The mark will be obtained by correctly completing a practical exercise as well as attending to the laboratory sessions. 20
Supervised projects A2 C1 C3 The mark of these supervised project depends on both the quality of the results and the quality of the final report.

It is necessary (but not sufficient) to write the final report and obtain at least 25% of its qualification (equivalent to 10% of the global qualification) in order to pass the subject.
40
 
Assessment comments

In order to pass the subject it is necessary to fulfill the following conditions:

- To obtain global qualification equal or higher than 50%.

- To obtain qualification equal or higher than 2.5/10 in the supervised project.

- To complete the oral presentation.

- To actively attend to the colleagues presentations.

If the student obtains global qualification equal or higher than 50% but any of the previous conditions is not fulfilled, the final qualification will be Fail (4.5/10).

In the second chance the student will be allowed to retake 80% of the total qualification: supervised project, oral presentation and objective test. Only the qualification of the laboratory practices can not be retaken. The qualification of the laboratory practices obtained in the first chance will be kept for the second chance.

All students that do not complete the objective test will be considered as "not presented", even though they complete the laboratory practices, the supervised project and/or the oral presentation.

Qualification for partial-time students will be assigned using the same rules as for ordinary students. Partial-time students must attend to the oral presentations of their colleagues too. Attendance to lectures and laboratory practices are not compulsory for any student.

Those students who repeat the subject because they did not reach the minimum mark the previous year will be able to maintain the partial marks (practical exam, supervised project, oral presentation or theoretical exam). In order to save these partial marks they have to tell the teacher the first week of the course.


Sources of information
Basic Peter S. Pacheco (2011). An introduction to parallel programming. Morgan Kaufmann
Jason Sanders (2011). CUDA by example : an introduction to general-purpose GPU programming. Addison-Wesley
Thomas Rauber [et al.] (2013). Parallel Programming for Multicore and Cluster Systems. Springer

Complementary Francisco Almeyda [et al.] (2008). Introducción a la programación paralela. Paraninfo Cengage Learning
Bertil Schmidt (2010). Bioinformatics: High Performance Parallel Computer Architectures. CRC Press


Recommendations
Subjects that it is recommended to have taken before

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus

Other comments

It is advisable to have certain knowledge about programming and computer architecture



(*)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.