From Madagascar
Revision as of 19:27, 5 March 2009 by Sfomel (Talk | contribs) (Data Visualization)

Jump to: navigation, search

Google Summer of Code is a program that offers student developers stipends to write code for various open source projects. Google will be working with several open source, free software, and technology-related groups to identify and fund several projects over a three month period.

Project Ideas

See also feature request tracker

Graphical User Interface (Mentor: Sergey Fomel)

Data Visualization (Mentor: Vladimir Bashkardin)

  • Migrate 2D rendering OpenGL-based code from GSEGYView to Madagascar and create an interactive viewer with zooming/panning features.
  • Migrate 3D rendering GLSL-based code from GSEGYView to Madagascar and create a viewer with the support of pluggable shader programs.
  • Finish 3D rays viewer
  • Create a set of alternatives to sfgraph, sfgrey, sfcontour programs, that would use PLPLOT library instead of VPlot; also, create "pens", that could read from those programs and generate ps, pdf, png output; analyze flexibility of PLPLOT and the possibility to fully mimic VPlot's output (including animation).

Java API

Seismic I/O Library

Binary Packages

  • Generate binary packages to simplify installation on multiple platforms.
  • Given Madagascar's dependencies, and a standardized way of finding other package's dependencies come up with a way/apply a tool to determine the minimum number of packages that make a self-contained Linux distributions that runs Madagascar. Build such a distribution starting from an existing well-supported distribution. Build a virtual appliance from that distribution.

Geophysics / Numerical Analysis

  • Implement an optimal algorithm for parallel transposes of arrays with 4 or 5 dimensions, up to a few tens of terabytes in volume, on a multi-node Linux cluster
  • As a bonus, FFT one of the transposed dimensions
  • Implement a hardware-adaptive transpose algorithm for a 1-node, SMP machine of 8 nodes or more. Investigate speed of transfers, size of caches, memory arrangement, etc, and make it hardware-adaptive. Bonus for out-of-core capabilities.
  • Implement 3-D seismic data header storage using the fastest open-source database, then compare header I/O times with the classic approach of having a simple table. Which is the fastest way of implementing a large database knowing that the values it will hold are all bools, ints and floats?


  • Vladimir Bashkardin
  • Bert Bril
  • Sergey Fomel
  • Paul Sava
  • Nick Vlad