![]() |
Here are the Msieve svn988 I compiled a few days ago without CUDA support (before I figured out how to):
[URL="hoegge.dk/mersenne/msieve-svn988-nogpu-haswell.zip"]msieve-svn988-nogpu-haswell.zip[/URL] [URL="hoegge.dk/mersenne/msieve-svn988-nogpu-sandybridge.zip"]msieve-svn988-nogpu-sandybridge.zip[/URL] [URL="hoegge.dk/mersenne/msieve-svn988-nogpu-core2.zip"]msieve-svn988-nogpu-core2.zip[/URL] |
This is embarrassing...
I'm trying to compile MSieve on Ubuntu 14.04 using the following (after doing make clean):
[CODE]make all ECM=1 CUDA=1[/CODE] But it's throwing errors related to omp_get_thread_limit and other "omp" related functions. Is it trying to compile with MPI or am I forgetting something else? |
Something in the compile chain wants OpenMP (probably GMP-ECM). Try adding -lomp to the link line (there will probably be more dependencies) or compiling with -mopenmp.
|
Will do. I did notice it was something with GMP-ECM and compiled it with just CUDA. That worked fine, but when I try and actually run msieve with a C134, I get a CUDA_ERROR_OUT_OF_MEMORY (4x) followed by CUDA_ERROR_DEINITIALIZED immediately as stage 1 of poly selection starts. This is with CUDA 5.5. Any idea what that might be from?
|
Might have figured it out. I, by way of habit from Windows, ran Msieve with "-t 16" at first, which is when the error popped up. When I took the "-t" parameter out completely, it seems to be fine. I'm going to let it run overnight and confirm that that's the case.
|
Yes, stage 1 of poly selection is multithreaded and needs a limit on the number of threads that make sense. I would never use more than 4, and beyond about C140 there's basically no difference in stage 1 throughput compared to one thread.
|
Yeah, it's more that on Windows you can put something like 16, and it will work fine (or at least not throw any errors--maybe performance suffers).
|
The non-GPU version works fine, thanks.
|
Does anyone want to test SVN 991 with a CUDA toolkit > 5.5? This replaces the GPU sorting code with CUB and streamlines some of the GPU setup. 64-bit windows builds should compile with 'make all WIN=1 WIN64=1 CUDA=1 NO_ZLIB=1'.
Single-threaded and multithreaded runs work fine for me on a range of input sizes with the v6.5 toolkit. It would be nice if someone can also confirm that it builds and runs okay in linux. |
What about CUDA 7.0 and 7.5? Are they still not compatible?
|
Working on building it with 7.0, but running into some issues (not with compilation, but immediate crash when run). I'm going to try a few things first.
[STRIKE] Edit: Yeah, still an immediate crash when compiled in MSieve. I recall some sort of issue with crossing between 32-bit and 64-bit dlls or something. Also working on getting it compiled in VS2012, but I'm running into issues there with mpir.lib and libecm.lib throwing unresolved external symbol errors at the last step of linking.[/STRIKE] Edit 2: Alright, everything compiled fine in VS2012 and seems to work fine (I can start it and watch poly numbers go screaming by on the screen for a few seconds before I stop it). I'll do more testing in a bit, but it looks like you have successfully updated Msieve! Thanks a ton for taking the time to do it. |
| All times are UTC. The time now is 01:12. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.