Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
CUDAÖ®Òì¹¹¼ÆËãÓëCUDA
 
  3353  次浏览      27
 2018-9-4
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚÍøÂ磬ÎÄÕÂÖ÷Òª½éÉÜÁËCUDAÕâÖÖ¸ßЧµÄÒì¹¹¼ÆËãÆ½Ì¨£¬²¢ÇÒ¸ÅÀ¨ÁË¿ÉÄÜ»áÓöµ½µÄÎÊÌâºÍʹÓõ½µÄ¹¤¾ß¡£

Òì¹¹¼ÆËã

Òì¹¹¼ÆË㣬Ê×ÏȱØÐëÁ˽âʲôÊÇÒì¹¹£¬²»Í¬µÄ¼ÆËã»ú¼Ü¹¹¾ÍÊÇÒì¹¹£¬ÉÏÎÄÊéÎÒÃǽ²¹ý¼ÆËã»ú¼Ü¹¹ÁË£¬¾ÍÊÇΪÁËÒý³öÒì¹¹µÄ¸ÅÄ°´ÕÕÖ¸Á»®·Ö»òÕß°´ÕÕÄÚ´æ½á¹¹»®·Ö£¬µ«ÊÇÎÒ¾õµÃÖ»ÒªÁ½Æ¬CPUÐͺŲ»Ò»Ñù¾ÍÓ¦¸Ã½ÐÒì¹¹£¨Õâ¸öÏë·¨Ïȱ£Áô£¬¶Ô´í²»È·¶¨£©¡£

GPU±¾À´µÄÈÎÎñÊÇ×öͼÐÎͼÏñµÄ£¬Ò²¾ÍÊǰÑÊý¾Ý´¦Àí³ÉͼÐÎͼÏñ£¬Í¼ÏñÓиöÌØµã¾ÍÊDz¢ÐжȺܸߣ¬»ù±¾ÉÏÒ»¶¨¾àÀëÒâÍâµÄÏñËØµãÖ®¼äµÄ¼ÆËãÊǶÀÁ¢µÄ£¬ËùÒÔÊôÓÚ²¢ÐÐÈÎÎñ¡£

GPU֮ǰÊDz»¿É±à³ÌµÄ£¬»òÕß˵²»¶ÔÓû§¿ª·ÅµÄ£¬È˼ұ¾À´ÊÇ×öͼÐμÆËã¿ØÖÆÏÔʾÆ÷µÄ£¬ËäÈ»¶ÔÓû§²»¿É±à³Ì£¬µ«ÊÇÄãÖ»Òª°ÑÓ²¼þÂô¸øÁËÎÒ£¬¾ÍÓɲ»µÃÄãÁË£¬È»ºó¾ÍÓÐhacker¿ªÊ¼Ïë°ì·¨¸øGPU±à³Ì£¬À´°ïÖúËûÃÇÍê³É¹æÄ£½Ï´óµÄÔËË㣬ÓÚÊÇËûÃÇÑо¿×ÅÉ«ÓïÑÔ»òÕßͼÐδ¦ÀíÔ­ÓïÀ´ºÍGPU¶Ô»°¡£ºóÀ´»ÆÀϰ巢ÏÖÁËÕâ¸öÊǸöÐµĹ¦Äܰ¡£¬È»ºó¾ÍÈÃÈË¿ª·¢ÁËÒ»Ìׯ½Ì¨£¬CUDA£¬È»ºóÉî¶Èѧϰ»ðÁË£¬Ë³´ø×Å£¬CUDAÒ²»ðµ½±¬Õ¨¡£

¸Õ¸Õ×îÐÂÏûÏ¢£¬Ó¢Î°´ïа汾GPU¼Ü¹¹»á±»ÃüÃûΪTuring£¬Ò»Ë¿ÐÀ·¢×ÔÄÚÐÄÉî´¦µØ¾´ÄÇЩΪÊÀ½ç½ø²½×ö³öÁ˽ܳö¹±Ï×µÄÈËÃÇ£¬ËûÃÇÊÇÈËÀàδÀ´µÄÏ£Íû¡£

x86 CPU+GPUµÄÕâÖÖÒì¹¹Ó¦¸ÃÊÇ×î³£¼ûµÄ£¬Ò²ÓÐCPU+FPGA£¬CPU+DSPµÈ¸÷ÖÖ¸÷ÑùµÄ×éºÏ£¬CPU+GPUÔÚÿ¸ö±Ê¼Ç±¾»òÕß̨ʽ»úÉ϶¼ÄÜÕÒµ½¡£µ±È»³¬¼¶¼ÆËã»ú´ó²¿·ÖÒ²²ÉÓÃÒì¹¹¼ÆËãµÄ·½Ê½À´Ìá¸ßÍÌÍÂÁ¿¡£

Òì¹¹¼Ü¹¹ËäÈ»±È´«Í³µÄͬ¹¹¼Ü¹¹ÔËËãÁ¿¸ü´ó£¬µ«ÊÇÆäÓ¦Óø´ÔӶȸü¸ß£¬ÒòΪҪÔÚÁ½¸öÉ豸ÉϽøÐмÆË㣬¿ØÖÆ£¬´«Ê䣬ÕâЩ¶¼ÐèÒªÈËΪ¸ÉÔ¤£¬¶øÍ¬¹¹µÄ¼Ü¹¹Ï£¬Ó²¼þ²¿·Ö×Ô¼ºÍê³É¿ØÖÆ£¬²»ÐèÒªÈËΪÉè¼Æ¡£

Òì¹¹¼Ü¹¹

¾ÙÒ»¸öÎÒÓõŤ×÷Õ¾µÄ¹¹³É£¬ÎÒʹÓõÄÊÇһ̨ intel i7-4790 CPU¼ÓÉÏÁ½Ì¨Titan x GPU¹¹³ÉµÄ¹¤×÷Õ¾£¬GPU²åÔÚÖ÷°åµÄPCIe¿¨¿ÚÉÏ£¬ÔËÐгÌÐòµÄʱºò£¬CPUÏñÊÇÒ»¸ö¿ØÖÆÕߣ¬Ö¸»ÓÁ½Ì¨TitanÍê³É¹¤×÷ºó½øÐлã×Ü£¬ºÍÏÂÒ»²½¹¤×÷°²ÅÅ£¬ËùÒÔCPUÎÒÃÇ¿ÉÒÔ°ÑËü¿´×öÒ»¸öÖ¸»ÓÕߣ¬Ö÷»ú¶Ë£¬host£¬¶øÍê³É´óÁ¿¼ÆËãµÄGPUÊÇÎÒÃǵļÆËãÉ豸£¬device¡£

ÉÏÃæÕâÕÅͼÄÜ´óÖ·´Ó¦CPUºÍGPUµÄ¼Ü¹¹²»Í¬¡£

×óͼ£ºÒ»¸öËĺËCPUÒ»°ãÓÐËĸöALU£¬ALUÊÇÍê³ÉÂß¼­¼ÆËãµÄºËÐÄ£¬Ò²ÊÇÎÒÃÇÆ½Ê±ËµËĺ˰˺˵ĺˣ¬¿ØÖƵ¥Ôª£¬»º´æÒ²ÔÚÆ¬ÉÏ£¬DRAMÊÇÄڴ棬һ°ã²»ÔÚÆ¬ÉÏ£¬CPUͨ¹ý×ÜÏß·ÃÎÊÄÚ´æ¡£

ÓÒͼ£ºGPU£¬ÂÌɫС·½¿éÊÇALU£¬ÎÒÃÇ×¢ÒâºìÉ«¿òÄڵIJ¿·ÖSM£¬ÕâÒ»×éALU¹«ÓÃÒ»¸öControlµ¥ÔªºÍCache£¬Õâ¸ö²¿·ÖÏ൱ÓÚÒ»¸öÍêÕûµÄ¶àºËCPU£¬µ«ÊDz»Í¬µÄÊÇALU¶àÁË£¬control²¿·Ö±äС£¬¿É¼û¼ÆËãÄÜÁ¦ÌáÉýÁË£¬¿ØÖÆÄÜÁ¦¼õÈõÁË£¬ËùÒÔ¶ÔÓÚ¿ØÖÆ£¨Âß¼­£©¸´ÔӵijÌÐò£¬Ò»¸öGPUµÄSMÊÇû°ì·¨ºÍCPU±È½ÏµÄ£¬µ«ÊǶÔÁËÂß¼­¼òµ¥£¬Êý¾ÝÁ¿´óµÄÈÎÎñ£¬GPU¸ü¸ãЦ£¬²¢ÇÒ£¬×¢Ò⣬һ¸öGPUÓкöà¸öSM£¬¶øÇÒÔ½À´Ô½¶à¡£

CPUºÍGPUÖ®¼äͨ¹ýPCIe×ÜÏßÁ¬½Ó£¬ÓÃÓÚ´«µÝÖ¸ÁîºÍÊý¾Ý£¬Õⲿ·ÖÒ²ÊǺóÃæÒªÌÖÂÛµÄÐÔÄÜÆ¿¾±Ö®Ò»¡£

Ò»¸öÒì¹¹Ó¦Óðüº¬Á½ÖÖÒÔÉϼܹ¹£¬ËùÒÔ´úÂëÒ²°üÀ¨²»Ö¹Ò»²¿·Ö£º

Ö÷»ú´úÂë

É豸´úÂë

Ö÷»ú´úÂëÔÚÖ÷»ú¶ËÔËÐУ¬±»±àÒë³ÉÖ÷»ú¼Ü¹¹µÄ»úÆ÷Â룬É豸¶ËµÄÔÚÉ豸ÉÏÖ´ÐУ¬±»±àÒë³ÉÉ豸¼Ü¹¹µÄ»úÆ÷Â룬ËùÒÔÖ÷»ú¶ËµÄ»úÆ÷ÂëºÍÉ豸¶ËµÄ»úÆ÷ÂëÊǸôÀëµÄ£¬×Ô¼ºÖ´ÐÐ×Ô¼ºµÄ£¬Ã»°ì·¨½»»»Ö´ÐС£

Ö÷»ú¶Ë´úÂëÖ÷ÒªÊÇ¿ØÖÆÉ豸£¬Íê³ÉÊý¾Ý´«ÊäµÈ¿ØÖÆÀ๤×÷£¬É豸¶ËÖ÷ÒªµÄÈÎÎñ¾ÍÊǼÆËã¡£

ÒòΪµ±Ã»ÓÐGPUµÄʱºòCPUÒ²ÄÜÍê³ÉÕâЩ¼ÆË㣬ֻÊÇËÙ¶È»áÂýºÜ¶à£¬ËùÒÔ¿ÉÒÔ°ÑGPU¿´³ÉCPUµÄÒ»¸ö¼ÓËÙÉ豸¡£

NVIDIAĿǰµÄ¼ÆËãÆ½Ì¨£¨²»ÊǼܹ¹£©ÓУº

Tegra

Geforce

Quadro

Tesla

ÿ¸öƽ̫Õë¶Ô²»Í¬µÄÓ¦Óó¡¾°£¬±ÈÈçTegraÓÃÓÚǶÈëʽ£¬GeforceÊÇÎÒÃÇÆ½Ê±´òÓÎÏ·Óõ½£¬TeslaÊÇÎÒÃÇ×òÌì×âµÄÄÇ̨ÌÚÑ¶ÔÆµÄ£¬Ö÷ÒªÓÃÓÚ¼ÆËã¡£

ÉÏÃæÊǸù¾ÝÓ¦Óó¡¾°·ÖÀàµÄ¼¸ÖÖÆ½Ì¨¡£

ºâÁ¿GPU¼ÆËãÄÜÁ¦µÄÖ÷Òª¿¿ÏÂÃæÁ½ÖÖÈÝÁ¿ÌØÕ÷£º

CUDAºËÐÄÊýÁ¿£¨Ô½¶àÔ½ºÃ£©

ÄÚ´æ´óС£¨Ô½´óÔ½ºÃ£©

ÏàÓ¦µÄÒ²ÓмÆËãÄÜÁ¦µÄÐÔÄÜÖ¸±ê:

·åÖµ¼ÆËãÄÜÁ¦

ÄÚ´æ´ø¿í

nvidia×Ô¼ºÓÐÒ»Ì×ÃèÊöGPU¼ÆËãÄÜÁ¦µÄ´úÂ룬ÆäÃû×Ö¾ÍÊÇ¡°¼ÆËãÄÜÁ¦¡±£¬Ö÷񻂿·Ö²»Í¬µÄ¼Ü¹¹£¬ÔçÆä¼Ü¹¹µÄ¼ÆËãÄÜÁ¦²»Ò»¶¨±Èмܹ¹µÄ¼ÆËãÄÜÁ¦Ç¿

ÕâÀïµÄTesla¼Ü¹¹£¬ÓëÉÏÃæµÄTeslaƽ̨²»Í¬£¬²»Òª»ìÏý£¬Ò»¸öÊÇÆ½Ì¨Ãû×Ö£¬Ò»¸öÊǼܹ¹Ãû×Ö

·¶Àý

CPUºÍGPUÏ໥ÅäºÏ£¬¸÷ÓÐËù³¤£¬¸÷ÓÐËù¶Ì£¬²»ÄÜ˵GPU¾ÍÊDZÈCPUÇ¿ÕâÖÖÓ×Öɵϰ£º

µÍ²¢ÐÐÂß¼­¸´ÔӵijÌÐòÊʺÏÓÃCPU

¸ß²¢ÐÐÂß¼­¼òµ¥µÄ´óÊý¾Ý¼ÆËãÊʺÏGPU

Ò»¸ö³ÌÐò¿ÉÒÔ½øÐÐÈçÏ·ֽ⣬´®Ðв¿·ÖºÍ²¢Ðв»·Ö£º

CPUºÍGPUÏ̵߳ÄÇø±ð£º

CPUÏß³ÌÊÇÖØÁ¿¼¶ÊµÌ壬²Ù×÷ϵͳ½»ÌæÖ´ÐÐỊ̈߳¬Ïß³ÌÉÏÏÂÎÄÇл»»¨ÏúºÜ´ó

GPUÏß³ÌÊÇÇáÁ¿¼¶µÄ£¬GPUÓ¦ÓÃÒ»°ã°üº¬³ÉǧÉÏÍòµÄỊ̈߳¬¶àÊýÔÚÅŶÓ״̬£¬Ïß³ÌÖ®¼äÇл»»ù±¾Ã»ÓпªÏú¡£

CPUµÄºË±»Éè¼ÆÓÃÀ´¾¡¿ÉÄܼõÉÙÒ»¸ö»òÁ½¸öÏß³ÌÔËÐÐʱ¼äµÄÑÓ³Ù£¬¶øGPUºËÔòÊÇ´óÁ¿Ị̈߳¬×î´ó·ù¶ÈÌá¸ßÍÌÍÂÁ¿

CUDA£ºÒ»ÖÖÒì¹¹¼ÆËãÆ½Ì¨

CUDAƽ̨²»Êǵ¥µ¥Ö¸Èí¼þ»òÕßÓ²¼þ£¬¶øÊǽ¨Á¢ÔÚNvidia GPUÉϵÄÒ»ÕûÌׯ½Ì¨£¬²¢À©Õ¹³ö¶àÓïÑÔÖ§³Ö

CUDA C ÊDZê×¼ANSI CÓïÑÔµÄÀ©Õ¹£¬À©Õ¹³öһЩÓï·¨ºÍ¹Ø¼ü×ÖÀ´±àдÉ豸¶Ë´úÂ룬¶øÇÒCUDA¿â±¾ÉíÌṩÁË´óÁ¿APIÀ´²Ù×÷É豸Íê³É¼ÆËã¡£

¶ÔÓÚAPIÒ²ÓÐÁ½ÖÖ²»Í¬µÄ²ã´Î£¬Ò»ÖÖÏà¶Ô½»¸ß²ã£¬Ò»ÖÖÏà¶Ôµ×²ã¡£

CUDAÇý¶¯API

CUDAÔËÐÐʱAPI

Çý¶¯APIÊǵͼ¶µÄAPI£¬Ê¹ÓÃÏà¶ÔÀ§ÄÑ£¬ÔËÐÐʱAPIÊǸ߼¶APIʹÓüòµ¥£¬ÆäʵÏÖ»ùÓÚÇý¶¯API¡£

ÕâÁ½ÖÖAPIÊÇ»¥³âµÄ£¬Ò²¾ÍÊÇÄãÖ»ÄÜÓÃÒ»¸ö£¬Á½ÕßÖ®¼äµÄº¯Êý²»¿ÉÒÔ»ìºÏµ÷Óã¬Ö»ÄÜÓÃÆäÖеÄÒ»¸ö¿â¡£

Ò»¸öCUDAÓ¦ÓÃͨ³£¿ÉÒÔ·Ö½âΪÁ½²¿·Ö£¬

CPU Ö÷»ú¶Ë´úÂë

GPU É豸¶Ë´úÂë

CUDA nvcc±àÒëÆ÷»á×Ô¶¯·ÖÀëÄã´úÂëÀïÃæµÄ²»Í¬²¿·Ö£¬ÈçͼÖÐÖ÷»ú´úÂëÓÃCд³É£¬Ê¹Óñ¾µØµÄCÓïÑÔ±àÒëÆ÷±àÒ룬É豸¶Ë´úÂ룬Ҳ¾ÍÊǺ˺¯Êý£¬ÓÃCUDA C±àд£¬Í¨¹ýnvcc±àÒ룬Á´½Ó½×¶Î£¬ÔÚÄں˳ÌÐòµ÷ÓûòÕßÃ÷ÏÔµÄGPUÉ豸²Ù×÷ʱ£¬Ìí¼ÓÔËÐÐʱ¿â¡£

×¢Ò⣺ºËº¯ÊýÊÇÎÒÃǺóÃæÖ÷Òª½Ó´¥µÄÒ»¶Î´úÂ룬¾ÍÊÇÉ豸ÉÏÖ´ÐеijÌÐò¶Î

nvcc ÊÇ´ÓLLVM¿ªÔ´±àÒëϵͳΪ»ù´¡¿ª·¢µÄ¡£

CUDA¹¤¾ßÏäÌṩ±àÒëÆ÷£¬Êýѧ¿â£¬µ÷ÊÔÓÅ»¯µÈ¹¤¾ß£¬µ±È»CUDAµÄÎĵµÊÇÏ൱ÍêÉÆµÄ£¬¿ÉÒÔÈ¥²éÔÄ£¬µ±È»ÔÚÎÒÃÇ»ù±¾Á˽â»ù´¡½á¹¹µÄÇé¿öÏ£¬Ö±½ÓÉÏÀ´¿´Îĵµ»á±äµÃ»úе»¯¡£

¡°Hello World!¡±

Hello WorldÊÇËùÓгÌÐò³õѧÕß¶¼·Ç³£Ï²»¶µÄ£¬Ö®Ç°GPUÊDz»ÄÜprintfµÄ£¬ÎÒµ±Ê±¾ÍºÜ㣬GPUÊǸö×öÏÔʾµÄÉ豸£¬ÎªÉ¶²»ÄÜÊä³ö£¬ºóÀ´¾Í¿ÉÒÔÖ±½ÓÔÚCUDAºËÀïÃæ´òÓ¡ÐÅÏ¢ÁË£¬ÎÒÃÇдÏÂÃæ³ÌÐò

/*
*hello_world.cu


*/


#include<stdio.h>


__global__ void hello_world(void)


{


printf("GPU: Hello world!\n");


}


int main(int argc,char **argv)


{


printf("CPU: Hello world!\n");


hello_world<<<1,10>>>();


cudaDeviceReset();//if no this line ,it can not output hello world from gpu


return 0;

ÍêÕû´úÂë¿ÉÒÔ´ÓÒÔÏÂÏîÄ¿ÖÐclone£º

https://github.com/Tony-Tan/CUDA_Freshman

¼òµ¥½éÉÜÆäÖм¸¸ö¹Ø¼ü×Ö

__global__

ÊǸæËß±àÒëÆ÷Õâ¸öÊǸö¿ÉÒÔÔÚÉ豸ÉÏÖ´Ðеĺ˺¯Êý

hello_world<<<1,10>>>();

Õâ¾ä»°CÓïÑÔÖÐûÓС¯<<<>>>¡¯ÊǶÔÉ豸½øÐÐÅäÖõIJÎÊý£¬Ò²ÊÇCUDAÀ©Õ¹³öÀ´µÄ²¿·Ö¡£

cudaDeviceReset();

Õâ¾ä»°Èç¹ûûÓУ¬Ôò²»ÄÜÕý³£µÄÔËÐУ¬ÒòΪÕâ¾ä»°°üº¬ÁËÒþʽͬ²½£¬GPUºÍCPUÖ´ÐгÌÐòÊÇÒì²½µÄ£¬ºËº¯Êýµ÷Óúó³ÉÁ¢¿Ì»áµ½Ö÷»úÏ̼߳ÌÐø£¬¶ø²»¹ÜGPU¶ËºËº¯ÊýÊÇ·ñÖ´ÐÐÍê±Ï£¬ËùÒÔÉÏÃæµÄ³ÌÐò¾ÍÊÇGPU¸Õ¿ªÊ¼Ö´ÐУ¬CPUÒѾ­Í˳ö³ÌÐòÁË£¬ËùÒÔÎÒÃÇÒªµÈGPUÖ´ÐÐÍêÁË£¬ÔÙÍ˳öÖ÷»úÏ̡߳£

Ò»°ãCUDA³ÌÐò·Ö³ÉÏÂÃæÕâЩ²½Ö裺

·ÖÅäGPUÄÚ´æ

¿½±´ÄÚ´æµ½É豸

µ÷ÓÃCUDAÄں˺¯ÊýÀ´Ö´ÐмÆËã

°Ñ¼ÆËãÍê³ÉÊý¾Ý¿½±´»ØÖ÷»ú¶Ë

ÄÚ´æÏú»Ù

ÉÏÃæµÄhello worldÖ»µ½µÚÈý²½£¬Ã»ÓÐÄÚ´æ½»»»¡£

CUDA CÄÑô£¿

CPUÓëGPUµÄ±à³ÌÖ÷񻂿±ðÔÚÓÚ¶ÔGPU¼Ü¹¹µÄÊìϤ³Ì¶È£¬Àí½â»úÆ÷µÄ½á¹¹ÊǶԱà³ÌЧÂÊÓ°Ïì·Ç³£´óµÄÒ»²¿·Ö£¬Á˽âÄãµÄ»úÆ÷£¬²ÅÄÜд³ö¸üÓÅÃÀµÄ´úÂ룬¶øÄ¿Ç°¼ÆËãÉ豸µÄ¼Ü¹¹¾ö¶¨Á˾ֲ¿ÐÔ½«»áÑÏÖØÓ°ÏìЧÂÊ¡£

Êý¾Ý¾Ö²¿ÐÔ·ÖÁ½ÖÖ

¿Õ¼ä¾Ö²¿ÐÔ

ʱ¼ä¾Ö²¿ÐÔ

Õâ¸öÁ½¸öÐÔÖʸæËßÎÒÃÇ£¬µ±Ò»¸öÊý¾Ý±»Ê¹Óã¬Æä¸½½üµÄÊý¾Ý½«»áºÜ¿ì±»Ê¹Ó㬵±Ò»¸öÊý¾Ý¸Õ±»Ê¹Óã¬ÔòËæ×Åʱ¼ä¼ÌÐøÆä±»ÔÙ´ÎʹÓõĿÉÄÜÐÔ½µµÍ£¬Êý¾Ý¿ÉÄܱ»Öظ´Ê¹Óá£

CUDAÖÐÓÐÁ½¸öÄ£ÐÍÊǾö¶¨ÐÔÄܵģº

ÄÚ´æ²ã´Î½á¹¹

Ï̲߳ã´Î½á¹¹

CUDA CдºËº¯ÊýµÄʱºòÎÒÃÇֻдһС¶Î´®ÐдúÂ룬µ«ÊÇÕâ¶Î´úÂë±»³ÉǧÉÏÍòµÄÏß³ÌÖ´ÐУ¬ËùÓÐÏß³ÌÖ´ÐеĴúÂë¶¼ÊÇÏàͬµÄ£¬CUDA±à³ÌÄ£ÐÍÌṩÁËÒ»¸ö²ã´Î»¯µÄ×éÖ¯Ị̈߳¬Ö±½ÓÓ°ÏìGPUÉϵÄÖ´ÐÐ˳Ðò¡£

CUDA³éÏóÁËÓ²¼þʵÏÖ£º

Ïß³Ì×éµÄ²ã´Î½á¹¹

ÄÚ´æµÄ²ã´Î½á¹¹

Õϰ­Í¬²½

ÕâЩ¶¼ÊÇÎÒÃǺóÃæÒªÑо¿µÄ£¬Ị̈߳¬ÄÚ´æÊÇÖ÷ÒªÑо¿µÄ¶ÔÏó£¬ÎÒÃÇÄÜÓõ½µÄ¹¤¾ßÏ൱·á¸»£¬NVIDIAΪÎÒÃÇÌṩÁË£º

Nvidia Nsight¼¯³É¿ª·¢»·¾³

CUDA-GDB ÃüÁîÐе÷ÊÔÆ÷

ÐÔÄÜ·ÖÎö¿ÉÊÓ»¯¹¤¾ß

CUDA-MEMCHECK¹¤¾ß

GPUÉ豸¹ÜÀí¹¤¾ß

×ܽá

±¾ÎÄ´Ó×ÜÌåÉÏ´ÖÂԵĽéÉÜÁËCUDAÕâÖÖ¸ßЧµÄÒì¹¹¼ÆËãÆ½Ì¨£¬²¢ÇÒ¸ÅÀ¨ÁËÎÒÃǵĽ«ÒªÓöµ½µÄ¿àÄѺÍʹÓõ½µÄ¹¤¾ß£¬µ±ÎÒÃÇѧ»áµÄCUDA£¬ÄÇô±àд¸ßЧÒì¹¹¼ÆËã¾Í»áÏñÎÒÃÇд´®ÐгÌÐòÒ»ÑùÁ÷³©¡£

 

 
   
3353 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤