5月22日,美國商務部宣布將北京計算機科學研究中心、奇虎360、哈爾濱工業大學、哈爾濱工程大學、云從科技等33家中國公司和機構列入了“實體清單”。隨后在6月初,哈爾濱工業大學和哈爾濱工程大學的師生反應無法使用MATLAB了,一時間引起國內熱議。
知乎上關于“如何看待哈工大、哈工程受美國商務部[實體名單]影響,被禁止使用MATLAB商業軟件”的問題,截止到目前有4075個關注,以及416萬的瀏覽量。
圖:知乎上關于MATLAB被禁用影響的問答。(來源:知乎)
說到MATLAB,可能大多數人并不熟悉。但對于現在的工科生來說,MATLAB已經成為必備神器,其重要性可能與office有得一拼,已經滲透到數值計算、機械化工、建模仿真、汽車航空、電力能源等學術研究和工業制造領域。
自從MATLAB被禁用后,不少人也開始擔心,CAD、SOLIDWORSK、UNITY3DMAX、ANSYS這些軟件在未來也會被禁用嗎?對于這個問題,大家的心里都沒有底。
雖然沒有MATLAB,數值計算和可視化等領域可以采用免費的Python、Octave來暫時替代;航天軌道計算和任務規劃等領域可以使用General Mission Analysis Tool來應急;信號處理和無線電等領域可以使用GNU Radio;機器人仿真領域則可以使用Robot Operating System,看起來好像影響不大,但是這里的軟件沒有一款是中國的軟件,而且維護開源社區的中堅力量基本上也是以外國人為主,所以押寶開源社區其實也并不那么靠譜。
因此,在問答種有個名為Truffer的答主,在回答種表示替代MATLAB的國產軟件已經在路上了。且表示半年內就能實現MATLAB科學計算與圖形顯示的70%,一年內100%全部實現;3年內完全實現Simulink;100%自主版權源代碼;無需#openGL#等組件支持的三維、四維圖形顯示。短期內將在周全性(需要積累)、高性能并行計算(需要廠家支持)、專業的擴展工具箱(第三方支持,大家一起努力)等方面會稍微落后,不過足以應付大家90%的日常科研需求。他承諾,至少在10%的功能,比Matlab更好用、易用。
該答主的回答一時引起了知乎網友的高度關注,目前已經有8999人點贊了該回答。里面有鼓勵的、也有質疑的。有的已經通過答主獲得了他在回答中所說的源代碼并進行了分析。
圖:Truffer在知乎中的回答。
Truffer背后的企業是誰?
在知乎關于Matlab 被禁的問題里,這家軟件公司展示了 Truffer 的實力:Truffer 完全基于C#編寫,100% 自主版權源代碼,無需 openGL 等組件即可支持三維、四維圖形顯示。
該軟件背后的公司是北京聯高軟件開發有限公司,據其官網顯示,該公司成立于2002年,位于北京海淀高科技園區,屬于高科技企業、雙軟企業,獨立自主創新的《VNUC數控加工仿真軟件》是歷屆全國數控技能大賽指定仿真軟件,《多可文檔管理系統》行銷全國各行各業,裝機量10萬+,此外,還有《聯高固定資產管理系統》和《聯高小工具》系列免費小軟件。
通過天眼查還可以看到,該公司的注冊資本位300萬人民幣,人員規模小于50人,參保人數為14人。
該公司目前擁有1項“基于社交網絡的應急疏散裝置和終端”的發明專利,該專利的申請公布日為2016年8月10日。此外,它還擁有11項軟件著作權。
圖:天眼查顯示的北京聯高公司信息。
Truffer到底是什么?
根據北京聯高在其官網上公布的軟件開發團隊成員介紹,成員主要有三名資歷豐富的“資深程序員”,他們分別有30年、20年和23年的編程經驗。遺憾的是,該公司并沒有公布這些經驗豐富的“資深程序員”的具體照片和中文名。
圖:北京聯高軟件開發有限公司官網公布的軟件開發團隊成員。
那在這些“資深程序員”操刀下的Truffer軟件現在到什么程度了呢,先看一下它的部分源碼樹:
圖:Truffer軟件的部分源碼樹。
可以看到這個架構設計和MATLAB部分功能還是很貼近,核心在于矩陣的一些運算。根據官方發布的數據來看,核心運算都能夠完成,并且畫圖的效果非常不錯。
由于Truffer還未完全成熟,公司表示短期內會在周全性、高性能并行計算、專業的擴展工具箱等方面落后于MATLAB,需要更多第三方的支持,不過Truffer足以應付大家90%的日常科研需求。
現在Truffer已經能滿足數值擬合的基本功能。比如獲取了一些符合伽馬分布的數據點,通過擬合曲線算出α和β數值。
還有簡單物體的三維有限元計算,支持拷貝或粘貼OBJ格式的三維物體點線面數據,點擊并運行稀疏矩陣求解,即可自動保存數據到文件。比如自主三維渲染得到洛克希德SR-71飛機的仿真圖。
圖:通過Truffer三維渲染得到的洛克希德SR-71飛機的仿真圖。
在這一部分功能里,官方表示三維顯示核心是自主知識產權的,沒有openGL,也沒有用到DirectX。
Truffer官方在回應的時候也勾畫了一下現行軟件的使用場景。
第一個是用試驗數據繪制曲線,導出公式;科研人員獲得了一些數據,希望對其進行畫圖擬合。第二個是三維有限元計算(簡單物體);就是解稀疏矩陣。
網友是如何評價這個軟件的?
看到能夠有國內企業站出來勇敢宣布自己可以做出像樣的工業軟件來,特別是能夠替代MATLAB這樣的神器時,多少還是有點讓人激動的。其中不少人對這個軟件還是有很大的期待的。知乎網友們紛紛留下郵箱,申請第一批試用。
根據網友接收到的源碼,Truffer的三個源文件分別是CMatrix.cs,Complex.cs,Matrix.cs,三份文件大小分別是42K、16K和39K。按照Truffer所說,分別是復數矩陣、復數和實數矩陣的基本運算。
有匿名人士在回答中指出,Truffer的這些文件是極其不完整的,沒有實現矩陣運算的基本功能,在效率方面也極其低下,不能作為科學計算庫使用。而且Truffer并沒有實現矩陣求逆、SVD分解、QR分解和特征值等基本操作。
甚至連Truffer已經實現的內容,在可擴展性、易用性方面也令人擔憂。其一,矩陣的設計中不包含stride,broadcast,view等功能,只是單純的二維數組,不能擴展到n>2維的情況。
從目前常見的numpy、Matlab、Octave、tensorflow、pytorch這些庫來看,使用n維數組是一個基本的要求,因為數組的reshape、permutation都是科學計算中的常規操作,vectorize是常用的加速方法。他能想到的只支持二維數組的庫是Eigen3,但Eigen3有其特殊性所在:它是C++的庫,而C++的循環代價極低,所以可以由使用者來進行循環。Eigen3付出的代價就是代碼簡潔性降低。Truffer作為一個意圖取代Matlab并以簡單好用為目標的軟件,沒有使用n維數組而使用二維數組,實在是有些令人驚訝。
因此,這位網友的結論是Truffer目前還挑不起替代MATLAB的大梁。
也有來自哈爾濱工業大學的王霖瑋同學表示,大家不要太苛刻,不妨給他們一些時間試試看。
結語
老實說,Truffer也并不是完全沒有機會,MATLAB不也是從1個人開始慢慢做起來的嗎?想當年,MathWorks在1984年成立時,只有1名員工。第一筆收入是1985年賣給了MIT10個Matlab版權,收入500美元。MathWorks公司早期很不起眼,有個玩笑稱它前7年員工數每一年翻一番,1984年1個員工,1985年2個員工,1986年4個員工,直到7年后的1991年也才只有128個員工。和今天很多初創公司相比,這個成長速度就像是蝸牛了。但是他們力出一孔,圍繞著Matlab不斷增加功能,使Matlab成為一個行業領先的工具軟件。1997年,MathWorks的營業額達到了5000萬美元,380名員工。如今2019年MathWorks公司營業額是10億美元,3000多員工,全球有400多萬用戶。雖然從營業額看并不大,但其實這種模式更值得學習——不斷積累,把一項技術做到極致,成為某個細分領域的隱形冠軍。
未來,希望國內也能多出現一些這樣不斷積累,把一項技術做到極致的企業。
-
matlab
+關注
關注
182文章
2963瀏覽量
230168 -
工業軟件
+關注
關注
2文章
182瀏覽量
15996 -
哈工大
+關注
關注
0文章
13瀏覽量
5804
發布評論請先 登錄
相關推薦
評論