Production Bagel for BlueGene/Q includes a multilevel HDCG solver
bagel-3.3.tar
bfm-3.3.tar
bagel-3.2.tar
bfm-3.2.tar
Bagel for BlueGene/Q prerelease versions (beta quality):
bagel-2.95.tar.gz
bfm-2.95.tar.gz
bagel-2.96.tar.gz
bfm-2.96.tar.gz
Remember the old joke about optimising your code until the lights flicker?
This time I really have: this is the Edinburgh BG/Q running the BFM inverter and the lights are
DC LEDs on the bulk power modules.
They only flicker when running Bagel!
Changes:
Bagel-3 will change the interface substantially. The data layout
becomes opaque and architecture dependent with an import/export interface.
Entire algorithms are implemented in Bagel to amortize layout change
overhead:
Implements
Preconditioned conjugate gradient
Unpreconditioned conjugate gradient
Mixed precision defect correction inversion
Multi-mass conjugate gradient
Implicitly restarted shifted Lanczos (Rudy Arthur)
Matrix support:
Wilson
Wilson twisted mass
Domain Wall (5d even odd)
Domain Wall (4d even odd)
Overlap general Cayley form Mobius kernels (tanh or zolotarev)
Overlap general Continued fraction Wilson kernel (tanh or zolotarev)
Overlap general Partial fraction Wilson kernel (tanh or zolotarev)
Compilation
Configuring bfm
env CXX=g++ CC=gcc ~/BGQ_sfw/src/revision_controlled/bagel/configure --enable-itype=uint64_t --enable-isize=8 --enable-ifmt=%lx --prefix=$INST --enable-istype=uint32_t --enable-issize=4 --enable-isfmt=%x
Configuring bfm
configure CXX=mpicxx LIBS="-lSPI -lSPI_l1p -L$BGQ/spi/lib/" CC=mpicc CXXFLAGS="-fpermissive -fopenmp -I$BGQ -I$BGQ/spi/include/kernel/cnk/" \
--prefix=$INST \
--with-bagel=$INST \
--host=none \
--build=powerpc-bgq-linux \
--enable-qdp \
--enable-chroma-regression \
--enable-target-cpu=bgq \
--enable-comms=spi \
--enable-spidslash \
--enable-thread-model=spi