Skip to content

Si-Yang-Chen/EasyDistillation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

196 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyDistillation

EasyDistillation is a Python framework for lattice QCD distillation calculations — integrating the generation of Laplacian eigenvectors, perambulators, elementals, and automatic quark diagram contraction with multi-backend support (CPU / GPU).

Features

  • Multi-backend: NumPy (CPU) or CuPy/PyQuda (GPU) via unified backend interface
  • Lazy loading & memory mapping: Efficient FileData system for large lattice datasets
  • Full propagator support: V2V (Perambulator), P2V, V2P, P2P with time-sliced file formats
  • Automatic contraction: opt_einsum-optimized quark diagram contraction with symbolic SymPy-based simplification
  • Symmetry analysis: Built-in group theory support for hadron operator construction
  • High-mode projection: Localized Blending method for point-source sampling
  • MPI-ready: Distributed parallelism support

Quick Start

See Quick Reference for a getting-started guide, API cheat sheet, and common operations.

Documentation

Document Description
Quick Reference Fast lookup for common operations
Project Architecture Full architecture and development guide
Data Shapes Data type shapes and file naming conventions
Propagator Theory & Usage Propagator types, memory estimates, loading examples
Distillation Workflow Traditional distillation step-by-step workflow
Localized Blending Theory, implementation, and appendix
FileData Deep Dive File I/O architecture and performance analysis
Document Index Full documentation index by scenario
Vector Current Workflow Localized Blending two-point contraction workflow

Requirements

  • Python ≥ 3.8
  • NumPy, SciPy
  • opt_einsum
  • SymPy (for symbolic simplification)

Optional (GPU acceleration):

Running Tests

pytest tests/ -v                 # All tests
pytest tests/ -m "not gpu"       # Skip GPU tests
pytest tests/test_perambulator.py -v  # Specific test

License

This project is licensed under the MIT License — see LICENSE for details.

About

Utilities for making eigenvector, elemental and perambulator in the framework of the distillation method in lattice QCD.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.6%
  • Cuda 0.4%