Installed optimized antisymmetric matrix kit Pfaffine to mVMC. This library is based on an extended fork of BLIS, which is xrq-phys/blis.
Blocked Pfaffian (and inverse matrix) update in all 4 variants of VMCMakeSample routines (real, complex, real-fsz and complex-fsz).
Blocked update does NOT change the original Markov chain.
Simple tests passed on Xeon(R) Gold 5118 (AVX2 mode).
How to enable
The optimization is not enabled by default as BLIS is not guaranteed to work on some platforms (e.g. macOS has a strange threading strategy that sometimes breaks down. Linux/MinGW should be always OK though.). To enable optimization, the current switch is to add -D_pfaffine -D_pf_block_update in src/make.sys and do a traditional make mvmc.
What to be done
[ ] CMake compilation of this optimization.
[ ] More tests & Vendor tests within this repository.
What is done
How to enable The optimization is not enabled by default as BLIS is not guaranteed to work on some platforms (e.g. macOS has a strange threading strategy that sometimes breaks down. Linux/MinGW should be always OK though.). To enable optimization, the current switch is to add
-D_pfaffine -D_pf_block_update
insrc/make.sys
and do a traditionalmake mvmc
.What to be done