S. Krige, M. Mackey, Simon McIntosh-Smith, R. Sessions
{"title":"Porting a commercial application to OpenCL: a case study","authors":"S. Krige, M. Mackey, Simon McIntosh-Smith, R. Sessions","doi":"10.1145/2664666.2664669","DOIUrl":null,"url":null,"abstract":"The use of virtual screening to find new drug hits and leads has become commonplace within the pharmaceutical industry. 2D methods have largely been replaced by 3D ligand-based methods and by structure-based methods (docking) where a reliable protein structure is available. However, the computational cost of calculating 3D molecular similarities is much higher than that for 2D similarity methods, meaning that large amounts of computing power are needed to screen a reasonable number of virtual compounds in a useful time scale.\n In recent years, the popularity of graphical processing units (GPUs) has increased in the area of high performance computing, mainly for their attractive cost to performance ratio and the appearance of stable GPU coding frameworks. They are a promising solution for computationally-intense problems such as virtual screening. In collaboration, the University of Bristol and Cresset have ported the blazeV10 virtual screening commercial application to OpenCL, a framework for writing programs that execute across heterogeneous platforms using both CPUs and GPUs.\n We present results showing that our OpenCL port of blazeV10 can provide an up to 20-fold speedup when run on a recent off-the-shelf GPU, compared to a contemporary multi-core CPU. This not only reduces the time required to obtain results but also saves hardware cost and space. We discuss some of the difficulties encountered in porting this commercial application to work well across a range of CPUs and GPUs, present hardware comparisons, and give guidance on how to maximize performance while retaining full precision.","PeriodicalId":73497,"journal":{"name":"International Workshop on OpenCL","volume":"26 1","pages":"3:1-3:10"},"PeriodicalIF":0.0000,"publicationDate":"2014-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop on OpenCL","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2664666.2664669","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
The use of virtual screening to find new drug hits and leads has become commonplace within the pharmaceutical industry. 2D methods have largely been replaced by 3D ligand-based methods and by structure-based methods (docking) where a reliable protein structure is available. However, the computational cost of calculating 3D molecular similarities is much higher than that for 2D similarity methods, meaning that large amounts of computing power are needed to screen a reasonable number of virtual compounds in a useful time scale.
In recent years, the popularity of graphical processing units (GPUs) has increased in the area of high performance computing, mainly for their attractive cost to performance ratio and the appearance of stable GPU coding frameworks. They are a promising solution for computationally-intense problems such as virtual screening. In collaboration, the University of Bristol and Cresset have ported the blazeV10 virtual screening commercial application to OpenCL, a framework for writing programs that execute across heterogeneous platforms using both CPUs and GPUs.
We present results showing that our OpenCL port of blazeV10 can provide an up to 20-fold speedup when run on a recent off-the-shelf GPU, compared to a contemporary multi-core CPU. This not only reduces the time required to obtain results but also saves hardware cost and space. We discuss some of the difficulties encountered in porting this commercial application to work well across a range of CPUs and GPUs, present hardware comparisons, and give guidance on how to maximize performance while retaining full precision.