Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ipsilon/evmone
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: luxcpp/evm
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 62 files changed
  • 1 contributor

Commits on Apr 5, 2026

  1. feat: GPU parallel execution scaffolding (Block-STM + Metal/CUDA)

    - evm::gpu::MvMemory — multi-version data structure for optimistic concurrency
    - evm::gpu::Scheduler — Block-STM collaborative task scheduler
    - evm::gpu::execute_block() — dispatcher for CPU/GPU backends
    - Backends: CPU_Sequential, CPU_Parallel, GPU_Metal, GPU_CUDA
    - GPU paths fall back to CPU parallel until kernels are implemented
    hanzo-dev committed Apr 5, 2026
    Configuration menu
    Copy the full SHA
    5926724 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4477c1f View commit details
    Browse the repository at this point in the history
  3. feat: Block-STM parallel engine + Metal Keccak-256 GPU

    - parallel_engine: real Block-STM with evmone workers via EVMC Host
    - parallel_host: intercepts storage via MvMemory for conflict detection
    - Metal Keccak-256: 13x speedup (17.1 Mhash/s GPU vs 1.3 Mhash/s CPU)
    - bench_parallel: 2.19x speedup on 500 tx block (CPU parallel)
    - All in evm::gpu namespace
    hanzo-dev committed Apr 5, 2026
    Configuration menu
    Copy the full SHA
    0c775ef View commit details
    Browse the repository at this point in the history
  4. rename: evmone namespace → evm, add block execution benchmark

    - namespace evmone → evm in all lib/evm/ sources (26 files)
    - library target: libevmone → libevm
    - project name: evmone → evm
    - EVMC ABI preserved (evmc_create_evmone unchanged)
    - bench_block.cpp: sequential vs Block-STM parallel comparison
    - evm-gpu static lib + evm-bench-block executable
    hanzo-dev committed Apr 5, 2026
    Configuration menu
    Copy the full SHA
    2b954d0 View commit details
    Browse the repository at this point in the history
  5. feat: unified GPU state hashing via luxcpp/gpu

    - GpuStateHasher wraps luxcpp/gpu keccak256_batch API
    - auto_detect() + set_backend() for runtime GPU toggle
    - All 3 modes (sequential, parallel, GPU) produce identical results
    - 21 tests passing (mode consistency + Keccak known vectors)
    hanzo-dev committed Apr 5, 2026
    Configuration menu
    Copy the full SHA
    b332c4b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    82ba6e4 View commit details
    Browse the repository at this point in the history
  7. fix: JUMPDEST validation, balance underflow check, EVMC host completion

    - evm_kernel.metal: added is_valid_jumpdest() that scans bytecode from
      offset 0 skipping PUSH data, used by both JUMP and JUMPI opcodes
    - state_db.cpp: replaced assert(balance >= amount) with
      throw std::logic_error for release-safe balance underflow detection
    - evmc_host.hpp: expanded host interface for full EVM compatibility
    - evm_interpreter.hpp: additional opcode support in GPU interpreter
    hanzo-dev committed Apr 5, 2026
    Configuration menu
    Copy the full SHA
    3b9effb View commit details
    Browse the repository at this point in the history
Loading