mersenneforum.org  

Go Back   mersenneforum.org > Prime Search Projects > No Prime Left Behind

Reply
 
Thread Tools
Old 2010-10-06, 17:30   #23
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3·2,083 Posts
Default

Quote:
Originally Posted by Ken_g6 View Post
Either (1) get gcc 4.3, or (2) remove the -mtune directive. I sorta thought gcc 4.3 or later would be required to install the CUDA SDK.

What Linux version are you using?
This computer is running Ubuntu 8.04 (64-bit). Here's what gcc reports as its version:
Code:
gary@buttford:~$ gcc --version
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I couldn't even find gcc 4.3 in the package manager...

I'll give it a try without -mtune.
mdettweiler is offline   Reply With Quote
Old 2010-10-06, 17:33   #24
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3·2,083 Posts
Default

Okay, that resolved the earlier error; now I have a new one:
Code:
gary@buttford:~/Desktop/gpu-stuff/ppsieve31$ make
cd pps; make
make[1]: Entering directory `/home/gary/Desktop/gpu-stuff/ppsieve31/pps'
Makefile:77: Extraneous text after `else' directive
gcc -c -m32 -march=i586 -o ../main.o -fomit-frame-pointer -s -O3 -DNDEBUG -D_REENTRANT -I. -I.. ../main.c
In file included from /usr/include/features.h:354,
                 from /usr/include/assert.h:37,
                 from ../main.c:17:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make[1]: *** [../main.o] Error 1
make[1]: Leaving directory `/home/gary/Desktop/gpu-stuff/ppsieve31/pps'
make: *** [all] Error 2
Possibly some sort of library I need to install first?
mdettweiler is offline   Reply With Quote
Old 2010-10-06, 20:06   #25
Ken_g6
 
Ken_g6's Avatar
 
Jan 2005
Caught in a sieve

18B16 Posts
Default

Try just making the specific binary for your platform. (Linux64? "make ppsieve-cuda-x86_64-linux". For Linux32, "make ppsieve-cuda-x86-linux".)

Edit: By the way, did you notice that the latest CUDA SDK is made for Ubuntu 10.04? (Yes, I need to upgrade too.)

Meanwhile, I've built an ATI OpenCL client that might work, but nobody's come by to test it yet. (Except for one guy who couldn't get it to run. )

Last fiddled with by Ken_g6 on 2010-10-06 at 20:09
Ken_g6 is offline   Reply With Quote
Old 2010-10-06, 21:24   #26
frmky
 
frmky's Avatar
 
Jul 2003
So Cal

40728 Posts
Default

I'm sure it'll be slower, but should the OpenCL code work on nVidia as well? Would it be useful to test it?
frmky is offline   Reply With Quote
Old 2010-10-06, 21:30   #27
Ken_g6
 
Ken_g6's Avatar
 
Jan 2005
Caught in a sieve

5·79 Posts
Default

It might work, and it's open-source so I'm not stopping anyone from trying; but I rather doubt it would be useful. Unless it makes a GTX 460 faster. But I was just thinking, if you run two processes on the same GPU, that might work too.
Ken_g6 is offline   Reply With Quote
Old 2010-10-06, 22:25   #28
frmky
 
frmky's Avatar
 
Jul 2003
So Cal

83A16 Posts
Default

Is the OpenCL source available? The link at http://sites.google.com/site/kenscode/prime-programs points to the CUDA source.
frmky is offline   Reply With Quote
Old 2010-10-06, 22:59   #29
Ken_g6
 
Ken_g6's Avatar
 
Jan 2005
Caught in a sieve

1100010112 Posts
Default

Check the "redcl" branch. The codebases should merge in the not-too-distant future.
Ken_g6 is offline   Reply With Quote
Old 2010-10-07, 01:19   #30
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

11000011010012 Posts
Default

Quote:
Originally Posted by Ken_g6 View Post
Try just making the specific binary for your platform. (Linux64? "make ppsieve-cuda-x86_64-linux". For Linux32, "make ppsieve-cuda-x86-linux".)

Edit: By the way, did you notice that the latest CUDA SDK is made for Ubuntu 10.04? (Yes, I need to upgrade too.)

Meanwhile, I've built an ATI OpenCL client that might work, but nobody's come by to test it yet. (Except for one guy who couldn't get it to run. )
Cool, that worked. I'll give it a try vs. the CUDA 2.3 binary shortly.

Regarding CUDA 3.2 being made for Ubuntu 10.04: I wonder if it really does need 10.04, or if it can work OK with the older 8.04? The CUDA 3.1 Ubuntu package is supposedly made for 7.10, but it works fine on 8.04.
mdettweiler is offline   Reply With Quote
Old 2010-10-07, 04:51   #31
frmky
 
frmky's Avatar
 
Jul 2003
So Cal

40728 Posts
Default

Quote:
Originally Posted by Ken_g6 View Post
It might work
No luck. First I needed to add #include <string> and change CL/cl.hpp to CL/cl.h in appcl.cpp. I then added the correct include directories and disabled the OpenCL BOINC build in the Makefile. With these changes, I successfully created a binary. But when I tried to use it, I got

Code:
Error: Building Program (clBuildProgram): Program build failure
:110: error: no matching overload found for arguments of type 'int, size_t, uint __attribute__((address_space(1)))*'
VSTORE(0, i, factor_found_arr);
^~~~~~
Edit: Running two CUDA processes on the same GTX 480 just halves the speed of each of them. There's no net gain.

Last fiddled with by frmky on 2010-10-07 at 05:00
frmky is offline   Reply With Quote
Old 2010-10-07, 07:39   #32
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

11000011010012 Posts
Default

I just now got the chance to try the ppsieve-cuda-x86_64-linux binary I built earlier today with CUDA 3.1, and lo and behold, it's MUCH faster! On the 11T-12T range I just started on Gary's GTX 460, it gets ~2.8M p/sec. as opposed to ~1.7M p/sec. with the CUDA 2.3 binary.

I've attached the binary here for anyone else who wants it. If anyone needs a 32-bit binary, let me know.
Attached Files
File Type: bz2 ppsieve-cuda31-x86_64-linux.bz2 (52.3 KB, 101 views)
mdettweiler is offline   Reply With Quote
Old 2010-10-07, 15:39   #33
Ken_g6
 
Ken_g6's Avatar
 
Jan 2005
Caught in a sieve

5·79 Posts
Default

Whoa!

Can someone with a GTX 470 or 480 (frmky?) confirm whether or not this applies to the higher-end Fermis? I'm guessing that it does, but to a lesser degree.

Edit: Also, have you tested that it's outputting correct results? Testing thread here, and/or test it against the version I compiled.

Last fiddled with by Ken_g6 on 2010-10-07 at 15:43
Ken_g6 is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
New PRPnet drive discussion mdettweiler Conjectures 'R Us 89 2011-08-10 09:01
Sieving drive Riesel base 6 n=1M-2M gd_barnes Conjectures 'R Us 40 2011-01-22 08:10
Bigger and better GPU sieving drive: k<10000 n<2M mdettweiler No Prime Left Behind 61 2010-10-29 18:48
GPU sieving drive for k<=1001 n=1M-2M mdettweiler No Prime Left Behind 11 2010-10-04 22:45
Sieving drive for k=301-400 n=1M-2M MyDogBuster No Prime Left Behind 42 2010-03-21 01:14

All times are UTC. The time now is 11:04.


Sat Jul 17 11:04:36 UTC 2021 up 50 days, 8:51, 1 user, load averages: 1.13, 1.15, 1.20

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.