Results 1 to 8 of 8

Thread: Using An OpenCL Kernel In GStreamer

  1. #1
    Join Date
    Jan 2007
    Posts
    15,422

    Default Using An OpenCL Kernel In GStreamer

    Phoronix: Using An OpenCL Kernel In GStreamer

    There's now a GStreamer plug-in to utilize OpenCL within this popular Linux video framework so that an OpenCL kernel can be applied against a video stream...

    http://www.phoronix.com/vr.php?view=MTA1MTk

  2. #2
    Join Date
    Sep 2008
    Posts
    989

    Default

    Awesome!!!!

    Of course, to me, the real awesome part is that it was written in Vala, not that you can apply OpenCL to your gst pipeline. That's cool, too, but nowhere near as cool as writing it in Vala.

    Way to go!

  3. #3
    Join Date
    Jun 2010
    Posts
    167

    Default

    Keep bringing it on, many applications will benefit from GPGPU acceleration.

  4. #4
    Join Date
    Oct 2009
    Posts
    111

    Default

    There is nothing special of "this OpenCL support was written in Vala" as there are quite a lot of bindings for OpenCL. And these bindings are just for setting up OpenCL while the actualy OpenCL code (the kernels) is still in OpenCL C.


    Nonetheless I think it is a great thing to utilise OpenCL in more areas.

  5. #5
    Join Date
    Sep 2006
    Posts
    71

    Default

    I'm interested in using opencl for frame interpolation

  6. #6
    Join Date
    Jan 2012
    Posts
    151

    Default

    Just read the wikipedia article about Vala. That's pretty cool! I will definitely have to try it out.

  7. #7
    Join Date
    Sep 2008
    Posts
    989

    Default

    Quote Originally Posted by mat69 View Post
    There is nothing special of "this OpenCL support was written in Vala" as there are quite a lot of bindings for OpenCL. And these bindings are just for setting up OpenCL while the actualy OpenCL code (the kernels) is still in OpenCL C.


    Nonetheless I think it is a great thing to utilise OpenCL in more areas.
    It doesn't matter that the OpenCL ultimately runs in C. Vala code becomes C at build-time anyway. The reason I thought it neat is that I'm a big proponent of Vala as a programming language, for its own sake, due to its featureset. I'm the maintainer of a Rhythmbox plugin written in Vala so anything related to Vala makes me perk up. I want to see Vala used more often, acquire better bindings, and more mindshare in the community. I think it's a great language because it combines the performance and code reuse benefits of C (that is to say, C is fast, and C can use almost any other program written in any other language) with the object-oriented high-level ease of a C#-like language. It vastly improves maintainability and makes things like GLib type inheritance much, MUCH simpler, without sacrificing performance like scripting languages or Java, or adding runtime dependencies like virtually every other non-C language does. It also maintains the traditional strong typing system, which is somewhat useful for people who don't like to let their users figure out in production that some method isn't defined for some object. ;-)

    Also, it's very encouraging to know that you can write a gstreamer plugin entirely in Vala. That alone is an accomplishment.

  8. #8
    Join Date
    Oct 2009
    Posts
    111

    Default

    Quote Originally Posted by allquixotic View Post
    It doesn't matter that the OpenCL ultimately runs in C. Vala code becomes C at build-time anyway. The reason I thought it neat is that I'm a big proponent of Vala as a programming language, for its own sake, due to its featureset. I'm the maintainer of a Rhythmbox plugin written in Vala so anything related to Vala makes me perk up. I want to see Vala used more often, acquire better bindings, and more mindshare in the community. I think it's a great language because it combines the performance and code reuse benefits of C (that is to say, C is fast, and C can use almost any other program written in any other language) with the object-oriented high-level ease of a C#-like language. It vastly improves maintainability and makes things like GLib type inheritance much, MUCH simpler, without sacrificing performance like scripting languages or Java, or adding runtime dependencies like virtually every other non-C language does. It also maintains the traditional strong typing system, which is somewhat useful for people who don't like to let their users figure out in production that some method isn't defined for some object. ;-)

    Also, it's very encouraging to know that you can write a gstreamer plugin entirely in Vala. That alone is an accomplishment.
    You missunderstood what I said.

    The reference implementation for _setting_ [1] up OpenCL is in C. Now there is a Vala binding for this setup process.

    The code (kernels) that runs on the devices (GPU, CPU, ...) in paralell is in OpenCL C.
    Nothing is changed there by the Vala binding, i.e. you still write kernels in OpenCL C and not in Vala.

    [1] Which device to use, which parameters to send to the kernels etc.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •