Abstract

FermiQCD[1][2] is a C++ library for fast development of parallel lattice QCD applications . The expression FermiQCD Collaboration is used as a collective name to indicate both the users of the software and its contributors. One of the main differences between FermiQCD and libraries developed by other collaborations is that it follows an object oriented design as opposed to a procedural design. FermiQCD should not be identified exclusively with the implementation of the algorithms but, rather, with the strict specifications that define its Application Program Interface. One should think of FermiQCD as a language on its own (a superset of the C++ language), designed to describe Lattice QCD algorithms. The objects of the language include complex numbers (mdp complex), matrices (mdp matrix), lattices (mdp lattice), fields (gauge field, fermi field, staggered field), propagators (fermi propagator) and actions. Algorithms written in terms of these objects are automatically parallel. Some of the advantages of our design approach are the following:

Cite this paper

@inproceedings{Pierro2003N, title={. net}, author={Massimo Di Pierro and Aida X. El-Khadra and Steven Gottlieb and Andreas S. Kronfeld and P. Mackenzie and Masataka Okamoto and Mehmet Buǧrahan Oktay}, year={2003} }