RAGE

From Tau Wiki
Jump to: navigation, search


The configuration of RAGE is similar to SAGE: On QSC (Alpha,Tru64), I edit Makefile_generic in RAGE and change:

F90 = tau_f90.sh
CC = tau_cc.sh

(CC is not specified), and compile it. On flasha (linux x86), I need to edit Makefile_linux and change each reference of

F95 := pgf90
to
F95 := tau_f90.sh

and

LD = pgf90
LD = tau_f90.sh

and it has a weird section where it looks for the name of the compiler by doing a -V flag and matching it with Portland. After the match, I just put:

...
  else
    F95 := $(shell /usr/bin/which pgf90 2>/dev/null)
    ifeq (pgf90, $(findstring pgf90,$(F95)))
      WHICHCOMP := "$(shell $(F95) -V 2>&1)"
      ifeq (Portland, $(findstring Portland,$(WHICHCOMP)))
        COMPILER := PGI
      endif
    endif
    F95 := tau_f90.sh
  endif

  ifeq (PGI, $(findstring PGI,$(COMPILER)))

    # Redstorm uses the PGI compiler however they invoke it with a
    # wrapper called ftn
    ifeq (REDSTORM, $(findstring REDSTORM, $(LINUX_MACH_TYPE)))
      F95 := ftn
    else
      F95 := pgf90
      F95 := tau_f90.sh
    endif

  endif

and also change

    override CC := pgcc
    override CC := tau_cc.sh

and then set environment variables:

% setenv TAU_MAKEFILE /usr/projects/crestone/sameer/tau-2.15.5/i386_linux/lib/Makefile.tau-pgi613-gmlampi1514-multiplecounters-mpi-papi-pdt-pgi
% setenv TAU_OPTIONS '-optVerbose -optTauSelectFile=select.tau -optPdtGnuFortranParser'
% gmake clean
% gmake
% cp rage.x rundir/rage
(directory where timing.input file is located)

To run it (choose any no. of cpus), I use:

% bsub -q largeq -n 4 -o rage.out.txt -W 20 prun -t -n 4 ./rage.x timing.input

or on flasha:

% llogin -n 4
% mpirun -np 4 rage.x timing.input

I have a select.tau file that I have generated after optimizing the instrumentation.

The selective instrumentation file is here: rage.select.tau