![]() |
|
|
#320 |
|
May 2015
3 Posts |
[QUOTE=lorgix;402904 but I think you should be using either -gpucurves 48 or 96.[/QUOTE]
Thank you for your answer, why are those two values the only one I should be using ? I thought the program automatically selects the maximum that the card can handle. On your hardware it may well be 96, but on mine it seems to be 64 and as I said any curve number below 32 gets adjusted to 32. Any number strictly above 32 gets adjusted to 64, so I guess those two values are the only possible ones for me. Regardless, I would be very glad for information with which I could diagnose the problem further, if there is a problem at all (maybe my card can't handle the provided cudakernel and this behaviour is expected). I could write to the dedicated mailing list at gforge.inria.fr but I don't want to bother developers if the issue is trivial and an answer can be found here. |
|
|
|
|
|
#321 | |
|
Sep 2010
Scandinavia
3·5·41 Posts |
Quote:
I thought GT525M had two "blocks" of 48 cores, but maybe it has three "blocks" of 32 like you say. From what I can see it has 48 cores per SM, and in my experience that decides what number of concurrent curves makes the most sense. But I'm not 100% on this. |
|
|
|
|
|
|
#322 |
|
I moo ablest echo power!
May 2013
13×137 Posts |
Anybody know how to resolve this error:
Code:
unresolved external symbol mpn_mul_fft referenced in function __ecm_mpres_mul |
|
|
|
|
|
#323 | |
|
May 2008
Worcester, United Kingdom
22·7·19 Posts |
Quote:
MPIR does have this function and, since GMP-ECM builds fine with MSVC, this seems to be a problem specific to your build environment. How are you building GMP-ECM? |
|
|
|
|
|
|
#324 |
|
I moo ablest echo power!
May 2013
13·137 Posts |
Building in VS 2012 with MPIR 2.7.0 (also built in VS 2012) as 64-bit using CUDA 7.0.
The definition is supposed to be here: Code:
#if defined( __MPIR_RELEASE ) && __MPIR_RELEASE >= 20600
#if __MPIR_RELEASE == 20600
#error MPIR 2.6 does not support GMP-ECM, please use an alternative version
#endif
/* WARNING - the following two defintions map the internal interface
of the new FFT in MPIR 2.6 (and later) to the GMP FFT interface -
they work in this context but the parameters for mpn_fft_next_size
and fft_adjust_limbs have different semantics, which means that
these definitions may fail if used in other circumstances
*/
# define mpn_fft_best_k(n, k) (0)
# define mpn_fft_next_size(n, k) fft_adjust_limbs(n)
#else
#define mpn_mul_fft __gmpn_mul_fft
mp_limb_t __gmpn_mul_fft (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr,
mp_size_t, int);
#define mpn_mulmod_bnm1 __gmpn_mulmod_bnm1
void mpn_mulmod_bnm1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr,
mp_size_t, mp_ptr);
#define mpn_mul_fft_full __gmpn_mul_fft_full
void __gmpn_mul_fft_full (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t);
#define mpn_fft_next_size __gmpn_fft_next_size
mp_size_t __gmpn_fft_next_size (mp_size_t, int);
#define mpn_mulmod_bnm1_next_size __gmpn_mulmod_bnm1_next_size
mp_size_t mpn_mulmod_bnm1_next_size (mp_size_t);
#define mpn_fft_best_k __gmpn_fft_best_k
int __gmpn_fft_best_k (mp_size_t, int);
#endif
|
|
|
|
|
|
#325 | |
|
May 2008
Worcester, United Kingdom
10000101002 Posts |
Quote:
Code:
#define mpn_mul_fft __MPN(mul_fft) __GMP_DECLSPEC int mpn_mul_fft __GMP_PROTO((mp_ptr rp, mp_size_t rn, mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn, int k)); |
|
|
|
|
|
|
#326 |
|
I moo ablest echo power!
May 2013
13×137 Posts |
I went into my MPIR 2.7.0 folder and found gmp.h. I removed the one in the GMP-ECM VS solution and added that one. That gmp.h doesn't have mpn_mul_fft either.
This is the only bit found when searching gmp.h for "mpn_mul_fft": Code:
/**************** MPN API for FFT ****************/ #define mpn_mul_fft_main __MPN(mul_fft_main) __GMP_DECLSPEC void mpn_mul_fft_main __GMP_PROTO ((mp_ptr r1, mp_srcptr i1, mp_size_t n1, mp_srcptr i2, mp_size_t n2)); Last fiddled with by wombatman on 2015-06-06 at 03:23 |
|
|
|
|
|
#327 | |
|
May 2008
Worcester, United Kingdom
10000101002 Posts |
Quote:
|
|
|
|
|
|
|
#328 |
|
I moo ablest echo power!
May 2013
33658 Posts |
Will do, and I'll post again when I've had time to do it and see if it works. Thanks for the suggestions.
Edit 2: Seems I didn't have a recent enough version. I downloaded the alpha 12 version of 2.7.0 and it has the mpn_mul_fft defined in gmp_h.in. I'll work on rebuilding the GPU-ECM and see it finds everything now. Edit 3: The mpn_mul_fft unresolved symbols are taken care of. Now I've got Code:
LNK2001: unresolved external symbol __gmp_bits_per_limb Last fiddled with by wombatman on 2015-06-06 at 17:39 |
|
|
|
|
|
#329 | |
|
May 2008
Worcester, United Kingdom
22·7·19 Posts |
Quote:
Last fiddled with by Brian Gladman on 2015-06-07 at 13:59 |
|
|
|
|
|
|
#330 |
|
I moo ablest echo power!
May 2013
178110 Posts |
So to be clear, anywhere "mp_bits_per_limb" is used, I should try substituting GMP_LIMB_BITS? It looks like mp_bits_per_limb only shows up once.
Edit: Felt saucy, so I went ahead and changed the one line where mp_bits_per_limb shows up from Code:
if (mp_bits_per_limb != GMP_NUMB_BITS) Code:
if (GMP_LIMB_BITS != GMP_NUMB_BITS) Last fiddled with by wombatman on 2015-06-07 at 16:08 |
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Running CUDA on non-Nvidia GPUs | Rodrigo | GPU Computing | 3 | 2016-05-17 05:43 |
| Error in GMP-ECM 6.4.3 and latest svn | ATH | GMP-ECM | 10 | 2012-07-29 17:15 |
| latest SVN 1677 | ATH | GMP-ECM | 7 | 2012-01-07 18:34 |
| Has anyone seen my latest treatise? | davieddy | Lounge | 0 | 2011-01-21 19:29 |
| Latest version? | [CZ]Pegas | Software | 3 | 2002-08-23 17:05 |