Fork me on GitHub

Xmatch: GPU Enhanced Astronomic Catalog Cross-Matching

- Tamas Budavari & Matthias A Lee | Budavari[]jhu.edu & MatthiasLee[]jhu.edu | April 2012 -



Overview:
==================

Xmatch is a cross-platform, multi-GPU tool which allows for extremely fast cross-matching between two Astronomic catalogs. It is capable of asyncronously managing multiple GPUs, ideal for workstation and cluster environments.

Usage:
==================

  Usage: ./BoostXmatch.x [options] file(s)
    Options:
      -o [ --outdir ] [=arg(=out)] output directory path
      -m [ --maxout ] arg (=0)     Maximum output per job, default to (jobsize)^2
      -r [ --radius ] arg (=5)     search radius in arcsec, default is 5"
      -z [ --zoneheight ] arg (=0) zone height in arcsec, defaults to radius
      -t [ --threads ] arg (=0)    number of threads, defaults to # of GPUs
      -n [ --numobj ] arg          number of objects per segment
      -v [ --verbose ] [=arg(=9)]  enable verbosity (implicit level 9=ALL)
      -x [ --overwrite ]           overwrite output directory
      -h [ --help ]                print help message

 Example:
     $> ./BoostXmatch.x -o ~/OUTPUT/out1 -n 50000000 ~/DATA/datafile1.idradec ~/DATA/datafile2.bin -v 9 -x


Source and Binaries:
==================

  using git:
  $> git clone https://github.com/matthiaslee/Xmatch.git
  using bundle:
  $> wget https://github.com/matthiaslee/Xmatch/raw/master/Releases/Xmatch-src-201204091222.tar.gz

Installation:
==================

Xmatch has a few underlying requirements, mainly an NVIDIA GPU with compute capabillity 2.0 or higher, which are GPUs based on the "Fermi" architecture or newer. On the software side we need CUDA, Thrust and Boost.
to install CUDA please download and install the newest CUDA driver and toolkit from Nvidia's Developer Zone

Linux compile and usage:
==================

  # check out latest code
  $> git clone git://github.com/matthiaslee/Xmatch.git
  $> cd Xmatch/BoostXmatch/BoostXmatch
A few variables will need to be exported or set in the make file:
  $> export BOOST_DIR=/path/to/boost
  $> export CUDA_INCLUDE=/opt/cuda/include
  $> export CUDA_LIB=/opt/cuda/lib64

  # or set them at the top of the Makefile

  CUDA_INCLUDE=/path/to/cuda/include
  CUDA_LIB=/path/to/cuda/lib64
  BOOST_DIR=/path/to/boost (default install path: /usr/local)
now we should be all set to compile
  $> make

Windows usage:
==================

This started out as a windows project, therefore there are still the VisualStudio files included.
We have not tested the windows side, but it is on our todo list.

Found bug or having trouble?:
==================

If you have found a bug or have feature requests please file them here
If you have general question or want to just say hello email us at MatthiasLee[]jhu.edu or Budavari[]jhu.edu