ํ์ฌ MacOS์์ python ํจํค์ง๋ฅผ ์ค์นํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$ brew install gcc<strong i="7">@5</strong>
$ export CC=/path/to/gcc-5; export CXX=/path/to/g++-5; pip install xgboost
๊ฒฝํ ๋ง์ ๊ธฐ์ฌ์๋ก๋ถํฐ ๋ฐฐ์ฐ๊ณ ์ถ์ ๊ฒ์ ์ด ์ค์น ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ ๊ณํ์ด ์๋์ง ์ฌ๋ถ์ ๋๋ค. ์์ ๋ด์ฉ์ xgboost์ ์์กดํ๋ ๋ชจ๋ ํจํค์ง์ ์๋ ์ค์น ์์คํ ์ ์ ์ฉํ ์ ์์ต๋๋ค. xgboost๋ฅผ Apple์ clang๊ณผ ํธํ๋๋๋ก ํ๋ ค๋ฉด ๋ฌด์์ด ํ์ํ ๊น์?
Apple์ clang์ ๊ธฐ๋ณธ์ ์ผ๋ก OpenMP๋ฅผ ์ง์ํ์ง ์์ผ๋ฏ๋ก Homebrew GCC๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ XGBoost๋ Apple์ clang๊ณผ ํธํ๋์ง ์์ต๋๋ค.
Mac OSX์ฉ ๋ฐ์ด๋๋ฆฌ ํ ์ ๋ฐฐํฌํ์ฌ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ ํ ์๋ ๋ฏธ๋ฆฌ ๋น๋๋ libxgboost.dylib๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์ฌ์ฉ์๋ ์ปดํ์ผ๋ฌ๊ฐ ํ์ํ์ง ์์ต๋๋ค. (์ด๊ฒ์ Windows ์ฌ์ฉ์๊ฐ XGBoost๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Visual Studio๋ฅผ ์ค์นํ ํ์๊ฐ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค.)
๊ทธ๋ฌ๋ ์ ์ง ๊ด๋ฆฌ์(์ ๋ฅผ ํฌํจํ์ฌ)๋ ํ์ฌ Mac OSX์ ๋ฐ์ด๋๋ฆฌ ํจํค์ง, ์ฆ ์ฌ๋ฌ ๋ฒ์ ์ OSX์์ ๊ด๋ฒ์ํ๊ฒ ํธํ๋๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ต์ํ์ง ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ ์ ์ฌํญ์ด ์์ต๋๊น?
์ง๊ธ์ conda-forge๋ฅผ ์ฌ์ฉํ์ฌ Mac OSX์์ XGBoost ์ค์น๋ฅผ ์๋ํํ๋ ๊ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
@hcho3 ๋น ๋ฅธ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค! Conda๋ ํ์คํ ์ต์ ์ด์ง๋ง pip๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๊ฐ๋จํฉ๋๋ค. macos์์ ๋ฐ์ด๋๋ฆฌ ํจํค์ง์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ํ ๋ฐ์ด๋๋ฆฌ ํจํค์ง์ ์ต์ํ์ง ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ถ์ผ์ ๊ฒฝํ์ด ์๋ ๋ค๋ฅธ ์ฌ๋์ ์๊ฒฌ์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
ํ์ค ์ปดํ์ผ ํ๋ก์ธ์ค์ ์ํด ์์ฑ๋ dylib๊ฐ homebrew gcc์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌ๊ฒ ์์กดํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ์ ์ฝ๊ฐ์ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ปดํ์ผ ํ ํด๋น ์ข ์์ฑ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ(๋๋ gcc ๋ฒ์ ์์ ์ผ๋ฐ์ผ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ)์ด ์๋ค๋ฉด ํ๋ฅญํ ๊ฒ์ ๋๋ค. ๊ธ์์, ๊ทธ๊ฒ์ ์ถ์ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
@Craigacp @hcho3 cmakelists์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ ๋๊น์ง ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ณ ๋ คํ ์ ์๋ ๊ฒ์ ๋๊น? https://github.com/netket/netket/issues/225#issuecomment -502714445. ์ ๋ xgboost์ ๋ด๋ถ์ ์ต์ํ์ง ์์ต๋๋ค. OpenMP๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฑ๋ฅ์ ์ผ๋ง๋ ์ค์ํ์ง ๋ชจ๋ฆ ๋๋ค.
์ด๊ฒ๋ ์ ๋งํ ๊ฒ ๊ฐ์์ง๋ง ์๋ํ์ง ๋ชปํ์ต๋๋ค: https://stackoverflow.com/questions/46414660/macos-cmake-and-openmp.
@adithyabsk @Craigacp OpenMP๋ XGBoost์ ์ฑ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ฌ์ฉ์ ์์คํ ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉํฐ ์ฝ์ด CPU์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. OpenMP๊ฐ ์์ผ๋ฉด CPU ์ฝ์ด๋ฅผ ํ๋๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
IMHO, pip๋ libomp์ ๊ฐ์ ์ธ๋ถ ์ข ์์ฑ์ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค. ๋ฐ๋ฉด์ conda๋ Python์ด ์๋ ์ข ์์ฑ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ๊ฒ์๋ฌผ ์ฐธ์กฐ: https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/
Microsoft/LightGBM ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ: ์ฌ์ฉ์์๊ฒ brew install libomp
๋ฅผ ์คํํ๋๋ก ์์ฒญํฉ๋๋ค. ๋จผ์ Homebrew๋ฅผ ์ค์นํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด GCC๋ Conda๋ฅผ ์ค์นํ๋ ๊ฒ๋ณด๋ค ์ฌ์ด์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@hcho3 brew install libomp ์๋ฃจ์ ์ ์ฌ์ ์ค์น ์ค์ ์คํฌ๋ฆฝํธ์์ ์ ๊ณต๋ ์ ์์ผ๋ฏ๋ก ๋ ๋์ ์ ์์ง๋ง ํ์ฌ ์ ์ ํ gcc ๋ฐ g++ ๋ฒ์ ์ ์ง์ ํ๊ธฐ ์ํด CI ํ์ดํ๋ผ์ธ์์ xgboost๋ฅผ ๋ถ๋ฆฌํด์ผ ํฉ๋๋ค. ํ์คํ, conda๊ฐ ์งํ๋๋ ํ ๋์ํ๊ณ ๊ทธ๊ฒ์ด ์ ์ผํ ํด๊ฒฐ์ฑ ์ด ๋ ์๋ ์์ง๋ง ๋ค๋ฅธ ์ต์ ์ด ๊ฐ๋ฅํ์ง ์์๋ณด๊ธฐ ์ํด ๋ค๋ฅธ ์ต์ ์ ํ์ํ๊ณ ์ถ์์ต๋๋ค.
์ด๋ฆฌ์์ ์ง๋ฌธ์ ์ฃ์กํ์ง๋ง ๋ฐํ์์ OpenMP๊ฐ ํ์ํฉ๋๊น? ์๋ฅผ ๋ค์ด, OpenMP๊ฐ ์ค์น๋ dmlc-core ๋ฐ xgboost๋ฅผ ์ปดํ์ผํ ๋ค์ ํด๋น ํ์ผ์ ํ ๋ก ๋ฒ๋ค๋งํ์ฌ audit_wheel ๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น ์ ์ปดํ์ผ์ด ํ์ํ์ง ์๋๋ก ํ ์ ์์ต๋๊น?
@adithyabsk ๋ฐฉ๊ธ brew install libomp
๋ฅผ ์ฌ์ฉํด ๋ณด์๊ณ ์ด์ ๊ธฐ๋ณธ ์ปดํ์ผ๋ฌ์ธ Apple Clang์ผ๋ก XGBoost๋ฅผ ์ปดํ์ผํ ์ ์์ต๋๋ค.
brew install libomp
mkdir build
cd build
cmake ..
make -j10
๊ฒ๋ค๊ฐ ๊ฒฐ๊ณผ ๋ฐ์ด๋๋ฆฌ libxgboost.dylib
๋ /usr/local/opt/libomp/lib/libomp.dylib
๋ฐ OSX ์์คํ
๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ง ์์กดํฉ๋๋ค. (GCC์ ํน์ ๋ฒ์ ์ ๋ ์ด์ ์ข
์๋์ง ์์ต๋๋ค! ๋ง์ธ!) ๋ฐ๋ผ์ brew install libomp
๊ฐ Conda ์์ด Mac OSX์ XGBoost๋ฅผ ์ค์นํ๋ ๊ฐ์ฅ ๊ณ ํต์ค๋ฌ์ด ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ์ ์ฌ์ ํ โโ๊น๋ค๋กญ์ต๋๋ค. ํ ๋ด๋ถ์ libomp.dylib
๋ฅผ ํฌํจํ๋๋ผ๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข
์์ฑ์ด ์ ์ฒด ๊ฒฝ๋ก ๋ก ์ง์ ๋๊ธฐ ๋๋ฌธ์ Mac OSX๋ ํ์ผ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
hcho3<strong i="17">@localhost</strong>: xgboost$ otool -l libxgboost.dylib # show list of library dependencies
libxgboost.dylib:
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
0xfeedfacf 16777223 3 0x00 6 15 2112 0x00918085
....
Load command 10
cmd LC_LOAD_DYLIB
cmdsize 64
name /usr/local/opt/libomp/lib/libomp.dylib (offset 24)
time stamp 2 Wed Dec 31 16:00:02 1969
current version 5.0.0
compatibility version 5.0.0
Load command 11
cmd LC_LOAD_DYLIB
cmdsize 48
name /usr/lib/libc++.1.dylib (offset 24)
time stamp 2 Wed Dec 31 16:00:02 1969
current version 400.9.0
compatibility version 1.0.0
Load command 12
cmd LC_LOAD_DYLIB
cmdsize 56
name /usr/lib/libSystem.B.dylib (offset 24)
time stamp 2 Wed Dec 31 16:00:02 1969
current version 1252.50.4
compatibility version 1.0.0
๋ฐ๋ฉด์ Windows๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ์ ๋ ๋ ์ ์ฐํฉ๋๋ค. ํ ๋ด๋ถ์ vcomp140.dll
(OpenMP ๋ฐํ์)์ ํฌํจํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
@hetong007 ๊ด๋ จ ์ฐธ๊ณ : brew install libomp
๋ Mac OSX์์ CRAN XGBoost์ ๋ํ ๋ค์ค ์ค๋ ๋ฉ๋ ํ์ฑํํด์ผ ํฉ๋๋ค.
@hcho3 ๊ทธ๋ฐ ๊ฒ ๊ฐ์์. XGBoost R ํจํค์ง๋ ๋์ผํ ๋ฐฑ์๋ API๋ฅผ ํธ์ถํ๋ฏ๋ก ๋์ผํ๊ฒ ์๋ํด์ผ ํฉ๋๋ค.
@hcho3 ๋ฉ์ง ๋ฐ์ ์ด๋ค์! ๋ง์ R&D ์ฐ๊ตฌ์ค์์ xgboost๋ฅผ ์ค์นํ๋ ๊ฒ์ด ๋ด๋ถ ์๊ตฌ ์ฌํญ์ ์ต์ํ์ง ์์ ์ฌ๋๋ค์๊ฒ๋ ๊ณจ์นซ๊ฑฐ๋ฆฌ๋ผ๋ ๊ฒ์ ์ฆ๋ช ํ ์ ์์ผ๋ฏ๋ก ์ด๋ฏธ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ณ ์์ต๋๋ค.
์ด ๋ฉ๋ชจ์ ๋ํ ํ์ ์กฐ์น:
๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข ์์ฑ์ด ์ ์ฒด ๊ฒฝ๋ก๋ก ์ง์ ๋์ด ์์ผ๋ฏ๋ก Mac OSX๋ ํ์ผ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
libomp.dylib๋ฅผ ๋ฐ์ด๋๋ฆฌ ํ ๋ก ๊ฐ์ ธ์ค๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ด ํน์ ๋ฌธ์ ๋ฅผ ๋ ์์ธํ ์กฐ์ฌํ ์ ์์ต๋๋ค.
@ hcho3 ํ์ฅ ์์ฒด ๋๋ฌธ์ผ ์๋ ์์ต๋๊น? macOS์์๋ .so๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด ๋ฌธ์ ์ค๋ ๋์ stackoverflow ๊ฒ์๋ฌผ์ ๊ทธ๋ ๊ฒ ํ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
https://stackoverflow.com/questions/2488016/how-to-make-python-load-dylib-on-osx
https://github.com/MoDeNa-EUProject/MoDeNa/issues/1
@adithyabsk ๋ฐํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ ์ ํฌํจํ๊ณ ๋ก๋ํ๋ ์์
์ ๋ณต์ก์ฑ์ ๊ฐ์ํ ๋ brew install libomp
๋ก ํด๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค.
libomp
๋ฅผ ์ฌ์ฉํ๋ฉด Apple Clang์ ์ฌ์ฉํ์ฌ XGBoost๋ฅผ ์ปดํ์ผํ ์ ์์ผ๋ฏ๋ก ํน์ ๋ฒ์ ์ Homebrew GCC์ ๋ํ ์ข
์์ฑ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.์ถ์ . Apple Clang์์ OpenMP ์ฌ์ฉ์ ์ดํดํ๊ธฐ ์ํด https://iscinumpy.gitlab.io/post/omp-on-high-sierra/ ๋ฅผ ๋ณด๊ณ ์์ต๋๋ค.
@hcho3
์ถ์ . Apple Clang์์ OpenMP ์ฌ์ฉ์ ์ดํดํ๊ธฐ ์ํด https://iscinumpy.gitlab.io/post/omp-on-high-sierra/ ๋ฅผ ๋ณด๊ณ ์์ต๋๋ค.
๋ค์ PR์ด ๋์์ด ๋ ์ ์์ต๋๋ค.
https://github.com/microsoft/LightGBM/pull/1501 , https://github.com/microsoft/LightGBM/pull/1923.
@adhyabsk ์ด๊ฒ์ ๋์ ์ฐ์ ์์ ์ค ํ๋์ ๋๋ค. 1.0.0 ๋ฆด๋ฆฌ์ค ์ ์ ์์ ํ๊ณ ์ถ์ต๋๋ค.
@hcho3 ๋ฐ๊ฐ ์ต๋๋ค! ์ด ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
@adithyabsk brew install libomp
์ ์ง๋ฉดํ ํ ๊ฐ์ง ๋ฏธ๋ฌํ ๋ฌธ์ ๋ CMakeLists.txt๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์ง ์์๊ธฐ ๋๋ฌธ์ XGBoost๊ฐ OpenMP ์์ด ์ปดํ์ผ๋๋ค๋ ๊ฒ์
๋๋ค. (๋ด Macbook์์ ์ ๋นํ ๋ฌด๊ฑฐ์ด ์์
์ ์คํํ์ฌ ์ ์ ์์ต๋๋ค. OpenMP๊ฐ ์์ผ๋ฉด ์์
์ด 2-3๋ฐฐ ๋ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.) OpenMP๋ฅผ ์ ์ ํ๊ฒ ํ์ฑํํ๊ธฐ ์ํด CMakeLists.txt๋ฅผ ์์ ํ๋ ค๊ณ ํฉ๋๋ค.
@StrikerRUS ๋งํฌ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋น๋ ์์คํ ์ ์๋์ํค๋ ๊ฒ์ ์๋นํ ์ด๋ ต๊ณ ์ฐธ์กฐ์ (LightGBM)์ ๊ฐ๋ ๊ฒ์ด ๋ง์ ๋์์ด ๋ฉ๋๋ค.
@adithyabsk
brew install libomp
์ ์ง๋ฉดํ ํ ๊ฐ์ง ๋ฏธ๋ฌํ ๋ฌธ์ ๋ CMakeLists.txt๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์ง ์์๊ธฐ ๋๋ฌธ์ XGBoost๊ฐ OpenMP ์์ด ์ปดํ์ผ๋๋ค๋ ๊ฒ์ ๋๋ค. (๋ด Macbook์์ ์ ๋นํ ๋ฌด๊ฑฐ์ด ์์ ์ ์คํํ์ฌ ์ ์ ์์ต๋๋ค. OpenMP๊ฐ ์์ผ๋ฉด ์์ ์ด 2-3๋ฐฐ ๋ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.) OpenMP๋ฅผ ์ ์ ํ๊ฒ ํ์ฑํํ๊ธฐ ์ํด CMakeLists.txt๋ฅผ ์์ ํ๋ ค๊ณ ํฉ๋๋ค.ํ์ด์ด ์๋์? ๋ด๊ฐ ๋ฌป๋ ์ด์ ๋ "brew install libomp"๋ฅผ ํตํด libomp๋ฅผ ์ค์นํ ํ์๋ "pip install xgboost -U"๊ฐ ์คํจํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
@wel51x ์ ์๋ฃจ์ ์ด ์๋ํ๋๋ก CMakeLists.txt๋ฅผ ์์ง ์์ ํ์ง ์์์ต๋๋ค. ์ง๊ธ์ https://xgboost.readthedocs.io/en/latest/build.html์ ์ง์นจ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
@adhyabsk @Craigacp https://github.com/matthew-brett/delocate๋ฅผ ์ฐพ์์ต๋๋ค. ์ด๊ฒ์ ํ๋ ์ฝ๋ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข ์์ฑ์ ์ ๊ฑฐํ๋ ์ ์ฉํ ์๋ฃจ์ ์ผ ์ ์์ต๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ๋์์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ... ๋๋ ์ด๊ฒ์ด ์ฃผ๋ฅ ์ ๊ทผ ๋ฐฉ์์ด ์๋๋ผ๋ ๊ฒ์ ์ดํดํ์ง๋ง OpenMP๋ฅผ ์ง์ํ๋ ์ต์ xgboost๋ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋จํ๊ฒ Nix(https://nixos.org/nix/)๋ฅผ ์ฌ์ฉํ์ฌ MacOS์ ์ค์นํ ์ ์์ต๋๋ค.
$ nix-shell -p python3Packages.xgboost
@hcho3๋ , Mac์์ ์ค์น๋ฅผ ๋จ์ํํ์ฌ ์ฌ์ฉ์๊ฐ ํฅํ brew install xgboost
๋ฅผ ์คํํ ์ ์๋๋ก XGBoost์ฉ Homebrew ์์์ ๋ง๋ค์์ต๋๋ค. ์ ์๋ํ์ง๋ง ๋ถํํ๋ ์ด์ ๋ฒ์ ์ GCC๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฉ๋์ง ์์ต๋๋ค.
ํ ๋ก : https://github.com/Homebrew/homebrew-core/pull/43246
ํ ๊ฐ์ง ์ต์
์ OpenMP๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์ด์ง๋ง ์ธ๊ธํ๋ฏ์ด ์ฑ๋ฅ์๋ ์ข์ง ์์ต๋๋ค. libomp
์ ํจ๊ป ์๋ํ๋๋ก ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ ์ ์๋ค๋ฉด ๊ณต์์ ์
๋ฐ์ดํธํ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ์์ผ๋ก ์งํํ ์ ์์ต๋๋ค.
์ ๋ฐ์ดํธํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
fwiw, ๋ ์ด์ GCC์ ์์กดํ์ง ์์ง๋ง OpenMP์ ๋ํ ์ง์์ด ๋ถ์กฑํ๋๋ก ๊ณต์์ ์
๋ฐ์ดํธํ์ต๋๋ค. libomp
์ ๋ํ ์ง์์ด ์ถ์๋๋ฉด ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
๊ณต์์ Homebrew์์ ํ์ฉ๋์์ผ๋ฏ๋ก ์ด์ Mac ์ฌ์ฉ์๋ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
brew install xgboost
brew install xgboost
๋ฅผ ์ฌ์ฉํ์ง๋ง ์ฌ์ ํ XGBoost๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ค์ ๋ก ์๋ก ์ค์น๋ XGBoost ๋๋ ํ ๋ฆฌ ์์๋ __init__.py ํ์ผ์ด๋ ์๋ฌด๊ฒ๋ ์๊ธฐ ๋๋ฌธ์ XGBoost ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. brew๋ฅผ ์ฌ์ฉํ์ฌ XGBoost๋ฅผ ์ค์นํ ํ ๋ค๋ฅธ ๋จ๊ณ๊ฐ ์์ต๋๊น?
@bnicholl ์์ ์๋ฃจ์ ์ https://github.com/dmlc/xgboost/issues/4949#issuecomment -542333666์ ์ฐธ์กฐํ์ธ์.
@hcho3
๋งํฌ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋น๋ ์์คํ ์ ์๋์ํค๋ ๊ฒ์ ์๋นํ ์ด๋ ต๊ณ ์ฐธ์กฐ์ (LightGBM)์ ๊ฐ๋ ๊ฒ์ด ๋ง์ ๋์์ด ๋ฉ๋๋ค.
๋ค์ด์ค๋ CMake 3.16 ๋ฆด๋ฆฌ์ค(ํ์ฌ RC ๋จ๊ณ)๋ฅผ ์ฌ์ฉํ๋ฉด >=Mojave ์ฌ์ฉ์์ ๋ํด ์ถ๊ฐ ์ธ์๋ฅผ ์ ๋ฌํ ํ์๊ฐ ์์ด ํจ์ฌ ์ฌ์์ง๋๋ค. https://gitlab.kitware.com/cmake/cmake/merge_requests/3916์ ์ฐธ์กฐํ์ธ์.
@adithyabsk @Craigacp #5146 ์ด์ Homebrew GCC๋ฅผ ์ค์นํ์ง ์๊ณ ๋ OpenMP๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ XGBoost๋ libomp
Homebrew ํจํค์ง์๋ง ์์กดํฉ๋๋ค.
@ankane ๊ฒฐ๊ณผ์ ์ผ๋ก OpenMP๊ฐ ํ์ฑํ๋ XGBoost(1.0)์ ๋ค์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ ์ถํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ณต์์ Homebrew์์ ํ์ฉ๋์์ผ๋ฏ๋ก ์ด์ Mac ์ฌ์ฉ์๋ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.