2009-12-26 24 views
5

我是GPU編程的新手,我使用brook +語言在ATI Stream Processor上進行強力RAR密碼恢復,但是我發現用brook +語言編寫的內核沒有允許任何調用正常的函數(內核函數除外),我的問題是:在GPU上使用ATI Stream處理器恢復RAR密碼

1)如何在這種情況下使用unrar.dll(unrar存檔文件)API?這是編程RAR密碼恢復的唯一方法嗎?

2)使用GPU的crack和ElcomSoft軟件怎麼樣,它們是如何工作的?

3)該程序中GPU(ATI Stream處理器或CUDA)內的功能究竟扮演什麼角色?

4)nVidia/CUDA技術比ATI/brook +語言更容易/更靈活?

回答

2

1)unrar.dll是一個已編譯的動態鏈接庫。這些在CPU上執行。 GPU具有完全不同的機器代碼和非常不同的執行模型,因此它們不能運行dll。

你可以嘗試通過事件實現從GPU到CPU的回調,或者在GPU上構建一個x86解釋器,但這些幾乎肯定會比在CPU上運行時慢。

使用unrar.dll不是編程RAR密碼恢復的唯一方法。你可以改爲從頭構建自己的CPU和GPU代碼。

2)他們通過讓CPU代碼明確要求某些GPU代碼在GPU上運行來工作。

3)我不確定。我猜想雖然它有一個GPU程序可以嘗試許多不同的組合,並且可以從並行運行中受益。

4)CUDA比brook +更成熟。 brook +對於簡單的任務可能同樣簡單,但並不像功能完備。對於新項目,大多數人現在會選擇OpenCL +。

(我不確定你打算做什麼,但以上都不可能使任何陰險。)