Friday, September 25, 2009

CUDA 2.2 VLAR Kill SETI application for Ubuntu??

Well, there is still no CUDA application for Linux from SETI and ever since I started with a nVidia card, I have been using the application from Crunch3r. There are two little issues with this application, the first is that it took around 100% of one of my CPU cores to run and secondly, VLAR (Very Low Angle Range) work units ran and took ages to complete.
While trolling the internet at lunch time, I came across a forum post on Crunch3r's site that mentions a Linux application with a VLAR Kill option. I have been using the Windoze equivalent and decided to pursue this.
A bit more reading revealed that the CUDA 2.2 version uses a lot less CPU time than the original application.

So, here is how I got it to work (there are probably easier/cleaner ways of doing it, but this is how I got to the end result).

First, you need the CUDA 2.2 libraries. I got them from the Nvidia site (http://www.nvidia.com/object/cuda_get.html). They don't list a CUDA 2.2 toolkit for 64-bit Ubuntu 9.04, so I download the one for Ubuntu 8.10.
This gives you a ".run" file which confused me a bit to start with. I got it installed with the following:

Navigate to the directory of the .run file. I had mine on the desktop so I used "cd ~/Desktop".
Then "chmod +x cudatoolkitxxx.run"
And "./cudatoolkitxxx.run"
I just used the default installation directories.

The next stage is to copy the required files from the CUDA Toolkit installation into the projects/setiathome.berkeley.edu directory. You will need:

libcudart.so
libcudart.so.2
libcudart.so.2.2
libcufft.so
libcufft.so.2
libcufft.so.2.2

The actual application comes from a link on Crunch3r's site (http://calbe.dw70.de/mb/viewtopic.php?f=9&t=116). I used setiathome-CUDA_2.2_6.08.x86_64_vlarkill.

Here is one part that I'm not sure about but it seems to be necessary. You need to copy the application to /usr/bin as well as projects/setiathome.berkeley.edu .This is a prime example of where there are better ways of doing things!

You will need an app_info.xml file in projects/setiathome.berkeley.edu to get it all to work. What I did here was take the included file from Crunch3r's normal CUDA app (http://calbe.dw70.de/linux64.html) and edit it, changing the name of the application to match setiathome-CUDA_2.2_6.08.x86_64_vlarkill. I left the names of the CUDA library files as they were.
Once the app_info.xml file was in the correct directory, I restarted the BOINC client and amazingly it all seems to work fine with a CPU usage rate of 2%. This means I have almost a whole additional core to run CPU work units. This is still using the 6.4.5 Boinc client

Credit to Crunch3r and sunu (on KWSN forums) for the info they have posted that got me through this!

No comments:

Post a Comment