ÀÎÅÚÀº ½Å±Ô ¿øAPI(oneAPI) 2022 ÅøŶÀ» °ø°³Çß´Ù°í 23ÀÏ ¹àÇû´Ù. ÀÎÅÚÀº ±³Â÷ ¾ÆÅ°ÅØó ¼º´ÉÀ» È®ÀåÇÑ ¿øAPI 2022 ÅøŶÀ» ÅëÇØ °³¹ßÀÚµéÀÌ ÄÄÇ»ÆÃÀ» °¡¼ÓÇÏ°í Çâ»óµÈ À¯¿ë¼º ¹× ¾ÆÅ°ÅØó ¼±ÅñÇÀ» Á¦°øÇÒ ¿¹Á¤ÀÌ´Ù.
ÀÎÅÚ ¿øAPI 2022 ÅøŶÀº C++, SYCL ¹× Æ÷Æ®¶õ(Fortran)À» ±¸ÇöÇÏ´Â ¼¼°è ÃÖÃÊÀÇ ÅëÇÕ ÄÄÆÄÀÏ·¯, CPU ¹× GPU¿ë µ¥ÀÌÅÍ º´·Ä ÆÄÀ̼±, °í±Þ °¡¼Ó±â ¼º´É ¸ðµ¨¸µ ¹× Æ©´×, AI ¹× ·¹ÀÌ Æ®·¹ÀÌ½Ì ½Ã°¢È ¿öÅ©·Îµå¸¦ À§ÇÑ ¼º´É °¡¼Ó µîÀÇ ½Å±Ô ±â´ÉÀ» Á¦°øÇÑ´Ù. ¿øAPI ±³Â÷ ¾ÆÅ°ÅØó ÇÁ·Î±×·¡¹Ö ¸ðµ¨Àº °³¹ßÀڵ鿡°Ô ±³Â÷ ¾ÆÅ°ÅØó ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¶§ ÄÚµå °³¹ßÀÇ »ý»ê¼º ¹× ¼Óµµ¸¦ Çâ»óÇÒ ¼ö ÀÖ´Â µµ±¸¸¦ Á¦°øÇÑ´Ù.
½ÃÀåÁ¶»ç±â°ü ¿¡¹Ý½º µ¥ÀÌÅÍ(Evans Data) ¼³¹®Á¶»ç¿¡ µû¸£¸é, °³¹ßÀÚ Áß 40%°¡ µÎ °¡Áö ÀÌ»óÀÇ ÇÁ·Î¼¼¼, ÇÁ·Î¼¼¼ ÄÚ¾î ¶Ç´Â ÄÚÇÁ·Î¼¼¼(co-processor)¸¦ »ç¿ëÇÏ´Â À̱âÁ¾ ½Ã½ºÅÛÀ» ¸ñÇ¥·Î ÇÑ´Ù. ¿ÏÀüÇÑ ¼Ö·ç¼Ç¿¡ ÅëÇÕÇϱâ À§ÇØ ¼ÒÇÁÆ®¿þ¾î¸¦ ÇÊ¿ä·Î ÇÏ´Â CPU, GPU, FPGA ¹× ±âŸ °¡¼Ó±â µî ´Ù¾çÇÑ À̱âÁ¾ Æк긯 »ó¿¡¼ ¿øAPI°¡ ÁÖµµÇÏ´Â ±³Â÷ ¾ÆÅ°ÅØó ÄÄÇ»ÆÃÀ¸·Î Çõ½ÅÀÌ °¡¼Óȵǰí ÀÖ´Ù. °³¹ßÀÚµéÀº µ¶Á¡Àû ÇÁ·Î±×·¡¹Ö ¸ðµ¨ È°¿ëÀ¸·Î ÀÎÇÑ °æÁ¦Àû, ±â¼úÀû ºÎ´ã ¾øÀÌ ¿øAPI¸¦ ÅëÇØ ÁÖ¾îÁø ¼Ö·ç¼Ç¿¡ °¡Àå ÀûÇÕÇÑ Çϵå¿þ¾î¸¦ ÀÚÀ¯·Ó°Ô ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
ÀÎÅÚ ¿ø API 2022 ÅøŶÀº ÄÄÆÄÀÏ·¯, ¶óÀ̺귯¸®, »çÀü ÃÖÀûÈµÈ ÇÁ·¹ÀÓ¿öÅ©, ºÐ¼®±â, µð¹ö°Å µî °í±Þ µµ±¸·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç ¼º´É°ú »ý»ê¼ºÀ» Á¦°íÇÑ´Ù. Áö³ ÇÑ ÇØ µ¿¾È 900°³ ÀÌ»óÀÇ ½Å±Ô ±â´ÉÀÌ Ãß°¡µÇ¾î ÆÄ¿îµ¥ÀÌ¼Ç ¹× µµ¸ÞÀκ° ÅøŶÀÇ ¸ðµç ±â´ÉÀ» °ÈÇß´Ù. ÇöÀç ÀÎÅÚ ¿øAPI 2022 ÅøŶÀº ÀÎÅÚ µ¥ºêŬ¶ó¿ìµå(Intel DevCloud)¿¡¼ ¹«·á·Î ´Ù¿î·Îµå ¶Ç´Â »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÁÖ¿ä ³»¿ëÀº ¾Æ·¡¿Í °°´Ù:
ÀÎÅÚÀº °øÅë LLVM ¹é¿£µå¸¦ »ç¿ëÇÏ´Â CPU ¹× GPU¿ë C++, SYCL, Æ÷Æ®¶õÀ» ½ÇÇàÇÏ´Â ¼¼°è ÃÖÃÊÀÇ ÅëÇÕ ÄÄÆÄÀÏ·¯¸¦ °³¹ßÇß´Ù.
ÃÖ±Ù °¡Àå Àαâ ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÎ ÆÄÀ̽ã(Python)À» À§ÇÑ CPU ¹× GPU ÄÄÇ»ÆÃÀ» °¡¼ÓÈÇß´Ù.
ÀÎÅÚ DPC++(Intel DPC++) ȣȯ¼º µµ±¸°¡ Äí´Ù(CUDA) ÄÚµåÀÇ 90%~95%¸¦ SYCL/DPC++·Î ÀÚµ¿À¸·Î ¸¶À̱׷¹À̼ÇÇϵµ·Ï °³¼±Çß´Ù.
Çϵå¿þ¾î Áö¿ø – ÀÎÅÚ ¿øAPI ÅøŶÀº AVX-VNNI°¡ žÀçµÈ 12¼¼´ë ÀÎÅÚ ÄÚ¾î ÇÁ·Î¼¼¼, Â÷¼¼´ë ÀÎÅÚ Á¦¿Â ½ºÄÉÀÏ·¯ºí ÇÁ·Î¼¼¼ÀÎ ÀÎÅÚ ¾îµå¹ê½ºµå ¸ÅÆ®¸¯½º ÀͽºÅÙ¼Ç(Intel Advanced Matrix Extension)ÀÌ Å¾ÀçµÈ ÄÚµå¸í »çÆÄÀÌ¾î ·¡ÇÇÁî(Sapphire Rapids) ¹× ÇâÈÄ Ãâ½Ã ¿¹Á¤ÀÎ Xe Ŭ¶óÀ̾ðÆ® ¹× µ¥ÀÌÅͼ¾ÅÍ CPU ±â´É Çâ»óÀ» À§ÇØ ÃÖÀûȵƴÙ.
ÃֽŠÀÎÅÚ ¿ÉƼ¸¶ÀÌÁ¦ÀÌ¼Ç Æ÷ ÅÙ¼Ç÷οì(Intel Optimization for TensorFlow) ¹× ÀÎÅÚ ¿ÉƼ¸¶ÀÌÁ¦ÀÌ¼Ç Æ÷ ÆÄÀÌÅäÄ¡(Intel Optimzation for PyTorch)¸¦ ÅëÇØ ÀÌÀü ¹öÀüº¸´Ù µö ·¯´× ÇÁ·¹ÀÓ¿öÅ© ¼º´ÉÀÌ ÃÖ´ë 10¹è Çâ»óµÆ´Ù.
ÀÎÅÚ ÀͽºÅÙ¼Ç Æ÷ »çÀÌŶ·±(Intel Extension for Scikit-learn)Àº ½ºÅå ¿ÀǼҽº ¹öÀü ´ëºñ ÀÎÅÚ CPU¿¡¼ ¸Ó½Å·¯´× ¾Ë°í¸®Áò ¼Óµµ¸¦ 100¹è ÀÌ»ó Çâ»ó½ÃŲ´Ù.
ÀÎÅÚ ´º·² ÄÄÇÁ·¹¼Å(Intel Neural Compressor)¸¦ µµÀÔ, ¿©·¯ µö·¯´× ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ÇнÀ ÈÄ ÃÖÀûÈ ±â¼úÀ» ÅëÇØ Ãß·Ð ¼º´ÉÀ» Çâ»óÇß´Ù.
CPU ¹× °¡¼Ó±â¸¦ À§ÇÑ Àü¹® ºÐ¼® ±â´É – ÀÎÅÚ ºêÀÌƪ ÇÁ·ÎÆÄÀÏ·¯(Intel VTune Profiler)ÀÇ ÇÁ·¹ÀÓ ±×·¡ÇÁ µð½ºÇ÷¹ÀÌ°¡ ¼º´É ÇÖ½ºÆÌ ½Ã°¢È¸¦ Áö¿øÇÑ´Ù. °³¹ßÀÚ´Â ÀÎÅÚ ¾îµå¹ÙÀÌÀú(Intel Advisor) °¡¼Ó±â ¼º´É ¸ðµ¨¸µÀ» ÅëÇØ ÄÚµå º¯È¯ Àü GPU¿¡ ´ëÇÑ ÄÚµå ¿ÀÇÁ·ÎµåÀÇ ÀÌÁ¡À» ¿¹»óÇÒ ¼ö ÀÖ°Ô Áö¿øÇÑ´Ù.
Çâ»óµÈ ·¹ÀÌ Æ®·¹ÀÌ½Ì ±â¼ú – ÄÜ ¿ø°ÝÃøÁ¤(cone telemetry), µð³ëÀÌ¡(Denoising) ºÎ¼ö ±â´É ¹× FP16 Áö¿øÀ» ¹ÙÅÁÀ¸·Î ÀüüÀûÀÎ ·»´õ¸µ ¼º´ÉÀ» Çâ»ó, ´õ »ç½ÇÀûÀÎ ÇüŸ¦ ºü¸£°Ô ·»´õ¸µÇÒ ¼ö ÀÖ´Ù. ÀÎÅÚÀº ½Ç½Ã°£ µð³ëÀÌ¡ ¹× °ð Ãâ½ÃµÉ ÀÎÅÚ Xe GPU¿¡ žÀçµÉ À̹ø ±â¼úÀ» ÅëÇØ ¾÷°è¸¦ ¼±µµÇÏ´Â ÃÖÁ¾ ÇÁ·¹ÀÓ ¹× ³ôÀº ¼öÁØÀÇ ·»´õ¸µ ±â´ÉÀ» Á¦°øÇÒ ¿¹Á¤ÀÌ´Ù.
°³¹ß ȯ°æ¿¡ ´ëÇÑ È®Àå Áö¿ø – ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ºñÁÖ¾ó ½ºÆ©µð¿À ÄÚµå ÅëÇÕ, 2022 ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ºñÁÖ¾ó ½ºÆ©µð¿À ¹× ¸®´ª½º¿ë À©µµ¿ì¸¦ À§ÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® WSL2À» Áö¿øÀ» ÅëÇØ »ý»ê¼ºÀ» Çâ»óÇÑ´Ù.
ÀÎÅÚ ¿øAPI ÅøŶ(Intel oneAPI Toolkit)¿¡ ´ëÇÏ¿©: ÀÎÅÚ ¿øAPI ÅøŶÀº CPU, GPU, FPGA µî ´Ù¾çÇÑ ÀÎÅÚ ¾ÆÅ°ÅØó¿¡¼ °í¼º´É ¾ÖÇø®ÄÉÀ̼ǰú ¼Ö·ç¼ÇÀ» È¿À²ÀûÀ¸·Î °³¹ßÇϴµ¥ ÇÊ¿äÇÑ µµ±¸¸¦ Á¦°øÇÑ´Ù. ±âº» ÅøŶ ¹× µµ¸ÞÀκ° Ãß°¡ ±â´ÉÀ¸·Î ±¸¼ºµÈ ÀÎÅÚ ¿øAPI ÅøŶÀº ÇÁ·Î±×·¡¹ÖÀ» ´Ü¼øÈÇÏ°í °³¹ßÀÚÀÇ »ý»ê¼ºÀ» Çâ»ó½ÃÅ°¸ç ¼º´É ÀúÇÏ ¾øÀÌ Çõ½ÅÀ» °¡¼ÓÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù. ÀÎÅÚ ¿øAPI ÅøŶÀº À̱âÁ¾ ÄÄÇ»ÆÃÀ» À§ÇÑ ÃÖÀûÈµÈ °í±Þ ÄÄÆÄÀÏ·¯, ¶óÀ̺귯¸®, ÇÁ·¹ÀÓ¿öÅ© ¹× ºÐ¼® µµ±¸·Î ±¸¼ºµÆ´Ù. ÅøŶÀ» ÅëÇØ ¿øAPI »ç¾çÀ» ±¸ÇöÇÏ°í º¸¿Ï ÃÖÀûÈ µµ±¸¿Í ÇÔ²² È°¿ëÇÒ ¼ö ÀÖ´Ù.
¿øAPI¿¡ ´ëÇÏ¿©: ¿øAPI´Â CPU, GPU, FPGA ¹× ±âŸ °¡¼Ó±â¸¦ À§ÇÑ °³¹æÇü ÅëÇÕ ¾ÆÅ°ÅØó ÇÁ·Î±×·¡¹Ö ¸ðµ¨ÀÌ´Ù. ¾÷°è Ç¥ÁØÀ» ±â¹ÝÀ¸·Î ÇÑ ¿øAPI´Â ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» ´Ü¼øÈÇÏ°í µ¶Á¡ÀûÀÎ ¶ôÀÎ(lock-in) ¾øÀÌ °¡¼ÓÈµÈ ÄÄÇ»Æà ¼º´ÉÀ» Á¦°øÇÏ¸é¼ ·¹°Å½Ã Äڵ带 ÅëÇÕÇÒ ¼ö ÀÖ´Ù.