Monday, February 7, 2011

Install GPU Ocelot on Ubuntu 10.04

We've recently acquired a new machine to test Advanced Vector Extensions with GPU Ocelot's experimental vectorizing execution manager and code generator. I decided to document the complete set of procedures needed to build Ocelot on a fresh installation of Ubuntu 10.04.

1.) Install Ubuntu updates

2.) Install prerequisites:

sudo apt-get install g++ subversion libboost-all-dev
sudo apt-get install glutg3-dev libglew1.5-dev glew-utils
sudo apt-get install bison flex automake autoconf libtool


3.) Install NVIDIA CUDA 3.2 for Ubuntu 10.04. This includes an updated video driver and CUDA 3.2 Toolkit.

4.) Download, build, and install LLVM

svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm
./configure && make ENABLE_OPTIMIZED=1 -j 8
sudo make install ENABLE_OPTIMIZED=1


5.) Download, build, and install GPU Ocelot

svn checkout http://gpuocelot.googlecode.com/svn/trunk/ gpuocelot-read-only
cd gpuocelot-read-only/ocelot
libtoolize && aclocal && autoconf && automake && ./configure
make check -j 8
sudo make install


6.) Run built in unit tests:

make test

1 comment:

George Williams said...

Hey, a bunch of tests failed. Does it mean i can't use ocelot ? Thanx...


Running Ocelot unit tests
Aborted
12 out of 19 tests passed.

Passing tests:
(0.009s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestInstructions : Passed
(0.006s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestLLVMKernels : Passed
(17.646s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestParser : Passed
(0.008s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestDeviceSwitching : Passed
(0.007s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestEmulator : Passed
(6.029s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestLexer : Passed
(0.015s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestKernels : Passed
(20.981s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestPTXToLLVMTranslator : Passed
(0.008s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestCalVectorScale : Passed
(0.008s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestCudaGlobals : Passed
(0.005s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestLLVMInstructions : Passed
(23.888s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestDataflowGraph : Passed

Failing tests:
(0.006s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestIndirectFunctionCall : Did not complete.
(0.007s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestCudaTextureArray : Did not complete.
(0.005s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestFunctionCall : Failed
(0.011s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestPTXAssembly : Did not complete.
(0.008s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestCudaTexture2D : Did not complete.
(0.005s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestCudaSequence : Did not complete.
(0.007s) : /home/gwilliams/Packages/llvm/ocelot/gpuocelot-read-only/ocelot/TestCudaMalloc : Failed

Non-Existent tests: