mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   GPU Computing (https://www.mersenneforum.org/forumdisplay.php?f=92)
-   -   CUDALucas (a.k.a. MaclucasFFTW/CUDA 2.3/CUFFTW) (https://www.mersenneforum.org/showthread.php?t=12576)

aaronhaviland 2014-03-03 00:47

[QUOTE=flashjh;364575][URL="https://sourceforge.net/projects/cudalucas/files/2.05%20Beta/"]r62 posted[/URL] to fix the -threadbench problem[/QUOTE]

threadbench fails on my cards under linux (64-bit).
My maxGridSize[0] is 2[SUP]32[/SUP]-1, and 1024*maxGridSize[0] overflows 32-bit integer type.

[CODE]--- CUDALucas.cu.orig
+++ CUDALucas.cu
@@ -2098,7 +2098,7 @@
fft = choose_fft_length(0, &j);

while(fft <= n) {
- if(isReasonable(fft) <= 1 && fft <= 1024 * g_dev.maxGridSize[0] && fft % 1024 == 0) {
+ if(isReasonable(fft) <= 1 && fft / 1024 <= g_dev.maxGridSize[0] && fft % 1024 == 0) {
cufftSafeCall (cufftPlan1d (&g_plan, fft / 2, CUFFT_Z2Z, 1));
for(k = 0; k < 2; k++) {
for (t = s[k]; t < e[k]; t++) {[/CODE]If Nvidia want to raise the gridsizes any higher in future hardware, they'll need to change the API (cuda_runtime_api.h declares maxGridSize as int)

owftheevil 2014-03-03 14:54

Thanks for pointing that out. It was fixed in r62, but by some form of inattention, found its way back into r63.

Edit: r64 is up, refixing the issue.

patrik 2014-03-12 21:37

[QUOTE=patrik;314706]I just completed a succesful double-check of M33273391 on my GPU with its memory downclocked to 1800 MHz. This seems to be the solution for this GPU.

The main problem for me was that I never underclocked (or overclocked) a GPU before, so I had to learn that nvidia had some tools that I could download.[/QUOTE]
This card has now been producing results for almost one and a half year, mostly DC-ing in the 10M digit range (exp just above 33.2M). However, a few weeks ago Primenet was out of exponents in that range, so I got exponents around 34.4M. This made CudaLucas (2.03) select a different FFT length.

All eight tests I ran for that range resulted in a non-matching residue, four of which were later confirmed bad by mprime. (The other four have tests by mprime in progress.)

Could it be that the underclock was stable only for certain FFT lengths, but not for others? I don't remember what self tests I ran 17 months ago.

My card is a Gigabyte GTX 570: GV-N570OC-13I V2.0
Windows 7 Home Premium, 64 bit (SP1).
Nvidia driver 306.97

One nearby exponent, same FFT, completed a verified test on another card and machine. I underclocked the memory of the card producing bad tests another 100 MHz down to 1700 MHz and have started another test in the range I got the bad ones.

List of exponents completed by this card in 2014:
[CODE]M( 33336041 )C, 0xa1ba4b60955e507b, n = 1835008, CUDALucas v2.03 Verified
M( 33336091 )C, 0xfeb4555212d4f4ee, n = 1835008, CUDALucas v2.03 Verified
M( 33336169 )C, 0xdbd40eaf554b2675, n = 1835008, CUDALucas v2.03 Verified
M( 33336197 )C, 0xbed813ed9c9d16dc, n = 1835008, CUDALucas v2.03 Verified
M( 33336221 )C, 0xc9af6488b22ce5da, n = 1835008, CUDALucas v2.03 Verified
M( 33336227 )C, 0xeed747f63850cd__, n = 1835008, CUDALucas v2.03 Unverified
M( 33338551 )C, 0xaa883a35b9a57740, n = 1835008, CUDALucas v2.03 Verified
M( 33338687 )C, 0x2aff2f81dea81d04, n = 1835008, CUDALucas v2.03 Verified
M( 33338759 )C, 0x15ba6062f66d7f3c, n = 1835008, CUDALucas v2.03 Verified
M( 33338801 )C, 0xd43485f4feddbec9, n = 1835008, CUDALucas v2.03 Verified
M( 33338861 )C, 0xb4e5931bfa1a4323, n = 1835008, CUDALucas v2.03 Verified
M( 33338911 )C, 0x2f179cdf89f39c41, n = 1835008, CUDALucas v2.03 Verified
M( 33338941 )C, 0xc9654436bc93afec, n = 1835008, CUDALucas v2.03 Verified
M( 33339049 )C, 0xefc01fd742be9490, n = 1835008, CUDALucas v2.03 Verified
M( 33339079 )C, 0x0f5a27109253cba5, n = 1835008, CUDALucas v2.03 Verified
M( 33340217 )C, 0xfebe365cd4d8262b, n = 1835008, CUDALucas v2.03 Verified
M( 33340259 )C, 0x803db62a1d4878c4, n = 1835008, CUDALucas v2.03 Verified
M( 33340273 )C, 0xbf815f87e5a244cd, n = 1835008, CUDALucas v2.03 Verified
M( 33340331 )C, 0x5b8b46fd69e1cf3f, n = 1835008, CUDALucas v2.03 Verified
M( 33340399 )C, 0x6055989608290c9f, n = 1835008, CUDALucas v2.03 Verified
M( 33338969 )C, 0xac6b1e36d116665e, n = 1835008, CUDALucas v2.03 Verified
M( 33340603 )C, 0x9a47d238a35be14b, n = 1835008, CUDALucas v2.03 Verified
M( 33340693 )C, 0xc8a725591822a7__, n = 1835008, CUDALucas v2.03 Unverified
M( 33340729 )C, 0x13115d90972b9106, n = 1835008, CUDALucas v2.03 Verified
M( 33340751 )C, 0x61fd1ed6ada34567, n = 1835008, CUDALucas v2.03 Verified
M( 33340969 )C, 0x12228227855bafd1, n = 1835008, CUDALucas v2.03 Verified
M( 33340973 )C, 0xf6bd7103e731cf__, n = 1835008, CUDALucas v2.03 Unverified
M( 33341003 )C, 0xe5da51c09e871f95, n = 1835008, CUDALucas v2.03 Verified
M( 33340999 )C, 0x2bb766951d08d1b6, n = 1835008, CUDALucas v2.03 Verified
M( 33341023 )C, 0x9bef45d1fac75275, n = 1835008, CUDALucas v2.03 Verified
M( 33341047 )C, 0x9350917fded037b7, n = 1835008, CUDALucas v2.03 Verified
M( 33341069 )C, 0x5ad9645e801a3b16, n = 1835008, CUDALucas v2.03 Verified
[COLOR="Red"]M( 34440337 )C, 0x8c07d05f66675a37, n = 1966080, CUDALucas v2.03 Unverified, later bad
M( 34440383 )C, 0xa5e3277786752569, n = 1966080, CUDALucas v2.03 Unverified, later bad
M( 34440391 )C, 0xac5826c2d7e1caf5, n = 1966080, CUDALucas v2.03 Unverified, later bad
M( 34440491 )C, 0x4752da9b55ebaea5, n = 1966080, CUDALucas v2.03 Unverified, later bad
M( 34440643 )C, 0xa9e459ad5338c6__, n = 1966080, CUDALucas v2.03 Unverified
M( 34440647 )C, 0x5c2e2245038073__, n = 1966080, CUDALucas v2.03 Unverified
M( 34440649 )C, 0x266f082ba2d23f__, n = 1966080, CUDALucas v2.03 Unverified
M( 34440739 )C, 0x0624bcde0c1aeb__, n = 1966080, CUDALucas v2.03 Unverified[/COLOR]
M( 33407953 )C, 0x3b0945f27b1c7100, n = 1835008, CUDALucas v2.03 Verified
M( 33408797 )C, 0x5c92f5d23fb209b9, n = 1835008, CUDALucas v2.03 Verified
[/CODE]

MikeBerlin 2014-03-18 17:31

SaveAllCheckpoints
 
Somebody said: CudaLucas.ini SaveAllCheckpoints=1. A very important feature to enable if you want to roll back to a "good" check point.
But I don“t understand, how to roll back. Anybody any idea? Thx.

flashjh 2014-03-18 17:34

That feature will save a new file every time it writes a checkpoint. It takes up a lot of space, but you can use it to go back to one of the files. To roll back you use one of those save files by renaming it so when CUDALucas is restarted it uses the renamed file.

MikeBerlin 2014-03-18 18:17

[QUOTE=flashjh;369306]To roll back you use one of those save files by renaming it...[/QUOTE]Thx for quick reply, but renaming to ????

LaurV 2014-03-18 18:44

renaming to cxxxxxxx or txxxxxxx overwriting the existent last checkpoints. Look into the folder and see how the files are created and you will understand.

Caution: (in attention of [B]owftheevil[/B]) last version of cudalucas has a bug (nonexistent in 2.04): if you have a mismatched residue, you have to resume not from the last file with the same residue, but from one before. This is because the residues in the name of the file are [U]shifted[/U] by one compared with real residues written on screen. Dubslow's version didn't make this mess, so it is something newly introduced. If you resume from the last saved file having the same residue, it is possible that the respective file is already corrupted. To understand what I mean, compare the names of the checkpoint files with the residues written on screen.

edit: I think this affects cudaPM1 too

flashjh 2014-03-18 18:57

This is in 2.05?

BTW - Thanks LaurV for the help

owftheevil 2014-03-18 19:01

[QUOTE=LaurV;369312]renaming to cxxxxxxx or txxxxxxx overwriting the existent last checkpoints. Look into the folder and see how the files are created and you will understand.

Caution: (in attention of [B]owftheevil[/B]) last version of cudalucas has a bug (nonexistent in 2.04): if you have a mismatched residue, you have to resume not from the last file with the same residue, but from one before. This is because the residues in the name of the file are [U]shifted[/U] by one compared with real residues written on screen. Dubslow's version didn't make this mess, so it is something newly introduced. If you resume from the last saved file having the same residue, it is possible that the respective file is already corrupted. To understand what I mean, compare the names of the checkpoint files with the residues written on screen.

edit: I think this affects cudaPM1 too[/QUOTE]

I think I fixed this as of r63, but I'll check tonight to make sure. Thanks.

flashjh 2014-03-18 19:06

I haven't posted Windows executable since r62. I'll get updates done once you confirm it's fixed.

MikeBerlin 2014-03-18 19:22

[QUOTE=LaurV;369312]... and you will understand...[/QUOTE]YES, it works! :smile: (98.66 % done)


All times are UTC. The time now is 23:08.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.