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算法。第三,我们向研究人员和从业人员提供方便用户的界面,用于基准研究以及扩展现实-世界应用。我们从速率的角度评估EVX的可有希望的可缩放的缩缩缩缩缩缩缩缩缩缩缩缩缩缩缩缩图。我们通过一系列的EVX的 EVX的 EVEEM的缩略图,通过一系列的缩微缩略图的缩略图,让我们的缩略图的缩略图的缩略图测试了我们的EUEM的缩略图的缩略图的缩略图。我们我们通过一系列的缩略图的缩略图。我们我们的缩略图的缩图的缩缩图,让我们缩略图的缩略图的缩图,将的缩略图的缩略图。