簡介
JupyterHub是一個開源的共享計算平臺,它為每個用戶管理一個單獨的 Jupyter 環境, 可以用于學生班級、企業數據科學小組或科學研究小組。它是一個多用戶中心,可以生成、管理和代理多個單用戶Jupyter筆記本服務器的實例。GNU Octave是一種采用高級編程語言的主要用于數值分析的軟件。Octave有助于以數值方式解決線性和非線性問題,并使用與MATLAB兼容的語言進行其他數值實驗。它也可以作為面向批處理的語言使用。因為它是GNU計劃的一部分,所以它是GNU通用公共許可證條款下的自由軟件。本期,我們就來試試Jupyter和Octave組成一個多用戶的科學計算平臺。
實驗材料:
pip(如果沒有安裝請先安裝python3-pip)
Octave源代碼
一臺HS-2服務器
服務器配置:
CPU:SG2042(64核心)RAM:32GB硬盤容量:1TB
操作系統:Ubuntu 22.10 (GNU/Linux 6.1.31 riscv64)
實驗步驟:
先通過pip安裝JupyterHub、JupyterLab和Jupyter Notebook:
pip3 install jupyterhub jupyterlab notebook
生成配置文件(可以根據實際情況對配置文件進行修改):
jupyterhub --generate-config
然后啟動jupyterhub:
jupyterhub
或后臺運行:
nohup jupyterhub &
瀏覽器訪問[服務器地址]:8000即可,訪問后發現雖然我們看到了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/
![wKgZomTltOOAOcBtAAC3dBxWHk0022.png](https://file1.elecfans.com/web2/M00/94/77/wKgZomTltOOAOcBtAAC3dBxWHk0022.png)
配置:
./configure
編譯:
make -j64(線程數根據實際情況來設置)
安裝:
sudo make install
運行octave shell,如果出現版本號及提示,就說明安裝成功!
安裝octave-kernel
pip3 install octave-kernel
安裝gnuplot
sudo apt- get install gnuplot
然后重新啟動jupyterhub(如果是后臺運行請先確保已殺滅所有jupyterhub相關進程再重啟):
jupyterhub
或者:
nohup jupyterhub &(后臺運行)
然后再次打開瀏覽器訪問[服務器地址]:8000就可以看到Octave筆記了。
我們選擇Octave新建筆記。畫一個正弦函數圖:
graphics_toolkit("gnuplot"); gnuplot_binary('/usr/bin/gnuplot'); % 設置gnuplot二進制文件的路徑,具體路徑可能不同 % 生成一組 x 值(從 0 到 2π,間隔為 0.01) x = 0:0.01:2*pi; % 計算對應的正弦值 y = sin(x); % 繪制正弦函數圖 plot(x, y); title("Sin Function"); % 添加標題 xlabel("x"); % 添加 x 軸標簽 ylabel("sin(x)"); % 添加 y 軸標簽 grid on; % 添加網格線
效果:
畫個心形:
其實Octave不僅可以畫圖,甚至還可以算斐波那契數列。
甚至是算圓周率:
結果提示缺少庫。因此我們需要安裝symbolic包。
得益于Octave支持安裝擴展包,我們可以利用一些擴展包來實現更多功能,讓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可以使用多用戶單個筆記本管理,但是如果需要實現多用戶管理,那就需要root賬號了。
首先切換到root賬號:
su
輸入密碼后進入以root用戶登錄,然后回到家目錄:
cd
安裝相關包:
pip3 install jupyterhub jupyterlab notebook
新建一個jupyerhub文件夾:
mkdir jupyterhub
復制之前的配置文件(可以根據自身情況適當修改)
cp jupyterhub_config.py jupyterhub
或新建配置文件
jupyterhub --generate-config
啟動JupyterHub
jupyterhub
以后臺形式啟動JupyterHub
nohup jupyterhub &
但是其他用戶界面里沒有Octave,于是我就直接在root用戶下安裝octave-kernel了。
pip3 install octave-kernel
同時啟動三個用戶,并計算Pi,并觀察耗時,確保三個用戶的Octave都處于Busy狀態。
結果如下(精準到10萬位小數點):
perfxlab01:6.762秒 python01:6.6159秒 python02:6.9564秒
測試下來只有零點幾秒的差距,但是相比于單個用戶下算圓周率耗時會久一些。
不僅可以使用Octave筆記,也可以使用Octave命令符(Shift+Enter發送命令)。
小貼士:
執行配置或編譯時,如果提示缺少所需依賴,請先安裝所需依賴然后重新執行配置或編譯。運行代碼時,如果提示缺少所需依賴,可以先以root身份登錄然后安裝所需依賴,然后再重新啟動該各個用戶的Jupyter服務器(或直接重啟整個JupyterHub)即可。
實驗總結:
有了JupyterHub的加持,現在HS-2服務器可以成為一個優秀的科學計算平臺,再配合上Octave,你不僅可以用JupyterHub上用Python跑科學計算,你還可以使用Octave完成科學計算任務,甚至可以多個用戶使用同一個JupyterHub服務器。
參考資料:
JupyterHub頁面
https://jupyter.org/hub
Octave官網
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通用主板是澎峰科技與合作伙伴共同研發的一款專為開發者設計的標準mATX主板,它預裝了澎峰科技為RISC-V高性能服務器定制開發的軟件包,包括各種標準bencmark、支持V擴展的GCC編譯器、計算庫、中間件以及多種典型服務器應用程序。
HS-2 RISC-V通用主板搭載了一顆國產RISC-V 64核處理器(SG2042)。SG2042是目前已量產的性能最高的RISC-V處理器,主要針對高性能計算領域需求設計,適用于科學計算、工程計算、AI計算、融合計算等大算力應用場景。
關于RISC-V公共測試平臺
RISC-V高性能處理器公共測試云平臺 ·快速使用指南,下載鏈接:https://www.kdocs.cn/l/cmnYcyFIlVRx
RISC-V公共測試云平臺系列文章
RISC-V公測平臺發布 ·Stream帶寬完整測試
RISC-V公測平臺發布 · 我的世界MohistMC
RISC-V公測平臺發布 · 第一個WEB Server“Hello RISC-V world!”
RISC-V公測平臺發布 ·如何在SG2042上玩轉k3s
“RISC-V成長日記” blog發布,第一個運行在RISC-V服務器上的blog?
RISC-V公測平臺發布:如何在SG2042上玩轉OpenMPI
RISC-V公測平臺發布:Compiling The Fedora Linux Kernel Natively on RISC-V
RISC-V公測平臺發布 · Unix Bench完整測試
RISC-V公測平臺發布 · 使用YCSB測試SG2042上的MySQL性能
RISC-V公測平臺發布 · 7-zip 測試
RISC-V公測平臺發布 · CoreMark測試報告
RISC-V公測平臺發布 · 數據庫在RISC-V服務器上的適配評估
RISC-V公測平臺發布 · 在SG2042上配置Jupiter+Octave科學計算環境(本篇)
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
9308瀏覽量
86072 -
編程語言
+關注
關注
10文章
1950瀏覽量
34989 -
開源
+關注
關注
3文章
3408瀏覽量
42714 -
python
+關注
關注
56文章
4807瀏覽量
85041 -
RISC-V
+關注
關注
45文章
2324瀏覽量
46604
發布評論請先 登錄
相關推薦
RISC-V公測平臺發布:如何在SG2042上玩轉OpenMPI
![<b class='flag-5'>RISC-V</b><b class='flag-5'>公測</b><b class='flag-5'>平臺</b><b class='flag-5'>發布</b>:如何在<b class='flag-5'>SG2042</b><b class='flag-5'>上</b>玩轉OpenMPI](https://file1.elecfans.com//web2/M00/8F/8F/wKgZomTQbAeAPIWlAAB2Xsm9zLU65.webp)
RISC-V公測平臺發布 · 數據庫在RISC-V服務器上的適配評估
![<b class='flag-5'>RISC-V</b><b class='flag-5'>公測</b><b class='flag-5'>平臺</b><b class='flag-5'>發布</b> · 數據庫<b class='flag-5'>在</b><b class='flag-5'>RISC-V</b>服務器<b class='flag-5'>上</b>的適配評估](https://file1.elecfans.com//web2/M00/94/26/wKgaomTjKcGAfzIsAAAsTYasT9c240.png)
算能重磅發布行業首款服務器級RISC-V CPU算豐SG2042,助力RISC-V邁向高性能計算
openEuler RISC-V 23.03 創新版本亮相:全面提升硬件兼容性和桌面體驗
阿里平頭哥發布首個 RISC-V AI 軟硬全棧平臺
RISC-V強勢崛起為芯片架構第三極
256核!賽昉發布全新RISC-V眾核子系統IP平臺
高清無碼:2023年玄鐵RISC-V生態大會,算能SG2042與澎峰科技的高性能計算型服務器共同亮相
![高清無碼:2023年玄鐵<b class='flag-5'>RISC-V</b>生態大會,算能<b class='flag-5'>SG2042</b>與澎峰科技的高性能<b class='flag-5'>計算</b>型服務器共同亮相](https://file.elecfans.com/web2/M00/95/A0/pYYBAGQBTEuAYV7DAAICrOvWRPc966.jpg)
成功適配算能SG2042服務器板卡!deepin for RISC-V新進展
RISC-V聯盟年會看點回顧 2023年是RISC-V高性能計算元年
算能重磅發布行業首款服務器級RISC-V CPU算豐SG2042
openEuler成功適配SG2042服務器板卡加速軟件包構建
openEuler RISC-V 23.03 創新版本亮相:全面提升硬件兼容性和桌面體驗
算能 SG2042 / Milk-V Pioneer 的含金量還在不斷提升:RISC-V 生態逐步完善,玩大型游戲已經不遠了!
![算能 <b class='flag-5'>SG2042</b> / Milk-<b class='flag-5'>V</b> Pioneer 的含金量還在不斷提升:<b class='flag-5'>RISC-V</b> 生態逐步完善,玩大型游戲已經不遠了!](https://file1.elecfans.com/web2/M00/A6/4A/wKgaomUTnHiADnB2AAAtr1gPdQM010.png)
評論