Seti@Home Optimization Project
You are here: setiboinc :: Home web page

Seti @ Home Project Logo


BOINC bugs/tasklist
BOINC Devel mailing list
SETI server status

Original Optimize mailing list

What Project is all about

This software's goal is to analyze signals gathered from the Arecibo Satetlite dish and in the future other signal sources for evidence of Extra Terestrial Intelligence. This evidence would be in the form of scientifically verifiable electronic signals which, through rigrous confirmation, would demonstrate creation by sentient beings.

Currently the project has access to years of collected signals from Arecibo, but in the near future other Sattelite and near space gathering signals may become avaialble.

There is such a large ammount of information that the project has chosen a distributed computing paradigm for analyzing the volume. The work is broken up into manageable "units" by a centralized server(s), and then distributed to a multitude of worker machines (currently numbering over 150,000). Each of these analyzes its "unit" of signal and using sophisticated signal analysis code, attemts to filter out any possible background or earth based signals that might be corrupting the sample. After it completes this it looks at the remaining signal to find signals that might be created by non-human sentient design.

The original code uses standard C and C++ floating point numbers. The original programmers used various methods to try and make their analyses both thorough, rigorous, and also timely. However with newer CPUs offering features such as SIMD, and newer programming paradigms and methods, it is likeley that the original code can be speeded up by a large percentage on the machines it already runs on.

This will allow the original data to be processed in a more timely manner.


The original code is somewhat intermixed, being open source, and as such has differing levels of documentation, commenting, and source code styles. This can sometimes be difficult to deduce the original intent or purpose of some of the code modules.

Managing all of the different types of SIMD processors, and integrating it into the code in an organized manner, without further complicating the source will be a major goal and difficulty.


  • Optimization in C++ of existing code with no reduction in efficacy or scientific value.
  • Specialized routines to take advantage of specific CPU's SIMD (Simultaneous Instruction, Multiple Data) processors. These routines will generate as nearly identical scientific results but at much faster pace.
  • CPU type, and feature set identification by the "worker" machines at runtime.
  • Initialization of function calling or class configuration at startup so that the code will call the fastest possible versions of available functions on that particular machine.
  • Data formats and protocols are listed here: -- Look under "protocols...Protocol overview"