cutlass進度快照

ijpq發表於2024-03-27

03 Feb 2023 : 最近一週,重新梳理了dnn上rrconv的codegen程式碼,dnn上rrconv fprop全部test跑通。dnn rrconv dgrad不能透過,部分case計算錯誤。rrconv cutlass dgrad全部透過。


2.2號來了,先檢查dgrad的codegen部分程式碼,然後檢查convolution_operation.h中的程式碼。最後檢查dnn的exec邏輯和cutlass中是否一致


2.3: dnn的exec裡面為啥diff,filter,grad的指標值都一樣?是不是在dnn/src/cuda/cutlass/convolution_operation.h:798才初始化的這些指標?看起來在convolution_operation.h中initialize和run都已經是進入到cutlass kernel,如果昨天檢查錯誤不在此,那麼錯誤就在這之前了。檢查引數和指標吧
看起來這個exec中的op->run是直接到了convolution_operation.h中的run

我認為,可以進一步確認cutlass rrconv是否真的正確,因為cutlass上的gt是一個naive,與dnn上的naive實現不同,需要確保其正確性。其次,rrconv cutlass的testcase是否還需要再進一步的豐富?我最後一次測試使用的bias=z=0,matA/matB = gaussian,rin=rout=uniformrng。

【rrconv dgrad錯誤的解決順序】

rrconv cutlass naive正確
rrconv cutlass kernel各種testcase全部正確
rrconv dnn naive 正確
rrconv dnn kernel正確

15 Mar 2023 看下這個GEMM_TN/GEMM_NT具體什麼影響?在DefaultMmaCore@432,這個src雖然是T,但仍然是K維度連續(advancerank=1),這程式碼沒問題?測一下

相關文章