Data.table: [์š”์ฒญ] `SHLIB_OPENMP_CFLAGS`๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— `-fopenmp`์™€ ์ปดํŒŒ์ผ๋Ÿฌ ํ˜ธํ™˜์„ฑ ํ…Œ์ŠคํŠธ

์— ๋งŒ๋“  2017๋…„ 05์›” 12์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Rdatatable/data.table

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‚ฌ์ดํŠธ Makeconf ํŒŒ์ผ์ด SHLIB_OPENMP_CFLAGS ๋ฅผ ์ •์˜ํ•˜๋”๋ผ๋„ openmp๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ/์ปดํŒŒ์ผ๋Ÿฌ์— data.table ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ clang ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์žˆ๋Š” R 3.4.0๋ถ€ํ„ฐ macOS์˜ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ifeq ๋Š” GNU make ํ™•์žฅ์ด๋ฏ€๋กœ DESCRIPTION ์— ๊ธฐ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

```์‰˜
CXX11=$(์‰˜ "${R_HOME}"/bin/R CMD ๊ตฌ์„ฑ CXX11)
ifeq ($(shell $(CXX11) -fopenmp -E -xc++ - 2>&1 >/dev/null && echo 'true'), true)
PKG_CFLAGS=$(SHLIB_OPENMP_CFLAGS)
PKG_LIBS=$(SHLIB_OPENMP_CFLAGS)
์—”๋””ํ”„

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

์ด๊ฒƒ์€ ํŠนํžˆ CRAN์ด ์•„์ง ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•˜์ง€ ์•Š์€ ์ƒˆ ๋ฆด๋ฆฌ์Šค ์ดํ›„์— ์—ฌ์ „ํžˆ ๋ฌธ์ œ(์˜ˆ: R ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ƒˆ๋กœ์šด ๋ฌธ์ œ)๋ฅผ ์œ ๋ฐœํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ์ด์ œ ๊ตฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ(https://github.com/Rdatatable/data.table/pull/3951)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ปดํŒŒ์ผ์ด ๊ธฐ๋ณธ macOS ๋„๊ตฌ ๋ชจ์Œ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ณ‘๋ ฌํ™”).

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

์ด ๋ฌธ์ œ๋Š” ํ˜„์žฌ R ์˜ ๊ฐœ๋ฐœ ๋ฒ„์ „์ด ์žˆ๋Š” Mac์—์„œ data.table ์‚ฌ์šฉ์„ ์ฐจ๋‹จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

> sessionInfo()
R Under development (unstable) (2017-05-26 r72742)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.5

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets 
[6] methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0   

์ด๊ฒƒ์€ ํŠนํžˆ CRAN์ด ์•„์ง ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•˜์ง€ ์•Š์€ ์ƒˆ ๋ฆด๋ฆฌ์Šค ์ดํ›„์— ์—ฌ์ „ํžˆ ๋ฌธ์ œ(์˜ˆ: R ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ƒˆ๋กœ์šด ๋ฌธ์ œ)๋ฅผ ์œ ๋ฐœํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ์ด์ œ ๊ตฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ(https://github.com/Rdatatable/data.table/pull/3951)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ปดํŒŒ์ผ์ด ๊ธฐ๋ณธ macOS ๋„๊ตฌ ๋ชจ์Œ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ณ‘๋ ฌํ™”).

@jimhester ๋ฉ”๋ชจ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ด๋ฏธ openmp ์—†์ด ์ปดํŒŒ์ผ๋Ÿฌ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ  CRAN_Release.cmd ์—ฌ๊ธฐ์—์„œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค . ๊ทธ๋Ÿฌ๋‚˜ ๋ถ„๋ช…ํžˆ ๋‚˜๋Š” โ€‹โ€‹ํ‹€๋ ธ๊ณ  ๊ทธ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ๋งํ•˜๊ณ  ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋จธ๋ฆฌ๋ฅผ ์ˆ™์ด๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” data.table์ด ๋ฌด์—‡์ด๋“  ์ฐจ๋‹จํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์šฉ์ž์˜ ์ฃผ์žฅ์— ์•ฝ๊ฐ„ ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค. MacOS๊ฐ€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค... ์™œ ๊ธฐ๋ณธ์ ์œผ๋กœ openmp๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ด ๋ชจ๋“  ๊ฒƒ์ด Linux ๋ฐ Windows์—์„œ ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰