<div class="gmail_quote"><br>Hi Pol,<div><br></div><div>  I am thinking that the material under <a href="http://www.imagejdev.org/OpenCL" target="_blank">http://www.imagejdev.org/OpenCL</a> was not going to be as useful for you as a getting started tutorial.  I have removed the publication related material from our website.  I created a <a href="https://docs.google.com/document/d/12aiL7urwcve7Mi-YyuOtAVlTZ5P6outcay75YiQlqyQ/edit?hl=en" target="_blank">Getting Started with OpenCL in ImageJ Tutorial</a> with the goal of helping ImageJ users get started quickly with OpenCL. </div>

<div><br></div><div> Back to your issues, for the research publication I compiled the jogamp files.  For your application, I do not think you need to do this.  The compilation steps listed were specific to Ubuntu 9.10 and NVidia 3.1.  If I am understanding your ImageJ need correctly, I think you are looking to run a few Java examples that help you get into writing OpenCL plugins for ImageJ.  I hope the attached draft copy of the tutorial will help you get there quickly.</div>

<div><br></div><div> Please let me know if you any troubles with the tutorial - and have any feedback regarding the tutorial.</div><div><br></div><div>Best Regards,</div><div><br></div><div>Rick Lentz<div><div></div><div class="h5">
<br><div class="gmail_quote">
<br>Hi Pol,<div><br></div><div>  Can you do a fresh pull from our repository - You should not have to build these unless you really want to.</div><div><br></div><div>  You can download the needed components directly from:</div>


<div>  <a href="http://jogamp.org/deployment/webstart/" target="_blank">http://jogamp.org/deployment/webstart/</a><br><br></div><div>  I have also updated the ImageJ plugin demo source to include the most recent Jogamp OpenCL binaries and native libs.</div>


<div><br></div><div>Sincerely,</div><div><br><font color="#888888">Rick</font><div><div></div><div><br><div class="gmail_quote">On Thu, Jan 13, 2011 at 9:55 AM, Pol kennel <span dir="ltr">&lt;<a href="mailto:pol.kennel@gmail.com" target="_blank">pol.kennel@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In fact my <b>jocl</b> building also crash during Junit tests, with error stacks like :<div><br><div><div><div>[junit] Testcase: createContextTest(com.jogamp.opencl.gl.CLGLTest):<span style="white-space:pre-wrap">        </span>Caused an ERROR</div>



<div>    [junit] test timed out after 5000 milliseconds</div><div>    [junit] java.lang.Exception: test timed out after 5000 milliseconds</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at java.lang.Object.wait(Native Method)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at java.lang.Object.wait(Object.java:485)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at com.jogamp.opengl.impl.SharedResourceRunner.doAndWait(SharedResourceRunner.java:152)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at com.jogamp.opengl.impl.SharedResourceRunner.getOrCreateShared(SharedResourceRunner.java:100)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at com.jogamp.opengl.impl.x11.glx.X11GLXDrawableFactory.getOrCreateSharedContextImpl(X11GLXDrawableFactory.java:253)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLDrawableFactory.getOrCreateSharedContext(GLDrawableFactory.java:275)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLDrawableFactory.getIsSharedContextAvailable(GLDrawableFactory.java:250)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLProfile.initProfilesForDeviceImpl(GLProfile.java:1251)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1224)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1192)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLProfile.access$000(GLProfile.java:66)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLProfile$1.run(GLProfile.java:112)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at java.security.AccessController.doPrivileged(Native Method)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:110)</div><div>    [junit] <span style="white-space:pre-wrap">        </span>at com.jogamp.opencl.gl.CLGLTest.init(CLGLTest.java:70)</div>



<div>    [junit] <span style="white-space:pre-wrap">        </span>at com.jogamp.opencl.gl.CLGLTest.createContextTest(CLGLTest.java:102)</div><div><br></div><div>So there is another problem I don t identify...</div>
<div><br></div><div class="gmail_quote">2011/1/13 Pol kennel <span dir="ltr">&lt;<a href="mailto:pol.kennel@gmail.com" target="_blank">pol.kennel@gmail.com</a>&gt;</span><div><div></div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Hi Rick,<div><br></div><div>Thank a lot for your detailed answers an to pay attention to my problems !</div><div><br></div><div>I finally resolved my problem with the OpenGL lib with your previous mail : a link was not set correctly to the libGL.so file. I now have the same output with <i>ldd /usr/lib/libGL.so </i>command. So I build correctly C and OpenCL project, demos work well.</div>




<div><br></div><div>I also build correctly <b>gluegen</b>, <b>jogl</b>, <b>jocl</b> and <b>jocl-demos</b> projects (note that lines &quot;git clone <a href="http://github.com/sgothel/gluegen.git" target="_blank">http://github.com/sgothel/gluegen.git</a> gluegen&quot; and &quot;git clone <a href="http://github.com/sgothel/jogl-demos.git" target="_blank">http://github.com/sgothel/jogl-demos.git</a> jogl-demos&quot; are missing on the <a href="http://www.imagejdev.org/setting-jocl-jogl-and-gluegen" target="_blank">http://www.imagejdev.org/setting-jocl-jogl-and-gluegen</a> page of your tutorial).</div>




<div><br></div><div>However, I stoped in building <b>joal</b> and <b>jogl-demos. </b>You probably omit to precise the building of the <b>joal </b>project (but it could be intended ?) ; when building <b>joal</b> with <b>ant</b> in the <b>/joal/make/</b> directory I get an error :</div>




<div>&quot;<i>/home/pol/joal/make/build.xml:369: taskdef class com.sun.gluegen.ant.GlueGenTask cannot be found</i></div><div><i> using the classloader AntClassLoader[/home/pol/gluegen/build/gluegen.jar:/home/pol/gluegen/build/antlr.jar:/home/pol/gluegen/make/lib/antlr.jar]</i>&quot;</div>




<div>(gluegen.jar and antlr.jar still in the right directory, is there classpath to set for gluegen ?). In the <b>joal</b> readme file, I found that OpenAL lib are need, so i downloaded  libopenal-dev/openal1 packets from synaptic, and follow instructions saying to copy gluegen.properties and joal.properties and jogl.properties into home directory but don&#39;t know how to set correctly properties into this files.</div>




<div><b>joal</b> building stills crash.</div><div><br></div><div>Regarding to <b>jogl-demos </b>when<b> </b>building with<b> ant </b>in <b>~/jogl-demos/make/</b>  i get 27 errors like :  </div>
<div>[javac] Compiling 169 source files to /home/pol/jogl-demos/build/classes</div><div>[javac] /home/pol/jogl-demos/src/demos/applets/GearsJOALApplet.java:11: package com.jogamp.openal.util does not exist</div><div>[javac] import com.jogamp.openal.util.ALut;&quot;</div>




<div>[...]</div><div>I suppose it s due to joal, OpenAL again....</div><div><br></div><div>(How) Did you install it ?</div><div><br></div><div><br></div><div>On the other side, i have update the decon project from svn.</div>




<div>When running <b>SobelFilterExample.java </b>i get :</div><div><br></div><div><div><i>Retrieving test image...  </i></div><div><i>Starting iteration... 0</i></div><div><i>Local work size dimensions are max array size of</i></div>




<div><i>unavailable functions: [clCreateEventFromGLsyncKHR, clIcdGetPlatformIDsKHR]</i></div><div><i>Discovered NVIDIA CUDA</i></div><div><i>com.jogamp.opencl.CLException$CLInvalidBinaryException: </i></div><div><i>CLDevice [id: 140626625730048 name: GeForce GTS 240 type: GPU profile: FULL_PROFILE] build log:</i></div>




<div><i>ptxas application ptx input, line 104; error   : Instruction &#39;cvt&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div><div><i>ptxas application ptx input, line 105; error   : Instruction &#39;cvt&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div>




<div><i>ptxas application ptx input, line 106; error   : Instruction &#39;mul&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div><div><i>ptxas application ptx input, line 107; error   : Instruction &#39;mul&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div>




<div><i>ptxas application ptx input, line 108; error   : Instruction &#39;add&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div><div><i>ptxas application ptx input, line 109; error   : Instruction &#39;sqrt&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div>




<div><i>ptxas application ptx input, line 110; error   : Instruction &#39;cvt&#39; requires SM 1.3 or higher, or map_f64_to_f32 directive</i></div><div><i>ptxas fatal   : Ptx assembly aborted due to errors</i></div><div>



<i>error   : Ptx compilation failed: gpu=&#39;sm_11&#39;, device code=&#39;cuModuleLoadDataEx_4&#39;</i></div>
<div><i>: Considering profile &#39;compute_11&#39; for gpu=&#39;sm_11&#39; in &#39;cuModuleLoadDataEx_4&#39;</i></div><div><i>: Retrieving binary for &#39;cuModuleLoadDataEx_4&#39;, for gpu=&#39;sm_11&#39;, usage mode=&#39;  &#39;</i></div>




<div><i>: Considering profile &#39;compute_11&#39; for gpu=&#39;sm_11&#39; in &#39;cuModuleLoadDataEx_4&#39;</i></div><div><i>: Control flags for &#39;cuModuleLoadDataEx_4&#39; disable search path</i></div><div><i>: Ptx binary found for &#39;cuModuleLoadDataEx_4&#39;, architecture=&#39;compute_11&#39;</i></div>




<div><i>: Ptx compilation for &#39;cuModuleLoadDataEx_4&#39;, for gpu=&#39;sm_11&#39;, ocg options=&#39;  &#39;</i></div><div><i>ptxas application ptx input, line 104; warning : Double is not supported. Demoting to float</i></div>




<div><i>error: CL_INVALID_BINARY (man page: <a href="http://www.khronos.org/opencl/sdk/1.1/docs/man/xhtml/errors.html" target="_blank">http://www.khronos.org/opencl/sdk/1.1/docs/man/xhtml/errors.html</a>)</i></div><div><i><span style="white-space:pre-wrap">        </span>at com.jogamp.opencl.CLException.newException(CLException.java:49)</i></div>




<div><i><span style="white-space:pre-wrap">        </span>at com.jogamp.opencl.CLProgram.build(CLProgram.java:335)</i></div><div><i><span style="white-space:pre-wrap">        </span>at com.jogamp.opencl.CLProgram.build(CLProgram.java:174)</i></div>




<div><i><span style="white-space:pre-wrap">        </span>at publication.SobelFilterExample.&lt;init&gt;(SobelFilterExample.java:66)</i></div><div><i><span style="white-space:pre-wrap">        </span>at publication.SobelFilterExample.runTest(SobelFilterExample.java:204)</i></div>




<div><i><span style="white-space:pre-wrap">        </span>at publication.SobelFilterExample.main(SobelFilterExample.java:155)</i></div></div><div><br></div><div>So I suppose it s due to miss installation of JOAL.</div>
<div><br></div><div><br></div><div>I&#39;ll be so thankful if you can get me out of this deadlock.... I can already see the light far away :)</div><div><br></div><div>Best regards,</div><div><p class="MsoNormal"><br></p>



<p class="MsoNormal">
Pol</p><p class="MsoNormal"><br></p></div><div><br></div><div>PS : I&#39;m often connected on google chat so if you prefer answer me online please let me know you gmail address.</div><div>
<br></div><div><br></div><br><div class="gmail_quote">2011/1/12 Rick Lentz <span dir="ltr">&lt;<a href="mailto:rwlentz@wisc.edu" target="_blank">rwlentz@wisc.edu</a>&gt;</span><div><div></div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




Hi Pol,<div><br></div><div>  Regarding your first question it is likely that the linker is missing a reference to OpenGL.  My instructions were for a prior major release of Ubuntu as well as a prior minor release of NVidia&#39;s CUDA SDK.  I have updated the setup instructions to reflect the current versions as well as tested against 64bit Mac and Linux OSs.</div>





<div><br></div><div>  With regard to your specific problem, many of NVidia&#39;s examples include use of OpenGL.  NVidia&#39;s documentation indicates that libgl.so is referenced via static link to appear to be located in /usr/lib/libgl.so (per <a href="http://developer.download.nvidia.com/compute/cuda/3_2_prod/drivers/docs/README_Linux.txt" target="_blank">http://developer.download.nvidia.com/compute/cuda/3_2_prod/drivers/docs/README_Linux.txt</a> under Chapter 5, Listing of Installed Components, 4th bullet).  Chapter 5 of NVidia&#39;s documentation goes on to describe the linking process that happens when installing the developer drivers.  Perhaps this linking did not happen when you installed the NVidia development drivers for Linux.  Did you get an error during installation of the developer drivers reporting something in this regard?  Chapter 5 concludes on how to check a Linux dynamic library using the command line tool ldd.  In this case, ldd /usr/lib/libGL.so  <div>






<br></div><div>Here is the output I get when running ldd /usr/lib/libGL.so</div><div><br></div><div>ldd /usr/lib/libGL.so</div><div><span style="white-space:pre-wrap">        </span>linux-vdso.so.1 =&gt;  (0x00007ffff33e6000)</div>






<div><span style="white-space:pre-wrap">        </span>libnvidia-tls.so.260.19.14 =&gt; /usr/lib/tls/libnvidia-tls.so.260.19.14 (0x00007fc82b46b000)</div><div><span style="white-space:pre-wrap">        </span>libnvidia-glcore.so.260.19.14 =&gt; /usr/lib/libnvidia-glcore.so.260.19.14 (0x00007fc82987f000)</div>






<div><span style="white-space:pre-wrap">        </span>libX11.so.6 =&gt; /usr/lib/libX11.so.6 (0x00007fc829549000)</div><div><span style="white-space:pre-wrap">        </span>libXext.so.6 =&gt; /usr/lib/libXext.so.6 (0x00007fc829337000)</div>






<div><span style="white-space:pre-wrap">        </span>libc.so.6 =&gt; /lib/libc.so.6 (0x00007fc828f93000)</div><div><span style="white-space:pre-wrap">        </span>libdl.so.2 =&gt; /lib/libdl.so.2 (0x00007fc828d8f000)</div>
<div><span style="white-space:pre-wrap">        </span>libm.so.6 =&gt; /lib/libm.so.6 (0x00007fc828b0c000)</div><div><span style="white-space:pre-wrap">        </span>libxcb.so.1 =&gt; /usr/lib/libxcb.so.1 (0x00007fc8288ef000)</div>
<div><span style="white-space:pre-wrap">        </span>/lib64/ld-linux-x86-64.so.2 (0x00007fc82b974000)</div><div><span style="white-space:pre-wrap">        </span>libXau.so.6 =&gt; /usr/lib/libXau.so.6 (0x00007fc8286eb000)</div>
<div><span style="white-space:pre-wrap">        </span>libXdmcp.so.6 =&gt; /usr/lib/libXdmcp.so.6 (0x00007fc8284e5000)</div><div><br></div><div><br></div><div>If the libGL.so file is present and linked property, you can double check for inclusion of libGL.so path by ensuring its path in your bash profile under the variable LD_LIBRARY_PATH.  NVidia asks for the installer to add these additions in the Linux install documents.  Here is the line in my .bashrc file that allows the linker to find libGL.so (specifically the &quot;:/usr/lib&quot; portion of this line):</div>






<div><br>export LD_LIBRARY_PATH=&quot;/usr/lib:/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/lib32:/usr/local/lib&quot;</div><div><br></div><div>I also had issues compiling the most recent version of NVidia&#39;s C samples.  I reflected a work around in the updated web documents (see the bottom of: <a href="http://www.imagejdev.org/setting-host-machine" target="_blank">http://www.imagejdev.org/setting-host-machine</a> ).</div>





<div><br></div><div>Please let me know if you have any more questions or difficulties with the ImageJ OpenCL plugin examples.</div><div><br></div><div>Sincerely,</div><div><br><font color="#888888">Rick Lentz</font></div>




<div><div></div><div><div><br>
</div><br><div class="gmail_quote">On Tue, Jan 11, 2011 at 4:20 AM, Pol kennel <span dir="ltr">&lt;<a href="mailto:pol.kennel@gmail.com" target="_blank">pol.kennel@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<div><br></div><div>I am a PhD student working on image segmentation by texture analysis with an application on remote sensing images (Montpellier, France). So i have to process very large images (e.g. 15000*8000). </div>







<div>All methods I developed are formed as plugin under ImageJ API that I really like, but not yet applicable on this sort of image.</div><div>Recently, I tough to use finally my graphic card (Nvidia GTS240) which I think will help me a lot in my process. So after several search on the web, I found <a href="http://imagejdev.org/plugins/opencl-plugin" target="_blank">this</a> (OpenCL plugin you wrote) great ! it&#39;s precisely what i need.</div>







<div><br></div><div>So I decided to follow your tutorial to setup the environment but met some problems... :</div><div><ol><li>When launching makefile in &quot;~/NVIDIA_GPU_Computing_SDK/C/ &quot; and &quot;~/NVIDIA_GPU_Computing_SDK/OpenCL&quot; I had following error &quot;/usr/bin/ld: cannot find -lGL&quot;. Plus, I dont have the same demo files, maybe because of version ? (cudatoolkit_3.2.16_linux_64, gpucomputingsdk_3.2.16 and devdriver_3.2_linux_64_260.19.26 on Ubuntu 10.10). On the other side demos I have work perfectly (ooclDCT8x8, oclHistogram,...)</li>







<li><b>Main problem is that the repository you indicate to get the example project (<a href="http://www.loci.wisc.edu/svn/decon" target="_blank">http://www.loci.wisc.edu/svn/decon</a>) doesn&#39;t work... </b>&quot;<a href="http://dev.loci.wisc.edu/svn/software/branches/maven/projects/opencl-decon" target="_blank">http://dev.loci.wisc.edu/svn/software/branches/maven/projects/opencl-decon</a>&quot; repository works well. Is is the same ?</li>







</ol><div><br></div><div>Thanks a lot if you find time to answer me (and sorry for my english).</div><div><br></div><div>And thanks you for work you are doing on ImageJ.</div><div><br></div><div>Best regards,</div><div><b><br>







</b></div></div><div>-- <br>Pol Kennel<br><br>
</div>
</blockquote></div><br>

</div></div></div>
</blockquote></div></div></div><br><br clear="all"><br>-- <br><font color="#888888">Pol Kennel<br><br>
</font></blockquote></div></div></div><br><br clear="all"><br>-- <br>Pol Kennel<br><br>
</div></div></div>
</blockquote></div><br><br>
</div></div></div>
</div><br><br></div></div></div></div>