Thursday, September 17, 2009

Southern California Volvo dealerships

So the past few days have been a bit of a commuter's nightmare. Well, at least, for someone who's lost his car keys in the city of angels.

I drive a Volvo. I love 'em. I've owned two and I've been happy with their safety and reliability. The downside of owning one of these is the cost of maintenance and repair.

I was calling around local dealerships for a replacement set of keys. One word of advice, the downtown Los Angeles Volvo dealership rips people off! The guy on the phone sounded brash and unprofessional too. I saved almost $200 dollars towing my car to the Rusnak dealership in Pasadena.

I have no particular ties (advertising, cronyism, etc) to either of these dealerships. In fact, the best car service I've received has been from the Santa Monica and the Power Volvo Irvine dealerships.

Saturday, July 11, 2009

Custom PyCUDA installation on Fedora 10


Below is an email response I posted in the pycuda mailing list.  I was running into conflicting versions of the boost library.  I had to remove the default version of boost (1.33?) which is part of the fedora 10 distribution.  

====
For anyone else running into this issue (and if you're using Fedora/redhat distribution), here's the fix.  This assumes that you've compiled and installed CUDA 2.2 and that you've set CUDA_ROOT to your cuda installation path (including updating your LD_LIBRARY_PATH, etc).

i) make sure you have 'chrpath' installed along with rpm tools:
yum install chrpath
yum install rpm-build

1) download the latest (at this time, 1.39) src rpm and spec file
wget http://people.redhat.com/bkoz/boost/boost-1.39.0-0.3.fc11.src.rpm
wget http://people.redhat.com/bkoz/boost/boost.spec-1.39.0-0.2

2) rebuild the rpm
rpmbuild --rebuild boost-1.39.0-0.3.fc11.src.rpm

3) install the rpms
go into rpmbuild/RPMS/{your platform}
rpm -Uvh boost-*

4) obtain pycuda, unpack and run configure
python configure.py

5) edit siteconf.py and remove the compiler version, eg, gcc43, from the following variables

BOOST_PYTHON_LIBNAME = ['boost_python-mt']
BOOST_THREAD_LIBNAME = ['boost_thread-mt']

6) issue make and make install and ensure that the examples run 
Goodluck,
Paul

Friday, July 10, 2009

Exploring Stockholm, Sweden virtually



A colleague recommended this very nice site to explore Sweden virtually using a google-esque street view interface. I highly recommend visiting Stockholm!

A great page to discover and reminisce about Stockholm
http://www.hitta.se/gatubild/

Wednesday, May 27, 2009

virtual linux window manager: screen

I've been loving using gnu screen for a while now. It's been really helpful and provides an interactive 'nohup'!

Here is my ".screenrc" courtesy of a friend at UCI's ICS helpdesk.

# Turn off splash screen
startup_message off
#
# Will always put the list of screen sessions at the bottom
# Green text, time, and date; windows in red:
hardstatus alwayslastline "%{=b}%{G} Screen(s): %{R}%w %=%{kG}%C%A %D,%M/%d/%Y "
#
# please turn off the bell
vbell off
#
# Change default scrollback value for new windows
defscrollback 200000 # default: 10


A couple of useful tips for pretty-fying your sessions and windows:
To create a new window: C-a c
To change the alias of a running window instead of "bash" or your respective shell: C-a A
To change the title of a running session: C-a :sessionname
To kill a window (you will be prompted): C-a k

Thursday, May 14, 2009

CUDA using BFG NVidia GTX 260

The past couple of days has been quite frustrating.   Initially, I had hoped to dual-boot with my existing Mac Pro (version 3,1; early 2008), but there is no native OS X driver support for the GTX 260 (or any of the latest iteration of the GeForce line).  Because the development for my project only lasts until the beginning of June, I figured I could sacrifice not booting into OS X.  

I never fully appreciated the flexibility of PCs and I've never fully admired the 'tightness' of Apple hardware.  By tightness, I mean how the design of this aluminum beast prevents any sort of customization.  I hate it.

In any case, I just decided to use a Dell Vostro which has a single x16 PCIe lane (whew).  The form factor was cramped to say the least.  I had to make several trips to find 90-degree SATA cables which were still too stubby.  The box came with a fairly thin 90-degree cable for the HDD which meant I had to do away with the cable for the optical drive.  Luckily, my fumbling from the previous day with the MacPro afforded me with a HDD which had Fedora 10 installed.  I had to shuffle around the HDD of course along with the cables.  What a nightmare.
  
My final setup now consisted of a GTX 260 tightly tucked in the belly of the tiniest supercomputing beast: Dell Vostro, 2GB of RAM, Core 2 Duo 2.8GHz, 1 TB disk space.  

It's an awesome machine pushing 370-380 GFlops with the CUDA n-body simulation.  This much computing for under $300?  Well, minus the stress and other MacPro setup (4GB kit and 1TB separate HD) for a total of ~$500.

Right now I'm using CUDA, PyCUDA and should be helping out with creating wrappers for the latest OpenCL standard.  

Here are very useful links:
PyCUDA (developed by Andreas Klockner)

Welcome the new age of commodity supercomputing.  

Monday, May 11, 2009

Apple Bootcamp and Fedora (Part 1: Hardware setup)

I have a class project in which I'll be implementing a couple of machine learning algorithms using GPGPUs as an exercise in parallel programming and some software engineering.  I'll be using CUDA, and to a simplify the glue code, I'll be taking advantage of PyCUDA.

My development hardware is a Mac Pro (release 3.1, late 2008), but I'll need 1) a separate hard-disk because my primary disk is full of projects that I wish to protect, and 2) an upgrade to the default ATI video card with a GeForce 8800 GT.  Too bad the latest GTX 285 is not supported by OS X until the end of June!  I'll just have to settle for 512MB of DDR3.

I'll basically be following the instructions from this site: http://sowerbutts.com/linux-mac-mini/

Right now I'm in the process of activating Bootcamp to dual boot with Fedora.  One necessary piece of software is rEFI (http://refit.sourceforge.net/) which will enable boot selection.  I've already downloaded Fedora (http://fedoraproject.org/), my favorite distribution ;-)

[45 mins later]

The bootcamp instructions are a bust, or at least, totally unnecessary for dual-booting with linux.  In fact, installing rEFI and having it boot the install CD was sufficient.  However, I had a little scare after ejecting the installation CD and performing the first reboot.  I received the following error message, "Missing operating system," in plain white text on an ominous black screen.  Apparently, rEFI defaults to the previous boot device, which was the CD-ROM in my case. 

After pressing the apple (command) button, the rEFI menu finally popped up and the pretty boot device selection finally appeared.  Whew. 

Tomorrow, I'll be purchasing the GeForce 8800 GT card from an apple reseller.  I should have a linux CUDA development environment by early afternoon.  I will post screenshots, etc.

Monday, May 04, 2009

Working with pygr

Okay, I'm receiving this weird error with my script...

# Create annotation database
Traceback (most recent call last):
  File "scripts/sql_build_annotations_sgdfeatures.py", line 119, in
    main()
  File "scripts/sql_build_annotations_sgdfeatures.py", line 73, in main
    stop="Stop_coordinate"))
  File "/home/prigor/projects/genomics/hts/lib/python2.5/site-packages/pygr/annotation.py", line 137, in __init__
    self.get_annot_obj(k, slice)
  File "/home/prigor/projects/genomics/hts/lib/python2.5/site-packages/pygr/annotation.py", line 184, in get_annot_obj
    %(k,start,stop))
IndexError: annotation S000007553 has zero or negative length [-683625:-684113]!