# Difference between revisions of "GSOC2009"

Jump to navigation
Jump to search

## Graphical User Interface (

## Data Visualization (

## Java API (

## Seismic I/O Library (

## Binary Packages (

## Geophysics / Numerical Analysis (

Line 39: | Line 39: | ||

* 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. | * 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== | + | ==Geophysics / Numerical Analysis (''Mentor: Paul Sava'')== |

* 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 | * 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 | * As a bonus, FFT one of the transposed dimensions |

## Revision as of 18:29, 5 March 2009

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. |

## Contents

# Project Ideas

See also feature request tracker

## Graphical User Interface (*Mentor: Sergey Fomel*)

- Add an option to sfdoc to output spec files in the format defined for TKSU. This should make
**TKSU**immediately applicable. Spec files can be generated automatically at the compile time. - Rewrite
**TKSU**in Python, possibly using TkInter - See http://sourceforge.net/forum/forum.php?thread_id=1579059&forum_id=552249 for more discussions.
- Investigate alternative solutions.

## 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 (*Mentor: *)

- Add a Java interface to other supported interfaces
- Possibly use JNI
- Investigate possible connections with Mines JTK and JavaSeis

## Seismic I/O Library (*Mentor: Bert Bril*)

- See Seismic Library

## Binary Packages (*Mentor: Nick Vlad*)

- 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 (*Mentor: Paul Sava*)

- 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

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