昇騰 k8s vnpu配置

參考文檔: https://www.hiascend.com/document/detail/zh/mindx-dl/500/AVI/cpaug/cpaug_018.html

此文檔實現為NPU910B3卡

主機設置靜態虛擬npu

設置虛擬化模式

!本命令只支持再物理機執行,取值為0或1,(如果是在虛擬機內劃分vNPU,不需要執行本命令)。

  • 0:虛擬化實例功能(容器模式),適用于將vNPU掛載到容器。
  • 1:虛擬化實例功能(虛擬機模式),適用于將vNPU掛載到虛擬機。

npu-smi info -t vnpu-mode # 查看當前虛擬化模式

npu-smi set -t vnpu-mode 0 # 虛擬化模式修改為容器模式

添加虛擬卡

創建虛擬NPU,不同卡型號,模板不同

npu-smi set -t create-vnpu -i 0 -c 0 -f --help 查看模板

其中-i 卡號 -c 芯片號 -f 模板
在這里插入圖片描述
可以根據名稱來確定vnpu模板名對應的配置

在這里插入圖片描述

npu-smi set -t create-vnpu -i 0 -c 0 -f vir05_1c_16g # 創建一張1c16G的vnpu,這是1/4之一的切分顆粒度,可以切分4張,執行4次此命令

在這里插入圖片描述

設置恢復狀態:配置vNPU恢復狀態。該參數用于設備重啟時,設備能夠保存vNPU配置信息,重啟后,vNPU配置依然有效。

npu-smi set -t vnpu-cfg-recover -d 1

查看vnpu創建信息

npu-smi info -t info-vnpu -i 0 -c 0

在這里插入圖片描述

銷毀vnpu

npu-smi set -t destroy-vnpu -i -c 0 -v xxx # -v 為vnpu id 可以在查看nvpu創建信息中查看nvpu id為多少

在這里插入圖片描述

注意: 如果使用MindX DL動態虛擬化功能,則不需要提前創建vNPU,MindX DL運行任務時自動按照配置要求調用接口創建vNPU。

注意:Ascend Docker Runtime使用vNPU,既可以先通過npu-smi工具創建vNPU,再將vNPU掛載到容器中;也可以在拉起容器時,直接通過ASCEND_VISIBLE_DEVICES和ASCEND_VNPU_SPECS參數從物理芯片上虛擬化出多個vNPU并掛載至容器
https://www.hiascend.com/document/detail/zh/mindx-dl/500/AVI/cpaug/cpaug_015.html#ZH-CN_TOPIC_0000001841176769__section514441719341

修改device插件信息

args中添加 -volcanoType=false -presetVirtualDevice=true

containers:
- image: swr.cn-south-1.myhuaweicloud.com/ascendhub/ascend-k8sdeviceplugin:v6.0.0name: device-plugin-01resources:requests:memory: 500Micpu: 500mlimits:memory: 500Micpu: 500mcommand: [ "/bin/bash", "-c", "--"]args: [ "device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true -logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0" ]securityContext:privileged: truereadOnlyRootFilesystem: true

查看node是否有nvpu資源

kubectl describe node $nodename

在這里插入圖片描述
查看節點是否有 vir05_1c_16g的資源

啟動pytorch測試

使用昇騰pytorch鏡像測試是否可以看到pod中vnpu和使用vnpu

注意:一個pod只能占用一張vnpu卡

創建測試pod。
在這里插入圖片描述
kubectl apply -f pod.yaml

測試占用卡是否成功

# 如果有libgomp1報錯
apt-get update && apt-get install -y libgomp1source /usr/local/Ascend/ascend-toolkit/set_env.sh
import torch
import torch_npu# 創建NPU張量
a = torch.randn(3, 3).npu()
b = torch.randn(3, 3).npu()# 矩陣乘法
c = torch.matmul(a, b)
print(c)# 將結果移回CPU
c_cpu = c.cpu()
print(c_cpu)import torch
# - import torch_npu # torch_npu2.5.1及以后版本可以不用手動導包
x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
z = x.mm(y)print(z)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88327.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88327.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis常用數據結構以及多并發場景下的使用分析:Set類型

文章目錄前言redis中的set結構疑問1 :為什么使用數組后 整體時間復雜度還是O(1)疑問2: set特性是無序的那為什么當元素少的時候 用連續數組 去存儲呢?疑問3:當元素少于512的時候即使用intset存儲的時候 是如何維護唯一性的&#x…

Linux中rw-rw-r--相關的訪問權限講解

下面就是關于 rw-rw-r-- 的知識圖譜式講解。核心節點:rw-rw-r-- (文件權限表示法) 這是一個在 Linux/Unix 操作系統中,通過 ls -l 命令查看到的,用于描述文件或目錄訪問權限的10字符字符串。分支一:字符串的解剖 (Anatomy of the …

C#異常處理:更優雅的方式

C#異常處理:更優雅的方式 在 C# 編程的世界里,異常處理是繞不開的重要環節。程序運行時難免會出現各種意外,若處理不當,可能導致程序崩潰,給用戶帶來糟糕體驗。所以,掌握更優雅的異常處理方式,對…

Qt6中模態與非模態對話框區別

一.阻塞 vs 非阻塞1.模態對話框阻塞父窗口:打開后,用戶必須先處理該對話框(關閉或完成操作),才能繼續操作父窗口。應用場景:強制用戶立即響應的場景,如確認對話框、登錄窗口、文件選擇器等。2.非…

處理Web請求路徑參數

目錄 1. 路徑變量(Path Variable) 2. 查詢參數(Query Parameter) 3. 表單參數(Form Data) 4. 請求體JSON參數(Request Body JSON) 5. 請求頭參數(Header Parameters&…

創客匠人:技術賦能下的創始人 IP 打造與內容創作新邏輯

在知識變現的浪潮中,創始人 IP 的核心競爭力始終圍繞內容展開,但內容創作的效率與質量往往成為瓶頸。創客匠人基于對行業的深刻洞察,探索出技術與內容融合的路徑,為創始人 IP 打造提供了新的思路 —— 不再將內容創作視為單純的輸…

Mysql分片:一致性哈希算法

一、一致性哈希的核心原理哈希取模最大的痛點是:當分片數量(例如數據庫節點數)發生變化時,幾乎所有數據的哈希結果都會改變,導致大規模的數據遷移。一致性哈希就是為了解決這個“伸縮性差”的問題而誕生的。核心思想&a…

前端學習 vben 之 axios interceptors

前端學習 vben 之 axios interceptors interceptor 攔截器,是一種軟件設計模式,核心思想就是在程序執行的特定階段(如請求發送前,響應返回后,方法調用前后等)自動插入自定義邏輯。實現對核心流程的“攔截”…

【java面試day4】redis緩存-數據持久化

文章目錄問題💬 Question 1相關知識問題 💬 Question 1 Q:redis作為緩存,數據的持久化是怎么做的? A:有兩種機制,一種是RDB,RDB會在指定的時間間隔內將內存中的數據生成快照,保存…

Vue3中element plus默認獲取最近一周和上個月的時間區間并在后端分開傳值

<el-form-item label"結算時間&#xff1a;" prop"datetimerangevalue"><el-date-pickerv-model"datetimerangevalue"value-format"YYYY-MM-DD HH:mm:ss"type"datetimerange"range-separator"至"start-p…

SQLAlchemy數據庫連接密碼特殊字符處理完全指南

引言 在使用SQLAlchemy連接數據庫時&#xff0c;我們通常使用URL格式指定連接信息&#xff0c;如mysqlpymysql://user:passwordhost:port/database。然而&#xff0c;當密碼中包含特殊字符&#xff08;如、#、$、!等&#xff09;時&#xff0c;會導致URL解析錯誤&#xff0c;進…

1.4 ARM安全參考架構(PSA Certified)

目錄1.4.1 PSA Certified概述1.4.2 PSA認證級別詳解1.4.3 PSA與TF-A的關系1.4.4 PSA安全模型實現信任根(RoT)架構關鍵安全服務&#xff1a;1.4.5 認證流程實踐1.4.6 典型應用案例參考資料1.4.1 PSA Certified概述 ARM Platform Security Architecture (PSA) Certified 是一套完…

企業網絡安全的“金字塔”策略:構建全方位防護體系的核心思路

在數字化轉型的浪潮中&#xff0c;企業的網絡安全已從單一的防護措施&#xff0c;發展成為多層次、全方位的安全體系。如何精準應對日益復雜的網絡威脅&#xff0c;成為眾多企業關注的焦點。本文將分享企業構建高效安全防護“金字塔”的核心思路。一、從“排查隱患”到“主動防…

爬蟲-request模塊使用

1.使用和安裝2.代碼測試打印返回的內容&#xff0c;默認是請求體中的標識.text 是打印源代碼設置一下編碼

HTML + CSS + JavaScript

目錄 1 HTML HTML 文件基本結構 HTML 開發工具 HTML 常見標簽 標題標簽&#xff1a;h1 - h6 段落標簽&#xff1a;p 換行標簽&#xff1a;br 圖片標簽&#xff1a;img 超鏈接標簽&#xff1a;a 表格標簽 表單標簽 form 標簽 input 標簽 select 標簽 textarea 標…

Java 與 MySQL 性能優化:MySQL連接池參數優化與性能提升

文章目錄引言一、連接池的基本概念與作用二、關鍵連接參數詳解2.1 max_connections2.2 wait_timeout2.3 interactive_timeout2.4 connect_timeout2.5 thread_cache_size三、連接池參數不合理導致的性能問題3.1 連接耗盡3.2 響應變慢3.3 連接失效3.4 資源浪費四、連接池參數優化…

浪潮CD1000-移動云電腦-RK3528芯片-2+32G-開啟ADB ROOT破解教程

浪潮CD1000-移動云電腦-RK3528芯片-232G-安卓9-開啟ADB ROOT破解教程破解教程&#xff1a;1.先下載好開心電視助手&#xff08;下載地址及其他版本&#xff1a;【工具大全】-【開心電視助手3.8&#xff0f;4.0&#xff0f;4.6&#xff0f;6.0&#xff0f;6.2&#xff0f;6.3&am…

【網絡編程】簡易的 p2p 模型,實現兩臺虛擬機之間的簡單點對點通信,并以小見大觀察 TCP 協議的具體運行

文章目錄基本概念業務拆解代碼實現準備工作實現被動的功能——多線程指針函數實現主動的功能——用戶選擇界面主函數代碼執行效果意外收獲總結推薦一個零聲教育學習教程&#xff0c;個人覺得老師講得不錯&#xff0c;分享給大家&#xff1a;[Linux&#xff0c;Nginx&#xff0c…

react狀態管理庫 - zustand

什么是zustand&#xff1f; zustand 是一個輕量級、快速且可擴展的 React 狀態管理庫&#xff0c;旨在提供一種簡單直接的方式來管理應用狀態&#xff0c;而無需其他解決方案通常伴隨的繁瑣代碼。根據官方 Zustand 文檔&#xff0c;Zustand 是“一個使用簡化 flux 原理的小型、…

粗排樣本架構升級:融合LTR特征提升模型性能的技術實踐

粗排樣本架構升級&#xff1a;融合LTR特征提升模型性能的技術實踐 ——基于PySpark的樣本構建與特征工程深度解析 一、粗排系統的定位與技術演進 在推薦系統級聯架構中&#xff0c;?粗排&#xff08;Rough Ranking&#xff09;?? 承擔著關鍵過渡角色&#xff1a;從召回層獲…