Skip to content
This repository has been archived by the owner on Sep 21, 2019. It is now read-only.
/ mummergpu Public archive

Fork of MUMmerGPU-2.0 that compiles without errors

License

Notifications You must be signed in to change notification settings

rmtheis/mummergpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

mummergpu

This project contains a fork of MUMmerGPU-2.0 that compiles out of the box.

MUMMerGPU-2.0 is an excellent open source GPU-based pairwise sequence alignment program. It was last updated in 2010. Currently, compilation errors prevent the MUMmerGPU-2.0 source code distribution from being immediately compiled and run on 64-bit Linux systems using current C++ compilers.

This project contains a slightly modified copy of MUMMerGPU-2.0 that compiles correctly using g++ without requiring further changes to the source code.

This project avoids the following messages:

  • mummergpu.cu(468): error: argument of type "unsigned int *" is incompatible with parameter of type "size_t *"
  • mummergpu_gold.cpp:(.text+0x0): multiple definition of 'getRef(int, char*)'
  • /usr/bin/ld: cannot find -lcudart
  • common.cu:132:5: error: uint32_t does not name a type
  • suffix-tree.cpp:47:39: error: strncpy was not declared in this scope...
  • PoolMalloc.cpp:94:7: error: stderr was not declared in this scope...
  • mummergpu.cu:478: warning: converting to int from float...

All of my modifications can be viewed in the commit history.

Original Readme

See mummergpu-2.0/README.

Installing on Amazon EC2

Launch instance ami-aa30c7c3 (CentOS 5.5 GPU HVM AMI) using instance Cluster GPU cg1.4xlarge, 22GB.

Connect to your instance:

ssh -i path_to_public_keyfile.pem [email protected]

Update the kernel:

yum update
reboot
uname -a

Update the Nvidia driver to v295.41 (or get a newer version from here):

(Ignore the error saying ERROR: File '/usr/lib64/xorg/modules/extensions/libglx.so' is not a symbolic link.)

wget http://developer.download.nvidia.com/compute/cuda/4_2/rel/drivers/devdriver_4.2_linux_64_295.41.run
chmod +x devdriver_4.2_linux_64_295.41.run
./devdriver_4.2_linux_64_295.41.run 
reboot
/usr/bin/nvidia-smi -q -a

Update the CUDA Toolkit to v4.2.9 (or get a newer version from here for Red Hat 5.5):

wget http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/cudatoolkit_4.2.9_linux_64_rhel5.5.run
chmod +x cudatoolkit_4.2.9_linux_64_rhel5.5.run
./cudatoolkit_4.2.9_linux_64_rhel5.5.run
/usr/bin/nvidia-smi -q -a

Install git:

rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
yum install --enablerepo=webtatic --disableexcludes=main git-all

Install g++:

yum install gcc-c++

At this point, continue with "Installling Locally" below.

Installing Locally

git clone git://github.com/rmtheis/mummergpu
cd mummergpu/mummergpu-2.0/src
make
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/root/mummergpu/mummergpu-2.0/bin/release
mummergpu
mummergpu ../../data/shortref.fa ../../data/shortqry.fa

License

Artistic License 1.0