SEQanswers

Go Back   SEQanswers > Bioinformatics > Bioinformatics

Similar Threads
Thread Thread Starter Forum Replies Last Post
BLAST+ creating custom blast database and using blast+ filtering features deniz Bioinformatics 2 10-26-2012 12:04 PM
is is possible to run SOAP3 with a Cuda 4.1 toolkit? NicolaLosito Bioinformatics 4 07-12-2012 08:17 AM
Running BarraCUDA on Amazon AWS GPU ajminich Bioinformatics 4 03-13-2012 08:35 AM
GPU sequence aligner brianlamx Bioinformatics 8 12-22-2011 04:12 AM
gpu/cuda molbio software sbberes Bioinformatics 2 11-24-2010 02:34 PM

Reply
 
Thread Tools
Old 01-30-2013, 10:46 PM   #1
jjk
Member
 
Location: Brisbane

Join Date: Nov 2009
Posts: 21
Default GPU CUDA BLAST Efficiency

I am currently in the possession of the following:

7x CPU
16 GB memory

and a GeForce GTX 670 GPU
http://www.geforce.com/hardware/desk...specifications

Now I was testing CUDA BLAST and basically you can set the database up with three different parameters as far as I could find. Namely the following:

-gpu_blocks
-gpu_threads
-max_file_sz

Now I had a script running that combines a various of settings and then ran BLAST. The speed for all vs all of 1308 proteins varied from 55 seconds to 19 seconds. Now I was curious how do I know what is the best setting beside trying out all possible combinations?

I should have 1344 CUDA Cores on the GPU.
jjk is offline   Reply With Quote
Old 01-31-2013, 04:05 AM   #2
mike.t
Member
 
Location: Spain

Join Date: Mar 2010
Posts: 32
Default

Hi jjk - I can't answer your questions, but I was wondering what your benchmark time is with standalone blast without the GPU.

Just a guess but I would think that -gpu_threads should be fixed to 1344 since that is how many cores you have. That would reduce the number combinations you have to search. You could do a grid search, or in your case a cube search. If you imagine your search space as a cube you can start your search in a defined smaller cube and do an exhaustive search of all possible combinations within. If your optimum lands on an edge, you can search the next space adjacent to that and continue until you reach an optimum that is not on an edge. That may save you from searching the whole space.

You could also try a genetic algorithm...and there are other optimization strategies out there.
mike.t is offline   Reply With Quote
Old 01-31-2013, 04:22 AM   #3
severin
Genome Informatics Facility
 
Location: Iowa @isugif

Join Date: Sep 2009
Posts: 105
Default

Quote:
Originally Posted by jjk View Post
I am currently in the possession of the following:

7x CPU
16 GB memory

and a GeForce GTX 670 GPU
http://www.geforce.com/hardware/desk...specifications

Now I was testing CUDA BLAST and basically you can set the database up with three different parameters as far as I could find. Namely the following:

-gpu_blocks
-gpu_threads
-max_file_sz

Now I had a script running that combines a various of settings and then ran BLAST. The speed for all vs all of 1308 proteins varied from 55 seconds to 19 seconds. Now I was curious how do I know what is the best setting beside trying out all possible combinations?

I should have 1344 CUDA Cores on the GPU.
I ran into similar issues though I found that the best speed was obtained by maxing out the -gpu_threads=1024 reducing the file size to 1 MB and then finding the largest -gpu_blocks that is permitted based on the limitations of memory on the GPU.

One caveat is that I have come to conclude that a single GPU is not faster than 30-60 cpu cores and probably less for BLASTing.

Best of luck

Andrew
severin is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT -8. The time now is 10:35 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.