Scroll Down

GPU-accelerated Evolutionary Computation, PyTorch/JAX

Evolutionary Computation for Everyone

EvoX is All You Need

Get Started

November 6, 2025

EvoX v1.3.0 Release Note

New feature: Workflow now accepts a list of opt_direction. Plus several bug fixes.

Read More

April 30, 2025

EvoX Quickstart: Run GPU-Accelerated Evolutionary Computation in Just 10 Minutes

A beginner's tutorial to get started with GPU-accelerated evolutionary computation using EvoX in just 10 minutes.

Read More

April 16, 2025

GPU-Accelerated Evolutionary Multiobjective Optimization

Bridging Evolutionary Multiobjective Optimization and GPU Acceleration via Tensorization, introducing the EvoMO library.

Read More

<< Key Features >>

Ultra Performance

  • Supports acceleration on heterogeneous hardware (CPUs & GPUs), achieving over 100x speedups.
  • Integrated distributed workflows scaling across multiple nodes.

All-in-One Solution

  • Includes 50+ algorithms for single- and multi-objective optimization.
  • Hierarchical architecture for meta learning, hyperparameter optimization, and neuroevolution.

Easy-to-Use Design

  • Fully compatible with EvoX ecosystem with a tailored programming model.
  • Effortless setup with one-click installation.
import torch
from evox.algorithms.pso_variants import PSO
from evox.problems.numerical import Ackley
from evox.workflows import StdWorkflow, EvalMonitor

torch.set_default_device("cuda")
# Define the algorithm
algorithm = PSO(pop_size=100, lb=-32 * torch.ones(10), ub=32 * torch.ones(10))
problem = Ackley()
monitor = EvalMonitor()
workflow = StdWorkflow(algorithm, problem, monitor)

workflow.init_step()
for i in range(100):
    workflow.step()

monitor.plot()