YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Madagascar Installation

MadagascarInstallation

Sergey FomelUniversity of Texas at Austin

August 30, 2006Vancouver, BC

Page 2: Madagascar Installation

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

Page 3: Madagascar Installation

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)

Page 4: Madagascar Installation

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

Page 5: Madagascar Installation

August 30, 2006 Vancouver School & Workshop 5 of 20

Page 6: Madagascar Installation

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

Page 7: Madagascar Installation

August 30, 2006 Vancouver School & Workshop 7 of 20

Goal

To make our research* productive To make technology transfer efficient

*computational experiments

Page 8: Madagascar Installation

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

Page 9: Madagascar Installation

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

Page 10: Madagascar Installation

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

Page 11: Madagascar Installation

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

Page 12: Madagascar Installation

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

Page 13: Madagascar Installation

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

Page 14: Madagascar Installation

August 30, 2006 Vancouver School & Workshop 14 of 20

Fro

m T

im O

’Rei

lly’s

blo

g “O

’Rei

lly R

adar

Page 15: Madagascar Installation

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

Page 16: Madagascar Installation

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

Page 17: Madagascar Installation

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++'

Page 18: Madagascar Installation

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')

Page 19: Madagascar Installation

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

Page 20: Madagascar Installation

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 • …

• …

Page 21: Madagascar Installation

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


Related Documents