Computer Science > Neural and Evolutionary Computing
[Submitted on 29 Jan 2023 (v1), revised 14 Feb 2023 (this version, v3), latest version 14 Apr 2024 (v10)]
Title:EvoX: A Distributed GPU-accelerated Library towards Scalable Evolutionary Computation
View PDFAbstract: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 this https URL.
Submission history
From: Beichen Huang [view email][v1] Sun, 29 Jan 2023 15:00:16 UTC (369 KB)
[v2] Wed, 1 Feb 2023 08:31:13 UTC (3,617 KB)
[v3] Tue, 14 Feb 2023 15:23:57 UTC (291 KB)
[v4] Thu, 16 Feb 2023 08:43:08 UTC (291 KB)
[v5] Mon, 20 Mar 2023 07:20:22 UTC (291 KB)
[v6] Sat, 26 Aug 2023 14:27:55 UTC (2,693 KB)
[v7] Tue, 29 Aug 2023 05:49:35 UTC (2,692 KB)
[v8] Fri, 6 Oct 2023 14:51:12 UTC (2,760 KB)
[v9] Thu, 8 Feb 2024 05:31:25 UTC (2,764 KB)
[v10] Sun, 14 Apr 2024 12:49:43 UTC (2,764 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.