Bagel assembler kernel generator



The Bagel assembler generation library is written and maintained by Peter Boyle

It is composed of two key parts: a library to which one can programme a generic RISC assembler kernel, and a set of programmes that use the library to produce key QCD and linear algebra operations. In principle all sorts of kernels could be written using the bagel library, and Balint has "SciDac" extended
my linalg routines to produce the bagel_qdp package.

The kernels it generates are commonly used in both the Chroma and Columbia Physics System QCD code bases when targetting QCDOC and BlueGene. It has comms hooks for both FAKE (single processor), SCU calls (QCDOC) and QMP calls (for Chroma) . The kernels are designed to be callable
from any C or C++ code base, however.

The QMP calls and a rework of the build system were contributed by Balint Joo.
The QMP call hooks have been updated in 1.3.3 by Balint to patch a bug hit on BG/L I have removed the old version from the link.

The generator is retargetable, but for now key targets are ppc440, bgl, and powerIII.

There will be a forthcoming publication concerning this software, but in the meantime, if you use this software, please cite it as

"P.A. Boyle, http://www.ph.ed.ac.uk/~paboyle/bagel/Bagel.html, 2005"



BAGEL download

Stable QCDOC code:

bagel-1.3.2.tar.gz and bagel_wilson_dslash-1.3.3.tar.gz

BlueGene and QCDOC code.

bagel-1.4.0.tar.gz and bagel_wilson_dslash-1.4.0.tar.gz and hacked bagel_qdp-1.4.0.tar.gz

BlueGene and QCDOC code that hopefully works on ODD sublattices bagel_wilson_dslash-1.4.6.tar.gz

New:
I'm hoping the mixed precision approach will yield a modest speed up.  More on this when I've benchmarked it.

See: Compiling for bluegeneand bgl_compile.sh


Bagel-2

Bagel version 2 & paper preprint released
bagel-2.0.0.tar.gz
bfm-2.0.0.tar.gz
bagel.pdf


And finally,

Please do check back before citing, as when I get round to writing it up it would be kind to cite the paper.

It would also be kind to mail me and let me know if you like it!