Page 4 of 6 FirstFirst ... 23456 LastLast
Results 31 to 40 of 52

Thread: NVIDIA Publicly Releases Its OpenCL Linux Drivers

  1. #31
    Join Date
    Oct 2007
    Location
    Under the bridge
    Posts
    2,149

    Default

    Quote Originally Posted by nanonyme View Post
    Yeah and he claimed encoding process doesn't use such stuff that would be useful to offload to GPU. It is possible that the situation between encoding and decoding is asymmetric and they don't benefit of the same kind of system resources equally but as I said, to find out whether that's true or not needs going more in-depth than you two seem willing to go.
    Sigh...

    You don't qualify what you mean by "in-depth" but keep in mind this topic is suitable for PhD-level research. There are not many people out there who have the necessary background and would attempt to implement a GPU-accelerated transcoder for free.

    This also happens to be an area of active research. For anyone interested:
    1. Motion estimation for H.264/AVC on multiple GPUs using NVIDIA CUDA
    2. Intra Frame Encoding Using Programmable Graphics Hardware
    3. H.264 Video Encoding Algorithm on Cell Broadband Engine

  2. #32
    Join Date
    Oct 2007
    Posts
    912

    Default

    Apologies if this doesn't make sense, but I've not read that deeply into how OpenCL works within the system as a whole: with an nivida beta library, and the amd cpu library, can those two work together? (i.e sending off code to the cpu or gpu as appropriate)

  3. #33
    Join Date
    Aug 2009
    Posts
    2,264

    Default

    Quote Originally Posted by mirv View Post
    Apologies if this doesn't make sense, but I've not read that deeply into how OpenCL works within the system as a whole: with an nivida beta library, and the amd cpu library, can those two work together? (i.e sending off code to the cpu or gpu as appropriate)
    Ehm... OpenCL is a specification just like OpenGL and you can have multiple implementations. That is it. The implementations can differ hugely between implementations. The only requirements is that OpenCL code can be compiled and executed according to the spec.

    What it comes down to is: you as a developper write an OpenCL app. Your code never has to change because it's not platform dependant. You can compile it with gcc under Linux and you need the OpenCL state tracker for Gallium3D or the latest nVidia binary driver to run it. As for the library I do not know. I don't think you need to compile it against both the AMD and the nVidia lib, but perhaps somebody else here can awnser this.

    As for the rest; you either asked the wrong question or my head just explodes, which always happens with OpenCL and Gallium3D topics :')

  4. #34
    Join Date
    Aug 2008
    Location
    Finland
    Posts
    1,758

    Default

    Quote Originally Posted by V!NCENT View Post
    Ehm... OpenCL is a specification just like OpenGL and you can have multiple implementations. That is it. The implementations can differ hugely between implementations. The only requirements is that OpenCL code can be compiled and executed according to the spec.
    We might quickly bump into the good old territory there too as what happened with C library implementations: the specification left tons of gaps and when vendors implemented these as they saw fit, we were left with libc implementations that aren't fully compatible with each other. (and that's just before some smart-asses thought it's a good idea to start extending them way beyond specifications)

  5. #35
    Join Date
    Aug 2009
    Posts
    2,264

    Default

    Quote Originally Posted by nanonyme View Post
    We might quickly bump into the good old territory there too as what happened with C library implementations: the specification left tons of gaps and when vendors implemented these as they saw fit, we were left with libc implementations that aren't fully compatible with each other. (and that's just before some smart-asses thought it's a good idea to start extending them way beyond specifications)
    Wow that sounds awesome... And just to think that OpenCL already allows extensions. That's what the LLVM is for when JIT compiling right? It looks for extensions that are available and sends kernel code to whatever extension it can find, else it executes it without extension, right?

  6. #36
    Join Date
    Oct 2007
    Posts
    912

    Default

    Ah ok, I wasn't sure if the drivers were attached to more system "pass it off to whatever's free" or simply standalone. I do find OpenCL interesting, but haven't had an opportunity to work with it.

  7. #37
    Join Date
    Jun 2008
    Posts
    36

    Default

    Today I wrote a test profile for the ati-stream-sdk. Afterwards I installed nvidia drivers and voila many of the ati examples run fine with nvidias libOpenGL.so.

    Here are a few results:
    http://global.phoronix-test-suite.co...15-22137-12990

    I ran all tests with standard parameters and I think the overhead caused by memory transfers and initialization causes some of the low gfx results.

    Here are results for one test with different matrix sizes.

    http://global.phoronix-test-suite.co...5145-2893-4183

  8. #38
    Join Date
    Aug 2008
    Location
    Finland
    Posts
    1,758

    Default

    Quote Originally Posted by V!NCENT View Post
    Wow that sounds awesome... And just to think that OpenCL already allows extensions. That's what the LLVM is for when JIT compiling right? It looks for extensions that are available and sends kernel code to whatever extension it can find, else it executes it without extension, right?
    As long as usage of extensions isn't required and the program doesn't see they're used, it doesn't matter that much. On the other paw, if an OpenCL program gets the ability to directly use OpenCL extensions which might have multiple different implementations and possibly bad (read: leave a lot for vendor interpretation) specifications, we end up in trouble.

  9. #39
    Join Date
    Aug 2009
    Posts
    2,264

    Default

    Quote Originally Posted by justapost View Post
    I ran all tests with standard parameters and I think the overhead caused by memory transfers and initialization causes some of the low gfx results.
    It's worth watching this video tutorial on nVidia hardware:
    http://www.macresearch.org/opencl_episode4

  10. #40
    Join Date
    Aug 2009
    Posts
    2,264

    Default

    Quote Originally Posted by V!NCENT View Post
    It's worth watching this video tutorial on nVidia hardware:
    http://www.macresearch.org/opencl_episode4
    PS: It's a .m4v file and 124MB, so you might want to use VLC for playback because you can also stream the link so you can instantly watch it.

Tags for this Thread

Posting Permissions

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