>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