Elements: C++ as a service - rapid software development and dynamic interoperability with Python and beyond
Elements: C++ as a service - rapid software development and dynamic interoperability with Python and beyond
批准号:
1931408
负责人:
David Lange
金额:
$59.96万
依托单位:
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2019
资助国家:
美国
项目状态:
已结题
起止时间:
2019-10-01 至 2023-09-30
中文摘要
对于许多科学研究人员来说,创新和发现的关键促成因素是能够像软件原型一样快速地探索数据和表达想法。减少“洞察时间”的工具和技术对研究人员的生产力至关重要。与此同时,数据量和计算需求的大量增加需要持续关注最大化代码性能,以实现新型科学仪器的潜在科学。编程语言的可用性和互操作性是影响当今科学研究界的跨学科问题。因此,许多科学领域研究的常见方法是科学家使用Python编程,同时使用c++编写内核。这个c++即服务(CaaS)项目通过最先进的c++执行环境为科学研究人员带来了一种新的解释性技术。CaaS将使初学者和c++专家都能使用。它可以提高开发效率,并扩展编程语言的交互式教育和培训平台。CaaS将支持现有技术以及真正的新开发和分析方法。CaaS将直接支持不断增长的网络能力,在广泛的追求中推进科学研究。以性能为中心的语言,如c++,是许多科学领域的关键基础设施组件,这些领域要么具有巨大的计算挑战,要么需要低延迟的结果。一个易于使用的动态编程和开发环境,以及一个功能齐全的互操作性层,可以极大地提高数据科学家的工作效率。CaaS项目提供了一个动态的c++执行环境,并通过一个类似本机的动态环境,支持c++和其他语言(如Python)之间的运行时语言互操作性。CaaS在异构计算环境中提供无缝的工作卸载,包括硬件加速器,这是当今研究人员越来越经常需要的。这些进步将使研究人员能够更容易地开发和使用大型c++代码库,这些代码库是许多科学领域的关键基础设施组件。CaaS还允许在Jupyter笔记本中与c++实现真正的互操作性,并为c++开发提供了一个健壮的原型环境。它鼓励分析和代码共享,并促进科学的来源跟踪。通过减少发展的技术负担,研究人员可以把重点放在他们的科学生产力上。更广泛地说,基于笔记本的c++培训,或者在包含c++的混合编程环境中,是一个关键功能。加强技术培训将使国家在科学、技术、工程和数学能力方面取得进步。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
A key enabler of innovation and discovery for many scientific researchers is the ability to explore data and express ideas quickly as software prototypes. Tools and techniques that reduce the "time to insight" are essential to the productivity of researchers. At the same time, massive increases in data volumes and computational needs require a continual focus on maximizing code performance to realize the potential science from novel scientific apparatus. Programming language usability and interoperability are omni-disciplinary issues affecting today's scientific research community. As a result, a common approach across many scientific fields research is for scientists to program in Python, while steering kernels written in C++. This C++ as a service (CaaS) project brings a novel interpretative technology to science researchers through a state-of-the-art C++ execution environment. CaaS will enable both beginners and experts in C++. It enables higher-productivity in development and extends the interactive education and training platform for programming languages. CaaS will enable existing technologies as well as truly new development and analysis approaches. CaaS will directly support grow cyber-capabilities that advance scientific research across a broad range of pursuits.Performance-focused languages, such as C++, are a critical infrastructure component for many scientific fields that have either large computing challenges or the need for low latency for results. The productivity of data scientists can be dramatically increased by an easy to use dynamic programming and development environment, together with a fully featured interoperability layer. The CaaS project provides a dynamic C++ execution environment and enables runtime language interoperability between C++ and other languages, such as Python, through a native-like, dynamic environment. CaaS provides seamless offloading of work in a heterogeneous computing environment, including hardware accelerators, which is more and more often required by today's researchers. These advances will enable researchers to more easily develop in, and use, large C++ codebases that are critical infrastructure components in many scientific fields. CaaS also allows true interoperability with C++ in Jupyter notebooks, and a robust prototyping environment for C++ developments. It encourages analysis and code sharing and facilitates scientific provenance tracking. By reducing the technical burden of development, researchers can focus instead on their scientific productivity. More broadly, notebook-based training in C++, or in a mixed programming environment that includes C++, is a key functionality. Enhancements in technical training will enable national advancements in science, technology, engineering, and mathematics capabilities.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
Fast And Automatic Floating Point Error Analysis With CHEF-FP
使用 CHEF-FP 进行快速自动浮点误差分析
DOI:
10.1109/ipdps54959.2023.00105
发表时间:
2023
期刊:
2023 IEEE International Parallel and Distributed Processing Symposium
影响因子:
--
作者:
[Singh, Garima, Kundu, Baidyanath, Menon, Harshitha, Penev, Alexander, Lange, David J., Vassilev, Vassil]
通讯作者:
Vassilev, Vassil
GPU Accelerated Automatic Differentiation With Clad
GPU 加速 Clad 自动微分
DOI:
--
发表时间:
2022
期刊:
20th International Workshop on Advanced Computing and Analysis Techniques in Physics Research
影响因子:
--
作者:
[Ifrim, Ioana, Vassilev, Vassil, Lange, David]
通讯作者:
Lange, David
ELEMENTS: CLAD ENABLING DIFFERENTIABLE PROGRAMMING IN SCIENCE
-
批准号:2311471
-
项目类别:Standard Grant
-
资助金额:$60.0万
-
财政年份:2023
-
负责人:David Lange
-
依托单位:
AccelNet-Implementation: HSF-India - Research Software Networks in Physics
-
批准号:2201990
-
项目类别:Standard Grant
-
资助金额:$200.0万
-
财政年份:2022
-
负责人:David Lange
-
依托单位:
EAGER: Computed Tomography of Early Age Structure of Hydrated Portland Cement
-
批准号:1255962
-
项目类别:Standard Grant
-
资助金额:$5.5万
-
财政年份:2012
-
负责人:David Lange
-
依托单位:
CAREER: Career Development Research Plan Toward Microstructural Engineering of Concrete
-
批准号:9623467
-
项目类别:Continuing Grant
-
资助金额:$32.0万
-
财政年份:1996
-
负责人:David Lange
-
依托单位:
国内基金
海外基金
登录
查看更多内容
基于大语言模型的C++遗留代码智能转译技术研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2025
-
负责人:
-
依托单位:
面向C++代码复用攻击的程序分析技术
-
批准号:62002367
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:范小康
-
依托单位:
针对Android系统的Java/C++多语言接口建模与分析
-
批准号:61272086
-
项目类别:面上项目
-
资助金额:84.0万元
-
批准年份:2012
-
负责人:董渊
-
依托单位:
面向错误检测的C++程序静态分析技术
-
批准号:61003026
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2010
-
负责人:许中兴
-
依托单位: