Skip to content

v0.3.0 — prebuilt CUDA cores, nothing compiles after pip install

Choose a tag to compare

@GeophyAI GeophyAI released this 30 Sep 15:58
· 268 commits to dev since this release

sweep-solver 0.3.0

pip install -U sweepx and the CUDA backend works — nothing compiles.

  • Prebuilt CUDA cores in the wheel. One torch-free core per CUDA major:
    cu12 (V100 through H100/H200, Blackwell via PTX) and cu13 (T4/RTX 20 and
    newer, Blackwell native, driver >= 580). impl='c' drives it through a
    pure-Python ctypes layer, so no nvcc, C++ compiler or CUDA headers are needed
    after pip install, and the same wheel works with any torch version and
    Python >= 3.9. An nvcc is needed only when no shipped core fits (then only the
    core is built, once).
  • The compiled CPU engine is gone. CPU runs use the eager backend.
  • VRZ gradients are exact: the CUDA adjoint is the discrete transpose of the
    CPML forward; every memory mode images U_it through p_tt; a sigma=0
    boundary_buffer keeps the imaging stencil inside reconstructed cells; a
    persistent boundary-saving runner for AcousticVRZ3D.
  • Boundary saving is lean again for VRZ, first-order VTI, ElasticTTI2nd and
    DASZhao: the backward no longer holds an nt-long replay buffer.
  • Correctness fixes: qP VTI/TTI model gradients were all NaN; 2-D
    AcousticVTI1st swapped dx/dz on anisotropic grids; propagators sharing an
    equation could step with each other's CPML profiles; DD gather_record
    crossed shot groups and DD accepted multi-shot geometry it cannot answer;
    2-D VRZ boundary saving started its reverse pass from a damaged state.
  • Domain decomposition: one batched P2P per halo shipment, NCCL timeout
    honoured by sub-groups.

Full list: CHANGELOG.

Companions: sweep-agent 0.0.5 (admits solver 0.3), sweepx 0.3.0
(sweep-solver>=0.3,<0.4, sweep-agent>=0.0.5).

PyPI: sweep-solver 0.3.0 · sweep-agent 0.0.5 · sweepx 0.3.0