为MIMD架构编译SIMD程序

M. J. Quinn, P. Hatcher
{"title":"为MIMD架构编译SIMD程序","authors":"M. J. Quinn, P. Hatcher","doi":"10.1109/ICCL.1990.63785","DOIUrl":null,"url":null,"abstract":"A summary of the advantages of data parallel languages a subclass of SIMD (single-instruction-stream, multiple-data-stream languages) is presented, and it is shown how programs written in a data parallel language can be compiled into loosely-synchronous MIMD (multiple-instruction-stream, multiple-data-stream) programs suitable for efficient execution on multicomputers. It is shown that the compiler must first locate the points at which message passing is required. These points are identical to the synchronization points. Therefore, message passing-primitives also synchronize the processors. Second, the compiler must transform the control structure of the input program to bring message-passing primitives to the outermost level. In order to allow a single physical processor to emulate a number of processing elements, the compiler must insert FOR loops around the blocks of code that are delimited by the calls to the message-passing primitives. Finally, data flow analysis can be used to eliminate some calls on message-passing routines and to combine multiple shorter messages into single, longer message whenever possible.<<ETX>>","PeriodicalId":317186,"journal":{"name":"Proceedings. 1990 International Conference on Computer Languages","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":"{\"title\":\"Compiling SIMD programs for MIMD architectures\",\"authors\":\"M. J. Quinn, P. Hatcher\",\"doi\":\"10.1109/ICCL.1990.63785\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A summary of the advantages of data parallel languages a subclass of SIMD (single-instruction-stream, multiple-data-stream languages) is presented, and it is shown how programs written in a data parallel language can be compiled into loosely-synchronous MIMD (multiple-instruction-stream, multiple-data-stream) programs suitable for efficient execution on multicomputers. It is shown that the compiler must first locate the points at which message passing is required. These points are identical to the synchronization points. Therefore, message passing-primitives also synchronize the processors. Second, the compiler must transform the control structure of the input program to bring message-passing primitives to the outermost level. In order to allow a single physical processor to emulate a number of processing elements, the compiler must insert FOR loops around the blocks of code that are delimited by the calls to the message-passing primitives. Finally, data flow analysis can be used to eliminate some calls on message-passing routines and to combine multiple shorter messages into single, longer message whenever possible.<<ETX>>\",\"PeriodicalId\":317186,\"journal\":{\"name\":\"Proceedings. 1990 International Conference on Computer Languages\",\"volume\":\"41 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1990-03-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"13\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. 1990 International Conference on Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICCL.1990.63785\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 1990 International Conference on Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCL.1990.63785","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

摘要

摘要总结了SIMD(单指令流、多数据流语言)的子类数据并行语言的优点,并展示了如何将用数据并行语言编写的程序编译成适合在多台计算机上高效执行的松同步MIMD(多指令流、多数据流)程序。它表明编译器必须首先定位需要传递消息的点。这些点与同步点是相同的。因此,消息传递原语也同步处理器。其次,编译器必须转换输入程序的控制结构,将消息传递原语带到最外层。为了允许单个物理处理器模拟多个处理元素,编译器必须在由对消息传递原语的调用所划分的代码块周围插入FOR循环。最后,数据流分析可用于消除对消息传递例程的一些调用,并尽可能将多个较短的消息合并为单个较长的消息。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Compiling SIMD programs for MIMD architectures
A summary of the advantages of data parallel languages a subclass of SIMD (single-instruction-stream, multiple-data-stream languages) is presented, and it is shown how programs written in a data parallel language can be compiled into loosely-synchronous MIMD (multiple-instruction-stream, multiple-data-stream) programs suitable for efficient execution on multicomputers. It is shown that the compiler must first locate the points at which message passing is required. These points are identical to the synchronization points. Therefore, message passing-primitives also synchronize the processors. Second, the compiler must transform the control structure of the input program to bring message-passing primitives to the outermost level. In order to allow a single physical processor to emulate a number of processing elements, the compiler must insert FOR loops around the blocks of code that are delimited by the calls to the message-passing primitives. Finally, data flow analysis can be used to eliminate some calls on message-passing routines and to combine multiple shorter messages into single, longer message whenever possible.<>
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Enhancing documents with embedded programs: how Ness extends insets in the Andrew ToolKit Subdivided procedures: a language extension supporting extensible programming Using languages for capture, analysis and display of performance information for parallel and distributed applications Coordination languages for open system design An object model for shared data
×
引用
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