[FLASH-BUGS] FLASH 2.3 on SUN - compiler bug?

Claudio Dalla Vecchia claudio.dalla-vecchia at durham.ac.uk
Mon Sep 1 15:47:04 CDT 2003


Hi everyone,
these days I am visiting Urbana University - before coming to the
conference in Chicago - trying to setup a cosmological simulation.

I wrote some code to input particle positions/velocities/masses and it wor
fine, mapping on the grid their density, and so on...

Adding a new routine to setup the gas properties on the mesh, I am using
particle density 'pden', as computed by 'MapParticlesToMesh'.  I realized
that, after calling 'ParticleToMesh', temp_buff2 has the right value of
density, but solnVec doesn't change.  I mean, copying temp_buff2 to
solnVec, doesn't work, and the 'pden' subarray comes out with the same
initial values.

This could be either a coding bug - some non standard Fortran procedure -,
or a compiler bug.  I have no idea about what is going on.

The machine I am using is a 24 processors SUN with:

	SunOS titania 5.8 Generic_108528-22 sun4u sparc SUNW,Sun-Fire
	f95: Forte Developer 7 Fortran 95 7.0 Patch 111714-06 2003/04/10

The Makefile.h is attached.
The FLASH version is 2.3

Thanks,
Claudio.

***********************************************************************
Claudio Dalla Vecchia        e-mail: claudio.dalla-vecchia at durham.ac.uk
Institute for Computational     web: http://star-www.dur.ac.uk/~caius/
Cosmology, South Road           tel: +44 (0)191 33 43787     linux user
Durham DH1 3LE - UK             fax: +44 (0)191 33 43645        #275369
-----------------------------------------------------------------------
  "Politicians hide themeselves away / They only started the war
 Why should they go out to fight / They leave that all to the poor"
                                          ("War Pigs" - Black Sabbath)
***********************************************************************
-------------- next part --------------
# FLASH makefile definitions for Titania (SUN)

#----------------------------------------------------------------------------
# Set the HDF/HDF5 and PAPI library paths 
# -- these need to be updated for your system
# If PAPI does not exist on your system, comment them out
#----------------------------------------------------------------------------

HDF5_PATH = /opt/local
#HDF4_PATH = 
#PAPI_PATH = /usr/local
#PAPI_FLAGS = -c -I$(PAPI_PATH)/include -qsuffix=f=F90:cpp=F90 -qfree

#----------------------------------------------------------------------------
# Compiler and linker commands
#
#   Use the MPICH wrappers around the compilers -- these will automatically
#   load the proper libraries and include files.  Version of MPICH prior
#   to 1.2.2 (?) do not recognize .F90 as a valid Fortran file extension.
#   You need to edit mpif90 and add .F90 to the test of filename extensions,
#   or upgrade your MPICH.
#----------------------------------------------------------------------------

FCOMP   = mpf95
CCOMP   = mpcc
CPPCOMP = mpCC
LINK    = mpf95

#----------------------------------------------------------------------------
# Compilation flags
#
#  Three sets of compilation/linking flags are defined: one for optimized
#  code, one for testing, and one for debugging.  The default is to use the 
#  _OPT version.  Specifying -debug to setup will pick the _DEBUG version,
#  these should enable bounds checking.  Specifying _TEST is used for 
#  flash_test, and is set for quick code generation, and (sometimes) 
#  profiling.  The Makefile generated by setup will assign the generic token 
#  (ex. FFLAGS) to the proper set of flags (ex. FFLAGS_OPT).
#----------------------------------------------------------------------------

FFLAGS_OPT = -fast -xarch=v9b -xchip=ultra3 -fpp -xtypemap=real:64,integer:32 -xcache=64/32/4:8192/512/1 -c
FFLAGS_DEBUG = -xarch=v9b -xchip=ultra3 -fpp -xtypemap=real:64,integer:32 -g -c -DDEBUG
FFLAGS_TEST = -O2 -xarch=v9b -xchip=ultra3 -fpp -xtypemap=real:64,integer:32 -xcache=64/32/4:8192/512/1 -c

F90FLAGS =

CFLAGS_HDF5 = -I$(HDF5_PATH)/include/sparcv9
# -DNOUNDERSCORE
CFLAGS_OPT = -fast -xarch=v9b -xchip=ultra3 -c
CFLAGS_DEBUG = -xarch=v9b -xchip=ultra3 -g -c
CFLAGS_TEST = -O2 -xarch=v9b -xchip=ultra3 -c

.SUFFIXES: .o .c .f .F .h .fh .F90 .f90

#----------------------------------------------------------------------------
# Linker flags
#
#  There is a seperate version of the linker flags for each of the _OPT, 
#  _DEBUG, and _TEST cases.
#----------------------------------------------------------------------------

LFLAGS_OPT = -fast -xarch=v9b -xchip=ultra3 -R/opt/local/lib/sparcv9:/opt/gm/lib/sparcv9 -xtypemap=real:64,integer:32 -o
LFLAGS_DEBUG = -xarch=v9b -xchip=ultra3 -R/opt/local/lib/sparcv9:/opt/gm/lib/sparcv9 -xtypemap=real:64,integer:32 -g -o
LFLAGS_TEST = -xarch=v9b -xchip=ultra3 -R/opt/local/lib/sparcv9:/opt/gm/lib/sparcv9 -xtypemap=real:64,integer:32 -o

#----------------------------------------------------------------------------
# Library specific linking
#
#  If a FLASH module has a 'LIBRARY xxx' line in its Config file, we need to
#  create a macro in this Makefile.h for LIB_xxx, which will be added to the
#  link line when FLASH is built.  This allows us to switch between different
#  (incompatible) libraries.  We also create a _OPT, _DEBUG, and _TEST
#  library macro to add any performance-minded libraries (like fast math),
#  depending on how FLASH was setup.
#----------------------------------------------------------------------------

#LIB_HDF4 = -L$(HDF4_PATH)/lib -lmfhdf -ldf -lz 
LIB_HDF5 = -L$(HDF5_PATH)/lib/sparcv9 -lhdf5 -L/usr/local/lib -lz 
#LIB_PAPI = -L$(PAPI_PATH)/lib -lpapi -L/usr/lpp/pmtoolkit/lib -lpmapi

LIB_OPT = -lmpi
LIB_DEBUG = -lmpi
LIB_TEST = -lmpi

#----------------------------------------------------------------------------
# Additional machine-dependent object files
#
#  Add any machine specific files here -- they will be compiled and linked
#  when FLASH is built.
#----------------------------------------------------------------------------

MACHOBJ = 

#----------------------------------------------------------------------------
# Additional commands
#---------------------------------------------------------------------------- 

MV = mv -f
AR = ar -r
RM = rm -f
CD = cd
RL = ranlib
ECHO = echo


More information about the flash-bugs mailing list