Date: 20 June 2024 @ 17:30 - 20:30

Timezone: Eastern Time (US & Canada)

Modern C++ is an efficient, versatile programming language. This workshop will focus on the following in both sequential and parallel contexts: using pseudo-random number generators, making use of reduction options using underlying sequential code, making simple use of in-situ code benchmarking/profiling, and, using mdspan for accessing multi-dimensional arrays and multi-dimensional array slices (submdspan). By the end of these sessions, one will have learnt about sequential and parallel uses of: C++ pseudo-random number generators and their use, C++ std::reduce(), std::transform_reduce(), etc. and C++ parallel algorithms and some of their uses and caveats, using std::chrono facilities, e.g., for in-situ benchmarks, and, how to use multi-dimensional arrays and slices in C++ code. Level: Intermediate Length: Four 3-Hour Sessions (2 Days) Format: Lecture + Hands-on Prerequisites: Experience developing sequential code in C++. (The C++ programming language is not the C programming language. Experience is expected programming in C++, e.g., using the standard library's containers, iterators, and algorithms.) (part of the 2024 Compute Ontario Summer School)

Keywords: HPC

Venue: Virtual


Activity log