簡介
JupyterHub是一個開源的共享計算平臺,它為每個用戶管理一個單獨的 Jupyter 環(huán)境, 可以用于學生班級、企業(yè)數(shù)據(jù)科學小組或科學研究小組。它是一個多用戶中心,可以生成、管理和代理多個單用戶Jupyter筆記本服務器的實例。GNU Octave是一種采用高級編程語言的主要用于數(shù)值分析的軟件。Octave有助于以數(shù)值方式解決線性和非線性問題,并使用與MATLAB兼容的語言進行其他數(shù)值實驗。它也可以作為面向批處理的語言使用。因為它是GNU計劃的一部分,所以它是GNU通用公共許可證條款下的自由軟件。本期,我們就來試試Jupyter和Octave組成一個多用戶的科學計算平臺。
實驗材料:
pip(如果沒有安裝請先安裝python3-pip)
Octave源代碼
一臺HS-2服務器
服務器配置:
CPU:SG2042(64核心)RAM:32GB硬盤容量:1TB
操作系統(tǒng):Ubuntu 22.10 (GNU/Linux 6.1.31 riscv64)
實驗步驟:
先通過pip安裝JupyterHub、JupyterLab和Jupyter Notebook:
pip3 install jupyterhub jupyterlab notebook
生成配置文件(可以根據(jù)實際情況對配置文件進行修改):
jupyterhub --generate-config
然后啟動jupyterhub:
jupyterhub
或后臺運行:
nohup jupyterhub &
瀏覽器訪問[服務器地址]:8000即可,訪問后發(fā)現(xiàn)雖然我們看到了JupyerHub在運行,但是只有Python3,并沒有Octave選項。
因此,我們還需要安裝Octave和相關組件。
安裝Octave的方式有兩種:編譯安裝和apt安裝。
方式1:直接使用apt安裝
sudo apt install octave
方式2:編譯安裝
下載Octave源碼包
wgethttps://mirror2.sandyriver.net/pub/software/gnu/octave/octave-8.3.0.tar.gz
(如果下載速度慢,可以先提前在自己的電腦上下載好,然后將文件傳到服務器上)
解壓Octave源碼包
tar -xzvf octave-8.3.0.tar.gz
進入Octave源碼文件夾
cd octave-8.3.0/
配置:
./configure
編譯:
make -j64(線程數(shù)根據(jù)實際情況來設置)
安裝:
sudo make install
運行octave shell,如果出現(xiàn)版本號及提示,就說明安裝成功!
安裝octave-kernel
pip3 install octave-kernel
安裝gnuplot
sudo apt- get install gnuplot
然后重新啟動jupyterhub(如果是后臺運行請先確保已殺滅所有jupyterhub相關進程再重啟):
jupyterhub
或者:
nohup jupyterhub &(后臺運行)
然后再次打開瀏覽器訪問[服務器地址]:8000就可以看到Octave筆記了。
我們選擇Octave新建筆記。畫一個正弦函數(shù)圖:
graphics_toolkit("gnuplot"); gnuplot_binary('/usr/bin/gnuplot'); % 設置gnuplot二進制文件的路徑,具體路徑可能不同 % 生成一組 x 值(從 0 到 2π,間隔為 0.01) x = 0:0.01:2*pi; % 計算對應的正弦值 y = sin(x); % 繪制正弦函數(shù)圖 plot(x, y); title("Sin Function"); % 添加標題 xlabel("x"); % 添加 x 軸標簽 ylabel("sin(x)"); % 添加 y 軸標簽 grid on; % 添加網(wǎng)格線
效果:
畫個心形:
其實Octave不僅可以畫圖,甚至還可以算斐波那契數(shù)列。
甚至是算圓周率:
結(jié)果提示缺少庫。因此我們需要安裝symbolic包。
得益于Octave支持安裝擴展包,我們可以利用一些擴展包來實現(xiàn)更多功能,讓Octave變得更加強大。
進入Octave Shell后,先更新擴展包源,然后再下載并安裝symbolic包:
pkg update pkg install -forge symbolic
再重新嘗試運行就可以了:
然后分別測試10、100、1000、10000和100000位:
10位:1.1531 秒 100位:1.155 秒 1000位:1.1567 秒 10000位:1.2044 秒 100000位:3.2812 秒
接下來就是嘗試多用戶了,雖然Jupyterhub可以使用多用戶單個筆記本管理,但是如果需要實現(xiàn)多用戶管理,那就需要root賬號了。
首先切換到root賬號:
su
輸入密碼后進入以root用戶登錄,然后回到家目錄:
cd
安裝相關包:
pip3 install jupyterhub jupyterlab notebook
新建一個jupyerhub文件夾:
mkdir jupyterhub
復制之前的配置文件(可以根據(jù)自身情況適當修改)
cp jupyterhub_config.py jupyterhub
或新建配置文件
jupyterhub --generate-config
啟動JupyterHub
jupyterhub
以后臺形式啟動JupyterHub
nohup jupyterhub &
但是其他用戶界面里沒有Octave,于是我就直接在root用戶下安裝octave-kernel了。
pip3 install octave-kernel
同時啟動三個用戶,并計算Pi,并觀察耗時,確保三個用戶的Octave都處于Busy狀態(tài)。
結(jié)果如下(精準到10萬位小數(shù)點):
perfxlab01:6.762秒 python01:6.6159秒 python02:6.9564秒
測試下來只有零點幾秒的差距,但是相比于單個用戶下算圓周率耗時會久一些。
不僅可以使用Octave筆記,也可以使用Octave命令符(Shift+Enter發(fā)送命令)。
小貼士:
執(zhí)行配置或編譯時,如果提示缺少所需依賴,請先安裝所需依賴然后重新執(zhí)行配置或編譯。運行代碼時,如果提示缺少所需依賴,可以先以root身份登錄然后安裝所需依賴,然后再重新啟動該各個用戶的Jupyter服務器(或直接重啟整個JupyterHub)即可。
實驗總結(jié):
有了JupyterHub的加持,現(xiàn)在HS-2服務器可以成為一個優(yōu)秀的科學計算平臺,再配合上Octave,你不僅可以用JupyterHub上用Python跑科學計算,你還可以使用Octave完成科學計算任務,甚至可以多個用戶使用同一個JupyterHub服務器。
參考資料:
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ā)者設計的標準mATX主板,它預裝了澎峰科技為RISC-V高性能服務器定制開發(fā)的軟件包,包括各種標準bencmark、支持V擴展的GCC編譯器、計算庫、中間件以及多種典型服務器應用程序。
HS-2 RISC-V通用主板搭載了一顆國產(chǎn)RISC-V 64核處理器(SG2042)。SG2042是目前已量產(chǎn)的性能最高的RISC-V處理器,主要針對高性能計算領域需求設計,適用于科學計算、工程計算、AI計算、融合計算等大算力應用場景。
關于RISC-V公共測試平臺
RISC-V高性能處理器公共測試云平臺 ·快速使用指南,下載鏈接:https://www.kdocs.cn/l/cmnYcyFIlVRx
RISC-V公共測試云平臺系列文章
RISC-V公測平臺發(fā)布 ·Stream帶寬完整測試
RISC-V公測平臺發(fā)布 · 我的世界MohistMC
RISC-V公測平臺發(fā)布 · 第一個WEB Server“Hello RISC-V world!”
RISC-V公測平臺發(fā)布 ·如何在SG2042上玩轉(zhuǎn)k3s
“RISC-V成長日記” blog發(fā)布,第一個運行在RISC-V服務器上的blog?
RISC-V公測平臺發(fā)布:如何在SG2042上玩轉(zhuǎn)OpenMPI
RISC-V公測平臺發(fā)布:Compiling The Fedora Linux Kernel Natively on RISC-V
RISC-V公測平臺發(fā)布 · Unix Bench完整測試
RISC-V公測平臺發(fā)布 · 使用YCSB測試SG2042上的MySQL性能
RISC-V公測平臺發(fā)布 · 7-zip 測試
RISC-V公測平臺發(fā)布 · CoreMark測試報告
RISC-V公測平臺發(fā)布 · 數(shù)據(jù)庫在RISC-V服務器上的適配評估
RISC-V公測平臺發(fā)布 · 在SG2042上配置Jupiter+Octave科學計算環(huán)境(本篇)
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
8960瀏覽量
85085 -
編程語言
+關注
關注
10文章
1929瀏覽量
34540 -
開源
+關注
關注
3文章
3218瀏覽量
42329 -
python
+關注
關注
55文章
4768瀏覽量
84376 -
RISC-V
+關注
關注
44文章
2205瀏覽量
45959
發(fā)布評論請先 登錄
相關推薦
評論