SIMULATeQCD
The goal of SIMULATeQCD is to establish a multi-GPU interface that makes it simple and easy for developers to implement lattice QCD formulas while still providing the best possible performance.
It is written in C++, allowing developers to write code which is close to hardware level (opening many possibilities for optimization), and it is an object-oriented language, facilitating organized code structure and encapsulation (making the code human-readable).