![]() |
|
|
#12 |
|
May 2008
3·5·73 Posts |
Jason, when running msieve-gpu, it uses 100% of CPU. Is there a way to make it use less CPU and only do computation on GPU?
|
|
|
|
|
|
#13 |
|
Tribal Bullet
Oct 2004
3,541 Posts |
Beyond telling the CUDA driver that the process should not spin waiting for kernel calls to complete, I don't know how to force the application to yield the CPU while the graphics card is busy. Maybe you can run with -p to switch msieve to idle priority? I see 50-80% utilization on a dual core while poly selection is running, with occaisional bursts up to 100%. Your card is a lot nicer than mine, so maybe the CPU has to work harder to keep up :)
Last fiddled with by jasonp on 2009-10-12 at 18:00 |
|
|
|
|
|
#14 | ||
|
May 2008
3·5·73 Posts |
Quote:
Quote:
Hmm. Well it is a 8800GTS so I don't think it is better than your 9800GT. So the difference in CPU consumption is for some other reason. |
||
|
|
|
|
|
#15 |
|
Jun 2003
5,051 Posts |
Code:
commencing number field sieve polynomial selection time limit set to 300.00 hours searching leading coefficients from 1 to 2115959 deadline: 1600 seconds per coefficient coeff 60-960 395459735 435005708 435005709 478506279 ------- 395459735-435005708 435005709-478506279 poly 1 p 396019553 q 435057283 coeff 172291190743054499 poly 8 p 395868619 q 435084233 coeff 172236194466384227 poly 14 p 395853127 q 435133843 coeff 172249092415077061 poly 10 p 395661803 q 435139097 coeff 172167919674811891 |
|
|
|
|
|
#16 |
|
Apr 2003
22·193 Posts |
My GTX260 also uses one complete "virtual core". Its a i7 so it has 4 cores with HT making it 8 "virtual cores".
|
|
|
|
|
|
#17 | |
|
Jul 2003
So Cal
2×34×13 Posts |
Quote:
As a crude comparison of relative speeds, I created a cpu version by changing the #if statement. The CPU version output 5 "poly" lines in the time that the GPU version output 66 "poly" lines. By this crude measure, it's somewhere around 11-17 times faster. ![]() The S1070 here has 4 GPUs. Specifying the number of GPUs, and perhaps even which GPUs, would be useful. Last fiddled with by frmky on 2009-10-12 at 18:32 |
|
|
|
|
|
|
#18 |
|
May 2008
109510 Posts |
|
|
|
|
|
|
#19 |
|
Bamboozled!
"πΊππ·π·π"
May 2003
Down not across
10,753 Posts |
The good news is that with the assistance of Jason and Greg Childers I managed to compile a binary.
The bad news is: Code:
[pcl@maat msieve-gpu]$ ./msieve -np -i test.num deadline: 1600 seconds per coefficient error (line 137): CUDA_ERROR_FILE_NOT_FOUND [pcl@maat msieve-gpu]$ grep CUDA_ERROR_FILE_NOT_FOUND */* common/cuda_xface.c: case CUDA_ERROR_FILE_NOT_FOUND: return "CUDA_ERROR_FILE_NOT_FOUND"; Binary file common/cuda_xface.o matches Paul |
|
|
|
|
|
#20 |
|
Tribal Bullet
Oct 2004
354110 Posts |
axn: the code begins stage 2 after every output line appears there; this isn't like pol5, stage 1 output is not batched up and sent to stage 2 all at once.
Greg: thanks, that works much better. Am I correct that I can't use that flag if I want asynchronous behavior, i.e. if I build double-buffering into the code so that the CPU runs stage 2 while the GPU runs the next stage 1? jrk: my CPU usage drops to 10-15% with Greg's change Paul: once nvcc generates it, stage1_core.ptx is expected to be in the same directory as the msieve binary all: binary has been updated again. Last fiddled with by jasonp on 2009-10-12 at 19:08 |
|
|
|
|
|
#21 |
|
May 2008
3·5·73 Posts |
Just a quick thought: How much time do the kernels spend on the GPU relative to the overhead of loading them?
|
|
|
|
|
|
#22 | |
|
May 2008
109510 Posts |
Quote:
|
|
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Compiling Msieve with GPU support | LegionMammal978 | Msieve | 6 | 2017-02-09 04:28 |
| 5+ GPU support | TheMawn | GPU Computing | 3 | 2014-07-13 02:31 |
| Support AVX | Unregistered | Information & Answers | 5 | 2011-07-05 17:12 |
| Msieve with GNFS support | R.D. Silverman | Msieve | 465 | 2010-01-11 20:59 |
| Athlon64 support? | JuanTutors | Software | 1 | 2004-06-04 02:46 |