Created attachment 913660 [details] emerge --info work/linalg/test-suite.log: ``` ====================================== gsl 2.7.1: linalg/test-suite.log ====================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05 5.04211056977510452e-05 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960] ( 5, 3)[2,1]: 0.00349227666295463118 0.00349227666295566508 FAIL: QR_update m(5,3) [22465199] FAIL: QR Rank-1 Update [22465208] FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 0 (2.55795384873636067e-13 observed vs 0 expected) [28190582] FAIL test (exit status: 1) ```
Created attachment 913661 [details] a lot of files in a lzip-tarball in the lzipped-tarball: emerge_--info.txt /var/tmp/portage/sci-libs/gsl-2.7.1-r3/{build-info/,files/,temp/,work/**.log} /var/lib/portage/ /etc/portage/ /var/log/portage/elog/sci-libs/gsl-2.7.1-r3:20241209-154646.log
iteration 2: disabling graphite does not help
(In reply to Arniii from comment #2) > iteration 2: disabling graphite does not help -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -ggdb3 -frecord-gcc-switches
iteration 3 switching to O2 from first iteration does not help: -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches
iteration 4: switching to O1 from first iteration fixes the issue. -O1 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
iteration 5: disable graphite and switch to O2 does NOT fix the issue. -O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -ggdb3 -frecord-gcc-switches
either O1 to O2 is the problem, or O2 + some of my -march=native flags, or ggdb3
Please provide summaries when you're done iterating. But really, -march=native needs to be expanded too. Consider not filing the bug immediately either until some initial narrowing down has been done. Anyway, it's not actionable as-is yet. Please reopen once you have it narrowed down more to your -march.
(In reply to Sam James from comment #8) > Please provide summaries when you're done iterating. But really, > -march=native needs to be expanded too. Consider not filing the bug > immediately either until some initial narrowing down has been done. > > Anyway, it's not actionable as-is yet. Please reopen once you have it > narrowed down more to your -march. Ok, I'll iterating more. I'll reopen when and if I get a specific flag as the problem.
iteration 6: iteration 1 + switching to O1 + all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Fails in the same way. Resulting compile flags: ``` -O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` the /etc/portage/env/ file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ----------------------------------------------------------------------- Iteration 7: iteration 1 + switching to O1 + first half of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Fails in the same way. Resulting compile flags: ``` -O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ------------------------------------------------------------------------- Iteration 8. iteration 1 + switching to O1 + first quarter of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Fails in the same way. Resulting compile flags: ``` -O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ------------------------------------------------------------------------ Iteration 9. iteration 1 + switching to O1 + first 1/8 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Success. Resulting compile flags: ``` -O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` -------------------------------------------------------------------------- Iteration 10. iteration 1 + switching to O1 + third 1/16 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Success. Resulting compile flags: ``` -O1 -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ------------------------------------------------------------- Iteration 11: iteration 1 + switching to O1 + seventh 1/32 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 fail in the same way Resulting compile flags: ``` -O1 -fexpensive-optimizations -ffinite-loops -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-fexpensive-optimizations -ffinite-loops" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ---------------------------------------------------------------------- Iteration 12. iteration 1 + switching to O1 + 13th 1/64 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Fails in the same way. Resulting compile flags: ``` -O1 -fexpensive-optimizations -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-fexpensive-optimizations" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ---------------------------------------------------------------------- Iteration 13. iteration 1 + switching to O1 + 14th 1/64 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Success. Resulting compile flags: ``` -O1 -ffinite-loops -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-ffinite-loops" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` Conclusion from the iterations: It happens when O1 + -fexpensive-optimization . Continuing iterating...
Iteration 14. Iteration 13 + switch to O0 Success. Resulting compilation flags: ``` -O0 -fexpensive-optimizations -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` ------------ Iteration 15. Iteration 13 + remove graphite flags test fail: ====================================== gsl 2.7.1: linalg/test-suite.log ====================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 0 (2.55795384873636067e-13 observed vs 0 expected) [28190582] FAIL test (exit status: 1) . I need to recheck every failed iteration, since when there was fail, I wasn't looking for specific assert...
iteration 13 fail: ====================================== gsl 2.7.1: linalg/test-suite.log ====================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 0 (2.55795384873636067e-13 observed vs 0 expected) [28190582] FAIL test (exit status: 1) Iteration 11. fails exactly as above. Iteration 8. fails exactly as above. Iteration 7. fails exactly as above. Iteration 6. fails two asserts: ``` ====================================== gsl 2.7.1: linalg/test-suite.log ====================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05 5.04211056977510452e-05 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960] FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 0 (2.55795384873636067e-13 observed vs 0 expected) [28190582] FAIL test (exit status: 1) ``` Iteration 5. fails as above. Iteration 3. fails as above. Iteration 2. fails as iteration 1.
Continuing bisecting cholesky_invert unscaled hilbert ... Iteration 16. Iteration 15 + without -march=native(verbosely specified) flags. Success. Resulting compilation flags: ``` -O1 -fexpensive-optimizations -pipe -ggdb3 -frecord-gcc-switches ``` ------------------------------- Iteration 17. Iteration 16 + -march=alderlake Test fail: ====================================== gsl 2.7.1: linalg/test-suite.log ====================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 0 (2.55795384873636067e-13 observed vs 0 expected) [28190582] FAIL test (exit status: 1) Resulting compilation flags: ``` -O1 -fexpensive-optimizations -pipe -march=alderlake -ggdb3 -frecord-gcc-switches ``` --------------------------------------------------------------- Iteration 18. Iteration 17 + remove -ggdb3 Fails in the previous way. Resulting compilation flags: ``` -O1 -fexpensive-optimizations -pipe -march=alderlake -frecord-gcc-switches ``` So , one assert fails in the case of -O1 -fexpensive-optimizations m-arch=alderlake . Now I'm going to bisect failure of 'complex_LU_decomp rect3' assert
Created attachment 913872 [details] iteration 21. spmatrix/test-suite.log Iteration 19. Iteration 1 + switch to O1 + second half of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Fails only 'complex_LU_decomp rect3' assert: ``` ====================================== gsl 2.7.1: linalg/test-suite.log ====================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05 5.04211056977510452e-05 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960] FAIL test (exit status: 1) ``` Resulting compilation flags: ``` -O1 -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ---------------------------------------------------------------- Iteration 20. Iteration 1 + switch to O1 + third quarter of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2 Success. Resulting compilation flags: ``` -O1 -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ------------------------------------------------------------- Iteration 21. Iteration 1 + switch to O1 + 7th 1/8 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2: !!!!! Another test fail in another place: Attached /var/tmp/portage/sci-libs/gsl-2.7.1-r3/work/gsl-2.7.1/spmatrix/test-suite.log Looks like floating point errors. Resulting compilation flags: ``` -O1 -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ------------------------------------------------------------- Iteration 22. Iteration 1 + switch to O1 + 15th 1/16 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2:
Iteration 22. Iteration 1 + switch to O1 + 8th 1/8 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2: Success. why...? Resulting compilation flags: ``` -O1 -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Content of corresponding /etc/portage/env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" FROM_GCC_ALL_O2="-ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap" COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ```
Iteration 23. Iteration 1 + switch to O1 + 4th quarter of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2: fail linalg/ complex_LU_decomp rect3 . I've `cd` to spmatrix and tried to execute it. No error. So why? With 7th 1/8 of O2 flags it appears, with 4th 1/4 it doesn't... `complex_LU_decomp rect3` is also looks like a floating point error: expected and observed values have difference after 10 valuable digits. And it's also strange: with 4rd quarter it appears, but not with 7th 1/8 or 8th 1/8 of flags. `QR Rank-1 Update` `QR_update m(5,3)` should be something at O2 to O3 ... I'll try bisect it...
Iteration 24. Iteration 1 + switch to O2 + all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 test fail: qr, decomp and choletsky invert and (I've `cd`ed to check) spmatrix. resulting compilation flags: ``` -O2 -pipe -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops -fsplit-paths -ftree-loop-distribution -ftree-partial-pre -funswitch-loops -fvect-cost-model=dynamic -fversion-loops-for-strides -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` --------------------------------------- Iteration 25. Iteration 1 + switch to O2 + first half of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 tests failures are the same as in 24th iteration, but not QR. resulting compilation flags: ``` -O2 -pipe -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` --------------------------------------------------------- Iteration 26. Iteration 1 + switch to O2 + second half of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 fail. same as iteration 24. --------------------------------------------------------- Iteration 27. Iteration 1 + switch to O2 + third quarter of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 fail. same as iteration 25. --------------------------------------------------------- Iteration 28. Iteration 1 + switch to O2 + fourth quarter of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 fail. same as iteration 24. --------------------------------------------------------- Iteration 29. Iteration 1 + switch to O2 + 7th 1/8 of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 fail. same as iteration 25. --------------------------------------------------------- Iteration 30. Iteration 1 + switch to O2 + 8th 1/8 of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3 fail. same as iteration 24. Compilation flags: ``` -O2 -pipe -fversion-loops-for-strides -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches ``` Corresponding env file: ``` MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720" LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" SOME_O3_FLAGS="-fversion-loops-for-strides" COMMON_FLAGS="-O2 -pipe ${SOME_O3_FLAGS} ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` -------------------------------------------------------- Iteration 31. Iteration 30 + remove -march=native flags. Success. Every test passed. -------------------------------------------------------- Iteration 32. Iteration 1 + remove -march=native flags. Another test fail: ``` =================================== gsl 2.7.1: rng/test-suite.log =================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: random32-bsd, 10000 steps (626977143 observed vs 1663114331 expected) [55] FAIL: random64-bsd, 10000 steps (1262850638 observed vs 864469165 expected) [56] FAIL: random32-libc5, 10000 steps (827587933 observed vs 1967452027 expected) [61] FAIL: random64-libc5, 10000 steps (963916554 observed vs 2106639801 expected) [62] FAIL test (exit status: 1) ``` Resulting compilation flags: ``` -O3 -pipe -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches ``` env file: ``` LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}" GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize" DEBUG_FLAGS_GCC="-ggdb3" BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches" BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0" COMMON_FLAGS="-O3 -pipe ${GCC_POLLY} ${LTO_FLAGS_GCC} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}" ``` ---------------------------------------------------------- Iteration 33. Iteration 1 + no march native + no graphite flags. Fails same as iteration 32. Compilation flags: ``` -O3 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches ``` ---------------------------------------------------------- Iteration 34. Iteration 1 + no march native + no graphite flags + switch to O2. Success. Compilation flags: ``` -O2 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches ```
Created attachment 913876 [details] a lot of files in a lzip-tarball in the lzip tarball: emerge_--info.txt /var/tmp/portage/sci-libs/gsl-2.7.1-r3/{build-info/,files/,temp/,work/**.log} /var/lib/portage/ /etc/portage/ /var/log/portage/elog/sci-libs/gsl-2.7.1-r3:20241212-173935.log Summary: 5 different test failures. -------------------------------------------------------- linalg: 3 different asserts in different cases: ``` FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 0 (2.55795384873636067e-13 observed vs 0 expected) [28190582] FAIL test (exit status: 1) ``` if ``` -O1 -fexpensive-optimizations -pipe -march=alderlake -frecord-gcc-switches ``` ---------------------------------- ``` FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05 5.04211056977510452e-05 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960] FAIL test (exit status: 1) ``` if: O2 + my march=native(verbosely) + graphite flags if: O1 + fourth quarter of O2 flags ( -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap ) + my march=native + graphite but not if: O1 + 7th 1/8 ( -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre ) or 8th 1/8 ( -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap ) of the O2 flags + my march native + graphite ---------------------------------- ``` FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05 5.04211056977510452e-05 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960] ( 5, 3)[2,1]: 0.00349227666295463118 0.00349227666295566508 FAIL: QR_update m(5,3) [22465199] FAIL: QR Rank-1 Update [22465208] FAIL: cholesky_invert unscaled hilbert ( 4, 4)[0,2]: 2.55795384873636067e-13 ``` if O2 + -fversion-loops-for-strides + my march=native flags + graphite But not if: O2 + -fversion-loops-for-strides + graphite ------------------------------------------------------------------------ spmatrix fail (see file `iteration 21. spmatrix/test-suite.log) if O1 + 7th 1/8 of O2 flags (-fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre ) + my march=native(verbosely) + graphite flags ------------------------------------------------------------------------ ``` =================================== gsl 2.7.1: rng/test-suite.log =================================== # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test ========== FAIL: random32-bsd, 10000 steps (626977143 observed vs 1663114331 expected) [55] FAIL: random64-bsd, 10000 steps (1262850638 observed vs 864469165 expected) [56] FAIL: random32-libc5, 10000 steps (827587933 observed vs 1967452027 expected) [61] FAIL: random64-libc5, 10000 steps (963916554 observed vs 2106639801 expected) [62] FAIL test (exit status: 1) ``` if `-O3 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches` But not if `-O2 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches`