Skip to main content
Till KTH:s startsida

FDD3003 Parallel Computing: Theory - Hardware - Software with Special Focus on Multi-Core Programming 7.5 credits

Information per course offering

Termin

Information for Spring 2025 Start 17 Mar 2025 programme students

Course location

KTH Campus

Duration
17 Mar 2025 - 2 Jun 2025
Periods
P4 (7.5 hp)
Pace of study

50%

Application code

60763

Form of study

Normal Daytime

Language of instruction

English

Course memo
Course memo is not published
Number of places

Places are not limited

Target group
No information inserted
Planned modular schedule
[object Object]
Schedule
Schedule is not published
Part of programme
No information inserted

Contact

Examiner
No information inserted
Course coordinator
No information inserted
Teachers
No information inserted

Course syllabus as PDF

Please note: all information from the Course syllabus is available on this page in an accessible format.

Course syllabus FDD3003 (Spring 2019–)
Headings with content from the Course syllabus FDD3003 (Spring 2019–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

  • Introduction to Parallelism
  • Performance Considerations
  • Parallel Architectures
    • Shared Memory
    • Scalable Multi-Processors
    • Interconnection networks
  • Parallel Programming Methods and Techniques
    • Task and Data parallelism
    • Programming for performance
    • Overview of programming techniques
  • Multi-Core programming
    • Properties of Multi-Core architectures
    • Pthreads
    • OpenMP
  • Future Directions
    • GPU, Accelerators

Intended learning outcomes

The overall goal of the course is to give basic knowledge of the theory, hardware, and software approaches to parallel computing. Especially, hardware and software challenges and the interactions between them, as well as exposure to research challenges in this field will be emphasized.

After the course you will be able to:

  • understand the properties of different parallel architectures
  • reason about the performance of a system
  • assess the potential and limitations of parallel processing
  • chose between different parallelization techniques
  • write parallel programs on multi-core machines.

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

Either DD2358 or DD2356, Programming experience in C/C++, Optional: DD2360

Literature

You can find information about course literature either in the course memo for the course offering or in the course room in Canvas.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

P, F

Examination

  • EXA1 - Examination, 7.5 credits, grading scale: P, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Other requirements for final grade

Homework assignments for the first part of the program. Programming assignments and project work for the second half of the program.

Examiner

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

This course does not belong to any Main field of study.

Education cycle

Third cycle

Supplementary information

Target audience are interdisciplinary graduate students and researchers with needs of high performance and parallel computing.

Postgraduate course

Postgraduate courses at EECS/Computational Science and Technology