Linux GPU setup


log in

Advanced search

Message boards : Number crunching : Linux GPU setup

Previous · 1 · 2
Author Message
TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1343160 - Posted: 5 Mar 2013, 2:19:28 UTC

I'm about to give this a shot. My plans are to remove the ATI 3650 from the Ubuntu machine and replace it with the NV8800. I have the ATI driver installed and need it for the card to work at all. It seems every time Ubuntu updates the Kernel, I have to replace the 3650 with an even older PCI card until I can reinstall the driver. It's getting old. Plus, I'm changing out the NV8800 for the NV250 which hasn't been preforming very well since updating to Windows 8. If the Brook+ AP App is ever finished, I might try it with the 3650 in my Windows 8 machine.

Is there anything 'special' I should know about removing the ATI driver and replacing it with the nVidia driver for an 8800?

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1344255 - Posted: 8 Mar 2013, 23:05:23 UTC - in response to Message 1343160.

I'm about to give this a shot. My plans are to remove the ATI 3650 from the Ubuntu machine and replace it with the NV8800. I have the ATI driver installed and need it for the card to work at all. It seems every time Ubuntu updates the Kernel, I have to replace the 3650 with an even older PCI card until I can reinstall the driver. It's getting old. Plus, I'm changing out the NV8800 for the NV250 which hasn't been preforming very well since updating to Windows 8. If the Brook+ AP App is ever finished, I might try it with the 3650 in my Windows 8 machine.

Is there anything 'special' I should know about removing the ATI driver and replacing it with the nVidia driver for an 8800?

What a PITA. It appears this Intel DP43TF board won't even post if the Video card has a combo Mac/PC ROM on it. All I get with the 8800 is a flashing BIOS screen with Code 51. I've tried a couple different cards, it appears it must be the Combo ROM. Now I'm going to have to pull the GTS250 back out of the Mac and try it on the Intel board.

The Mac/PC 8800 works fine in my other PCs...

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1344318 - Posted: 9 Mar 2013, 2:55:55 UTC
Last modified: 9 Mar 2013, 3:06:39 UTC

Yes, swapping the 8800 for the GTS 250 seems to work. I think I tried the Mac/PC ATI 2600XT on this board 4 years ago with the same results. That was another reason I put the board back in the shipping box and forgot about it for 4 years....

It wasn't that hard with the BOINC Folder in your Home folder, almost just like Windows. I used the Driver from the System Settings/Additional Drivers Pane/Post Release Updates.

Fri 08 Mar 2013 09:08:06 PM EST | | NVIDIA GPU 0: GeForce GTS 250 (driver version unknown, CUDA version 5.0, compute capability 1.1, 134214656MB, 134214449MB available, 705 GFLOPS peak) Fri 08 Mar 2013 09:08:06 PM EST | | OpenCL: NVIDIA GPU 0: GeForce GTS 250 (driver version 304.64, device version OpenCL 1.0 CUDA, 1024MB, 134214449MB available) Fri 08 Mar 2013 09:18:20 PM EST | SETI@home | Scheduler request completed: got 9 new tasks...


Seems a little slow. Is there an easy way in Ubuntu to do a permanent Re-nice?

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1345411 - Posted: 11 Mar 2013, 17:31:17 UTC

After a little use, and trying the different drivers, I'm going to have to say CUDA x41g is about twice as slow in Ubuntu as Windows XP. It's even slower than in Windows 8. Too bad, this machine runs the CPU AstroPulses faster than my other machines. I haven't found anyway to speed it up. Default is for CPU tasks at Nice 19, CUDA at 10. Changing the Nice value doesn't appear to help. I tried the available drivers in the system settings, the one labeled (post-release upodates) or 304 seems the best. The 310 '**experimental**beta' version the worse. Trying to use the driver from the nVidia site became too complicated for me to attempt.

Isn't it time for a new 'improved' CUDA App for Linux? It would be nice...

Richard HaselgroveProject donor
Volunteer tester
Send message
Joined: 4 Jul 99
Posts: 8823
Credit: 53,538,723
RAC: 46,387
United Kingdom
Message 1345440 - Posted: 11 Mar 2013, 18:13:04 UTC - in response to Message 1345411.

We had a long and (very) exhaustive discussion about that five years ago, in a thread called Windows vs. Linux.

Long story short, at that time it wasn't niceness, but power management. Even with a science app running 100%, Linux decided the CPU didn't have to be running at full speed and throttled down into an energy-saving state.

The winning answer was Toby, with message 725163:

I see the same behavior on my laptop running Ubuntu. Idle processes do not cause the kernel to initiate CPU power level change. You can change this behavior with the cpufreq-selector command. To make the CPU run at full speed all the time, just type this command into a terminal:

sudo cpufreq-selector -g performance

This causes the kernel to use the "performance" governor to determine when speedstep/powernow features are enabled. The other governors that are available are powersave, conservative, ondemand and userspace. I believe the default one is "ondemand" which, as the name suggests, keeps the CPU at low speed unless more power is needed. You can also lock the CPU in at a specific frequency with this command:

sudo cpufreq-selector -f 1670000

The 1670000 means 1.67 GHz (my CPU can run at 1, 1.67 or 2 GHz).

I'm sure there is some GNOME/KDE interface to this feature that doesn't require breaking out a terminal but thats the quick and dirty way :)

You can view the speed your CPU is currently running at with this command:

cat /proc/cpuinfo

and looking for the line that starts with "cpu MHz." There is also a GNOME panel widget (or whatever they're called) under the "System & Hardware" section entitled "CPU Frequency Scaling Monitor" that will graphically tell you at what speed your CPU is running.

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1345469 - Posted: 11 Mar 2013, 18:55:57 UTC - in response to Message 1345440.

Well, my CPUs are working fine. It's the GTS 250 that's preforming much worse than XP. I have read through the thread, 'SETI MB CUDA for Linux' and couldn't find any helpful suggestions. The only helpful data I can find with nvidia-smi or nvidia-smi -a is about the fan speed and temp. It appears to be working hard at 65C in open air with a lot of hot air being pumped out of the card. There is an option in the 'NVIDIA X Server Settings' App for 'PowerMizer' 'Prefer Max Performance', that setting doesn't appear to make a difference either. I find it interesting that one screen at 1680x1050 and the x41g CUDA App is using half of 1 GB of vRAM though...

Wedge009
Volunteer tester
Avatar
Send message
Joined: 3 Apr 99
Posts: 367
Credit: 155,542,630
RAC: 128,123
Australia
Message 1345519 - Posted: 11 Mar 2013, 20:17:41 UTC

I'm sure there may be contributing factors like differences in how the operating systems do things and Windows drivers being developed more aggressively than their Linux counterparts, but I am wondering, in your own testing between Windows and Linux, that you're still comparing x41g against x41g and not including x41zc as a variable?

Just a thought - I'm sure you're pretty thorough and have already taken that into account.
____________
Soli Deo Gloria

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1345528 - Posted: 11 Mar 2013, 20:39:17 UTC - in response to Message 1345519.

I've tested the newer builds in XP and found x41g is best for my two G92 cards. I've used x41G in all three machines I've had this GTS 250 installed. In XP a Shortie takes around 220-230 secs, its almost twice that long in Windows 8 & Ubuntu. Slightly worse in Ubuntu. When the Windows 8 machine was running XP, the card was just as fast in both XP machines. Too bad it won't fit very well in my remaining XP machine with the other two cards already there...

Wedge009
Volunteer tester
Avatar
Send message
Joined: 3 Apr 99
Posts: 367
Credit: 155,542,630
RAC: 128,123
Australia
Message 1345541 - Posted: 11 Mar 2013, 21:01:28 UTC

So there's a performance degradation in Windows 8 as well? That's discouraging. Not that I want to use Windows 8, but my understanding was that there were plenty of technical improvements to performance over Windows 7, though I'll accept that's probably for the general case and not necessarily for every possible application.
____________
Soli Deo Gloria

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1345548 - Posted: 11 Mar 2013, 21:15:55 UTC - in response to Message 1345541.

So there's a performance degradation in Windows 8 as well? That's discouraging. Not that I want to use Windows 8, but my understanding was that there were plenty of technical improvements to performance over Windows 7, though I'll accept that's probably for the general case and not necessarily for every possible application.

If you look quick, you can find results for the GTS 250 in Windows 8 & XP. I also had the 8800 in those machines around the same time.
Windows 8
Windows XP
Ubuntu

Wedge009
Volunteer tester
Avatar
Send message
Joined: 3 Apr 99
Posts: 367
Credit: 155,542,630
RAC: 128,123
Australia
Message 1345567 - Posted: 11 Mar 2013, 21:39:51 UTC
Last modified: 11 Mar 2013, 21:40:49 UTC

Oh, so they're different work-units. It can be hard to make judgements off just a few tasks, but assuming the angle range is similar, that does seem to be quite a discrepancy.

BOINC is a major reason why I don't have Linux running on more of my hosts (and older CPUs having only 32-bit support is a problem in particular for S@h) - I do hope things can improve so that it's not so deficient compared with Windows. CPU seems to be roughly on par, it's GPU processing that seems to be lacking. (I did run Einstein CUDA on a 32-bit Linux host for a while, though.)
____________
Soli Deo Gloria

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1345571 - Posted: 11 Mar 2013, 21:44:55 UTC - in response to Message 1345567.
Last modified: 11 Mar 2013, 21:46:48 UTC

The cards were in the machines for days/weeks. If you look, you will find more results. Believe Me, I Know what my cards are doing.
Try it yourself.

Wedge009
Volunteer tester
Avatar
Send message
Joined: 3 Apr 99
Posts: 367
Credit: 155,542,630
RAC: 128,123
Australia
Message 1345597 - Posted: 11 Mar 2013, 22:34:22 UTC - in response to Message 1345571.

I just looked at the samples you linked to, I didn't know you had more. If you have more, that's fine. I wasn't doubting you, just going off what information you had given.
____________
Soli Deo Gloria

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1345868 - Posted: 12 Mar 2013, 20:40:36 UTC - in response to Message 1345411.

After a little use, and trying the different drivers, I'm going to have to say CUDA x41g is about twice as slow in Ubuntu as Windows XP. It's even slower than in Windows 8. Too bad, this machine runs the CPU AstroPulses faster than my other machines. I haven't found anyway to speed it up. Default is for CPU tasks at Nice 19, CUDA at 10. Changing the Nice value doesn't appear to help. I tried the available drivers in the system settings, the one labeled (post-release upodates) or 304 seems the best. The 310 '**experimental**beta' version the worse. Trying to use the driver from the nVidia site became too complicated for me to attempt.

Isn't it time for a new 'improved' CUDA App for Linux? It would be nice...

Now that we have determined I know what Apps I manually install, and I've run more than three tasks with my GTS 250...

I appear to have found a solution for my Ubuntu machine. The package comes with this setting;
<avg_ncpus>0.05</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
From my experience with Windows, this should idle a CPU core. It's not doing so in Ubuntu. I changed the "Use at most ___ % CPU time" setting from 95 to 90% and noticed a slight improvement. If a little helps...I then idled a core by changing the "On multiprocessor systems, use at most ___ % of the processors to 95%. The GPU Temp quickly went from 65C to 71C and the fan became noisy. Completion times were almost cut in half. Also, the remaining CPU AstroPulse task went from a varying CPU load to almost a constant 100%. I think the AP task time is going to improve quite a bit as well. The other two machines are running the ATI AstroPulse App, so, they have a core idle for that App already. It appears the Linux CUDA App needs its own idle core if one isn't already available. This is not mentioned in the Read Me.
"I am continuously monitoring the situation..."

Horacio
Send message
Joined: 14 Jan 00
Posts: 536
Credit: 75,956,386
RAC: 4,833
Argentina
Message 1345874 - Posted: 12 Mar 2013, 20:49:01 UTC - in response to Message 1345868.

Now that we have determined I know what Apps I manually install, and I've run more than three tasks with my GTS 250...

I appear to have found a solution for my Ubuntu machine. The package comes with this setting;
<avg_ncpus>0.05</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
From my experience with Windows, this should idle a CPU core. It's not doing so in Ubuntu.

You need to set avg_ncpus to 1 to free one core, even on windows... AFAIK, the other its not used, but just in case I set both to the same value.
____________

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1543
Credit: 54,319,317
RAC: 63,268
United States
Message 1346012 - Posted: 13 Mar 2013, 5:31:05 UTC - in response to Message 1345874.

You need to set avg_ncpus to 1 to free one core...

Then it could be they didn't even intend to free a core. This App is old, release date Dec 2011. The Driver they list, 260.19.26, doesn't require a full core in the OpenCL AstroPulse Apps. Back when the App was released, it might not have needed a free core. It appears it does for my machine with driver version 295, 304, and 310. Once I freed the core, the performance doubled. It appears to have shaved close to an hour off the CPU AstroPulse times as well.
:-)

Profile WilliamProject donor
Volunteer tester
Avatar
Send message
Joined: 14 Feb 13
Posts: 1610
Credit: 9,470,168
RAC: 16
Message 1346109 - Posted: 13 Mar 2013, 10:39:01 UTC - in response to Message 1346012.
Last modified: 13 Mar 2013, 10:40:29 UTC

You need to set avg_ncpus to 1 to free one core...

Then it could be they didn't even intend to free a core. This App is old, release date Dec 2011. The Driver they list, 260.19.26, doesn't require a full core in the OpenCL AstroPulse Apps. Back when the App was released, it might not have needed a free core. It appears it does for my machine with driver version 295, 304, and 310. Once I freed the core, the performance doubled. It appears to have shaved close to an hour off the CPU AstroPulse times as well.
:-)

Congratulations, you're well into Alpha testing territory ;)

The Linux community is very small and usually hardcore when it comes to handling their systems. Windows makes people lazy - why bother with something that can't be done with a click?

So, at the time, we decided that we just didn't have the testing capabilities for a large alpha and beta test as we do it for all the Windows apps.
Testing for Jason's x41g was pretty intense and Aaron's port to Linux was deemed good enough to inflict on the few people who'd be able and willing to run optimised linux apps. It ran well enough for Aaron at the time and we didn't get any complaints or problems.

Fast forward to 2013. Aaron vanished again some time ago, which means the app is pretty much unmaintained. The other Linux guy that peeked has yet to deliver. We'd love to port x41zc to Linux, but we need a dev who can do it.

So, the Linux app is stuck at x41g for the forseeable future. It's not a bad app, it's V7 compliant. Any problems that crop up now require improvisation.
I might be able to amend the Readme, but usually that's the bit of documentation nobody pays attention to [and they are a PITA to write, I tell ya! OTOH I can find no higher praise than Eric going 'Good driver version info with it. Yay.' on the x41zc one.].

As to why the values were set like that - no idea. I didn't write that particular app_info. In the Windows versions both values are identical and small. IIRC BOINC will only reserve a core when the cummulative values surpass 1.

It shouldn't need a free core to be properly fed, but since we don't have the dev to debug and liase with NVidia, I'm afraid you'll have to run like that.
Look at the bright side - you found an easy solution...

William the Silent
____________
A person who won't read has no advantage over one who can't read. (Mark Twain)

Profile ML1
Volunteer tester
Send message
Joined: 25 Nov 01
Posts: 8601
Credit: 4,259,978
RAC: 1,398
United Kingdom
Message 1346167 - Posted: 13 Mar 2013, 14:14:51 UTC - in response to Message 1346109.
Last modified: 13 Mar 2013, 14:16:02 UTC

... Congratulations, you're well into Alpha testing territory ;)

The Linux community is very small and usually hardcore when it comes to handling their systems. Windows makes people lazy - why bother with something that can't be done with a click?

... run optimised linux apps. It ran well enough for Aaron at the time and we didn't get any complaints or problems.

Fast forward to 2013. Aaron vanished again some time ago, which means the app is pretty much unmaintained. The other Linux guy that peeked has yet to deliver. We'd love to port x41zc to Linux, but we need a dev who can do it.

Sorry, this is where we are victim to Linux running too well!

For a quick poke: ;-)

I'm running Aaron's optimised app on various hardware and it just simply works well. Hence no need to touch unless there is some startling new development or new hardware... And there's the aspect for my involvement...

Sorry, I'll next look at this again only upon a new round of software or hardware upgrades. Anything needed for my systems I'll automate so that others can then also have an automated installer. (I have that already but not for a "single click", it is unusably customised to my unique system setup only :-( )


So, the Linux app is stuck at x41g for the forseeable future. It's not a bad app, it's V7 compliant. ...

There is also a 'race' on when Berkeley themselves incorporate the latest optimised code in their standard app. That then makes anything 'custom' unnecessary.

I'll make a general purpose installer if that doesn't happen before the next round of hardware upgrades on the machines here.


As to why the values were set like that - no idea. I didn't write that particular app_info. In the Windows versions both values are identical and small. IIRC BOINC will only reserve a core when the cummulative values surpass 1.

It shouldn't need a free core to be properly fed, but since we don't have the dev to debug and liase with NVidia, I'm afraid you'll have to run like that.
Look at the bright side - you found an easy solution...

Not sure if this is what you're talking about, but I have:

<avg_ncpus>0.20</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
<coproc>
<type>CUDA</type>
<count>0.5</count>
</coproc>

I found those to be 'optimum' for running two CUDA WUs on what is now an old PhenomII system.


Until the next poke ;-)

Happy fast crunchin',
Martin
____________
See new freedom: Mageia4
Linux Voice See & try out your OS Freedom!
The Future is what We make IT (GPLv3)

Previous · 1 · 2

Message boards : Number crunching : Linux GPU setup

Copyright © 2014 University of California