GPU»PCUDA¥[³t¹Bºâªºì²z»P¹ê§@
¥»½Òµ{ÝÅU²z½×¤Î¹ê§@¡A¥H¤Þ¾ÉCUDA ¾Çû¯à°÷¦bµu®É¶¡¤º§Ö³t¶i¤JCUDA ...
´£¨Ñ¾÷ºc¡G
¾A¦X¹ï¶H¡G
GPU»PCUDA¥[³t¹Bºâªºì²z»P¹ê§@ ¤W½Ò¦a§}¡G¤u¬ã°|¦ËªF¤¤¿³°|°Ï21À] 200-1±Ð«Ç (·s¦Ë¿¤¦ËªFÂí¤¤¿³¸ô¥|¬q 195¸¹ 21À] 200-1°V½m±Ð«Ç) ¹ê»Ú¤W½Ò¦aÂI¡A½Ð¨Ì¤W½Ò³qª¾¬°·Ç! ®É¼Æ¡G14 °_¨´¤é´Á¡G2020-09-01~2020-09-02 Ápµ¸¸ê°T¡G¶À¤p©j/03-5732034 ³ø¦WºI¤î¤é¡G2020-09-01 ½Òµ{Ãþ§O¡G¤H¤~°ö°V(½Òµ{) ¬¡°Ê¥N½X¡G2320060024 |
½Òµ{¤¶²Ð CUDA¡]Compute Unified Device Architecture¡^¬ONVIDIA©Ò±À¥Xªº¥¦æ¹Bºâ¬[ºc¡A³z¹L¾r¶¿Ã¸¹Ï³B²z¾¹(GPU)ªº·¥P«Â¤O¡A±aµ¹¹Bºâ®Ä¯à¤j´T´£¤É¡C¹Bºâ¤w±qCPU©Ò°õ¦æªº¡u¤¤¥¡³B²z¡vµo®i¦¨¥ÑCPU©MGPU°õ¦æªº¡u¦@¦P³B²z¡v¡CCUDA¬[ºc¤w¤º«Ø©ó¨äGeForce¡BION¡BQuadro©MTeslaø¹Ï³B²z¾¹¤¤¡A¬°À³¥Îµ{¦¡¶}µo¤Hû´£¨Ñ«nªº¦w¸Ë°ò¦¡CÀHµÛ¤H¤u´¼¯àªºµo®i¡A¦p¤µªºGPU¤w¸g¤£¦A§½©ó3D¹Ï§Î³B²z¤F¡A³z¹LCPU+GPU¤ÎCUDA¥¦æ¹Bºâ¬[ºc¡AÂÇ¥H¥[³t¤j³W¼Ò¨Ã¦æ¬ì¾Ç¹Bºâ¡B²`«×¾Ç²ß¡B¤ÀªR¡B¹w´úµ¥¡A¨Ã¤w¬°¨T¨®¡B¤â¾÷¡B¥ªO¹q¸£¡B¸¦æ¾¹¤Î¾÷¾¹¤Hµ¥¸Ë¸m°^Äm±j¤jªº®Ä¯à«Â¤O¡C
CUDA¬O¤@ºØ¥ÑNVIDIA´£¥Xªº¨Ã¥Ñ¨ä»s³yªº¹Ï§Î³B²z³æ¤¸¡]GPUs¡^¹ê²{ªº¤@ºØ¥¦æpºâ¬[ºc¤Îµ{¦¡³]p¼Ò«¬¡CCUDAµ¹µ{¦¡¶}µo¤Hû´£¨Ñª½±µ¦s¨úCUDA GPUs¤¤ªºµêÀÀ«ü¥O¶°©M¥¦æpºâ¤¸¥óªº°O¾ÐÅé¡C³nÅéµo®iªÌ¥i¥H³q¹LCUDA¥[³t®w¡A½sĶ¾¹«ü¥O¥H¤Î²Å¦X¤u·~¼Ð·Çªºµ{¦¡³]p»y¨¥¡]¦pC, C++©MFortran, Python¡^ÂX®i¹ïCUDA¥¥x¶i¦æ¾Þ§@¡C
¥»½Òµ{ÝÅU²z½×¤Î¹ê§@¡A¥H¤Þ¾É CUDA ¾Çû¯à°÷¦bµu®É¶¡¤º§Ö³t¶i¤J CUDA ªº¥¦æ¥@¬É¡Cº¥ý±q¥¦æpºâ¡BGPUªº¤¶²Ð¤Á¤J¡A¦A±a¨ìCUDA¥¦æpºâ¬[ºc¡A»P²`«×¾Ç²ßªºÀ³¥Î¡A¨ä¦¸¡A·|³z¹LC¡BPythonµ{¦¡»y¨¥¸Ì³Ì¯Ó®Éªº¤j³W¼Ò¨Ã¦æ¹Bºâªº°j°é¤Î°}¦Cµ¥µ{¦¡¨Ó¹ï¬M¸Ñ»¡CUDA¤§¹ê°È¹B§@¡C
|
½Òµ{¯S¦â/¥Ø¼Ð ½Òµ{¥Ø¼Ð
¥»½Òµ{«Y°w¹ïªì¶¥¾Çû´£¨Ñ²`«×¾Ç²ß°ò¥»ì²z¬ÛÃö½Òµ{¡C³z¹L°ê»Ú¯Å»{ÃÒÁ¿®v¤Î°í±j®v¸ê°}®e¡Aµ²¦XÁͶաB²z½×»P¹ê§@¡A±a»â¾Çû¥Ñ²L¤J²`¡A³v¨B¤Þ¾É¾Çû±qÆ[©À¡B¬[ºc¡Bµ{¦¡ªº²z¸Ñ¶i¦Ó¥i¥H³Ì§Öªº³t«×¤W¤â CUDA ¥¦æµ{¦¡ªº³]p¡C¥un¬O¨ã³Æ¦³C/C++ µ{¦¡»y¨¥ªº³]p°ò¦ªÌ§¡¥i°Ñ¥[¦¹½Òµ{¡A§Q¥Î¨â¤Ñªº®É¶¡§Ö³t¾Ç·| CUDA ¥¦æ³B²zµ{¦¡ªº³]p§Þ¥©¤Î¥Ø«e³Ì·s¥¦æ²z©À¡A¤@¤â´x´¤¥´³y¤H¤u´¼¼z (AI) ªºÃöÁä§Þ³N¡C
¥»½Òµ{¤À¬°¨â¤Ñªº½Òµ{¡A²Ä¤@¤Ñ¬°GPU»P¥¦æ¥[³t¡Fªx¤Æ¥¦æpºâ--±qGPU¨ìCUDA¡A¥Dn¬°Á¿±Â¥¦æpºâ»PGPU/CUDA °ò¦²z½×¡A¥]¬AGPUÀ³¥Î©ó¤@¯ë¤Æ¥¦æ¹Bºâ¡Bµ{¦¡»y¨¥ªº°j°é¤Î°}¦Cµ¥³]p¦Ò¶q¡F²Ä¤G¤Ñ¬°CUDA C/C++ ¥¦æ¥[³t¹Bºâ¹ê§@¡A±N²z½×¹B¥Î©ó¹ê§@¤W¡CCUDA ¬O NVIDIA ªº¥¦æ¹Bºâ¬[ºc¡A¥i¹B¥Î GPU ªº±j¤j³B²z¯à¤O¡A¤j´T¼W¥[¹Bºâ®Ä¯à¥H¤Î¦b±Nµ{¦¡¥¦æ«á¦p¦ó¹F¨ì³Ì¨Î¤Æ¡C³Ì«á±q´XÓ±`¨£ªºCUDA¥[³t®×¨Ò±j¤Æ¹B¥ÎGPU¥[³tªºÆ[©À°µ¬°¤§«á¥Î¦b¦Û¨¶}µo±M®×¥[³tªº°Ñ¦Ò¡C
½Òµ{¯S¦â
1. ²©ö¡G¥ÎColab´£¨Ñªº§K¶OGPU¸ê·½§Y¥i»´ÃP¤JªùCUDAµ{¦¡³]p¡C
2. ¹ê¥Î¡G§Ö³t¤F¸ÑGPU°ò¥»ì²z¡A´x´¤¹ê»ÚÀ³¥Îªºn»â¡A¯àÆF¬¡¹B¥Î¦b¦Û¨°Ñ»Pªº±M®×p¹º¤¤¡C
3. ²`¤J¡G±q°ò¦ªº¬ì¾Çpºâ(Vector Add) ¨ì³Q¼s¬°À³¥Îªº²`«×¯«¸gºô¸ô(Deep Learning)°µ¬°Ó®×¬ã¨s¡A³zµø²`«×¾Ç²ß»PGPU¥[³tªº©³¼hÃö«Y¡C
½Òµ{®Ä¯q
�� ¬°¯à¨Ï¾Çû»´ÃP¦aÁA¸Ñ CUDA ªº²z©À¡A¥»½Òµ{°£¤F¥Ñ²L¤J²`¦aÁ¿z¥¦æ¤Æ¥[³tpºâ·§½×¥~¡A¦P®É±N®i¥Ü®×¨ÒÀ³¥Î»PÀu¤Æ³B²z¤èªk»P§Þ¥©¡A³z¹L³v¨B¤Þ¾É¨Ï¾Çû§ó¯àÅé·| CUDA¥¦æµ{¦¡ªº³]p¤§¶ø§®¡C
�� ´x´¤GPUø¹Ï³B²z¾¹¹B¥Î©ó¥¦æpºâ¤§Ä³ÃD¡A¦³§U©ó¦Û¨ªº¹Bºâ¥[³t¤u§@¤ÎÀ³¥Î¶}µo¡C
|
½Òµ{¹ï¶H ¹ï¥¦æpºâ¡BGPU¡BCUDA¡B¤H¤u´¼¼zµ¥µ{¦¡³]p·P¿³½ìªÌ ¥¦æpºâ³nÅé¶}µo¤uµ{®v ¹q¤l/¹q¾÷/¸ê°T¬ÛÃö¤uµ{®v ¤j¼Æ¾Ú¬ÛÃö¬ãµo¤Hû©Î¸ê®Æ¬ì¾Ç®a¡B²Îp/¼ÆȤÀªR¬ã¨s¤Hû ±q¨Æ¥¦æpºâ¡B¤H¤u´¼¼zµ¥¬ãµo¡BÀ³¥Î¤§¤uµ{®v ¥ý³Æª¾ÃÑ: °ò¦µ{¦¡»y¨¥©Î°ò¦¬ì¾Çpºâ§Þ¯à
|
Á¿®v²¤¶ Á驯ªå / ¤u¬ã°|¤uµ{®v ( NVIDIA DLI»{ÃÒÁ¿®v)
¡i¾Ç¾ú¡j
�� °ê¥ß¥æ³q¤j¾Ç¸ê°T¤uµ{¬ã¨s©Ò³Õ¤h¯Z¦b¾Ç
�� °ê¥ß¥æ³q¤j¾Ç¥Íª«¸ê°T¬ã¨s©ÒºÓ¤h
¡i¸g¾ú¡j
�� ¤u¬ã°|¾÷±ñ©Ò¡AÆp¬ã©ó´¼¼z«¬¦Û°Ê¥ú¾ÇÀË´ú¨t²Î¬ãµoµ¥
�� NVIDIA ²`«×¾Ç²ß¾÷ºc(DLI) »{ÃÒÁ¿®v: Computer Vision, CUDA
�� ¾á¥ôpºâ¾÷·§½×¡B¤H¤u´¼¼z¡B¼Æ¦ì¹CÀ¸¾Ç²ßµ¥½Òµ{§U±Ð
¡i±M·~»â°ì¡j
�� ¾÷¾¹¾Ç²ß¡B¼v¹³³B²z¡B¾÷¾¹µøı·å²«ÀË´ú¡B¥¦æ¹Bºâ
¶À·®þà³Õ¤h / ¤u¬ã°|¤uµ{®v
¡i¾Ç¾ú¡j
�� °ê¥ß²MµØ¤j¾Ç¥Íª«¸ê°T»Pµ²ºc¥Íª«³Õ¤h
�� °ê¥ß¤¤¥¿¤j¾Ç¶W¤j«¬¿nÅé¹q¸ôºÓ¤h
¡i¸g¾ú¡j
�� ²Ä¤T¥N¯«¸gºô¸ô(Spiking Neural Network)¬ãµo
�� ªGÃǤj¸£ºô¸ô¼ÒÀÀ¾¹¶}µoªÌ
�� «ü¯¾´¹¤ù,°ª³t¶q´ú´¹¤ù¬ãµo
�� ¤u·~±±¨î,¹q¯àÂà´«¨t²Î¬ãµo
¡i±M·~»â°ì¡j
�� ¥¦æ¹Bºâ¡B¼Æ¦ì¹q¸ô³]p¡B¤u·~±±¨î¡B¥Íª«¯«¸gºô¸ô¬ãµo
|
½Òµ{¤jºõ ²Ä¤@¤Ñ¡GGPU»P¥¦æ¥[³t¹Bºâ 1.GPU ¹Bºâì²z¤Î CUDA ¥¦æ¹Bºâ°ò¥»ª¾ÃÑ 2.GPUÀô¹Ò¨Ï¥Î²¤¶ 3.CUDA°ò¥»µ{¦¡½s¼g ²Ä¤G¤Ñ¡GCUDA C/C++ ¥¦æ¥[³t¹Bºâ¹ê§@ 1.®Ä¯àµû¦ô¤Î³Ì¨Î¤Æ 2.¥ÑVector Add ¦Ü Neural Network - ±`¨£ªºGPU¥[³t¹BºâӮ׬ã¨s 3.¹ê¥ÎªºCUDA ¬ÛÃö Libraries ¤¶²Ð ¸Ô²Ó½Ð¤U¸üªþ¥ó½Òµ{DM |
»ù®æ ½Òµ{¶O¥Î (§tµ|¡BÁ¿¸q¡B¤ÈÀ\¡BÂI¤ß):
¨C¤H$9,800¤¸¡C¶}½Ò«e¤T¶g³ø¦W¡]¦³¾»ù¡^¡G¨C¤H$9,300¤¸¡C
¹Î³ø(¦P¤½¥q¤G¤H¥H¤W)¡A¨C¤H$9,300¤¸¡A¹Î³ø¦³¾»ù: ¨C¤H$8,800¤¸¡C
|
±`¨£°ÝÃD ¥»½Òµ{¨ã¹ê§@©Ê½è¡A½Ð¾Çû¦Û±aµ§¹q¡A°ò¥»¤W¡A¹ê§@«Y¸g¥ÑÂsÄý¾¹¦s¨úGoogle ¶³ºÝGPU¦øªA¾¹¡A¬Gµ§¹q¥un¦w¸Ë¤@¯ëªºÂsÄý¾¹§Y¥i¹B¦æ¡A¦pChrome¡C |
ªþ¥ó GPU»PCUDA¥[³t¹Bºâªºì²z»P¹ê§@-20200901-1.pdf |