Bilgisayar Mühendisliği Bölümü Koleksiyonu
Permanent URI for this collectionhttps://gcris.khas.edu.tr/handle/20.500.12469/45
Browse
Browsing Bilgisayar Mühendisliği Bölümü Koleksiyonu by Author "Andrade, Diego"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Article Citation Count: 2Developing adaptive multi-device applications with the Heterogeneous Programming Library(Springer, 2015) Bozkuş, Zeki; Bozkuş, Zeki; Fraguela, Basilio B.; Andrade, Diego; Doallo, RamonThe usage of heterogeneous devices presents two main problems. One is their complex programming a problem that grows when multiple devices are used. The second issue is that even if the codes for these devices can be portable on top of OpenCL they lack performance portability effectively requiring specialized implementations for each device to get good performance. In this paper we extend the Heterogeneous Programming Library (HPL) which improves the usability of heterogeneous systems on top of OpenCL to better handle both issues. First we provide HPL with mechanisms to support the implementation of any multi-device application that requires arbitrary patterns of communication between several devices and a host memory. In a second stage HPL is improved with an adaptive scheme to optimize communications between devices depending on the execution environment. An evaluation using benchmarks with very different nature shows that HPL reduces the SLOCs and programming effort of OpenCL applications by 27 and 43 % respectively while improving the performance of applications that exchange data between devices by 28 % on average.Conference Object Citation Count: 12Improving OpenCL programmability with the Heterogeneous Programming Library(Elsevier Science Bv, 2015) Bozkuş, Zeki; Fraguela, Basilio B.; Bozkuş, Zeki; Andrade, DiegoThe use of heterogeneous devices is becoming increasingly widespread. Their main drawback is their low programmability due to the large amount of details that must be handled. Another important problem is the reduced code portability as most of the tools to program them are vendor or device-specific. The exception to this observation is OpenCL which largely suffers from the reduced programmability problem mentioned particularly in the host side. The Heterogeneous Programming Library (HPL) is a recent proposal to improve this situation as it couples portability with good programmability. While the HPL kernels must be written in a language embedded in C++ users may prefer to use OpenCL kernels for several reasons such as their growing availability or a faster development from existing codes. In this paper we extend HPL to support the execution of native OpenCL kernels and we evaluate the resulting solution in terms of performance and programmability achieving very good results.