Difference between revisions of "Help:Editing"

From GridPACK
Jump to: navigation, search
(Created page with "= Building GridPACK on Mac OS X 10.8 (Snow Leopard) = This particular system is an older MacBook Pro. Some of the Software Required to Build GridPACK|prerequisite software...")
 
(Blanked the page)
Line 1: Line 1:
= Building GridPACK on Mac OS X 10.8 (Snow Leopard) =
 
  
This particular system is an older MacBook Pro.  Some of the [[Software Required to Build GridPACK|prerequisite software]] was installed on this system using [http://www.macports.org/ MacPorts], which is reasonably convenient. The following ports were installed:
 
 
  cmake @2.8.10.2_0 (active)
 
  openmpi @1.7.1_0+gcc47 (active)
 
  boost @1.53.0_1+no_single+no_static+openmpi+python27 (active)
 
  doxygen @1.8.3.1_0 (active)
 
  graphviz @2.30.1_0+pangocairo+x11 (active)
 
 
Note that the <code>openmpi</code> [http://www.boost.org/ Boost] variant was installed.  This is important.  Doxygen and Graphviz are optional. 
 
 
It's possible to use the MPI implementation that is standard in MacOS, but that was not done on this particular system. 
 
 
== Building PETSc ==
 
 
[http://www.mcs.anl.gov/petsc/index.html PETSc] version 3.4.0 was configured and built as follows:
 
 
  setenv PETSC_DIR /Users/d3g096/ProjectStuff/petsc-3.4.0
 
  unsetenv PETSC_ARCH
 
  python ./config/configure.py \
 
      --with-mpi=1 \
 
      --with-cc=openmpicc \
 
      --with-fc=openmpif90 \
 
      --with-cxx=openmpicxx \
 
      --with-c++-support=1 \
 
      --with-c-support=0 \
 
      --with-fortran=0 \
 
      --with-scalar-type=complex \
 
      --download-f2cblaslapack=1 \
 
      --with-clanguage=c++ \
 
      --with-shared-libraries=0 \
 
      --with-dynamic-loading=0 \
 
      --with-x=0 \
 
      --with-mpirun=openmpirun \
 
      --with-mpiexec=openmpiexec \
 
      --with-debugging=0
 
  make all
 
  make test
 
 
Note that the OpenMPI compilers were used, consistent with the [http://www.boost.org/ Boost] installation.  The configuration decided that <code>PETSC_ARCH</code> should be <code>arch-darwin-cxx-opt</code>.
 
 
== Building ParMETIS ==
 
 
 
In order to get ParMETIS 4.0 to compile with older GNU compilers, a warning option needs to be removed from on of the build system files.  In the top ParMETIS source directory, execute the following command:
 
 
  sed -i.org -e 's/-Wno-unused-but-set-variable//g' metis/GKlib/GKlibSystem.cmake
 
 
Starting in the ParMETIS source directory, build and install METIS first:
 
 
  set prefix=/Users/d3g096/ProjectStuff/GridPack/software
 
  cd metis
 
  make config prefix="$prefix"
 
  make
 
  make install
 
 
then build and install ParMETIS:
 
 
  cd ..
 
  make config cc=openmpicc cxx=openmpicxx prefix="$prefix"
 
  make
 
  make install
 
 
Do some tests to make sure it works:
 
 
  cd Graphs
 
  openmpirun -np 2 $prefix/bin/ptest rotor.graph rotor.graph.xyz
 
  openmpirun -np 2 $prefix/bin/ptest rotor.graph
 
  openmpirun -np 2 $prefix/bin/ptest bricks.hex3d
 
 
The last one seemed to hang.
 
 
== Building and Testing GridPACK ==
 
 
[http://www.cmake.org/ CMake] projects are designed to be built outside of the source code location.  If the entire GridPACK {{{trunk}}} repository is checked out, the top of the the [http://www.cmake.org/ CMake] project is {{{.../src}}}.  Make a subdirectory there called {{{build}}} or something. Configure and build GridPACK in that directory. 
 
 
GridPACK was configured and built as follows:
 
 
  cd /path/to/gridpack/trunk/src
 
  mkdir build
 
  cd build
 
  cmake -Wno-dev \
 
      -D Boost_DIR:STRING='/opt/local' \
 
      -D PETSC_DIR:STRING='/Users/d3g096/ProjectStuff/petsc-3.4.0' \
 
      -D PETSC_ARCH:STRING='arch-darwin-cxx-opt' \
 
      -D MPI_CXX_COMPILER:STRING='openmpicxx' \
 
      -D MPI_C_COMPILER:STRING='openmpicc' \
 
      -D MPIEXEC:STRING='openmpiexec' \
 
      -D CMAKE_BUILD_TYPE:STRING="Debug" \
 
      -D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
 
      ..
 
  make
 
  make test
 

Revision as of 19:21, 31 October 2013