¹B¥Î CUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z

½Òµ{­ÝÅU²z½×¤Î¹ê§@¡A¤Þ¾ÉCUDA¾Ç­û¯à°÷¦bµu®É¶¡¤º§Ö³t¶i¤JCUDAªº¥­¦æ¥@¬É

¾A¦X¹ï¶H¡G


NVIDIA DLI ²`«×¾Ç²ß¹ê§@§{ -
¹B¥Î CUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z

¤W½Ò¦a§}¡G¤u¬ã°|¦ËªF¤¤¿³°|°Ï21À] 200-1°V½m±Ð«Ç (·s¦Ë¿¤¦ËªFÂí¤¤¿³¸ô¥|¬q 195¸¹ 21À] 200-1°V½m±Ð«Ç) ¹ê»Ú¤W½Ò¦aÂI¡A½Ð¨Ì¤W½Ò³qª¾¬°·Ç!

®É¼Æ¡G14

°_¨´¤é´Á¡G2021-01-19~2021-01-20

Ápµ¸¸ê°T¡G¶À¤p©j/03-5732034

³ø¦WºI¤î¤é¡G2021-01-19

½Òµ{Ãþ§O¡G¤H¤~°ö°V(½Òµ{)

¬¡°Ê¥N½X¡G2320100055

 

½Òµ{¤¶²Ð

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¡]¦pOpenACC¡^¥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¦â/¥Ø¼Ð

NVIDIA DLI ²`«×¾Ç²ß¹ê§@§{¡A«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¥u­n¬O¨ã³Æ¦³C/C++ µ{¦¡»y¨¥ªº³]­p°ò¦ªÌ§¡¥i°Ñ¥[¦¹½Òµ{¡A§Q¥Î¨â¤Ñªº®É¶¡§Ö³t¾Ç·| CUDA ¥­¦æ³B²zµ{¦¡ªº³]­p§Þ¥©¤Î¥Ø«e³Ì·s¥­¦æ²z©À¡A¤@¤â´x´¤¥´³y¤H¤u´¼¼z (AI) ªºÃöÁä§Þ³N¡CCUDA ¬O NVIDIA ªº¥­¦æ¹Bºâ¬[ºc¡A¥i¹B¥Î GPU ªº±j¤j³B²z¯à¤O¡A¤j´T¼W¥[¹Bºâ®Ä¯à¡C

 

¨â¦ìÀu¨qªºÁ¿®v/¤uµ{®v¡A®Ú¾Ú¨ä±Â½Ò¤Î¤u§@¤Wªº¹ê°È¸gÅç¡A¤Î¹ïNVIDIA DLI²`«×¾Ç²ß¹ê§@§{CUDA¤º®e¤§¤F¸Ñ¡AºIªø¸Éµu¡A¯S§Oºë¤ß³]­p¥»½Òµ{¡C¥»½Òµ{¤À¬°¨â¤Ñªº½Òµ{¡A¨Ã¥HNVIDIA DLI²`«×¾Ç²ß¹ê§@§{¡u¹B¥Î CUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z¡v¬°¥D·F(©î¦¨¨â¥b)¡A½Òµ{²Ä¤@¤Ñ¬°ªx¤Æ¥­¦æ­pºâ--±qGPU¨ìCUDA¡A¥D­n¬°Á¿±Â¥­¦æ­pºâ»PGPU/CUDA °ò¦²z½×¡A¥]¬AGPUÀ³¥Î©ó¤@¯ë¤Æ¥­¦æ¹Bºâ¡BGPU¶}Àô¹Òµ¥¡A¦A¤W¾÷¹ê§@ºt½mCUDA¹ê§@§{«e¥b¬q¡F ²Ä¤G¤Ñ§¹¦¨¹ê§@§{«á¥b¬qºt½m¡A¤§«á¦A¥[±j¸É¥RCUDA»P²`«×¾Ç²ß¡Bµ{¦¡»y¨¥ªº°j°é¤Î°}¦Cµ¥CUDA¶i¶¥À³¥Î³]­p¦Ò¶qµ¥¡C´`§Çº¥¶iªº¾Q³¯¡A¨Ï¾Ç­û¯à¦b³Ìµu®É¶¡¤º¥R¤À¾Ç²ß¨Ã¯à¹ê»ÚÀ³¥Î©ó¤u§@¤W¡C


½Òµ{®Ä¯q

�� ¬°¯à¨Ï¾Ç­û»´ÃP¦aÁA¸Ñ CUDA ªº²z©À¡A¥»½Òµ{°£¤F¥Ñ²L¤J²`¦aÁ¿­z¥­¦æ¤Æ¥[³t­pºâ·§½×¥~¡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

�� §¹°V«á³q¹LDLI©x¤è³]­p¦ÒÃD¤Î®æ¤H­û§Y¥iÀòµoNVIDIA DLI¹q¤lÃҮѡC

½Òµ{¹ï¶H

�� ¥­¦æ­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
�� ¹ï¥­¦æ­pºâ¡BGPU¡BCUDA¡B¤H¤u´¼¼zµ¥µ{¦¡³]­p·P¿³½ìªÌ

Á¿®v²¤¶

Á驯ªå / ¤u¬ã°|¤uµ{®v ( 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ºõ

Á|¿ì¤é´Á¡G2021/01/19, 01/20¡A

¤W½Ò®É¶¡, 09:00~17:00, ³ø¨ì®É¶¡: 08:40~09:00


²Ä¤@¤Ñ¡Gªx¤Æ¥­¦æ­pºâ -- ±qGPU¨ìCUDA / CUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z ¹ê§@§{ part (I)

®É¶¡

½Òµ{¥DÃD

¤º®e

09:00

~

12:00

 

(§t¥ð®§)

ªx¤Æ¥­¦æ­pºâ -- ±qGPU¨ìCUDA

1.    ¥­¦æ­pºâ²¤¶

2.    GPU²¤¶

3.    GPUÀ³¥Î©ó¤@¯ë¤Æ¥­¦æ¹Bºâ

4.    ¥ÑGPU¦ÜCUDA

5.   CUDA ¶}µoÀô¹Ò²¤¶

12:00

~

13:00

¤ÈÀ\

 

13:00

~

17:00

 

(§t¥ð®§)

NVIDIA DLI CUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z ¹ê§@§{ part (I)

 

1.    CUDA C/C++/ACC¥[³t¹Bºâªº°ò¥»­ì²z

2.    ¦p¦ó¦bGPU¤W¥[³t°õ¦æ¶È¨Ï¥ÎCPUÀ³¥Îµ{¦¡¤¤ªºÁôÂÃ¥­¦æ¹Bºâ

 
























²Ä¤G¤Ñ¡GCUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z ¹ê§@§{ part (II) / ¶i¶¥ CUDA ¥[³t­ì²z¹ê§@

®É¶¡

½Òµ{¥DÃD

¤º®e

09:00

~

12:00

 

(§t¥ð®§)

NVIDIA DLI CUDA C/C++ ¥[³t¹Bºâªº°ò¥»­ì²z ¹ê§@§{ part (II)

1.    ¥[³tµ{¦¡ªº®Ä¯àµû¦ô¤èªk

2.    ³z¹LCUDA°O¾ÐÅéºÞ²z§Þ³N¥H¥[³tÀ³¥Îµ{¦¡³Ì¨Î¤Æ

3.    §ä¨ì¥[³tÀ³¥Îµ{¦¡ªº¨Ã¦æ¼ç¯à¡A¨Ã¹B¥Î CUDA stream¥[¥H´£¤É¥­¦æ¹Bºâªº®Ä¯à

4.    ¹B¥Î©R¥O¦C©Mµøı¤Æ®Ä¯à¤ÀªR¤u¨ã¨Ó«ü¤Þ©MÀˬd§Aªº¤u§@(¥]§t Nsight)

12:00

~

13:00

¤ÈÀ\

 

13:00

~

17:00

 

(§t¥ð®§)

¶i¶¥ CUDA ¥[³t­ì²z¹ê§@

1.    ¦p¦ó¨Ï¥Îmultiple streams

2.    CUDA»P²`«×¾Ç²ß

3.    CUDA¬ÛÃöLibrary ¤¶²Ð

4.   Assessment


 





















¡¹¥D¿ì³æ¦ì¤ÎÁ¿®v«O¯d½Õ¾ã½Òµ{¤º®e¤§Åv§Q

 

µ²°V»P»{ÃÒ

½Òµ{³Ì«á¡A¥i¶i¦æ½u¤W´úÅç¡A³q¹L«á¥i¨ú±oNVIDIA ©x¤è¹q¤l»{ÃÒÃÒ®Ñ

½Òµ{¶O¥Î

½Òµ{¶O¥Î:  ¶O¥Î§t¡i½Òµ{Á¿¸q¤Î¹ê§@½d¨Òºt½m¡B¯ùÂI¡B¤ÈÀ\¡Bµ|¡j

¨C¤H$16,000¤¸¡C¶}½Ò«e¨â¶g³ø¦W¡]¦­³¾Àu´f»ù¡^¡G¨C¤H$15,000¤¸¡C

¦­³¾¹Î³øÀu´f»ù(¨â¶g«e¡B¦P¤½¥q2¤H¥H¤W): ¨C¤H$14,500¤¸¡C

 

±`¨£°ÝÃD

¥»½Òµ{¨ã¹ê§@©Ê½è¡A½Ð¾Ç­û¦Û±aµ§¹q¡A°ò¥»¤W¡A¹ê§@«Y¸g¥ÑÂsÄý¾¹¦s¨úNVIDIA ¶³ºÝGPU¦øªA¾¹¡A¬Gµ§¹q¥u­n¦w¸Ë¤@¯ëªºÂsÄý¾¹§Y¥i¹B¦æ¡A¦pChrome¡C

µù: ¤W½Ò«e·|³qª¾»¡©ú¦p¦óµù¥UNVIDIA±b¸¹µ¥¡C

ªþ¥ó

 


²¤¶


²£·~¾Ç°|½t°_
¡@¡@¨Ì¾Ú¦æ¬F°|¡u¬D¾Ô2008¡G°ê®aµo®i­«ÂI­pµe¡v¤U¤§¡u°ê»Ú³Ð·s¬ãµo°ò¦a¡v»P¡u²£·~°ª­È¤Æ¡v¨â­pµe¡A­º­«²£·~¬ì§Þ¤H¤~ªº®Ä¯à¡C

¡E911216¸g¬ì¦r²Ä09103373120¸¹¨ç¡G¸gÀÙ³¡±N¥»°|Äw³]¤u¬ã°|²£·~¾Ç°|¤§¤u§@¡A¦C¬°¦]À³²£·~µ²ºcÂ૬¡A´£