GPGPU: To Use or Not To Use (original) (raw)
Related papers
String Matching on a multicore GPU using CUDA
2009 13th Panhellenic …, 2009
Graphics Processing Units (GPUs) have evolved over the past few years from dedicated graphics rendering devices to powerful parallel processors, outperforming traditional Central Processing Units (CPUs) in many areas of scientific computing. The use of GPUs as processing elements was very limited until recently, when the concept of General-Purpose computing on Graphics Processing Units (GPGPU) was introduced. GPGPU made possible to exploit the processing power and the memory bandwidth of the GPUs with the use of APIs that hide the GPU hardware from programmers. This paper presents experimental results on the parallel processing for some well known on-line string matching algorithms using one such GPU abstraction API, the Compute Unified Device Architecture (CUDA).
String Matching on hybrid parallel architectures, an approach using MPI and NVIDIA CUDA
9.6.1. CUDA Implementation (mpiShiftOr.cu) 78 9.7. Shift And 81 9.7.1. CUDA Implementation (mpiShiftAnd.cu) 81 References 84 I would like to thank my supervisor Prof. Konsatntinos G. Margaritis, for his support and insightful feedback during the conduction of this research. I would also like to thank the Parallel Distributed Processing Laboratory, as well as, the department of Applied Informatics of University of Macedonia, for providing me access to the hardware that was used to run the experiments. Last but not least, I want to thank my family and friends for all of their support.
Investigation of GPU-based Pattern Matching
—Graphics Processing Units (GPUs) have become the focus of much interest with the scientific community lately due to their highly parallel computing capabilities, and cost effectiveness. They have evolved from simple graphic rendering devices to extremely complex parallel processors, used in a plethora of scientific areas. This paper outlines experimental results of a comparison between GPUs and general purpose CPUs for exact pattern matching. Specifically, a comparison is conducted for the Knuth-Morris-Pratt algorithm using different string sizes, alphabet sizes and introduces different techniques such as loop unrolling, and shared memory using the Compute Unified Device Architecture framework. Empirical results demonstrate a 29 fold increase in processing speed where GPUs are used instead of CPUs.
To use or not to use: Graphics processing units (GPUs) for pattern matching algorithms
7th International Conference on Information and Automation for Sustainability
String matching is an important part in today's computer applications and Aho-Corasick algorithm is one of the main string matching algorithms used to accomplish this. This paper discusses that when can the GPUs be used for string matching applications using the Aho-Corasick algorithm as a benchmark. We have to identify the best unit to run our string matching algorithm according to the performance of our devices and the applications. Sometimes CPU gives better performance than GPU and sometimes GPU gives better performance than CPU. Therefore, identifying this critical point is significant task for researchers who are using GPUs to improve the performance of their string matching applications based on string matching algorithms.
To Use or Not to Use: Graphics Processing Units for Pattern Matching Algorithms
String matching is an important part in today's computer applications and Aho-Corasick algorithm is one of the main string matching algorithms used to accomplish this. This paper discusses that when can the GPUs be used for string matching applications using the Aho-Corasick algorithm as a benchmark. We have to identify the best unit to run our string matching algorithm according to the performance of our devices and the applications. Sometimes CPU gives better performance than GPU and sometimes GPU gives better performance than CPU. Therefore, identifying this critical point is significant task for researchers who are using GPUs to improve the performance of their string matching applications based on string matching algorithms.
Performance Efficient DNA Sequence Detection on GPU Using Parallel Pattern Matching Approach
2014
Bioinformatics is THE field of science which applies computer science and information technology to the problems of biological science. One of the most useful applications of bioinformatics is sequence analysis. Sequence analysis, which is the process of subjecting a DNA, RNA to any wide range of analytical approaches, involves methodologies like sequence alignment and searches against biological databases. For the analysis DNA sequences are stored in databases for easy retrieval and comparison. Frequency of pattern occurrence in database may predict the intensity of the disease. When the sequence database is huge, matching a pattern is very time consuming task. This fact leads to the need of utilizing latest complex and expensive hardware like GPU. In this paper, we propose a Parallel string matching algorithm using CUDA (Compute Unified Device Architecture). The focus of the research is the design and implementation of an algorithm by utilizing GPU cores optimally. Our algorithms ...
Accelerating Enhanced Boyer-Moore String Matching Algorithm on Multicore GPU for Network Security
International Journal of Computer Applications, 2014
Graphics Processing Units (GPUs) were developed for graphics processing and it was not highly-parallel. But to overcome this problem developed General Purpose Computing on GPU, this is known as GPGPU.Boyer-Moore exact string matching algorithm are heavily used in the application of antivirus engines, DNA sequencing, text editors, intrusion detection etc. In this environment, the GPU was highly-parallel, multithreaded. In this Paper extend the GPU application into other area such as string matching problem. This paper shows the results on adapting the enhanced Boyer-Moore (EBM) string matching algorithm to run on GPU paradigm and comparison with serial version and multithreaded version on CPU.The experimental results demonstrate that GPU version of enhanced Boyer-Moore (EBM) string matching algorithm 10 times faster than CPU version and 9 times faster than the multithreaded version. It can be also see there that multithreaded version of EBM algorithm about 12% to 13% peak performance than serial version of EBM.Speedup of EBM algorithm is grow and 12x to 13x than serial one.
Generalized Parallelization of String Matching Algorithms on SIMD Architecture
String matching is a classical problem in computer science. Numerous algorithms are known to solve the string matching problem such as Brute Force algorithm, KMP, Boyer Moore, various improved versions of Boyer-Moore, Bit Parallel BNDM algorithm and various others algorithms for single pattern string matching, Aho-Corasick, multiple pattern bit parallel algorithm for multiple pattern string matching. The algorithms have mainly been designed to work on a single processor called as sequential algorithms. To make the algorithms more time efficient by utilizing the processor maximum, a parallel approach the generalized text division concept of parallelization for string matching has been introduced. The parallelized approach is conceived by dividing the text and different parts of the text are worked simultaneously upon the same string matching algorithm to match the patterns. The concept is applicable to any of exact single and multiple pattern string matching algorithms. The notion of text dividing achieves parallelization on a SIMD parallel architecture. As different parts of the text are processed in parallel, special attention is required at the connection or division points for consistent and complete searching. This concept makes all string matching algorithms more time efficient in compare to the sequential algorithm. This paper presents how different string matching algorithms are implemented using the parallelization concept on different SIMD architectures like multithreaded on multi-core and GPUs. There performance comparison also shown in this paper. https://sites.google.com/site/ijcsis/
Parallel Rabin-Karp Algorithm for String Matching using GPU
2019
String matching algorithms play an important role in many aspects. In this paper, a new method is proposed for parallel execution of Rabin-Karp string matching algorithm. In the proposed method, all patterns are divided into different groups. This categorization has been used to prevent redundant comparisons and accelerate the matching process. This procedure takes two advantages: a reduction in the number of comparisons of hash values and a decline in the number of pattern reading from global memory. It is recommended to implement the algorithm in various cases on NVIDIA GPUs using CUDA Platform to demonstrate the efficiency of the proposed algorithm. Experimental results depict that the execution time of the algorithm has decreased significantly. In the best case, the proposed method is approximately 27 times faster than the series mode. Keywords-String Matching Algorithm; Rabin-Karp Algorithm; GPU; Categorization
GPU Accelerated Pattern Matching Algorithm for DNA Sequences to Detect Cancer using CUDA
2013
The objective of string matching algorithm is to locate the appearance of a specific pattern in an array of equal or larger size text. String matching algorithms has been used in many applications such as DNA analysis. This report introduces an accelerated approach of string matching algorithm to detect the occurrence of several gene patterns in the human DNA sequence and verify whether the person has chances of getting cancer or not. DNA is a large database, an efficient algorithms is required to carry out the cancer diagnosis. This can be accomplished by parallelization technique on GPU using CUDA programming model.