cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

mmstick
Adept I

Radeon HD 7950 + Linux + OpenCL = ksoftirqd spam

ksoftirqd.png

I've been having this problem with a lot of OpenCL projects for a couple of months now. I've just upgraded to Ubuntu 13.10 and installed Catalyst 13.8 as well as the latest AMD APP SDK and it is still an issue.

0 Likes
16 Replies
himanshu_gautam
Grandmaster

Hey,

Somebody else too had this problem. Check this out

High interrupt rate on multigpu multi cpu system but not on multigpu single cpu system

High interrupt rate on multigpu multi cpu system but not on multigpu single cpu system

I think it is more related to Ubuntu 13.04

Using 12.04 should help...

- Bruhaspati

0 Likes
himanshu_gautam
Grandmaster

Since you said you have been seeing this issue on number of OpenCL projects -- Are these projects specific to AMD cards?

i.e.

I would like to know if 13.04 is the probable reason (or) Is it the AMD drivers?

Any input from you would be helpful to remedy the situation (if at all it is remediable from AMD's side)

Best,

Bruhaspati

0 Likes

It's the AMD drivers. It happens on Ubuntu 12.04, 12.10, 13.04, and 13.10 which I am currently using. You can try out something even as simple as bitcoin mining and it will cause the ksoftirqd spam. Although, I had much worse spam with bitcoin mining than running OpenCL projects from BOINC, perhaps because bitcoin mining is more taxing on the GPU. Here's a picture from running Einstein@Home

ksoftirqd2.png

0 Likes

For a comparison, Do you have data from any other OpenCL driver? Say, NVIDIA driver.

May be, this is normal.

I hope interrupts are routed to all CPUs fairly by the OS....

You may want to check IOAPIC/LAPIC settings in the BIOS...

I dont know if it matters.. But can you just check?

Can you give information about your motherboard?

Does this problem occur in other motherboards as well? Can you test on other boards?

+

Finally, Do you think your performance is suffering because of this IRQs....

If so, Can you substantiate it?

Say by running clBLAS or clFFT and then compare yourself with some benchmark results for your GPU.

SGEMM (NN) operation should be around 50% of your theoretical peak..A tuned one could be even more.

Best,

Bruhaspati

0 Likes

It didn't occur until Catalyst 13.8 from what I remember. NVIDIA cards don't have the ksoftirqd spam; there shouldn't be so many interrupts in the first place. I haven't tested my HD 6850 machines, but they run the open source drivers which I assume has no support for OpenCL yet.

My motherboard is the ASUS Sabertooth 990FX. It would be strange if performance was not affected by the massive amount of IRQs. First of all, it certainly effects my CPU as it consumes 50% of a core at all times, and sometimes jumps to consuming an entire CPU core. I have a FX-8120 @ 4GHz, so that's highly abnormal.

0 Likes


Thanks for posting back....13.8 seems to be a good inidication. I can try...

Can you post output of "cat /proc/interrupts" -- when this happens?

Once you know the IRQ number of the device, you can also get/set smp_affinity using "cat /proc/irq/<number>/smp_affinity" (or) "echo ff > /proc/irq/<number>/smp_affinity"

The echo will spread the IRQ load onto 8 CPUs -- if I understand correctly.

But before that, you may want to check what is the existing smp_affinity of the fglrx driver?

Thanks,

Best,

Bruhaspati

0 Likes

I've just upgraded to Catalyst 13.11. I created a deb package for it and installed it, and the ksoftirqd issues gone, but BOINC projects use much less CPU and the GPU is reporting higher load, so it's working better.

Although Ubuntu 13.10 just released yesterday, it still carries Catalyst 13.8 as the default version of Catalyst instead of Catalyst 13.11, which is the issue. I'd also say that the default xorg packages for RadeonSI is horribly glitchy with a default installation of Ubuntu 13.10 as it uses 2 month old packages. I had to revert back to 13.04 because I couldn't get my Creative Recon3D to work with Ubuntu 13.10 after a reboot though.

0 Likes

Well, Thanks for the update..

You can still use Cat13.11 with Ubuntu13.04, isn't it?

0 Likes

Of course, I'm using Catalyst 13.11 with kernel 3.11 on Ubuntu 13.04 right now. The xorg-edgers PPA is supposed to have Catalyst 13.11 but it's still stuck on Catalyst 13.8, so I had to build the package myself. The version of Catalyst that ships with Ubuntu 13.04, Catalyst 13.4, is extremely unstable with RadeonSI cards, so I'd never use the default one from the repos.

Oh.. Thanks for getting back on this...

So, I guess you are just well set now.

I will mark this issue as Resolved internally,

Thanks,

0 Likes

Install 13.11 from deb didn't help in my case, kernel 3.8, Ubuntu 13.04. Going to try on Ubuntu 13.10.

0 Likes

13.04 works fine; in fact, it's the only version of Ubuntu that works with my Sabertooth 990FX motherboard since Ubuntu 13.10 and Ubuntu 14.04 both cause a crash on boot which I can't figure out.

It might be advisable for you to also try a newer kernel. I created a script a while back that automatically downloads and installs the latest 64-bit Ubuntu kernel:

http://pastebin.com/kR9c6ymH

0 Likes

My card is: Sapphire PCI-Ex Radeon R9 280X Vapor-X 3072MB GDDR5

13.04 doesn't work. I've installed 13.10 with no luck as well - kernel 3.11. Thanks for the script, I'll try it later.

0 Likes

It looks like I can't build AMD drivers for this kernel version, here's log I have:

Building initial module for 3.12.0-031200-generic

ERROR (dkms apport): kernel package linux-headers-3.12.0-031200-generic is not supported

Error! Bad return status for module build on kernel: 3.12.0-031200-generic (x86_64)

DKMS make.log for fglrx-13.250 for kernel 3.12.0-031200-generic (x86_64)

субота, 16 листопада 2013 02:50:57 +0200

AMD kernel module generator version 2.1

doing Makefile based build for kernel 2.6.x and higher

rm -rf *.c *.h *.o *.ko *.a .??* *.symvers

make -C /lib/modules/3.12.0-031200-generic/build SUBDIRS=/var/lib/dkms/fglrx/13.250/build/2.6.x modules

make[1]: Entering directory `/usr/src/linux-headers-3.12.0-031200-generic'

  CC   /var/lib/dkms/fglrx/13.250/build/2.6.x/firegl_public.o

/var/lib/dkms/fglrx/13.250/build/2.6.x/firegl_public.c: In function ‘KCL_GetEffectiveUid’:

/var/lib/dkms/fglrx/13.250/build/2.6.x/firegl_public.c:1758:5: error: incompatible types when returning type ‘kuid_t’ but ‘KCL_TYPE_Uid’ was expected

    return current_euid();

    ^

/var/lib/dkms/fglrx/13.250/build/2.6.x/firegl_public.c:1762:1: warning: control reaches end of non-void function [-Wreturn-type]

}

^

make[2]: *** [/var/lib/dkms/fglrx/13.250/build/2.6.x/firegl_public.o] Error 1

make[1]: *** [_module_/var/lib/dkms/fglrx/13.250/build/2.6.x] Error 2

make[1]: Leaving directory `/usr/src/linux-headers-3.12.0-031200-generic'

make: *** [kmod_build] Error 2

build failed with return value 2

Please let me know if you think I have any options to deal with this.

0 Likes

Pile of rubbish.

0 Likes

0 Likes