five

Fortran2CPP

收藏
arXiv2024-12-28 更新2024-12-31 收录
下载链接:
https://github.com/HPC-Fortran2CPP/Fortran2Cpp
下载链接
链接失效反馈
官方服务:
资源简介:
Fortran2CPP数据集是由爱荷华州立大学、明尼苏达大学、北卡罗来纳州立大学和劳伦斯利弗莫尔国家实验室联合创建,专为Fortran到C++代码迁移任务设计。该数据集通过多轮对话和双代理集成的方式生成,确保了高质量和功能正确性。数据集包含了迭代的编译、执行和代码修复过程,生成了丰富的多轮对话数据,涵盖了翻译过程中的详细错误信息和决策步骤。该数据集的应用领域主要是高性能计算(HPC)中的代码迁移任务,旨在解决Fortran代码向C++迁移时的自动化翻译问题,提升翻译的语法准确性和可编译性。

The Fortran2CPP dataset was jointly created by Iowa State University, University of Minnesota, North Carolina State University, and Lawrence Livermore National Laboratory, and is specifically designed for Fortran-to-C++ code migration tasks. This dataset is generated through multi-turn dialogues and dual-agent integration to ensure high quality and functional correctness. It contains iterative compilation, execution, and code repair processes, and generates rich multi-turn dialogue data covering detailed error information and decision-making steps during the translation process. Its primary application scenario is code migration tasks in high-performance computing (HPC), aiming to address the automated translation issue when migrating Fortran code to C++, and improving the grammatical accuracy and compilability of the translated code.
提供机构:
爱荷华州立大学, 明尼苏达大学, 北卡罗来纳州立大学, 劳伦斯利弗莫尔国家实验室
创建时间:
2024-12-28
搜集汇总
数据集介绍
main_image_url
构建方式
Fortran2CPP数据集的构建采用了基于大语言模型(LLMs)的双代理迭代对话机制。首先,通过LLMs生成Fortran代码的初始C++翻译,随后通过多轮对话进行单元测试生成、编译修复、执行修复和一致性验证。每一轮对话均由Questioner和Solver两个代理协同完成,Questioner负责提出问题,Solver则负责执行翻译、错误修复等任务。最终,通过迭代的编译和执行反馈,确保生成的C++代码在功能上与原始Fortran代码一致。
使用方法
Fortran2CPP数据集主要用于训练和微调大语言模型,以提升其在Fortran到C++代码翻译任务中的表现。用户可以通过加载数据集,利用其多轮对话记录和代码对进行模型训练。训练后的模型能够显著提升翻译的语法准确性和可编译性,适用于高性能计算领域的代码现代化任务。此外,数据集还可用于评估模型在低资源语言翻译任务中的表现,为相关研究提供基准测试。
背景与挑战
背景概述
Fortran2CPP数据集由爱荷华州立大学、明尼苏达大学、北卡罗来纳州立大学和劳伦斯利弗莫尔国家实验室的研究团队于2024年提出,旨在解决Fortran代码向C++代码迁移的自动化问题。随着高性能计算(HPC)领域对现代化编程范式的需求日益增长,Fortran代码的迁移成为提升跨平台兼容性和可维护性的关键任务。传统基于规则的代码迁移方法成本高昂且灵活性有限,而基于大语言模型(LLMs)的自动化迁移方法则展现出巨大潜力。然而,缺乏高质量、专门化的数据集限制了LLMs在这一任务中的表现。Fortran2CPP数据集通过引入多轮对话机制和双代理集成,结合迭代编译、执行和代码修复,生成了规模显著大于现有替代方案的高质量数据集,显著提升了LLMs在Fortran到C++代码迁移中的表现。
当前挑战
Fortran2CPP数据集在解决Fortran到C++代码迁移问题时面临多重挑战。首先,Fortran作为一种低资源编程语言,其代码在开源平台上的占比极低,导致训练数据的稀缺性,限制了LLMs在Fortran代码理解与迁移中的表现。其次,Fortran与C++在语法和语义上的差异较大,LLMs在处理复杂的语言范式转换时,往往难以保证翻译的准确性和功能性。此外,构建数据集的过程中,研究团队需确保生成的C++代码不仅语法正确,还需通过编译和执行验证,这对数据生成管道的设计和实现提出了较高要求。多轮对话机制和双代理集成的引入虽然提升了数据质量,但也增加了数据生成和验证的复杂性,尤其是在处理大规模代码迁移任务时,如何平衡效率与准确性成为关键挑战。
常用场景
经典使用场景
Fortran2CPP数据集在科学计算领域中被广泛用于自动化Fortran代码向C++代码的迁移任务。通过多轮对话和双代理集成的LLM(大语言模型)技术,该数据集能够高效处理复杂的代码转换问题,确保转换后的C++代码在语法和功能上的准确性。其经典使用场景包括高性能计算(HPC)项目中遗留Fortran代码的现代化改造,以及跨平台兼容性和可维护性的提升。
解决学术问题
Fortran2CPP数据集解决了Fortran到C++代码迁移中的两大核心学术问题:一是缺乏高质量、专门化的训练数据,导致LLM在低资源语言(如Fortran)上的表现受限;二是传统基于规则的代码转换方法开发成本高且灵活性不足。通过提供大规模、高质量的多轮对话数据集,该数据集显著提升了LLM在代码翻译任务中的性能,特别是在CodeBLEU评分和编译成功率方面取得了显著进步。
实际应用
在实际应用中,Fortran2CPP数据集被广泛用于科学计算团队的代码现代化项目中。通过自动化代码迁移,团队能够更高效地将遗留的Fortran代码转换为C++,从而利用现代编程范式和工具,提升代码的可维护性和跨平台兼容性。此外,该数据集还被用于开发智能代码翻译工具,帮助开发者在无需深入了解Fortran和C++语言细节的情况下,快速完成代码迁移任务。
数据集最近研究
最新研究方向
在科学计算领域,Fortran2CPP数据集的引入为Fortran到C++的代码迁移提供了新的研究方向。随着高性能计算(HPC)对现代编程范式的需求日益增长,自动化代码迁移成为提升跨平台兼容性和可维护性的关键。Fortran2CPP数据集通过多轮对话和双代理集成的LLM驱动管道,显著提升了代码翻译的准确性和可编译性。该数据集不仅规模远超现有资源,还通过迭代编译、执行和代码修复确保了高质量的功能正确性。研究表明,基于该数据集微调的LLM模型在CodeBLEU评分和编译成功率上分别实现了3.31倍和92%的提升,为低资源编程语言如Fortran的代码翻译任务提供了强有力的支持。这一进展不仅推动了科学计算领域的代码现代化进程,也为LLM在复杂代码翻译任务中的应用开辟了新的路径。
相关研究论文
  • 1
    Fortran2CPP: Automating Fortran-to-C++ Migration using LLMs via Multi-Turn Dialogue and Dual-Agent Integration爱荷华州立大学, 明尼苏达大学, 北卡罗来纳州立大学, 劳伦斯利弗莫尔国家实验室 · 2024年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作