AMD์˜ ์ตœ์ ํ™” C/C++ ์ปดํŒŒ์ผ๋Ÿฌ AOCC 2.0 ์ถœ์‹œ

AMD๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. AOCC 2.0 (AMD ์ตœ์ ํ™” C/C++ ์ปดํŒŒ์ผ๋Ÿฌ)๋Š” LLVM ์œ„์— ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜์˜ 17๋ฒˆ์งธ AMD ํ”„๋กœ์„ธ์„œ ์ œํ’ˆ๊ตฐ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ฐœ์„  ๋ฐ ์ตœ์ ํ™”๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์„ , ์   + ะธ ์   2์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฏธ ์ถœ์‹œ๋œ AMD Ryzen ๋ฐ EPYC ํ”„๋กœ์„ธ์„œ์˜ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ์—๋Š” ๋ฒกํ„ฐํ™”, ์ฝ”๋“œ ์ƒ์„ฑ, ๊ณ ๊ธ‰ ์ตœ์ ํ™”, ์ ˆ์ฐจ ๊ฐ„ ๋ถ„์„ ๋ฐ ๋ฃจํ”„ ๋ณ€ํ™˜๊ณผ ๊ด€๋ จ๋œ ์ผ๋ฐ˜์ ์ธ ๊ฐœ์„  ์‚ฌํ•ญ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ LLD ๋ง์ปค๋Š” ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€์—๋Š” libm ์ˆ˜ํ•™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ AMDLibM์˜ ์ตœ์ ํ™”๋œ ๋ฒ„์ „์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” 32๋น„ํŠธ ๋ฐ 64๋น„ํŠธ Linux ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ๋ถ„๊ธฐ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. LLVM 8.0. ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ ๋ฒกํ„ฐํ™”๊ฐ€ ๊ฐœ์„ ๋œ AMD EPYC 7002 ์‹œ๋ฆฌ์ฆˆ(Zen 2) ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ตœ์ ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Zen 2์— ๋Œ€ํ•œ ์ตœ์ ํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด "znver2" ์•„ํ‚คํ…์ฒ˜ ์„ ํƒ ์˜ต์…˜์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Fortran ์–ธ์–ด์šฉ Flang ์ปดํŒŒ์ผ๋Ÿฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AMDLibM ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฆด๋ฆฌ์Šค 3.3์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ์šฉ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์‹คํ–‰ ํŒŒ์ผ์€ RHEL 7.4, SLES 12 SP3 ๋ฐ Ubuntu 18.04 LTS์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AOCC๋Š” ํ˜„์žฌ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์œผ๋กœ๋งŒ ๋ฐฐํฌ๋˜๋ฉฐ EULA ๊ณ„์•ฝ ์ฑ„ํƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€