RISC-V公測(cè)平臺(tái)發(fā)布 · 在SG2042上配置Jupiter+Octave科學(xué)計(jì)算環(huán)境
簡(jiǎn)介
JupyterHub是一個(gè)開源的共享計(jì)算平臺(tái),它為每個(gè)用戶管理一個(gè)單獨(dú)的 Jupyter 環(huán)境, 可以用于學(xué)生班級(jí)、企業(yè)數(shù)據(jù)科學(xué)小組或科學(xué)研究小組。它是一個(gè)多用戶中心,可以生成、管理和代理多個(gè)單用戶Jupyter筆記本服務(wù)器的實(shí)例。GNU Octave是一種采用高級(jí)編程語言的主要用于數(shù)值分析的軟件。Octave有助于以數(shù)值方式解決線性和非線性問題,并使用與MATLAB兼容的語言進(jìn)行其他數(shù)值實(shí)驗(yàn)。它也可以作為面向批處理的語言使用。因?yàn)樗荊NU計(jì)劃的一部分,所以它是GNU通用公共許可證條款下的自由軟件。本期,我們就來試試Jupyter和Octave組成一個(gè)多用戶的科學(xué)計(jì)算平臺(tái)。
實(shí)驗(yàn)材料:
Python 3(如果沒有請(qǐng)先安裝python3)
pip(如果沒有安裝請(qǐng)先安裝python3-pip)
Octave源代碼
一臺(tái)HS-2服務(wù)器
服務(wù)器配置:
CPU:SG2042(64核心)
RAM:32GB硬盤容量:1TB
操作系統(tǒng):Ubuntu 22.10 (GNU/Linux 6.1.31 risCV64)
實(shí)驗(yàn)步驟:
先通過pip安裝JupyterHub、JupyterLab和Jupyter Notebook:
生成配置文件(可以根據(jù)實(shí)際情況對(duì)配置文件進(jìn)行修改):
然后啟動(dòng)jupyterhub:
或后臺(tái)運(yùn)行:
瀏覽器訪問[服務(wù)器地址]:8000即可,訪問后發(fā)現(xiàn)雖然我們看到了JupyerHub在運(yùn)行,但是只有Python3,并沒有Octave選項(xiàng)。

因此,我們還需要安裝Octave和相關(guān)組件。
安裝Octave的方式有兩種:編譯安裝和apt安裝。
方式1:直接使用apt安裝
方式2:編譯安裝
下載Octave源碼包
wget?https://mirror2.sandyriver.net/pub/software/gnu/octave/octave-8.3.0.tar.gz
(如果下載速度慢,可以先提前在自己的電腦上下載好,然后將文件傳到服務(wù)器上)
解壓Octave源碼包
進(jìn)入Octave源碼文件夾

配置:
編譯:
安裝:
運(yùn)行octave shell,如果出現(xiàn)版本號(hào)及提示,就說明安裝成功!

安裝octave-kernel
安裝gnuplot
然后重新啟動(dòng)jupyterhub(如果是后臺(tái)運(yùn)行請(qǐng)先確保已殺滅所有jupyterhub相關(guān)進(jìn)程再重啟):
或者:
然后再次打開瀏覽器訪問[服務(wù)器地址]:8000就可以看到Octave筆記了。

我們選擇Octave新建筆記。畫一個(gè)正弦函數(shù)圖:
效果:

畫個(gè)心形:

其實(shí)Octave不僅可以畫圖,甚至還可以算斐波那契數(shù)列。

甚至是算圓周率:

結(jié)果提示缺少庫。因此我們需要安裝symbolic包。
得益于Octave支持安裝擴(kuò)展包,我們可以利用一些擴(kuò)展包來實(shí)現(xiàn)更多功能,讓Octave變得更加強(qiáng)大。

進(jìn)入Octave Shell后,先更新擴(kuò)展包源,然后再下載并安裝symbolic包:
再重新嘗試運(yùn)行就可以了:

然后分別測(cè)試10、100、1000、10000和100000位:
接下來就是嘗試多用戶了,雖然Jupyterhub可以使用多用戶單個(gè)筆記本管理,但是如果需要實(shí)現(xiàn)多用戶管理,那就需要root賬號(hào)了。
首先切換到root賬號(hào):
輸入密碼后進(jìn)入以root用戶登錄,然后回到家目錄:
安裝相關(guān)包:
新建一個(gè)jupyerhub文件夾:
復(fù)制之前的配置文件(可以根據(jù)自身情況適當(dāng)修改)
或新建配置文件
啟動(dòng)JupyterHub
以后臺(tái)形式啟動(dòng)JupyterHub
但是其他用戶界面里沒有Octave,于是我就直接在root用戶下安裝octave-kernel了。
同時(shí)啟動(dòng)三個(gè)用戶,并計(jì)算Pi,并觀察耗時(shí),確保三個(gè)用戶的Octave都處于Busy狀態(tài)。
結(jié)果如下(精準(zhǔn)到10萬位小數(shù)點(diǎn)):
測(cè)試下來只有零點(diǎn)幾秒的差距,但是相比于單個(gè)用戶下算圓周率耗時(shí)會(huì)久一些。
不僅可以使用Octave筆記,也可以使用Octave命令符(Shift+Enter發(fā)送命令)。

小貼士:
執(zhí)行配置或編譯時(shí),如果提示缺少所需依賴,請(qǐng)先安裝所需依賴然后重新執(zhí)行配置或編譯。運(yùn)行代碼時(shí),如果提示缺少所需依賴,可以先以root身份登錄然后安裝所需依賴,然后再重新啟動(dòng)該各個(gè)用戶的Jupyter服務(wù)器(或直接重啟整個(gè)JupyterHub)即可。
實(shí)驗(yàn)總結(jié):
有了JupyterHub的加持,現(xiàn)在HS-2服務(wù)器可以成為一個(gè)優(yōu)秀的科學(xué)計(jì)算平臺(tái),再配合上Octave,你不僅可以用JupyterHub上用Python跑科學(xué)計(jì)算,你還可以使用Octave完成科學(xué)計(jì)算任務(wù),甚至可以多個(gè)用戶使用同一個(gè)JupyterHub服務(wù)器。
參考資料:
JupyterHub頁面
https://jupyter.org/hub
Octave官網(wǎng)
https://octave.org/
Octave Packages
https://gnu-octave.github.io/packages/
Configuration Reference — JupyterHub documentation
https://jupyterhub.readthedocs.io/en/stable/reference/config-reference.html
正文完
About HS-2
HS-2 RISC-V通用主板是澎峰科技與合作伙伴共同研發(fā)的一款專為開發(fā)者設(shè)計(jì)的標(biāo)準(zhǔn)mATX主板,它預(yù)裝了澎峰科技為RISC-V高性能服務(wù)器定制開發(fā)的軟件包,包括各種標(biāo)準(zhǔn)bencmark、支持V擴(kuò)展的GCC編譯器、計(jì)算庫、中間件以及多種典型服務(wù)器應(yīng)用程序。
HS-2 RISC-V通用主板搭載了一顆國產(chǎn)RISC-V 64核處理器(SG2042)。SG2042是目前已量產(chǎn)的性能最高的RISC-V處理器,主要針對(duì)高性能計(jì)算領(lǐng)域需求設(shè)計(jì),適用于科學(xué)計(jì)算、工程計(jì)算、AI計(jì)算、融合計(jì)算等大算力應(yīng)用場(chǎng)景。

關(guān)于RISC-V公共測(cè)試平臺(tái)

RISC-V高性能處理器公共測(cè)試云平臺(tái) ·快速使用指南,下載鏈接:https://www.kdocs.cn/l/cmnYcyFIlVRx
RISC-V公共測(cè)試云平臺(tái)系列文章
?RISC-V公測(cè)平臺(tái)發(fā)布 ·Stream帶寬完整測(cè)試
?RISC-V公測(cè)平臺(tái)發(fā)布 · 我的世界MohistMC
?RISC-V公測(cè)平臺(tái)發(fā)布 · 第一個(gè)WEB Server“Hello RISC-V world!”
?RISC-V公測(cè)平臺(tái)發(fā)布 ·如何在SG2042上玩轉(zhuǎn)k3s
?“RISC-V成長日記” blog發(fā)布,第一個(gè)運(yùn)行在RISC-V服務(wù)器上的blog?
RISC-V公測(cè)平臺(tái)發(fā)布:如何在SG2042上玩轉(zhuǎn)OpenMPI
RISC-V公測(cè)平臺(tái)發(fā)布:Compiling The Fedora Linux Kernel Natively on RISC-V
?RISC-V公測(cè)平臺(tái)發(fā)布 · Unix Bench完整測(cè)試
RISC-V公測(cè)平臺(tái)發(fā)布 · 使用YCSB測(cè)試SG2042上的MySQL性能
RISC-V公測(cè)平臺(tái)發(fā)布 · 7-zip 測(cè)試
RISC-V公測(cè)平臺(tái)發(fā)布 · CoreMark測(cè)試報(bào)告
RISC-V公測(cè)平臺(tái)發(fā)布 · 數(shù)據(jù)庫在RISC-V服務(wù)器上的適配評(píng)估
RISC-V公測(cè)平臺(tái)發(fā)布 · 在SG2042上配置Jupiter+Octave科學(xué)計(jì)算環(huán)境(本篇)