Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable disk caching support for OpenCL kernel binaries #2970

Merged
merged 3 commits into from
Jul 15, 2020

Conversation

9prady9
Copy link
Member

@9prady9 9prady9 commented Jul 9, 2020

Description

Fixes: #2857

Changes to Users

OpenCL kernel binaries are loaded from disk if available instead compiling from scratch on initialization of the library. In the tests with nvidia opencl implementation, observed a speedup of 2x loading vs compile time.

Checklist

  • Rebased on latest master
  • Code compiles
  • Tests pass
  • [ ] Functions added to unified API
  • [ ] Functions documented

@9prady9 9prady9 added this to the 3.8.0 milestone Jul 9, 2020
@9prady9 9prady9 requested a review from umar456 July 9, 2020 20:53
@9prady9 9prady9 marked this pull request as ready for review July 10, 2020 11:28
src/backend/opencl/compile_module.cpp Show resolved Hide resolved
src/backend/opencl/compile_module.cpp Show resolved Hide resolved
@9prady9 9prady9 requested a review from umar456 July 11, 2020 17:50
@9prady9 9prady9 dismissed umar456’s stale review July 11, 2020 17:50

Addressed feedback

src/backend/opencl/compile_module.cpp Outdated Show resolved Hide resolved
src/backend/opencl/compile_module.cpp Show resolved Hide resolved
src/backend/opencl/compile_module.cpp Show resolved Hide resolved
src/backend/cuda/compile_module.cpp Show resolved Hide resolved
@9prady9 9prady9 requested review from pavanky and umar456 July 14, 2020 16:52
@9prady9 9prady9 dismissed umar456’s stale review July 14, 2020 16:52

Addressed feedback

@9prady9 9prady9 merged commit 75e3c6c into arrayfire:master Jul 15, 2020
@9prady9 9prady9 deleted the ocl_kernel_bin_caching branch July 15, 2020 20:24
@9prady9 9prady9 modified the milestones: 3.8.0, 3.7.3 Aug 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a common API to cache CUDA/OpenCL kernels
3 participants