Englishํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

Windows์šฉ Simd ๋‹ค์šด๋กœ๋“œ

Ubuntu ์˜จ๋ผ์ธ, Fedora ์˜จ๋ผ์ธ ๋˜๋Š” Debian ์˜จ๋ผ์ธ์—์„œ ์˜จ๋ผ์ธ Win Wine์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด Simd Windows ์•ฑ์„ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.

์ด๊ฒƒ์€ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋ฅผ simd.4.2.74.zip์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” Simd๋ผ๋Š” Windows ์•ฑ์ž…๋‹ˆ๋‹ค. ์›Œํฌ์Šคํ…Œ์ด์…˜์šฉ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์ธ OnWorks์—์„œ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OnWorks์™€ ํ•จ๊ป˜ Simd๋ผ๋Š” ์ด ์•ฑ์„ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์˜จ๋ผ์ธ์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ด ์•ฑ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ง€์นจ์„ ๋”ฐ๋ฅด์„ธ์š”.

- 1. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ PC์— ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

- 2. ํŒŒ์ผ ๊ด€๋ฆฌ์ž https://www.onworks.net/myfiles.php?username=XXXXX์— ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

- 3. ์ด๋Ÿฌํ•œ ํŒŒ์ผ ๊ด€๋ฆฌ์ž์—์„œ ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

- 4. ์ด ์›น์‚ฌ์ดํŠธ์—์„œ ๋ชจ๋“  OS OnWorks ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•˜์ง€๋งŒ ๋” ๋‚˜์€ Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

- 5. ๋ฐฉ๊ธˆ ์‹œ์ž‘ํ•œ OnWorks Windows OS์—์„œ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ํŒŒ์ผ ๊ด€๋ฆฌ์ž https://www.onworks.net/myfiles.php?username=XXXXX๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

- 6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

- 7. Linux ๋ฐฐํฌ ์†Œํ”„ํŠธ์›จ์–ด ์ €์žฅ์†Œ์—์„œ Wine์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์•ฑ์„ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜์—ฌ Wine๊ณผ ํ•จ๊ป˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๊ธฐ ์žˆ๋Š” Windows ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ฒŒ์ž„์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” Wine์„ ํ†ตํ•œ ๋ฉ‹์ง„ ์ธํ„ฐํŽ˜์ด์Šค์ธ PlayOnLinux๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Wine์€ Linux์—์„œ Windows ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์ง€๋งŒ Windows๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Wine์€ ๋ชจ๋“  Linux ๋ฐ์Šคํฌํƒ‘์—์„œ ์ง์ ‘ Windows ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค Windows ํ˜ธํ™˜์„ฑ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ Wine์€ Windows๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  Windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก Windows๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ถฉ๋ถ„ํžˆ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์‹ฌ๋“œ


Ad


๊ธฐ์ˆ 

Simd ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” C ๋ฐ C++ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ”ฝ์…€ ํ˜•์‹ ๋ณ€ํ™˜, ์ด๋ฏธ์ง€ ์Šค์ผ€์ผ๋ง ๋ฐ ํ•„ํ„ฐ๋ง, ์ด๋ฏธ์ง€์—์„œ ํ†ต๊ณ„ ์ •๋ณด ์ถ”์ถœ, ๋™์ž‘ ๊ฐ์ง€, ๊ฐ์ฒด ๊ฐ์ง€(HAAR ๋ฐ LBP ๋ถ„๋ฅ˜๊ธฐ ์บ์Šค์ผ€์ด๋“œ) ๋ฐ ๋ถ„๋ฅ˜, ์‹ ๊ฒฝ๋ง๊ณผ ๊ฐ™์€ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋งŽ์€ ์œ ์šฉํ•œ ๊ณ ์„ฑ๋Šฅ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์–‘ํ•œ SIMD CPU ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ํ™”๋ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” x2/x3์šฉ SSE, SSE3, SSE4.1, SSSE4.2, SSE2, SSE512, AVX, AVX86 ๋ฐ AVX-64, PowerPC์šฉ VMX(Altivec) ๋ฐ VSX(Power7), ARM์šฉ NEON๊ณผ ๊ฐ™์€ CPU ํ™•์žฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Simd ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” C API๊ฐ€ ์žˆ์œผ๋ฉฐ C API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ์œ ์šฉํ•œ C++ ํด๋ž˜์Šค ๋ฐ ๊ธฐ๋Šฅ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋™์  ๋ฐ ์ •์  ์—ฐ๊ฒฐ, 32๋น„ํŠธ ๋ฐ 64๋น„ํŠธ Windows, Android ๋ฐ Linux, MSVS, G++ ๋ฐ Clang ์ปดํŒŒ์ผ๋Ÿฌ, MSVS ํ”„๋กœ์ ํŠธ ๋ฐ CMake ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.



์˜ค๋””์–ธ์Šค (Audience)

๊ฐœ๋ฐœ์ž



ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

C + +


์นดํ…Œ๊ณ ๋ฆฌ

์•Œ๊ณ ๋ฆฌ์ฆ˜, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

์ด๊ฒƒ์€ https://sourceforge.net/projects/simd/์—์„œ๋„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ์šด์˜ ์ฒด์ œ ์ค‘ ํ•˜๋‚˜์—์„œ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด OnWorks์—์„œ ํ˜ธ์ŠคํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

Linux ๋ช…๋ น

Ad