我是GPU編程的新手。我閱讀了一些解釋基本概念的材料。但是,我想知道是否有可能將一組指令或整個算法/二進制文件分配給特定的ALU,這樣我就可以確定這些指令僅由該ALU執行(因此,繞過自動處理並行化的系統)?使用CUDA/OpenCL爲指定的ALU分配指令/算法?
我必須在GPU上對各個ALU「進行基準測試」,瞭解它們之間的潛在計算延遲。因此,我想爲幾個特定的ALU分配一組(類似的)指令,測量執行這組指令所需的時間,並比較結果(如果有任何差異)。
一般來說,我想檢查某些競爭條件來源的GPU。我首先想到的是不同ALU的執行速度之間的微小差別。也許你們知道其他潛在的競爭條件。但是,由於我的目標對於典型的GPU使用(parllelization等)來說是非常直接的,所以我很難看到如何使用常用工具在低級別訪問個別ALU。
最好的問候,
的GPU具有單個經向調度到,在我所知,你沒有訪問。例如,對於費米體系結構,該設備具有千兆線程調度程序,該程序將工作分派給不同的流式多處理器以及將變形分派給各個核心的雙變換調度程序。但這對用戶來說是透明的。你可以做什麼來分析單獨或序列的指令是使用NVTX跟蹤庫,它可以幫助您註釋部分代碼,然後通過Parallel Nsight跟蹤進行分析。 – JackOLantern