UWMLSC > Beowulf Systems > Medusa

DRAG: Data analysis benchmaRking packAGe


cvs archive




Executive summary

Download and install fftw, download drag, and then:
./configure [--with-cc=CC] [--with-extra-cppflags=CPPFLAGS]
            [--with-extra-cflags=CFLAGS] [--with-extra-ldflags=LDFLAGS]
            [--enable-tcptest] [--disable-ffttest]
make check

Detailed instructions

  • Download and install fftw 
    • rm -f ./config.cache
      make clean
      rm -rf /path/to/my-fftw-install
      mkdir /path/to/my-fftw-install
      ./configure --with-cc=cc --enable-float --prefix=/path/to/my-fftw-install
      make install
    • A few comments
      • The prefix is to a directory (/my-fftw-install) that you have created, which is where the header files and the libraries for your fftw build will be installed.  The contents are the result of the make install.
      • If you have succeeded, the directory /path/to/my-fftw-install should contain /info, /lib, and /include directories, and the /lib and /include should contain files. The time-stamps (dates!) on these files should correpond to the time that you did the build.
      • If you get strange results using make, try using the GNU version of make.  This might be called gmake, for example. If you can't find the GNU version, you can download it from the GNU web site and install it locally in your own directory.
      • You may want to change cc above to the name of some other compiler, for example gcc or ccc. You want to use whatever compiler will produce the fastest possible code for the machine that you are testing!
      • Whenever you try rebuilding, be sure to remove config.cache and to do a make clean, to be restarting from zero.
  • Download drag
    • From a tarball: extract using
    • tar zxvf drag-version.tar.gz
      cd drag-version
      Note that a non-GNU version of the tar command may not understand the z option. In this case you can unzip the file by hand, or download and install the GNU version of tar. This may be called gtar on your system.
    • From the medusa cvs repository (the password is medusa):
    • cvs -d :pserver:anonymous@gravity.phys.uwm.edu:/usr/local/cvs/medusa login
      cvs -d :pserver:anonymous@gravity.phys.uwm.edu:/usr/local/cvs/medusa checkout drag
      cvs -d :pserver:anonymous@gravity.phys.uwm.edu:/usr/local/cvs/medusa logoff
      cd drag
  • Configure drag

    • rm -f ./config.cache
      make clean
            (you may need to use gmake as above for fftw)
      for example
      rm -f ./config.cache
      make clean

      ./configure --with-cc=cc --with-extra-cppflags=-I/path/to/my-fftw-install/include/ --with-extra-libs=-L/path/to/my-fftw-install/lib/
      (Note: this is all a single line -- if your browser wraps it, be sure to actually type it as a single line).
    Configure options:
    specify cc as the C compiler
    use the additional cppflags C preprocessor flags
    use the additional cflags C compiler flags
    use the additional ldflags linker flags
    use the additional libs -L or -l library flags
    turn on strict gcc warning flags
    enable the tcp testing suite
    disable the fft testing suite
  • Make drag

    • make (you may need to use gmake).
      If this fails and you just want the fft tests:
      cd src/
      make dragfft
  • Drag
    • make check
      This will run the basic fft tests. The tcp test suite is currently deactivated at present. However you can manually run the tcp test suite as follows:
      cd src
      where is the IP address of the remote machine. In order for this test to work, drag must be installed on the remote machine with the same absolute path as on the local machine and you must be able to rsh onto the remote machine without typing a password.
    • Examine results

    • The results are in the src directory. They are the .out files.

Example On a dec alpha using ccc -fast with fftw installed in /usr/local/fftw-ccc from the CVS archive, and perform a tcp test with a remote machine with IP address
cd /usr/local/src
cvs -d :pserver:anonymous@gravity.phys.uwm.edu:/usr/local/cvs/medusa login
cvs -d :pserver:anonymous@gravity.phys.uwm.edu:/usr/local/cvs/medusa checkout drag
cvs -d :pserver:anonymous@gravity.phys.uwm.edu:/usr/local/cvs/medusa logoff
cd drag
./configure --with-cc=ccc --with-extra-cppflags=-I/usr/local/fftw-ccc/include   --with-extra-cflags=-fast --with-extra-libs=-L/usr/local/fftw-ccc/lib
make check
cd src
ls *.out
Recall that the Medusa CVS archive password is medusa.

Analysis of DragFFT and DragTCP CPU Load

This section shows results of running top to analyze the CPU load of dragfft and dragtcp (both from drag-1.3) running at the same time. Other processes were running at the same time, but were of minor impact.

Running dragfft (via make check) and dragtcp -l:
dragfftw average load: 81%
dragtcp average load: 17%

Running dragfft (via make check) and dragtcp -r:
dragfftw average load: 69%
dragtcp average load: 29%

$Id: benchmarking_software.html,v 1.4 2002/09/20 23:25:02 kflasch Exp $
Check this page for dead links, sloppy HTML, or a bad style sheet; or strip it for printing.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.