DCU集群搭建虚拟环境方法简介

1.conda安装方法:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh  #下载miniconda安装包

chmod 750 Miniconda3-latest-Linux-x86_64.sh  #添加执行权限

bash ./Miniconda3-latest-Linux-x86_64.sh  #安装下载的minnconda3

下载安装包
修改权限并安装
查看安装的conda版本
2.集群安装dcu版本的pytorch安装包
格式:
conda create -n 虚拟环境名 python=3.8

(1)集群一般会预置适配的安装包,路径为:/public/software/apps/DeepLearning/whl
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

环境搭建方法(以安装dtk2304下面的torch1.13-py38为例):

conda create -n torch_test_env python=3.8 -y  # torch_test_env为虚拟环境名,可以自定义 ,-y 表示yes,无需在安装过程中再手动输入

conda activate torch_test_env  #激活虚拟环境

pip install /public/software/apps/DeepLearning/whl/dtk-23.04/pytorch/torch-1.13/py38/torch-1.13.1+git55d300e.abi0.dtk2304-cp38-cp38-manylinux2014_x86_64.whl -i https://pypi.mirrors.ustc.edu.cn/simple     #安装集群的torch包,-i 后面表示镜像源,可以加速安装

#其他不涉及加速的包可以正常pip install 安装

注意:选择的torch版本对应的python需要和创建环境时的python相匹配

在这里插入图片描述
验证:

salloc -p wzhdnormal -N1 -n32 --gres=dcu:4 #申请资源。-p后面表示队列名,可以通过whichpartition查看到。wzhdnormal其中hd表示dcu队列 ,-N 表示节点数,-n 表示核心数,dcu:4表示卡数,一般核:卡=8:1,即若申请两张卡,对应核数为16,salloc -p wzhdnormal -N1 -n16 --gres=dcu:2

ssh 计算节点 #登录计算节点,squeue查看作业运行状态,nodelist下面对应的为计算节点
conda activate torch_test_env  #重新进入虚拟环境
module switch compiler/dtk/23.04 #切换为对应的dtk版本
python
import torch
torch.cuda.is_available() #显示true表示安装成功

注意:验证完请务必取消作业,scancel JOBID

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作业提交参考脚本:

test.slurm #自定义脚本名

#!/bin/bash
#BATCH -J test                         # 作业名
#SBATCH -p wzhdnormal                  # 队列名  使用whichpartition 查看
#SBATCH -N 1                            # 节点数量
#SBATCH --ntasks-per-node=1           # 每节点运行进程数
#SBATCH -c 8                                   # 每个进程所用cpu核数
#SBATCH --gres=dcu:1                    # 每个节点申请的dcu数量
#SBATCH -o %j.out                       # 作业标准输出
#SBATCH -e %j.out                       # 作业错误输出,这里两种输出放在了一个文件中显示

#加载conda环境
source ~/miniconda3/etc/profile.d/conda.sh
conda activate  torch_test_env
#加载module
module purge
module load compiler/devtoolset/7.3.1
module load mpi/hpcx/gcc-7.3.1
module load compiler/dtk/23.04

#运行程序
python -u main.py 

提交作业:sbatch 脚本名
查看作业:squeue
取消作业:scancel 作业号 (作业号:执行squeue,jobid下面的数字)
实时查看输出:tail -f 输出文件名

### 如何在兆芯DCU平台上利用Docker Swarm或Kubernetes集群部署DeepSeek搜索引擎 #### Docker Swarm 部署方案 为了在兆芯DCU平台上的Docker Swarm集群中部署DeepSeek搜索引擎,需先确保所有节点已加入到Swarm集群并正常运行。管理节点负责创建和调度服务,在此环境中执行命令来定义所需的服务配置。 ```bash docker swarm init --advertise-addr <MANAGEMENT-NODE-IP> ``` 接着,准备用于启动DeepSeek应用的`docker-compose.yml`文件: ```yaml version: '3' services: deepseek-app: image: deepseek/search-engine:latest deploy: replicas: 3 resources: limits: cpus: '0.50' memory: 512M restart_policy: condition: on-failure ports: - "8080:80" networks: - webnet networks: webnet: ``` 通过上述YAML文件中的设置可以指定容器镜像版本、资源限制以及端口映射等参数[^1]。之后便可以在管理节点上使用如下指令完成服务发布: ```bash docker stack deploy -c docker-compose.yml deepseek_stack ``` 这会触发整个集群范围内自动化的实例化过程,并按照预定策略分配任务给各个工作节点去执行相应的容器实例。 #### Kubernetes 部署方案 对于采用Kubernetes作为编排工具的情况,则需要编写对应的Deployment与Service资源配置清单。下面是一个简单的例子展示如何描述一个名为deepseek-deployment的应用程序及其关联的服务暴露方式。 ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: deepseek-deployment spec: selector: matchLabels: app: deepseek-searchengine replicas: 3 template: metadata: labels: app: deepseek-searchengine spec: containers: - name: deepseek-container image: deepseek/search-engine:latest resources: requests: cpu: 50m memory: 256Mi limits: cpu: 750m memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: deepseek-service spec: type: NodePort selector: app: deepseek-searchengine ports: - protocol: TCP port: 80 targetPort: 8080 ``` 这段代码片段定义了一个由三个副本组成的Pod集合,每个Pod内部都运行着基于特定标签选择器匹配出来的DeepSeek应用程序容器;同时还有一个Type为NodePort类型的Service对象用来对外提供访问入口[^2]。 最后一步是在目标环境内加载这些Kubernetes YAML文件以实际构建所需的基础设施组件和服务网络结构: ```bash kubectl apply -f kubernetes-config.yaml ``` 无论是哪种方法都能实现对DeepSeek引擎的成功部署,具体选择取决于团队的技术栈偏好和技术能力范围等因素考虑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值