We have used Fortran 90 to implement lattice QCD. We have designed a set of machine independent modules that define fields (gauge, fermions, scalars, etc...) and overloaded operators for all possible operations between fields, matrices and numbers. With these modules it is very simple to write high-level efficient programs for QCD simulations. To increase performances our modules also implements assignments that do not require temporaries, and a machine independent precision definition. We have also created a useful compression procedure for storing the lattice configurations, and a parallel implementation of the random generators. We have widely tested our program and modules on several parallel and single processor supercomputers obtaining excellent performances.
Dasgupta, I., Levi, A.r., Lubicz, V., Rebbi, C. (1997). QCDF90: Lattice QCD with Fortran 90. In Proceedings of the 5th International Workshop on New Computing Techniques in Physics Research (AIHENP 96) (pp.121-124) [10.1016/S0168-9002(97)00060-0].