Lectures on Modern Scientific Programming

Europe/Budapest
Building 3, 2nd floor, Council Room (Wigner RCP)

Building 3, 2nd floor, Council Room

Wigner RCP

1121 Budapest, Konkoly-Thege Miklós Str. 29-33.,
Description

Lectures on Modern Scientific Programming


The Wigner GPU-Lab organizes a three-day seminar series on Modern Scientific Programming in 23-25 November, 2015. These lectures review topics relevant to everyone working on scientific simulations or high-performance computing.
The lectures are highly recommended to those who are:

  • Actively engaged in high-performance computing or analysis
  • Author code where execution time is important
  • Wish to learn (more) about parallel computing
  • University students who plan to use programming daily in their field

The lectures may be of interest to those who are:

  • Using interpreted math environments (Mathematica, Maple, Matlab, etc.) and wish to understand the run time costs
  • Seasoned programmers but care to learn good practices and a few tricks

The lectures are free to attend, but registration is required for the secured entry to the KFKI Campus!

Participants
  • Alex Szakál
  • Andrew Lowe
  • András Vukics
  • Antal Jakovac
  • Arpad Laszlo Lukacs
  • Balazs Major
  • Balázs Kacskovics
  • Balázs Tóth
  • Bertalan Jóni
  • Bálint Varga
  • Dorottya Cserpan
  • Dániel Berényi
  • Ernő Dávid
  • Erzsébet Frigó
  • Ferenc Béres
  • Gabor Cseh
  • Gabor Demeter
  • Gergely Gábor Barnaföldi
  • Gábor Bíró
  • Gábor Haraszti
  • Gábor Kiss
  • Gábor Nagy
  • Henrik Kucsera
  • Janos Adam
  • Jozsef Kasza
  • Julia Pap
  • János Endre Maróti
  • Júlia Göndöcs
  • Karolina Szabóné André
  • Ke-Ming Shen
  • Károly Csukás
  • László Békési
  • Marietta Homor
  • Martin István Novák
  • Mate Mile
  • Márton Zsenei
  • Otto Hanyecz
  • Peter Hartmann
  • Peter Nagy
  • Péter Pósfay
  • Szilveszter Harangozó
  • Szilvia Karsai
  • Tamas Brigancz
  • Tamás Biró
  • Tamás Mona
  • Tamás Mosoni
  • Viktor Ayadi
  • Zoltán Darázs
  • Örs Legeza
    • 09:00 12:00
      Overview of modern hardware details and programming language basics

      Modern Computing Hardware (CPU/GPU), Low-level insights to CPUs and GPUs, Overview of programming languages and paradigms

      • 09:00
        Modern Computing Hardware (CPU/GPU), Low-level insights 1h 30m
        Slides
      • 10:30
        Break 15m
      • 10:45
        Overview of programming languages and paradigms 1h 15m
        Slides
    • 12:00 13:30
      Lunch break 1h 30m
    • 13:30 16:30
      Development Tools

      Integrated Development Environments, Version Control Systems, Build Systems

      • 13:30
        Integrated Development Environments 1h 30m
        Slides
      • 15:00
        Break 15m
      • 15:15
        Version Control, Build Systems 1h 15m
        Slides
    • 09:00 12:00
      Modern C++ I.
      • 09:00
        Migrating from Fortran and C to modern C++ 30m
      • 09:30
        C++ Language Basics 1h 15m
      • 10:45
        Break 15m
      • 11:00
        New C++ features 1h
    • 12:00 13:30
      Lunch Break 1h 30m
    • 13:30 16:30
      Modern C++ II.
      • 13:30
        Template Meta-Programming and Multi-Threading 1h 30m
      • 15:00
        Break 15m
      • 15:15
        Coding Guidelines, Best Practices, Recommended Libraries, Future tendencies 1h 15m
    • 09:00 12:00
      Introduction to GPU Programming
      • 09:00
        GPU Programming APIs (CUDA, OpenCL, C++AMP, SyCL) 1h 30m
      • 10:30
        Break 15m
      • 10:45
        GPU Programming Language bindings, compromises, limitations, future 1h 15m
    • 12:00 13:30
      Lunch Break 1h 30m
    • 13:30 16:30
      Introduction to Functional Programming
      • 13:30
        Introduction to Functional Programming 1h 15m
      • 14:45
        Break 15m
      • 15:00
        Functional programming and Parallelism, Examples from Numerical Physics (in C++), relation to Category Theory 1h 30m