Andreas Klöckner
Andreas Klöckner
[Here](https://gitlab.tiker.net/inducer/pyopencl/merge_requests/44/diffs?diff_id=3989&start_sha=a9e8cc89f40c421490c58876e3a488dd091e1fd5#283fc250a024a7ac622351c07c642c30c8112ea5) are the relevant changes for PyOpenCL.
Could you try and delete the compiler caches and report back on whether that fixes things? (`$HOME/.cache/pytools/pdict-v2-pyopencl-*`) It may just be that you have some old binaries from pre-Mojave sitting...
@isuruf Thanks for investigating. Setting the environment variable `PYOPENCL_NO_CACHE=1` should disable binary caching and might help work around this problem. Does Apple not have quality control?
Could you compile PyCUDA with API tracing and rerun this to figure out what happens?
> How do I do that? Set `CUDA_TRACE = True` in `siteconf.py`. Both the pool and the blocks should keep the context alive, but apparently it can't be switched to...
Can you find a (C++) backtrace of (a) what triggers that `cuCtxPopCurrent` and (b) the `explicit_context_dependent` invocation that actually triggers the error? FWIW, that error occurs when a new `explicit_context_dependent`...
I kind agree with the error message here: after privatization, `out` will have shed its subscript, and so there's no possibility of retrieving it within a different loop. What would...
> I think what should have happened here is that loopy should have realized that `{[i0]: 0
Ah, nvm. I had that backwards. You're right. But I'm still not sure privatization applies in this case: The iname already indexes the variable in question. Privatization would try to...
:facepalm: Somehow I was staring at `out` the whole time. Sorry. Would it be ok if the privatization of `tmp` within `i` and `j` went into separate variables?