Skip to content

NeSLE v0.1.0 - first publication-ready release

Choose a tag to compare

@hbofz hbofz released this 01 Sep 19:40
· 59 commits to main since this release

GPU-native NES emulator + reinforcement-learning stack for Super Mario Bros.

Highlights

  • CUDA-batched NROM emulator: one GPU thread per env; 29,491 env-steps/s at 4,096 envs on a GTX 1050 Ti (88x a single-env CPU baseline, measured 2026-07-28); ~560k env-steps/s recorded on A100 (RAM obs, 128 envs).
  • GPU-resident PPO (nesle.native_ppo): observations, rollouts, GAE, and optimizer all on device via DLPack; --reward-mode smart runs a dense shaped Mario reward entirely on GPU.
  • Snapshot reset from 8 bundled save states (worlds 1-8); curated 11-action mario action space.
  • 68 tests (GPU/ROM-dependent ones auto-skip); CI on Ubuntu py3.10/3.12; clean-clone install verified on Windows 11 + Pascal.

Requirements: CUDA GPU (CTK 12.x for Pascal), Python >= 3.10, user-supplied SMB ROM (not distributed).

See README for quickstart, docs/ for architecture and benchmark reports, KNOWN_ISSUES.md for honest limitations.