Atlas: Automatically Tuned Linear Algebra Software
The automatically tuned linear algebra software (ATLAS) is an environment that allows software development. An environment, in this case, implies an operating system, the programming language, the tools for enhancing performance and functionality as well as debugging tools.
The Automatically tuned linear algebra software aims at applying empirical techniques so as to create portable performance ability. Advanced methods such as parallel programming are a reality in this environment. As such, more tools need to be applied so as to avail of this capability. These tools include Replay T, AVIO – TM, and Transactional Application Profiling Environment (TAPE)
Replay T adapts the transactional memory in this environment such that an interface between the arbiter and the operating system central processing unit (OS CPU) is created which is harmonious. Replay T thus acts as a deterministic replay tool which simplifies the mechanism of capturing and thread interleaving.
Automaticity violation based on transaction memory (AVIO TM) improves the original AVIO by easing the collection of global memory access history and hastening analysis and convergence. This is an essential tool for enhancing parallel processing. It hence becomes an automated violation detector that maximizes the correctness of the initial atomicity violation. The transaction memory system analyzes the performance hence it is an additional effect which is based on isolation. TAPE, on the other hand, takes account of the occurrence of transactional overflows and conflicts, data references and corresponding instruction. With conflict and overflow profiling in TAPE, performance issues can be sorted out without necessarily undertaking code evaluation and individual code analysis. This eases the process of debugging by a great extent leading to faster compilation and execution.
With the optimized kernels for linear algebra, arbitrary cache-based architectures result in the provision of a friendly environment of the ANSI library-based C language and Fortran77.
Though still in the development stages, ATLAS gives a rather stable parallel processing environment that boosts a host of benefits as compared to individual programming languages. Partial support for linear algebra package (LAPACK) which for instance aims at solving simultaneous, least-squares solutions of linear systems of equations, linear equations as well as singular value problems. LAPACK is coded in Fortran hence it’s supported albeit partially by this environment.
Basic linear algebra subprograms (BLAS) which is a standard interface for programming and libraries it serves as a major building block for vector-based operations.
With the above-mentioned factors in mind, an environment that can support such operations by no doubt has to be very powerful, stable and reliable. Issues such as deadlocks are not expected to be present since this is a mathematical and empirically developed environment for solving them.
The future of Automatically Tuned Linear Algebra Software is bright especially when the bottlenecks that face it are addressed. For instance, development of hardware transactional memory that is available for use will lead to easing of parallel programming.
Our outsource software development experts successfully employed Atlas in such projects as Online Real Estate Marketplace.