Difference between revisions of "GSOC2009"

From Madagascar
Jump to navigation Jump to search
(transfer contents)
 
Line 18: Line 18:
  
 
==Java API==
 
==Java API==
* Add a Java interface to [[API|other supported interfaces]]
+
* Add a Java interface to [[Guide to madagascar API|other supported interfaces]]
 
* Possibly use [http://en.wikipedia.org/wiki/Java_Native_Interface JNI]
 
* Possibly use [http://en.wikipedia.org/wiki/Java_Native_Interface JNI]
 
* Investigate possible connections with [http://www.mines.edu/~dhale/jtk/ Mines JTK] and [http://sourceforge.net/projects/javaseis/ JavaSeis]
 
* Investigate possible connections with [http://www.mines.edu/~dhale/jtk/ Mines JTK] and [http://sourceforge.net/projects/javaseis/ JavaSeis]

Revision as of 03:21, 12 October 2008

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

Java API

Extending Python interface

  • Current Python interface provides elementary operations with RSF file objects, which represent multidimensional vectors. Extend the interface to allow for more operations.
  • Investigate possible connection with SLIMpy.

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?

Mentors

  • Sergey Fomel
  • Paul Sava
  • Nick Vlad