Publication | Closed Access
Performance Gaps between OpenMP and OpenCL for Multi-core CPUs
59
Citations
15
References
2012
Year
Unknown Venue
Cluster ComputingEngineeringPerformance GapsComputer ArchitectureSoftware EngineeringRodinia Benchmark SuiteParallel SoftwareParallel ComputingCompilersManycore ProcessorComputer EngineeringComputer ScienceProgram AnalysisParallel Performance EvaluationMany-core ArchitectureParallel ProgrammingOpencl ImplementationsSystem SoftwareEquivalent OpenmpOpenmp
OpenCL and OpenMP are the most commonly used programming models for multi-core processors. They are also fundamentally different in their approach to parallelization. In this paper, we focus on comparing the performance of OpenCL and OpenMP. We select three applications from the Rodinia benchmark suite (which provides equivalent OpenMP and OpenCL implementations), and carry out experiments with different datasets on three multi-core platforms. We see that the incorrect usage of the multi-core CPUs, the inherent OpenCL fine-grained parallelism, and the immature OpenCL compilers are the main reasons that lead to the OpenCL poorer performance. After tuning the OpenCL versions to be more CPU-friendly, we show that OpenCL either outperforms or achieves similar performance in more than 80% of the cases. Therefore, we believe that OpenCL is a good alternative for multi-core CPU programming.
| Year | Citations | |
|---|---|---|
Page 1
Page 1