Opencl kernel vectorization on the cpu, GPU, and FPGA: A case study with frequent pattern compression

Zheming Jin, Hal Finkel

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

OpenCL promotes code portability, and natively supports vectorized data types, which allows developers to potentially take advantage of the single-instruction-multiple-data instructions on CPUs, GPUs, and FPGAs. FPGAs are becoming a promising heterogeneous computing component. In our study, we choose a kernel used in frequent pattern compression as a case study of OpenCL kernel vectorizations on the three computing platforms. We describe different pattern matching approaches for the kernel, and manually vectorize the OpenCL kernel by a factor ranging from 2 to 16. We evaluate the kernel on an Intel Xeon 16-core CPU, an NVIDIA P100 GPU, and a Nallatech 385A FPGA card featuring an Intel Arria 10 GX1150 FPGA. Compared to the optimized kernel that is not vectorized, our vectorization can improve the kernel performance by a factor of 16 on the FPGA. The performance improvement ranges from 1 to 11.4 on the CPU, and from 1.02 to 9.3 on the GPU. The effectiveness of kernel vectorization depends on the work-group size.

Original languageEnglish
Title of host publicationProceedings - 27th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages330
Number of pages1
ISBN (Electronic)9781728111315
DOIs
StatePublished - Apr 2019
Externally publishedYes
Event27th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019 - San Diego, United States
Duration: Apr 28 2019May 1 2019

Publication series

NameProceedings - 27th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019

Conference

Conference27th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019
Country/TerritoryUnited States
CitySan Diego
Period04/28/1905/1/19

Funding

The research was supported by the U.S. Department of Energy, Office of Science, under contract DE-AC02-06CH11357 and made use of the Argonne Leadership Computing Facility, a DOE Office of Science User Facility XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE

FundersFunder number
U.S. Department of Energy
Office of ScienceDE-AC02-06CH11357

    Keywords

    • FPGA
    • OpenCL
    • Vectorization

    Fingerprint

    Dive into the research topics of 'Opencl kernel vectorization on the cpu, GPU, and FPGA: A case study with frequent pattern compression'. Together they form a unique fingerprint.

    Cite this