VSC School Seminar: Tutorial on Node-Level Performance Engineering: Hardware and Software Aspects

    Abstract:

    Learn about the fundamental principles of performance engineering for high performance computing:
    We introduce you to important hardware aspects, explain ccNUMA and demonstrate its pitfalls, and look into the inner workings of caches.
    After mastering the hardware fundamentals, we move on to the art of writing efficient software and discuss tradeoffs of different programming models and languages, in particular MPI and OpenMP.
    By the end of this tutorial you will have a deeper understanding of CPUs, GPUs, and other multi-core architectures such as Intel's Many Integrated Core (MIC) architecture, know how to derive performance models for your particular application, and have a richer toolbox of programming tricks and performance-optimized libraries to write efficient software to better answer challenging scientific questions.

    Speakers:

    Karl Rupp
    Institute for Microelectronics, TU Wien

    Josef Weinbub
    Christian Doppler Laboratory for High Performance TCAD
    Institute for Microelectronics, TU Wien

    Agenda:

    Talk I: Modern Multi-core Architectures for Supercomputing

    PART A: Hardware
    1. Modern Multi-Core CPUs
    2. Parallel Computers

    PART B: Software
    3. Shared-Memory Parallel Programming
    4. Vectorization
    5. Overview of Distributed and Hybrid Parallel Programming

    Talk II: Modern Many-core Architectures for Supercomputing

    PART C: Hardware
    6. Graphics Processing Units
    7. Intel Xeon Phi Family

    PART D: Software
    8. CUDA
    9. OpenCL
    10. Parallel Primitives

    PART E: Performance Modeling
    11. Identifying Bottlenecks
    12. Modeling by Example

    Date, Time, and Location:

    11.12.2015, 13:00 - 17:00, FH Hörsaal 2 (TU Wien, Wiedner Hauptstraße 8-10, 2nd floor, yellow area)

    Registration:

    If you would like to join us for this event, please email to: vsc-seminar@list.tuwien.ac.at
    (so we will know how many persons will come)
    Prerequisites are good programming skills and some experience with running moderately large parallel codes.

    Slides:

    Opens external link in new windowSlides [pdf] - Talk I (Josef Weinbub): Modern Multi-core Architectures for Supercomputing

    Opens external link in new windowSlides [pdf] - Talk II (Karl Rupp): Modern Many-core Architectures for Supercomputing

    Upcoming and past events of the VSC School Seminar:

    Opens external link in new windowhttp://vsc.ac.at/research/vsc-research-center/vsc-school-seminar/