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 between 14-16 November, 2016. 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
  • Would like to interface multiple languages and solve problems with rapid prototyping
  • 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
  • Agnes Fülöp
  • Andrew Lowe
  • András Mátyás Biricz
  • Anna Nyíri
  • Antal Jakovac
  • Arpad Hegedus
  • Arpad Laszlo Lukacs
  • Attila Czirják
  • Balázs Indig
  • Balázs Kondákor
  • Bertalan Jóni
  • Boldizsár Balázs
  • Daniel Refy
  • Dorottya Cserpan
  • Erdős Gábor
  • Florian Gesser
  • Fodor Gyula
  • Gergely Gábor Barnaföldi
  • Gergely Markó
  • Gergely Máthé
  • Gergo Roosz
  • Gyula Bencedi
  • Gyula Gyebnár
  • Gábor Bortel
  • István Magashegyi
  • István Reményi
  • Krisztina Annus
  • Lajos Vágó
  • Laszlo Somlai
  • Lenard Szantho
  • Lányi Zsombor
  • László Békési
  • László Temleitner
  • Lóránt Zs. Szabó
  • Marcell Stippinger
  • Mate Lorincz
  • Miklós Tegze
  • Milán Klausz
  • Márton Zsenei
  • Mátyás Schiller
  • Mátyás Vasúth
  • Péter Kovács
  • Péter Pósfay
  • Richárd Fiáth
  • Szilárd Sajti
  • Sándor Lökös
  • Tamás Gáspár
  • Tamás Mosoni
  • Tamás Szabolics
  • Tuan Máté Nguyen
  • Tímea Wilk
  • Viktor Ayadi
  • Zsofia Kallus
  • Zsolt Keczer
  • Ágnes Nóra Bana
  • Árpád Molnár
  • Örs Legeza
    • 9:00 AM 12:00 PM
      Hardware and development tools

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

      • 9:00 AM
        Overview of Modern Hardware Architectures and Technologies 1h 15m
        What is in a microchip today? What metrics are important for certain applications? What technologies are arriving to the market in the near future?
      • 10:15 AM
        Break / Questions and Answers 30m
      • 10:45 AM
        Platforms and Development tools 1h 15m
        Overview of current events in the Windows-Linux world, introduction to some recommended Integrated Development Environments, debugging tools and other useful software.
    • 12:00 PM 1:30 PM
      Lunch break 1h 30m
    • 1:30 PM 4:45 PM
      Moving from C to C++

      Integrated Development Environments, Version Control Systems, Build Systems

      • 1:30 PM
        Gentle introduction to C++ 1h 15m
        Reasons for learning it, introduction to basic concepts and migration from C to C++
      • 2:45 PM
        Break / Questions and Answers 30m
      • 3:15 PM
        Using C++ (Pitfalls, anti-patterns, libraries) 1h 15m
        Compiling and linking issues, frequent mistakes, compiler errors, bad usage of language constructs and how to find and fix them. Some useful libraries for scientific applicaitons.
    • 9:00 AM 12:00 PM
      Algorithms and Parallelism in C++
      • 9:00 AM
        Algorithms and datastructures 1h 15m
      • 10:15 AM
        Break / Questions and Answers 30m
      • 10:45 AM
        Parallel constructs and algorithms in C++ 1h 15m
    • 12:00 PM 1:30 PM
      Lunch Break 1h 30m
    • 1:30 PM 4:30 PM
      Optimizing and Visualizing Simulations
      • 1:30 PM
        Optimization usecases and pitfalls 1h 15m
      • 2:45 PM
        Break / Questions and Answers 30m
      • 3:15 PM
        Visualization and Rendering 1h 15m
    • 9:00 AM 12:00 PM
      Introduction to Python
      • 9:00 AM
        Introduction to Python 1h 15m
      • 10:15 AM
        Break / Questions and Answers 30m
      • 10:45 AM
        Python in Scientific Computing 1h 15m
    • 12:00 PM 1:30 PM
      Lunch Break 1h 30m
    • 1:30 PM 4:45 PM
      GPU Programming Today and Tomorrow
      • 1:30 PM
        Portable GPGPU using SYCL and ComputeCpp 1h 15m
      • 2:45 PM
        Break / Questions and Answers 30m