Pregled bibliografske jedinice broj: 1186876
Programming model for heterogeneous computing systems with customizable accelerators
Programming model for heterogeneous computing systems with customizable accelerators, 2022., doktorska disertacija, Fakultet elektrotehnike i računarstva, Zagreb
CROSBI ID: 1186876 Za ispravke kontaktirajte CROSBI podršku putem web obrasca
Naslov
Programming model for heterogeneous computing
systems with customizable accelerators
Autori
Pervan, Branimir
Vrsta, podvrsta i kategorija rada
Ocjenski radovi, doktorska disertacija
Fakultet
Fakultet elektrotehnike i računarstva
Mjesto
Zagreb
Datum
25.03
Godina
2022
Stranica
138
Mentor
Knezović, Josip
Ključne riječi
domain-specific languages, heterogeneous systems, parallel processing, multi- core systems, RISC-V
Sažetak
The constant growth of human development in general can be easily perceived at the current point in time. Followed by that development, there is a significant growth in the need for processing power. The amount of aggregated data requiring processing, followed by big data paradigm and brain-inspired computing drive the need to enter the so-called exascale domain, which is additionally confirmed by the existence of multiple scientific projects with the ultimate goal to develop an exascale machine in near future. In reaching the exascale domain, one of the key development points will be heterogeneity, implying systems containing a general-purpose processing core, coupled with at least one non-general purpose accelerator. Accelerators for specific applications usually achieve the best results regarding performance and energy efficiency, but with a cost of being unusable in other domains. Theoretically, there exists a large gap for customizable accelerators which could balance between performance and energy-efficiency gains and the lack of customizability in conventional accelerators, by allowing customization of themselves to some extent. High-performance systems of the future not only have to be heterogeneous but exploit parallelism on every level as well. However, efficiently exploiting heterogeneity and parallelism is inherently hard. Current programming models usually rely on imperative programming paradigms which decompose algorithms and problems with respect to how things are computed, requiring deep knowledge of the underlying hardware and other aspects of the system, that domain scientists usually lack. It is, therefore, necessary to provide adequate models which would efficiently exploit given resources while keeping a relatively simple approach. This thesis proposes a different approach to programming complex heterogeneous systems, by expressing what is being computed, rather than how things are computed. To deliver such a model, the use of RISE language is proposed, which was appropriately extended to deliver the outcomes of this thesis. Additionally, ELEVATE, a domain-specific language for describing optimization strategies was used to demonstrate and enable optimizations targeting the specific parts of the heterogeneous system. As a testing platform, GAP8, a System-on-Chip containing a general-purpose fabric controller loosely coupled with a customizable accelerator containing eight RISC-V cores and a Hardware Convolution Engine was used. The proposed model was evaluated by executing typical parallel benchmarks and comparing the RISE-generated code with hand-tuned code. The results show that it is possible to provide an arguably simpler and more concise programming model while keeping performance and energy efficiency at least on par compared to the conventional programming model for the target platform.
Izvorni jezik
Engleski
Znanstvena područja
Računarstvo
POVEZANOST RADA
Ustanove:
Fakultet elektrotehnike i računarstva, Zagreb