Contact us for information about any of the following services.
Courses are provided customed for your needs online or in-person1 . Online courses can be delivered to audiences anywhere as long as we can agree on a timezone adjustment. In-person courses can be given anywhere on the planet, travel permitting.
The following courses can be offered on relatively short notice, other topics within our competence areas can be developed for a fee. The courses can be adapted from 4 hours/half-day up to five days (35 hours).
Multithread programming in C++ using OpenMP
OpenMP was born in 1997 as an effort to develop a standard shared-memory programming API and has since then only grown in importance. The latest specfications, 5.0-5.1, released Nov 2020 introduced modern C++ compatibility and significant improvements in ability to use accelerators, which is only becoming more important.
This course introduces OpenMP programming in C++ (and C) from the ground up showcasing the most important features of the programming model.
Multithread programming in C++ using TBB
Since C++11 multi-threading has been standardised in C++ and the support has only gotten better, including the introduction of parallel execution policies for several of the algorithms in the standard library, both for vector processors and for multiple threads. However, using raw threads is still difficult and analogous to use of assembly language. The standard parallel execution policies also interact poorly when the calling code is parallel by itself. Enter intel’s Threading Building Blocks, TBB. TBB is part of intel’s oneAPI effort and supports truly composable and scalable programming in C++.
This course introduces C++ programming using TBB from the ground up and showcasing the most important features of the programming model.
Multicore architectures and programming
We can be consulted for small and large software development tasks. We specialise in C++, C and Java development although Rust and Python is also possible. Our particular expertise are in performance critical systems using multi-threading.
We also do research tasks which could range from academic research in our competence areas or due diligence about a technology investment.
In-person courses are provided under the assumption that it is safe from a pandemic perspective. ↩︎