2016-04-27 52 views
-2

有人請向我解釋一下雙人字形在 Kernel<<<32*SM, 256>>>(1 << 20, 2.0, x, y); 做什麼?cuda雙人字形如1 << 20?

+3

我建議刪除'cuda'和'gpgpu'標籤,並添加'c'標籤。注意這個問題是關於'<<'運算符的。 –

+0

我認爲它實際上更好地保持它tbh,認爲會有人在cuda中提出這個問題,並不確定是否他們認爲它是這樣,這將給他們一個確認,如果有人正在搜索c偏移,他們將很容易找到數以千計的線程。只是我的意見tho,如果你們認爲我應該改變我會 –

回答

0

它有點變化。 1轉了20次。沒有具體的cuda。這是一個c/C++符號

+0

大聲笑我認爲這是別的,這一切都有道理,現在謝謝 –

3

triple-chevron是啓動內核的語法 - 調度它由GPU執行。請參閱CUDA Programming Guide(第3.2.2節)中的第一個示例。 double chevron只是通常的左移運算符 - 它不是CUDA相關的,它是內核函數的參數(即參數是1048576或2^20)。我們知道,無論如何,不​​要指望任何其他奇怪的人字形組合都意味着什麼任何CUDA特定的。)

+0

謝謝你的幫助,我只是讀了一些代碼,沒有機器測試所以我只需要在這裏問一下,tbh三個雪佛龍是一個壞主意,我不知道他們爲什麼選擇它,在我的程序中,我只是將它們變成了更好看的東西。 –

+0

@RockyZhang:我的一位前同事說他認爲他們可能已經做到了獲得專利或其他東西。順便說一下,如果你願意,你可以基本避免它,見[this](https://bitbucket.org/eyalroz/kernel-tester/src/1dfc1880efb1a1e59e1d5929222f78cb7a4a9c1e/src/cuda/kernel_launch_wrapper.cuh?at=default&fileviewer=file-視圖 - 默認)很好的模板包裝。 – einpoklum

+1

三層雪佛龍專利?真?更可能的解釋是他們需要一個在常規C(和C++)中無效的標記,同時仍然易於解析。 –

相關問題