Enrolment options

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.)
Self enrolment (Participant)
Self enrolment (Participant)