2012-01-29 56 views
0

我正在全局內存中使用環形緩衝區編寫簡單的調試/日誌記錄功能。問題是在OpenCL中缺少類似snprintf的功能。會有什麼建議?要使用一些嵌入式實現,並擴展矢量類型的格式規範?OpenCL中的字符串格式?

(請不要回復該字符串OPS是低效和OpenCL是專爲計算,我知道。)

回答

1

一些CPU實現支持printf等,這樣有可能幫助,如果您的實現不依賴於unsported工作組維度。當我使用OpenCL時,我通常會在主機端進行驗證,即實現緩衝區讀取算法,然後使用工作項的1:1映射將數據寫回結果緩衝區。這可以很容易地確定哪個線程在結果緩衝區中寫入給定索引的內容。用已知數據初始化客戶端緩衝區可能是一個好主意(例如,在執行內核之前將主機緩衝區複製到reuslt緩衝區中)以避免混淆。

我意識到這不是一個非常技術性的答案,但我希望它有所幫助。