Multi-Core Programming with Intel Architecture

מק"ט: #6090 | משך קורס: 24 שעות אק'

Today's software systems are increasingly based on multi-core and multi processing designs. We can find a lot of hardware support in Intel architecture from SIMD instruction (SSE) to multithreaded and multi-core processors.
This course covers the hardware architecture and all the programming aspects in multi-* programming with Intel CPUs.

*שדות חובה
PDF version

מטרות הקורס

Understand all concepts in Multi-* programming and use some typical tools to write and debug parallel code with Intel processors.

קהל יעד

Embedded/RT/DSP developers

תנאי קדם

C/C++ programming background



  • Concurrency in software systems
  • Concurrency problems
  • Basic concepts
    • Single Processor system
    • SMP and AMP
    • Loosely and tightly coupled Multiprocessing systems
    • Multithreaded processors
    • Multi-core processors


Intel processors architecture

  • Introduction to Intel processors
  • Single core processor architecture
  • Hyper threaded technology
  • Multi-core processors architecture



  • Overview of SIMD instruction set
  • SSE architecture
  • SSE instructions
  • Examples



  • Parallel programming with OpenMP
  • Compiler directive for threads creation
  • Private and shared data
  • Work-Sharing Constructs
  • Functions
  • Environment variables


Intel TBB

  • Overview
  • Parallel functions
  • Containers
  • Memory allocators
  • Mutexes
  • Timing and task scheduling


Software Tools

  • Overview
  • Intel compiler
  • CFinder
  • Thread checker
  • Thread profiler
  • Intel MKL overview
  • Intel IPP overview


Designing multi-core systems

  • Overview of parallel algorithms
  • Parallel design principles
  • Parallel design patterns


Multi-processing and Operating systems

  • SMP on Windows
  • SMP on Linux