% IMPORTANT: The following is UTF-8 encoded.  This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.

@MISC{Mohanty:1052674,
      author       = {Mohanty, Sandipan},
      title        = {{H}igh {P}erformance {S}cientific {C}omputing in {C}++ –
                      2025},
      reportid     = {FZJ-2026-01046},
      year         = {2025},
      abstract     = {Modern C++, with its support for procedural, objected
                      oriented, generic and functional programming styles, offers
                      many powerful abstraction mechanisms to express complexity
                      at a high level while remaining very efficient. It is
                      therefore the language of choice for many scientific
                      projects. The arrival of the newer language standards such
                      as C++23, every three years, regularly opens up new
                      abstraction mechanisms and new exciting ways to organize
                      code at all levels. However, achieving high performance by
                      today's standards requires understanding and exploiting
                      multiple levels of parallelism, as well as understanding C++
                      code from a performance centric viewpoint.In this course,
                      the participants learn how to write C++ programs which
                      better utilize typical HPC hardware resources of the present
                      day. The course is geared towards scientists and engineers
                      already familiar with C++20 (at least C++17), who wish to
                      develop maintainable and fast applications. The course
                      introduces novel ways, now available to C++ programmers, to
                      write expressive, maintainable and fast code. The
                      participants learn techniques to better utilize CPU caches,
                      instruction pipelines, SIMD functionality and
                      multi-threading. Shared memory parallel programming on
                      multiple CPU cores will be introduced using standard C++
                      parallel STL and Intel (R) Threading Building Blocks. The
                      participants will also learn basic GPGPU programming using
                      C++ template based generic programming techniques.},
      month         = {Oct},
      date          = {2025-10-27},
      organization  = {JSC - as part of the Training
                       Programme of Forschungszentrum Jülich,
                       Jülich (Germany), 27 Oct 2025 - 30 Oct
                       2025},
      subtyp        = {Other},
      cin          = {JSC},
      cid          = {I:(DE-Juel1)JSC-20090406},
      pnm          = {5111 - Domain-Specific Simulation $\&$ Data Life Cycle Labs
                      (SDLs) and Research Groups (POF4-511)},
      pid          = {G:(DE-HGF)POF4-5111},
      typ          = {PUB:(DE-HGF)17},
      doi          = {10.34734/FZJ-2026-01046},
      url          = {https://juser.fz-juelich.de/record/1052674},
}