From Autodiff
Jump to: navigation, search

Getting the sources

checkout from

set ISSM_DIR, then in $ISSM_DIR do

source etc/

in externalpackages build the needed external packages, then go back to $ISSM_DIR and run


Configure / Build

pick an appropriate config setup given in the shell scripts, e.g:


then make and install:

make -j 6 
make install

The jenkins CI server runs on murdo - access under port 8080; tunnel there with

ssh -t -L 8080:localhost:8080

and access with firefox as Jenkins Murdo

Test invocation from Matlab

Note - this is setup only on astrid :

cd $ISSM_DIR/test/NightlyRun

start matlab like this (alias ma ):

matlab -nodesktop -nosplash -r "addpath $ISSM_DIR; startup;"

for the AD specific tests run:


for a non-AD test run e.g.:


should print SUCCESS in the end; the test description is in


Test invocation from the created temporary directory

a successfull matlab test launch (e.g. of test 105) creates directories


In there, the invocation string of issm.exe can be found in test105.queue to be rerun with gdb etc.

Latest problem



The following use ISSM version 15495 and Adol-C branch 2.3.x_ISSM changeset tagged issm_v15495_tested_merge; using the GSL solver (sequential); ISSM/Adol-C compiled with g++ -g -O2

  • test109: running with doubles in comparison to adouble-overloaded operators (no trace/tape creation no forward/reverse calls).
    • the distance in the mesh varies - reducing the distance means more mesh points i.e. a larger system to solve.
    • for the largest mesh (distance 12500) in the plain execution 99% of the run time is spent in the GSL solver; the observed overhead factor of only 2.5 is therefore not a good representer for the general adouble overhead but nevertheless relevant for this problem setup as we hope to still spend most of the time in the solver
    • this is also shown in the chart for the adouble enabled run where the GSL portion grows
  • test3019 running in both cases with adouble-overloaded operators but for compariosn without and with tracing+fos_reverse
    • again the overhead for that part is low owed to the fact that the portion of GSL grows with the mesh size
    • the overhead of I/O is in comparison relatively low
    • GSL does not have an explicit interface for backsubstituting for the transposed matrix and therefore we factorize again in the reverse sweep contributing to the GLS overhead
    • because the GSL potion overwhelms everything it would be best to replace GSL first

Results for the above are shown here: Media:issm_adolc_perf.pdf from the spreadsheet Media:issm_adolc_perf.ods

Sep/21/13: Performance was retested after the changes needed for AMPI notably the includion of the ensureContiguousLocations in the specialization of xNew for adouble. The tests were done with ISSM version 16214 and Adol-C branch ampi changeset e90b19dc764e0de8620a45e997c68baebdfb4077 using the GSL solver (sequential); ISSM/Adol-C compiled with g++ -g -O2

Sep/24/13: Performance was retested with ISSM version 16222 and Adol-C branch ampi changeset e90b19dc764e0de8620a45e997c68baebdfb4077 using the MUMPS solver (3-way parallel) with test script template: Media:Test3019.m; ISSM/Adol-C compiled with g++ -g -O2

Jan/03/14: Performance was retested with ISSM version 17057 and Adol-C branch ampi changeset 69bfc3eb6618891bdbeb0e4990da971c3bd52c04 same setup as above, results are given in Media:Issm_adolc_perf_3019_ICCS.pdf from the spreadsheet Media:Issm_adolc_perf_3019_ICCS.ods; these were the results used as the last experiment in the plots of the submission to ISSM 2014.

Running on Pleiades

using ssh conf on VM with aliased host and set user ID do

ssh -XC pfe

to get to the Pleiades front end nodes. Compiled things are in