1998 Fundamentals of Engineering Programming With C and Fortran
Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java...
Transcript of Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java...
![Page 1: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/1.jpg)
SLIMUniversityofBritishColumbia
Consortium2010
HenrykModzelewski
Software releases and architecture
Thursday, December 9, 2010
![Page 2: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/2.jpg)
SLIM
• Challenges
• Developmentenvironment
• Knowledgetransfer
• Pastsoftwarereleases
• Nextsoftwarerelease
• Conclusions
Outline
Thursday, December 9, 2010
![Page 3: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/3.jpg)
SLIM
๏ Seismicapplicationsare:• memorydemanding• computationallyintensive• IOintensive• weuselarge‐scale‐optimizationiterativealgorithms
๏ SLIM’stechnologyisdrivenbymulti‐d(d>2)non‐separabletransforms
๏Academicenvironmentcallsfor• codereuse&reproducibility• fastlearningcurves
Challenges
Thursday, December 9, 2010
![Page 4: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/4.jpg)
SLIM
๏ In‐corecomputations:• MatlabandJava• C/C++/FORTRANforlow‐levelimplementations
๏Seismictoolsfordatainput/output:• SeismicUnix,Delphi,SegyMAT,Madagascar (RSF)
๏Scriptingtools:• Unixshells,SCons,Python
๏Parallelism• MATLABandJava(forparallelIO)
Programming tools
Thursday, December 9, 2010
![Page 5: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/5.jpg)
SLIM
๏Desktops(forsmall‐problemprototyping)๏Cluster(forparalleldevelopmentandcomputations• 288CPUcores(Intel2.66GHz)• 16TBofdiskspace• Funding:‐ contributiontoinitialpurchase(2006)‐ departmentalefforttoupgrade(2009)
Hardware
Thursday, December 9, 2010
![Page 6: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/6.jpg)
SLIM
๏StudentstypicallyhavealreadyexperiencewithMATLABprogramming
๏MATLABintroducedthecapabilitiesthatallowmoreefficientalgorithmdevelopment:• supportforparallelcomputations• supportfordistributedarrays/vectors• MATLABinterfaceswithotherlow‐levellanguages
๏Ourgoalistoisolatestudents,asmuchaspossible,fromlow‐levelprograming
Development in MATLAB
Thursday, December 9, 2010
![Page 7: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/7.jpg)
SLIM
๏MATLABaddressesourmajorchallenges:• massiveparallelcomputations• capabilitytohandlelargememoryfootprint• fasterlearningcurve(lesssoftwaretolearn)
๏UnfortunatelyMATLABisnotfree๏ButthereisvastamountofscientificsoftwaredevelopedinMATLAB
Development in MATLAB
Thursday, December 9, 2010
![Page 8: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/8.jpg)
SLIM
๏ Thereisstillneedtobuiltorutilizeefficientlow‐levelroutinesandinterfacethemwithMATLAB,like:• 3Dparallelcurvelettransform
๏ SomeoftheexistingMATLABcodeisbeingconvertedorextendedtoallowparallelcomputations,like:• SPOT• SPGL1
๏ Thereisstillneedtoimplementutilitiesforout‐of‐coreprocessinganddatainput/output
Development in MATLAB
Thursday, December 9, 2010
![Page 9: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/9.jpg)
SLIM
๏ Currentsoftwareprojects:
• SPOTextensionsforparallelprocessingusingpSPOT
• pSPOT:parallelextensionstoSPOT
• botharesubjectsofthenextpresentations
Development in MATLAB
Thursday, December 9, 2010
![Page 10: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/10.jpg)
SLIM
๏ Futureprojects:
• furtherdevelopmentofpSPOT
• improvementstointerfacingout‐of‐coredata
‐ investigatingJavaSeis(www.javaseis.org)
‐ improvementstoRSF‐MATLABinterface
• MATLABimplementationofparallel3Dcurvelets
• nSPOT:non‐linearextensionstoSPOT
Development in MATLAB
Thursday, December 9, 2010
![Page 11: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/11.jpg)
SLIM
๏Weintendtomaintain4positionstoaccommodate• part‐timeseniorprogrammer• 2full‐timejuniorprogrammers• part‐timesystemadministrator
๏FocusonsupportingMATLABdevelopment
Programming staff (future)
Thursday, December 9, 2010
![Page 12: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/12.jpg)
SLIM
• Publications• Softwarereleases‐ algorithms‐ applications’demos
• Webinars(monthly/bi‐monthly)‐ presentations‐ softwaredemonstrations‐ softwaretutorials
Knowledge transfer
Thursday, December 9, 2010
![Page 13: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/13.jpg)
SLIM
๏SoftwareHighlights:• https://wave.eos.ubc.ca/Software/SINBAD/highlights/
๏SoftwareReleases:• https://wave.eos.ubc.ca/Software/SINBAD/
๏Accessibleonlytoconsortiummembers• ([email protected])
Past software releases
Thursday, December 9, 2010
![Page 14: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/14.jpg)
SLIM
• 1releasein2006• 2releasesin2007• 1releasein2008• 1releasein2010
Past software releasesWhen:
Thursday, December 9, 2010
![Page 15: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/15.jpg)
SLIM
• Wavefieldreconstruction• Wavefieldseparation• Modelling• Imaging• Solvers(ISTc,SPGL1)• Transforms(Curevelets,Surfacelets,...)
• seeWebPagesformoredetails
Past software releases:Categories:
Thursday, December 9, 2010
![Page 16: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/16.jpg)
SLIM
• Weplanthenextreleaseinearly2011• Weintendtounifythesoftwarereleaseasmuchaspossibleto:‐ clearlyseparatealgorithmsformapplications‐ packagetogetherasmanyexternalsoftwarepackagesaspossible
‐ includeautomaticdependencies/unittests‐ streamlineinstallationandimplementationofoursoftwareinthecompanies
Next software release
Thursday, December 9, 2010
![Page 17: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/17.jpg)
SLIM
• Weplanthenextreleaseinearly2011• Thesoftwarereleasewillcontainthefollowingapplications:‐ L1migrationwithactivecontributionfromsurface‐relatedmultiples
‐ CompressSensingofFull‐waveforminversiongradients‐ CurveletMatchedEstimationofPrimariesviaSparseInversion
‐ Estimationofsurface‐relatedprimarieswithL1inversionandinformedblinddeconvolutiontechniques(update)
‐ ...
Next software release
Thursday, December 9, 2010
![Page 18: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/18.jpg)
SLIM
๏Wehave:• builtalargesoftwareframeworkforseismic‐imagingapplications.
• implementednewalgorithmsinthisframework.• buildanumberoflow‐leveltoolstosupportthosealgorithms.
• successfullystartedeffortstointroduceMATLABasourmainresearchanddevelopmentenvironment.
Conclusions
Thursday, December 9, 2010
![Page 19: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/19.jpg)
SLIM
๏Wemadeahugeeffortinstreamlining/acceleratingalgorithmdevelopmentandtryingtoallowresearcherstofocusonresearchratherthansoftwaredevelopment,andwewishtopursuethisgoal.
๏MATLABoffersanefficientalternativesodowearecompelledtoexploititandusetoourbenefit.
Conclusions
Thursday, December 9, 2010
![Page 20: Consortium 2010 - Seismic Laboratory for Imaging and ... · ๏Seismic applications are: ... Java • C/C++/FORTRAN ... L1 migration with active contribution from surface ‐ ...](https://reader031.fdocuments.us/reader031/viewer/2022022518/5b0e1b637f8b9ab7658d6928/html5/thumbnails/20.jpg)
Acknowledgements
ThisworkwasinpartfinanciallysupportedbytheNaturalSciencesandEngineeringResearchCouncilofCanadaDiscoveryGrant(22R81254)andtheCollaborativeResearchandDevelopmentGrantDNOISEII(375142‐08).ThisresearchwascarriedoutaspartoftheSINBADIIprojectwithsupportfromthefollowingorganizations:BGGroup,BP,Chevron,ConocoPhillips,Petrobras,TotalSA,andWesternGeco.
SLIM
Thursday, December 9, 2010