FxKernel is a stand alone FX correlator based on the DIFX design but with no MPI dependencies and designed for simplicity. It is not intended for production correlation, just a simple reference design and for benchmarking.
Like DiFX, FxKernel depends on IPP, which must be installed.
FxKernel is part of the gCorr demonstration GPU cross correlator. Download from github:
> git clone https://github.com/XhrisPhillips/gcorr.git > cd fxkernel
If you have an existing DIFX installation and PKG_CONFIG_PATH
points to ipp.pc
, you can skip the next step
./genipppc
If IPP is not installed in /opt/intel, add the “INTEL” path as an argument to genipppc
or set $IPPROOT
to point to this path.
Copy the generated ipp.pc
file to a directory pointed to by $PKG_CONFIG_PATH
To build FxKernel
autoreconf --install ./configure make
cd bench ./threads.sh
(Note, if hyperthreading is enabled, consider first editing threads.sh and setting max threads explicitly).
Note # threads with maximum data rate - probably when #threads equals number of real cores.
Edit channels.sh
and set NTHREAD
to equal best number of threads.
./channels.sh
Note # channels with maximum data rate, probably 256.
Edit antennas.sh
, set NTHREAD
as appropriate
./antenna.sh
Edit antennas-16384.sh
, set NTHREAD
as appropriate
./antenna-16384.sh