• Your selection is empty.

    Register the diplomas, courses or lessons of your choice.

Multi-core and GPU programming

  • School / Prep

    ENSEIRB-MATMECA

Internal code

EI8IT224

Description

How can we take advantage of the computing power of today's computers? This course is an introduction to algorithmic, software and hardware techniques for programming machines with multiple cores and/or gas pedals such as graphics processing units (GPUs). In other words, the aim is to understand how to exploit the parallel processing capabilities offered by hardware.
Outline

interests and basic notions of parallelism, computation granularity and load balancing
general architecture of multicore computers and graphics cards
general algorithmic techniques for parallelization
essential languages and libraries for programming multicore architectures
impact of architecture and compilation on programming: towards performance portability
programming heterogeneous machines equipped with specialized processors (e.g. GPUs)


Read more

Teaching hours

  • CIIntegrated courses26h
  • TIIndividual work18h

Mandatory prerequisites

Programming in C language

Read more

Syllabus

This course covers the following topics:
- interest in and basic concepts of parallelism, computational granularity and load balancing
- general architecture of multicore computers and graphics cards
- general algorithmic techniques for parallelization
- essential languages and libraries for programming multicore architectures
- impact of architecture and compilation on programming: towards performance portability
- programming heterogeneous machines equipped with specialized processors (e.g. GPUs).g. GPUs).

Read more

Assessment of knowledge

Initial assessment / Main session - Tests

Type of assessmentType of testDuration (in minutes)Number of testsTest coefficientEliminatory mark in the testRemarks
ProjectReport1