cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

Highlighted
Miniboss
Miniboss

Ubuntu 12.04/12.10 - Enable OpenCL with headless/ssh with few easy steps...

I thought it might be useful for everyone to put this on a thread. X must be running obviously, but you dont have to login to run OpenCL programs and any user who can ssh into the box can access the GPUs.

1- Install Ubuntu 12.04 (confirmed to work on Ubuntu 12.10 also)

2- Edit the 'lightdm' user's shell using 'chsh lightdm' command and set it to /bin/bash

3- Open /etc/rc.local and add the following line before 'exit 0' . I realized sometimes rc.local was ran before GUI started therefore the delay is needed using sleep. Please let me know if you have a better way to run a command after lightdm loads

su -l lightdm -c "sleep 30 ; export DISPLAY=:0 ; xhost +local:"

4- Create a file /etc/profile.d/compute.sh and add the following inside (and execute 'chmod 755 /etc/profile.d/compute.sh' ):

#!/bin/sh

export COMPUTE=:0

#export DISPLAY=:0

#export GPU_MAX_ALLOC_PRCENT=100

#export GPU_MAX_HEAP_SIZE=100

if [ ! -z "$DISPLAY" ]; then

  xhost +local:

fi

(enabling the commented out entries are for your own consideration...)

5- X setup resets if one logs in/out from the lightdm, so it might be advisable to add the following into /etc/lightdm/lightdm.conf

greeter-show-manual-login=true

greeter-setup-script=/etc/profile.d/compute.sh

session-setup-script=/etc/profile.d/compute.sh

That seems to do the trick. Let us know your success stories.

Thanks,

8 Replies
Highlighted
Adept I
Adept I

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

Does not help.

clinfo sees only one GPU even on local machine.

0 Kudos
Reply
Highlighted
Miniboss
Miniboss

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

The instructions assume that you can already use GPUs locally but you want to use them over ssh connection.

For your specific problem, you should define a screen on your second GPU. I think you could try:

aticonfig --inititial --adapter=all

or use catalyst center to assign a display to second card. (you shouldnt have to install an actual display, as long as X thinks there is a display)

In addition, it might help to use 12.10+ drivers, there was a thread where 12.9 drivers allowed independence from X, I dont know if it works or not, and if it is supported on all GPUs (in case if it works)

http://devgurus.amd.com/message/1284569

0 Kudos
Reply
Highlighted
Adept I
Adept I

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

Finally after cold reboot clinfo sees both GPUs.

BUT

the desktop looks kind of a strange - after first login it was sort of stereo, with double menus, time, network icons etc. both on top and bottom

when i logged out and logged in again everything tripled.

0 Kudos
Reply
Highlighted
Miniboss
Miniboss

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

I never had that problem, but it sounds strange, if you open catalyst center, do you see your cards correctly assigned to monitors? This could have something to do with Ubuntu itself I guess...

0 Kudos
Reply
Highlighted
Adept II
Adept II

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

X must be running obviously

This is not obviously. There is an open claim here http://devgurus.amd.com/thread/159815 that it can be made to work without X, under at least one more recent driver version. I think this deserves your widespread attention, either to confirm it's working, or to state clearly that it's nonsense.

1- Install Ubuntu 12.04

... and do the necessary stuff to get OpenCL working on all your cards. You can find a tutorial here: http://devgurus.amd.com/thread/159019#1280510

For me, the 12.10 drivers automatically underclocked/undervolted my HD7970s to 300MHz and 0.85V for some bizarre reason (probably power saving related). Reverting to 12.04 drivers that I used in the past made it work. Well, juist pointing out in case anyone would have trouble.

0 Kudos
Reply
Highlighted
Miniboss
Miniboss

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

The post was made way before the Catalyst 12.9+ release. Therefore it was then obvious that X had to run I didnt test it myself and it does not appear to be an official feature at this point (since AMD did not declare it in changelogs?). While it is a nice thing, I wouldnt count on it to work with all the cards. It is not even clear if that feature works on Tahiti cards only or it is a general feature at this point.

0 Kudos
Reply
Highlighted
Adept II
Adept II

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

Indeed, I didn't notice the date, sorry.

I wouldnt count on it to work with all the cards. It is not even clear if that feature works on Tahiti cards only or it is a general feature at this point.

Even if it only works with Tahiti cards, it seems to me that the main demand for this comes from Tahiti cards. Compute power per money increases with the more expensive models, both on the card itself as on the overhead (i.e. other hardware needed to run the server), so for server building one is likely only interested in Tahiti.

(And for non-server machines, you don't want to kill X. )

0 Kudos
Reply
Highlighted
Journeyman III
Journeyman III

Re: Ubuntu 12.04 - Enable OpenCL with headless/ssh with few easy steps...

Worked like a charm. Thanks!