targetDP
The targetDP programming model [1], used internally by (and developed in co-design with) Ludwig, is a simple performance portable framework that allows grid-based codes to perform well on modern multi/many-core CPUs as well as GPUs.
For more information, including on how to obtain the software, please see here. For the specification, please see here.
[1] Alan Gray, Kevin Stratford, A Lightweight Approach to Performance Portability with targetDP, accepted to the International Journal of High Performance Computing Applications (IJHPCA)