کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
432375 | 688869 | 2013 | 12 صفحه PDF | دانلود رایگان |
• A library to improve the programmability and portability of heterogeneous systems.
• Computations are expressed with a language embedded in C++ it provides.
• Run-time code generation (RTCG) advantages and its control with C++ are discussed.
• Our library automates data transfers, task synchronization, etc.
• Performance is very similar to OpenCL while programmability largely improves.
While recognition of the advantages of heterogeneous computing is steadily growing, the issues of programmability and portability hinder its exploitation. The introduction of the OpenCL standard was a major step forward in that it provides code portability, but its interface is even more complex than that of other approaches. In this paper, we present the Heterogeneous Programming Library (HPL), which permits the development of heterogeneous applications addressing both portability and programmability while not sacrificing high performance. This is achieved by means of an embedded language and data types provided by the library with which generic computations to be run in heterogeneous devices can be expressed. A comparison in terms of programmability and performance with OpenCL shows that both approaches offer very similar performance, while outlining the programmability advantages of HPL.
Journal: Journal of Parallel and Distributed Computing - Volume 73, Issue 12, December 2013, Pages 1627–1638