FPGA implementation of a Cholesky algorithm for a shared-memory multiprocessor architecture

Satchidanand G. Haridas, Sotirios G. Ziavras
{"title":"FPGA implementation of a Cholesky algorithm for a shared-memory multiprocessor architecture","authors":"Satchidanand G. Haridas, Sotirios G. Ziavras","doi":"10.1080/10637190412331279957","DOIUrl":null,"url":null,"abstract":"Solving a system of linear equations is a key problem in engineering and science. Matrix factorization is a key component of many methods used to solve such equations. However, the factorization process is very time consuming, so these problems have often been targeted for parallel machines rather than sequential ones. Nevertheless, commercially available supercomputers are expensive and only large institutions have the resources to purchase them. Hence, efforts are on to develop moreaffordable alternatives. In this paper, we propose such an approach. We present an implementation of a parallel version of the Cholesky matrix factorization algorithm on a single-chip multiprocessor built inside an APEX20K series Field-Programmable Gate Array (FPGA) developed by Altera. Our multiprocessor system uses an asymmetric, shared-memoryMIMD architecture and was built using the configurable Nios™ processor core which was also developed by Altera. Our system was developed using Altera's System-On-a-Programmable-Chip (SOPC) Quartus II development environment. Our Cholesky implementation is based on an algorithm described by George et al. [6]. This algorithm is scalable and uses a “queue of tasks” approach to ensure dynamic load-balancing among the processing elements. Our implementation assumes dense matrices in the input. We present performance results for uniprocessor and multiprocessor implementations. Our results show that the implementation of multiprocessors inside FPGAs can benefit matrix operations, such as matrix factorization. Further benefits result from good dynamic load-balancing techniques.","PeriodicalId":406098,"journal":{"name":"Parallel Algorithms and Applications","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Parallel Algorithms and Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1080/10637190412331279957","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15

Abstract

Solving a system of linear equations is a key problem in engineering and science. Matrix factorization is a key component of many methods used to solve such equations. However, the factorization process is very time consuming, so these problems have often been targeted for parallel machines rather than sequential ones. Nevertheless, commercially available supercomputers are expensive and only large institutions have the resources to purchase them. Hence, efforts are on to develop moreaffordable alternatives. In this paper, we propose such an approach. We present an implementation of a parallel version of the Cholesky matrix factorization algorithm on a single-chip multiprocessor built inside an APEX20K series Field-Programmable Gate Array (FPGA) developed by Altera. Our multiprocessor system uses an asymmetric, shared-memoryMIMD architecture and was built using the configurable Nios™ processor core which was also developed by Altera. Our system was developed using Altera's System-On-a-Programmable-Chip (SOPC) Quartus II development environment. Our Cholesky implementation is based on an algorithm described by George et al. [6]. This algorithm is scalable and uses a “queue of tasks” approach to ensure dynamic load-balancing among the processing elements. Our implementation assumes dense matrices in the input. We present performance results for uniprocessor and multiprocessor implementations. Our results show that the implementation of multiprocessors inside FPGAs can benefit matrix operations, such as matrix factorization. Further benefits result from good dynamic load-balancing techniques.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
用于共享内存多处理器架构的Cholesky算法的FPGA实现
求解线性方程组是工程和科学中的一个关键问题。矩阵分解是求解这类方程的许多方法的关键组成部分。然而,因式分解过程非常耗时,因此这些问题通常针对并行机器而不是顺序机器。然而,商用超级计算机价格昂贵,只有大型机构才有资源购买它们。因此,人们正在努力开发更实惠的替代品。在本文中,我们提出了这样一个方法。我们在Altera公司开发的APEX20K系列现场可编程门阵列(FPGA)内内置的单片多处理器上实现了并行版本的Cholesky矩阵分解算法。我们的多处理器系统采用非对称、共享内存的ymimd架构,并使用同样由Altera开发的可配置Nios™处理器内核构建。我们的系统是使用Altera的系统可编程芯片(SOPC) Quartus II开发环境开发的。我们的Cholesky实现基于George等人[6]描述的算法。该算法是可伸缩的,并使用“任务队列”方法来确保处理元素之间的动态负载平衡。我们的实现假设输入是密集矩阵。我们给出了单处理器和多处理器实现的性能结果。结果表明,在fpga内部实现多处理器有利于矩阵运算,如矩阵分解。良好的动态负载平衡技术带来了更多的好处。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Fast and scalable parallel matrix computations with reconfigurable pipelined optical buses A comparative study of explicit group iterative solvers on a cluster of workstations FPGA implementation of a Cholesky algorithm for a shared-memory multiprocessor architecture Application of MPI-IO in Parallel Particle Transport Monte-Carlo Simulation Cost-effective modeling for natural resource distribution systems
×
引用
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