{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,1]],"date-time":"2026-05-01T23:02:34Z","timestamp":1777676554696,"version":"3.51.4"},"reference-count":48,"publisher":"SAGE Publications","issue":"2","license":[{"start":{"date-parts":[[2014,4,9]],"date-time":"2014-04-09T00:00:00Z","timestamp":1397001600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2015,5]]},"abstract":"<jats:p>Drug screening is an important part of the drug development pipeline for the pharmaceutical industry. Traditional, lab-based methods are increasingly being augmented with computational methods, ranging from simple molecular similarity searches through more complex pharmacophore matching to more computationally intensive approaches, such as molecular docking. The latter simulates the binding of drug molecules to their targets, typically protein molecules. In this work, we describe BUDE, the Bristol University Docking Engine, which has been ported to the OpenCL industry standard parallel programming language in order to exploit the performance of modern many-core processors. Our highly optimized OpenCL implementation of BUDE sustains 1.43 TFLOP\/s on a single Nvidia GTX 680 GPU, or 46% of peak performance. BUDE also exploits OpenCL to deliver effective performance portability across a broad spectrum of different computer architectures from different vendors, including GPUs from Nvidia and AMD, Intel\u2019s Xeon Phi and multi-core CPUs with SIMD instruction sets.<\/jats:p>","DOI":"10.1177\/1094342014528252","type":"journal-article","created":{"date-parts":[[2014,4,9]],"date-time":"2014-04-09T23:01:18Z","timestamp":1397084478000},"page":"119-134","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":91,"title":["High performance\n                    <i>in silico<\/i>\n                    virtual drug screening on many-core processors"],"prefix":"10.1177","volume":"29","author":[{"given":"Simon","family":"McIntosh-Smith","sequence":"first","affiliation":[{"name":"Department of Computer Science, University of Bristol, Bristol, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"James","family":"Price","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Bristol, Bristol, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Richard B","family":"Sessions","sequence":"additional","affiliation":[{"name":"School of Biochemistry, University of Bristol, Bristol, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Amaurys A","family":"Ibarra","sequence":"additional","affiliation":[{"name":"School of Biochemistry, University of Bristol, Bristol, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"179","published-online":{"date-parts":[[2014,4,9]]},"reference":[{"key":"bibr1-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/180\/1\/012037"},{"key":"bibr2-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125925"},{"key":"bibr3-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1145\/1468075.1468121"},{"key":"bibr4-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1021\/ci800110p"},{"key":"bibr5-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1016\/S0959-440X(05)80162-9"},{"key":"bibr6-1094342014528252","unstructured":"Dongarra J, Bunch J, Moler C, Stewart P (n.d.) LINPACK. Available at: http:\/\/www.netlib.org\/linpack\/."},{"key":"bibr7-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2011.10.002"},{"key":"bibr8-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1021\/ci9003706"},{"key":"bibr9-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2011.45"},{"key":"bibr10-1094342014528252","volume-title":"Heterogeneous Computing with OpenCL","author":"Gaster B","year":"2011","edition":"1"},{"key":"bibr11-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1002\/1097-0134(20010501)43:2<186::AID-PROT1030>3.0.CO;2-L"},{"key":"bibr12-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1002\/prot.10115"},{"key":"bibr13-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1109\/SC.Companion.2012.66"},{"key":"bibr14-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1109\/CEC.2010.5586277"},{"key":"bibr15-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2012.6176582"},{"key":"bibr16-1094342014528252","unstructured":"Khronos Group (n.d.) Khronos OpenCL Standard. Available at: http:\/\/www.khronos.org\/opencl\/."},{"key":"bibr17-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1145\/2304576.2304623"},{"key":"bibr18-1094342014528252","unstructured":"Kl\u00f6ckner A (n.d.) PyOpenCL. Available at: http:\/\/mathema.tician.de\/software\/pyopencl."},{"key":"bibr19-1094342014528252","volume-title":"The Art of Computer Programming: Sorting and Searching","volume":"3","author":"Knuth DE","year":"1998","edition":"2"},{"key":"bibr20-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1021\/ci100459b"},{"key":"bibr21-1094342014528252","author":"Kurzak J","year":"2012","journal-title":"LAPACK Working Note (LAWN) 267"},{"key":"bibr22-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1021\/jm900817u"},{"key":"bibr23-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1093\/nar\/gkq311"},{"key":"bibr24-1094342014528252","author":"McIntosh-Smith S","year":"2008","journal-title":"International Supercomputing"},{"key":"bibr25-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/bxr091"},{"key":"bibr26-1094342014528252","unstructured":"May M (2008) PlayStation Cell speeds docking programs. Bio-IT World. http:\/\/www.bio-itworld.com\/issues\/2008\/july-august\/simbiosys.html"},{"key":"bibr27-1094342014528252","unstructured":"Meuer H, Strohmaier E, Dongarra J, et al. (n.d.) TOP500 Project. Available at: http:\/\/www.top500.org\/project\/top500_description\/."},{"key":"bibr28-1094342014528252","first-page":"1","volume":"17","author":"Muegge I","year":"2003","journal-title":"Reviews in Computational Chemistry"},{"key":"bibr29-1094342014528252","volume-title":"OpenCL Programming Guide","author":"Munshi A","year":"2011"},{"key":"bibr30-1094342014528252","unstructured":"National Science Foundation and Department of Energy (n.d.) BLAS. Available at: http:\/\/www.netlib.org\/blas\/."},{"key":"bibr31-1094342014528252","unstructured":"Nvidia (n.d.) CUDA. Available at: http:\/\/www.nvidia.com\/object\/cuda_home_new.html."},{"key":"bibr32-1094342014528252","unstructured":"Nvidia (2012a) Nvidia GeForce GTX 680 Whitepaper. Available at: http:\/\/www.nvidia.com\/content\/PDF\/product-specifications\/GeForce_GTX_680_Whitepaper_FINAL.pdf."},{"key":"bibr33-1094342014528252","unstructured":"Nvidia (2012b) Parallel Thread Execution ISA Version 3.1. Available at: http:\/\/docs.nvidia.com\/cuda\/pdf\/ptx_isa_3.1.pdf."},{"key":"bibr34-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2012.07.005"},{"key":"bibr35-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1039\/c0md00020e"},{"key":"bibr36-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-77560-7_13"},{"key":"bibr37-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1002\/jcc.540130311"},{"key":"bibr38-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1145\/2001576.2001818"},{"key":"bibr39-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2008.4629955"},{"key":"bibr40-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1145\/1513895.1513898"},{"key":"bibr41-1094342014528252","unstructured":"The PEPPHER Consortium (n.d.) Performance portablity and programmability for heterogeneous many-core architectures. Available at: http:\/\/www.peppher.eu."},{"key":"bibr42-1094342014528252","unstructured":"Thomas DB (n.d.) The Warp Generator: A Uniform Random Number Generator for GPUs. Available at: http:\/\/cas.ee.ic.ac.uk\/people\/dt10\/research\/rngs-gpu-warp_generator.html."},{"key":"bibr43-1094342014528252","unstructured":"Tripos (2005) Tripos Mol2 format. Available at: http:\/\/www.tripos.com\/data\/support\/mol2.pdf."},{"key":"bibr44-1094342014528252","unstructured":"UCSF (n.d.) ZINC Compound Database. Available at: http:\/\/zinc.docking.org."},{"key":"bibr45-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-30117-2_90"},{"key":"bibr46-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1016\/j.drudis.2006.10.005"},{"key":"bibr47-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1063\/1.3519057"},{"key":"bibr48-1094342014528252","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-38750-0_11"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342014528252","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/1094342014528252","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342014528252","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T08:19:23Z","timestamp":1777450763000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342014528252"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,4,9]]},"references-count":48,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2015,5]]}},"alternative-id":["10.1177\/1094342014528252"],"URL":"https:\/\/doi.org\/10.1177\/1094342014528252","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,4,9]]}}}