Difference between revisions of "CHOMBO"

From SourceWiki
Jump to navigation Jump to search
Line 32: Line 32:
  
 
broken build..
 
broken build..
 +
 +
==HDF5 v1.6.7==
 +
 +
===For Serial Build===
 +
<pre>
 +
./configure --prefix=/gsb6/ggdagw/hdf5/hdf5-1.6.7/serial --enable-production
 +
</pre>
 +
 +
===For Parallel Build===
 +
 +
<pre>
 +
 +
</pre>
  
 
==MPICH v1.2.5==
 
==MPICH v1.2.5==
Line 79: Line 92:
 
adds -m64 to the GNU compiler flags and so object code is created for the x86_64 architecture, and so it will link against the HDF libraries which are built for x86_64.  This is not what the documentation says the makefile variable is for!  Hey ho.  Add it in.
 
adds -m64 to the GNU compiler flags and so object code is created for the x86_64 architecture, and so it will link against the HDF libraries which are built for x86_64.  This is not what the documentation says the makefile variable is for!  Hey ho.  Add it in.
  
* export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/gsb6/ggdagw/hdf5/hdf5-1.4.4/serial/lib
+
* e.g. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/gsb6/ggdagw/hdf5/hdf5-1.4.4/serial/lib
  
required to find shared object files, else tests will not run.  Tests look OK.
+
required to find shared object files, else tests will not run.  Tests look OK for both v1.4.4 and v1.6.7 of HDF.
  
 
===With MPI and parallel HDF5===
 
===With MPI and parallel HDF5===

Revision as of 10:39, 24 October 2008

CHOMBO

Introduction

Installation

This page describes what I (Gethin) did to install and run CHOMBO. In the first instance, I worked on dyln (an x86_64 machine) and used the GNU C and Fortran compilers (gcc, g++ and gfortran).

First we will look at the prerquisites, HDF5 and an MPI implementation, and then CHOMBO itself.

HDF5 v1.4.4

Get from:

ftp://hdf.ncsa.uiuc.edu/HDF5/prev-releases

For Serial Build

 
./configure --prefix=/gsb6/ggdagw/hdf5/hdf5-1.4.4/serial --enable-production

For Parallel Build

Tested MPI-IO with the program Sample_mpio.c from PHDF5 instructions (appendix) in conjunction with shmem MPI build and tests passed OK.

CC=/gsb6/ggdagw/mpich/mpich-1.2.5/ch_shmem/bin/mpicc ./configure --prefix=/gsb6/ggdagw/hdf5/hdf5-1.4.4/parallel

broken build..

HDF5 v1.6.7

For Serial Build

 
./configure --prefix=/gsb6/ggdagw/hdf5/hdf5-1.6.7/serial --enable-production

For Parallel Build


MPICH v1.2.5

Get from:

ftp://ftp.mcs.anl.gov/pub/mpi/old

treating dylan as an SMP machine:

./configure --prefix=/gsb6/ggdagw/mpich/mpich-1.2.5/ch_shmem --with-device=ch_shmem
  • test with hello_world: OK, but mpif77 (or 90) was not created during build.

let's try ch_p4 also..

./configure --prefix=/gsb6/ggdagw/mpich/mpich-1.2.5/ch_p4 --with-device=ch_p4
  • hello world does not work--perhaps need to start a daemon? Go with shmem for the moment.

CHOMBO

Oct07 release

Without HDF5

Chombo-2.0/lib/mk/Make.defs.local

DIM           = 2
DEBUG         = TRUE
OPT           = TRUE
PRECISION     = DOUBLE
PROFILE       = FALSE
CXX           = g++
FC            = gfortran
MPI           = FALSE
USE_HDF       = FALSE

make lib make test make run Looks like the tests pass BUT uses -m32 during compilation.

With HDF5 compiled in serial mode

USE_64 = TRUE

adds -m64 to the GNU compiler flags and so object code is created for the x86_64 architecture, and so it will link against the HDF libraries which are built for x86_64. This is not what the documentation says the makefile variable is for! Hey ho. Add it in.

  • e.g. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/gsb6/ggdagw/hdf5/hdf5-1.4.4/serial/lib

required to find shared object files, else tests will not run. Tests look OK for both v1.4.4 and v1.6.7 of HDF.

With MPI and parallel HDF5