ABSTRACT
In this paper, we present a novel approach of using the integrated GPU to accelerate conventional operations that are normally performed by the CPUs, the bulk memory operations, such as memcpy or memset. Offloading the bulk memory operations to the GPU has many advantages, i) the throughput driven GPU outperforms the CPU on the bulk memory operations; ii) for on-die GPU with unified cache between the GPU and the CPU, the GPU private caches can be leveraged by the CPU for storing moved data and reducing the CPU cache bottleneck; iii) with additional lightweight hardware, asynchronous offload can be supported as well; and iv) different from the prior arts using dedicated hardware copy engines (e.g., DMA), our approach leverages the exiting GPU hardware resources as much as possible. The performance results based on our solution showed that offloaded bulk memory operations outperform CPU up to 4.3 times in micro benchmarks while still using less resources. Using eight real world applications and a cycle based full system simulation environment, the results showed 30% speedup for five, more than 20% speedup for two of the eight applications.
- Fes2: A full-system execution-driven simulator for x86. http://fes2.cs.uiuc.edu/index.html, 2007.Google Scholar
- Magnusson, P., Christensson, M., Eskilson, J., Forsgren, D., Hallberg, G., Hogberg, J., Larsson, F., Moestedt, A., and Werner, B. Simics: A full system simulation platform. Computer 35, 2 (Feb 2002), 50--58. Google ScholarDigital Library
- Meng, J., and Skadron, K. Avoiding cache thrashing due to private data placement in last-level cache for manycore scaling. In Proceedings of the 2009 IEEE international conference on Computer design (Piscataway, NJ, USA, 2009), ICCD'09, IEEE Press, pp. 282--288. Google ScholarDigital Library
Index Terms
- Acceleration of bulk memory operations in a heterogeneous multicore architecture
Recommendations
Accelerated bulk memory operations on heterogeneous multi-core systems
A traditional fixed-function graphics accelerator has evolved into a programmable general-purpose graphics processing unit over the past few years, the general-purpose computing on GPU (GPGPU). Recently, revolutionary measures have been taken along this ...
Improving performance of GPU code using novel features of the NVIDIA kepler architecture
Graphics processing unit GPU computing is a popular approach to simulating complex models and performing massive calculations. GPUs have attracted a great deal of interest because they offer both high performance and energy efficiency. Efficient General-...
Heterogeneous acceleration of volumetric JPEG 2000 using OpenCL
This paper discusses an OpenCL version of a volumetric JPEG 2000 codec that runs on GPUs, multi-core processors or a combination of both. Since the performance critical part consists of a fine-grained discrete wavelet transform and coarse-grained ...
Comments