Re: [請益] 純軟往ic演算法易遇到的困難
做過幾年ic影像演算法開發
猜得出你想問什麼
個人覺得主要有三個面向不同於純軟
1. 定點化
沒有另外掛fpu的情況下演算法裡不能有浮點數邏輯運算
位元精度越高運算越貴
可使用的運算子也是有貴有便宜
基本上能用乘法器搭配位元運算就不要用除法器
能用常數乘法器就不要用變數乘法器
能用加法器就不要用乘法器
當然全部能用位元操作取代最好
同時間也要克服精度損失造成的演算法品質下降問題
2. 時間控制
ic產品的功能基本上都有時間性要求
例如監控要求幀率
觸控要求反應
換言之演算法複雜度必須是可控的
不是說不能寫迴圈
但至少不能寫成動態迴圈甚至遞迴
worst case的複雜度決定了演算法做不做得進ic
一個很常見的情況是某個運算必須等不只一路算完才能開始
這時再考慮多路計算結果的同步化
時間控制就更複雜了
3. 記憶體控制
純軟coding的習慣基本上就是memory富翁
中間計算結果想暫存多少就宣告多少
但ic演算法不行給你這樣用
進出ddr會影響整路系統設計
非重要輸出的計算產物不是存sram就是存register
但sram貴register也沒這麼多給你存
所以能同步算完的東西就盡量同步算完
能化簡就化簡
化簡到一次算完最好
以影像演算法來說frame buffer等級的資源是想都不用想了
先考慮你有幾條line buffer能用你才知道演算法能設計多大的濾波器
至於這些知識能不能進業界前先行補強
個人認為
很難也沒什麼必要
這種靠經驗累積的東西不來一場實戰也只是紙上談兵
等你第一次跟rtl工程師開會然後被噴某某邏輯運算合出來面積多大
你自然就會知道要怎麼優化了
那時你大概會產生兩種想法
一個是
馬的我不要做這些cost down的邏輯我要開發高大上演算法然後回到純軟
一個是
咦cost down滿有趣的呀感覺哪裡哪裡還可以再縮面積
時候到了你自然知道自己是哪一種人
--
喜歡錢錢的就選IC
推個精闢
實力決定一切
純軟仔用C的邏輯寫verilog的結果就是一場悲劇
誰說純軟是 memory 富翁,怒噓。
你有考慮過 edge 裝置的心情嗎?
不對,我會碰 edge 代表我會碰硬體,補推回來。
純軟大公司,用戶隨便千萬破億這種等級,記憶體要求
也很嚴格喔。很多後端都要自己改 OS kernel layer。
影像演算法純軟都被DL一統江湖了吧
想不到富翁兩字那麼敏感, 這裡的用辭當然是相對的,
不是說純軟開發毫無記憶體限制, 而是要說兩種產業
都待過的人自然會知道在ic上演算法能用的記憶體資
源相比純軟演算法有多可憐
推
推
推
太精闢了XDD
推
推
推
推
推
推
推
推
內行欸
這些修過大一邏設就有概念了
同行路過推推,非常精闢
推
精闢推
推
謝謝f大精闢的說明~
推
幾年還是幾十年 xd
純軟相較下就真的是記憶體富翁沒錯啊XDD
寫嵌入式系統就是記憶體小康XDDD
認真算是ic快6年, 中間純軟2年多
推
很推這篇
推
推
ic硬體就是要用最少的電晶體實現必要的功能就好,
原文寫的很好
而用在ic上的演算法自然要配合這個目標
嵌入式也有記憶體只有不到1Kbytes的上古MCU還在用
啊~
1、純軟演算法也會遇到沒有fpu的平台。2、高頻交易
就需要去看編譯結果錙銖必較時間效率。3、8051 cos
tdown到極致也沒有記憶體富翁,變數放在哪佔多少記
憶體編出來的code多大都影響成本,還要考慮是否部
分固化在ROM裡對生產成本差距多少。當然你可以說這
不是純軟,但工作上都會用到,如果你要做橫掃市場
的產品,軟體不可能不去考慮硬體的問題,三流產品
可以不用考慮。
內行
22
首Po大家好,小弟四大機械學資工碩, 此篇文主要想請教ic廠演算法具體工作內容,以及資工背景往ic產業會遇到什麼具體瓶頸 , 因小弟目前仍處在職涯摸索的階段,希望發文請益的過程能對這個產業更加理解, 以網路上得到的資訊,演算法的工作內容是撰寫 c model 並交給數位轉成rtl,而演算法X
純軟往ic會遇到的最大困難 就是你之前的學校夠不夠好 科系正不正確而已 verilog說穿了就是比c++簡單 熟c++的要轉verilog根本完全沒難度3
我自己也是從純演算法開發寫C開始闖蕩 現在從比較上層的Python, C/C++到Verilog都寫過 我想你的問題可能會牽扯到很多個問題 1.你可能各語言熟悉度不高 今天同樣一個問題用不同語言實現他的優缺點是什麼
42
[請益] 研替offer 請益各位好, 小弟不才最近面臨職涯選擇問題,想詢問各位前輩的意見。謝謝。 大學碩班是四大CS,碩班是做CV/ML相關領域。已經拿到 ( M / R / 台商純軟) offer , 自己是希望走純軟、演算法,但因為近日外商純軟都人事凍結,想先走研替蹲一年半,再 衝一波外商純軟。26
[請益] 請問為什麼純軟比韌體好玩?常常在這個板上逛的感覺是 普遍大家覺得韌體無聊 似乎純軟比較好玩? 我本身的背景主要是在 Linux kernel 但也有機會碰到 Android middleware 甚至更上層 我覺得他們都是差不多的東西 就是寫code去執行一項任務(演算法) 所以想請問大家為什麼會覺得韌體無聊呢? 主因是?25
[請益] 研替offer請益(M/純軟)各位好,小弟目前手上主要有兩份研替offer在考慮,比較如下: (K: 大M新人價) MTK 地點:新竹 部門:MM18
[請益] Offer 請益各位前輩好,最近新鮮人求職,有一些口頭offer以及有機會的職缺 想詢問大家的意見跟看法,先謝謝大家 背景:四大電信碩,碩論與DL相關,主要做NLP與推薦系統 因實驗室計畫等機會有一些CV相關經驗,所以求職也有找與CV相關職缺 公司 螃蟹 神盾 玩美移動 (訊連) KKLAB (KKBOX)1
[閒聊] 寫演算法年薪200以上嗎小弟不才 不是很了解 只是看到朋友分享的求職cv 期望工作內容 演算法開發