1
我在pycuda中有一個可用的conjungate漸變方法實現,我想優化它。它使用一個自寫,直到在一個gpuarray.dot()
通話收斂支出矩陣向量乘法和pycuda本地gpuarray.dot
和gpuarray.mul_add
功能pycuda.gpuarray.dot()在第一次調用時非常緩慢
與kernprof.py/line_profiler
剖析程序返回的最長時間(> 60%)。 (約0.2秒) 以下所有電話gpuarray.dot()
需要約7微秒。所有呼叫都具有相同類型的輸入向量(大小:400雙)
是否有任何理由?我的意思是最後它只是一個常數,但它使分析困難。 我想在pycuda郵件列表中提問。不過,我無法訂閱@ gmail.com地址。如果任何人有一個奇怪的.dot()
行爲的解釋或我無法訂閱該郵件列表,請給我一個提示;)
空閒的GPU經常有一個與其關聯的「啓動延遲」。這可能是由於從睡眠模式喚醒GPU,或者只是與創建GPU CUDA上下文相關的開銷。有多種方法可以緩解這種情況。如果「第一次調用」實際上是代碼中創建GPU上下文的第一件事,那麼這可能是一個可能的解釋。您可能會嘗試在您關心的第一個操作之前創建虛擬GPU操作,然後在任何循環之前進行。 –
FWIW,訂閱該列表確實可以從GMail中工作 - 我想。檢查您的垃圾郵件文件夾中的訂閱確認電子郵件。 –
感謝您的輸入,是的,它在垃圾郵件文件夾中。不應該使用我不能處理接口的郵件提供者。感謝您的不便,併爲此感到抱歉 – user2267896