cglandlogo First Page
°í°´¼¾ÅÍ   
gallery media job community contentsmall  
  dbrush Blizzardfest 2014
 
[¾÷°è¼Ò½Ä/À̽´]¿£ºñµð¾Æ, ¿ÀǼҽº Ä¿¹Â´ÏƼ¿¡ Äí´Ù ÄÄÆÄÀÏ·¯ ¹«»ó Á¦°ø   2012-05-10
¾÷°è ÃÖ°í ÀαâÀÇ ¿ÀǼҽº ÄÄÆÄÀÏ·¯ Áß ÇϳªÀÎ LLVMÀÌ ¿£ºñµð¾Æ GPU¸¦ Áö¿øµÊ. À̽ļº°ú À¯¿¬¼ºÀÌ ³ôÀº LLVM ÄÄÆÄÀÏ·¯°¡ ¹«»ó Á¦°øµÊ¿¡ µû¶ó, º¸´Ù ¸¹Àº ÇÁ·Î±×·¡¸Ó ¹× ¸®¼­Ã³µéÀÌ ¿£ºñµð¾Æ GPU °¡¼ÓÀÇ ÇýÅÃÀ» ´©¸®°Ô µÉ Àü¸ÁÀÌ´Ù.

¾¾Áö·£µå±âÀÚ cgland@cgland.com
¨Ï µðÁöÅк귯½Ã & cgland.com, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö
°Ô½Ã±ÛÀ» twitter·Î º¸³»±â °Ô½Ã±ÛÀ» facebookÀ¸·Î º¸³»±â °Ô½Ã±ÛÀ» Me2Day·Î º¸³»±â

 2012³â 5¿ù 10ÀÏ. ºñÁÖ¾ó ÄÄÇ»Æà ºÐ¾ßÀÇ ¼¼°èÀûÀÎ ¼±µµ ±â¾÷ÀÎ ¿£ºñµð¾Æ(www.nvidia.co.kr, CEO Á¨½¼È²)´Â ¾÷°è ÃÖ°í ÀαâÀÇ ¿ÀǼҽº ÄÄÆÄÀÏ·¯ Áß ÇϳªÀÎ LLVM(llvm.org)ÀÌ ¿£ºñµð¾Æ GPU¸¦ Áö¿øÇÏ°Ô µÇ¾ú´Ù°í ¹àÇû´Ù. ÀÌ·Î½á º¸´Ù ´Ù¾çÇÑ ºÐ¾ßÀÇ ¿¬±¸ÀÚ, µ¶¸³¼ÒÇÁÆ®¿þ¾îº¥´õ(ISV) ¹× ÇÁ·Î±×·¡¹Ö ¾ð¾î »ç¿ëÀÚµéÀÌ GPU°¡¼ÓÀÇ ÇýÅÃÀ» ´©¸± ¼ö ÀÖ°Ô µÉ °ÍÀ¸·Î Àü¸ÁµÈ´Ù.

LLVMÀº ¿ÀÇ ¼Ò½º ÄÄÆÄÀÏ·¯ ÀÎÇÁ¶ó·Î, »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ÇÁ·Î¼¼¼­ ¾ÆÅ°ÅØó¸¦ ½±°Ô Ãß°¡ Áö¿øÇÒ ¼ö ÀÖ°Ô ¼³°èµÈ ¸ðµâ µðÀÚÀÎÀ» °®Ãß°í ÀÖ´Ù. Äí´Ù(CUDA)¢ç ÄÄÆÄÀÏ·¯´Â C, C++ ¹× Æ÷Æ®¶õ(Fortran)À» Áö¿ø, ´ë·® º´·Ä ¿£ºñµð¾Æ GPU¸¦ »ç¿ëÇØ ¾îÇø®ÄÉÀ̼ÇÀ» °¡¼Ó½ÃÅ°´Âµ¥, ¿£ºñµð¾Æ´Â º¯°æµÈ Äí´Ù ÄÄÆÄÀÏ·¯ ¼Ò½º Äڵ带 LLVM ÄÚµå¿Í º´·Ä ¾²·¹µå ½ÇÇà ¹é¿£µå(Parallel thread execution backend)¿¡ Àû¿ëÇϱâ À§ÇØ LLVM °³¹ßÀÚµé°ú ±ä¹ÐÈ÷ ÀÛ¾÷Çß´Ù. ±× °á°ú ÇÁ·Î±×·¡¸ÓµéÀº º¸´Ù ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇØ GPU °¡¼ÓÀ» À§ÇÑ ¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¼ö ÀÖ°Ô µÇ¾úÀ¸¸ç, GPU ÄÄÇ»ÆÃÀ» ±× ÀÌÀü ¾î´À ¶§º¸´Ù »ç¿ëÇϱ⠽±°í ³Î¸® º¸±ÞµÉ ¼ö ÀÖ°Ô µÇ¾ú´Ù.

LLVMÀº C/C++, ¿ÀºêÁ§Æ¼ºê-C(Objective-C), Æ÷Æ®¶õ(Fortran), ¾Æ´Ù(Ada), ÇϽºÄÌ(Haskell), ÀÚ¹Ù ¹ÙÀÌÆ®ÄÚµå(Java bytecode), ÆÄÀ̽ã(Python), ·çºñ(Ruby), ¾×¼Ç½ºÅ©¸³Æ®(ActionScript), GLSL ¹× ·¯½ºÆ®(Rust) µî ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ÇÁ·ÐÆ®¿£µå¸¦ Áö¿øÇÑ´Ù. ƯÈ÷, Äí´Ù C/C++ ¾ÆÅ°ÅØó¿¡¼­ ¿£ºñµð¾Æ°¡ »ç¿ëÇÏ´Â ÄÄÆÄÀÏ·¯ ÀÎÇÁ¶ó·Î ¾ÖÇÃ(Apple), AMD, ¾îµµºñ(Adobe) µî ¼±µÎ¾÷ü¿¡¼­ ³Î¸® È°¿ëµÇ°í ÀÖ´Ù.

LLVM ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÑ ¹Ù ÀÖ´Â ´õºí ³×°ÅƼºê(Double Negative)ÀÇ ´í º£Àϸ®(Dan Bailey) ¿¬±¸ÀÚ´Â ¡°½Ã°¢È¿°úȸ»çÀÎ ´õºí ³×°ÅƼºê´Â LLVM¿¡ ±â¹ÝÇÑ Æ¯Á¤µµ¸ÞÀξð¾îÀÎ Á¬(Jet)À» »ç¿ëÇϱâ À§ÇØ À¯Ã¼¿ªÇÐ(CFD) ¼Ö¹ö¸¦ Æ÷ÆÃÇÑ ¹Ù ÀÖ´Ù.¡±¸ç ¡°±âÁ¸¿¡ Áö¿øµÇ´Â ¾ÆÅ°ÅØó ¿Ü, ¿£ºñµð¾ÆÀÇ »õ·Î¿î ¿ÀÇÂ-¼Ò½º LLVM ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇؼ­ ¿£ºñµð¾Æ GPU ¾ÆÅ°ÅØó¿¡ ³ôÀº ¼öÁØÀ¸·Î ÃÖÀûÈ­µÈ Äڵ带 ¼Õ½±°Ô ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ¾ú°í, ´öºÐ¿¡ ¿µÈ­½Ã°¢È¿°ú¿¡ »ç¿ëµÇ´Â ÄÄÇ»ÅÍ ½Ã¹Ä·¹ÀÌ¼Ç ÀÛ¾÷¼Óµµ°¡ Å©°Ô °³¼±µÇ¾ú´Ù.¡±°í ¹àÇû´Ù.

¸Å½º¿÷½º(MathWorks)ÀÇ º´·Ä ÄÄÇ»Æà ¸¶ÄÉÆà »óÀӸŴÏÀúÀÎ ½Çºñ³ª ±×·¡µå-Æ縮ġ(Silvina Grad-Freilich)´Â ¡°¸Å½º¿÷½º´Â LLVM ÅøüÀÎ(Toolchain) ¿ä¼Ò¸¦ »ç¿ëÇؼ­ GPU Áö¿øÀ» ¸ÅÆ®·¦(MATLAB) ¾ð¾î¿¡ Ãß°¡ÇÑ´Ù.¡±¸ç ¡°GPU¸¦ Áö¿øÇÏ´Â ¿ÀǼҽº LLVM ÄÄÆÄÀÏ·¯´Â ¿ì¸® ±â¼ú Ä¿¹Â´ÏƼ°¡ ²À ÇÊ¿ä·Î Çß´ø °Í¡±À̶ó°í ¸»Çß´Ù. 

¿£ºñµð¾Æ GPU ÄÄÇ»Æà ¼ÒÇÁÆ®¿þ¾îÀÇ ÀÌ¾È ¹÷(Ian Buck) Á¦³Ê·² ¸Å´ÏÀú´Â ¡°LLVM¿¡ Á¦°øÇÑ ÄÚµå´Â ÀÌ¹Ì ±× È¿°ú°¡ ÀÔÁõµÈ ÁÖ¿ä Äí´Ù Á¦Ç°¿¡ ±â¹ÝÇÑ °ÍÀ¸·Î ÇöÀç PC¿Í ¼­¹ö¿¡ ¼³Ä¡µÈ ¼ö ¾ï °³ÀÇ ¿£ºñµð¾Æ GPU¿Í ¿Ïº®ÇÏ°Ô È£È¯, ½Å·ÚÇÒ ¼ö ÀÖ´Ù.¡±¸ç ¡°LLVM ÄÄÆÄÀÏ·¯´Â GPU ÄÄÇ»Æà ¹ßÀü°ú º¸±Þ¿¡ ÀÖ¾î Áß¿äÇÑ ÀÌÁ¤Ç¥·Î, ¿©·¯ ºÐ¾ßÀÇ ¿¬±¸ÀÚ¿Í ÇÁ·Î±×·¡¸ÓµéÀÌ Â÷¼¼´ë ¾îÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÀÖ¾î ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í Çϵå¿þ¾î ¾ÆÅ°ÅØó Áß °¡Àå ¿ä°Ç¿¡ ÀûÇÕÇÑ Á¦Ç°À» ¼±ÅÃÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.¡±°í ¸»Çß´Ù.

¿£ºñµð¾Æ GPU¸¦ Áö¿øÇÏ´Â LLVM ÄÄÆÄÀÏ·¯ÀÇ ÃֽŠ¹öÀüÀº llvm.org¿¡¼­ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù.

GPU ÄÄÇ»Æÿ¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº www.nvidia.co.kr/object/GPU_Computing_kr¿¡¼­ ã¾Æº¼ ¼ö ÀÖÀ¸¸ç, ¿£ºñµð¾Æ Äí´Ù ÇÁ·Î±×·¡¹Ö ȯ°æ¿¡ ´ëÇÑ º¸´Ù »ó¼¼ÇÑ Á¤º¸´Â www.nvidia.co.kr/cuda¿¡¼­ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

 

 
½ºÆ©µð¿À ¿¬°á²÷±â