CO Summer School S2: Modern C++ Parallel Programming (1)
Date 18 June 2024 @ 13:00 - 20:30
Fuseau horaire: UTC
Langue d'enseignement: Anglais
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.)
:: Tues. June 18 ::
09:00 to 12:00
13:30 to 16:30
:: Thurs. June 20 ::
09:00 to 12:00
13:30 to 16:30
Compute Ontario Summer School is a series of online courses on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software. It runs from June 3 to June 21, 2024. The courses are delivered each workday from 9:00am to 4:30pm (EDT) with a lunch break, in two parallel streams. Pick-and-choose the course(s) you want to attend. Registration is free. Please register early as courses have a limited capacity. The Summer School is jointly delivered by SHARCNET, SciNet, Centre for Advanced Computing, in collaboration with the Alliance and RDM experts from across Ontario and Canada.
Activity log