Summarize Cuda?

Message boards : Number crunching : Summarize Cuda?
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · Next

AuthorMessage
PhonAcq

Send message
Joined: 14 Apr 01
Posts: 1656
Credit: 30,658,217
RAC: 1
United States
Message 841426 - Posted: 18 Dec 2008, 13:42:54 UTC

Could someone knowledgeable summarize how cuda is architected, to save the rest of us some time?

For example, it seems that the application is written in VS/C++. So that is a Window's platform. How does it gain access to the GPU resources?

Does the cuda app appear in the task manager as separate process? That is, say, on a quad would I see 4 processes running on the quad and 1 more running, which is the cuda? Or would I see 4 'normal' and 4 'cudas'?

Is there a problem with buying a cuda-capable card and putting it into my oldest machine (dual P-II) for seti-only purposes?

By the way, is the VS/C++ cuda application actually a .NET application, too?
ID: 841426 · Report as offensive
Profile popandbob
Volunteer tester

Send message
Joined: 19 Mar 05
Posts: 551
Credit: 4,673,015
RAC: 0
Canada
Message 841434 - Posted: 18 Dec 2008, 14:32:28 UTC - in response to Message 841426.  

It gets video card resources through the drivers.

It will run 4+1 if the gpu task is not high priority, if it is then it will be 3+1

The only thing is that you need a PCI-Express slot... most older pc's wouldn't have that.

~Bob


Do you Good Search for Seti@Home? http://www.goodsearch.com/?charityid=888957
Or Good Shop? http://www.goodshop.com/?charityid=888957
ID: 841434 · Report as offensive
Profile Geek@Play
Volunteer tester
Avatar

Send message
Joined: 31 Jul 01
Posts: 2467
Credit: 86,146,931
RAC: 0
United States
Message 841435 - Posted: 18 Dec 2008, 14:40:22 UTC

What does 4+1 and 3+1 mean???

Boinc....Boinc....Boinc....Boinc....
ID: 841435 · Report as offensive
Profile popandbob
Volunteer tester

Send message
Joined: 19 Mar 05
Posts: 551
Credit: 4,673,015
RAC: 0
Canada
Message 841436 - Posted: 18 Dec 2008, 14:42:46 UTC - in response to Message 841435.  

The number of tasks that will run on a quad core


Do you Good Search for Seti@Home? http://www.goodsearch.com/?charityid=888957
Or Good Shop? http://www.goodshop.com/?charityid=888957
ID: 841436 · Report as offensive
Profile skildude
Avatar

Send message
Joined: 4 Oct 00
Posts: 9541
Credit: 50,759,529
RAC: 60
Yemen
Message 841446 - Posted: 18 Dec 2008, 15:22:19 UTC

and you won't be able to install any PCI-E card on an old P2-p3 or early p4 mobo. Cuda cards and PCI-E are for modern CPU/Mobo combos. THus Cuda is meant to be used with newer CPU's/Mobo's only


In a rich man's house there is no place to spit but his face.
Diogenes Of Sinope
ID: 841446 · Report as offensive
kittyman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Jul 00
Posts: 51468
Credit: 1,018,363,574
RAC: 1,004
United States
Message 841448 - Posted: 18 Dec 2008, 15:26:36 UTC
Last modified: 18 Dec 2008, 15:27:06 UTC

I thought I read that Seti will run on the Cuda card only, not on both the CPU and the Cuda card concurrently....
Is that information incorrect, or has it changed?

And in the case of 2 Cuda cards in one rig....do they each take a cpu core?
"Freedom is just Chaos, with better lighting." Alan Dean Foster

ID: 841448 · Report as offensive
Profile Geek@Play
Volunteer tester
Avatar

Send message
Joined: 31 Jul 01
Posts: 2467
Credit: 86,146,931
RAC: 0
United States
Message 841451 - Posted: 18 Dec 2008, 15:32:57 UTC
Last modified: 18 Dec 2008, 15:33:18 UTC

It should be posssible to write an app_info file that would crunch MB using CUDA on the GPU and another project (AP) on the remaining CPU cores.
Boinc....Boinc....Boinc....Boinc....
ID: 841451 · Report as offensive
Profile Euan Holton
Avatar

Send message
Joined: 4 Sep 99
Posts: 65
Credit: 17,441,343
RAC: 0
United Kingdom
Message 841452 - Posted: 18 Dec 2008, 15:33:22 UTC - in response to Message 841448.  

The behaviour I saw with my CUDA enabled box last night is that SETI@Home Enhanced workunits were only being run on the GPU. My guess, for machines that have multiple GPUs, is that they'll run one client per card.

Because Enhanced workunits were not being allocated to CPUs, I had some utilisation issues (less than 8 threads being used on my i7) until my other projects decided to let me have some more work.

I'm currently trying to decide whether the trade-off between a 20-fold increase in reported processing times for Enhanced workunits plus more compute errors and being forced to used an unoptimised Astropulse client while the CUDA client stabilises is worth it.
ID: 841452 · Report as offensive
Profile Euan Holton
Avatar

Send message
Joined: 4 Sep 99
Posts: 65
Credit: 17,441,343
RAC: 0
United Kingdom
Message 841455 - Posted: 18 Dec 2008, 15:42:07 UTC - in response to Message 841451.  

It should be posssible to write an app_info file that would crunch MB using CUDA on the GPU and another project (AP) on the remaining CPU cores.

It should be possible, yes, but I decided against it last night as I decided to hold off from using one for now. I'm waiting because I've seen a significant number of compute errors from the CUDA client and I wouldn't be at all surprised if the project administrators issues a bugfix or similar update to it in the next few days.
ID: 841455 · Report as offensive
Profile skildude
Avatar

Send message
Joined: 4 Oct 00
Posts: 9541
Credit: 50,759,529
RAC: 60
Yemen
Message 841464 - Posted: 18 Dec 2008, 15:59:13 UTC - in response to Message 841448.  

I thought I read that Seti will run on the Cuda card only, not on both the CPU and the Cuda card concurrently....
Is that information incorrect, or has it changed?

And in the case of 2 Cuda cards in one rig....do they each take a cpu core?

6.4.5 BOINC allows for 4CPU + a 1 GPU I haven't read anything here that says you can't get 2 gpu's crunching. Give it a try and let everyone know how it goes.


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

Send message
Joined: 28 Jul 08
Posts: 69
Credit: 4,484,890
RAC: 0
United States
Message 841466 - Posted: 18 Dec 2008, 16:04:15 UTC

Im running Dual 8800GTS's, no problem.

Its not burning any WU's on the quad CPu tho.. just feeding the dual GPU's.
My City
ID: 841466 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 841475 - Posted: 18 Dec 2008, 16:27:55 UTC - in response to Message 841451.  
Last modified: 18 Dec 2008, 16:29:52 UTC

It should be posssible to write an app_info file that would crunch MB using CUDA on the GPU and another project (AP) on the remaining CPU cores.


It should, Yes, but I've now flushed a couple of cachefulls trying, and hit the download limit :C. Have managed to make it not delete AKv8 anymore at least, but it's not liking duplicate application version blocks, and goes straight to GPU or vice versa.

Won't know if AP will function in parallel again until I get more work for it.

What I'd really like, if anybody manages to work out if it's even possible, is to have my dual core running AKv8 Multibeam + GPU running the new app.

Cheers.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 841475 · Report as offensive
Profile ML1
Volunteer moderator
Volunteer tester

Send message
Joined: 25 Nov 01
Posts: 20289
Credit: 7,508,002
RAC: 20
United Kingdom
Message 841478 - Posted: 18 Dec 2008, 16:30:12 UTC - in response to Message 841426.  
Last modified: 18 Dec 2008, 16:34:09 UTC

Trying to answer directly:
... it seems that the application is written in VS/C++. So that is a Window's platform. How does it gain access to the GPU resources?

By using nVidia graphics drivers/libraries just as you would for drawing graphics on the screen. The only differences are the names of the routines, the parameters passed, and from that what is actually done on the system.

Does the cuda app appear in the task manager as separate process? That is, say, on a quad would I see 4 processes running on the quad and 1 more running, which is the cuda? Or would I see 4 'normal' and 4 'cudas'?

Your task manager should only see the supporting CPU routines/threads. The GPU processing and processes are internal to the graphics card. There may well be a utility somewhere to show you what the GPU is processing.

If/when the Boinc configuration supports it, you should get to see your usual CPU-based WUs doing their stuff and then additionally further low CPU utilisation tasks that are supporting GPU operation. I'd expect that aspect will take a bit of debugging to settle down yet.

Is there a problem with buying a cuda-capable card and putting it into my oldest machine (dual P-II) for seti-only purposes?

Yes: Waste of effort and expense?

I really doubt it would be worthwhile going to the trouble and expense of adding a ISA/PCI -> PCIe adapter -> PCIe CUDA GPU only for the system to be strangled by the low data bandwidth available to swap results around. And that assumes that you also upgrade the old PSU and cooling!

Better would be to add additional CUDA GPUs to your main recent PCIe PC. Or even put together a minimalist PCIe CUDA farm!

By the way, is the VS/C++ cuda application actually a .NET application, too?

Depends on what development tools they are using. Why do you ask?

I would guess that once the Windows version has stabilised, then development effort will go into making other platforms available (Linux, Mac new OS, others?).

All just my own uninformed guesses. Developers please jump in as necessary!

Happy fast crunchin',
Martin
See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 841478 · Report as offensive
Profile Geek@Play
Volunteer tester
Avatar

Send message
Joined: 31 Jul 01
Posts: 2467
Credit: 86,146,931
RAC: 0
United States
Message 841483 - Posted: 18 Dec 2008, 16:46:07 UTC - in response to Message 841475.  

It should be posssible to write an app_info file that would crunch MB using CUDA on the GPU and another project (AP) on the remaining CPU cores.


It should, Yes, but I've now flushed a couple of cachefulls trying, and hit the download limit :C. Have managed to make it not delete AKv8 anymore at least, but it's not liking duplicate application version blocks, and goes straight to GPU or vice versa.

Won't know if AP will function in parallel again until I get more work for it.

What I'd really like, if anybody manages to work out if it's even possible, is to have my dual core running AKv8 Multibeam + GPU running the new app.

Cheers.


I believe you would have to specify another project for the CPU cores once you have MB running on the GPU.


Boinc....Boinc....Boinc....Boinc....
ID: 841483 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 841492 - Posted: 18 Dec 2008, 17:13:07 UTC - in response to Message 841483.  


I believe you would have to specify another project for the CPU cores once you have MB running on the GPU.


Oh well, certainly not how I pictured it should work. Will have to ramp up multithreaded experimentation and use all cores + GPU instead.

"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 841492 · Report as offensive
Profile Geek@Play
Volunteer tester
Avatar

Send message
Joined: 31 Jul 01
Posts: 2467
Credit: 86,146,931
RAC: 0
United States
Message 841504 - Posted: 18 Dec 2008, 17:43:24 UTC

Well, I'm not going to be able to try this new CUDA stuff until my new video card arrives either Friday or Monday. Meanwhile I have installed Boinc 6.4.5 and am currently crunching the cache down. Funny thing is that the work is being done in EDF and high priority mode as I crunch it down. Also downloaded the CUDA video driver version 178.28.

Currently working to set up an app_info file that would crunch MB on the NVIDIA video card under CUDA and optimized AP on the CPU cores. This should be possible. This is what I have so far.

<app_info>	
    <app>
        <name>setiathome_enhanced</name>
    </app>
    <file_info>
        <name>setiathome_6.05_windows_intelx86__cuda.exe</name>
        <executable/>
    </file_info>
    <file_info>
	<name>cudart.dll</name>
	<executable/>
    </file_info>
    <file_info>
	<name>cufft.dll</name>
	<executable/>
    </file_info>
    <file_info>
	<name>libfftw3f-3-1-1a_upx.dll</name>
	<executable/>
    </file_info>
    <app_version>
        <app_name>setiathome_enhanced</app_name>
        <version_num>605</version_num>
        <file_ref>
            <file_name>setiathome_6.05_windows_intelx86__cuda.exe</file_name>
            <main_program/>
	<file_ref>
		<file_name>cudart.dll</file_name>
	</file_ref>
	<file_ref>
		<file_name>cufft.dll</file_name>
	</file_ref>
	<file_ref>
		<file_name>libfftw3f-3-1-1a_upx.dll</file_name>
        </file_ref>
    </app_version>
    <app>
	<name>astropulse</name>
    </app>
    <file_info>
	<name>ap_5.00r69_SSE3.exe</name>
	<executable/>
    </file_info>
    <file_info>
	<name>libfftw3f-3-1-1a_upx.dll</name>
	<executable/>
    </file_info>
    <app_version>
	<app_name>astropulse</app_name>
	<version_num>500</version_num>
	<file_ref>
	    <file_name>ap_5.00r69_SSE3.exe</file_name>
	    <main_program/>
	</file_ref>
	<file_ref>
	    <file_name>libfftw3f-3-1-1a_upx.dll</file_name>
	</file_ref>
    </app_version>
</app_info>



The nice thing is since the files required for CUDA and MB are supplied by Seti then they should download from SETI when Boinc starts up with this app_info file.

Anyone see any problems with this app_info code???

Boinc....Boinc....Boinc....Boinc....
ID: 841504 · Report as offensive
Profile Euan Holton
Avatar

Send message
Joined: 4 Sep 99
Posts: 65
Credit: 17,441,343
RAC: 0
United Kingdom
Message 841506 - Posted: 18 Dec 2008, 17:50:19 UTC - in response to Message 841504.  

That looks very similar to what I was coming up with, except I'm not sure that Enhanced needs libfftw3f-3-1-1a_upx.dll; from the name I think cufft.dll is where the fast Fourier transforms are taking place.

I'll try and test it when I get home later.
ID: 841506 · Report as offensive
Profile Geek@Play
Volunteer tester
Avatar

Send message
Joined: 31 Jul 01
Posts: 2467
Credit: 86,146,931
RAC: 0
United States
Message 841507 - Posted: 18 Dec 2008, 17:53:40 UTC

Jasson_Gee listed libfftw3f-3-1-1a_upx.dll as one required by CUDA. It's required for AP 5.00 but may not be required for CUDA.
Boinc....Boinc....Boinc....Boinc....
ID: 841507 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 841508 - Posted: 18 Dec 2008, 17:54:13 UTC
Last modified: 18 Dec 2008, 17:57:12 UTC

Need to add the <coproc> & other fields ... I think if you want autodownload you might have to put url tags for the files as well, though not sure. [Haven't tried that part myself]

probably don't need all these extra, but definitely the coproc section. I think the ncpus fields is part of what allows boinc to decide how many to run.

<app_name>setiathome_enhanced</app_name>
<version_num>605</version_num>
<plan_class>cuda</plan_class>
<avg_ncpus>0.025947</avg_ncpus>
<max_ncpus>0.025947</max_ncpus>
<flops>3702857142.857143</flops>
<api_version>6.3.22</api_version>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 841508 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 841511 - Posted: 18 Dec 2008, 17:55:59 UTC - in response to Message 841507.  
Last modified: 18 Dec 2008, 17:56:26 UTC

Jasson_Gee listed libfftw3f-3-1-1a_upx.dll as one required by CUDA. It's required for AP 5.00 but may not be required for CUDA.



If it isn't there, it pops up with a dialog box saying "couldn;t find DLL ..." ... So yes you need that one too :)
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 841511 · Report as offensive
1 · 2 · 3 · Next

Message boards : Number crunching : Summarize Cuda?


 
©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.