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)