Go to:
Logótipo
You are here: Start > PRODEI027

Parallel Computing

Code: PRODEI027     Acronym: CP

Keywords
Classification Keyword
OFICIAL Science and Technology Programming

Instance: 2012/2013 - 2S

Active? Yes
E-learning page: https://moodle.fe.up.pt/
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Doctoral Program in Informatics Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
PRODEI 2 Syllabus 1 - 6 54 162
Mais informaçõesLast updated on 2012-10-24.

Fields changed: Improvement of final grade, Métodos de ensino e atividades de aprendizagem, Fórmula de cálculo da classificação final, Avaliação especial, Componentes de Avaliação e Ocupação, Obtenção de frequência, Programa, Observações, Objetivos

Teaching language

English

Objectives

BACKGROUND

Parallel and distributed computing is becoming the computing paradigm as hardware tends to multi-processing units. The common desktop is today built with multicore processors that collectively have more processing power, than the single core processor, but cores are individually less powerful. Programmers will have to deal with multiprocessor architectures in order to use effectively the machines of today and of the future.

AIMS

Acquisition of useful knowledge to develop parallel programs. Construction of solid basis in parallel architectures, algorithms parallelization, programming models, synchronization of processes and performance measures by the development of programs.

Scientific component:50%

Technological component:50%

Learning outcomes and competences

Students should be able to: a) Analyze a problem and identify the adequate parallelization model (Knowledge and Understanding) b) Write message-passing and shared memory programs (Engineering Analysis, Engineering Practice) c) Design parallel solutions for new problems (Engineering Design) d) Use computational models to estimate applications computation time (Investigations) e) knowledge of process concurrency and best practices to implement resource sharing (Transferable skills).

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Students should had completed successfully the programming subjects of the 1st and 2nd year.

Program

INTRODUCTION: - Distributed and parallel programming, parallel machines, processors, memory organization.

PARALLEL PROGRAMMING FUNDAMENTALS: Problem Division, Communication Patterns, Synchronization, Granularity of Parallelization, Staggering (distribution of work by the processors)

MULTI-PROCESSOR PROGRAMMING: - Message passing programming with MPI - Shared memory programming with OpenMP - Data Parallel programming with GPUs.

CHARACTERIZATION OF PARALLEL COMPUTING: Execution Models, Programming Models, Computing Models, Efficiency and performance Measures, Expansivity (Isoefficiency Function).

INTRODUCTION TO DISTRIBUTED COMPUTING IN INTERNET ENVIRONMENT: P2P, GRID, CLOUD COMPUTING. Application characteristics.

Mandatory literature

Quinn, Michael J.; Parallel programming in C with MPI and openMP. ISBN: 007-123265-6
Calvin Lin, Lawrence Snyder; Principles of Parallel Programming , Pearson, Addison Wesley, 2009. ISBN: 0-321-48790-7
David B. Kirk, Wen-mei W. Hwu; Programming Massively Parallel Processors, Morgan Kaufmann, 2010. ISBN: 978-0-12-381472-2

Complementary Bibliography

Foster, Ian T.; Designing and building parallel programs. ISBN: 0-201-57594-9

Teaching methods and learning activities

Theoretical classes: exposition of the subject matter with presentation and discussion of examples. Theoretical-practical classes: problem solving and discussion, including the development of some programs.

Software

Visual Studio 2008 Professional (C#/C/C++)
MPI

keywords

Technological sciences > Technology > Computer technology > Software technology

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 42,00 10,00
Lab work and reports for evaluation Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 60,00 70,00 2013-06-07
Lab work Trabalho laboratorial 20,00 20,00 2013-06-07
Total: - 100,00

Amount of time allocated to each course unit

Description Type Time (hours) End date
Personal study Estudo autónomo 40 2013-06-07
Total: 40,00

Eligibility for exams

Concluding and presenting the programming assignments.

Calculation formula of final grade

Final Grade= 0.1*P + 0.2*CW + 0.7(0.5*R1 + 0.5*R2)

P - Attendance

CW - class work 

R1 - Report 1

R2 - Report 2

Special assessment (TE, DA, ...)

The programming assignments are mandatory and must be worked out and presented along the semester.

Classification improvement

The programming assignments can only be improved in the course next instance.

Observations

Fluency in C/C++ programming is required.

Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-12-09 at 08:37:45 | Acceptable Use Policy | Data Protection Policy | Complaint Portal