Madagascar Installation

21
Madagascar Installation Sergey Fomel University of Texas at Austin August 30, 2006 Vancouver, BC

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 Presentation

Transcript of Madagascar Installation

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