Yet another Linux GPU/CUDA Apps thread.

Message boards : Number crunching : Yet another Linux GPU/CUDA Apps thread.
Message board moderation

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331253 - Posted: 25 Jan 2013, 19:52:10 UTC

Hello folks.

I've already been running CPU optimized apps on my Linux machines for quite some time.

This has been pretty simple for me, I find out what instruction sets the proc supports, and go to Arkayn's site and get the appropriate package containing MB and AP apps and the appinfo.xml, then I place these files where they need to go. Easy enough.

Now, since I have some time today and over the weekend I'm bringing boinc to a Linux PC with a (somewhat) usable GPU. The boinc package I'm installing, will be stock for a day or two possibly, just to do some testing for Debian maintainers. I will try to do some GPU and CPU work with the stock apps at firs and see how it goes.

Considerations: It's a GT630 GPU, the OS currently has 295.4 Nvidia drivers so I don't think I'll have to worry about any issues? Unless I'm running the sleep bug version? (haven't got that far yet)

Specs:
64 Bit Linux Kernel 3.2.0.xx, GT630 w/295.4 proprietary drivers, Core2 Quad Q6700 2.66GHz, 4G RAM

Questions:
1. When using a GPU, say I add AP and MB op-apps for GPU, can I still also have op-apps for both AP and MB on CPU, or do pick one device (cpu or gpu) for each type of work?
2. How do I work out my App_info.xml based on the answer to question 1?
3. Do you see any issues with my setup I should be aware of, bugs etc?

4. APPS. Help me out here. Is there even a way to do AP units on CUDA?
4.b Is it true that some apps are now hard to come by?



Basically help out the GPU newb to understand the differences I'm moving into now. It was pretty simple handling two apps when just worrying about a CPU, especially with the pre-packaged app_info.xml files :-)

Now I'm moving into this new world.


#resist
ID: 1331253 · Report as offensive
Profile skildude
Avatar

Send message
Joined: 4 Oct 00
Posts: 9541
Credit: 50,759,529
RAC: 60
Yemen
Message 1331285 - Posted: 25 Jan 2013, 21:13:57 UTC - in response to Message 1331253.  

1) if you intend to run on both the GPU and CPU and only want to run the optimized app on the GPU you'll need the app_info to point to an app for the CPU.

2) I've always just copied and pasted Linux app_info's from the lunatics site. or what others have provided. It's been a while since I've actually installed the files but usually the downloads have an app_info attached

3) I always try to run 2Gb ram per core of CPU. Newer OSes and BOINC apps can sometimes be a bit RAM greedy.

4) I think they have an AP app either working or being worked on at the lunatics site. IIRC it is OpenCL.

b) not sure what you mean by hard to come by. The lunatics installer was removed but individual apps and app_info files are still available IIRC


In a rich man's house there is no place to spit but his face.
Diogenes Of Sinope
ID: 1331285 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331291 - Posted: 25 Jan 2013, 21:28:53 UTC - in response to Message 1331285.  
Last modified: 25 Jan 2013, 21:30:06 UTC

1) if you intend to run on both the GPU and CPU and only want to run the optimized app on the GPU you'll need the app_info to point to an app for the CPU.

2) I've always just copied and pasted Linux app_info's from the lunatics site. or what others have provided. It's been a while since I've actually installed the files but usually the downloads have an app_info attached

3) I always try to run 2Gb ram per core of CPU. Newer OSes and BOINC apps can sometimes be a bit RAM greedy.

4) I think they have an AP app either working or being worked on at the lunatics site. IIRC it is OpenCL.

b) not sure what you mean by hard to come by. The lunatics installer was removed but individual apps and app_info files are still available IIRC


Thanks Skil.
#1) I intend on running optimized apps only, after my initial testing of stock Boinc.
2) Doesn't the app_info need to reflect all optimized apps in use? If I mix and match individual apps instead of using one of Arkayn's packages, I assume I need to modify my own app_info accordingly?
3) I'm outta luck on that one, 4gigs is the most this PC will ever have so I'm limited to 1G per core (shouldn't be an issue with seti in my experience). I also intend to leave one core free for feeding the GPU, is that necessary?
4) I'll look into that, in the meantime I'll concentrate on CUDA MB for the GPU, and MB+AP for the CPU (which I'm still curious if it's do-able to send the same type of work to both my GPU and CPU optimized apps?)
4b) We don't need no stinkin' installers :-). As long as all the apps are still available we're all good.
#resist
ID: 1331291 · Report as offensive
Profile skildude
Avatar

Send message
Joined: 4 Oct 00
Posts: 9541
Credit: 50,759,529
RAC: 60
Yemen
Message 1331293 - Posted: 25 Jan 2013, 21:32:46 UTC - in response to Message 1331291.  

2) Yes, You could, if you wanted and which I can't imagine why you'd want to do it, you can change the app_info to reflect the stock CPU apps and optimized GPU. You may need to piece together an app_info from the lunatics site.


In a rich man's house there is no place to spit but his face.
Diogenes Of Sinope
ID: 1331293 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1331294 - Posted: 25 Jan 2013, 21:33:24 UTC - in response to Message 1331253.  

To me,

there is AP AVX, MB CUDA and MB CPU from lunatics for linux.

I'm running an intel i7 3930K@4.5GHz 24/7 and MSI Gf 560TiOC and an MSI Gf Gtx660 utilizing 3 tasks at a time on fedora core 14 linux.

My settings are HT enabled on bios.
Seti: use 50% of processors.

That means
**** Seti has 6 cores for CPU tasks (fpu, alu, avx).
**** With GPU and lunatics CPU AVX. I still have 6 cores idle. These cores are just waiting for the GPU app to require a) a memory transfer b) some CPU floating point arithmetic c) or something the GPU app needs for.


my app_info.xml is: (# cat app_info.xml)
<app_info>
<app>
<name>astropulse_v6</name>
</app>
<file_info>
<name>ap_6.01r546_avx_linux64</name>
<executable/>
</file_info>
<app_version>
<app_name>astropulse_v6</app_name>
<version_num>601</version_num>
<file_ref>
<file_name>ap_6.01r546_avx_linux64</file_name>
<main_program/>
</file_ref>
</app_version>

<app>
<name>setiathome_enhanced</name>
</app>

<file_info>
<name>AK_V8_linux64_ssse3</name>
<executable/>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>5.28</version_num>
<file_ref>
<file_name>AK_V8_linux64_ssse3</file_name>
<main_program/>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>603</version_num>
<file_ref>
<file_name>AK_V8_linux64_ssse3</file_name>
<main_program/>
</file_ref>
</app_version>

<file_info>
<name>setiathome_x41g_x86_64-pc-linux-gnu_cuda32</name>
<executable/>
</file_info>
<file_info>
<name>libcudart.so.3</name>
<executable/>
</file_info>
<file_info>
<name>libcufft.so.3</name>
<executable/>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>611</version_num>
<platform>x86_64-pc-linux-gnu</platform>
<plan_class>cuda_fermi</plan_class>
<avg_ncpus>0.01</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
<coproc>
<type>CUDA</type>
<count>0.33</count>
</coproc>
<file_ref>
<file_name>setiathome_x41g_x86_64-pc-linux-gnu_cuda32</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.3</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.3</file_name>
</file_ref>
</app_version>

<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>609</version_num>
<platform>x86_64-pc-linux-gnu</platform>
<plan_class>cuda_fermi</plan_class>
<avg_ncpus>0.01</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
<coproc>
<type>CUDA</type>
<count>0.33</count>
</coproc>
<file_ref>
<file_name>setiathome_x41g_x86_64-pc-linux-gnu_cuda32</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.3</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.3</file_name>
</file_ref>
</app_version>

<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>608</version_num>
<platform>x86_64-pc-linux-gnu</platform>
<plan_class>cuda_fermi</plan_class>
<avg_ncpus>0.01</avg_ncpus>
<max_ncpus>1.0</max_ncpus>
<coproc>
<type>CUDA</type>
<count>0.33</count>
</coproc>
<file_ref>
<file_name>setiathome_x41g_x86_64-pc-linux-gnu_cuda32</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.3</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.3</file_name>
</file_ref>
</app_version>
</app_info>


To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1331294 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331304 - Posted: 25 Jan 2013, 21:50:58 UTC - in response to Message 1331293.  
Last modified: 25 Jan 2013, 21:58:07 UTC

2) Yes, You could, if you wanted and which I can't imagine why you'd want to do it, you can change the app_info to reflect the stock CPU apps and optimized GPU. You may need to piece together an app_info from the lunatics site.

You keep mentioning stock apps. I will be using ONLY optimized apps. ;-)


Further fun facts for this adventure.
Boinc 7.0.45 Pre-release. :-D


So far running stock it hasn't touched my GPU. So I may just start playing with Optimized apps tonight.
#resist
ID: 1331304 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331330 - Posted: 25 Jan 2013, 22:41:21 UTC
Last modified: 25 Jan 2013, 22:46:52 UTC

So thanks for the input so far guys. I'm figuring things out.

-I can run MB units on both the CPU and GPU with optimized apps.
-As there is not really an AP app for cuda I should be concerned with yet, I can just concentrate on a CUDA MB app for my GPU.

With Petri's Appinfo I have something to go on, I'm sure at some point I'll need some more input on the app-info.xml.

AP and MB optimized apps for my proc, I think ssse3 apps are best but I have no AVX hmmm.

Oh, are there any dependencies I should be taking care of that will be needed to use CUDA on Linux?


(Between bumping up my server 75% capacity for Seti, and running the second machine now at almost 100%, the house is warming up. :-), Soon as I get the GPU going It'll be nice and toasty in my lab)
#resist
ID: 1331330 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1331343 - Posted: 25 Jan 2013, 23:22:43 UTC - in response to Message 1331330.  

-As there is not really an AP app for cuda I should be concerned with yet, I can just concentrate on a CUDA MB app for my GPU.

There aren't any Cuda Astropulse apps for any platform, the Windows Astropulse GPU apps are OpenCL apps, an important difference as OpenCL support needs to be available as well as Cuda support,

Claggy
ID: 1331343 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331368 - Posted: 26 Jan 2013, 0:58:17 UTC

So I'm still all stock right now. Boinc sees my GPU, it shows on this machine in my stats as well. I have several .vlars downloaded, it's not doing anything with them. *scratches head*

#resist
ID: 1331368 · Report as offensive
Profile arkayn
Volunteer tester
Avatar

Send message
Joined: 14 May 99
Posts: 4438
Credit: 55,006,323
RAC: 0
United States
Message 1331393 - Posted: 26 Jan 2013, 2:58:09 UTC - in response to Message 1331368.  

So I'm still all stock right now. Boinc sees my GPU, it shows on this machine in my stats as well. I have several .vlars downloaded, it's not doing anything with them. *scratches head*


You are forgetting one thing.

There is not stock CUDA app for Linux.

ID: 1331393 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331396 - Posted: 26 Jan 2013, 3:04:50 UTC - in response to Message 1331393.  

So I'm still all stock right now. Boinc sees my GPU, it shows on this machine in my stats as well. I have several .vlars downloaded, it's not doing anything with them. *scratches head*


You are forgetting one thing.

There is not stock CUDA app for Linux.

Why thank you sir!
That explains a bit.

This concludes my testing of stock Boinc.

On to Optimized apps. :-)
#resist
ID: 1331396 · Report as offensive
Profile BilBg
Volunteer tester
Avatar

Send message
Joined: 27 May 07
Posts: 3720
Credit: 9,385,827
RAC: 0
Bulgaria
Message 1331399 - Posted: 26 Jan 2013, 3:19:54 UTC - in response to Message 1331396.  


I think is not hard to combine several opt packages (CPU + GPU) (but mind I don't run Linux)

- put all the files from all packages in the SETI directory
- do chmod +x if needed for the executables
- merge/concatenate all app_info.xml files into one and delete the lines in the middle:
</app_info>
<app_info>

(you have to have only one tag <app_info> in the beginning and one tag </app_info> at the end of file)


 


- ALF - "Find out what you don't do well ..... then don't do it!" :)
 
ID: 1331399 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331401 - Posted: 26 Jan 2013, 3:24:54 UTC - in response to Message 1331399.  


I think is not hard to combine several opt packages (CPU + GPU) (but mind I don't run Linux)

- put all the files from all packages in the SETI directory
- do chmod +x if needed for the executables
- merge/concatenate all app_info.xml files into one and delete the lines in the middle:
</app_info>
<app_info>

(you have to have only one tag <app_info> in the beginning and one tag </app_info> at the end of file)



Sounds good sir!

#resist
ID: 1331401 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331411 - Posted: 26 Jan 2013, 3:42:38 UTC - in response to Message 1331393.  

So I'm still all stock right now. Boinc sees my GPU, it shows on this machine in my stats as well. I have several .vlars downloaded, it's not doing anything with them. *scratches head*


You are forgetting one thing.

There is not stock CUDA app for Linux.


Side note: I have installed boinc-nvidia-cuda, is this only for optimized apps? and meaningless without optimized apps?
#resist
ID: 1331411 · Report as offensive
Profile BilBg
Volunteer tester
Avatar

Send message
Joined: 27 May 07
Posts: 3720
Credit: 9,385,827
RAC: 0
Bulgaria
Message 1331417 - Posted: 26 Jan 2013, 4:29:16 UTC - in response to Message 1331411.  


I don't know what is "boinc-nvidia-cuda"

What did you get?:
http://www.arkayn.us/forum/index.php?action=tpmod;dl=cat57
http://www.arkayn.us/forum/index.php?action=tpmod;dl=cat5

http://lunatics.kwsn.net/index.php?module=Downloads;catd=1


 


- ALF - "Find out what you don't do well ..... then don't do it!" :)
 
ID: 1331417 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1331419 - Posted: 26 Jan 2013, 4:35:52 UTC

It's a Linux specific package, available in the repositories as a companion to boinc.

Regular users (rightously) often find it an unbearable nuissance to care for the exact configuration of BOINC for CUDA-savvy graphics cards. This package adds a series of dependencies from the non-free section to the regular boinc package. This also meant this binary package to be redistributed in the contrib section of Debian.


I'm curious what it is specifically if I need it to crunch CUDA with optimized apps? and if not then what is it's purpose?

I guess I'll leave it until I have reason to remove it.




Far as where I am, I've got my Optimized apps lined up. I'm about to mash-up the appinfo and either tonight or in the AM I'll throw em on that machine and see how it goes.
#resist
ID: 1331419 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1332005 - Posted: 27 Jan 2013, 15:49:12 UTC

Currently I'm waiting for my cache to finish crunching, before I add the optimized apps and appinfo.xml. Should be done later tonight.


In the meantime.

1) How do you control how many wu's your card does at one time (I'm obviously going to be limited to one at a time, correct?)
2) How do you control your max % of use on a video card
#resist
ID: 1332005 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14645
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1332006 - Posted: 27 Jan 2013, 16:25:42 UTC - in response to Message 1332005.  

1) How do you control how many wu's your card does at one time (I'm obviously going to be limited to one at a time, correct?)

You put the reciprocal of the number you want to run at once in the <count> field of the <coproc> structure in app_info.xml - see the documentation for anonymous platform if your template doesn't have that already.

2) How do you control your max % of use on a video card

You don't. It's either on or off, whatever the various fields say. How high the utilisation is depends on how good the app is, and whether the task it's processing is suitable for parallelisation. There is a first attempt to allow fractional control in alpha BOINC v7.0.45, using the existing "Use at most x% CPU time" setting - but according to early bug reports, it doesn't work yet.

A request to make the GPU control separate from the CPU control has been accepted, but not implemented yet. The BOINC throttle only turns the whole CPU (and hence GPU card, I guess) on a timescale of whole seconds - and a second is an eternity for a GPU. I'm expecting early reports of GPU failure by thermal stress cycling when it eventually goes live.
ID: 1332006 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1332007 - Posted: 27 Jan 2013, 16:44:46 UTC

Thanks for that.


I am using 7.0.45 pre release actually built within the past couple days. This particular machine is doing fine with its cpu at 100%. So I'll leave it as is.

But basically once this new feature is working, throttling down my CPU using boinc will also throttle the GPU? hmmm.


#resist
ID: 1332007 · Report as offensive
Profile Ex: "Socialist"
Volunteer tester
Avatar

Send message
Joined: 12 Mar 12
Posts: 3433
Credit: 2,616,158
RAC: 2
United States
Message 1332107 - Posted: 27 Jan 2013, 22:28:27 UTC
Last modified: 27 Jan 2013, 22:29:20 UTC

So I'm putting together my app_info.xml file.

Does this look kosher?
<app_info>
        <app>
		<name>setiathome_enhanced</name>
	</app>
	<file_info>
		<name>setiathome_x41g_x86_64-pc-linux-gnu_cuda32</name>
		<executable/>
	</file_info>
        <file_info>
		<name>libcudart.so.3</name>
		<executable/>
	</file_info>
	<file_info>
		<name>libcufft.so.3</name>
		<executable/>
	</file_info>
	<app_version>
		<app_name>setiathome_enhanced</app_name>
		<version_num>611</version_num>
		<platform>x86_64-pc-linux-gnu</platform>
		<plan_class>cuda_fermi</plan_class>
		<avg_ncpus>0.05</avg_ncpus>
		<max_ncpus>1.0</max_ncpus>
		<coproc>
			<type>CUDA</type>
			<count>1.0</count>
		</coproc>
		<file_ref>
			<file_name>setiathome_x41g_x86_64-pc-linux-gnu_cuda32</file_name>
			<main_program/>
		</file_ref>
		<file_ref>
			<file_name>libcudart.so.3</file_name>
		</file_ref>
		<file_ref>
			<file_name>libcufft.so.3</file_name>
		</file_ref>
	</app_version>
<app>
<name>setiathome_enhanced</name>
</app>
<file_info>
<name>AK_V8_linux64_sse3</name>
<executable/>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>528</version_num>
<file_ref>
<file_name>AK_V8_linux64_sse3</file_name>
<main_program/>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>603</version_num>
<file_ref>
<file_name>AK_V8_linux64_sse3</file_name>
<main_program/>
</file_ref>
</app_version>
	 <app>
        <name>astropulse_v6</name>
    </app>
    <file_info>
        <name>ap_6.01r546_sse3_linux64</name>
        <executable/>
    </file_info>
    <app_version>
        <app_name>astropulse_v6</app_name>
        <version_num>601</version_num>
        <file_ref>
            <file_name>ap_6.01r546_sse3_linux64</file_name>
            <main_program/>
        </file_ref>
    </app_version>   
    <app_version>
        <app_name>astropulse_v6</app_name>
        <version_num>603</version_num>
        <file_ref>
            <file_name>ap_6.01r546_sse3_linux64</file_name>
            <main_program/>
        </file_ref>
    </app_version>
</app_info>

#resist
ID: 1332107 · Report as offensive
1 · 2 · Next

Message boards : Number crunching : Yet another Linux GPU/CUDA Apps thread.


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.