![]() |
|
|
#12 |
|
I moo ablest echo power!
May 2013
110111010012 Posts |
It can be, but MSieve doesn't work with CUDA 6.5.
|
|
|
|
|
|
#13 |
|
Einyen
Dec 2003
Denmark
C5716 Posts |
Ok, which version should I try then?
I read in the mfaktc thread that it does not work with CUDA 7.0 and 7.5. Are those ok for Msieve? |
|
|
|
|
|
#14 |
|
I moo ablest echo power!
May 2013
6E916 Posts |
I know 5.5 works. I don't think any version after that currently works. I believe I tried 6.0, 6.5, and 7.0RC. It may be worthwhile to try 7.0 (official release) and 7.5 to see if they're ok. I don't fully understand (or remember, frankly) exactly what the problem is, but it will build everything fine. When you run it, however, it immediately throws an error.
Last fiddled with by wombatman on 2015-12-31 at 23:44 |
|
|
|
|
|
#15 |
|
Einyen
Dec 2003
Denmark
35×13 Posts |
Damn of course CUDA 5.5 does not work with VS2013, so I have to uninstall both CUDA6.5 and VS2013 and install CUDA 5.5 and VS2012 :( VS and CUDA sucks.
Last fiddled with by ATH on 2016-01-01 at 01:05 |
|
|
|
|
|
#16 |
|
Tribal Bullet
Oct 2004
354110 Posts |
Yes, the jumping around of versions is very annoying.
I didn't know about MSYS2; it's nice. Configuring GMP has problems that look very much like I saw with Mingw64, but at least this distribution has a precompiled GMP available, and that's good enough. Msieve builds without issue, GMP-ECM configure fails but I can get it to succeed by running Sysinternals Process Monitor simultaneously, I think because it slows down the configure so the rapid-delete-after-create doesn't happen. Maybe it's the AV software on the machine. Hopefully this will be enough to replace the b40c library with CUB, so latter-day Nvidia toolkits can work again. |
|
|
|
|
|
#17 |
|
I moo ablest echo power!
May 2013
33518 Posts |
Sweet!
![]() If you want some testing as you update, I'd be happy to help. |
|
|
|
|
|
#18 | |
|
Einyen
Dec 2003
Denmark
35·13 Posts |
Quote:
Maybe try and stop the antivirus software just while compiling GMP? Which CUDA and Visual Studio versions are you using to compile Msieve? Do you have time in the next days/week to check if the warnings I posted are ok on the non-gpu msieve versions I compiled? My CUDA compilation got even further now with CUDA5.5 and VS2012, it managed to build "stage1_core_sm11.ptx", "stage1_core_sm13.ptx" and "stage1_core_sm20.ptx" now. But it still failed eventually: Code:
gcc -O3 -m64 -mavx -fomit-frame-pointer -march=sandybridge -mtune=sandybridge -D_FILE_OFFSET_BITS=64 -DNDEBUG -D_LARGEFILE64_SOURCE -Wall -W -DMSIEVE_SVN_VERSION="\"988\"" -I. -Iaprcl -Iinclude -Ignfs -Ignfs/poly -Ignfs/poly/stage1 -I/usr/local/include -I/c/CUDA5.5/include -DHAVE_GMP_ECM -I"/C/CUDA5.5/include" -Ib40c -DHAVE_CUDA demo.c -o msieve \
libmsieve.a -lecm "/C/CUDA5.5/lib/win32/cuda.lib" -lz -lgmp -lm -lpthread -L/usr/local/lib
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x45): undefined reference to `cuEventDestroy_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x5a): undefined reference to `cuEventDestroy_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x74): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x86): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x98): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xaa): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xd0): undefined reference to `cuStreamDestroy_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xec): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x148): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x155): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x177): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x199): undefined reference to `cuCtxDestroy_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x4f7): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x508): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x51c): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x534): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x687): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x69f): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x743): undefined reference to `cuCtxCreate_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x769): undefined reference to `cuModuleLoad'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x818): undefined reference to `cuStreamCreate'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x82e): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x85e): undefined reference to `cuMemsetD8_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x966): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x981): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x9e0): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xa24): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xa38): undefined reference to `cuMemAlloc_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xa4e): more undefined references to `cuMemAlloc_v2' follow
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xa83): undefined reference to `cuEventCreate'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xa9c): undefined reference to `cuEventCreate'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xb0e): undefined reference to `cuModuleLoad'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xb7a): undefined reference to `cuModuleLoad'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0xd6a): undefined reference to `cuFuncSetBlockShape'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1301): undefined reference to `cuMemcpyHtoDAsync_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1323): undefined reference to `cuMemcpyHtoDAsync_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x158a): undefined reference to `cuEventRecord'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x15bf): undefined reference to `cuMemcpyHtoDAsync_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x15ec): undefined reference to `cuMemsetD8Async'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1874): undefined reference to `cuFuncSetBlockShape'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1892): undefined reference to `cuLaunchGridAsync'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1a1a): undefined reference to `cuLaunchGridAsync'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1a32): undefined reference to `cuEventRecord'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1a46): undefined reference to `cuEventSynchronize'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1a69): undefined reference to `cuEventElapsedTime'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1aca): undefined reference to `cuMemcpyDtoHAsync_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1adb): undefined reference to `cuStreamSynchronize'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x1d37): undefined reference to `cuMemsetD8Async'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x2347): undefined reference to `cuMemFree_v2'
libmsieve.a(stage1_sieve_gpu.no):stage1_sieve_gpu.c:(.text+0x236c): undefined reference to `cuMemAlloc_v2'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x22b): undefined reference to `cuInit'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x23b): undefined reference to `cuDeviceGetCount'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x268): undefined reference to `cuDeviceGet'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x287): undefined reference to `cuDeviceGetName'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x2a1): undefined reference to `cuDeviceComputeCapability'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x2b5): undefined reference to `cuDeviceGetProperties'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x31e): undefined reference to `cuDeviceTotalMem_v2'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x339): undefined reference to `cuDeviceGetAttribute'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x354): undefined reference to `cuDeviceGetAttribute'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x36a): undefined reference to `cuDeviceGetAttribute'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x527): undefined reference to `cuModuleGetFunction'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x53d): undefined reference to `cuFuncGetAttribute'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x5dd): undefined reference to `cuParamSetSize'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x6e0): undefined reference to `cuParamSetv'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x720): undefined reference to `cuParamSetv'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x75a): undefined reference to `cuParamSeti'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x79a): undefined reference to `cuParamSeti'
libmsieve.a(cuda_xface.o):cuda_xface.c:(.text+0x7e8): undefined reference to `cuParamSetv'
collect2.exe: error: ld returned 1 exit status
Makefile:266: recipe for target 'all' failed
make: *** [all] Error 1
Last fiddled with by ATH on 2016-01-01 at 03:21 |
|
|
|
|
|
|
#19 |
|
Tribal Bullet
Oct 2004
3,541 Posts |
Is there a 64-bit cuda.lib?
|
|
|
|
|
|
#20 |
|
Einyen
Dec 2003
Denmark
35·13 Posts |
Yes, there is a "cuda.lib" in the "Cuda5.5\lib\x64" directory.
Edit: Thank you! The CUDA libs was set to win32 in the Makefile: CUDA_LIBS = "$(CUDA_ROOT)/lib/win32/cuda.lib" I changed win32 to x64 and now it compiled!!!!! Last fiddled with by ATH on 2016-01-01 at 03:40 |
|
|
|
|
|
#21 |
|
Einyen
Dec 2003
Denmark
35×13 Posts |
So I got the CUDA version compiled and it works. Trying the polynomial selection it is running with 0% CPU load and 99% GPU load, but during compiling it still had all the same warnings as posted earlier.
|
|
|
|
|
|
#22 |
|
I moo ablest echo power!
May 2013
33518 Posts |
With CUDA 5.5, right?
|
|
|
|
![]() |
| Thread Tools | |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Newer milestone thread | Uncwilly | Data | 3421 | 2021-07-12 16:10 |
| Help needed - M77 232 917 celebration build | jbpace | Hardware | 19 | 2018-01-10 16:32 |
| Performance of cuda-ecm on newer hardware? | fivemack | GMP-ECM | 14 | 2015-02-12 20:10 |
| Newer msieves are slow on Core i7 | mklasson | Msieve | 9 | 2009-02-18 12:58 |
| Use of large memory pages possible with newer linux kernels | Dresdenboy | Software | 3 | 2003-12-08 14:47 |