Hello,
I'm installing the ati stream sdk on ubuntu 10.10 with native gpu driver. ati-stream-sdk + icd-regristration from http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx After running a first example I become an error as Exception in thread "main" com.jogamp.opencl.CLException$CLPlatformNotFoundKhrException: can not enumerate platforms [error: CL_PLATFORM_NOT_FOUND_KHR] What I make false. Thanks, Thomas |
Examples from ATI in C running well.
Edit: I think, its an error that occurs from jocl. I have an build-server release for linux-86_64. If I download the source code from mbiens or s... git repository. I can build gluegen and jogl. But with jocl I become a lot of build errors. :-( Example: Error log with sgothel repository [WARNING com.jogamp.gluegen.JavaEmitter]: skipping emission of unnamed struct "struct _cl_mem" [WARNING com.jogamp.gluegen.JavaEmitter]: skipping emission of unnamed struct "struct _cl_mem" [WARNING com.jogamp.gluegen.JavaEmitter]: skipping emission of unnamed struct "struct _cl_command_queue" [WARNING com.jogamp.gluegen.JavaEmitter]: skipping emission of unnamed struct "struct _cl_command_queue" [WARNING com.jogamp.gluegen.JavaEmitter]: skipping emission of unnamed struct "struct _cl_command_queue" [WARNING com.jogamp.gluegen.CMethodBindingEmitter]: No capacity specified for java.nio.Buffer return value for function "dispatch_clGetExtensionFunctionAddressImpl" assuming size of equivalent C return type (sizeof(void *)): java.nio.ByteBuffer dispatch_clGetExtensionFunctionAddressImpl(java.lang.String func_name) - - - JOCL binding files generated - - - Compiling 48 source files to /home/siassei/Projects/Private/jogamp/jocl/build/classes /home/siassei/Projects/Private/jogamp/jocl/gensrc/java/com/jogamp/opencl/CL.java:726: nanf(java.nio.ByteBuffer) is already defined in com.jogamp.opencl.CL public float nanf(ByteBuffer arg0); /home/siassei/Projects/Private/jogamp/jocl/gensrc/java/com/jogamp/opencl/CL.java:729: nanf(byte[],int) is already defined in com.jogamp.opencl.CL public float nanf(byte[] arg0, int arg0_offset); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/InternalBufferUtil.java:5: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release import sun.misc.Unsafe; /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/InternalBufferUtil.java:14: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release private static Unsafe unsafe; /home/siassei/Projects/Private/jogamp/jocl/gensrc/java/com/jogamp/opencl/impl/CLAbstractImpl.java:1714: nanf(java.nio.ByteBuffer) is already defined in com.jogamp.opencl.impl.CLAbstractImpl public float nanf(ByteBuffer arg0) { /home/siassei/Projects/Private/jogamp/jocl/gensrc/java/com/jogamp/opencl/impl/CLAbstractImpl.java:1725: dispatch_nanf1(java.lang.Object,int,boolean,long) is already defined in com.jogamp.opencl.impl.CLAbstractImpl private native float dispatch_nanf1(Object arg0, int arg0_byte_offset, boolean arg0_is_direct, long procAddress); /home/siassei/Projects/Private/jogamp/jocl/gensrc/java/com/jogamp/opencl/impl/CLAbstractImpl.java:1728: nanf(byte[],int) is already defined in com.jogamp.opencl.impl.CLAbstractImpl public float nanf(byte[] arg0, int arg0_offset) { /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/CLBuffer.java:77: warning: [unchecked] unchecked cast found : java.nio.Buffer required: B slice = (B)Buffers.slice(buffer, offset, size); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/CLBuffer.java:118: warning: [unchecked] unchecked conversion found : java.util.List required: java.util.List<com.jogamp.opencl.CLSubBuffer<B>> return Collections.EMPTY_LIST; /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/InternalBufferUtil.java:20: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release Field[] fields = Unsafe.class.getDeclaredFields(); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/InternalBufferUtil.java:24: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release unsafe = (Unsafe)fields[i].get(Unsafe.class); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/InternalBufferUtil.java:24: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release unsafe = (Unsafe)fields[i].get(Unsafe.class); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/gl/CLGLContext.java:142: cannot find symbol symbol : method getNativeWindow() location: class com.jogamp.opengl.impl.GLDrawableImpl long displayHandle = ctxImpl.getDrawableImpl().getNativeWindow().getDisplayHandle(); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/gl/CLGLContext.java:152: cannot find symbol symbol : method getNativeWindow() location: class com.jogamp.opengl.impl.GLDrawableImpl long surfaceHandle = ctxImpl.getDrawableImpl().getNativeWindow().getSurfaceHandle(); /home/siassei/Projects/Private/jogamp/jocl/src/com/jogamp/opencl/gl/CLGLContext.java:172: cannot find symbol symbol : method getNativeWindow() location: class com.jogamp.opengl.impl.GLDrawableImpl long displayHandle = ctxImpl.getDrawableImpl().getNativeWindow().getDisplayHandle(); 8 errors 7 warnings /home/siassei/Projects/Private/jogamp/jocl/nbproject/build-impl.xml:442: The following error occurred while executing this line: /home/siassei/Projects/Private/jogamp/jocl/nbproject/build-impl.xml:228: Compile failed; see the compiler error output for details. BUILD FAILED (total time: 4 seconds) |
In reply to this post by Siassei
should work. We are testing on the same setup (and also on NV). a bit more information would be helpful. what example are you running? does the webstart CLInfo util work? -> http://jogamp.org/jocl-demos/www/ best regards, michael On 11/09/2010 11:52 PM, Siassei [via jogamp] wrote: Hello, -- http://michael-bien.com/ |
Hello Michael,
> what example are you running? The examples from the ati sdk (native files) ----------------------------------------------- My first opencl call in my programm is "CLPlatform.listCLPlatforms" and this throws to (use the jocl linux_x86_64 build from the build server) Exception in thread "main" com.jogamp.opencl.CLException$CLPlatformNotFoundKhrException: can not enumerate platforms [error: CL_PLATFORM_NOT_FOUND_KHR] at com.jogamp.opencl.CLException.checkForError(CLException.java:39) at com.jogamp.opencl.CLPlatform.listCLPlatforms(CLPlatform.java:166) at com.jogamp.opencl.CLPlatform.listCLPlatforms(CLPlatform.java:152) --------------------------------------------------------------------- If I want to build jocl by the source code from http://jogamp.org/jocl/doc/HowToBuild.html cd jogl ant jar // o.k. cd ../jocl ant jar // --> /home/siassei/Projects/Private/jogamp/jocl/nbproject/build-impl.xml:111: The J2SE Platform is not correctly set up. Your active platform is: default_platform, but the corresponding property "platforms.default_platform.home" is not found in the project's properties files. Either open the project in the IDE and setup the Platform with the same name or add it manually. For example like this: ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.default_platform.home" in a .properties file) or ant -Dplatforms.default_platform.home=<path_to_JDK_home> jar (where no properties file is used) BUILD FAILED (total time: 0 seconds) O.k I will set up the build.xml in Netbeans and than init: deps-jar: Created dir: /home/siassei/Projects/Private/jogamp/jocl/build Updating property file: /home/siassei/Projects/Private/jogamp/jocl/build/built-jar.properties Created dir: /home/siassei/Projects/Private/jogamp/jocl/build/classes gluegen.properties.load.user: Loaded /home/siassei/gluegen.properties. antlr.jar=../gluegen/make/lib/antlr.jar junit.jar=../gluegen/make/lib/junit.jar win32.c.compiler=${win32.c.compiler} prepare-build: Created dir: /home/siassei/Projects/Private/jogamp/jocl/etc/build Compiling 2 source files to /home/siassei/Projects/Private/jogamp/jocl/etc/build preprocess-headers: Created dir: /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL uncommenting params in /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL_orig/cl.h uncommenting params in /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL_orig/cl_gl.h Copying 1 file to /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL Copying 1 file to /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL Copying 1 file to /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL Copying 1 file to /home/siassei/Projects/Private/jogamp/jocl/resources/includes/CL /home/siassei/Projects/Private/jogamp/jocl/build.xml:29: taskdef class com.sun.gluegen.ant.GlueGenTask cannot be found using the classloader AntClassLoader[/home/siassei/Projects/Private/jogamp/gluegen/build/gluegen.jar:/home/siassei/Projects/Private/jogamp/gluegen/build/antlr.jar:/home/siassei/Projects/Private/jogamp/gluegen/make/lib/antlr.jar] BUILD FAILED (total time: 1 second) |
Nobody a idea?
Oh, micheal wrote: >does the webstart CLInfo util work? > -> http://jogamp.org/jocl-demos/www/ It does'nt work. With openjdk and sunJDK doesn't work. Error - Message: "I tried hard but I really can't initialize JOCL. Is OpenCL properly set up? com.jogamp.common.JogampRuntimeException: JOCL initialization error. at com.jogamp.opencl.CLPlatform.initialize(CLPlatform.java:111) at com.jogamp.opencl.demos.info.CLInfo.main(CLInfo.java:37) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:461) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:732) Caused by: com.jogamp.common.JogampRuntimeException: OpenCL library not found. at com.jogamp.opencl.CLPlatform$2.run(CLPlatform.java:97) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.opencl.CLPlatform.initialize(CLPlatform.java:92) ... 7 more |
Are you sure the opencl library is in the library path?
I also seem to recall at least one verison of jocl trying to open libOpenCL.so.1, but the ATI library is just called libOpenCL.so I just created a softlink for the name issue, ln -s libOpenCL.so.1 libOpenCL.so And setup LD_LIBRARY_PATH to point to the ATI sdk before running anything. |
regarding foo.so.1: right, must have been a older jocl build. Currently jocl will only try to load 'libOpenCL.so' on linux (as specified). I am not sure if any of the SDKs still uses the .1 notation, but maybe this might be the issue here. @Thomas it still fails if you call CLPlatform.listPlatforms()? regarding the build error: You will have to build gluegen + jogl first and make sure every project finds each other. see build step 1: Now you should have following directory structure:-> http://jogamp.org/jocl/doc/HowToBuild.html/home/dude/projects/jogamp /home/dude/projects/jogamp/gluegen /home/dude/projects/jogamp/jogl /home/dude/projects/jogamp/jocl it would be also nice to check if the webstart CLInfo demo is working, since it uses an older build: does the webstart CLInfo util work? sorry for the delay, michael On 11/16/2010 02:03 AM, notzed [via jogamp] wrote: Are you sure the opencl library is in the library path? -- http://michael-bien.com/ |
Free forum by Nabble | Edit this page |