Lectures on Modern Scientific Programming - 2015

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 not negligible
    • 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
    • Based on the experiences of last year's lectures, we made the breaks longer to accommodate Questions and Answers.
    • If you have C++/GPU/Python related question that you think is of interest for a wider audiance, let us know, and we discuss the answers in the specific sessions (see below).

All the presentation slides zipped together here. (Last modification: 2015 Nov 26 14:38)
Simple C++ sample codes here, you may need additional switches like -pthreads, -std=c++14 etc. Consult your compilers manual.
Further functional sample codes available on the related special university lecture website: here.

If you find any mistakes, let us know.

The preliminary schedule:

Nov. 23. 2015, Monday
Morning: 9: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 and usage of Integrated Development Environments,
    debugging tools, source control solutions
Afternoon: 13:30-16:30
“Development Tools”
  • Integrated Development Environments
  • Version Control Systems
  • Build Systems
24. Nov. 2015, Tuesday
Morning: 9:00-12:00
“Modern C++ I.”
  • Migrating from Fortran and C to modern C++
  • Language basics
  • New language features
Afternoon: 13:30-16:30
“Modern C++ II.”
  • Template Meta-programming
  • Multi-threading
  • Coding Guidelines and practices
  • Recommended libraries
  • Future tendencies
25. Nov. 2015, Wednesday
Morning: 9:00-12:00
“Introduction to GPU Programming”
  • GPU Programming APIs (CUDA, OpenCL, SyCL, C++AMP)
  • Language integration, compromises
  • Libraries, limitations
  • Future tendencies
Afternoon: 13:30-16:30
“Introduction to Functional Programming”
  • Functional Programming basics
  • Functional constructs and parallelism
  • Examples from numerical physics, in C++
  • Outlook: connections to Category Theory

The lectures will be in English.

The event is free to attend. Registration is necessary.
Registration is closed.

A photo ID is required for the entry to the campus!
Location: KFKI Campus, Wigner RCP (1121 Budapest, Konkoly-Thege Miklós Str. 29-33.),
Building 3., 2nd floor, Council Room

Campus Map: