½Ç¹«¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Â C++ AMP ÇÁ·Î±×·¡¹ÖÀÇ ÇÙ½ÉÀ» ¹è¿î´Ù
´ë¿ë·® ¿µ»ó µ¥ÀÌÅÍ Ã³¸®¸¦ À§ÇÑ GPU´Â ¸¹Àº Äھ ÀÌ¿ëÇÑ º´·Ä ÀÛ¾÷À» ÅëÇØ °á°ú¸¦ µµÃâÇÑ´Ù. ´Ü¼ø ¼öÄ¡ ¿¬»ê¿¡ Æ¯ÈµÈ ÀÌ·¯ÇÑ GPUÀÇ °è»ê ´É·ÂÀ» ´Ù¸¥ ºÐ¾ß·Î È®ÀåÇÏ·Á´Â ½ÃµµÀÎ GPGPU´Â ÀÌÀüºÎÅÍ ²ÙÁØÈ÷ ½ÃµµµÇ°í ÀÖ´Ù. ±×·¯³ª GPU ÇÁ·Î±×·¡¹ÖÀº ¾î·Æ°í »ý¼ÒÇÏ¿© ÀÛ¼ºÀÌ ½±Áö ¾ÊÀ¸¸ç ¿ùµîÇÑ ¼º´É Çâ»óÀ» ±â´ëÇϱ⵵ ¾î·Æ´Ù. ÀÌ·¯ÇÑ GPGPU ÇÁ·Î±×·¡¹ÖÀÇ ¾î·Á¿òÀ» ÇØ°áÇÏ°íÀÚ ¿©·¯ ÇÁ·Î±×·¡¹Ö ¸ðµ¨ÀÌ µîÀåÇߴµ¥, ±×Áß Çϳª°¡ C++ AMP´Ù.
C++ AMP´Â GPGPU ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ °¡Àå Æí¸®ÇÑ È¯°æÀÌ´Ù. Windows 10¿¡¼ GPU¸¦ »ç¿ëÇÏ´Â ¾ÛÀ» Á¦ÀÛÇÏ·Á¸é GPU·Î ±¸µ¿ÇÏ´Â DLL ¿£ÁøÀ» Á¦ÀÛÇÏ°í Windows ½ºÅä¾î ¾Û ÇÁ·Î±×·¥¿¡¼ DLLÀ» È£ÃâÇÏ¿© µ¿ÀÛ½ÃÄÑ¾ß Çϴµ¥, CUDA³ª OpenCL µîÀÇ ±âÁ¸ ȯ°æÀº Á÷Á¢ À©µµ¿ì ½ºÅä¾î ¾Û°ú ¿¬°áµÇ´Â ÄÄÆ÷³ÍÆ®¸¦ Á¦ÀÛÇÒ ¼ö ¾ø´Ù. ÇÏÁö¸¸ C++ AMP´Â Windows ½ºÅä¾î ¾Û¿¡ GPU ¿£Áø ±×´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
ÀÌ Ã¥Àº C++ AMP¸¦ »ç¿ëÇÒ ¶§ ±âº»ÀÌ µÇ´Â ¿ë¾îµé°ú ÀÚÁÖ »ç¿ëÇÏ´Â ±¸¹®µéÀ» Âü°íÇϱ⠽±µµ·Ï Á¤¸®ÇÏ°í, GPGPU ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ Å°¿öµå³ª °ü¿ë ±¸¹®À» ¾Ï±âÇÏÁö ¾Ê°í ÇÊ¿äÇÑ Äڵ带 °¡Á®´Ù ¾µ ¼ö ÀÖ°Ô ÇÏ¿© »ý»ê¼ºÀ» ³ôÀÌ°í Á» ´õ ½±°Ô °³¹ßÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¶ÇÇÑ, ½Ç¹«¿¡¼ ¹Ù·Î È°¿ëÇÒ ¼ö ÀÖ°Ô ¾Ë°í¸®ÁòÀ̳ª ÀϹÝÀûÀ¸·Î ³Î¸® ¾Ë·ÁÁø ¼º´É ÃÖÀûÈ´Â ´Ù·çÁö ¾Ê°í C++ AMP ¾ð¾î º»¿¬ÀÇ Æ¯¼º¸¸À» ¼Ò°³ÇÏ¿´´Ù. ÀÌ Ã¥ÀÇ ¸ðµç ¿¹Á¦´Â Visual Studio 2015¿¡¼ °ËÁõÇÏ¿´´Ù.
chapter 1 C++ AMP¸¦ À§ÇÑ C++ ¹®¹ý
1.1 ÇÔ¼öÀÚ
1.2 ¶÷´Ù
1.3 std::function
1.4 std::vector, std::array
1.5 std::for_each
1.6 nullptr
1.7 Á¤¸®
chapter 2 PPLÀ» ÀÌ¿ëÇÑ CPU ºÐ»êó¸® ¾Ë°í¸®Áò ÀÛ¼º
2.1 task
2.2 structured_task_group
2.3 parallel_invoke
2.4 parallel_for
2.5 parallel_for_each
2.6 Á¤¸®
chapter 3 C++ AMP 񃧯
3.1 ¾Ï´ÞÀÇ ¹ýÄ¢
3.2 GPUÀÇ Á¾·ù
3.3 ÀÎÅÚ ³»Àå GPU ¾ÆÅ°ÅØó
3.4 C++ AMP ³×ÀÓ½ºÆäÀ̽º
3.5 accelerator
3.6 accelerator_view
3.7 array
3.8 array_view
3.9 GPU¿¡¼ µ¿ÀÛÇÏ´Â Ä¿³Î ÇÔ¼ö ¸¸µé±â
3.10 ¸Þ¸ð¸® º¹»ç ÃÖ¼ÒÈ
3.11 Ä¿³Î ÇÔ¼öÀÇ ¿ÜºÎ ÇüÅÂ
3.12 Ä¿³Î ÇÔ¼öÀÇ ³»ºÎ Á¦¾à
3.13 ¼öÇÐ ¶óÀ̺귯¸®
3.14 ŸÀϸµ
chapter 4 C++ AMP ÄÚµù °¡À̵å
4.1 step1. for¹®À» ÀÌ¿ëÇÑ C/C++ ¾Ë°í¸®Áò ÄÚµå ÀÛ¼º°ú °ËÁõ
4.2 step2. C++ AMPÀÇ parallel_for_each¹®À¸·Î ÄÚµå ¼öÁ¤
4.3 step3. ¸Þ¸ð¸® º¹»ç¸¦ ÃÖ¼ÒÈÇϱâ À§ÇÑ ÄÚµå ¼öÁ¤
4.4 step4. ij½Ã¸Þ¸ð¸®¸¦ È°¿ëÇϵµ·Ï ÄÚµå º¯°æ
4.5 Á¤¸®
chapter 5 C++ AMP ¼º´É ÃÖÀûÈ 057
5.1 GPU ¿¬»ê ½Ã°£ ÃøÁ¤
5.2 ¸Þ¸ð¸® º¹»ç ÃÖ¼ÒÈ
5.3 ºñµ¿±â º¹»ç
5.4 °øÀ¯ ¸Þ¸ð¸®
5.5 ½ºÅ×ÀÌ¡ ¹è¿
ºÎ·Ï À©µµ¿ì 10 ½ºÅä¾î ¾Û¿¡¼ C++ AMP ÀÌ¿ë
A.1 À©µµ¿ì 10¿ë UWP ÇÁ·ÎÁ§Æ® »ý¼º
A.2 C++ AMP ¶óÀ̺귯¸® Á¦ÀÛ
A.3 À©µµ¿ì 10¿ë UWP ÇÁ·ÎÁ§Æ®¿¡¼ »ç¿ë