我一直在關注OpenCL的一些教程,很多時候人們用FLOPS來講話。維基百科確實解釋了這個公式,但並沒有說明它的實際含義?例如,1光年= 9.4605284×10^15米,但它意味着光在一年內走過的距離。同樣,FLOP是什麼意思? Answer到類似的問題,說100次IOPS的代碼如何計算FLOPS/IOPS以及它的用途?
for(int i = 0; i < 100; ++i)
忽略初始化,我看到100個的增量業務,所以有100IOPS。但我也看到100個比較操作。那爲什麼不是200IOPS?那麼FLOPS/IOPS計算中包含哪些類型的運算符?
其次我想知道你會通過計算算法的FLOPS來做什麼? 我這樣問,因爲該值是特定於CPU時鐘速度和核心的。 在這個舞臺上的任何指導將是非常有幫助的。
你沒有引用你鏈接到的整個答案,它直接回答你的問題:「這將是100個浮點運算,以及100個整數運算,以及一些(100?)控制流/分支/比較操作「。我是'整數'而不是'增量',作者將比較放在不同的類別中。 – AShelly
但是答案在100之後有一個問號。那麼這意味着什麼?爲什麼分類與「i <100」的操作不同。這是不是整數操作呢? –
沒有優化就會有100個比較和100或101個跳轉。通過優化,很難肯定地說(編譯器是否展開?),但這並不重要,因爲沒有人試圖測量「CF/B/C」OPS。 – AShelly