Building SimX components with SCIRun

Simon Yau, 11th Feb., 2007

This document is intended for users of SCIRun who wishes to add SimX components to their system, as described in this paper: IPDPS 07 Workshop paper.

The basic concepts of the SimX system is described in this paper: IPDPS 06 SimX.

Requirements:

First, obtain SCIRun from Scientific Computing and Imaging Institute from University of Utah. To build the SimX components, you need the SimX library itself: SimX release.

SimX is dependent on the SpatialIndex library, obtained at: SpatialIndex Library. SimX has been tested with version 0.81b. Spatial Index library itself is dependent on the Tools library. The tested version is version 0.03b.

SimX is also dependent on Petsc, obtained at: Petsc. SimX has been tested with version 2.3.0.

The code of the SimX components can be obtained here: SCIRun SimX Component.

To run the defibrillator example, you'll also need the SimX's test components, in the package SimonTest: Test Package.

This version of SCIRun/SimX was tested with SCIRun version 1.25.2.

Installing SimX:

First, install the SpatialIndexLibrary and Petsc (sequential version is sufficient) by following their respective instructions.

Unpack the SimX tarball (simx-230207.tar.gz), and there should be a simx directory. To build SimX, the user needs to specify the location of Petsc and SpatialIndexLibrary in SimX's top level makefile ${SIMX_DIR}/Makefile.in. One can copy one of the existing Makefiles already there and edit the macros SPATIAL_INDEXHOME, PETSCHOME, BLASLAPACKHOME, and XHOME to point to the correct path to the respective libraries.

The SimX tarball contains of several libraries and an example application. For the purpose of building SimX component in SCIRun, only three of the libraries are needed:

fuel
samplers
sisol-mock

For each of these libraries, cd into their respective directories, and use the Makefile.shared (by executing: gmake -f Makefile.shared) to build the shared libraries.

Building SimX Components:

Untar the SimX components tarball (SimX-110207.tar.gz) and SimonTest components tarball (SimonTest-110207.tar.gz) in the ${SCIRUN_DIR}/src/Package directory.

Point the CFLAGS, CXXFLAGS, LDFLAGS, and LD_LIBRARY_PATH environment variables to the SimX libraries already built. Assuming the SimX is unpacked in the SIMX_DIR directory and the spatialindex tool is unpacked in the SPATIAL_INDEX_DIR directories:

Add: -I${SIMX_DIR}/sisol-mock/client -I${SIMX_DIR}/sisol-mock/service -I${SIMX_DIR}/fuel -I${SIMX_DIR}/samplers -I${SPATIAL_INDEX_DIR}/spatialindex/lib -I${SPATIAL_INDEX_DIR}/tools/lib -fPIC to CFLAGS and CXXFLAGS

Add: -L${SIMX_DIR}/sisol-mock -L${SIMX_DIR}/fuel -L${SIMX_DIR}/samplers -L${SPATIAL_INDEX_DIR}/spatialindex/lib -L${SPATIAL_INDEX_DIR}/tools/lib -lsisol-mock -lfuel -lsamplers -lspatialindex -ltools -lpthread -lrt to LDFLAGS

Add: ${SIMX_DIR}/sisol-mock:${SIMX_DIR}/fuel:${SIMX_DIR}/samplers:${SIMX_DIR}/spatialindex/lib:${SIMX_DIR}/tools/lib to LD_LIBRARY_PATH

Re-run SCIRun's configure with the flag: --enable-package="SimonTest SimX ..."

Staring SCIRun should show available SimX and test modules.

Testing

The following guides describes how to test the SimX SCIRun system using the defibrillator application: