回覆列表
-
1 # 碼農波波
-
2 # 繁星落石
想從演算法邏輯上改善這個問題是可能的,比如減少讀寫操作,減少中間變數,只在最後的部分進行真正的計算之類的,這些最佳化方法實際上已經應用在移動架構以及大部分程式設計環境中了。
但是很多時候高功耗是由於晶片滿負荷執行導致的,降低功耗只能從設計下手,或者從製程下手,畢竟演算法是上層的東西,硬體行為還是由底層決定的,演算法影響比較小。
不要問這問題,這就相當於我想造宇宙飛船如何解決飛船與空氣摩擦生熱的問題一樣。首先連空氣動力都沒學好,上天都是個難事,就想造宇宙飛船。
怎樣從演算法邏輯解決晶片高能耗的問題?首先你懂晶片的指令集嗎?不懂的話先去學習。然後是什麼演算法導致了晶片能耗高?你知道什麼演算法嗎?不懂得話去研究。
演算法為啥導致晶片高能耗?首先要對原先演算法要解決得問題,比如NLP演算法解決了啥問題,你需要重新建立數學模型,然後去解決。不過我估計你也解決不了,畢竟這些演算法都是科學家們研究幾十年的成果。其次是資料結構懂嗎?學會資料結構可以最佳化下現有的演算法。
所以綜上所述,發熱就發熱吧。裝個散熱器就解決的問題,你研究一輩子真不一定比別人的好。