Installing MUMmerGPU

Download mummergpu-2.0.tgz.

Under linux

tar xvfz mummergpu-2.0.tgz
Follow instructions in README.

Although the README file tells you to define CUDA_INSTALL_PATH the supplied Makefile ignores it. If your cuda compiler is not /usr/local/cuda/bin/nvcc edit Makefile before you use CUDA_INSTALL_PATH. I.e. replace

CUDA_INSTALL_PATH := /usr/local/cuda
with
CUDA_INSTALL_PATH ?= /usr/local/cuda
in Makefile and then define CUDA_INSTALL_PATH
setenv CUDA_INSTALL_PATH /opt/cuda
before doing make.

Unfortunately with 64 bit Centos the supplied Makefile fails.

Error messages: skipping incompatible /usr/local/cuda/lib/libcudart.so when searching for -lcudart
/usr/bin/ld: cannot find -lcudart

Work around

On 64 bit operating systems, edit src/Makefile and replace
-L$(CUDA_INSTALL_PATH)/lib
with
-L$(CUDA_INSTALL_PATH)/lib64

Error messages: multiple definition of `getRef(int, char*)'
/usr/bin/ld: Warning: size of symbol `getRef(int, char*)' changed from 21 in ../lib/libmummergpu.a(mummergpu.cu_o) to 8 in ../lib/libmummergpu.a(mummergpu_gold.cpp_o)

This appears to be related to using a 64 bit operating system, so you may not see this error on 32 bit systems.

Work around

Both mummergpu_gold.cpp and mummergpu_kernel.cu have functions called getRef. The quick solution is to change one of them. E.g. In mummergpu_kernel.cu replace all occurrences of
getRef(
with
getRef_(
My mummergpu_kernel.cu.

../bin/release/mummergpu error message: Cuda error in file 'mummergpu.cu' in line 2081 : 10100 (unspecified driver error). Trapped

Something has gone wrong when MUMmerGPU first tried to communicate with your nVidia graphics card. (Incidentally there is a bug in the mummergpu -C command line option which does not prevent it from trying to use the GPU and so -C is not a work around this problem.)

Work around

Make sure your G80 (or later) CUDA compatible GPU is working. MUMmerGPU only uses the default GPU, so you may need to ensure it is the zeroth Cuda device. In my case my 295 GTX configuration needed to be reset after a reboot.

Error message: Cuda driver error c9 in file 'mummergpu.cu' in line 468.

This error was seen 64 bit operating system with CUDA 3.2

Work around

May be related to cuMemGetInfo. See later.

../bin/release/mummergpu error message: Cuda error in file 'mummergpu.cu' in line 2081 : 11 (invalid argument). Trapped

Something has gone wrong when MUMmerGPU first tried to communicate with your nVidia graphics card.

Error 11 (invalid argument) arose with CUDA 3.0 and a Tesla C2050. It may be related to the following compilation errors when compiled with CUDA 3.2 under 64 bit Linux.

Work around

See

Error message: mummergpu.cu(468): error: argument of type "unsigned int *" is incompatible with parameter of type "size_t *"

It appears that the arguments passed to cuMemGetInfo have been changed. They were both unsigned int* but are now size_t*.

Work around

Edit sources. My version.

Running MUMmerGPU

Excessive Run time

Some runs with the same parameters can take much longer than others. E.g.
mummergpu -l 14 ssuis_ref.fna ssuis_reads.fasta
(see README in mummergpu20-workloads.tgz) typically takes 11 seconds. In some cases it can take more than eight minutes.

The cause is unknown but may be associated with garbage collection in the string class.

Work around

Abort mummergpu and restart it.


W.B.Langdon 20 July 2011 (last update 2 August)