A heterogeneous runtime environment for scientific desktop computing - Oliveira, Nuno (2019)
Heterogeneous architectures encompassing traditional CPUs with two or more cores, GPUs and other accelerators like the Intel Xeon Phi, are available off the shelf at an affordable cost in a desktop computer. This paper describes work towards the definition, implementation and assessment of an environment that will empower scientists and engineers to develop and run their demanding applications in such personal computers. We describe HRTE (Heterogeneous Runtime Environment) that allows the construction of dedicated problem solving environments (PSE) taking advantage of those powerful and local processing elements, thus avoiding the use of remote machines through resource managers that introduce large latencies. HRTE is tailored to the communication and execution patterns of a PSE, efficiently mapping them to the heterogeneous architecture described. We also developed an API that eases the development of modules (HModules) that support multiple parallel implementations and are easily integrated in a traditional PSE. HRTE functionality and performance and the API used to build HModules are assessed in the construction of a PSE in the area of Materials Science.