Äí´Ù(CUDATM) º´·Ä ÄÄÇ»Æà ¾ÆÅ°ÅØÃĸ¦ ÅëÇØ ¡®GPU ÄÄÇ»Æà Çõ¸í¡¯À» Ãâ¹ü½ÃÄ×´ø ¿£ºñµð¾Æ°¡ Å©·Î³ë½º ±×·ì(Khronos Group)ÀÌ ÃÖ±Ù ¹ßÇ¥ÇÑ OpenCL(Open Computing Language) 1.0À» ÀüÆø Áö¿øÇÑ´Ù°í ¹àÇû´Ù.
OpenCLÀº °³¹ßÀÚµéÀÌ ´ë±Ô¸ð º´·Ä ÄÄÇ»Æà GPU(Graphics Processing Unit) ¼º´ÉÀ» È°¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â »õ·Î¿î ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º(API: Application Programming Interface)À̸ç, À̹ø OpenCL Áö¿øÀº ¿£ºñµð¾Æ°¡ ÁÖâÇÏ´Â ¡®GPU ÄÄÇ»Æà Çõ¸í¡¯¿¡¼ Áß¿äÇÑ ÀÌÁ¤Ç¥ Áß Çϳª·Î, °³¹ßÀڵ鿡°Ô ¶Ç ´Ù¸¥ °·ÂÇÑ ÇÁ·Î±×·¡¹Ö ¿É¼ÇÀ» Á¦°øÇÒ °ÍÀ¸·Î ±â´ëµÈ´Ù.
Äí´Ù´Â ±âº»ÀûÀ¸·Î OpenCLÀ» Æ÷ÇÔÇÑ ¸ðµç º´·Ä ÄÄÇ»Æà ÀÎÅÍÆäÀ̽º¸¦ Áö¿øÇϵµ·Ï °³¹ßµÇ¾úÀ¸¸ç, ±¤¹üÀ§ÇÑ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¼º´É Çâ»óÀ» Á¦°øÇÑ´Ù. ¶ÇÇÑ Äí´Ù ¾ÆÅ°ÅØÃÄ´Â C, ÀÚ¹Ù(Java), Æ÷Æ®¶õ(Fortran), ÆÄÀ̼±(Python)°ú °°Àº ´Ù¸¥ Ç¥ÁØ ¾ð¾î¸¦ Áö¿ø, °³¹ßÀÚµéÀÌ ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ȯ°æÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í GPU¸¦ È°¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ßÀ» Áö¿øÇÏ°í ÀÖ´Ù.
¿£ºñµð¾Æ º´·Ä ÄÄÇ»Æà Àü·«ÀÇ ±Ù°£À» ÀÌ·ç´Â Äí´Ù´Â, ÁöÆ÷½º(GeForce) 8800 GPU ÀÌÈÄ ´ëºÎºÐÀÇ ¿£ºñµð¾Æ GPU¿¡ Àû¿ëµÇ¸ç, Àü¼¼°è 1¾ï °³ ÀÌ»óÀÇ Äí´Ù¸¦ Áö¿øÇÏ´Â ¿£ºñµð¾Æ GPU¿¡¼ »ç¿ëÀÌ °¡´ÉÇϱ⠶§¹®¿¡ »ç¿ëÀÚ Ãþµµ ³Ð´Ù.
Äí´Ù ¾ÆÅ°ÅØÃÄ´Â ½´ÆÛÄÄÇ»ÅÍ¿Í ¿öÅ©½ºÅ×À̼ǿ¡¼ºÎÅÍ PC¿¡ À̸£´Â ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼ »ç¿ëÀÌ °¡´ÉÇϸç, ÀÌ¹Ì ¼¼°è¿¡¼ 2¸¸ 5õ¸í ÀÌ»óÀÇ °³¹ßÀÚµéÀÌ À̸¦ È°¿ëÇÏ°í ÀÖ´Ù. ¼¼°è °¢ÁöÀÇ °úÇÐÀÚµé°ú ¿¬±¸¼Ò´Â Äí´Ù¸¦ »ç¿ëÇÏ°í Àְųª ÀÌ¿¡ ÁÖ¸ñÇÏ°í ÀÖÀ¸¸ç, ÀÌ´Â Äí´Ù¸¦ Áö¿øÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» »ç¿ëÇÏ¿´À» ¶§ CPUº¸´Ù 20¿¡¼ 200¹è¿¡ ´ÞÇÏ´Â ¼Óµµ Çâ»óÀ» º¸À̱⠶§¹®ÀÌ´Ù.
¿£ºñµð¾Æ Äí´Ù Á¦³Ê·² ¸Å´ÏÀú ¸¸ÁÖ ÇòÁö(Manju Hegde)´Â ¡°OpenCLÀÇ Ãâ½Ã´Â ÄÄÇ»ÅÍ »ê¾÷¿¡¼ ÁÖ¸ñÇÒ ¸¸ÇÑ ´º½º·Î¼, ¿£ºñµð¾Æ´Â GPU ȯ°æ¿¡¼ ¿¬»êÀ» Çâ»ó½ÃÅ°´Â »õ·Î¿î Ç¥ÁØ È®¸³ °úÁ¤¿¡ Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ°í ÀÖ´Ù. ¶ÇÇÑ ¿ì¸®´Â ¾ÖÇÃÀÌ OpenCLÀÇ ¼±µÎ¿¡¼ ÀÌÀÇ È®»êÀ» ÁÖµµÇÏ°í ÀÖÀ½À» ±â»Ú°Ô »ý°¢ÇÑ´Ù¡±°í ¸»Çß´Ù.
¿£ºñµð¾ÆÀÇ ÀÓº£µðµå ÄÁÅÙÃ÷ ºÎ»çÀåÀÌÀÚ Å©·Î³ë½º OpenCL ¿öÅ·±×·ìÀÇ È¸ÀåÀÎ ´Ò Æ®·¹ºø(Neil Trevett)´Â ¡°OpenCLÀº ¿£ºñµð¾Æ¿Í °°Àº ¾÷°èÀÇ ¸®´õµé¿¡°Ô ¸í¹éÇÑ ±âȸÀÌ´Ù. ¿£ºñµð¾Æ´Â OpenCL ¿öÅ·±×·ì¿¡¼ È°µ¿ÀûÀÎ ¿ªÇÒÀ» °è¼ÓÇÒ °ÍÀ̸ç, ¸ðµç Ç÷§Æû¿¡¼ OpenCLÀ» Áö¿øÇÏ°í °³¹ßÀڵ鿡°Ô ¿ì¸®ÀÇ ¶Ù¾î³ GPUÀÇ ÄÄÇ»Æà ¼º´ÉÀ» °æÇèÇÒ ¼ö ÀÖ´Â Ãß°¡ÀûÀÎ ¹æ¹ýÀ» Á¦°øÇÒ °ÍÀÌ´Ù¡±°í ¸»Çß´Ù.