OpenCL with UbiLinux

Jesse KaukonenJesse Kaukonen Posts: 39New Member ✭✭
edited July 2017 in Others
What packages do I have to install to use the GPU on the UpBoard for OpenCL on UbiLinux? As per this topic it seems OpenCL is possible. The specs on the product page also show:
Intel® HD 400 Graphics ,12 EU GEN 8, up to 500MHz Support DX*11.1/12, Open GL*4.2, Open CL*1.2 OGL ES3.0, H.264, HEVC(decode), VP8

I've compiled a small test program to see if OpenCL is usable:
[email protected]:~/cltest$ g++ -std=c++11 -Wall -I/usr/include -L/usr/lib/x86_64-linux-gnu -lOpenCL main.cpp -o cltest
[email protected]:~/cltest$ ./cltest
Did not get any platforms
[email protected]:~/cltest$ ldd cltest
        linux-vdso.so.1 (0x00007ffd8170b000)
        libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f5774a8e000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5774783000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5774481000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f577426b000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5773ec0000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5773cbb000)

Attempting to install the Intel OpenCL SDK from their official site shows:
Missing optional prerequisites
-- GPU is not supported
-- Missing libraries
-- Mono is not installed
-- Java* Runtime Environment 64-bit version 1.8.71 or newer is not detected
--------------------------------------------------------------------------------

I doubt this is required - my understanding is that Intel driver stuff should be easily available from the standard repos?

Running glxgears -info shows:
GL_RENDERER   = Mesa DRI Intel(R) Cherryview
GL_VERSION    = 3.0 Mesa 10.3.2
GL_VENDOR     = Intel Open Source Technology Center

Comments

  • DCleriDCleri Posts: 524Administrator, Emutex admin
    Unfortunately it is not that easy to install OpenCL with the current ubilinux 3.0, which is based on Debian Jessie.

    Luckily we are going to release in the coming weeks an updated version of our ubilinux 4.0 beta with support for UP Board, UP Squared and UP Core.

    The updated operating system is based on Debian Stretch and it is very easy to enable openCL via apt, installing beignet 1.3.0: https://packages.debian.org/stretch/beignet-opencl-icd

    Otherwise you can try to enable jessie-backports repository on ubilinux 3.0 and install the package there.
  • theodoros ptheodoros p Posts: 23New Member
    And which package we download intel or AMD?
  • Jesse KaukonenJesse Kaukonen Posts: 39New Member ✭✭
    I've now tested this on UpBoard with ubilinux 4, and installing the following packages is all one needs to do: beignet-opencl-icd ocl-icd-opencl-dev opencl-c-headers
  • fnoopfnoop Posts: 28New Member
    Beignet is only the GPU isn't it? Anyone tried the full Intel packages to get CPU as well?
  • theodoros ptheodoros p Posts: 23New Member
    Yes beignet works only with GPU I tried to install intel Sdk but I think it didn’t support ubilinux it supports ubuntu 12 or 14 I think.To all my computers I run 12.00 or 14.00 with Intel sdk and the opencl works in CPU and GPU as well
  • fnoopfnoop Posts: 28New Member
    @pantheongr When you're doing OpenCL work how much difference does the CPU make? Is the GPU hugely more powerful so missing the CPU doesn't matter that much, or is the CPU a significant portion of the CL processing power?
  • theodoros ptheodoros p Posts: 23New Member
    If you use the GPU you have to write your code using as more as possible work items to fully parallelise the code then the GPU is powerful but if you ll write your code with single work items it means each core of the GPU use only ONE. work item then the CPU in the same concept it’s much much faster,recently I made a test in vision applications and i wrote kernels using only 1 work item for CPU and 1 work item for GPU the results was for the same kernel 5 ms for GPU and 0,3ms for CPU significant difference!
  • fnoopfnoop Posts: 28New Member
    Interesting, thanks. Would be interested to know if anyone has managed to extract full performance from GPU and CPU in OpenCL, and what the relative contribution is from each.
Sign In or Register to comment.