๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— FPGA ์นจํˆฌ๊ฐ€ ๋ถˆ๊ฐ€ํ”ผํ•จ

๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— FPGA ์นจํˆฌ๊ฐ€ ๋ถˆ๊ฐ€ํ”ผํ•จ
Java๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด C++ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ FPGA์šฉ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ ์œ„ํ•ด ์นฉ ๋””์ž์ด๋„ˆ๊ฐ€ ๋  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Java์™€ FPGA ๊ธฐ์ˆ ์„ ๋ชจ๋‘ ์ƒ์šฉํ™”ํ•˜๋ ค๋Š” ๋ชฉํ‘œ๋Š” ํ›„์ž์˜ ์ฃผ์žฅ์„ ๋ฐ˜๋ฐ•ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. FPGA์— ๋Œ€ํ•œ ํฌ์†Œ์‹ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ๋…ผ๋ฆฌ ์žฅ์น˜๊ฐ€ ๋ฐœ๋ช…๋œ ์ดํ›„ ์ง€๋‚œ 35๋…„ ๋™์•ˆ ์˜ฌ๋ฐ”๋ฅธ ์ถ”์ƒํ™” ๋ ˆ์ด์–ด์™€ ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CPU, DSP, GPU ๋˜๋Š” ๊ธฐํƒ€ ํ˜•ํƒœ์˜ ๋งž์ถคํ˜• ASIC ๋Œ€์‹  FPGA์— ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ ์  ์ผ๋ฐ˜ํ™”๋˜๊ณ  ์‰ฌ์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

CPU๊ฐ€ ๋” ์ด์ƒ ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ์œ ์ผํ•œ ์ปดํ“จํŒ… ๋ชจ๋“ˆ๋กœ ๋‚จ์„ ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ์„ ๋•Œ(๋‹ค์–‘ํ•œ ์ด์œ ๋กœ) FPGA๊ฐ€ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ณ  ์†๋„, ์งง์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„, ๋„คํŠธ์›Œํ‚น ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์—์„œ ์ด๋Ÿฌํ•œ ์ƒ์„ฑ์˜ ๋†€๋ผ์šด ์‹œ์˜์„ฑ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ - ๊ฑฐ์˜ ๋ณธ๊ฒฉ์ ์ธ ์ปดํ“จํŒ… ์‹œ์Šคํ…œ์ธ ์ตœ์‹  FPGA SoC์˜ ์ด๊ธฐ์ข… ์ปดํ“จํŒ… ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ FPGA๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ์žฅ์น˜์™€๋„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒฐํ•ฉ๋˜์—ˆ์œผ๋ฉฐ, ์šฐ๋ฆฌ ์˜๊ฒฌ์œผ๋กœ๋Š” FPGA๊ฐ€ ์ปดํ“จํŒ… ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ ์šฐ๋ฆฌ๊ฐ€ 22์›” XNUMX์ผ ์‚ฐํ˜ธ์„ธ์—์„œ The Next FPGA Platform ์ปจํผ๋Ÿฐ์Šค๋ฅผ ๊ฐœ์ตœํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ์ „ ์„ธ๊ณ„ ์ฃผ์š” FPGA ๊ณต๊ธ‰์—…์ฒด ์ค‘ ํ•˜๋‚˜์ด์ž ์ด ๋ถ„์•ผ์˜ ์„ ๊ตฌ์ž๋Š” Xilinx์ž…๋‹ˆ๋‹ค. Xilinx์˜ ์ˆ˜์„ ๋ถ€์‚ฌ์žฅ ๊ฒธ CTO์ธ Ivo Bolsens๋Š” ์ปจํผ๋Ÿฐ์Šค์—์„œ ์—ฐ์„ค์„ ํ•˜๋ฉฐ ์˜ค๋Š˜ Xilinx๊ฐ€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ์œ„ํ•œ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ์ปดํ“จํŒ… ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์–ด๋–ป๊ฒŒ ๋„์›€์„ ์ฃผ๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ž์‹ ์˜ ์ƒ๊ฐ์„ ๋ฐํ˜”์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ์„ค๊ณ„์ž์™€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ปดํ“จํŒ…, ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋„คํŠธ์›Œํ‚น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์„ ๊ฐ–์ถ˜ ์ด๊ธฐ์ข… ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ๋งˆ๋ จํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ CMOS ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์–ด์˜ ๋ฒ•์น™์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์ ์  ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์šฐ๋ฆฌ ์–ธ์–ด๋Š” ์—ฌ์ „ํžˆ CPU ์ค‘์‹ฌ์ ์ด๋ฉฐ "์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€์†", ์ฆ‰ CPU ๋‹จ๋…์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋‚˜์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ณ„์† ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ์ปดํ“จํŒ… ์„ฑ๋Šฅ, ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ํ”„๋กœํ† ์ฝœ์˜ ์ง‘ํ•ฉ์ฒด๊ฐ€ ๋  ๊ฒƒ์ด๋ฉฐ ์šฐ๋ฆฌ๋Š” "์ปดํ“จํŒ…" ๋ฐ "์• ํ”Œ๋ฆฌ์ผ€์ด์…˜"๊ณผ ๊ฐ™์€ ์šฉ์–ด๋กœ ๋‹ค์‹œ ๋Œ์•„์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ปดํ“จํŒ…์€ ๋ฐ์Šคํฌํƒ‘์ด๋‚˜ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋Š” ์˜ค๋Š˜๋‚ ์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋งŒํผ ์ผ๋ฐ˜ํ™”๋  ๊ฒƒ์ด๋ฉฐ ์–ด๋Š ์‹œ์ ์—์„œ๋Š” ๋‹จ์ˆœํžˆ "์ปดํ“จํŒ…"์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ธ์  ๊ฐ€๋Š” FPGA๊ฐ€ ์ด ์‹œ๋Œ€๋ฅผ ์—ฌ๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๋ฉฐ ์ด๋ฅผ ๋‹ค์‹œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ผ๊ณ  ๋ถ€๋ฅด๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— FPGA๋ฅผ ์ฑ„ํƒํ•˜๋ ค๋ฉด ์‚ฌ๊ณ ๋ฐฉ์‹์˜ ๋ณ€ํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. "์˜ค๋Š˜๋‚ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•  ๋•Œ ์‹คํ–‰ ๋ฐฉ๋ฒ•, ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ์†Œ์Šค, ์‹œ๊ฐ„์ด ์†Œ๋น„๋˜๋Š” ์œ„์น˜์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค."๋ผ๊ณ  Bolsens๋Š” ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. โ€“ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ ์—ฐ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜๋‚  ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋งŽ์€ ์–‘์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•˜๋„๋ก ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—„์ฒญ๋‚œ ์ˆ˜์˜ ์ปดํ“จํŒ… ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ณ„ ํ•™์Šต์„ ์ƒ๊ฐํ•ด ๋ณด์‹ญ์‹œ์˜ค. ํ•˜์ง€๋งŒ ๊ฐ€์†์— ๊ด€ํ•ด ์ด์•ผ๊ธฐํ•  ๋•Œ๋Š” ์ปดํ“จํŒ… ์†๋„ ํ–ฅ์ƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ธํ”„๋ผ ์†๋„ ํ–ฅ์ƒ๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€

์˜ˆ๋ฅผ ๋“ค์–ด Bolsens๊ฐ€ ์‹ค์ œ๋กœ ์—ฐ๊ตฌํ•œ ์ผ์ข…์˜ ๊ธฐ๊ณ„ ํ•™์Šต ์ž‘์—…์—์„œ๋Š” ๋ถ„์‚ฐ๋œ ์ปดํ“จํŒ… ์„ฑ๋Šฅ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ ์‹œ๊ฐ„์˜ ์•ฝ 50%๊ฐ€ ์†Œ์š”๋˜๊ณ  ๋‚˜๋จธ์ง€ ์ ˆ๋ฐ˜๋งŒ ๊ณ„์‚ฐ ์ž์ฒด์— ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

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

FPGA์™€ CPU ๋˜๋Š” ๋งž์ถคํ˜• ASIC์˜ ์ฐจ์ด์ ์€ ํ›„์ž๋Š” ๊ณต์žฅ์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋˜๋ฉฐ ๊ทธ ํ›„์—๋Š” ๊ณ„์‚ฐ๋˜๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด๋‚˜ ๊ณ„์‚ฐ๋˜๋Š” ์š”์†Œ ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์„ฑ๊ฒฉ์— ๋Œ€ํ•ด ๋” ์ด์ƒ ๋งˆ์Œ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์žฅ์น˜๋ฅผ ํ†ตํ•ด ํ๋ฆ…๋‹ˆ๋‹ค. FPGA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ ์กฐ๊ฑด์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋งˆ์Œ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณผ๊ฑฐ์—๋Š” FPGA ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์†Œ์‹ฌํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์ด์ ์„ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋Œ€๊ฐ€๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ C, C++ ๋˜๋Š” Python์œผ๋กœ CPU ๋ณ‘๋ ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ์™€ ๋” ์ž˜ ํ†ตํ•ฉํ•˜๊ณ  ์ผ๋ถ€ ์ž‘์—…์„ FPGA์—์„œ ์ ˆ์ฐจ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์•„์›ƒ์†Œ์‹ฑํ•˜๊ธฐ ์œ„ํ•ด FPGA ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฐœ๋ฐฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ Vitis ๋จธ์‹  ๋Ÿฌ๋‹ ์Šคํƒ์ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์œผ๋กœ, ๊ธฐ์กด AI ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ, ๋น„๋””์˜ค ๊ฐœ์ฒด ์ธ์‹, ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ๊ฐ™์€ ์ž‘์—…์— FPGA ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด Caffe ๋ฐ TensorFlow์™€ ๊ฐ™์€ ML ํ”Œ๋žซํผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. -ํŒŒํ‹ฐ ๋„์„œ๊ด€.

์ด ๊ฐœ๋…์€ ๋ณ‘๋ ฌ ์ปดํ“จํŒ…์„ GPU ๊ฐ€์†๊ธฐ๋กœ ์˜คํ”„๋กœ๋“œํ•˜๋Š” XNUMX๋…„ ์ „์— ์‹œ์ž‘๋œ Nvidia์˜ CUDA ํ”„๋กœ์ ํŠธ๋‚˜ AMD์˜ ROCm ํˆดํ‚ท, ๋˜๋Š” ๋‹ค๋ฅธ CPU, GPU ๋ฐ FPGA์—์„œ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” Intel์˜ OneAPI ํ”„๋กœ์ ํŠธ์˜ ์•ฝ์†๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์œ ์ผํ•œ ์งˆ๋ฌธ์€ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ž์‹ ์˜ ์žฌ๋Ÿ‰์— ๋”ฐ๋ผ ์ผ๋ จ์˜ ์ปดํ“จํŒ… ๋Šฅ๋ ฅ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋„๊ตฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•จ๊ป˜ ์—ฐ๊ฒฐ๋˜๋Š”์ง€์ž…๋‹ˆ๋‹ค. FPGA๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ CPU๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋ณต์žกํ•ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ€์žฅ ์ง„๋ณด๋œ ์ œ์กฐ ๊ณต์ •๊ณผ ๊ฐ€์žฅ ํ˜„๋Œ€์ ์ธ ์นฉ ํŒจํ‚ค์ง• ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์กฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋” ์ด์ƒ ์‹œ๊ฐ„, ๋ˆ, ์—๋„ˆ์ง€ ๋ฐ ์ง€๋Šฅ์„ ๋‚ญ๋น„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋“ค์€ ํ‹ˆ์ƒˆ ์‹œ์žฅ์„ ์ฐพ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ๋„ˆ๋ฌด ๋น„์‹ผ ์ž์›์ž…๋‹ˆ๋‹ค.

โ€œFPGA๋Š” ๊ธฐ์ˆ ์  ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.โ€๋ผ๊ณ  Bolsens๋Š” ๋งํ•ฉ๋‹ˆ๋‹ค. โ€“ ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์ ์‘์„ฑ๊ณผ ์žฌ๊ตฌ์„ฑ ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๊ด‘๊ณ ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ธฐ๊ณ„ ํ•™์Šต, ๊ทธ๋ž˜ํ”„ ๋ถ„์„, ๊ณ ์† ๊ฑฐ๋ž˜ ๋“ฑ ๋ชจ๋“  ์ค‘์š”ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. - ๋ฐ์ดํ„ฐ ๋ฐฐํฌ ๊ฒฝ๋กœ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ ์•„ํ‚คํ…์ฒ˜, ์ฆ‰ ์นฉ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋™ํ•˜๋Š” ๋ฐฉ์‹๊นŒ์ง€ ํŠน์ • ์ž‘์—…์— ์ ์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. FPGA์—๋Š” ๋‹ค๋ฅธ ์žฅ์น˜๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž‘์—…์ด ํ•˜๋‚˜์˜ FPGA์— ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ CPU ๋˜๋Š” GPU์— ๊ฑธ์ณ ์ž‘์—…์„ ํ™•์žฅํ•  ๋•Œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋‹จ์ ์— ์ง๋ฉดํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ์นฉ์— ๊ฑธ์ณ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."

์ถœ์ฒ˜ : habr.com

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