Lapack: Windows์˜ 3.9.1์—์„œ `xlintstz_ztest_in`์— ๋Œ€ํ•œ Stackoverflow

์— ๋งŒ๋“  2021๋…„ 05์›” 08์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Reference-LAPACK/lapack

conda-forge์šฉ lapack 3.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

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

mingw๊ฐ€ ์žˆ๋Š” Windows์—์„œ๋Š” ์ปดํŒŒ์ผ/๋งํฌ ์‹œ ์Šคํƒ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(-Wl,--stack,2097152 ์ด์ƒ). dumpbin /headers ์™€ ๊ฐ™์ด exe์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  8 ๋Œ“๊ธ€

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ 3.9.1์€ ์ด์ „ ๋ฒ„์ „์— ๋น„ํ•ด xlintstz์— ๋Œ€ํ•œ ์Šคํƒ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ƒ๋‹นํžˆ _๊ฐ์†Œ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ํ™•์‹คํžˆ ์œ ๋‹‰์Šค ํ”Œ๋žซํผ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค)

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(#492)์€ xlintstz๊ฐ€ ์•„๋‹Œ xeigtstz์— ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค.

์˜ˆ... #492์™€ ์œ ์‚ฌํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์œผ๋กœ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

#492๋ฅผ ๋ณด์•˜์ง€๋งŒ ๋‚ด ๊ธ‰์—ฌ๋ณด๋‹ค ์•ฝ๊ฐ„ ๋†’์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค... https://github.com/Reference-LAPACK/lapack/pull/492/commits/df02000eedbda3f38e305af1290313e5b2a2b541 LIN ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ฒ˜์Œ์—๋Š” ์Šคํƒ ํฌ๊ธฐ๋ฅผ 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 ๋“ฑ๊ธ‰