>AFAIK OB checks all
>fingerprints in a list one by one so there is much room for
>improvement.

That is a killer for OpenCL on the GPU, because there is a considerable penalty 
for moving memory between Host and Device (GPU). Generally, you want to move 
large blocks of memory and do as much as possible on the Device before moving 
back to the Host.

AFAIK, OpenCL shines when there are independent calculations on large sets of 
numbers to do. It is not well suited for bitwise operations, string comparisons 
etc. Please note also, that literally all customer GPUs (not the dedicated 
Tesla or FireStream Accelerators) suffer severe performance degradation when 
dealing with double precision datatypes.

My 2ct is, that the forcefields probably benefit most from OpenCL on a GPU 
while things like fingerprint comparison or similarity will mostly benefit from 
running in parallel threads on the CPU. And there is a vector (MMX/SSE) unit 
around, with large registers and powerful SIMD instructions for bitwise 
operations...:-) If you use e.g. GCCs vector extensions, you don't even have to 
deal with intrinsics or assembler.

Hope that helps in finding a decision,

Ernst-Georg

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to