2015 Volume 1 Pages 15-00349
In this paper, AutoMT that is a library for tensor operations in 2-D/3-D spaces is presented. AutoMT stands for “Auto (Automation)”-“M (Matrix)”-“T (Tensor)” and is a kind of DSL (Domain Specific Language). DSL is a programming language specialized for a specific domain, such as graphics, communication, linear algebra, financial, chemical, etc. AutoMT is a library-based DSL/framework which is aimed at enhancing efficiencies in both the computations and the developments of computer programs involving many tensor operations. The paper describes the design, usage, and implementation of AutoMT, first. Then, the results of performance benchmark and an application example in large strain elastic-plastic analysis are presented. AutoMT accelerates the tensor operations that are often involved in the element-wise operations of finite element procedures. Usages of processor registers and SIMD (Single Instruction Multiple Data) mechanism are optimized to enhance the computational efficiencies in tensor operations. The performance of AutoMT is demonstrated by the results of performance benchmark test. It is shown that AutoMT at least doubles the performance. Finally, an example problem of finite strain elastic-plastic analysis is presented along with a small portion of example source program for elastic-plastic analysis. It is seen from the example program that it becomes much simpler than that without using AutoMT. Therefore, AutoMT can accelerate computer program developments. Finally, the problem of diffused necking is presented for a demonstration purpose.