Improving the programmability of heterogeneous systems by means of libraries

  1. Viñas Buceta, Diego
unter der Leitung von:
  1. Basilio B. Fraguela Doktorvater/Doktormutter
  2. Diego Andrade Doktorvater/Doktormutter

Universität der Verteidigung: Universidade da Coruña

Fecha de defensa: 04 von Juli von 2016

Gericht:
  1. Francisco Almeida Rodriguez Präsident
  2. Juan Touriño Sekretär/in
  3. Sabela Ramos Garea Vocal

Art: Dissertation

Teseo: 425200 DIALNET lock_openRUC editor

Zusammenfassung

The usage of heterogeneous devices as co-processors in high performance computing (HPC) environments has steadily grown during the last years due to their excellent properties in terms of perfonnance and energy consumption. The larger a.vailability of hybrid HPC systems naturally led to the need to develop suitable programming tools for them, being the most widely tL'ied nowadays CUDA and OpenCL. Unfortlmatciy, these tools are relativcly low leve), which coupled with the large DUlllber of deta.ils that must be monaged when programming accelerators, makes the programm.ing of these systems using them much more complex thon that of trad.itional CPUs. This has led to the proposal of higher leve) alternatives that facilitate the progranuning of heterogeneous devices. This thesis contri bu tes to this field presenting two libraries that largely improve the programma.bility of heterogeneous systeins in C++, helping users to focus on what todo rather thtlJl onlow leve) tasks. These two libraries, the Heterogeneous Programming Library (HPL) and the Heterogeneous Hierarch.ically Tiled Arrays (H2TA), are well suited to nodes with one or more accelerators, a.nd to heterogeneous clusters, respectively. Both libraries have proveo to be able to incresse the productivity of the users improving the progro. mmability of their codes, and at the s8llle time, achieving performance similar to that of lower leve) solutions.