pyopencl icon indicating copy to clipboard operation
pyopencl copied to clipboard

Disable build caching when using pocl

Open majosm opened this issue 1 year ago • 6 comments

Fixes #731.

majosm avatar Apr 23 '24 18:04 majosm

I gave this a quick spin (with the example in https://github.com/inducer/pyopencl/issues/731#issuecomment-2071157745) and didn't notice any negative perfomance impact on the second run, as long as the downstream package (i.e., pocl, nvidia cl) has caching enabled. I tried pocl-cpu, pocl-cuda, nvidia cl, all on Linux (porter). Perhaps we could skip binary caching for all CL implementations?

matthiasdiener avatar Apr 23 '24 19:04 matthiasdiener

Perhaps we could skip binary caching for all CL implementations?

That's a broad set to generalize over. :slightly_smiling_face: If they all have source -> executable caches, then sure, that'd probably be better. Nvidia has a such a cache, I think. Do you know about AMD and Intel?

inducer avatar Apr 23 '24 19:04 inducer

@inducer I'm seeing an intermittent failure in the boxtree CI (here's a failing run and a successful run for the same code). Is this something to be concerned about?

majosm avatar Apr 24 '24 19:04 majosm

Is this something to be concerned about?

Kind of, yeah. Can you reproduce it locally?

inducer avatar Apr 24 '24 19:04 inducer

Maybe it has something to do with tests being run in parallel? How good is pocl about locking its cache?

inducer avatar Apr 24 '24 19:04 inducer

Perhaps we could skip binary caching for all CL implementations?

That's a broad set to generalize over. 🙂 If they all have source -> executable caches, then sure, that'd probably be better. Nvidia has a such a cache, I think. Do you know about AMD and Intel?

It turns out that AMD rocm does not appear to cache built kernels :-( (tested with rocm 5.7.1 and 6.0.3 on tioga).

matthiasdiener avatar May 01 '24 22:05 matthiasdiener

This has been merged as part of #749.

matthiasdiener avatar May 30 '24 16:05 matthiasdiener