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)

msft 2012-03-18 01:32

1 Attachment(s)
Hi ,flashjh
[QUOTE=flashjh;293318]I'm sure I'm missing something, but what is the method to choose the best FFT size? Where did you get these values?[/QUOTE]

msft 2012-03-18 02:25

1 Attachment(s)
Hi ,flashjh
[QUOTE=flashjh;291706]aspen/msft,

1.2b was the last build that included a win32 makefile. I modified my current makefile for win32, but it does not compile. Lots of errors during nvcc processing CUDALucas.cu. Has 32 bit compatability been removed or do I need some extra includes?[/QUOTE]
Please test with 32bit windows.

flashjh 2012-03-18 03:36

1 Attachment(s)
[QUOTE=msft;293346]Hi ,flashjh

Please test with 32bit windows.[/QUOTE]

msft,

Compiled. I didn't see the version, so I labeled it 'test'.

Included MAKEFILE and compile output.

I have no way to actually test with WIN32. I'll see if I can throw something together... if anyone else can test, let us know.

msft 2012-03-18 03:59

[QUOTE=flashjh;293354]I have no way to actually test with WIN32. I'll see if I can throw something together... if anyone else can test, let us know.[/QUOTE]
Thank you for your notice.

LaurV 2012-03-18 11:29

Match for 26077459.

apsen 2012-03-18 14:46

[QUOTE=apsen;293332]The first one is also me - I just did not realize I was not logged in when I reserved it.
[/QUOTE]

Never mind, since the second one matched I've just submitted the first one and let it triple check...

Prime95 2012-03-18 21:37

1 Attachment(s)
For my first foray into CUDA, I've tweaked CudaLucas 1.66.

I built this in a Visual Studio project so I don't know if I've got all the right nvcc switches set. That said, I did get about a 7% improvement.


The changes were:

1) Rewrote normalize kernel to do most of its work with integers
2) Two inline macros for rounding to integer.
3) Changed error from double to float
4) Minor change to rdft to save two negations.
5) Less memory used during normalize (no g_inv and g_ttmpp arrays).
6) The -2 was moved to normalize2

It isn't fully cleaned up -- normalize2 should be upgraded.

Can some else build a version and do some comparison timings?

msft 2012-03-18 22:35

1 Attachment(s)
[QUOTE=Prime95;293412]For my first foray into CUDA, I've tweaked CudaLucas 1.66.

I built this in a Visual Studio project so I don't know if I've got all the right nvcc switches set. That said, I did get about a 7% improvement.


The changes were:

1) Rewrote normalize kernel to do most of its work with integers
2) Two inline macros for rounding to integer.
3) Changed error from double to float
4) Minor change to rdft to save two negations.
5) Less memory used during normalize (no g_inv and g_ttmpp arrays).
6) The -2 was moved to normalize2

It isn't fully cleaned up -- normalize2 should be upgraded.

Can some else build a version and do some comparison timings?[/QUOTE]
Great !!!

Ver1.67
1) Marge Prime95's code.
2) 32bit Windows support.

msft 2012-03-18 23:19

Hi ,flashjh
Can you make cuda3.2 version?
Cuda3.2 CUFFT 5% faster than Cuda4.x.

flashjh 2012-03-18 23:30

[QUOTE=msft;293423]Hi ,flashjh
Can you make cuda3.2 version?
Cuda3.2 CUFFT 5% faster than Cuda4.x.[/QUOTE]

[QUOTE=msft;293416]Great !!!

Ver1.67
1) Marge Prime95's code.
2) 32bit Windows support.[/QUOTE]


I'll post updates in a bit

EDIT: I'm getting an unresolved error LNK2001: unresolved external symbol getting timeofday. I'll have to look at it later...

msft 2012-03-19 02:39

[QUOTE=flashjh;293424]EDIT: I'm getting an unresolved error LNK2001: unresolved external symbol getting timeofday. I'll have to look at it later...[/QUOTE]
[code]
#ifdef _MSC_VER
#include <winsock2.h>
extern "C" int gettimeofday(struct timeval *tv, struct timezone *tz);
#else
#include <sys/time.h>
#include <unistd.h>
#endif
[/code]to
[code]
#ifdef _MSC_VER
typedef struct timeval
{
long tv_sec;
long tv_usec;
} timeval;
int gettimeofday (struct timeval *tv, struct timezone *);
#else
#include <sys/time.h>
#include <unistd.h>
#endif
[/code]I guess fix.
Thanks.


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

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