OKlibrary  0.2.1.6
Gmp.hpp File Reference

Plans regarding installation of gmp. More...

Go to the source code of this file.


Detailed Description

Plans regarding installation of gmp.

Todo:
Application RankPrimes is slower with version 4.3.0/4.3.1
  • The Gmp webpage says that mpz_nextprime is now "much faster".
  • However, running RankPrimes-O3-DNDEBUG with parameter "unrank" and with input 999999, version 4.2.4 needs stably ~25 seconds (on csltok), while it needs ~37 seconds with 4.3.0.
  • Notify the Gmp mailing list!
  • At this occassion one could also ask that they provide functions for ranking and unranking (applying sieves for larger intervals seems to be much faster than running it again and again).
  • On csltok (32-bit), first with current Gmp-default (4.3.1):
    kullmann-0:PrimeNumbers> oklib cleanall 
    kullmann-0:PrimeNumbers> all
    kullmann-0:PrimeNumbers> time RankPrimes-O3-DNDEBUG data/PrimeRanks.txt rank
    10000000
    664580
    user    0m26.539s
    kullmann-0:PrimeNumbers> time RankPrimes-O3-DNDEBUG data/PrimeRanks.txt rank
    10000000
    664580
    user    0m26.615s
    kullmann-0:PrimeNumbers> oklib cleanall 
    kullmann-0:PrimeNumbers> oklib all gmp_recommended_version_number_okl=4.2.4
    kullmann-0:PrimeNumbers> time RankPrimes-O3-DNDEBUG data/PrimeRanks.txt rank
    10000000
    664580
    user    0m17.143s
    kullmann-0:PrimeNumbers> time RankPrimes-O3-DNDEBUG data/PrimeRanks.txt rank
    10000000
    664580
    user    0m17.071s
    kullmann-0:PrimeNumbers> oklib cleanall 
    kullmann-0:PrimeNumbers> oklib all gmp_recommended_version_number_okl=4.3.0
    kullmann-0:PrimeNumbers> time RankPrimes-O3-DNDEBUG data/PrimeRanks.txt rank
    10000000
    664580
    user    0m26.592s
    kullmann-0:PrimeNumbers> time RankPrimes-O3-DNDEBUG data/PrimeRanks.txt rank
    10000000
    664580
    user    0m26.546s
       
    So 4.2.4 needs only about %65 of the time needed by 4.3.0 or 4.3.1.
Todo:
Improve installation of Mpfr
  • Likely, as with Gmp, we should set "libdir", to avoid the distinction between "lib" and "lib64".
Todo:
DONE (provided installation using current gcc) Installation of Mpfr
  • DONE (we install it separately) Since apparently mpfr belongs to gmp, could it be automatically installed with gmp?
  • DONE Update mpfr-version.
  • Install documentation-pages.
  • DONE Update the mpfr-installation to the new standard.
  • DONE We should now by default provide local installation:
    1. First we need to find out who needs mpfr.
    2. DONE (doesn't need it) R needed it (see "Prerequisites" in Buildsystem/ExternalSources/SpecialBuilds/plans/R.hpp), however unclear whether this is still the case?
    3. The gcc Fortran compiler needs it (see "Installation in general" in Buildsystem/ExternalSources/SpecialBuilds/plans/Gcc.hpp).

Definition in file Gmp.hpp.