教程: https://zhuanlan.zhihu.com/p/34587739
kernel是CUDA中一個重要的概念,kernel是在device上線程中並行執行的函數
一個kernel所啓動的所有線程稱爲一個網格(grid)
SM(Streaming Multiprocessor),流式多處理器
每個線程塊有包含共享內存(Shared Memory),可以被線程塊中所有線程共享,其生命週期與線程塊一致。
此外,所有的線程都可以訪問全局內存(Global Memory)。還可以訪問一些只讀內存塊:常量內存(Constant Memory)和紋理內存(Texture Memory)
CUDA中使用cudaMallocManaged函數分配託管內存
Q&A:
對於不變的數據只拷貝一次是否可以
c++和c相比cuda編寫哪個容易
共享內存和全局內存:存多份相同的共享vs一份全局 效率方面的影響
核函數調用核函數開銷大嗎