You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: "Out of host memory" on Nvidia ICD #196
Host memory grows to 6-ish gigabytes when running this by hand and then keels over. If run with --sw, this fails as before, but it succeeds upon resuming when rerun. I suspect there's a memory leak here somewhere.
It looks like Nvidia CL on bock does not like creating multiple CL contexts with SVM allocations. The following program quickly fills up the GPU's memory on Nvidia CL, but not with pocl-cuda or pocl-pthreads:
importpyopenclasclimporttimefrompyopencl.toolsimportSVMAllocator, ImmediateAllocatorwhileTrue:
ctx=cl.create_some_context() # putting this before the loop is finequeue=cl.CommandQueue(ctx)
allocator=SVMAllocator(queue.context, queue=queue)
# allocator = ImmediateAllocator(queue) # using normal allocations is finex=allocator(2*1024*1024*1024)
# x.release()x.enqueue_release()
queue.finish()
delqueuedelctx# every iteration of this loop increases memory usage on the GPU by ~300 MByte (with Nvidia CL + SVM allocs)time.sleep(2)
Thanks for digging into this! That's helpful as an observation. I'll look at a CL call trace to see if that looks OK, and if so... not sure that we can do much?
I'm not sure I like this solution, but I don't see an alternative: Could you do a PR to turn off use of SVM on Nvidia CL, with a pointer to this issue?
Activity
matthiasdiener commentedon Sep 21, 2022
I can reproduce it on
bock(which has a Titan V), but interestingly, the tests run fine onkoelschwith a K40.This code is helpful when debugging this:
matthiasdiener commentedon Sep 21, 2022
It looks like Nvidia CL on
bockdoes not like creating multiple CL contexts with SVM allocations. The following program quickly fills up the GPU's memory on Nvidia CL, but not with pocl-cuda or pocl-pthreads:inducer commentedon Sep 22, 2022
Thanks for digging into this! That's helpful as an observation. I'll look at a CL call trace to see if that looks OK, and if so... not sure that we can do much?
inducer commentedon Sep 26, 2022
I'm not sure I like this solution, but I don't see an alternative: Could you do a PR to turn off use of SVM on Nvidia CL, with a pointer to this issue?
I've put together https://gitlab.tiker.net/inducer/arraycontext/-/merge_requests/6 to make sure we maintain at least some coverage of the SVM code paths.