※ 引述《Apache (為寺川愛美瘋狂打call)》之銘言:
: C/C++的發展是不是比較不直觀
: 畢竟大宗缺前後端App都不會直接用到
: 出路跟別人完全不同=>嵌入式 EDA 高頻交易...
: 感覺很吃domain knowledge 尤其硬體
: 剩下很多缺台灣好像也沒有?
先講結論,如果只會"c++",而其他甚麼都不會的話,目前確實很難就業
搞影像的現在還是很缺會c++的人才
只是光靠c++這門語言其實沒有多大的意義
簡單來說好了,這是我朋友的親身經歷
他是做影像的
有一次他們公司就是要弄一個類似 poisson image editng的功能(類似)
https://www.cs.jhu.edu/~misha/Fall07/Papers/Perez03.pdf
所以他要做的事情:
1.首先弄懂甚麼叫做poison image editing
把poison image editing的數學弄好弄滿
2.用c++去實現這篇paper的功能,cpu版的
3.主管看了之後覺得不錯,想要弄成平行版本的(用opencl來實作),讓效能更好
4.最後,因為會放到Nvidia上的機器,所以再改成CUDA
在整個過程裡面,他表示,會一點c++的語法只是最基本(基本中的基本)
因為光是要弄懂數學,就得先花上一小段時間,然後要如何用程式語言來描述
這些線性代數的運算,這才是核心,因為會扯到後來優化的部分,如果只是抄網路上的
程式碼,這對於平行化並沒有太多的幫助
他就表示,光處理這樣的案子,大概會需要下面的技能樹
1.c++(根本,但不用說非常精通,但要能用c++完成線性代數的運算程度)
2.線性代數 微積分 (!!!!!!!很重要!!!!!看不懂就掰掰惹)
3.OpenCL的API與設計概念
4.CUDA的API與設計概念
這跟弄web其實差很多,弄web需要弄懂微積分或是線性代數嗎? 我自己也不是很確定
但是從我朋友的經驗來看,會需要用到c++的工作,其實門檻都不低,會大量需要程式語言
之外的技能,大概是這樣
:
作者:
Apache (阿帕契)
2020-08-16 21:45:00並行的痛點不在語法 是那些奇奇怪怪的alu cache bus
微積分線代是什麼很難的東西嗎...大二程度的數學而已
作者:
plsmaop (plsmaop)
2020-08-16 22:22:00現在要加速就是 io 啦
作者: AMG6000 2020-08-17 07:35:00
會這麼多 還不是領22k
作者:
ccode (廢柴)
2020-08-17 07:56:00大學的線代只是基礎,要靠自學的進階技巧不少
AI需要C++是因為要寫OpenCL或cuda 本體還是要會ML或者為了效能用C++寫 本體是要會大型系統架構優化
C++精通是不是可以直接去微軟上班了 根本不用擔心
好奇如果懂數學但只會python 找的到影像領域工作嗎
面試都會遇到說線性代數不難,要他寫成c code就現出原型。呵呵呵.....上面那篇論文把數學寫成code就是大工程,簡單?呵呵用嘴巴講當然簡單。
作者:
iiiii (I take 5)
2020-08-17 13:00:00號稱數學精通,可能核心的線代操作也是用已經有的api
有讀碩士的這種東西早就都寫爛了, 工程能力才需要培養
作者:
labbat (labbat)
2020-08-17 21:06:00還以為撰寫SVD分解是機器學習基礎 結果到碩班都是非線性運算也就只能叫叫api了
作者: sforzando (小康) 2020-08-18 09:21:00
手刻SVD沒有經驗的話也會弄上好一陣子吧
乾現在一堆做影像菜鳥看到這種論文我看是先畫label還跟你弄數學哈哈哈