Instructions

These examples show how to use the FFTW3 wrappers on the Power8 nodes.

  1. In a new directory, download the examples
    wget http://geco.mines.edu/prototype/Show_me_Power8_and_GPU_examples/fftw/ibmfft.tgz
  2. Uncompress it
    tar -xzf ibmfft.tgz
  3. Get an interactive session on ppc001 or ppc002.
    srun -N 1 --tasks-per-node=1 -p ppc-build --share --time=1:00:00 --gres=gpu:kepler:4 --pty bash
  4. Do Make:
    make
  5. Run the programs test_f and test_c. Their output is identical
    ./test_c
    ./test_f

ibmfft.tgz

A file containing the following:

makefile

Makefile for the examples.

test.f90

A Fortran FFTW3 example.

test.c

A C FFTW3 example.

README

The IBM package ESSL is distributed with
wrapper routines for fftw3.  You can build
these yourself.  

make wrappers

Then follow the directions. You will need
to change the name of the C compiler in
the Makefile from cc_r to xlc_r.

You should not need to do this because
the include files should already be in 
/usr/local/include.  The name of the C
include file is:

/usr/local/include/fftw3_essl.h

   not 
/usr/local/include/fftw3.h

You may want to copy fftw3_essl.h to
your local directory and rename it.

The library is at:

/usr/local/lib64/libfftw3_essl.a