当前位置: 首页 > news >正文

网站空间数据库旅游网站首页

网站空间数据库,旅游网站首页,网页制作工具通常在什么上建立热点,建网站用目录 一、裸机部署安装 GPU Driver安装 CUDA Toolkit测试 二、Docker 环境安装 nvidia-container-toolkit配置使用该 runtime 三、 k8s 环境安装 device-plugin安装 GPU 监控 一、裸机部署 裸机中要使用上 GPU 需要安装以下组件#xff1a; GPU DriverCUDA Toolkit 二者的关… 目录 一、裸机部署安装 GPU Driver安装 CUDA Toolkit测试 二、Docker 环境安装 nvidia-container-toolkit配置使用该 runtime 三、 k8s 环境安装 device-plugin安装 GPU 监控 一、裸机部署 裸机中要使用上 GPU 需要安装以下组件 GPU DriverCUDA Toolkit 二者的关系如 NVIDIA 官网上的这个图所示 GPU Driver 包括了 GPU 驱动和 CUDA 驱动CUDA Toolkit 则包含了 CUDA Runtime。 GPU 作为一个 PCIE 设备只要安装好之后在系统中就可以通过 lspci 命令查看到先确认机器上是否有 GPU lspci|grep NVIDIA可以看到该设备有1张 Tesla V100 GPU。 安装 GPU Driver 首先到 NVIDIA 驱动下载 下载对应的显卡驱动 复制下载链接 wget https://cn.download.nvidia.com/tesla/550.144.03/nvidia-driver-local-repo-ubuntu2204-550.144.03_1.0-1_amd64.debsudo apt update sudo apt upgrade -y sudo apt install -y build-essential dkms sudo dpkg -i nvidia-driver-local-repo-ubuntu2204-550.144.03_1.0-1_amd64.deb安装 NVIDIA 驱动 sudo apt install -y nvidia-driver-550 nvidia-smi至此我们就安装好 GPU 驱动了系统也能正常识别到 GPU。 这里显示的 CUDA 版本表示当前驱动最大支持的 CUDA 版本。 安装 CUDA Toolkit 对于深度学习程序一般都要依赖 CUDA 环境因此需要在机器上安装 CUDA Toolkit。 也是到 NVIDIA CUDA Toolkit 下载 下载对应的安装包选择操作系统和安装方式即可 wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1-1_all.debsudo apt-get updatesudo apt-get -y install cuda-toolkit-12-4配置下 PATH 测试 整个调用链 代码测试 import torchdef check_cuda_with_pytorch():检查 PyTorch CUDA 环境是否正常工作try:print(检查 PyTorch CUDA 环境:)if torch.cuda.is_available():print(fCUDA 设备可用当前 CUDA 版本是: {torch.version.cuda})print(fPyTorch 版本是: {torch.__version__})print(f检测到 {torch.cuda.device_count()} 个 CUDA 设备。)for i in range(torch.cuda.device_count()):print(f设备 {i}: {torch.cuda.get_device_name(i)})print(f设备 {i} 的显存总量: {torch.cuda.get_device_properties(i).total_memory / (1024 ** 3):.2f} GB)print(f设备 {i} 的显存当前使用量: {torch.cuda.memory_allocated(i) / (1024 ** 3):.2f} GB)print(f设备 {i} 的显存最大使用量: {torch.cuda.memory_reserved(i) / (1024 ** 3):.2f} GB)else:print(CUDA 设备不可用。)except Exception as e:print(f检查 PyTorch CUDA 环境时出现错误: {e})if __name__ __main__:check_cuda_with_pytorch()二、Docker 环境 调用链从 containerd -- runC 变成 containerd -- nvidia-container-runtime -- runC 。 nvidia-container-runtime 在中间拦截了容器 spec就可以把 gpu 相关配置添加进去再传给 runC 的 spec 里面就包含 gpu 信息了。 Ubuntu 上安装 Docker30 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common31 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg32 echo deb [archamd64 signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null33 apt update34 apt install -y docker-ce docker-ce-cli containerd.io35 systemctl enable docker安装 nvidia-container-toolkit # 1. Configure the production repository curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \sed s#deb https://#deb [signed-by/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list# Optionally, configure the repository to use experimental packages sed -i -e /experimental/ s/^#//g /etc/apt/sources.list.d/nvidia-container-toolkit.list# 2. Update the packages list from the repository sudo apt-get update# 3. Install the NVIDIA Container Toolkit packages sudo apt-get install -y nvidia-container-toolkit配置使用该 runtime 支持 Docker, Containerd, CRI-O, Podman 等 CRI。 具体见官方文档 container-toolkit#install-guide 这里以 Docker 为例进行配置 旧版本需要手动在 /etc/docker/daemon.json 中增加配置指定使用 nvidia 的 runtime。 {runtimes: {nvidia: {args: [],path: nvidia-container-runtime}} }新版 toolkit 带了一个nvidia-ctk 工具执行以下命令即可一键配置 sudo nvidia-ctk runtime configure --runtimedocker然后重启 Docker 即可 systemctl restart dockerDocker 环境中的 CUDA 调用: 从图中可以看到CUDA Toolkit 跑到容器里了因此宿主机上不需要再安装 CUDA Toolkit。 使用一个带 CUDA Toolkit 的镜像即可。 最后我们启动一个 Docker 容器进行测试其中命令中增加 --gpu参数来指定要分配给容器的 GPU。 --gpu 参数可选值--gpus all表示将所有 GPU 都分配给该容器 --gpus deviceid[,id...]对于多 GPU 场景可以通过 id 指定分配给容器的 GPU例如 --gpu device0 表示只分配 0 号 GPU 给该容器 GPU 编号则是通过nvidia-smi 命令进行查看这里我们直接使用一个带 cuda 的镜像来测试启动该容器并执行nvidia-smi 命令 docker run --rm --gpus all nvidia/cuda:12.0.1-runtime-ubuntu22.04 nvidia-smi正常情况下应该是可以打印出容器中的 GPU 信息: 三、 k8s 环境 在 k8s 环境中使用 GPU则需要在集群中部署以下组件 gpu-device-plugin 用于管理 GPUdevice-plugin 以 DaemonSet 方式运行到集群各个节点以感知节点上的 GPU 设备从而让 k8s 能够对节点上的 GPU 设备进行管理。 gpu-exporter用于监控 GPU 安装 device-plugin device-plugin 一般由对应的 GPU 厂家提供比如 NVIDIA 的 k8s-device-plugin 安装其实很简单将对应的 yaml apply 到集群即可。 kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.15.0/deployments/static/nvidia-device-plugin.ymldevice-plugin 启动之后会感知节点上的 GPU 设备并上报给 kubelet最终由 kubelet 提交到 kube-apiserver。 因此我们可以在 Node 可分配资源中看到 GPU就像这样 roottest:~# k describe node test|grep Capacity -A7 Capacity:cpu: 48ephemeral-storage: 460364840Kihugepages-1Gi: 0hugepages-2Mi: 0memory: 98260824Kinvidia.com/gpu: 2pods: 110除了常见的 cpu、memory 之外还有nvidia.com/gpu, 这个就是 GPU 资源 安装 GPU 监控 安装 DCCM exporter 结合 Prometheus 输出 GPU 资源监控信息。 helm repo add gpu-helm-charts \https://nvidia.github.io/dcgm-exporter/helm-chartshelm repo updatehelm install \--generate-name \gpu-helm-charts/dcgm-exporter查看 metrics curl -sL http://127.0.0.1:8080/metrics # HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).# TYPE DCGM_FI_DEV_SM_CLOCK gauge# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz).# TYPE DCGM_FI_DEV_MEM_CLOCK gauge# HELP DCGM_FI_DEV_MEMORY_TEMP Memory temperature (in C).# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge ... DCGM_FI_DEV_SM_CLOCK{gpu0, UUIDGPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52,container,namespace,pod} 139 DCGM_FI_DEV_MEM_CLOCK{gpu0, UUIDGPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52,container,namespace,pod} 405 DCGM_FI_DEV_MEMORY_TEMP{gpu0, UUIDGPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52,container,namespace,pod} 9223372036854775794… 测试 在 k8s 创建 Pod 要使用 GPU 资源很简单和 cpu、memory 等常规资源一样在 resource 中 申请即可。 比如下面这个 yaml 里面我们就通过 resource.limits 申请了该 Pod 要使用 1 个 GPU。 apiVersion: v1 kind: Pod metadata:name: gpu-pod spec:restartPolicy: Nevercontainers:- name: cuda-containerimage: nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda10.2resources:limits:nvidia.com/gpu: 1 # requesting 1 GPU这样 kueb-scheduler 在调度该 Pod 时就会考虑到这个情况将其调度到有 GPU 资源的节点。 启动后查看日志正常应该会打印 测试通过的信息k8s 环境中就可以使用 GPU 了。 kubectl logs gpu-pod [Vector addition of 50000 elements] Copy input data from the host memory to the CUDA device CUDA kernel launch with 196 blocks of 256 threads Copy output data from the CUDA device to the host memory Test PASSED Done
http://www.hkea.cn/news/14348937/

相关文章:

  • 在游戏网站做中介合法网站建设是一项系统工程
  • 咨询类网站开发的意义怎样自己做免费的网站
  • 蓝科企业网站系统南京网站建设哪里好
  • html好看的网站做物流有哪些网站
  • 广西网站建设性价比高网站的建立过程
  • 网站开发技术岗位职责钓鱼网站怎么制作html
  • 公司网站建设哪儿济南兴田德润实惠吗网站建设的公司有哪些
  • 南宁百度seo网站优化品牌网站建站公司
  • 做番号网站犯法吗莘县网站建设公司
  • 公司备案证查询网站浙江建设网站
  • 游戏网站首页设计wordpress 滑 验证
  • 甘肃网站排名公司房屋装修公司
  • 网站地图 制作工具网格建设专业好不好
  • 佛山电商网站建设wordpress 主题栏目修改
  • 很那网站建设哪里有做网站系统
  • 郑州彩票网站建设红色企业网站
  • 怎么把百度到自己的网站中国建设网官网住房和城乡建设官网
  • 免费建立自己的网站代码网站建设 工具
  • 金钟街网站建设哪家好微信小程序电脑端打开
  • 网站做m版山西笑傲网站建设
  • 现在都有什么网站工作室金华大奇网站建设
  • 网站后台需求无锡网站制作建设
  • 你需要网站建设专门做家教的网站
  • 虚拟主机销售网站少女前线9a高性能芯片
  • 北京做兼职从哪个网站河南省建设监理协会网站
  • 藁城专业网站建设甘肃兰州地震最新消息
  • 上海网站推广平台高职学院网站建设方案
  • 重庆网站租赁空间昆明移动网站建设
  • 怎么查网站备案信息北京社保网站做社保增减员
  • 建设局网站安徽本地的天津网站建设