Message boards :
Number crunching :
Summarize Cuda?
Message board moderation
Author | Message |
---|---|
PhonAcq Send message Joined: 14 Apr 01 Posts: 1656 Credit: 30,658,217 RAC: 1 |
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? |
popandbob Send message Joined: 19 Mar 05 Posts: 551 Credit: 4,673,015 RAC: 0 |
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 |
Geek@Play Send message Joined: 31 Jul 01 Posts: 2467 Credit: 86,146,931 RAC: 0 |
What does 4+1 and 3+1 mean??? Boinc....Boinc....Boinc....Boinc.... |
popandbob Send message Joined: 19 Mar 05 Posts: 551 Credit: 4,673,015 RAC: 0 |
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 |
skildude Send message Joined: 4 Oct 00 Posts: 9541 Credit: 50,759,529 RAC: 60 |
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 |
kittyman Send message Joined: 9 Jul 00 Posts: 51478 Credit: 1,018,363,574 RAC: 1,004 |
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? "Time is simply the mechanism that keeps everything from happening all at once." |
Geek@Play Send message Joined: 31 Jul 01 Posts: 2467 Credit: 86,146,931 RAC: 0 |
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.... |
Euan Holton Send message Joined: 4 Sep 99 Posts: 65 Credit: 17,441,343 RAC: 0 |
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. |
Euan Holton Send message Joined: 4 Sep 99 Posts: 65 Credit: 17,441,343 RAC: 0 |
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. |
skildude Send message Joined: 4 Oct 00 Posts: 9541 Credit: 50,759,529 RAC: 60 |
I thought I read that Seti will run on the Cuda card only, not on both the CPU and the Cuda card concurrently.... 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 |
Dorsilfin Send message Joined: 28 Jul 08 Posts: 69 Credit: 4,484,890 RAC: 0 |
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 |
jason_gee Send message Joined: 24 Nov 06 Posts: 7489 Credit: 91,093,184 RAC: 0 |
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. |
ML1 Send message Joined: 25 Nov 01 Posts: 21253 Credit: 7,508,002 RAC: 20 |
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) |
Geek@Play Send message Joined: 31 Jul 01 Posts: 2467 Credit: 86,146,931 RAC: 0 |
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. 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.... |
jason_gee Send message Joined: 24 Nov 06 Posts: 7489 Credit: 91,093,184 RAC: 0 |
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. |
Geek@Play Send message Joined: 31 Jul 01 Posts: 2467 Credit: 86,146,931 RAC: 0 |
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.... |
Euan Holton Send message Joined: 4 Sep 99 Posts: 65 Credit: 17,441,343 RAC: 0 |
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. |
Geek@Play Send message Joined: 31 Jul 01 Posts: 2467 Credit: 86,146,931 RAC: 0 |
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.... |
jason_gee Send message Joined: 24 Nov 06 Posts: 7489 Credit: 91,093,184 RAC: 0 |
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. |
jason_gee Send message Joined: 24 Nov 06 Posts: 7489 Credit: 91,093,184 RAC: 0 |
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. |
©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.