Madagascar Installation
description
Transcript of Madagascar Installation
MadagascarInstallation
Sergey FomelUniversity of Texas at Austin
August 30, 2006Vancouver, BC
August 30, 2006 Vancouver School & Workshop 2 of 20
This Presentation
Introductory remarks• History
• Goals
• Design principles
Installation and compilation• Downloading
• Software construction with SCons
• File structure
August 30, 2006 Vancouver School & Workshop 3 of 20
Madagascar Story
Started in 2003 Publicly open in June 2006 Open-source http://rsf.sourceforge.net Standing on SEPlib/SU shoulders RSF (regularly sampled format)
August 30, 2006 Vancouver School & Workshop 4 of 20
Cumulative Downloads
0
50
100
150
200
250
300
1-Jul 8-Jul 15-Jul 22-Jul 29-Jul 5-Aug 12-Aug 19-Aug 26-Aug
Vancouver School announced
Registered at freshmeat.net
August 30, 2006 Vancouver School & Workshop 5 of 20
August 30, 2006 Vancouver School & Workshop 6 of 20
Source Referral (August 2006)
677
222
134
63
49
49
49
36 75
direct
beg.utexas.edu
google.com
seg.org
cseg.ca
sourceforge.net
freshmeat.net
sepwww.stanford.edu
other
August 30, 2006 Vancouver School & Workshop 7 of 20
Goal
To make our research* productive To make technology transfer efficient
*computational experiments
August 30, 2006 Vancouver School & Workshop 8 of 20
Monday Get an idea
Tuesday Implement it
Wednesday Test it
Thursday Communicate it
Friday Commercialize it
One Week Technology Transfer
a
b
c
August 30, 2006 Vancouver School & Workshop 9 of 20
Madagascar Design Principles
Document computational experiments Old experiments are regression tests New experiments become unit tests
August 30, 2006 Vancouver School & Workshop 10 of 20
This Presentation
Introductory remarksHistory
Goal
Design principles
Installation and compilation• Downloading
• Compiling with SCons
• File structure
August 30, 2006 Vancouver School & Workshop 11 of 20
Downloading Madagascar
Stable version • madagascar-0.9.3
• SourceForge Unstable (development) version
• svn co https://svn.sourceforge.net/svnroot/rsf/trunk rsf
• Update with svn update
• Commit with svn commit (developers)
• Browse at http://svn.sourceforge.net/viewvc/rsf/
• Subversion facilitates collaboration and version control
August 30, 2006 Vancouver School & Workshop 12 of 20
Cumulative Subversion Access
0
200
400
600
800
1000
1200
1400
1600
1-J
ul
8-J
ul
15
-Ju
l
22
-Ju
l
29
-Ju
l
5-A
ug
12
-Au
g
19
-Au
g
26
-Au
g
Write
Read
August 30, 2006 Vancouver School & Workshop 13 of 20
SCons is an easier, more reliable and faster way to build software.
SCons (Software Construction)
“make” replacement Built-in “autoconf/automake” functionality Written in Open-source http://www.scons.org Used for compiling Madagascar Used for managing processing flows
August 30, 2006 Vancouver School & Workshop 14 of 20
Fro
m T
im O
’Rei
lly’s
blo
g “O
’Rei
lly R
adar
”
August 30, 2006 Vancouver School & Workshop 15 of 20
Installing from Source
Unpack• tar xvzf madagascar-0.9.3.tgz
Prerequisites• Install Python and SCons if necessary
• Set environmental variables
Build• scons config (generates config.py)
• scons install
http://rsf.sf.net/wiki/index.php/Installation
$RSFROOTroot of installation
$PYTHONPATHadd $RSFROOT/lib
$DATAPATHhome for binary files
August 30, 2006 Vancouver School & Workshop 16 of 20
Open Source madagascar-0.9.3/
• Sconstruct
• config.py
• api/
• book/
• filt/
• user/
• pens/
• plot/
• python/ convenience Python scripts
• scons/ SCons sources
$RSFROOT/• bin/
• lib/
• include/
• doc/
• figs/
created by scons install
August 30, 2006 Vancouver School & Workshop 17 of 20
Look Inside I madagascar-0.9.3/
• Sconstruct top software construction
• config.py created by scons configENV = {'PATH': '/usr/local/bin:/bin:/usr/bin'}AR = 'ar'JPEG = 'jpeg'PPM = NoneCC = 'gcc'CCFLAGS = '-O2 -std=gnu99 -Wall -pedantic -DNO_COMPLEX'CPPPATH = []LIBPATH = []LIBS = ['m', 'rpc']XLIBPATH = ['/usr/X11R6/lib']XLIBS = ['Xaw', 'Xt', 'X11']XINC = ['/usr/X11R6/include']CXX = 'g++'
August 30, 2006 Vancouver School & Workshop 18 of 20
Look Inside II api/ API tests
C++/Fortran/MATLAB… book/ reproducible research tests
• gee/ book• ajt/ chapter/paper
• SConstruct• paper.tex (LaTeX)• causint/ project
• SConstruct• conv/• …
• hlx/• …
• bei/• geo391/• …
from rsfproj import *
Flow('data1',None,'spike n1=30 k1=15 label1=')Flow('data2','data1','causint')Flow('data3','data1','causint adj=y')
Flow('data4',None, 'spike n1=30 nsp=2 k1=10,15 mag=1,-1 label1= ')Flow('data5','data4','causint')Flow('data6','data4','causint adj=y')Flow('data7','data5','causint')
August 30, 2006 Vancouver School & Workshop 19 of 20
Look Inside III filt/ program sources arranged by subject
• lib/ sources for rsf.h, librsf.a and API bindings• SConstruct• alloc.c• …
• main/ most common data manipulation programs• SConstruct• add.c• …
• proc/ “processing”• imag/ “imaging”
user/ program sources arranged by author• fomels/• slim/• … easily extensible
August 30, 2006 Vancouver School & Workshop 20 of 20
Look Inside IV plot/ sources for Vplot generation
• lib/ sources for rsfplot.h, librsfplot.a• SConstruct• axis.c• …
• main/ RSF to Vplot• SConstruct• contour.c• …
• test/ Vplot from source pens/ sources for Vplot manipulation
• main/• SConstruct• pspen.c Vplot to PostScript • …
• …
August 30, 2006 Vancouver School & Workshop 21 of 20
Lessons
Madagascar goal• To make our research productive
• To make technology transfer efficient
Multiple levels• (Tuesday) implement – main modules, C
• (Wednesday) test – projects, SCons/Python
• (Thursday) communicate – papers, LaTeX
If you don’t like it, please voice your concerns.Wiki | Blog | Mailing list | Forums | Bug tracking | Feature requests