vs code jupyter连gpu结点kernel
学校的服务器 [1] 分登录结点和计算结点。以往想在 jupyter notebook 调用 GPU 跑程序,是用 ssh tunnel 转发到自己电脑,然后用浏览器打开。
现发现直接在 VS Code 中用 jupyter notebook 更好用,但遇到一个问题:在给 notebook 选 kernel 时,如果用 Jupyter Kernel...,则会选中登录结点的 kernel,从而无法使用计算结点的 GPU:
![]() |
|---|
| Fig. 1 |
因为我 vs code 是连去登录结点,而不是直接连计算结点。此时正确的选法是用 Existing Jupyter Server... 指定用从计算结点启动的 jupyter lab server。
Steps
假设已装好 python、jupyterlab,配过 jupyter 密码,且配好一个虚拟环境叫 env1。
- 注测 kernel
此时如果按图 1 点conda activate env1 pip install ipykernel # 如之前未装过 python -m ipykernel install --user --name=env1 --display-name="超人 (迪迦)"Jupyter Kernel...,应能看见刚创建的这个「超人 (迪迦)」kernel(可能要 vs code 重连才刷新出来)。但选这个 kernel 会用登录结点的 python。 - 在计算结点启动 jupyter lab server:
一串输出中包含:# 在计算结点上 conda activate env1 # 激活 jupyter lab 所在虚拟环境 jupyter lab # 启动
表明 jupyter lab 的端口是(...其它...) [I 2025-11-09 16:10:21.531 ServerApp] Jupyter Server 2.14.1 is running at: [I 2025-11-09 16:10:21.531 ServerApp] http://localhost:8888/lab (...其它...)8888。 - vs code 创建 notebook:此时 vs code 是远程连去学校登录结点(中某个代码目录)的,在 vs code 界面中 Ctrl + Shift + P 呼出命令界面,打
Create: New Jupyter Notebook就能创建;再 Ctrl + S 保存、顺便给 notebook 起名。 - 选 kernel:在 notebook 界面,如图 1,「Select Kernel」->「Existing Jupyter Server…」(而不是「Jupyte Kernel…」),然后就让输入 server 的 URL(图 2),写:
http://1.2.3.4:8888,其中1.2.3.4是计算结点的 IP,8888是 jupyter 端口。回车让输 jupyter 密码(图 3);再回车让输 display name,随意;又回车,让选 kernel,此时应该也能看到刚才注册的「超人 (迪迦)」,选它。
![]() |
|---|
| Fig. 2 |
![]() |
|---|
| Fig. 3 |
这个 kernel 就可以用计算结点的 GPU 了。可在 notebook 内执行:
!nvidia-smiimport torch; torch.cuda_is_available()
验证。
References
- 用UTS gpu集群



