Menu

Using ViennaCL on Images

Anonymous
2011-06-13
2019-11-18
  • Anonymous

    Anonymous - 2011-06-13

    Is there anyway to use ViennaCL on images? A.k.a upload a texture to GPU memory etc.

    For example,
    Let's say I want to take an RGB image and convert it to grayscale into the format of a ublas matrix made up of floats.

    What do you guys think?

     
  • Karl Rupp

    Karl Rupp - 2011-06-13

    Hello kaiwen,

    in the current version 1.1.2 there is no such possibility. The use of image types is in preparation, but I can't promise that it will be ready for 1.2.0. Please consider using a custom kernel for that purpose at the moment.

    Best regards,
    Karli

     
  • Wen-Yin Wei

    Wen-Yin Wei - 2019-11-16

    Hello Karl,

    Did Vienna team make any progress on image processing these years? It worth a new package. However, as long as the basic input and output image functionality is equipped, users could utilize it to establish what they want.

    Best regards,
    Wenyin

     
  • Karl Rupp

    Karl Rupp - 2019-11-17

    Hi Wenyin,
    no, image types are still not supported and are currently not on the road map. What's your use case?
    Best regards,
    Karli

     
  • Wen-Yin Wei

    Wen-Yin Wei - 2019-11-18

    Hi Karl,

    I am planning to implement a realtime image-processing system which would handle video streams from several cameras. And I want to make it cross-vendor (Nvidia or AMD) without loss of efficiency. ViennaCL is very elegant and self-contained, so that I can not help making it a CV package from it. Now I am utilizing ImageMagcik++ as an external image package to help me with handling reading and writing images. On the base of that , I select different channels to be put in different matrix (R/G/B). The processing on the matrix should work well just as numerical matrix do if the image reading speed is not the bottleneck.

    Other than the reading speed, I am most worried about that some card vendors have special optimization on cl_mem class when the memory contains an image. The pixel communication speed on the GPU would be much faster than numerical matrixes. But this problem would be solved if ViennaCL processing on matrixes has been fast enough.

    I want to expand the use of this system to FPGA, which has enough computational potential to make the whole system rapid enough to react as a real-time system. Has ViennaCL team tried to implement it on any FPGA card? OpenCL is only heterogenous convention that a FPGA accepts.

    Best wishes,
    Wenyin

     

Log in to post a comment.