[REBOL] Re: OpenCL Wrappers: is anyone working towards this or something already exists!
From: moliad:gma:il at: 9-Sep-2009 14:23
hi David
On Wed, Sep 9, 2009 at 9:39 AM, Petr Krenzelok<petr.krenzelok-seznam.cz> wrote:
> david may napsal(a):
>> Hello rebolist,
>>
>> =A0 as per the subject
>> =A0 OpenCL Wrappers: is anyone working towards this or something already
>> exists!
>>
>> it seems Python is yet again first with interesting OpenCL
>> wrappers/Bindings
>> http://www.khronos.org/message_boards/viewtopic.php?f=28&t=2008
>>
For REBOL 2, don't count on someone else doing it, its binary binding
is limited and tedious. And remember, even for python, most of these
things are done by people who need it, not the authors of python
itself.
You must understand that there is a reason why python seemingly always
integrates C libs first.... its quite simple... internally, the
language and its module system was designed around C/C++ in order to
make it possible for binding its binary code directly and easily. Its
the single most important feature of that language. Where I worked
before, we did it a few times and it took less than an hour to
integrate most C libs.
Now on the REBOL front, thru the years, Mr. Sassenrath realized many
of the limitations that plagued the R2 design on the platform side
(the run-time engine). The language itself was pretty close to pure,
but the engine it ran on was never meant to be open, extensible and
support large applications.
REBOL 3 addresses this first and foremost IMHO. Just about every
decision is made with the sole purpose of allowing REBOL, the
platform, to evolve, grow and exceed, by far, the capacity of the R2
engine. The goal is to be able to leverage the language in more
areas, more markets, more applications.
Finally, we will be able to use one of the most interesting
programming languages on some of the most interesting projects,
because like python, its design is intended to be open, extensible and
scalable.
As pekr noted, I did some OpenGL/GLUT tests using R3 and within a few
hours, was able to render a colored 3D cube using R3 as the host from
which the images where rendered.
(http://www.pointillistic.com/open-REBOL/moa/steel/R3-OGL.png)
The Extensions API isn't finished, its a work in progress, but it
already allows one to use C .lib and .dll binaries directly within
REBOL using an interface to these functions and its datasets to REBOL,
using REBOL native datatypes... its surprisingly easy to do and so far
its both very fast and very stable.
so, the question is... do you really need OpenCL? or is it just
something thrown in the air? cause if you really need it and you are
willing to invest a bit of your time into it, you can be the OpenCL
binding author for R3. All the docs are on the web, with plenty of
examples to get you started.
It won't take you 3 weeks to get it done... it most probably will take
you a few hours to get the basics working and then, at most, a few
days to map all of the API functions & datasets. Just download MS VC
express (free), download latest R3, OpenCL libs, and GO! ;-)
Also note that although R3 is still alpha, and some things need to be
done (adding more tcp schemes, for example), what is there is starting
to be pretty stable on my last few attempts at using R3. The GUI is
still up for an overhaul, but you can already use it, and there is
nothing stopping you or anyone else from continuing on the work
already started by the previous/current R3 GUI guys. If you get
involved, and actually put the effort, you will realize that Carl (Mr.
Sassenrath) is quite open to help and discussion...
But as they say, talk is cheap, and that is how REBOL seems to be
driven nowadays. Some kind of Meritocracy, similar to any open source
project. People who put the effort and the time, actually get to take
part in how REBOL evolves. When you can show others what works and
what doesn't, cause you've actually tried things, can show or explain
them with concrete tests and examples... people do listen... Carl
especially (it also helps to be a bit stubborn and patient too ;-).
Just noticing how Pekr and I have changed the tune to our song in the
last year is a good measure of this in fact.
This is an exciting time for REBOL, just about anyone can have a
measurable impact on the language... from people who report bugs on
Curecode, to people who rush to test the newest bits added to the core
whenever a release is done (almost twice a week for a few months
now!!) .
But its up to every one of us to participate...
Don't expect godsends to fall from the sky. Don't expect prayers to
be fulfilled.
Pitch-in, help, test, suggest, fix mezz code, post on the blogs... its
all being considered, really, it is!
Cheers!
-MAx