高能物理计算中Julia编程语言的潜力

Q1 Computer Science
Jonas Eschle, Tamás Gál, Mosè Giordano, Philippe Gras, Benedikt Hegner, Lukas Heinrich, Uwe Hernandez Acosta, Stefan Kluth, Jerry Ling, Pere Mato, Mikhail Mikhasenko, Alexander Moreno Briceño, Jim Pivarski, Konstantinos Samaras-Tsakiris, Oliver Schulz, Graeme Andrew Stewart, Jan Strube, Vassil Vassilev
{"title":"高能物理计算中Julia编程语言的潜力","authors":"Jonas Eschle, Tamás Gál, Mosè Giordano, Philippe Gras, Benedikt Hegner, Lukas Heinrich, Uwe Hernandez Acosta, Stefan Kluth, Jerry Ling, Pere Mato, Mikhail Mikhasenko, Alexander Moreno Briceño, Jim Pivarski, Konstantinos Samaras-Tsakiris, Oliver Schulz, Graeme Andrew Stewart, Jan Strube, Vassil Vassilev","doi":"10.1007/s41781-023-00104-x","DOIUrl":null,"url":null,"abstract":"Abstract Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of combining Python, used for the high-level interface, and C++, used for the computing intensive part of the code. A more convenient and efficient approach would be to use a language that provides both high-level programming and high-performance. The Julia programming language, developed at MIT especially to allow the use of a single language in research activities, has followed this path. In this paper the applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identified.","PeriodicalId":36026,"journal":{"name":"Computing and Software for Big Science","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2023-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Potential of the Julia Programming Language for High Energy Physics Computing\",\"authors\":\"Jonas Eschle, Tamás Gál, Mosè Giordano, Philippe Gras, Benedikt Hegner, Lukas Heinrich, Uwe Hernandez Acosta, Stefan Kluth, Jerry Ling, Pere Mato, Mikhail Mikhasenko, Alexander Moreno Briceño, Jim Pivarski, Konstantinos Samaras-Tsakiris, Oliver Schulz, Graeme Andrew Stewart, Jan Strube, Vassil Vassilev\",\"doi\":\"10.1007/s41781-023-00104-x\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Abstract Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of combining Python, used for the high-level interface, and C++, used for the computing intensive part of the code. A more convenient and efficient approach would be to use a language that provides both high-level programming and high-performance. The Julia programming language, developed at MIT especially to allow the use of a single language in research activities, has followed this path. In this paper the applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identified.\",\"PeriodicalId\":36026,\"journal\":{\"name\":\"Computing and Software for Big Science\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-10-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computing and Software for Big Science\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1007/s41781-023-00104-x\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"Computer Science\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computing and Software for Big Science","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1007/s41781-023-00104-x","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"Computer Science","Score":null,"Total":0}
引用次数: 1

摘要

高能物理(HEP)的研究需要大量的计算和存储,这对代码速度和资源使用有很强的限制。为了满足这些要求,通常使用编译的高性能语言;而对于在开发代码时专注于应用程序的物理学家来说,更高的研究效率需要一种高级编程语言。一种流行的方法是将Python(用于高级接口)和c++(用于代码的计算密集型部分)结合起来。更方便和有效的方法是使用既提供高级编程又提供高性能的语言。由麻省理工学院开发的Julia编程语言遵循了这条道路,它特别允许在研究活动中使用单一语言。本文探讨了使用Julia语言进行HEP研究的适用性,涵盖了对HEP代码开发很重要的不同方面:运行时性能、大型项目的处理、与遗留代码的接口、分布式计算、培训和编程的便利性。研究表明,HEP社区将受益于这种编程语言的大规模采用。确定了需要合并的特定于hep的基础库。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Potential of the Julia Programming Language for High Energy Physics Computing
Abstract Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of combining Python, used for the high-level interface, and C++, used for the computing intensive part of the code. A more convenient and efficient approach would be to use a language that provides both high-level programming and high-performance. The Julia programming language, developed at MIT especially to allow the use of a single language in research activities, has followed this path. In this paper the applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identified.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Computing and Software for Big Science
Computing and Software for Big Science Computer Science-Computer Science (miscellaneous)
CiteScore
6.20
自引率
0.00%
发文量
15
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信