)
Open-Science Slurm 教程如何把 Notebook 一键提交为 HPC 集群作业完整指南【免费下载链接】open-scienceAIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.项目地址: https://gitcode.com/GitHub_Trending/open/open-scienceOpen-Science是一款开源、本地优先、模型无关的 AI 科研工作台AIPOCH Open-Science支持 macOS、Windows、Linux。它的Compute计算主机功能可以帮你把本地的 Python/R Notebook 分析任务一键提交为Slurm调度器管理的HPC 集群作业无需手动编写sbatch脚本、无需守在终端前看squeue作业排队、运行、失败、取回结果的全过程都在工作台里完成。本教程面向科研新手带你走完「连接集群 → 提交 Notebook 作业 → 跟踪与回收结果」的完整流程并解释 Open-Science 在背后为你做了哪些 Slurm 工程化工作。一、它解决了什么问题用笔记本电脑做科研分析遇到数据量大、耗时长、需要多核/GPU 的计算时通常得手工切换到 HPC 集群传统方式Open-Science Slurm 方式手写.sbatch脚本记各种指令应用自动生成脚本资源指令按需追加SSH 上敲squeue反复查状态界面实时显示排队 / 运行 / 完成 / 失败手动scp把结果拷回本地结果文件自动收割harvest回工作区断线后不确定作业是否已提交提交凭证落盘可自动恢复不会重复提交Open-Science 通过 SSH 连接你的 HPC 登录节点检测到集群调度器后即可为这台主机选择Slurm 执行模式另一种是直连 SSH 模式详见类型定义 compute.tsdirect_ssh命令直接在登录机上跑适合轻任务slurm命令被包装成调度作业交给sbatch提交适合重计算。二、连接 HPC 集群添加 Slurm 计算主机整个配置在Settings → Compute中完成相关界面组件位于 src/renderer/src/pages/settings/核心是 ComputeExecutionModeField.tsx 与 ComputeHostDetail.tsx。4 步添加一台 Slurm 主机添加 SSH 主机填写 SSH 别名~/.ssh/config中的 Host 别名与显示名支持覆盖端口、身份密钥等连接参数凭据加密存储界面只展示状态。探测集群Probe应用会远程探测操作系统、CPU、内存、GPU并自动识别调度器Slurm / PBS / LSF / 无。Slurm 模式要求探测确认squeue查询成功见 compute.ts 中的schedulerAvailable与detectedScheduler。选择执行模式将执行模式设为slurm——「通过 Slurm 提交和管理作业命令调用仍在 SSH 登录主机上运行」。审批与凭据提交作业前Open-Science 会对会话级的计算授权做审批见 compute-approval-broker.ts 与 ComputeApprovalDialog.tsx保证每一次集群作业都经过你的确认。三、Notebook 任务如何变成 Slurm 作业这是整个功能最有「魔法」的部分核心实现在 slurm-driver.ts。1. 自动生成 sbatch 脚本你或 AI Agent提供的是普通 shell 命令。驱动会把它包装成一个合法的 Slurm 脚本自动注入--job-name、--outputstdout、--errorstderr如果命令没写时限则按任务的timeout_seconds自动换算成#SBATCH --time分钟并用timeout双保险防止任务无限跑下去默认 24 小时上限见 slurm-driver.ts。2. 你仍可追加资源指令命令头部可以按每行一条的方式写#SBATCH --ntasks8、--gresgpu:1、--partitiongpu等指令。规则是每行只能一条长选项指令--optionvalue--output、--error、--chdir、--job-name、--array、--wrap等由应用托管的指令不允许手写——输出/错误/工作目录/作业名/任务数组都由 Open-Science 管理写错会立即得到清晰的中文指引提示见 slurm-driver.ts。3. 可审计的提交脚本以 Base64 形式写入远端工作目录的job.sbatch再执行sbatch --parsable作业 ID 会落盘为scheduler_job_id凭证文件。即使提交过程中网络抖动、应用重启也能凭凭证恢复已提交的作业recoverSlurmJob且绝不重复提交同一任务。四、跟踪作业排队、运行、取消、取回结果提交之后作业生命周期完全托管状态轮询job-poller.ts 周期执行squeue查询识别PENDING正在 Slurm 队列中等待、RUNNING、COMPLETED、FAILED、TIMEOUT、PREEMPTED等状态界面同步刷新取消作业取消请求由 compute-job-cancellation-owner.ts 统一处理防止「半取消」状态结果收割作业结束后harvest-engine.ts 把远端产物拉回本地工作区的hpc/jobId/featured/目录并区分「已取回」与「因体积等原因留在远端」的文件清单完成通知job-notifier.ts 在作业终态成功、失败、执行错误时发出compute_done通知重启应用也不会漏报幂等设计。五、新手常见疑问FAQ必须会写 sbatch 吗不需要。基础场景下应用自动生成全部调度指令你只在需要指定分区、核数、GPU 时追加每行一条的#SBATCH指令即可。PBS/LSF 集群支持吗探测阶段能识别 PBS、LSF但当前作业驱动仅实现 SlurmdetectedScheduler见 compute.ts非 Slurm 集群可用direct_ssh模式。作业名从哪来应用统一命名为openscience-jobId便于在squeue中按名检索也是恢复作业时的所有权证明。安全如何保障凭据加密单独存储、远端路径统一加引号转义remote-path-security.ts、提交前会话级审批端到端测试覆盖真实 SSH 场景slurm.real-ssh.integration.test.ts。六、相关模块与文档速查内容路径Slurm 驱动sbatch 脚本生成/提交/恢复src/main/compute/slurm-driver.ts执行模式与主机类型定义src/shared/compute.ts作业轮询器squeue 状态src/main/compute/job-poller.ts结果收割引擎src/main/compute/harvest-engine.ts完成通知compute_donesrc/main/compute/job-notifier.ts执行模式 E2E 测试e2e/compute-execution-mode.spec.ts项目主 README含快速上手README.md小结Open-Science 把「笔记本 → HPC 集群」这条科研刚需路径做成了三件事探测并选择 Slurm 模式 → 自动生成并审计提交 sbatch 作业 → 轮询状态并收割结果。你只需在 Settings 里添加一次计算主机之后无论是自己还是 AI Agent 发起的 Notebook 计算都能自动排队上集群、可追溯地回到本地工作区。【免费下载链接】open-scienceAIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.项目地址: https://gitcode.com/GitHub_Trending/open/open-science创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考