Lectures on Modern Scientific Programming - 2016

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

Lecture slides and example codes are now available.

If you find any mistakes, let us know.

The preliminary schedule:

Nov. 14. 2016, Monday
Morning: 9:00-12:00
“Hardware and Development tools”

  • Modern Computing Hardware (CPU/GPU)
  • Low-level insights to CPUs and GPUs, upcoming technologies
  • Overview and usage of Integrated Development Environments,
    debugging tools, source control solutions
Afternoon: 13:30-16:30
“Moving from C to C++”
  • Introduction to C++ for newcomers
  • Common pitfalls, anti-patterns, typical errors and how to avoid them
  • Useful libraries for scientific users
15. Nov. 2015, Tuesday
Morning: 9:00-12:00
“Algorithms and Parallelism in C++”
  • Containers and Algorithms in C++ and how to use them
  • Parallel primitives (threads, atomics, mutexes, conditional variables)
  • Parallel algorithms now and tomorrow
Afternoon: 13:30-16:30
  • “Optimizing and Visualizing Simulations”
  • Optimization lessons from simple to complicated problems from real life cases
  • Simple visualization tutorials with thin C++ wrappers
  • Brief introduction to hardware accelerated rendering (OpenGL)
16. Nov. 2015, Wednesday
Morning: 9:00-12:00
“Introduction to Python”
  • Language basics, algorithms, simple use cases
  • Interfacing with other languages
  • Numerics and simulations
  • Visualization
Afternoon: 13:30-16:30
“GPU Programming Today and Tomorrow”
  • Introduction and tutorial on SYCL and the ComputeCpp compiler
  • SYCL accelerated libraries in scientific applications
  • News and trends in hardware, software, languages and compilers

The lectures will be in English.

Introduction and tutorial on and the ComputeCpp compiler
SYCL accelerated libraries in scientific applications
News and trends in hardware, software, languages and compilers

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: