filmov
tv
Extending High-Level Synthesis for Task-Parallel Programs

Показать описание
C/C++/OpenCL-based high-level synthesis (HLS) becomes more and more popular for field-programmable gate array (FPGA) accelerators in many application domains in recent years, thanks to its competitive quality of results (QoR) and short development cycles compared with the traditional register-transfer level design approach. Yet, limited by the sequential C semantics, it remains challenging to adopt the same highly productive high-level programming approach in many other application domains, where coarse-grained tasks run in parallel and communicate with each other at a fine-grained level. While current HLS tools do support task-parallel programs, the productivity is greatly limited ① in the code development cycle due to the poor programmability, ② in the correctness verification cycle due to restricted software simulation, and ③ in the QoR tuning cycle due to slow code generation. Such limited productivity often defeats the purpose of HLS and hinder programmers from adopting HLS for task-parallel FPGA accelerators.
--
The VAST lab at UCLA investigates cutting-edge research topics at the intersection of VLSI technologies, design automation, architecture, and compiler optimization at multiple scales, from micro-architecture building blocks to heterogeneous compute nodes and scalable data centers. Current focuses include architecture and design automation for emerging technologies, customizable domain-specific computing with applications to multiple domains, such as imaging processing, bioinformatics, data mining, and machine learning.
--
The VAST lab at UCLA investigates cutting-edge research topics at the intersection of VLSI technologies, design automation, architecture, and compiler optimization at multiple scales, from micro-architecture building blocks to heterogeneous compute nodes and scalable data centers. Current focuses include architecture and design automation for emerging technologies, customizable domain-specific computing with applications to multiple domains, such as imaging processing, bioinformatics, data mining, and machine learning.