Generic Programming for Multidimensional Arrays
summary
A C++ library that implements runtime-sized, strided multidimensional arrays and actually plugs them into STL-style algorithms, with GPU support via allocator-chosen pointer types and Thrust-aware ADL fallback. It uses operator+ materializes to force copies for safe assignment, exposes subarray_ptr view to store slices, offers elements flattening to fuse loops for GPU/parallel speed, and supplies thousands of tests (including Limos and Acid tests) showing the approach works and is conditionally accepted into Boost.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 10:06Multidimensional arrays in C++
- 20:13Strided arrays and layout
- 30:50Generic programming foundations
- 41:13Boost.Multi library design
- 57:33Array ownership and subarrays
- 1:09:07Library testing and validation
- 1:12:37Serialization and allocation
- 1:22:43Lazy arrays and parallelism
- 1:29:49Takeaways and library integration
related talks
01h 07mMultidimensional C++
56mEfficient array (and data) processing by leveraging structure
32mCompilation of Dynamic Sparse Tensor Algebra
35mScaling Parallel Algorithms to Massive Datasets using Multi-SSD Machines
22mSpecializing Data Access in a Distributed File System (Generative Pearl)
37mBuilding a Data-Oriented Future
13mGradually Structured Data
37mBenefits of columnar data layout
