0

I wanted to play with APU meaning to learn OpenCL and other GPGPU tricks, so I've installed the AMD APP SDK Ver 3.0 (which implements OpenCL 2.0) on my PC. This SDK documentation says I need to install the AMD Catalyst (or fglrx driver) at first, which I did successfully after a lot of troubles. I used the archive from the AMD site, named as radeon-crimson-15.12-15.302-151217a-297685e.zip.

Nevertheless the fglrx driver doesn't see the GPU cores. The aticonfig --initial reports:

aticonfig: No supported adapters detected

The fglrxinfo output is below:

display: :0.0  screen: 0
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV84
OpenGL version string: 3.0 Mesa 11.0.2

I know, this kind of questions were asked many times, but in my case I completely don't care about graphics, graphical acceleration, 3D graphics and so on. I just want to access GPU cores in my APU via OpenCL calls.

What can I do to get there?

Hardware configuration:

  • Motherboard: ASUS A88X-PRO
  • CPU: AMD A8-7600 with Radeon R7 (4 CPUs + 6 GPUs)
  • Graphics card: some NVidia-based

Operating system: Xubuntu 15.10.

4
  • Is there any way to remove the Nvidia based graphics card? Commented Mar 18, 2016 at 18:36
  • @mikewhatever - my plan was to leave graphics to the discrete graphics card and do experiments with hybrid computations on APU. If I remove the graphics card, what piece will take care of graphics when both CPU and GPU will compute?
    – HEKTO
    Commented Mar 18, 2016 at 18:42
  • It might be wishful thinking. Usually, when a discrete card is detected, the built-in one gets disabled by the BIOS. I've not see anything that lets you use both at the same time for different tasks. Commented Mar 18, 2016 at 21:49
  • @mikewhatever - I expected to see a command line tool which would be able to tell the fglrx driver: "Ignore this graphics card, focus on the APU". The aticonfig tool doesn't even show its help screen! Shame on AMD... But anyway, I'll try to switch my video cable to the onboard video and enable it
    – HEKTO
    Commented Mar 18, 2016 at 22:27

1 Answer 1

0

I'm answering my own question - in case anybody needs the same configuration. After many retries I was able to achieve what I wanted - to have a machine with hybrid CPU/GPU processor, which is not involved into graphical output.

Step 1. I've found a motherboard BIOS parameter, which I needed to enable. On my motherboard (ASUS A88X-PRO) this parameter is on the path:

Advanced -> NB Configuration -> IGFX Multi-Monitor

Step 2. I've installed all the necessary prerequisites for the AMD Driver. On my machine they were:

sudo apt-get install dh-modaliases execstack debhelper devscripts xserver-xorg-dev libglu1-mesa-dev libqtgui4 lib32gcc1 dkms

Step 3. I've installed AMD Driver Ver 15.302. The driver archive has been unpacked into the fglrx-15.302 directory, and the *.run script from this directory was run manually. The script has created four *.deb files, which have been installed by the following command:

sudo dpkg -i *.deb  

IMPORTANT: If you do the same, the script will ask you to run the aticonfig command. Don't do that!!! This command will configure the driver to use the GPU for graphical output - that's NOT what we want. Reboot after this step.

Step 4. I've installed the AMD SDK Ver 3.0 (release 130.136) in my local directory in order not to change anything in system directories. The clinfo command reports both CPU and GPU cores now:

$AMDAPPSDKROOT/bin/x86_64/clinfo|grep 'Device Type'
  Device Type:                   CL_DEVICE_TYPE_GPU
  Device Type:                   CL_DEVICE_TYPE_CPU

And now it's time to play with samples from the SDK...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .