RISC-V公测平台发布 · 在SG2042上配置Jupiter+Octave科学计算环境
实验材料:
一台HS-2服务器
服务器配置:
操作系统:Ubuntu 22.10 (GNU/Linux 6.1.31 riscv64)
实验步骤:
pip3 install jupyterhub jupyterlab notebook
生成配置文件(可以根据实际情况对配置文件进行修改):
jupyterhub --generate-config
然后启动jupyterhub:
jupyterhub
或后台运行:
nohup jupyterhub &
浏览器访问[服务器地址]:8000即可,访问后发现虽然我们看到了JupyerHub在运行,但是只有Python3,并没有Octave选项。
sudo apt install octave
方式2:编译安装
wget https://mirror2.sandyriver.net/pub/software/gnu/octave/octave-8.3.0.tar.gz
(如果下载速度慢,可以先提前在自己的电脑上下载好,然后将文件传到服务器上)
tar -xzvf octave-8.3.0.tar.gz
进入Octave源码文件夹
cd octave-8.3.0/
./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笔记了。
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; % 添加网格线
pkg update pkg install -forge symbolic
10位:1.1531 秒 100位:1.155 秒 1000位:1.1567 秒 10000位:1.2044 秒 100000位:3.2812 秒
接下来就是尝试多用户了,虽然Jupyterhub可以使用多用户单个笔记本管理,但是如果需要实现多用户管理,那就需要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状态。
perfxlab01:6.762秒 python01:6.6159秒 python02:6.9564秒
测试下来只有零点几秒的差距,但是相比于单个用户下算圆周率耗时会久一些。
小贴士:
实验总结:
有了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公共测试云平台系列文章
-
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科学计算环境(本篇)