![]() |
|
|
#12 |
|
Dec 2016
1158 Posts |
@paulunderwood: I worked around the -lgcc_s problem you had. Remove the " -Wl,-no_pie" option from the makefile. It seems "ld" only has "-pie", not "-no_pie".
|
|
|
|
|
|
#13 |
|
Dec 2016
10011012 Posts |
I have a pretty well-automated version now: To build PFGW with Docker, get and extract the sources of PFGW. In the directory with the sources, create a Dockerfile with this content:
Code:
FROM gcc
RUN apt-get update && apt-get install -y libgmp-dev wget unzip
RUN mkdir /usr/src/mprime && \
cd /usr/src/mprime && \
# openpfgw insists on version 28.6
wget -O mprime.zip --quiet https://www.mersenne.org/ftp_root/gimps/p95v286.source.zip && \
# unzip produces some warnings and therefore has exit code 1.
unzip mprime.zip ; \
rm mprime.zip
RUN cd /usr/src/mprime/gwnum && \
make -j -f make64
COPY . /usr/src/openpfgw
WORKDIR /usr/src/openpfgw
RUN cp /usr/lib/x86_64-linux-gnu/libgmp.a packages/gmp/64bit/
RUN cp /usr/src/mprime/gwnum/gwnum.a packages/gwnum/64bit/gwnum.a
RUN sed -i 's/-Wl,-no_pie//g' makefile
RUN make -j
This assumes "#include <ctype.h>" fix to PFGW is already applied. |
|
|
|
|
|
#14 |
|
Sep 2002
Database er0rr
5·769 Posts |
Thanks for the tips, nordi
Incidentally, I added gwset_num_threads ( &gwdata, 4 ); to every line with gwinit2(&gwdata, sizeof(gwhandle), (char *) GWNUM_VERSION); and got a multi-threaded PFGW working at 300% on my Haswell 4770k. Good for speedy proofs, but not so good for overall number-crunching throughput
|
|
|
|
|
|
#15 | |
|
Just call me Henry
"David"
Sep 2007
Cambridge (GMT/BST)
10111000110002 Posts |
Quote:
A larger fft can fit in the L3 cache with 1x4threads than 4x1threads |
|
|
|
|
|
|
#16 |
|
Aug 2020
79*6581e-4;3*2539e-3
2·199 Posts |
I tried compiling the sources from sourceforge, but get the following error:
Code:
g++: error: packages/gwnum/64bit/gwnum.a: File or directory not found make: *** [makefile:8: pfgw64] Error 1 |
|
|
|
|
|
#17 | |
|
"Mark"
Apr 2003
Between here and the
23·11·73 Posts |
Quote:
|
|
|
|
|
|
|
#18 | |
|
P90 years forever!
Aug 2002
Yeehaw, FL
167018 Posts |
Quote:
|
|
|
|
|
|
|
#19 |
|
Aug 2020
79*6581e-4;3*2539e-3
2×199 Posts |
Ok, thanks, it worked.
Are there any flags I could use to optimize e.g. for avx2? The makefile didn't look like it, but I'm far from being an expert there. |
|
|
|
|
|
#20 |
|
"Mark"
Apr 2003
Between here and the
23·11·73 Posts |
No. gwnum will choose the best FFT based upon the available hardware. If the best FFT uses AVX2, then it will use that FFT. If AVX2 is not available, then any FFT that requires AVX2 will not be used.
|
|
|
|
![]() |
| Thread Tools | |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| (Open)PFGW 32 bit linux | Rincewind | Software | 0 | 2016-03-10 09:18 |
| PFGW latest well-tested version | mdettweiler | Conjectures 'R Us | 109 | 2010-09-29 20:20 |
| Linux newpgen pfgw llr | jasong | Linux | 10 | 2008-02-16 23:55 |
| src2414 how to compile 64 bit in Linux | Unregistered | Software | 1 | 2005-08-22 13:19 |
| How to Compile mprime Under Linux | Blaise Pascal | Software | 12 | 2005-01-13 14:40 |