Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A set of level 3 basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
LAPACK Users' guide (third ed.)
LAPACK Users' guide (third ed.)
An updated set of basic linear algebra subprograms (BLAS)
ACM Transactions on Mathematical Software (TOMS)
ACM Transactions on Mathematical Software (TOMS)
ACM Transactions on Mathematical Software (TOMS)
Adifor 2.0: Automatic Differentiation of Fortran 77 Programs
IEEE Computational Science & Engineering
ISCOPE '98 Proceedings of the Second International Symposium on Computing in Object-Oriented Parallel Environments
Automatic performance tuning of sparse matrix kernels
Automatic performance tuning of sparse matrix kernels
The science of deriving dense linear algebra algorithms
ACM Transactions on Mathematical Software (TOMS)
Bioinformatics
ADIFOR-Generating Derivative Codes from Fortran Programs
Scientific Programming
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
Automating the generation of composed linear algebra kernels
Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
DOLFIN: Automated finite element computing
ACM Transactions on Mathematical Software (TOMS)
High Performance Computing for Computational Science - VECPAR 2012
High Performance Computing for Computational Science - VECPAR 2012
Hi-index | 0.00 |
In this paper, we tackle the problem of automatically generating algorithms for linear algebra operations by taking advantage of problem-specific knowledge. In most situations, users possess much more information about the problem at hand than what current libraries and computing environments accept; evidence shows that if properly exploited, such information leads to uncommon/unexpected speedups. We introduce a knowledge-aware linear algebra compiler that allows users to input matrix equations together with properties about the operands and the problem itself; for instance, they can specify that the equation is part of a sequence, and how successive instances are related to one another. The compiler exploits all of this information to guide the generation of algorithms, to limit the size of the search space, and to avoid redundant computations. We applied the compiler to equations arising as part of sensitivity and genome studies. For the first application, the algorithms produced by our compiler attained, when compared with ADIFOR, speedups of between 29脙聴 and 79脙聴. In the case of genome studies, the produced algorithms outperformed the state-of-the-art libraries GenABEL and FaST-LMM by factors beyond 1000.