Skip to main content

Fedora Linux: An easy to use Linux for work (with CUDA)

Recently, I wanted to play around with CUDA a bit. Unfortunately, CUDA does not support Visual Studio 2008 yet, so I had to fall back to Linux. As I didn't want to fiddle around with Linux on my desktop, I gave it a try on my notebook which also has a CUDA capable graphics device (GeForce 8600M GT).

Looking around for operating systems supported by CUDA, I thought I'd give Fedora a try. I've been mainly using Ubuntu/Debian when I needed Linux (during my last term, I had a cut-down Debian running in a VirtualBox), after I had some really bad experiences with Fedora.

This time however I'm really happy I've chosen it. I've used Fedora 9 for x64. Some observations:

  • Installation was pretty fast, and worked fine on the free disk space I provided
  • Installing the nVidia display driver for Fedora 8 worked. You have to run init 3 as root before you can install it. As my wireless LAN was configured using KDE, I had to use a cable so the display driver could download the kernel module during the installation. Moreover, you need the kernel-devel package (yum install kernel-devel and you are ready to go).
  • CUDA worked just fine. You need to install the toolkit first (as root), then the SDK (as a normal user). The toolkit does not compile with GCC 4.3 out of the box. There are several places where you must add #includes to get it working (mostly string.h, stdlib.h and similar. GCC 4.3 aggressively reduced inter-header-inclusion, which leads to undefined symbols here). You'll need some more packages to get everything compiled. Install the freeglut.i386 package. After that, you have to do some symlinks so it gets found -- ln -s /usr/lib/ /usr/lib/ (same for lib64). Finally, you need the glibc-dev.i386 package.

    CUDA reduction example
    CUDA reduction example on Fedora 9

  • Compiling Boost 1.36 worked out-of-the-box. Just make sure you compile bjam yourself instead of running make, as by default, the attached makefile will build all of Boost, which can take a while.

  • Fedora 9 comes with an ancient version of CMake. Compiling works fine - CMake doesn't have any external dependencies.
  • Fedora 9 comes with KDE 4, but updates to 4.1 immediately. Don't worry if your desktop is mostly broken on the first run.
  • Power management doesn't work for me when on battery (yep, you read it right). That is, on battery, the CPU is running at 100% nearly all the time, while it gets clocked down when running with my power supply is attached.

All in all, I'm very pleased with Fedora so far, and I already started with porting some stuff over to Linux.