计算机科学 > 神经与进化计算
[提交于 2025年1月21日
(v1)
,最后修订 2025年7月3日 (此版本, v4)]
标题: 在基于树的遗传编程中实现种群级并行性以全面加速GPU
标题: Enabling Population-Level Parallelism in Tree-Based Genetic Programming for Comprehensive GPU Acceleration
摘要: 基于树的遗传编程(TGP)是一种广泛用于符号回归、分类和机器人控制等任务的进化算法。 由于运行TGP的计算需求非常大,GPU加速对于实现可扩展性能至关重要。 然而,高效的基于GPU的TGP执行仍然具有挑战性,主要是由于三个核心问题: (1)程序个体的结构异质性,(2)整合多级并行性的复杂性,以及(3)高性能CUDA执行与灵活的Python环境之间的不兼容性。 为了解决这些问题,我们提出了EvoGP,这是一个高性能框架,通过种群级并行执行来全面加速TGP。 首先,EvoGP引入了一种张量化表示,将可变大小的树编码为固定形状、内存对齐的数组,从而实现统一的内存访问和跨不同个体的并行计算。 其次, EvoGP采用了一种自适应并行策略,根据数据集大小动态结合个体内部和个体间的并行性,确保在广泛的任务范围内实现高GPU利用率。 第三,EvoGP将自定义的CUDA内核嵌入到PyTorch运行时中,实现了与Python环境如Gym、MuJoCo、Brax和Genesis的无缝集成。 全面的实验表明,EvoGP在最先进的基于GPU的TGP实现上实现了高达140倍的速度提升,同时保持了竞争性的准确性,并在大规模种群下显著提高了可扩展性。 EvoGP是开源的,可在以下链接获取:https://github.com/EMI-Group/evogp。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.