Elena Aragon, J. M. Jiménez, Arian Maghazeh, J. Rasmusson, Unmesh D. Bordoloi
Adaptations of the Aho-Corasick (AC) algorithm on high performance graphics processors (also called GPUs) have garnered increasing attention in recent years. However, no results have been reported regarding their implementations on mobile GPUs. In this paper, we show that implementing a state-of-the-art Aho-Corasick parallel algorithm on a mobile GPU delivers significant speedups. We study a few implementation optimizations some of which may seem counter-intuitive to standard optimizations for high-end GPUs. More importantly, we focus on measuring the energy consumed by different components of the OpenCL application rather than reporting the aggregate. We show that there are considerable energy savings compared to the CPU implementation of the AC algorithm.
{"title":"Pattern matching in OpenCL: GPU vs CPU energy consumption on two mobile chipsets","authors":"Elena Aragon, J. M. Jiménez, Arian Maghazeh, J. Rasmusson, Unmesh D. Bordoloi","doi":"10.1145/2664666.2664671","DOIUrl":"https://doi.org/10.1145/2664666.2664671","url":null,"abstract":"Adaptations of the Aho-Corasick (AC) algorithm on high performance graphics processors (also called GPUs) have garnered increasing attention in recent years. However, no results have been reported regarding their implementations on mobile GPUs. In this paper, we show that implementing a state-of-the-art Aho-Corasick parallel algorithm on a mobile GPU delivers significant speedups. We study a few implementation optimizations some of which may seem counter-intuitive to standard optimizations for high-end GPUs. More importantly, we focus on measuring the energy consumed by different components of the OpenCL application rather than reporting the aggregate. We show that there are considerable energy savings compared to the CPU implementation of the AC algorithm.","PeriodicalId":73497,"journal":{"name":"International Workshop on OpenCL","volume":"53 1","pages":"5:1-5:7"},"PeriodicalIF":0.0,"publicationDate":"2014-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85370443","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
S. Krige, M. Mackey, Simon McIntosh-Smith, R. Sessions
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.
{"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":"https://doi.org/10.1145/2664666.2664669","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.\u0000 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.\u0000 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.0,"publicationDate":"2014-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81926341","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
FLEXPART is a popular simulator that models the transport and diffusion of air pollutants, based on the Lagrangian approach. It is capable of regional and global simulation and supports both forward and backward runs. A complex model like this contains many calculations suitable for parallelisation. Recently, a GPU-accelerated version of the simulator (FLEXCPP) has been written in C++/CUDA. As CUDA is only supported on NVIDIA GPUs, such an implementation is tied to a single hardware vendor, and is not able to take advantage of other hardware acceleration platforms. This paper presents an OpenCL/C++ version of FLEXCPP, called FlexOcl. This simulator provides all the functionality of FLEXCPP, and has been extended to include modelling of the decay of radioactive particles. A performance comparison between the two simulators has been performed on GPU, and the performance of FlexOcl has also been evaluated on the Intel Xeon Phi, as well as a number of other hardware platforms. Our results show that the OpenCL code performs better than CUDA code on GPUs, and that equivalent performance is seen on the Xeon Phi for this type of application.
{"title":"Accelerating Lagrangian particle dispersion in the atmosphere with OpenCL across multiple platforms","authors":"P. Harvey, S. Hameed, W. Vanderbauwhede","doi":"10.1145/2664666.2664672","DOIUrl":"https://doi.org/10.1145/2664666.2664672","url":null,"abstract":"FLEXPART is a popular simulator that models the transport and diffusion of air pollutants, based on the Lagrangian approach. It is capable of regional and global simulation and supports both forward and backward runs. A complex model like this contains many calculations suitable for parallelisation. Recently, a GPU-accelerated version of the simulator (FLEXCPP) has been written in C++/CUDA. As CUDA is only supported on NVIDIA GPUs, such an implementation is tied to a single hardware vendor, and is not able to take advantage of other hardware acceleration platforms.\u0000 This paper presents an OpenCL/C++ version of FLEXCPP, called FlexOcl. This simulator provides all the functionality of FLEXCPP, and has been extended to include modelling of the decay of radioactive particles. A performance comparison between the two simulators has been performed on GPU, and the performance of FlexOcl has also been evaluated on the Intel Xeon Phi, as well as a number of other hardware platforms. Our results show that the OpenCL code performs better than CUDA code on GPUs, and that equivalent performance is seen on the Xeon Phi for this type of application.","PeriodicalId":73497,"journal":{"name":"International Workshop on OpenCL","volume":"17 1","pages":"6:1-6:8"},"PeriodicalIF":0.0,"publicationDate":"2014-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73464877","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}