Fundamentals of Parallelism on Intel Architecture

Fundamentals of Parallelism on Intel Architecture

Presented by: Andrey Vladimirov
This course can apply to various HPC and datacenter workloads and framework including artificial intelligence (AI)
AboutTutor(s)BreakdownKey Info

This course will introduce you to the multiple forms of parallelism found in modern Intel architecture processors and teach you the programming frameworks for handling this parallelism in applications. You will get access to a cluster of modern manycore processors (Intel Xeon Phi architecture) for experiments with graded programming exercises.

This course can apply to various HPC and datacenter workloads and framework including artificial intelligence (AI). You will learn how to handle data parallelism with vector instructions, task parallelism in shared memory with threads, parallelism in distributed memory with message passing, and memory architecture parallelism with optimized data containers. This knowledge will help you to accelerate computational applications by orders of magnitude, all the while keeping your code portable and future-proof. Prerequisite: programming in C/C++ or Fortran in the Linux environment and Linux shell proficiency (navigation, file copying, editing files in text-based editors, compilation).


Andrey Vladimirov headshot

Andrey Vladimirov, Ph. D., is Head of High-Performance Computing Research at Colfax International. His primary interest is the application of modern computing technologies to computationally demanding scientific problems. Before joining Colfax, A. Vladimirov was involved in computational astrophysics research at Stanford University, North Carolina State University, and the Ioffe Institute (Russia), where he studied cosmic rays, collisionless plasmas and the interstellar medium using computer simulations. He is the lead author of a book on parallel programming and optimization, a regular contributor to the online resource Colfax Research, an author of invited papers in industry-leading publications, and an author or co-author of over 10 peer-reviewed publications in the fields of theoretical astrophysics and scientific computing.

- More about Andrey Vladimirov


Week 1 – 3 hours to complete
Modern Code

Week 2 – 3 hours to complete
Vectorization

Week 3 – 3 hours to complete
Multithreading with OpenMP

Week 4 – 3 hours to complete
Memory Traffic

Duration: 15

Programming in C/C++ or Fortran in the Linux environment and Linux shell proficiency