I have a Java/Scala application where several threads map and unmap (disjunct) OpenCL buffers at the same time. With OpenJDK and the Intel OpenCL implementation for CPUs it sometimes crashes on Linux (did not test on Windows). The following jar replicates that:
If executed as 'java -cp intel.fail-all.jar OpenCL' it crashes nearly always. The problem goes away when I use another OpenCL implementation (tested Intel/AMD/Nvidia GPU and AMD CPU) or another JVM (tested IBM J9).
Sorry for the delayed reply. For now just want you to know we have received your bug report and are
starting to investigate. A few clarifications could help speed up the investigation:
Which Linux are you using?
What processor are you running on?
Which package of Intel OpenCL is installed?
Also, IBM JVM v9 is still in beta. Is it mission critical for you to have v9 or could you move
forward with another JVM such as v8?
This is very much non critical for me, as I only intended to use CPU OpenCL for a rough baseline (against GPUs) and ended up using the AMD implementation instead.
I tested this on a recent Fedora and Debian Linux, using a Sandy Bridge and an Ivy Bridge CPU.
I tested this on two Java jres, the IBM one was working flawlessly, I encountered crashes with the OpenJDK 8 jre.