CUDA程式設計注意事項兩則

2021-05-21 13:03:37 字數 523 閱讀 9875

最近開始使用cuda做一些演算法,在這個過程中遇到了一些小問題,記在blog中方便以後查閱。

對演算法的執行時間進行測試的時候,要注意考慮cuda執行時庫初始化的時間

cuda的執行時庫在它的第乙個函式被呼叫的時候初始化執行時庫和裝置等內容,因此第乙個函式的執行時間包含了初始化的時間(在我們的伺服器上大約是3s左右)。所以計算演算法的執行時間時不應該將第乙個函式的執行時間計算在內。如果第乙個函式的執行時間確實應該包含在內,那麼應該在呼叫這個函式之前進行初始化,可以通過呼叫其它的與演算法無關的函式來強迫cuda初始化自己。

系統重啟後找不到裝置

在我們的linux伺服器上安裝的cuda存在乙個問題是,如果重啟伺服器,並且以非root帳號登入,那麼這時執行cuda程式將出現錯誤,並且提示找不到支援cuda的裝置。不知道是不是cuda的驅動程式沒有載入。乙個解決辦法是切換到root並且執行一下cuda程式(比如devicequery),然後切換到普通帳號就可以正常使用了,不過應該有更好的解決辦法,以後再看看。

iPhone 記憶體釋放注意事項兩則

iphone記憶體管理中,涉及到malloc在堆上分配記憶體時,需要使用對應的free釋放堆記憶體,而不是單純的release相關的物件了事,如下 inte ce memorytestprojviewcontroller uiviewcontroller public nsmutablearray ...

程式設計注意事項

1.動態輸出表頭或資料 每次輸出之前,請先清空表頭以及資料再新增。2.一般資料都要分頁,請直接加上分頁 3.重複性資料的校驗 介面接收資料 1.介面接收資料,一般型別接受 例如 string 列印日誌,之後再轉換成自己想要的格式json等。需求評審 問題一 大面問題 1.是什麼?2.怎樣玩?業務流程...

VBA程式設計 注意事項

1 在自定義函式前加上 private 關鍵字進行宣告,該函式將不會出現在 excel的 貼上函式 對話方塊中,但仍然可以在公式中運用它們。如果是專門為其他的 vba過程開發的自定義函式,則應該使用 private 關鍵字進行宣告。2 通常,使用者自定義函式後,在 貼上函式 對話方塊中將會出現在 使...