SciDAC QFT Linear Algebra library

View the Project on GitHub usqcd-software/qla


QLA (QCD Linear Algebra) is a library of linear algebra routines that are used in lattice QCD calculations. It is designed to be used with the QDP/C library to provide a complete optimized data parallel interface for building lattice QCD programs, but can also be used on its own. The QLA interface operates on single node data. Data objects are primitives, such as SU(N) matrices or SU(N) vectors, or arrays of such objects. Linear algebra operations, such as products of matrices and vectors, are carried out either on single objects or arrays of objects. For arrays of objects a variety of indirect addressing schemes are supported, including indirect indexing (gathers and scatters) and pointers. Various reduction operations (e.g. global sums) and fill operations (e.g. setting values to zero) are also included. The bulk of the library is written in C. Currently there are optimized versions of some routines for SSE (Intel and AMD) and 440 (QCDOC and BG/L) architectures.

There is now an alpha version of 1.7.0 available. This version allows efficient creation and use of arbitrary Nc datatypes. To do this required a change in the API for creating the 'N' color datatypes. Version 1.7.0 also integrates the BG/L & BG/P performance improvements that were in the Blue Gene specific version of QLA ( qla-bgl3.1.tar.gz). However there are still some problems with version 1.7.0 on Blue Genes, so the Blue Gene specific version is still preferred there. However that version does not support the new API for the 'N' color objects.

Current and past releases can be found here

The installation options can be found in the README file and information about software releases is available in the NEWS file.

Here is the manual included with version 1.6.0 in html, ps and pdf formats.

Source code

The latest releases of QLA and SciDAC software can be found on the the USQCD Software page