之前沒有接觸過cuda,由於深度學習跟cuda的關係,本篇收集一些相關資料,有個認識,後面一點點學習吧~_~
cuda,全名:compute unified device architecture,是nvidia公司基於圖形處理器gpus(graphics processing units)開發的平行計算平台和程式設計模型,通過cuda可以很方便地使用gpus進行計算。在沒有cuda之前,gpus一般只用來圖形渲染(如通過opengl,directx)。而有了cuda之後,開發人員可以通過呼叫cuda的api進行並行程式設計高效能計算。nvidia公司為了吸引更多的開發人員,對cuda進行了程式語言擴充套件,如cuda c/c++,cuda fortran語言。這可以看作新的程式語言,因為nvidia配置了相應的編譯器。
後面附錄了一些資源鏈結,感覺還不錯,如果有好的學習建議,希望不吝賜教。
(1)《cuda by example an introduction to general purpose gpu programming》
英偉達相關主頁上有pdf和原始碼例項:
(2)《gpu高效能程式設計cuda實戰》
(3)官方文件
(4)《cuda並行程式設計:gpu程式設計指南》
(5)《programming massively parallel processors》
CUDA 學習(二十一) 優化策略6 資源競爭
一 識別瓶頸 分析瓶頸工具 1 visual profiler 對已實現的 進行分析,我們首先可以考慮的就是sdk 中提供的那些分析工具。比如,nvidia visual profile。這是一款多平台的工具。它能指出在我們核心中哪些是錯誤的,並告訴我們該如何改進。2 parallel nsight...
CUDA學習(六十)
排序和併發 裝置執行時的核心啟動順序遵循cuda stream排序語義。在乙個執行緒塊內,所有核心啟動到同乙個流中都會按順序執行。由於同一執行緒塊中的多個執行緒啟動到同乙個流中,流內的排序取決於該塊內的執行緒排程,這可以通過同步原語來控制,例如 syncthreads 請注意,因為流由執行緒塊內的所...
CUDA學習(五十)
格式說明符 至於標準printf 格式說明符的格式為 flags width precision size type 支援以下字段 有關所有行為的完整說明,請參閱廣泛可用的文件 請注意,cuda的printf 將接受標誌,寬度,精度,大小和型別的任意組合,不管它們是否總體上形成有效的格式說明符。換句...