[i5-3230] Tight pyopencl.clmath loops cause out-of-memory system hang
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
beignet (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
mesa (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
pyopencl (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
In beignet (not pocl), tight loops involving OpenCL array creation and destruction, eg. repeated bCL=aCL+bCL (or other pyopencl.clmath operations) or repeated pyopencl.
As waiting for queued operations to finish (pyopencl.
(Note that while the above wait() can be used as a workaround for this bug, it is usually faster to avoid frequent memory allocation altogether, by reusing existing arrays; for pyopencl.clmath, this means using pyopencl.
description: | updated |
Further testing found this to occur only after many clmath operations, with the number required being fairly but not exactly repeatable, more for smaller arrays, and being reset by exiting and restarting Python but not by gc.collect(); this suggests a memory leak, so the problem could be in either pyopencl or beignet. Upstream (2014.1) pyopencl is also affected.
Sometimes a brief hang is followed by a crash with the message beignet- 0.9.3git/ src/intel/ intel_gpgpu. c:567: intel_gpgpu_ check_binded_ buf_address: Assertion `gpgpu- >binded_ buf[i]- >offset != 0' failed.
python: /tmp/buildd/
but more often it is an indefinite hang with no message.