Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

Fluidity PyOP2 on CX1

FabioLuporini edited this page Dec 3, 2012 · 12 revisions

To install Fluidity/PyOP2 on CX1 it is necessary to perform the following steps:

1 - Edit your bash.rc file and add the following line module load python/2.7.3

(To configure and build fluidity:) 2 - before executing the steps on the acmg website: module load python/2.7.3 export PYTHON_VERSION=2.7

3 - execute the script provided by the AMCG website at the following link: http://amcg.ese.ic.ac.uk/files/fluidity-build-cx1.pbs

To use PyOP2:

cd mkdir local

To install.. 4a) ..decorator wget http://pypi.python.org/packages/source/d/decorator/decorator-3.4.0.tar.gz tar xzf decorator-3.4.0.tar.gz cd decorator-3.4.0 python setup.py install --prefix=~/local

4b) ..yaml wget http://pyyaml.org/download/pyyaml/PyYAML-3.10.tar.gz tar xzf PyYAML-3.10.tar.gz cd PyYAML-3.10 python setup.py install --prefix=~/local

4c) ..instant wget https://launchpad.net/instant/1.0.x/1.0.0/+download/instant-1.0.0.tar.gz tar xzf instant-1.0.0.tar.gz cd instant-1.0.0 python setup.py install --prefix=~/local

  1. Inside your PyOP2 clone, create a file cx1.env with the following content:

module load cython

export OP2_DIR=/path/to/op2/repo/op2 export PYTHONPATH=~/local:$PYTHONPATH export PYTHONPATH=pwd:$PYTHONPATH

  1. For using the FFC interface, you need to install the following components

The FFC interface depends on various FEniCS components:

UFL > 1.0~2 FFC pyop2 branch FIAT (depends on ScientificPython) UFC

From now on, for simplicity, we assume these components are installed on your home.

  1. (TEMPORARY PATCH) In order to be able to enable just-in-time compilation, we need to instruct icc on where to get the python2.7 library. So, be sure to add the following string /apps/python/2.7.3/lib to eack instant/numpy call. For example, if your beckend is the sequential one, you will invoke inline_with_numpy in the following way:

_fun = inline_with_numpy(....., library_dirs=[OP2_LIB, "/apps/python/2.7.3/lib"], ......)

  1. Finally, to run a fluidity test case, you can modify this template script:

'#' !/bin/bash

#PBS -l mem=4gb #PBS -l ncpus=1 #PBS -l ngpus=0 #PBS -W block=true

PBS_O_WORKDIR=/where/the/fluidity/flml_file/is/located PROJECT=project_name EXECUTABLE=filename.flml

cd $PBS_O_WORKDIR

module load intel-suite/11.1 module load gmsh module load mpi module load vtk/5.8.0 module load valgrind module load libgmp module load matplotlib

Directory with your built Fluidity sourcetree in (edit this to your own path!)

export FLUIDITY_DIR=

export PYTHONPATH=${FLUIDITY_DIR}/python:${FLUIDITY_DIR}/lib/python2.7/site-packages:/ufl:/ffc:/PyOP2:/local/lib64/python2.6/site-packages:/local/lib/python2.7/site-packages:/local/lib/python2.6/site-packages:$PYTHONPATH

export OP2_DIR=/path/to/op2/repo/op2

#cp the fluidity executable and project files on tmp EXECDIR=$TMPDIR/$PROJECT

mkdir $EXECDIR -p

cp path/to/fluidity/binaries/fluidity $EXECDIR cp * $EXECDIR

cd $EXECDIR

./fluidity $EXECUTABLE

#cp results back in my directory, if any cp your_file_containing_results