arXiv (Cornell University) · 2010 · 169 citations · 4 references
ComputingComputer ScienceHigh-performance ComputingCompilersParallel ComputingScientific ComputingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsHardware AccelerationKernel DesignKernel ProgrammingCuda ProgrammingGpu Programming ModelsGpu Runtime SystemsKernel OptimizationMonte Carlo AnalysisOpencl ProgrammingQuantum Monte Carlo AlgorithmsScientific Computing On Gpus
CUDA and OpenCL are two different frameworks for GPU programming. OpenCL is an open standard that can be used to program CPUs, GPUs, and other devices from different vendors, while CUDA is specific to NVIDIA GPUs. Although OpenCL promises a portable language for GPU programming, its generality may entail a performance penalty. In this paper, we use complex, near-identical kernels from a Quantum Monte Carlo application to compare the performance of CUDA and OpenCL. We show that when using NVIDIA compiler tools, converting a CUDA kernel to an OpenCL kernel involves minimal modifications. Making such a kernel compile with ATI's build tools involves more modifications. Our performance tests measure and compare data transfer times to and from the GPU, kernel execution times, and end-to-end application execution times for both CUDA and OpenCL.
4
Makoto Matsumoto, Takuji Nishimura · ACM Transactions on Modeling and Computer Simulation · 1998 · 5.7K citations
The Scalable Heterogeneous Computing (SHOC) benchmark suite
Anthony Danalis, Gabriel Marin, Collin McCurdy et al. · 2010 · 668 citations
Kamran Karimi, Neil G. Dickson, Firas Hamze · The International Journal of High Performance Computing Applications · 2010 · 18 citations · Full text