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
    • 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

      • 1
        Modern Computing Hardware (CPU/GPU), Low-level insights
        Slides
      • 10:30 AM
        Break
      • 2
        Overview of programming languages and paradigms
        Slides
    • 12:00 PM
      Lunch break
    • Development Tools

      Integrated Development Environments, Version Control Systems, Build Systems

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