EvoX: A Distributed GPU-accelerated Framework for Scalable Evolutionary Computation
Beichen Huang, Ran Cheng, Zhuozhao Li, Yaochu Jin, Kay Chen Tan
TL;DR
EvoX targets the scalability gap in Evolutionary Computation by introducing a distributed GPU-accelerated framework with a unified programming and computation model. It provides a hierarchical state management system, a workflow analyzer/executor, and an execution engine capable of running EC algorithms over heterogeneous resources via Ray or distributed JAX. The authors built a library of 50+ EC algorithms spanning single- and multi-objective optimization and integrated diverse benchmarks including numerical functions and reinforcement learning tasks (Gym, Brax). Empirical results show robust performance and scalability across multi-device and multi-node settings, with EvoX often outperforming EvoTorch in speed and memory usage, and with open-source availability on PyPI for broad adoption.
Abstract
Inspired by natural evolutionary processes, Evolutionary Computation (EC) has established itself as a cornerstone of Artificial Intelligence. Recently, with the surge in data-intensive applications and large-scale complex systems, the demand for scalable EC solutions has grown significantly. However, most existing EC infrastructures fall short of catering to the heightened demands of large-scale problem solving. While the advent of some pioneering GPU-accelerated EC libraries is a step forward, they also grapple with some limitations, particularly in terms of flexibility and architectural robustness. In response, we introduce EvoX: a computing framework tailored for automated, distributed, and heterogeneous execution of EC algorithms. At the core of EvoX lies a unique programming model to streamline the development of parallelizable EC algorithms, complemented by a computation model specifically optimized for distributed GPU acceleration. Building upon this foundation, we have crafted an extensive library comprising a wide spectrum of 50+ EC algorithms for both single- and multi-objective optimization. Furthermore, the library offers comprehensive support for a diverse set of benchmark problems, ranging from dozens of numerical test functions to hundreds of reinforcement learning tasks. Through extensive experiments across a range of problem scenarios and hardware configurations, EvoX demonstrates robust system and model performances. EvoX is open-source and accessible at: https://github.com/EMI-Group/EvoX.
