CUDA Fermi for SETI@home
Ever heard of SETI? The abbreviation stands for Search for Extraterrestrial Intelligence. The SETI Institute is currently one of the few not-for-profit organizations that is undertaking a serious scientific search for extraterrestrial civilizations in the cosmic haystack. Incorporated as a 501(c)(3) California nonprofit organization in 1984, key individuals in the history of the institute has included Carl Sagan, Bernard Oliver, David Packard, William Hewlett, Gordon Moore, Paul Allen, Nathan Myhrvold, Lewis Platt, and Greg Papadopoulos. Originally funded by the United States government until 1995, the institute has since then primarily been funded by private sources.
Analyzing all the (natural and, hopefully, someday artificial) radio signals emanating from space requires a lot of computing power. In fact, more data is currently being recorded than can be analyzed if it were left to the SETI scientists themselves. That’s why the idea came about to ask volunteers worldwide to donate spare computing power that would otherwise go unused. On May 17th 1999 the SETI@home application was launched for the general public. Later on SETI@home was integrated into the BOINC (Berkeley Open Infrastructure for Network Computing) platform for network computing with an array of other similar scientific projects requiring serious computing power.
I was introduced to SETI@home in 2012 after having become interested in amateur astronomy and watching documentaries on the subject of exoplanets (planets outside the solar system). The idea of volunteers worldwide being able to contribute to a common search for other kinds of people in the Milky Way blew my mind. If I’m not mistaken, I started downloading the BOINC software while still watching the initial documentary that introduced me to the SETI institute. Within minutes my 4-year-old laptop was crunching the data, and my eyes dreamily kept wandering back to the wallpaper that was illustrating the current work unit. Maybe, just maybe, that work unit would be the one containing a signal from another intelligence hopelessly far away.
67,591 credits later in the project, I’ve finally managed to overcome a technical difficulty with a new desktop computer that for months has been giving me some real headache. Try as I might, I could not get BOINC to search for narrow bandwith signals using my new NVIDIA Geforce 660 OC graphics card. In 2012 I was crunching these work units using a dual-core Intel CPU. Typically one unit would take up to six hours to complete. My new desktop computer, which I built this January, has a quad-core Intel CPU capable of simultaneously running four SETI@home work units to completion in just two hours. But all along I have known that the time to completion would be drastically reduced if I instead were to use my NVIDIA GPU.
Today, though I haven’t been actively looking for a solution to this problem for a while, I finally managed to solve this technical hurdle. It turns out that it’s an easy fix that’s even being recommended by NVIDIA. After having upgraded BOINC to the newest beta, I tried again to search the web for possible solutions to error messages when using my graphics card. Soon enough, I came upon a guide that seemed very promising. Now, after having implemented the fix, the work units that are searching for narrow bandwidth signals have had their time to completion reduced from two hours to just 3 minutes on average! I will still be using my quad-core Intel CPU for SETI@home, which adds up to a ridiculously high number of completed work units in two hours.
Using Windows 7, all I had to do was go to Control Panel -> System and Security -> System -> Advanced system settings -> Environment variables, and add a new entry, namely, CUDA_GRID_SIZE_COMPAT, and add the value 1 (one). The complete guide, with screenshots, can be found here: http://setiathome.berkeley.edu/forum_thread.php?id=69735#1296126
Hopefully, someone who has faced the same difficulties will come upon this blog post and put the information to good use. Space is big, and we will certainly need to pool our resources if we expect to find ET in the cosmic haystack. Happy crunching!
The sources I used while writing this blog post: