English

A C++11 implementation of arbitrary-rank tensors for high-performance computing

Mathematical Software 2014-06-02 v5

Abstract

This article discusses an efficient implementation of tensors of arbitrary rank by using some of the idioms introduced by the recently published C++ ISO Standard (C++11). With the aims at providing a basic building block for high-performance computing, a single Array class template is carefully crafted, from which vectors, matrices, and even higher-order tensors can be created. An expression template facility is also built around the array class template to provide convenient mathematical syntax. As a result, by using templates, an extra high-level layer is added to the C++ language when dealing with algebraic objects and their operations, without compromising performance. The implementation is tested running on both CPU and GPU.

Keywords

Cite

@article{arxiv.1209.1003,
  title  = {A C++11 implementation of arbitrary-rank tensors for high-performance computing},
  author = {Alejandro M. Aragón},
  journal= {arXiv preprint arXiv:1209.1003},
  year   = {2014}
}

Comments

21 pages, 6 figures, 1 table

R2 v1 2026-06-21T22:00:17.646Z