High-Level Programming of FPGA-Accelerated Systems with Parallel Patterns

IF 0.9 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS International Journal of Parallel Programming Pub Date : 2024-05-27 DOI:10.1007/s10766-024-00770-3
Björn Birath, August Ernstsson, John Tinnerholm, Christoph Kessler
{"title":"High-Level Programming of FPGA-Accelerated Systems with Parallel Patterns","authors":"Björn Birath, August Ernstsson, John Tinnerholm, Christoph Kessler","doi":"10.1007/s10766-024-00770-3","DOIUrl":null,"url":null,"abstract":"<p>As a result of frequency and power limitations, multi-core processors and accelerators are becoming more and more prevalent in today’s systems. To fully utilize such systems, heterogeneous parallel programming is needed, but this introduces new complexities to the development. High-level frameworks such as SkePU have been introduced to help alleviate these complexities. SkePU is a skeleton programming framework based on a set of programming constructs implementing computational parallel patterns, while presenting a sequential interface to the programmer. Using the various skeleton backends, SkePU programs can execute, without source code modification, on multiple types of hardware such as CPUs, GPUs, and clusters. This paper presents the design and implementation of a new backend for SkePU, adding support for FPGAs. We also evaluate the effect of FPGA-specific optimizations in the new backend and compare it with the existing GPU backend, where the actual devices used are of similar vintage and price point. For simple examples, we find that the FPGA-backend’s performance is similar to that of the existing backend for GPUs, while it falls behind in more complex tasks. Finally, some shortcomings in the backend are highlighted and discussed, along with potential solutions.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"52 1","pages":""},"PeriodicalIF":0.9000,"publicationDate":"2024-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Parallel Programming","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10766-024-00770-3","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

As a result of frequency and power limitations, multi-core processors and accelerators are becoming more and more prevalent in today’s systems. To fully utilize such systems, heterogeneous parallel programming is needed, but this introduces new complexities to the development. High-level frameworks such as SkePU have been introduced to help alleviate these complexities. SkePU is a skeleton programming framework based on a set of programming constructs implementing computational parallel patterns, while presenting a sequential interface to the programmer. Using the various skeleton backends, SkePU programs can execute, without source code modification, on multiple types of hardware such as CPUs, GPUs, and clusters. This paper presents the design and implementation of a new backend for SkePU, adding support for FPGAs. We also evaluate the effect of FPGA-specific optimizations in the new backend and compare it with the existing GPU backend, where the actual devices used are of similar vintage and price point. For simple examples, we find that the FPGA-backend’s performance is similar to that of the existing backend for GPUs, while it falls behind in more complex tasks. Finally, some shortcomings in the backend are highlighted and discussed, along with potential solutions.

Abstract Image

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
利用并行模式对 FPGA 加速系统进行高级编程
由于频率和功耗的限制,多核处理器和加速器在当今系统中越来越普遍。为了充分利用这些系统,需要进行异构并行编程,但这给开发带来了新的复杂性。SkePU 等高级框架的出现有助于缓解这些复杂性。SkePU 是一个骨架编程框架,基于一套实现计算并行模式的编程结构,同时为程序员提供一个顺序界面。利用各种骨架后端,SkePU 程序无需修改源代码即可在 CPU、GPU 和集群等多种类型的硬件上执行。本文介绍了 SkePU 新后端的设计和实现,增加了对 FPGA 的支持。我们还评估了新后端中针对 FPGA 的优化效果,并将其与现有的 GPU 后端进行了比较。对于简单的示例,我们发现 FPGA 后端的性能与现有 GPU 后端的性能相似,而在更复杂的任务中,FPGA 后端的性能则落后于 GPU 后端。最后,我们强调并讨论了后端的一些不足之处以及潜在的解决方案。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
International Journal of Parallel Programming
International Journal of Parallel Programming 工程技术-计算机:理论方法
CiteScore
4.40
自引率
0.00%
发文量
15
审稿时长
>12 weeks
期刊介绍: International Journal of Parallel Programming is a forum for the publication of peer-reviewed, high-quality original papers in the computer and information sciences, focusing specifically on programming aspects of parallel computing systems. Such systems are characterized by the coexistence over time of multiple coordinated activities. The journal publishes both original research and survey papers. Fields of interest include: linguistic foundations, conceptual frameworks, high-level languages, evaluation methods, implementation techniques, programming support systems, pragmatic considerations, architectural characteristics, software engineering aspects, advances in parallel algorithms, performance studies, and application studies.
期刊最新文献
Meerkat: A Framework for Dynamic Graph Algorithms on GPUs Intelligent Page Migration on Heterogeneous Memory by Using Transformer Design and Performance Evaluation of a Novel High-Speed Hardware Architecture for Keccak Crypto Coprocessor RMOWOA: A Revamped Multi-Objective Whale Optimization Algorithm for Maximizing the Lifetime of a Network in Wireless Sensor Networks Optimizing Three-Dimensional Stencil-Operations on Heterogeneous Computing Environments
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1