spu

    1熱度

    2回答

    我試圖編寫一個排序算法來重新排序雙重問題處理器(單元SPU)的指令。獲得處理指令的雙重問題的一種方法不應該依賴於它之前的指令(另一個涉及單獨的管道,但我關注的是同一管道中的指令)。我知道這對於編譯器來說太多了,我在搜索時沒有找到我需要的東西。這可以在大多數情況下通過手工完成,但是排序算法應該確保最低的「序列計數」(相互關聯的數量或相關指令)。 我的問題是有這樣或類似的事情嗎?有沒有優化的方法? 簡

    1熱度

    1回答

    我想用手工矢量化一些C代碼,以便加速。爲此(單元處理器或CBE上的SPE),我想使用SIMD數學。代碼最初使用了一些物理矢量計算(速度,加速度等),因此在代碼的某些部分有很多操作,例如: ax=a*vx+b*rx; ay=a*vy+b*ry; az=d*vz+b*rz; 所以在這一點我考慮v程序和r的轉換爲向量(在SPE中,一個載體可含有4個單浮點值),所以在僞代碼它應該是這樣的 vect

    0熱度

    2回答

    我一直在搜索整個手冊,但找不到一個指令指針。我需要這個用於我正在寫的SPU程序。也許它有不同的名字?任何人都可以告訴我如何訪問要執行的指令的地址?在此先感謝您的幫助。 更新:顯然它被稱爲程序計數器,但我如何從我的SPU程序中訪問它?

    1熱度

    2回答

    當我編譯SPU程序,我得到以下編譯錯誤: (.text+0x28): relocation truncated to fit: SPU_ADDR18 against symbol `_end' defined in *ABS* section in spu 是什麼意思? 的錯誤來了,我已經包括在最開始只有經過: #define CACHE_NAME MY_CACHE #define CAC

    1熱度

    2回答

    單元上的正常DMA請求發生在SPU和PPU之間。不過,我讀過可以直接在SPU之間設置DMA。任何人都知道這是如何完成的?