View Single Post
2016-10-16, 01:35   #1
GP2

Sep 2003

13×199 Posts
GMP-ECM with --enable-openmp flag set in configure = bad results?

In the README file for GMP-ECM, it mentions using the possibility of using the --enable-openmp flag with the configure command. This enables multithreading and greater parallelism in stage 2.

I ran configure with this flag and compiled 7.0.4, and "make check" indicated the tests were passed. However, when I tried testing it, it missed a P-1 factor it should have found.

First I ran:

Code:
echo "2^20173-1" | ./ecm -pm1 -save toto.txt 50e6 50e6
which finds the composite factor 237664504975279983867404174809 = 121039 * 525947712473 * 3733330406447, which are the first three factors of M20173 (2,20173−)

Then I ran:

Code:
./ecm -resume toto.txt 50e6 150e6
This choice of B1 and B2 should find the fourth factor
242259284775981115080842803960207
= 2kp + 1, k = 3 × 449773 × 628373 × 49835969 × 142103537

However, ecm-7.0.4 configured with --enable-openmp does not find this fourth factor, whereas ecm-7.0.3 configured without --enable-openmp does find it.

This was using gcc 4.8 on Linux, which presumably implies support of OpenMP 3.1, which are both somewhat outdated versions, but these are standard on Amazon Linux.

The save file toto.txt is included as an attachment. The second command above (stage 2) takes only a few seconds to complete.

Is there any more extensive test suite for gmp-ecm beyond what is provided by "make check" ?
Attached Files
 toto.txt (5.1 KB, 107 views)