提供了當代硬件,我想知道什麼是我可以有效地(例如在1個CPU週期)perfrom按位操作的位陣列的最大尺寸。例如,對於64位處理器,我假設答案只是64.這是真的嗎?我還能在GPU上獲得多少資金?如果我想構建一個簡單的ASIC,或者我能得到多少?最多可以有多少位有效地執行按位操作?
0
A
回答
1
1325 MHz的RX550可以以893千兆整數/秒的速率對整數進行按位運算。這意味着每秒28.5 tera bits。將其劃分爲時鐘頻率,
每個週期21581位(該GPU中只有512個內核,每個執行32位整數計算均值每個週期32 * 512 = 16384位,但也有浮點單位,已被用來模擬整數運算達到每個週期21.6 kbit,也許還有一些其他未知單位也可以工作(例如64位內核幫助任何按位操作))
但是當然總會有比CPU更高的延遲,如果數據需要通過pci-e橋接,則會降至4GB/s,這意味着每秒32千兆比特。這比1核心CPU慢。它的重要性是每位完成多少計算。如果僅僅是1次操作,那麼發送到GPU也無濟於事。如果每位有超過50個操作,則應將其發送到GPU或FPGA。
測試內核(OpenCL的):
__kernel void bitwise(__global int16 * data)
{
int16 pData=data[get_global_id(0)];
int16 pData2=pData&&1234123;
for(int i=0;i<25;i++)
{
pData|=(pData^55 && pData^120);
pData2|=(pData2^55 && pData2^120);
}
data[get_global_id(0)]=pData&pData2;
}
測試緩衝液是128M整數數組。
相關問題
- 1. 這個操作碼有多少位?
- 2. 邏輯地址中有多少位?
- 3. 有效位圖操作
- 4. 計算有多少用戶有權限執行x操作?
- 5. 我可以對byte []執行按位操作嗎?
- 6. 有效地執行多重比較
- 7. 有位操作
- 8. 單位對多位的c位操作
- 9. 按位操作地址
- 10. MySQL計算用戶在執行操作前有多少任務
- 11. 在Android中有多少種方法可以找到位置...?
- 12. 有人可以向我解釋ARM按位操作嗎?
- 13. 如何使用GPGPU高效地執行加載和按位操作?
- 14. iOS如何有效地執行cgimage的旋轉(最多125幀)?
- 15. 函數最多有多少行?
- 16. 按位操作
- 17. postgresql可以執行多少連接?
- 18. Python中的多位操作
- 19. 有多少種方法可以在win32中執行C++
- 20. 4位有多少個單詞
- 21. asp.net中sessionid的位數有多少
- 22. 每位員工有多少名經理?
- 23. Node.js:字符串中有多少位?
- 24. 半字節中有多少位?
- 25. 可能對SQL Server中的1000位數字執行按位操作?
- 26. 可擴展哈希 - 最高有效位
- 27. 有符號整數的按位操作
- 28. 獲取只有一個操作位串的第一有效位的位置
- 29. 按位操作的操作
- 30. 有沒有辦法在AGAL中進行按位移動操作?