AMBER Archive (2003)Subject: Re: AMBER: MIPS R14000 and Machine-file
From: Sanjeev B.S. (sanjeev_at_mbu.iisc.ernet.in)
Date: Tue Sep 02 2003 - 07:48:33 CDT
I want to install amber7 in a biprocessor Octane2 SGI. To do that, I
need to modify
Machine file, which does not include R14000 processors. Does anybody
know if the compiler
flags are different of those for R12000?
---
I used the following as MACHINE file for a multiprocessor SGI
machine using mpich (which still uses SGI compilers). I encountered some
problems with SGI specific Machine file (I do not recollect the exact
details), especially related to running them through script. I found that
this results in some 4% slowness, never-the-less works well.
Best wishes,
-Sanjeev
#! /bin/csh -f
########################################################################
# #
# Copyright (c) 1986, 1991, 1995 #
# Regents of the University of California #
# #
# All Rights Reserved #
# #
# Machine Dependency Handling System #
# #
# Bill Ross ross_at_cgl.ucsf.edu #
# An extension of work of George Seibel #
# #
# Dependencies written by various authors. #
# #
# Permission to use, copy, modify, and distribute this software and #
# its documentation for any purpose and without fee is hereby #
# granted, provided that the above copyright notice appear in all #
# copies and that both that copyright notice and this permission #
# notice appear in supporting documentation, and that the name of #
# the University of California not be used in advertising or #
# publicity pertaining to distribution of the software without #
# specific, written prior permission. #
# #
# THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL #
# WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED #
# WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE #
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR #
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM #
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, #
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN #
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #
# #
########################################################################
#
#
# Machine file for SGI using the MPICH message passing library, compiled
# with a -64 option (this seems to be the fastest; -32 and -n32 options
# also work, but you must be consistent in compiling MPICH and AMBER.)
#
# Your environment will need to have the following variables:
#
setenv MPI_HOME /usr/people/saras/mpich-1.2.4
setenv MPI_BIN $MPI_HOME/bin
setenv MPI_LIB $MPI_HOME/lib
setenv MACHINE "SGI"
setenv MACH IRIS
setenv MACHINEFLAGS "-DMEM_ALLOC -DHAS_FTN_ERFC -DMPI "
setenv MACHINEFLAGS "$MACHINEFLAGS -DRLE -DROWAT "
setenv SGIEXTRAS "-DBLAS1"
setenv CPP "/lib/cpp -I$MPI_HOME/include"
setenv VENDOR_LAPACK no
setenv FC $MPI_BIN/mpif90
setenv CC $MPI_BIN/mpicc
# SYSDIR is the name of the system-specific source directory for makemake
setenv SYSDIR Machines/standard
# SGI specific ``code'' to recognize the type of machine and its
# environment, do not change...
# Default Mips flag: -mips1
set MIPSFLAG = '-mips1'
set LFASTM = '-lfastm'
# Default Blas library: -lblas
set BLASLIB = '-lblas'
# Default MPFLAG: [blank]
set MPFLAG = "-MP:open_mp=ON"
# Processor:
set WHICHIP = `uname -m | sed s/IP//`
@ WHICHIP += 0
# OS Version:
set OSVERS = `uname -r`
set OSMAJOR = ${OSVERS:r}
set OSMAJOR = ${OSMAJOR:r}
# USER SPECIFIED VARIABLES
# The compiled in maximum number of processors allowed...
set MAX_PRO = 1
# Power Series
if ( $WHICHIP == 7) set MAX_PRO = 8
# Challenge
if ( $WHICHIP == 19) set MAX_PRO = 36
# PowerChallenge
if ( $WHICHIP == 21) set MAX_PRO = 18
# PowerChallenge R10k
if ( $WHICHIP == 25) set MAX_PRO = 36
# CPU architecture.
set CPUARCH = ` hinv -t cpu | awk ' { print $3 } ' | head -1 `
# Do we have the FFT libraries in libcomplib.sgimath.a?
if ( -e /usr/lib/libcomplib.sgimath.a | \
-e /usr/lib/mips2/libcomplib.sgimath.a | \
-e /usr/lib32/mips4/libcomplib.sgimath.a | \
-e /usr/lib32/mips4/libcomplib.sgimath.so | \
-e /usr/lib64/mips4/libcomplib.sgimath.a ) then
# setenv SGIEXTRAS "$SGIEXTRAS -DSGIFFT"
set BLASLIB = "$BLASLIB -lcomplib.sgimath "
endif
# Some (Optimization) flags
set O0 = -O0
set OLO = -O1
set OME = -O2
set OHI = -O2
set NFLAGS = (-Nl200 -Nn10000)
set NFLAGS = " "
# r10k machines
set MIPSFLAG = ""
setenv SGIEXTRAS "$SGIEXTRAS -DTFP -DCACHE_BLOCKSIZE=2500"
set OHI = -O3
if ( $CPUARCH == R5000 ) then
set LFASTM = '-lm'
endif
setenv MACHINEFLAGS "$MACHINEFLAGS $SGIEXTRAS"
# COMPILER ALIASES:
set MIPSFLAG = '-mips4'
# LOADER/LINKER:
setenv LOAD "$FC $MIPSFLAG $MPFLAG "
setenv LOADLIB " $BLASLIB $LFASTM "
setenv CFLAGS " $MIPSFLAG "
setenv L0 "$FC -nocpp $MIPSFLAG -c $O0 -old_rl $NFLAGS "
setenv L1 "$FC -nocpp $MIPSFLAG -c $OLO -old_rl $NFLAGS "
setenv L2 "$FC -nocpp $MPFLAG $MIPSFLAG -c $OME -old_rl $NFLAGS"
setenv L3 "$FC -nocpp $MPFLAG $MIPSFLAG -c $OHI -old_rl $NFLAGS "
# ranlib, if it exists
setenv RANLIB "echo no ranlib"
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu
|