Lapack: Stackoverflow für `xlintstz_ztest_in` unter 3.9.1 unter Windows

Erstellt am 8. Mai 2021  ·  8Kommentare  ·  Quelle: Reference-LAPACK/lapack

Beim Versuch, Lapack 3.9.1 für conda-forge zu erstellen (siehe hier ), gibt es nach dem Erstellen einen neuen Fehler für ctest --output-on-failure -E "x*cblat*" :

 81/108 Test  #81: LAPACK-xlintstz_ztest_in .........***Failed    0.06 sec
Running: D:/bld/blas-split_1620498704464/work/build/bin/xlintstz.exe
ARGS= OUTPUT_FILE;D:/bld/blas-split_1620498704464/work/build/TESTING/ztest.out;ERROR_FILE;D:/bld/blas-split_1620498704464/work/build/TESTING/ztest.out.err;INPUT_FILE;D:/bld/blas-split_1620498704464/work/TESTING/ztest.in
Test OUTPUT:

Test ERROR:

CMake Error at D:/bld/blas-split_1620498704464/work/TESTING/runtest.cmake:36 (message):
  Test D:/bld/blas-split_1620498704464/work/build/bin/xlintstz.exe returned
  Stack overflow

Der Build erfolgt mit minGW ungefähr wie folgt (mehr Details hier ):

set "CC=gcc.exe"
set "CXX=g++.exe"
set "FC=gfortran.exe"

cmake -G "MinGW Makefiles" ^
    -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
    -DBUILD_SHARED_LIBS=yes ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DBUILD_TESTING=ON ^
    -DLAPACKE=ON ^
    -DCBLAS=ON ^
    -DBUILD_DEPRECATED=ON ^
    -Wno-dev ..

mingw32-make -j%CPU_COUNT%
mingw32-make install
if %ERRORLEVEL% NEQ 0 exit 1
Bug

Hilfreichster Kommentar

Unter Windows mit mingw muss die Stackgröße meiner Meinung nach zum Zeitpunkt der Kompilierung / Verknüpfung angepasst werden (-Wl,--stack,2097152 oder höher). Man kann den Standardwert in der exe wahrscheinlich mit etwas wie dumpbin /headers .

Alle 8 Kommentare

Interessant, da erwartet wird, dass 3.9.1 die Stack-Anforderungen für xlintstz im Vergleich zu früheren Versionen erheblich _reduziert_ hat. (Und auf Unixoid-Plattformen definitiv)

Entschuldigung, die Änderungen, an die ich gedacht habe (#492) betrafen eher xeigtstz als xlintstz

Ja ... ich würde sagen, dass ein Fix ähnlich wie #492 dieses Problem lösen wird. Beide beziehen sich auf Stapelüberlauf.

Ich habe mir #492 angesehen, aber es sieht etwas über meiner Gehaltsstufe aus ... Meinst du das (etwas in der Art) https://github.com/Reference-LAPACK/lapack/pull/492/commits/df02000eedbda3f38e305af1290313e5b2a2b541 muss für die LIN-Tests durchgeführt werden?

Zuerst würde ich vorschlagen, dass Sie die Stapelgröße ulimit -s unlimited erhöhen und prüfen, ob das Problem weiterhin besteht. Kannst du es bitte versuchen? Wenn dies funktioniert, können wir dieselbe Lösung wie in #492 anwenden.

Unter Windows mit mingw muss die Stackgröße meiner Meinung nach zum Zeitpunkt der Kompilierung / Verknüpfung angepasst werden (-Wl,--stack,2097152 oder höher). Man kann den Standardwert in der exe wahrscheinlich mit etwas wie dumpbin /headers .

Vielen Dank für den Tipp @martin-frbg, tatsächlich löst https://github.com/conda-forge/lapack-feedstock/pull/51/commits/3835a4de851f90555b5a6ce6bdd3e6d66b57e675 den Fehler unter Windows.

Freut mich zu wissen, dass es funktioniert - aber ich denke, wir möchten vielleicht noch die Lösung von #492 kopieren (ich habe zchkaa.f bereits konvertiert, aber noch nicht die minimale Uiimit mit dem neuen Code bestimmt)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

weslleyspereira picture weslleyspereira  ·  5Kommentare

epsilon-0 picture epsilon-0  ·  41Kommentare

Peter9606 picture Peter9606  ·  7Kommentare

5tefan picture 5tefan  ·  3Kommentare

Dichloromethane picture Dichloromethane  ·  11Kommentare