Re: Multiple OpenCL contexts
Posted by shaman on May 31, 2016; 1:57pm
URL: https://forum.jogamp.org/Multiple-OpenCL-contexts-tp4036753p4036766.html
This is getting weirder and weirder.
The following is the output when I run it only with 4 contexts on the cpu
Platform Name: Intel(R) OpenCL
Device Name: Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
Device Name: Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
Device Name: Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
Device Name: Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
CL context created
0: update
Unable to create OpenCL context
com.jogamp.opencl.CLException$CLInvalidOperationException: can not create CL context [error: CL_INVALID_OPERATION]
at com.jogamp.opencl.CLException.checkForError(CLException.java:73)
at com.jogamp.opencl.CLContext.createContext(CLContext.java:227)
at com.jogamp.opencl.gl.CLGLContext.create(CLGLContext.java:129)
at MultiContextTest.createCLContext(MultiContextTest.java:116)
at MultiContextTest.init(MultiContextTest.java:279)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:644)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:667)
at com.jogamp.opengl.awt.GLCanvas$10.run(GLCanvas.java:1407)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1291)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
CL context created
2: update
Unable to create OpenCL context
com.jogamp.opencl.CLException$CLInvalidOperationException: can not create CL context [error: CL_INVALID_OPERATION]
at com.jogamp.opencl.CLException.checkForError(CLException.java:73)
at com.jogamp.opencl.CLContext.createContext(CLContext.java:227)
at com.jogamp.opencl.gl.CLGLContext.create(CLGLContext.java:129)
at MultiContextTest.createCLContext(MultiContextTest.java:116)
at MultiContextTest.init(MultiContextTest.java:279)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:644)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:667)
at com.jogamp.opengl.awt.GLCanvas$10.run(GLCanvas.java:1407)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1291)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
0: update
2: update
0: update
2: update
0: update
2: update
0: update
2: update
0: update
2: update
0: update
2: update
0: update
I definitively have to investigate this more. Might it be a synchronization error?