Designing scientific applications on GPUs (Chapman & Hall/CRC numerical analysis and scientific computing series, 2014)