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 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.
Automicity violation based on transaction memory (AVIO TM) improves the original AVIO by easing collection of global memory access history and hastening analysis and convergence. This is an essential tool in 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 provision of a friendly environment of the ANSI library based C language and Fortran 7.7.
Though still on 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 are coded in Fortran hence its 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.