TRIOT: Faster iteration over multidimensional arrays in C++11. Tensor indexing is a fundamental component of numeric algorithms and is used in many programming languages and across many fields. This manuscript proposes a new template-recursive design pattern for implementing faster vectorizing over tensors of different shapes in C++11. The proposed method, ”template-recursive iteration over tensors”, is comparable to using nested for loops in C and to vectorized code in Fortran, and it outperforms numpy, C-style tuple iteration, C-style integer reindexing, and boost::multi_array, and unlike some of those methods, it can be used when the dimension of the tensor is unknown at compile time.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element