Abstract
In Natural Language Processing (NLP) applications, the main time-consuming process is string matching due to the large size of lexicon. In string matching processes, data dependence is minimal and hence it is ideal for parallelization. A dedicated system with memory interleaving and parallel processing techniques for string matching can reduce this burden of host CPU, thereby making the system more suitable for real-time applications. Now it is possible to apply parallelism using multi-cores on CPU, though they need to be used explicitly to achieve high performance. Recent GPUs hold a large number of cores, and have a potential for high performance in many general purpose applications. Programming tools for multi-cores on CPU and a large number of cores on GPU have been formulated, but it is still difficult to achieve high performance on these platforms. In this paper, we compare the performance of single-core, multi-core CPU and GPU using such a Natural Language Processing application.
Highlights
In recent times, CPU supports multi-cores each supports improved SIMD instruction sets
GPU for general purpose processes (GPGPU) is a combination between hardware components and software that allows the use of a traditional graphics processing units (GPU) to perform computing tasks that are extremely demanding in terms of processing power
It would take multiple CPUs to match the performance of a GPGPU system
Summary
CPU supports multi-cores each supports improved SIMD instruction sets. Recent GPU supports a large number of cores which run in parallel, and its peak performance outperforms CPU. In [1], comparison of performance on CPU, FPGA and GPU is done using some image processing applications. In [4], performance analysis of CPU and GPU is performed on some medical image volume rendering application. We compare the performance of GPU and CPU (single-core and multi-core). In many real-life applications in the areas such as syntactic pattern recognition, syntactic analysis of programming languages etc., the parser speed is an important factor. For many years, GPU is just used to accelerate some stages of the graphics rendering pipeline. Compared with CPU in their architectures, GPU is more suitable for stream computations; it can process data elements in parallel with SIMD & MIMD capability. In recent years it became a hot research topic, in computer graphics domain, and in other discipline areas
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have