Lapack: Windowsの3.9.1での `xlintstz_ztest_in`のStackoverflow

作成日 2021年05月08日  ·  8コメント  ·  ソース: Reference-LAPACK/lapack

conda-forge用のlapack3.9.1をビルドしようとすると(ここを参照)、ビルド後に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

ビルドはminGWを使用して、おおまかに次のように実行されます(詳細はこちら)。

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

最も参考になるコメント

mingwを使用するWindowsでは、コンパイル/リンク時にスタックサイズを調整する必要があると思います(-Wl、-stack、2097152以上)。 dumpbin /headersようなものを使用して、exeのデフォルト値を取得できる可能性があります。

全てのコメント8件

3.9.1は、以前のバージョンと比較してxlintstzのスタック要件が大幅に「削減」されると予想されるため興味深いです(そして、unixoidプラットフォームでは間違いなくあります)

申し訳ありませんが、私が考えていた変更(#492)は、xlintstzではなくxeigtstzに影響しました

はい...#492と同様の修正でこの問題が解決すると思います。 どちらもスタックオーバーフローに関連しています。

#492を見ましたが、ペイグレードを少し上回っています... https://github.com/Reference-LAPACK/lapack/pull/492/commits/df02000eedbda3f38e305af1290313e5b2a2b541という意味ですか

最初に、スタックサイズをulimit -s unlimited増やして、問題がまだあるかどうかを確認することをお勧めします。 やってみませんか? これが機能する場合は、#492で適用したのと同じソリューションを試すことができます。

mingwを使用するWindowsでは、コンパイル/リンク時にスタックサイズを調整する必要があると思います(-Wl、-stack、2097152以上)。 dumpbin /headersようなものを使用して、exeのデフォルト値を取得できる可能性があります。

ヒント@ martin-frbgに感謝します。確かに、 https://github.com/conda-forge/lapack-feedstock/pull/51/commits/3835a4de851f90555b5a6ce6bdd3e6d66b57e675はWindowsの障害を解決します。

それが機能することを知ってうれしいです-しかし、私たちはまだ#492からソリューションをコピーしたいと思うかもしれません(私はすでにzchkaa.fを変換しましたが、新しいコードで最小uiimitをまだ決定していません)

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

pablosanjose picture pablosanjose  ·  41コメント

hokb picture hokb  ·  16コメント

christoph-conrads picture christoph-conrads  ·  26コメント

Dichloromethane picture Dichloromethane  ·  11コメント

Peter9606 picture Peter9606  ·  7コメント