• English
  • Deutsch
  • Log In
    Password Login
    Research Outputs
    Fundings & Projects
    Researchers
    Institutes
    Statistics
Repository logo
Fraunhofer-Gesellschaft
  1. Home
  2. Fraunhofer-Gesellschaft
  3. Artikel
  4. Iterator-Based Design of Generic C++ Algorithms for Basic Tensor Operations
 
  • Details
  • Full
Options
April 7, 2022
Journal Article
Title

Iterator-Based Design of Generic C++ Algorithms for Basic Tensor Operations

Abstract
Numerical tensor calculus has recently gained increasing attention in many scientific fields including quantum computing and machine learning which contain basic tensor operations such as the pointwise tensor addition and multiplication of tensors. We present a C++ design of multi-dimensional iterators and iterator-based C++ functions for basic tensor operations using mode-specific iterators only, simplifying the implementation of algorithms with recursion and multiple loops. The proposed C++ functions are designed for dense tensor and subtensor types with any linear storage format, mode and dimensions. We demonstrate our findings with Boost's latest uBlas tensor extension and discuss how other C++ frameworks can utilize our proposal without modifying their code base. Our runtime measurements show that C++ functions with iterators can compute tensor operations at least as fast as their pointer-based counterpart.
Author(s)
Bassoy, Cem Savas
Fraunhofer-Institut für Optronik, Systemtechnik und Bildauswertung IOSB  
Journal
Frontiers in applied mathematics and statistics  
Open Access
File(s)
Download (912.36 KB)
Rights
CC BY
DOI
10.3389/fams.2022.806537
10.24406/publica-r-418364
Additional link
Full text
Language
English
Fraunhofer-Institut für Optronik, Systemtechnik und Bildauswertung IOSB  
Keyword(s)
  • tensor n-rank

  • N-way array

  • multi-dimensional array

  • tensor computations

  • multi-dimensional iterator

  • software design and development

  • Cookie settings
  • Imprint
  • Privacy policy
  • Api
  • Contact
© 2024