當前位置:編程學習大全網 - 編程軟體 - CUDA中如何分配線程的復雜度相對較低。

CUDA中如何分配線程的復雜度相對較低。

並行性非常復雜,很難估計。跟很多因素有關,不能只靠SP的多少來判斷。壹個SM可以同時運行多達48個SP。它們執行相同的指令或休眠,但這並不意味著它們中的每個負責壹個塊或線程操作。實際上,線程是以經線為單位執行的,壹個經線有32個線程。壹個SM最多可以有48個warps處於活動狀態,但是因為在壹個GPU時鐘時間內可以執行的指令非常有限,所以這些warps並不是全部並行執行,而是隨著GPU時鐘來回切換。這個機制非常復雜,是GPU自己部署的。因此,很難比較這種並行度。壹般不這樣考慮並行操作。

如果是單個GPU優化問題,就是比較程序的吞吐量和GPU的峰值吞吐量之差,看優化的程度好不好,越接近最大吞吐量越好。如果只做壹個加速的可能性,那就比較加速比。

在實際編程中,妳只需要考慮CUDA編程指南中提到的優化方法,比如增加占用率,指令級並行等等。

  • 上一篇:C語言數組類編程
  • 下一篇:sns是什麽意思
  • copyright 2024編程學習大全網