A uniform approach for programming distributed heterogeneous computing systems
libWater programming model, which extends OpenCL with a simplified interface. A lightweight distributed runtime system based on asynchronous command execution. A powerful representation that collects and arranges dependencies between commands. Dynamic Collective Replacement and Device-Host-Device Copy Removal optimizations. A study of the performance of the library on three compute clusters.
heterogeneous computing programming model opencl runtime system mpi distributed computing