open cl newbee

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

open cl newbee

w.thumann
hi!

i'm very new to opencl and i have some questions. i've developed a new implementation of a support vector machine in java and now it's time to speed things up a little bit. ;) unfortunately i have no experience with opencl and before i start spending time on it, i'd like to know whether it's of any use to me. in my svm implementation i use a lot of scalar products of vectors (standard eucledian) and products of matrices with vectors. but not only in dimensions of 2, 3 or 4 like in opengl. in fact, the dimension will be quite big in general (100-1000 and more). now i wonder if opencl can provide me some speed boost for such calculations.
if yes, what is a good starting point for learning opencl, especially with jocl. this technology seems to be quite new and not much tutorials/beginner material can be found on the web. Do you have any suggestions?

Thanks,
w.thumann
Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

Michael Bien
Hi,

OpenCL is all about parallelism. If you manage to shape your problem in a way that most of your work can be executed independently and therefore parallel OpenCL might be the right choice.

take a look at the Hello World example and the in-code comments.

http://github.com/mbien/jocl-demos/blob/master/src/com/jogamp/opencl/demos/hellojocl/HelloJOCL.java

http://github.com/mbien/jocl-demos/blob/master/src/com/jogamp/opencl/demos/hellojocl/VectorAdd.cl

regards,
michael

On 08/01/2010 03:10 PM, w.thumann [via jogamp] wrote:
hi!

i'm very new to opencl and i have some questions. i've developed a new implementation of a support vector machine in java and now it's time to speed things up a little bit. ;) unfortunately i have no experience with opencl and before i start spending time on it, i'd like to know whether it's of any use to me. in my svm implementation i use a lot of scalar products of vectors (standard eucledian) and products of matrices with vectors. but not only in dimensions of 2, 3 or 4 like in opengl. in fact, the dimension will be quite big in general (100-1000 and more). now i wonder if opencl can provide me some speed boost for such calculations.
if yes, what is a good starting point for learning opencl, especially with jocl. this technology seems to be quite new and not much tutorials/beginner material can be found on the web. Do you have any suggestions?

Thanks,
w.thumann


View message @ http://jogamp.762907.n3.nabble.com/open-cl-newbee-tp1013279p1013279.html
To start a new topic under jogamp, email [hidden email]
To unsubscribe from jogamp, click here.


Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

w.thumann
ok thx. could you explain what these .cl files are? is this some sort of proprietary programming language for opencl?
Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

Demoscene Passivist
Administrator
The .cl files is what OpenCL is all about. They contain the code in "OpenCL C" an ISO C99 based programming language wich was extended for massive parallelism.

Generally speaking u can say that u do the environment and data setup for ur calculation using JOCL (OpenCL binding) and then "upload" the actual algorithm to be used with ur data as "OpenCL C" to ur computing devices (e.g. the graphics card or the multicore cpu). After everything is set up u start the computing devices and collect the results when the "uploaded" algorithm has processed all ur data.
Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

w.thumann
ah ok, then i have to learn OpenCL-C. How can i do that? Do i have to read the spec or are there tutorials for that?
Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

Demoscene Passivist
Administrator
For a first shot I would try to learn for samplecode. Nvidia has a quite extensive library on their website: http://developer.download.nvidia.com/compute/opencl/sdk/website/samples.html

Also try the other OpenCL material from Nvidia: http://developer.nvidia.com/object/opencl.html

Also take a look at the "GPU Computing Online Seminars" from Nvidia with "OpenCL - An Introduction" and "OpenCL - Advanced 1" http://developer.nvidia.com/object/gpu_computing_online.html#Computing

Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

jcpalmer
In reply to this post by w.thumann
There is also a video series by AMD.  Check the sticky topic "ATI Stream OpenCL(tm) Technical Overview Video Series" near the top of the http://forums.amd.com/devforum/categories.cfm?catid=390&entercat=y

Thought I saw where nVidia might have something now too, but forgot where I saw it.
Reply | Threaded
Open this post in threaded view
|

Re: open cl newbee

w.thumann
ok thx for ur suggestions, i will have a look at this stuff...