Announcement

Collapse
No announcement yet.

Using An OpenCL Kernel In GStreamer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    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!

    Comment


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

      Comment


      • #4
        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.

        Comment


        • #5
          I'm interested in using opencl for frame interpolation

          Comment


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

            Comment


            • #7
              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.

              Comment


              • #8
                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.

                Comment

                Working...
                X