Skip to content

callat-qcd/eigen-comp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eigen-comp

This repository contains a standalone QCD eigenvector compressor and decompressor. It achieves substantial compression by combining three ideas:

  • Using local coherence of low modes. We express high eigenvectors as linear combinations of blocked low eigenvectors. This alone achieves about a factor of 3-4 compression for RBC/UKQCD's 48^3 eigenvectors.

  • Using 2-byte fixed precision with shared exponents. The original eigenvector data is received in single precision, i.e., with a 8-bit exponent and 24-bit mantissa. We save the bulk of data in a 16-bit mantissa format and share the exponent among multiple floats. This achieves an additional factor of 2 compression for RBC/UKQCD's 48^3 eigenvectors.

  • Variable precision over the eigenspace. We save the data corresponding to the lowest eigenvectors in the original single precision and use fixed precision for the bulk of the data.

Combining these ideas achieves a 85% reduction in size for RBC/UKQCD's 48^3 eigenvectors and 92% reduction in size for RBC/UKQCD's 64^3 eigenvectors with acceptable precision for both CG and exact all-to-all low-mode reconstruction.

Plots

A brief demonstration can be found here.

Contributors

  • Chulwoo Jung
  • Christoph Lehner

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Roff 53.8%
  • C 43.5%
  • Shell 2.7%