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. Empirically, we assess the promising scalability of EvoX via a series of benchmark experiments with problem dimensions/population sizes up to millions. Moreover, we demonstrate the easy usability of EvoX by applying it to solving reinforcement learning tasks on OpenAI Gym. To the best of our knowledge, this is the first library supporting distributed GPU computing in the EC literature. The code of EvoX is available at https://github.com/EMI-Group/EvoX.
翻译:过去数十年间,演化计算(EC)在解决各类较小规模复杂优化问题中展现出显著潜力。然而随着现代科学与工程的持续发展,传统EC范式在可扩展性方面正面临日益严峻的挑战。一方面,问题规模的扩大导致编码空间(即决策向量维度)本质性增长;另一方面,EC算法往往需要更多函数评估次数(以及可能更大的种群规模)才能有效运作。为应对这些新兴挑战,不仅需要精巧的算法设计,更关键的是必须构建高性能计算框架。为此,我们开发了分布式GPU加速算法库——EvoX。首先,我们提出实现通用EC算法的广义工作流;其次,设计用于在分布式GPU设备上运行EC算法的可扩展计算框架;再次,为研究人员和从业者提供用户友好型接口,支持基准测试研究与实际应用扩展。通过一系列涵盖百万级问题维度/种群规模的基准实验,我们实证评估了EvoX的可扩展潜力。此外,通过将EvoX应用于OpenAI Gym的强化学习任务,展示了其易用性。据我们所知,这是EC文献中首个支持分布式GPU计算的算法库。EvoX代码已开源至https://github.com/EMI-Group/EvoX。