During the past decades, evolutionary computation (EC) has demonstrated promising potential in solving various complex optimization problems of relatively small scales. Nowadays, however, ongoing developments in modern science and engineering are bringing increasingly grave challenges to the conventional EC paradigm in terms of scalability. As problem scales increase, on the one hand, the encoding spaces (i.e., dimensions of the decision vectors) are intrinsically larger; on the other hand, EC algorithms often require growing numbers of function evaluations (and probably larger population sizes as well) to work properly. To meet such emerging challenges, not only does it require delicate algorithm designs, but more importantly, a high-performance computing framework is indispensable. Hence, we develop a distributed GPU-accelerated algorithm library -- EvoX. First, we propose a generalized workflow for implementing general EC algorithms. Second, we design a scalable computing framework for running EC algorithms on distributed GPU devices. Third, we provide user-friendly interfaces to both researchers and practitioners for benchmark studies as well as extended real-world applications. To comprehensively assess the performance of EvoX, we conduct a series of experiments, including: (i) scalability test via numerical optimization benchmarks with problem dimensions/population sizes up to millions; (ii) acceleration test via a neuroevolution task with multiple GPU nodes; (iii) extensibility demonstration via the application to reinforcement learning tasks on the OpenAI Gym. The code of EvoX is available at https://github.com/EMI-Group/EvoX.
翻译:过去数十年间,进化计算(EC)在解决各类中小规模复杂优化问题中展现出显著潜力。然而,随着现代科学与工程领域持续发展,传统EC范式在可扩展性方面正面临日益严峻的挑战。随着问题规模增大,一方面编码空间(即决策向量维度)固有地扩大;另一方面,EC算法通常需要更多函数评估次数(可能还需更大种群规模)才能有效运行。为应对这些新挑战,不仅需要精妙的算法设计,更需要高性能计算框架的支撑。为此,我们开发了分布式GPU加速算法库——EvoX。首先,我们提出通用EC算法实现的标准化工作流;其次,设计适用于分布式GPU设备运行EC算法的可扩展计算框架;最后,为研究者和实践者提供友好的基准测试研究及扩展现实应用接口。为全面评估EvoX性能,我们开展系列实验,包括:(i)通过维度/种群规模达百万级的数值优化基准进行可扩展性测试;(ii)利用多GPU节点的神经进化任务进行加速测试;(iii)基于OpenAI Gym的强化学习任务展示扩展能力。EvoX代码开源地址:https://github.com/EMI-Group/EvoX。