Madagascar Installation Sergey Fomel University of Texas at





















- Slides: 21
Madagascar Installation Sergey Fomel University of Texas at Austin August 30, 2006 Vancouver, BC 0
This Presentation l Introductory remarks l Installation and compilation • History • Goals • Design principles • Downloading • Software construction with SCons • File structure August 30, 2006 Vancouver School & Workshop 1
Madagascar Story l l l 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 2
Cumulative Downloads Registered at freshmeat. net Vancouver School announced August 30, 2006 Vancouver School & Workshop 3
August 30, 2006 Vancouver School & Workshop 4
Source Referral (August 2006) August 30, 2006 Vancouver School & Workshop 5
Goal l l To make our research* productive To make technology transfer efficient *computational experiments August 30, 2006 Vancouver School & Workshop 6
One Week Technology Transfer Monday Get an idea a Tuesday Implement it b Wednesday Test it c Thursday Communicate it Friday Commercialize it August 30, 2006 Vancouver School & Workshop 7
Madagascar Design Principles l l l Document computational experiments Old experiments are regression tests New experiments become unit tests August 30, 2006 Vancouver School & Workshop 8
This Presentation ü Introductory remarks l Installation and compilation üHistory üGoal üDesign principles • Downloading • Compiling with SCons • File structure August 30, 2006 Vancouver School & Workshop 9
Downloading Madagascar l l Stable version • • madagascar-0. 9. 3 Source. Forge 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 10
Cumulative Subversion Access August 30, 2006 Vancouver School & Workshop 11
SCons (Software Construction) l l l “make” replacement Built-in “autoconf/automake” functionality Written in Open-source http: //www. scons. org Used for compiling Madagascar Used for managing processing flows SCons is an easier, more reliable and faster way to build software. August 30, 2006 Vancouver School & Workshop 12
From Tim O’Reilly’s blog “O’Reilly Radar” August 30, 2006 Vancouver School & Workshop 13
Installing from Source l l Unpack • tar xvzf madagascar-0. 9. 3. tgz Prerequisites • • Install Python and SCons if necessary Set environmental variables Build • • $RSFROOT root of installation $PYTHONPATH add $RSFROOT/lib $DATAPATH home for binary files scons config (generates config. py) scons install http: //rsf. net/wiki/index. php/Installation August 30, 2006 Vancouver School & Workshop 14
Open Source l madagascar-0. 9. 3/ • • • Sconstruct config. py api/ book/ filt/ user/ pens/ plot/ python/ scons/ August 30, 2006 created by scons install l $RSFROOT/ • • • bin/ lib/ include/ doc/ figs/ convenience Python scripts SCons sources Vancouver School & Workshop 15
Look Inside I l madagascar-0. 9. 3/ • Sconstruct • config. py top software construction created by scons config ENV = {'PATH': '/usr/local/bin: /usr/bin'} AR = 'ar' JPEG = 'jpeg' PPM = None CC = 'gcc' CCFLAGS = '-O 2 -std=gnu 99 -Wall -pedantic -DNO_COMPLEX' CPPPATH = [] LIBS = ['m', 'rpc'] XLIBPATH = ['/usr/X 11 R 6/lib'] XLIBS = ['Xaw', 'Xt', 'X 11'] XINC = ['/usr/X 11 R 6/include'] CXX = 'g++' August 30, 2006 Vancouver School & Workshop 16
Look Inside II l l api/ book/ • • API tests C++/Fortran/MATLAB… reproducible research tests gee/ • • • book ajt/ • • • hlx/ … bei/ geo 391/ … August 30, 2006 chapter/paper SConstruct paper. tex causint/ • SConstruct conv/ … (La. Te. X) project from rsfproj import * Flow('data 1', None, 'spike n 1=30 k 1=15 label 1=') Flow('data 2', 'data 1', 'causint') Flow('data 3', 'data 1', 'causint adj=y') Flow('data 4', None, 'spike n 1=30 nsp=2 k 1=10, 15 mag=1, -1 label 1= ') Flow('data 5', 'data 4', 'causint') Flow('data 6', 'data 4', 'causint adj=y') Flow('data 7', 'data 5', 'causint') Vancouver School & Workshop 17
Look Inside III l l filt/ program sources arranged by subject • lib/ • main/ • • proc/ imag/ • • • fomels/ slim/ … sources for rsf. h, librsf. a and API bindings • • • SConstruct alloc. c … • • • SConstruct add. c … user/ August 30, 2006 most common data manipulation programs “processing” “imaging” program sources arranged by author easily extensible Vancouver School & Workshop 18
Look Inside IV l l plot/ sources for Vplot generation • lib/ • main/ • test/ • main/ sources for rsfplot. h, librsfplot. a • • • SConstruct axis. c … • • • SConstruct contour. c … pens/ • • RSF to Vplot from sources for Vplot manipulation SConstruct pspen. c … Vplot to Post. Script … August 30, 2006 Vancouver School & Workshop 19
Lessons l l l 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, La. Te. X If you don’t like it, please voice your concerns. Wiki | Blog | Mailing list | Forums | Bug tracking | Feature requests August 30, 2006 Vancouver School & Workshop 20