C-SAFE Home

Information/Instructions/UintahBranch

From C-SAFE Wiki

Jump to: navigation, search

Contents

Download the Uintah branch

You must install Thirdparty 3.1.x or higher before using the Uintah branch. Recommended version is 3.1.0.

svn co https://code.sci.utah.edu/svn/SCIRun/Uintah/trunk/src Uintah/src

Getting SCIRun thirdparty

 
svn co https://code.sci.utah.edu/svn/Thirdparty/3.1.0/thirdparty.src thirdparty

Thirdparty install usage: install.sh [--uintah-only] <install-dir> [make-options]

Use --uintah-only if you only intend to run sus.

Running CMake

First download and install cmake from www.cmake.org. I'll get it on the lab machines.

This step takes the place of configure. See individual machine websites for specific instructions, but here is the jist:

cd Uintah
mkdir <bin-dir>
cd <bin-dir>

cmake ../src -DLAPACK_DIR=<path-to-lapack> -DPETSC_ARCH=<petsc-arch> \
  -DPETSC_DIR=<path-to-petsc> -DHYPRE_DIR=<path-to-hypre> -DMPI_DIR=<path-to-mpi> \
  -DSCIRUN_THIRDPARTY_DIR=<path-to-thirdparty>

Other Options

  • -DCMAKE_BUILD_TYPE=Debug for debug. Do nothing for optimized.
  • -DASSERTION_LEVEL=<#>
  • -DCMAKE_CXX_FLAGS_RELEASE:STRING=<your optimized flags>
  • -DCMAKE_CXX_FLAGS:STRING=<any other flags>
  • -DCMAKE_CXX_COMPILER:<path to non-default compiler (particularly for distcc)>

Uintah Toggles: All default to ON

  • -DICE=<ON|OFF>
  • -DARCHES=<ON|OFF>
  • -DMPM=<ON|OFF>
  • -DRADIATION=<ON|OFF>

SCIRun Toggles: All default to ON

  • -DBUILD_DATAFLOW=<ON|OFF>
  • -DBUILD_UTILS=<ON|OFF>

Only build the necessary parts of SCIRun Core - defaults to OFF

  • -DMINIMAL_CORE=<ON|OFF>

Example builds on a Debian Linux box with mpich and petsc installed

  • Debug
cmake ../src \
-DSCIRUN_THIRDPARTY_DIR=/usr/local/Thirdparty/3.1.0/Linux/gcc-4.2.3-32bit/ \
-DMPI_DIR=/usr/lib/mpich -DCMAKE_BUILD_TYPE=Debug \
-DPETSC_ARCH=/usr/lib/petsc/bmake/linux-gnu-c-opt/ \
-DPETSC_DIR=/usr/lib/petsc -DPETSCCONF_INCLUDE=/usr/include/petsc/ \
-DLAPACK_DIR=/usr/lib/
  • Optimized
cmake ../src \
-DSCIRUN_THIRDPARTY_DIR=/usr/local/Thirdparty/3.1.0/Linux/gcc-4.2.3-32bit/ \
-DMPI_DIR=/usr/lib/mpich \
-DPETSC_ARCH=/usr/lib/petsc/bmake/linux-gnu-c-opt/ \
-DPETSC_DIR=/usr/lib/petsc \
-DPETSCCONF_INCLUDE=/usr/include/petsc/ -DLAPACK_DIR=/usr/lib/ \
-DCMAKE_CXX_FLAGS:STRING="-march=pentium4 -msse2 -O3" 
  • Using distcc and ccache

Must set your environment variable CCACHE_PREFIX=distcc. The below configure line will use the compiler cache (ccache) to call the distcc executable.

CC="ccache gcc" CXX="ccache g++" cmake ../src \
-DSCIRUN_THIRDPARTY_DIR=/usr/local/Thirdparty/3.1.0/Linux/gcc-4.2.3-32bit/ \
-DMPI_DIR=/usr/lib/mpich -DCMAKE_BUILD_TYPE=Debug \
-DPETSC_ARCH=/usr/lib/petsc/bmake/linux-gnu-c-opt/ \
-DPETSC_DIR=/usr/lib/petsc -DPETSCCONF_INCLUDE=/usr/include/petsc/ \
-DLAPACK_DIR=/usr/lib/

SCIRun in the Uintah Branch

SCIRun has changed somewhat: Its module names have changed. They have provided a script (double-check this) to convert old nets to new nets. Uintah should install and run without further steps on Linux and OS X. Windows installations have not been tested. If you do get errors related to missing packages try either:

  • Editing your .scirunrc file so that SCIRUN_PACKAGE_SRC_PATH = <path to Uintah>.
  • Setting the environment variable SCIRUN_PACKAGE_SRC_PATH to <path to Uintah>

or

  • Copying or linking the Uintah/src/Dataflow directory to Uintah/src/SCIRun/Packages/Uintah/Dataflow

i.e., if your your Uintah tree is /home/jones/Uintah6May2007, then set SCIRUN_PACKAGE_SRC_PATH to /home/jones/Uintah6May2007.

If you get errors related to missing libraries try one of the following:

  • Editing your .scirunrc file so that SCIRUN_PACKAGE_LIB_PATH = <path to Uintah module libraries>

or

  • Setting the environment variable SCIRUN_PACKAGE_LIB_PATH to <path to Uintah module libraries>

The module libraries should exist in <bin-dir>/lib. I.e., if I have compiled in /home/jones/Uintah6May2007/linux-opt, then I would set SCIRUN_PACKAGE_LIB_PATH to /home/jones/Uintah6May2007/linux-opt/lib

Everything else

Everything else is the same. I will change all the machines' websites within the week.



Back to: Main