This week's colloquium: "Reference-Counted Multidimensional Arrays for C++: Rarray" Ramses van Zon from SciNet. The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
Compared to languages like Fortran and Python, the support for large multidimensional arrays in C++ is quite poor. There are many libraries trying to fill this deficiency, and there is hope at the horizon in the form of the planned C++23 and C++26 standards. But we would rather not wait for these, nor require C++ programmers to learn large frameworks, or worry about performance, when all they need is a multidimensional array. We will look at rarray, a header-only library requiring only a C++11 compliant compiler. This library provides reference-counted multidimensional arrays that are easy to use, work now, are efficient, and can interface with many scientific libraries.