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)