twill-swp-ws / twill /__init__.py
AshenNav's picture
Upload twill/__init__.py with huggingface_hub
933c21c verified
"""
Twill: Optimal Software Pipelining and Warp Specialization for Tensor Core GPUs
Implementation of the paper by Rupanshu Soi et al. (arXiv:2512.18134)
with GauS differentiable solver by Yaohui Cai et al. (arXiv:2602.20427)
Twill formulates the joint SWP + WS optimization as:
Phase 1: ZLP-based Optimal Modulo Scheduling (CBC solver via PuLP)
Phase 2: SMT-based Joint SWP + WS (Z3 solver)
GauS provides a scalable differentiable alternative using:
Gaussian reparameterization + Augmented Lagrangian Method (ALM)
With cost normalization to make cycle counts tractable.
"""
from twill.graph import DependenceGraph, Instruction, DependenceEdge, MachineDescription
from twill.cost_normalization import normalize_costs
from twill.modulo_scheduler import optimal_modulo_schedule
from twill.smt_joint import swp_and_ws
from twill.twill_solver import twill_solve
from twill.codegen import generate_pipelined_code
from twill.visualization import visualize_schedule
from twill.gaus_solver import GauSSolver, GausGraph, gaus_solve_twill_graph
__version__ = "0.2.0"
__all__ = [
"DependenceGraph", "Instruction", "DependenceEdge", "MachineDescription",
"normalize_costs", "optimal_modulo_schedule", "swp_and_ws",
"twill_solve", "generate_pipelined_code", "visualize_schedule",
"GauSSolver", "GausGraph", "gaus_solve_twill_graph",
]