¿£ºñµð¾Æ´Â ¼¼°è¿¡¼ °¡Àå º¸±Þ·ÂÀÌ ³ôÀº º´·Ä ÄÄÇ»Æà Ç÷§ÆûÀÌÀÚ ÇÁ·Î±×·¡¹Ö
¸ðµ¨ÀÎ Äí´ÙÀÇ ÃֽŠ¹öÀüÀÎ ¿£ºñµð¾Æ Äí´Ù ÇÁ·Î´ö¼Ç ¸±¸®Á ¹ßÇ¥Çß´Ù.
GPU¸¦ ÅëÇØ °úÇÐ ¹× ¿£Áö´Ï¾î¸µ ¾îÇø®ÄÉÀÌ¼Ç °¡¼ÓÀ» °¡´ÉÇÏ°Ô ÇØÁÖ´Â ÃֽŠ¹öÀüÀÇ
Äí´Ù 5 ÇÁ·Î´ö¼Ç ¸±¸®Áî´Â ÇöÀç ¿£ºñµð¾Æ °³¹ßÀÚ Á¸¿¡¼ ¹Ù·Î ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.
ÀÌ¹Ì 150¸¸ ȸ ÀÌ»ó ´Ù¿î·Îµå µÇ°í ¼±µÎ ¿£Áö´Ï¾î¸µ, °úÇÐ ¹× »ó¿ë ¾îÇø®ÄÉÀ̼Ç
Áö¿ø¿¡ 180°Ç ÀÌ»ó È°¿ëµÈ ¹Ù ÀÖ´Â Äí´Ù ÇÁ·Î±×·¡¹Ö ¸ðµ¨Àº °³¹ßÀÚµéÀÌ °¡Àå ¼±È£ÇÏ´Â
GPU °¡¼Ó ÄÄÇ»Æà ¹æ½ÄÀ¸·Î ÀÚ¸® Àâ¾Ò´Ù.
±×°£ÀÇ ¼º°ø¿¡ ÈûÀÔ¾î À̹ø Äí´Ù 5ÀÇ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ±â´ÉÀº GPU °¡¼Ó ¾îÇø®ÄÉÀ̼Ç
°³¹ßÀ» ±× ¾î´À ¶§º¸´Ù ºü¸£°í ½±°Ô °³¼±ÇÑ´Ù.
´ÙÀ̳ª¹Í Æз¯·¼¸®Áò Áö¿ø, GPU È£Ãâ ¶óÀ̺귯¸®, RDMA¸¦ À§ÇÑ GPU´ÙÀÌ·ºÆ® Áö¿ø,
¿£ºñµð¾Æ ¿£»çÀÌÆ® ÀÌŬ¸³½º ¿¡µð¼Ç ÅëÇÕ°³¹ßȯ°æ µîÀÇ ½Å±â´ÉÀÌ ¹Ù·Î À̸¦ ´ÜÀûÀ¸·Î
º¸¿©ÁÖ´Â ¿¹½ÃÀÌ´Ù.
Äí´Ù 5ÀÇ »çÀü°ø°³¹öÀüÀ» Æò°¡Çغ» °³¹ßÀÚµé Áß ¸¹Àº À̵éÀº ±ØÀûÀÎ ¾îÇø®ÄÉÀ̼Ç
°¡¼Ó°ú ÇÁ·Î±×·¡¹Ö¼º¿¡¼ÀÇ °³¼±À» ¹Ý°å´Ù
¹æÀ§¿Í Ç×°ø¿ìÁÖ»ê¾÷¿¡¼´Â ÀÌ¹Ì ·¹ÀÌ´õ µî È»ó, µ¿¿µ»ó ¹× ¼¾¼ µ¥ÀÌÅÍ Ã³¸®¿¡¼
Äí´Ù GPU °¡¼ÓÀÇ ÇýÅÃÀ» ±ú´Ý°í ÀÖ´Ù. ¹öÁö´Ï¾Æ ¼£·Ô½ººô¿¡ À§Ä¡ÇÑGE ÀÎÅÚ¸®ÀüÆ®
Ç÷§ÆûÁîÀÇ GPGPU ¾îÇø®ÄÉÀÌ¼Ç ¿£Áö´Ï¾îÀÎ ´õ½ºÆ¾ Ç÷©Å¬¸°Àº ¡°Äí´Ù 5´Â ¸Å¿ì Áß¿äÇÑ
±â¼úÀÌ°í, ¿ì¸®°¡ »ç¿ëÇÏ´Â ¾îÇø®ÄÉÀÌ¼Ç Áß ¸¹Àº ¼ö¿¡¼ ¼¾Å͵¥ÀÌÅ͸¦ ´ë±â½Ã°£ÀÌ
ªÀº GPU·Î ¹Ù·Î ½ºÆ®¸®¹Ö Çϱ⿡, »õ·Î¿î ÄÉÇ÷¯ GPU¿¡¼ RDMA¸¦ À§ÇÑ GPU´ÙÀÌ·ºÆ®
Áö¿øÀº ¿ì¸® °í°´µé¿¡°Ô ¾öû³ª°Ô Áß¿äÇÏ´Ù.¡±¶ó¸ç ¡°Ä¿½ºÅÒ ¼¾¼ ´Ù¼ö¿¡ ´ëÇÑ Áö¿øÀ»
ÀÌ¹Ì ÅëÇÕÇß°í ±× °á°ú¿¡ ¸Å¿ì ¸¸Á·ÇÏ°í ÀÖ´Ù¡±°í ¹àÇû´Ù.
ÇÁ¶û½º ¸®¿ËÀÇ ¸®¿Ë´ëÇк´¿ø ¸®¼Ä¡ »ýÈÇÐÀÚÀÎ ±â¿è º§Áî´Â º¹ÀâÇÑ ½ÅÈ£ ºÐ¼®
¹× µ¥ÀÌÅÍ ¸¶À̴׿¡ GPU È£Ãâ ¶óÀ̺귯¸®¿Í ´ÙÀ̳ª¹Í Æз¯·¼¸®ÁòÀ» »ç¿ëÇØ ¿À°í ÀÖ´Ù.
±×´Â ¡°GPU °¡¼Ó ´öºÐ¿¡ CPU¸¸À¸·Î´Â ¸î ÁÖ¿¡¼ ½ÉÁö¾î´Â ¸î ´Þ±îÁö °É¸®´ø ÇÁ·ÎÁ§Æ®¿¡¼
ÀÌÁ¦ ºÒ°ú ¸î ½Ã°£ ¾È¿¡ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ°Ô µÇ¾ú´Ù.¡±¸ç ¡°GPU °¡¼Ó ¾øÀÌ´Â ºÐ¼®
ÀÚü°¡ ¾Æ¿¹ ºÒ°¡´ÉÇÏ´Ù¡±°í ¸»Çß´Ù.
´º¿å ·Îü½ºÅÍ°ø°ú´ëÇÐ À̹Ì¡ »çÀ̾𽺠¹Ú»ç°úÁ¤À» À̼ö ÁßÀÎ ¿þÀÌÈ ¼±Àº ¿£ºñµð¾Æ
¿£»çÀÌÆ® ÀÌŬ¸³½º ¿¡µð¼Ç¿¡ °¨ÅºÀ» ±ÝÄ¡ ¸øÇß´Ù. ¡°Äí´Ù 5¿¡ »õ·Î¿î ¿£»çÀÌÆ® ÀÌŬ¸³½º
¿¡µð¼Ç IDE°¡ Æ÷ÇÔµÈ´Ù°í µé¾úÀ» ¶§ºÎÅÍ ´çÀå ÇÊ¿äÇÏ´Ù°í »ý°¢Çß´Ù.¡±¸ç ¡°ÇϳªÀÇ
ÅëÇÕµÈ °³¹ßȯ°æ¿¡ ¸ðµç ÇÁ·Î±×·¡¹Ö, µð¹ö±ë ¹× ÃÖÀûÈ ÅøÀÌ ´Ù µé¾î°¡´Ï »ý»ê¼ºÀÌ
Å©°Ô °³¼±µÈ´Ù.¡±°í ±ØÂùÇß´Ù.
Äí´Ù 5¿¡ »õ·Ó°Ô Ãß°¡µÈ ±â´É
Äí´Ù 5¸¦ »ç¿ëÇØ °³¹ßÀÚ´Â Áö±Ý±îÁö ¸¸µé¾îÁø ÃÖ°í¼Ó, ÃÖ°íÈ¿À² ¹× ÃÖ°í¼º´ÉÀÇ
ÄÄÇ»Æà ¾ÆÅ°ÅØóÀÎ ¿£ºñµð¾Æ ÄÉÇ÷¯ ÄÄǻƮ ¾ÆÅ°ÅØó¿¡ ±â¹ÝÇÑ GPU ¾×¼¿·¯·¹ÀÌÅÍ
µî ¿£ºñµð¾Æ GPU ¼º´ÉÀ» ¿ÂÀüÈ÷ È°¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
1. ´ÙÀ̳ª¹Í Æз¯·¼¸®Áò ? »õ·Î¿î ¾Ë°í¸®ÁòÀÇ GPU °¡¼Ó
GPU ½º·¹µå´Â »õ·Î¿î ½º·¹µå¸¦ ¿ªµ¿ÀûÀ¸·Î »ý¼º, GPU°¡ µ¥ÀÌÅÍ¿¡ ¿ªµ¿ÀûÀ¸·Î ÀûÀÀÇÒ
¼ö ÀÖ´Ù. CPU°£ÀÇ ÁÖ°í ¹ÞÀ½À» ÃÖ¼ÒÈÇؼ ´ÙÀ̳ª¹Í Æз¯·¼¸®ÁòÀº º´·Ä ÇÁ·Î±×·¡¹ÖÀ»
Å©°Ô °£¼ÒÈÇÑ´Ù. ¶ÇÇÑ ÀûÀÀÀû ¸Þ½¬ ¼¼ºÐÈ ±â¹ý, Àü»çÀ¯Ã¼¿ªÇÐ ¾îÇø®ÄÉÀÌ¼Ç µî¿¡
»ç¿ëµÇ´Â ´Ù¾çÇÑ ÀÎ±â ¾Ë°í¸®ÁòÀÇ GPU °¡¼ÓÀÌ °¡´ÉÇØÁø´Ù.
2. GPU È£Ãâ ¶óÀ̺귯¸® ? Á¦3ÀÚ ÀÌÄڽýºÅÛ È®Àå °¡´É
»õ·Î¿î Äí´Ù BLAS ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇØ °³¹ßÀÚ ÀÚ½ÅÀÇ GPU È£Ãâ ¶óÀ̺귯¸®¿¡¼
´ÙÀ̳ª¹Í Æз¯·¼¸®ÁòÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ °³¹ßÀÚ°¡ Ä¿³Î ±â´É¼ºÀ» È®ÀåÇÏ°í,
Á¦3ÀÚ GPU È£Ãâ ¶óÀ̺귯¸®ÀÇ ±â´É¼ºÀ» Ä¿½ºÅÒÇϵµ·Ï GPU¿¡ ÄݹéÀ» ½ÃÇà ÇÏ´Â Ç÷¯±×ÀÎ
API¸¦ µðÀÚÀÎ ÇÒ ¼ö ÀÖ´Ù.
¿ÀºêÁ§Æ® ¸µÅ© ±â´É¿¡¼´Â º¹¼öÀÇ Äí´Ù ¼Ò½º ÆÄÀÏÀ» º°°³ÀÇ ¿ÀºêÁ§Æ® ÆÄÀÏ·Î ÄÄÆÄÀÏÇÏ°í
º¸´Ù Å« ¾îÇø®ÄÉÀ̼ǰú ¶óÀ̺귯¸®·Î À̸¦ ¸µÅ©Çؼ, ´ëÇü GPU ¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â
È¿À²ÀûÀÌ°í Ä£¼÷ÇÑ ÇÁ·Î¼¼½º¸¦ Á¦°øÇÑ´Ù.
3. RDMA¸¦ À§ÇÑ GPU´ÙÀÌ·ºÆ® Áö¿ø ? ½Ã½ºÅÛ ¸Þ¸ð¸® º´¸ñÇö»ó ÃÖ¼ÒÈ
GPU´ÙÀÌ·ºÆ®´Â GPU ±â¼úÀº ´Ù¸¥ PCI-E µð¹ÙÀ̽º°£ Á÷Á¢ Åë½ÅÀ» °¡´ÉÇÏ°Ô ÇÏ°í,
³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º Ä«µå¿Í GPU°£ Á÷Á¢¸Þ¸ð¸®¾×¼¼½º¸¦ Áö¿øÇÑ´Ù. ¶ÇÇÑ Å¬·¯½ºÅÍ
³» GPU ³ëµå °£ MPISendRecv ´ë±â½Ã°£À» Å©°Ô ÁÙ¿©ÁÖ°í, Àüü ¾îÇø®ÄÉÀÌ¼Ç ¼º´ÉÀ»
°³¼±½ÃŲ´Ù.
4. ¿£ºñµð¾Æ ¿£»çÀÌÆ® ÀÌŬ¸³½º ¿¡µð¼Ç ? ºü¸£°í ½¬¿î Äí´Ù ÄÚµå »ý¼º
¸®´ª½º¿Í ¸Æ OS X Ç÷§Æû¿¡¼ Ä£¼÷ÇÑ ÀÌŬ¸³½º ±â¹Ý IDE³» GPU ¾îÇø®ÄÉÀÌ¼Ç °³¹ß,
µð¹ö±ë ¹× ÇÁ·ÎÆÄÀÏÀÌ °¡´ÉÇØÁø´Ù. ÅëÇÕµÈ Äí´Ù ¿¡µðÅÍ¿Í Äí´Ù »ùÇ÷ΠÄí´Ù ÄÚµå
»ý¼º ¼Óµµ°¡ »¡¶óÁö°í ÀÚµ¿ ÄÚµå ¸®ÆÑÅ丵À¸·Î CPU ·çÇÁ¸¦ Äí´Ù Ä¿³Î·Î ¼Õ½±°Ô Æ÷ÆÃÇÒ
¼ö ÀÖ´Ù. ÅëÇÕµÈ Àü¹®ºÐ¼®½Ã½ºÅÛÀº ÀÚµ¿¼º´ÉºÐ¼®°ú ÄÚµå ³» ¼º´Éº´¸ñÇö»óÀ» ¼öÁ¤ÇÒ
´Ü°èº° °¡À̵带 Á¦°øÇÏ°í, ½ÅÅýº ÇÏÀ̶óÀÌÆÃÀ¸·ÎGPU ÄÚµå¿Í CPU ÄÚµå ±¸ºÐÀÌ ½¬¾îÁø´Ù. |