Lapack: Stackoverflow для `xlintstz_ztest_in` под 3.9.1 в windows

Созданный на 8 мая 2021  ·  8Комментарии  ·  Источник: Reference-LAPACK/lapack

При попытке собрать Lapack 3.9.1 для conda-forge (см. Здесь ) после сборки возникла новая ошибка для 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

Самый полезный комментарий

Я считаю, что в Windows с mingw размер стека необходимо отрегулировать во время компиляции / компоновки (-Wl, - stack, 2097152 или выше). Вероятно, можно получить значение по умолчанию в exe с помощью чего-то вроде dumpbin /headers .

Все 8 Комментарий

Интересно, так как ожидается, что 3.9.1 значительно снизит требования к стеку для xlintstz по сравнению с более ранними версиями (и это определенно есть на платформах unixoid).

извините, изменения, о которых я думал (# 492), коснулись xeigtstz, а не xlintstz

Да ... Я бы сказал, что исправление, подобное # 492, решит эту проблему. Оба относятся к переполнению стека.

Я посмотрел на номер 492, но он выглядит немного выше моего заработка ... Вы имеете в виду, что (что-то вроде) https://github.com/Reference-LAPACK/lapack/pull/492/commit/df02000eedbda3f38e305af1290313e5b2a2b541 нужно сделать для LIN-тестов?

Сначала я предлагаю вам увеличить размер стека ulimit -s unlimited и посмотреть, сохраняется ли проблема. Не могли бы вы попробовать? Если это сработает, мы можем попробовать то же решение, что и в # 492.

Я считаю, что в Windows с mingw размер стека необходимо отрегулировать во время компиляции / компоновки (-Wl, - stack, 2097152 или выше). Вероятно, можно получить значение по умолчанию в exe с помощью чего-то вроде dumpbin /headers .

Большое спасибо за подсказку @ martin-frbg, действительно, https://github.com/conda-forge/lapack-feedstock/pull/51/commit/3835a4de851f90555b5a6ce6bdd3e6d66b57e675 решает проблему с Windows.

Рад узнать, что это работает, но я думаю, что мы все еще можем скопировать решение из # 492 (я уже преобразовал zchkaa.f, но еще не определил минимальный uiimit с новым кодом)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

oxydicer picture oxydicer  ·  6Комментарии

5tefan picture 5tefan  ·  3Комментарии

JHenneberg picture JHenneberg  ·  10Комментарии

miroi picture miroi  ·  10Комментарии

Dichloromethane picture Dichloromethane  ·  11Комментарии