我正在考慮使用Clyther進行高性能任務。使用python編寫OpenCL內核是令人興奮的,但我想知道性能差距。什麼大小的Clyther開銷?
Clyther擅長什麼任務?不好? Clyther生成的內核是否良好?
是否有可能找到一些基準?
我正在考慮使用Clyther進行高性能任務。使用python編寫OpenCL內核是令人興奮的,但我想知道性能差距。什麼大小的Clyther開銷?
Clyther擅長什麼任務?不好? Clyther生成的內核是否良好?
是否有可能找到一些基準?
正如文檔所述,CLyther的主要入口點是它的clyther.task
和clyther.kernel
裝飾器 - 一旦函數裝飾了其中一個函數,函數將在調用時編譯爲OpenCL。
CLyther是Python語言子集的編譯器。它將你的Python子集代碼編譯成OpenCL,所以內核的實際運行時間不會(或不應該)在與OpenCL的接口之間有很大不同。 CLyther的實際開銷(與Python的所有接口一樣)來自調用OpenCL函數或CLyther/Python和OpenCL之間的數據移動。
基準顯示CLyther的performance可在documentation中找到。源代碼tarball包含基準程序的C++和FORTRAN版本,一個拉普拉斯方程求解器,因此您可以使用它們自己再現基準結果。個人而言,我相信你可以在大多數需要OpenCL計算的問題上有效地使用CLyther。
我只能找到一個基準:http://srossross.github.com/Clyther/performance_python.html#performance-results – Natan