FFTW / fftw3

DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.)
GNU General Public License v2.0
2.73k stars 665 forks source link

tests fails on ppc64le unless -O0 is used #145

Open omula opened 6 years ago

omula commented 6 years ago

Tried with gcc/6.4.0 and gcc/7.3.0 on CPU: Model: 2.1 (pvr 004e 1201) Model name: POWER9, altivec supported

This is the output for -O1 and configure line: CFLAGS="-O1" ./configure --enable-single --enable-mpi --with-pic --enable-openmp --enable-shared --enable-threads --enable-vsx --enable-altivec --enable-fma

$ perl -w ./check.pl -r -c=30 -vpwd/bench Executing "/nvme1/Earth/easybuild/build/FFTW/3.3.7/gompi-2018a/fftw-3.3.7/tests/bench --verbose=1 --verify 'ofr60x24' --verify 'ifr60x24' --verify '//obc60x24' --verify '//ibc60x24' --verify '//ofc60x24' --ver ify '//ifc60x24' --verify 'obc60x24' --verify 'ibc60x24' --verify 'ofc60x24' --verify 'ifc60x24' --verify 'ok45e11*55' --verify 'ik45e11*55' --verify '//obr4x11x2' --verify '//ofr4x11x2' --verify 'obr4x11x2' --v erify 'ibr4x11x2' --verify 'ofr4x11x2' --verify 'ifr4x11x2' --verify '//obc4x11x2' --verify '//ibc4x11x2' --verify '//ofc4x11x2' --verify '//ifc4x11x2' --verify 'obc4x11x2' --verify 'ibc4x11x2' --verify 'ofc4x11 x2' --verify 'ifc4x11x2' --verify 'okd11e10x12o01' --verify 'ikd11e10x12o01' --verify '//obr11440' --verify '//ibr11440' --verify '//ofr11440' --verify '//ifr11440' --verify 'obr11440' --verify 'ibr11440' --veri fy 'ofr11440' --verify 'ifr11440' --verify '//obc11440' --verify '//ibc11440' --verify '//ofc11440' --verify '//ifc11440' --verify 'obc11440' --verify 'ibc11440' --verify 'ofc11440' --verify 'ifc11440'" ofr60x24 2.44535e-07 7.03683e-07 1.62082e-07 ifr60x24 2.03834e-07 7.03683e-07 1.78513e-07 //obc60x24 2.01903e-07 6.03157e-07 2.17628e-07 //ibc60x24 2.40576e-07 7.03683e-07 1.98274e-07 //ofc60x24 2.03347e-07 6.03157e-07 2.1884e-07 //ifc60x24 2.24248e-07 6.03157e-07 2.02774e-07 Found relative error 5.936097e+28 (impulse 1) 0 0.000000000000 0.000000000000 18.973665237427 0.000000000000 1 0.000000000000 0.000000000000 18.973665237427 0.000000000000 2 0.000000000000 0.000000000000 18.973665237427 0.000000000000

omula commented 6 years ago

After a bit more testing I have found that it works if I compile without "--enable-altivec"

stevengj commented 6 years ago

Ouch, that smells like a compiler bug...

zyzzyxdonta commented 4 years ago

Hello, the problem still persists on POWER8 with GCC 9.1.0.

POWER8NVL (raw), altivec supported 1.0 (pvr 004c 0100)

Flamefire commented 2 years ago

Likely the same as #59