211本985碩研一,想深入C++和FPGA但怕方向沖突,兩者能結合發(fā)展嗎?
?今天給大家分享的是一位粉絲的提問,211本985碩研一,想深入C++和FPGA但怕方向沖突,兩者能結合發(fā)展嗎?
接下來把粉絲的具體提問和我的回復分享給大家,希望也能給一些類似情況的小伙伴一些啟發(fā)和幫助。
同學提問:
您好,我是天坑專業(yè)211本計算機985碩研一的學生,目前導師給的方向是在FPGA上面部署神經(jīng)網(wǎng)絡。之前主要是有一些C++的基礎,但是因為本科專業(yè)的原因和研究生沒用到所以沒有深入。目前就是只會用Python進行神經(jīng)網(wǎng)絡的訓練和數(shù)據(jù)處理,還有一些基礎的FPGA代碼能力。預計未來會在導師的項目里完整的參與一個芯片的開發(fā),但是就這個方向而言(新開的,目前基本上都是深度學習方向,幾乎無老師指導),目前組里會的人寥寥無幾。我以后不知道往什么方向繼續(xù)深入走下去可以保持競爭力,個人自學能力還算可以,但是可以FPGA和C++都深入學下去,但是不知道這兩個可以結合嗎,還是兩個不同的方向,希望老師給我答疑解惑。
Yt回答:
天坑專業(yè)本科985的計算機碩,從目前這個背景上面是具備一個大廠資格的,至少投出去他是有面試機會的。然后目前導師給的方向是在FPGA上部署神經(jīng)網(wǎng)絡,這個FPGA部署神經(jīng)網(wǎng)絡,請注意啊,它是手段,不是目的。手段就是你用FPGA部署神經(jīng)網(wǎng)絡解決具體問題。之前有過C++的基礎,但是因為本科專業(yè)的原因和研究生沒有用的很深入,目前只會點Python和神經(jīng)網(wǎng)絡數(shù)據(jù)處理。我認為目前你當下的這個提升你的代碼能力,后面找工作的時候,如果你比如all in FPGA,認為這個結果它不一定會很好。你就看每一屆的應屆生,你就比如??蜕厦婵匆幌滤麄兊哪莻€offer,看有沒有FPGA的嗎?很少很少。因為對于應屆生找工作的時候不會看重你FPGA,更多看重你的開發(fā)能力,因為你后面找的時候,找的叫做軟件工程師,里面都不一定會有FPGA這個詞,能理解吧?所以在這個過程我認為FPGA可以是為了讓你去完成你學校的課題,讓你能夠順利畢業(yè),你在做的過程中用C/C++或者加FPGA能夠去解決具體問題就ok了。
目前組內(nèi)會的人也寥寥無幾,不知道往哪個方向走,自學能力可以,是否可以考慮FPGA和C/C++都深入學下去。這個肯定是可以的,首先我認為在目前來說,你可以給自己構想一下,后面你簡歷里可以把FPGA的元素體現(xiàn)出來,然后在Linux上面用C/C++做一兩個項目,即使你用FPGA對這種神經(jīng)網(wǎng)絡加速也行,或者說采用FPGA對這種視頻進行壓縮也行,或者說對圖像進行解析也行,反正用FPGA解決具體問題。
但不知道這兩個可以結合嗎。剛剛已經(jīng)講到了,你比如用圖像,圖像的壓縮或者編解碼相關的都可以用到FPGA。這里面語言也用到C/C++,F(xiàn)PGA也一樣可以用的上。這就跟你講了,在Linux上面用C/C++做一兩款產(chǎn)品,做到上線落地可用,后面所有的方向都投。說不定你比如這種Java的崗位你也有機會,比如后面美團給你面試機會,你一樣,美團大部分的java崗位你一樣可以投。包括像比如像騰訊的崗位,包括像華為的崗位,你一樣可以投。在這里我認為你強調Linux上面用C/C++結合FPGA做一兩個項目,不要單純的用FPGA,這樣會使你的路走的很窄。
總結:
1. FPGA只是工具,別當飯吃
你導師給的FPGA部署神經(jīng)網(wǎng)絡方向,本質是用硬件加速解決實際問題,比如圖像壓縮、視頻編解碼這些具體場景,但別把自己框死在FPGA上——應屆生崗位里純FPGA的極少,大廠更看重通用開發(fā)能力(比如C++和系統(tǒng)設計)。
2. 就業(yè)策略:C++為主,F(xiàn)PGA當加分項
- 主攻Linux C++開發(fā):做兩個能落地的項目(比如用C++寫高并發(fā)服務器,或者搞個分布式系統(tǒng)),這類技能適配90%的軟件崗(Java崗也能投) 。
- FPGA包裝成“硬件加速經(jīng)驗”:比如在簡歷寫“基于FPGA的CNN推理優(yōu)化,延遲降低30%”,既能體現(xiàn)技術深度,又不限制崗位選擇 。
3. 項目實操:結合FPGA+C++
- 圖像/視頻方向:用FPGA做實時視頻流壓縮(H.264編碼)+ C++寫調度服務,既練硬件又練軟件
- 工業(yè)場景:參考Cadence的案例,用FPGA加速工廠質檢系統(tǒng)的圖像處理,C++寫業(yè)務邏輯 。
- 開源項目:在GitHub復刻Xilinx的Vitis HLS案例(比如手勢識別),直接掛鉤企業(yè)級應用。
4. 避坑指南:別掉進FPGA細分賽道
- 純FPGA崗的雷點:要求精通Verilog、Xilinx全家桶、高速接口開發(fā),競爭不過科班芯片設計專業(yè)的人 。
- 二線選擇:如果非要走硬件,優(yōu)先投“FPGA+算法優(yōu)化”崗(比如自動駕駛公司的傳感器融合方向),這類崗位對C++要求更高 。
5. 長期發(fā)展:技術+業(yè)務雙線
- 技術線:深耕分布式系統(tǒng)(C++)+ 硬件加速經(jīng)驗(FPGA),往架構師方向發(fā)展。
- 業(yè)務線:選醫(yī)療/工業(yè)等有硬件需求的領域,用FPGA經(jīng)驗吃行業(yè)紅利(比如醫(yī)療器械的圖像處理優(yōu)化) 。
計算機相關專業(yè)就業(yè)求職學習路線/offer選擇/職業(yè)規(guī)劃建議
工種浩:程序員yt?(學習就業(yè)困惑?我們來為你答疑解惑?。┟赓M投稿 投稿必回
#職業(yè)規(guī)劃##計算機#解決計算機相關專業(yè)就業(yè)/面試/技術提升等問題解答(投稿必回)