Category: 科技通識

Linux 的手機作業系統: Linux Touch

July 20, 2024 | 科技通識

Android 和 iOS 是全球最受歡迎的兩大手機作業系統,二者各有優勢,Android的隱私權一向備受質疑,Apple 的 iOS 在這方面稍好一些,但它是一個「封閉式花園」,使用體驗缺乏靈活性。正因如此,許多人都在期侍更「開放」和更注重「隱私」的作業系統出現,而最近Linux 的手機終於出現較成熟的作業系統——Ubuntu Touch。 Ubuntu Touch 最初由 Canonical 公司所開發,該公司一直支援Ubuntu GNU/Linux 桌上電腦、筆記本電腦和侍服器服務;2017 年這公決司定放棄將其操作系統移植到智能手機和平板電腦的設想,可是,一群獨立開發人員則組成了 UBPorts 團隊,以接替 Canonical 停止的工作。 2018 年,該團隊將基本操作系統從 Ubuntu 15.04 更新到 Ubuntu 16.04 LTS,但 Canonical 已經結束了對該操作系統的維護,因此開發人員在過去幾年一直致力於對 Ubuntu 20.04 的更新。 最近,這團隊終於發布第一個基於 Ubuntu 20.04 LTS “Focal Fossa” 的Ubuntu Touch 穩定版本,可用於少數運行Linux 內核的手機,包括Fairphone 4、Vollaphone、Vollaphone X 和 Vollaphone 22。 由於Android 機採用經改動過的Linux 內核,是故Ubuntu Touch 亦可使用在具有Android 驅動程式的智能手機上,有興趣的使用者可上UBPorts 官網瀏覧以下頁面,看看自己閒置的手機型號是否可支援Ubuntu Touch ,從而一試這個Linux 手機版作業系統。 https://devices.ubuntu-touch.io/ 如何下載這作業系統於可支援的手機上,則可參考以下這條YouTube 短片: 當然,大家會擔心這個Linux 作業系統沒有足夠的應用軟件,Ubuntu Touch 可讓你透過安裝Waydroid藉容器運行某些 Android 的應用軟件,如何安裝Waydroid可瀏以下連結,片中明顯要使用者有一定的操作Linux 經驗,不過,玩得Linux phone,我相信都是programmers嘛。

繼續閱讀

一個AI 後端平台的基本結構 ——— 理解AMD收購Silo AI 的前提技術知識

July 11, 2024 | 科技通識

我們先以日常所用的desktop 電腦作為例子,加以埋解後,才再談AI 後端平台,你就會明明白白。 你枱上那部電腦,起始就是底板那粒CPU ,它就是這部機器的大腦;然而,你要跟它溝通,基本上還須配備三套關鍵軟件,首先是控制CPU 電路的指令集架構,然後就是跟指令集溝通的作業系統,亦即我們常用的 Microsoft windows 或 Apple Mac OS ,和普遍用於侍服器的Linux 系統,最後就是應用軟件,如 office 、chrome或photoshop 等等。 一個AI 後端平台的結構也差不多是這樣,只是大腦不是CPU ,而是專業於AI 的GPU;同樣地,有它相關的指令集架構、作業系統和應用軟件,只是這些軟件並不像家用電腦般如此標準化和普及化:大家不是用windows,就是用Mac OS ,而是需要程式師計師按實際情況而編寫,甚至一併設計,獨特性較強。 NVIDIA在人工智能之所以如此成功,除了它長期深耕GPU外,更重要的是它提供了可編程的軟件架構。早在2007年,NVIDIA發佈了CUDA編程模型,軟件開發人員可以使用CUDA在英偉達的GPU上進行編程;換言之,NVIDIA 頗像Apple,提供了一個封閉式的作業系統,讓程式師可專事使用它的GPU 硬件。 這跟AMD 所開發的GPU 不同,它是開源的,各社區或企業都可以自行開發相關的應用軟件、作業系統、甚至乎指令集架構、或一併設計,AMD 沒有在這方面加以壟斷。 而Silo AI正正就是開發這些軟件的初創企業。 有了上述概念,我們才會明白AMD 在商業策略上的佈局,蘇媽笑裏藏刀,要比老黃深不可測。

繼續閱讀

CPU(中央處理單元)同GPU(圖形處理單元)既分別

May 26, 2023 | 科技通識

既然NVIDIA 輝哥因專事開發GPU 而收成正果,我地就了解下GPU跟CPU 呢兩隻晶片有咩分別! CPU 就好比一間大企業既高管,佢要有一定的應變策動力,曉得面對外來的多樣化衝擊,呢d問題往往同時出現,咁落到呢位高管嗰腦度,佢又識要判斷事件的緩急先後,然後將最重要既問題處理左先,再逐一解決其他事件。CPU 都係扮演緊呢種「大腦」的功能,先將收到既多樣化外來指令(從RAM 取出來)放在晶片中既「暫存器(Cache)」,「消化」下呢d指定,然後再逐一按緩急輕重將指令傳到計算核心度解決。整個流程執行由晶片中所謂「控制單元」所支配,好比高管腦袋裏的策動力。 咁去到公司較基層既工作,大有可能係較單純的工序,譬如一d標準化既車工,工作性質每日如是,唔使工人用腦應變和策劃,但所要求的產量極多,咁公司就應該搵人專注做呢樣野,叫佢唔駛多心諗處理其他事,集中做死嗰樣野,狂做得啦!你都會覺得,做呢樣既人,腦袋都應該比較簡單,人亦比較單純嘛。GPU 晶片就係咁啦,佢無複雜既「控制單元」同Cache ,但就整合左幾千個,甚至上萬個計算核心,你可以咁諗,即係嗰基層員工安裝多十幾隻機械臂喺佢身上,密做當三番!但用腦判斷既野就極少! 以前,GPU只係分工出泥專門處理影像數據,所謂「顯卡」,譬如打機講求畫質,需專門處理,GPU就大派用場。 但因為GPU 既專門運算,特別適合密碼破解,所以後來比特幣礦機粒晶片都係用GPU,因為所謂「挖礦」,都係一條心透過不斷運算搵個nounce 值出泥,極適合用GPU;至於而家,大家都知啦,GPU亦非常適合巨量資料並行處理(當然要再將粒晶片既結構改動下);所以,人工智能同機器學習的普及,GPU的需求就急增,成就了輝哥! 其實,PU唔只兩隻,運算分工愈泥愈細,乜PU都有,BPU、DPU、EPU……. 真係26個字母都唔夠用。 當然,今期主角係GPU,有排未到ZPU。

繼續閱讀

終於明白晶片怎生成 !

February 15, 2023 | 科技通識

這段日子,因為想學寫一些關於科技產品的推介(雖然我知chatGPT可代為效勞,但人工智能寫出泥既缺乏個性,非我所愛),就發覺自己對晶片的知識十分疲弱,於是下工夫研究。 現在,我終於明白一塊晶片怎生成(令我突然很想學chemistry),亦明白到甚麼是處理器的指令集(就是最底層那幾個跟CPU 溝通的指令),又知道處埋器的微架構就是那粒CPU的電路邏輯,加埋指令集就是所謂的CPU核心了(我一直只知Linux 的bash 能跟核心溝通,但甚麼是核心,我不明白),原來不只有CPU和GPU,更有其他字母為首的乜PU ,將CPU 某些處理任務專門化出來,提升效能,更了解到C程式語言在編繹中如何跟二進制程式語言扯上關係。 另一方面,處理器有X86和ARM 之分,很有趣,又是一個屬closed system而另一個則是open system,X86較封閉,以INTEL為首幾間大公司所壟斷,而且CPU 是自家生產;ARM則較開放,授權賣出所設計的指令集甚至微架構,但它本身並不生產CPU,其他生產商代勞,最出名既當然是台積電了! 同一個微架構,亦可以進一步微調一些電路設計以平𧗾效能與功耗(即係食唔食電),以針對不同的使用電腦的目的(如剪片或打機),所以我們會看到筆電有很多型號的處理器,甚麽i7乜乜乜乜,Ryzen 乜乜乜乜等等。 這些東西,我終於有感了,這重要,是我跟人工智能最大的分別;我有感,我的文字才生動—-唯一的本錢勝過chatGPT!

繼續閱讀