A C++11 implementation of arbitrary-rank tensors for high-performance computing
نویسنده
چکیده
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.
منابع مشابه
Cramér-Rao-Induced Bounds for CANDECOMP/PARAFAC Tensor Decomposition
This paper presents a Cramér-Rao lower bound (CRLB) on the variance of unbiased estimates of factor matrices in Canonical Polyadic (CP) or CANDECOMP/PARAFAC (CP) decompositions of a tensor from noisy observations, (i.e., the tensor plus a random Gaussian i.i.d. tensor). A novel expression is derived for a bound on the mean square angular error of factors along a selected dimension of a tensor o...
متن کاملOrthogonal Rank-two Tensor Approximation: a Modified High-order Power Method and Its Convergence Analysis
With the notable exceptions that tensors of order 2, that is, matrices always have best approximations of arbitrary low ranks and that tensors of any order always have the best rank-one approximation, it is known that high-order tensors can fail to have best low rank approximations. When the condition of orthogonality is imposed, even at the most general case that only one pair of components in...
متن کاملComputation of Trigonometric Functions by the Systolic Implementation of the CORDIC Algorithm
Trigonometric functions are among the most useful functions in the digital signal processing applications. The design introduced in this paper computes the trigonometric functions by means of the systolic arrays. The method for computing these functions for an arbitrary angle, , is the CORDIC algorithm. A simple standard cell is used for the systolic array. Due to the fixed inputs, in some...
متن کاملComputation of Trigonometric Functions by the Systolic Implementation of the CORDIC Algorithm
Trigonometric functions are among the most useful functions in the digital signal processing applications. The design introduced in this paper computes the trigonometric functions by means of the systolic arrays. The method for computing these functions for an arbitrary angle, , is the CORDIC algorithm. A simple standard cell is used for the systolic array. Due to the fixed inputs, in some...
متن کاملA Model based on Cloud Computing for the implementation and management IT services in Banks
In recent years, the banking industry has made significant changes in technology and communications. The expansion of electronic communications and a large number of people around the world access to the Internet, appropriate to establish trade and economic exchanges provided but high costs, lack of flexibility and agility in existing systems because of the large volume of information, confiden...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Computer Physics Communications
دوره 185 شماره
صفحات -
تاریخ انتشار 2014