madagascar installation
DESCRIPTION
Madagascar Installation. Sergey Fomel University of Texas at Austin August 30, 2006 Vancouver, BC. This Presentation. Introductory remarks History Goals Design principles Installation and compilation Downloading Software construction with SCons File structure. Madagascar Story. - PowerPoint PPT PresentationTRANSCRIPT
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