女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenShift 4和GPU在OpenShift參考架構上的AI工作負載

星星科技指導員 ? 來源:NVIDIA ? 作者:Chris Zankel ? 2022-04-28 15:25 ? 次閱讀

Red Hat OpenShift 是一個企業級 Kubernetes 平臺,用于大規模管理 Kubernetes 集群,由 Red Hat 開發和支持。它提供了一種方法來改變組織如何在本地以及跨混合云管理復雜的基礎設施

人工智能計算給現代商業帶來了深遠的變革,包括金融服務中的欺詐檢測以及娛樂和電子商務的推薦引擎。 2018 年 CTA 市場研究報告顯示,與不采用人工智能的公司相比,將人工智能技術作為公司戰略核心的公司的利潤率提高了 15% 。

為這些新的、大量計算密集型的工作負載提供基礎設施的責任落在了 IT 的肩上,許多組織都在為 AI 部署 IT 認可的基礎設施所帶來的復雜性、時間和成本上苦苦掙扎。多達 40% 的希望部署人工智能的組織將基礎設施視為主要障礙。為人工智能工作負載部署集群通常會在網絡拓撲、計算和存儲資源的規模確定等方面提出問題。 NVIDIA 因此為典型應用創建了參考架構,以減輕猜測。

例如 DGX-POD, 它包含了多個 DGX-1 系統及來自多個供應商的存儲系統。 NVIDIA 根據部署在世界上最大的研究和企業環境中的數千個前沿加速計算節點的經驗,開發了 DGX POD 。然而,要確保人工智能在規模上取得成功,就需要一個軟件平臺,如 KubernetesTM ,以確保人工智能基礎設施的可管理性。

紅帽 OpenShift 4 是一個主要的發行版,它結合了紅帽收購 CoreOS 的技術。其核心(不是雙關語)是基于 Red Hat Enterprise Linux CoreOS ( RHCOS )的不可變系統映像。它遵循了一個新的范例,即安裝在部署之后永遠不會被修改或更新,而是被整個系統映像的更新版本所取代。這就提供了更高的可靠性和一致性,并提供了更可預測的部署過程。

這篇文章首先介紹了 OpenShift 4 和 GPU 操作符在 OpenShift 參考架構上的 AI 工作負載。我們基于一個需要一些手動步驟的軟件預覽,這將在最終版本中解決。

安裝和運行 OpenShift 需要一個 Red Hat 帳戶和其他訂閱。官方安裝說明見 在裸機上安裝群集 。

測試設置概述

OpenShift 集群的最小配置包括三個 主人 節點和兩個 工人 節點(也稱為 計算 節點)。集群的初始設置需要一個額外的 引導 節點,可以在安裝過程中刪除或重新調整其用途。有三個主節點的要求確保了高可用性(避免了大腦分裂的情況),并允許主節點不間斷地升級。

我們在一臺 x86 機器上使用虛擬機作為引導和主節點,兩個 DGX-1 系統用于計算節點(裸機)。負載平衡器在單獨的虛擬機中運行,以將請求分發到節點。使用循環 DNS 也起到了作用,但要正確地配置結果卻很棘手。需要將 virsh 網絡設置為橋接模式,而不是 NAT ,以便節點可以相互通信

Red Hat OpenShift 4 還沒有為裸機系統提供完全自動化的安裝方法,但需要外部基礎設施來提供和執行初始安裝( OpenShift 文檔將其稱為 用戶提供的基礎設施( UPI ) 。在我們的例子中,我們使用 x86 服務器通過 PXE 引導來配置和引導節點。一旦安裝,節點將自動執行升級。

創建系統配置

Red Hat Enterprise Linux CoreOS 使用點火進行系統配置。點火提供了與 cloud init 類似的功能,并允許在第一次引導期間配置系統。

點火文件由 OpenShift 起始頁 安裝程序從配置文件 install-config.yaml 生成。它通過各種參數描述集群,還包括一個 SSH 密鑰和用于從 redhat 容器存儲庫提取容器的憑據。可以從 OpenShift 下載 OpenShift 工具和 Pull Secret 。

apiVersion: v1
baseDomain: nvidia.com
compute:
- hyperthreading: Enabled name: worker platform: {} replicas: 2
controlPlane: hyperthreading: Enabled name: master platform: {} replicas: 3
metadata: creationTimestamp: null name: dgxpod
networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 networkType: OpenShiftSDN machineCIDR: 10.0.0.0/16 serviceNetwork: - 172.30.0.0/16
platform: none: {}
pullSecret: '{"auths": ….}'
sshKey: ssh-rsa ...

參數baseDomainmetadata:name構成集群的域名(dgxpod.nvidia.com)。網絡參數描述了 OpenShift 集群的內部網絡,只有在與外部網絡沖突時才需要修改。

以下命令為節點創建點火文件,并為集群創建身份驗證文件。因為這些命令刪除了安裝 – 組態軟件,所以我們在ignition目錄之外保留了它的一個副本。生成的身份驗證文件(ignition/auth/kubeconfig)應重命名并復制到$USERHOME/.kube/config

mkdir ignition
cp install-config.yaml ignition
openshift-install --dir ignition create ignition-configs

DHCP 和 PXE 引導

設置 PXE 引導當然不是一件容易的事;提供詳細的說明超出了本文的范圍。讀者應具備設置 PXE 引導和 DHCP 的知識。以下代碼段僅介紹 dnsmasq 的 DNS 配置。

dnsmasq 配置文件中的 address 指令允許使用通配符來解析任何帶有負載平衡器地址的*. apps 請求。 SRV 條目允許集群訪問 etcd 服務。

# Add hosts file
addn-hosts=/etc/hosts.dnsmasq # Forward all *.apps.dgxpod.nvidia.com to the load balancer
address=/apps.dgxpod.nvidia.com/10.33.3.54/ # SRV DNS records
srv-host=_etcd-server-ssl._tcp.dgxpod.nvidia.com,etcd-0.dgxpod.nvidia.com,2380,0,10
srv-host=_etcd-server-ssl._tcp.dgxpod.nvidia.com,etcd-1.dgxpod.nvidia.com,2380,0,10
srv-host=_etcd-server-ssl._tcp.dgxpod.nvidia.com,etcd-2.dgxpod.nvidia.com,2380,0,10

相應的/etc/hosts.dnsmasq文件列出了 IP 地址和主機名。注意, OpenShift 要求每個主機的第一個條目是節點名,例如master-0api-intapi項指向負載平衡器。

10.33.3.44 worker-0.dgxpod.nvidia.com
10.33.3.46 worker-1.dgxpod.nvidia.com 10.33.3.50 master-0.dgxpod.nvidia.com etcd-0.dgxpod.nvidia.com
10.33.3.51 master-1.dgxpod.nvidia.com etcd-1.dgxpod.nvidia.com
10.33.3.52 master-2.dgxpod.nvidia.com etcd-2.dgxpod.nvidia.com 10.33.3.53 bootstrap.dgxpod.nvidia.com 10.33.3.54 api-int.dgxpod.nvidia.com api.dgxpod.nvidia.com

下面的pxelinux.cfg文件是一個非 EFI-PXE 引導配置的示例。它定義內核和初始 ramdisk ,并提供額外的命令行參數。注意,前綴為coreos的參數被傳遞給 CoreOS 安裝程序。

DEFAULT rhcos
PROMPT 0
TIMEOUT 0 LABEL rhcos kernel rhcos/rhcos-410.8.20190425.1-installer-kernel initrd rhcos/rhcos-410.8.20190425.1-installer-initramfs.img append ip=dhcp rd.neednet=1 console=tty0 console=ttyS0 coreos.inst=yes coreos.inst.install_dev=vda coreos.inst.image_url=http://10.33.3.18/rhcos/rhcos-410.8.20190412.1-metal-bios.raw coreos.inst.ignition_url=http://10.33.3.18/rhcos/ignition/master.ign

內核、 initramfs 和 raw 映像可以從 OpenShift 鏡像 獲得。安裝說明 在裸機上安裝群集 提供了最新版本和下載路徑。應將上一步驟中的映像文件和點火配置復制到 http 目錄。請確保為所有這些文件設置了正確的 http SELinux 標簽。請注意, DGX-1 系統僅支持 UEFI 進行網絡引導,因此需要不同的文件集。

負載平衡器

負載平衡器處理跨在線節點的分布式請求。我們在一個單獨的虛擬機中運行 CentOS 的實例,并使用 HAProxy 進行以下配置。

listen ingress-http bind *:80 mode tcp server worker-0 worker-0.dgxpod.nvidia.com:80 check server worker-1 worker-1.dgxpod.nvidia.com:80 check listen ingress-https bind *:443 mode tcp server worker-0 worker-0.dgxpod.nvidia.com:443 check server worker-1 worker-1.dgxpod.nvidia.com:443 check listen api bind *:6443 mode tcp server bootstrap bootstrap.dgxpod.nvidia.com:6443 check server master-0 master-0.dgxpod.nvidia.com:6443 check server master-1 master-1.dgxpod.nvidia.com:6443 check server master-2 master-2.dgxpod.nvidia.com:6443 check listen machine-config-server bind *:22623 mode tcp server bootstrap bootstrap.dgxpod.nvidia.com:22623 check server master-0 master-0.dgxpod.nvidia.com:22623 check server master-1 master-1.dgxpod.nvidia.com:22623 check server master-2 master-2.dgxpod.nvidia.com:22623 check

創建引導節點和主節點

virt install 命令允許輕松部署引導和主節點。 節點名稱 應替換為節點的實際名稱, 節點 MAC 應替換為節點的相應網絡地址( MAC )。

virt-install --connect qemu:///system --name --ram 8192 --vcpus 4 --os-type=linux --os-variant=virtio26 --disk path=/var/lib/libvirt/images/.qcow2,device=disk,bus=virtio,format=qcow2,size=20 --pxe --network bridge=virbr0 -m --graphics vnc,listen=0.0.0.0 --noautoconsole

初始安裝完成后,虛擬機退出,必須手動重新啟動。可以使用打印所有活動虛擬機的sudo virsh list監視虛擬機的狀態。重新啟動virsh start 節點時virsh start 會再次重新啟動virsh start 節點。

假設設置和配置正確,集群的整個安裝過程應該不到一個小時。可以使用以下命令監視初始引導進程。

openshift-install --dir wait-for bootstrap-complete

引導完成后,可以刪除引導節點。接下來,等待整個安裝過程完成,使用:

openshift-install --dir wait-for install-complete

安裝程序的預發布版本有時報告錯誤,但最終成功完成。因為它也沒有自動批準掛起的證書( CSR ),所以我們添加了以下 crontab 條目,每 10 分鐘運行一次。

*/10 * * * * dgxuser oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve

GPU 支持

NVIDIA 和 Red Hat 繼續合作,為部署和管理 GPU 驅動程序提供了一個簡單明了的機制。 節點特征發現操作符 ( NFD )和 GPU 算子為這種改進的機制奠定了基礎,并且可以從胡德帽操作中心獲得。這允許隨時部署和優化軟件堆棧。以下說明描述了安裝這些操作器的手動步驟。

NFD 檢測 OpenShift 集群中的硬件特性和配置,例如 CPU 類型和擴展,或者在我們的例子中是 NVIDIA GPUs 。

git clone h?ttps://github.com/openshift/cluster-nfd-operator
cd cluster-nfd-operator/manifests
oc create -f .
oc create -f cr/nfd_cr.yaml

安裝完成后, NVIDIA GPU 應該會出現在 worker 節點的特性列表中;最終的軟件將提供一個人類可讀的名稱,而不是供應商 ID (0x10de表示 NVIDIA )。

oc describe node worker-0|grep 10de feature.node.kubernetes.io/pci-10de.present=true

特種資源運營商 ( SRO )為加速卡提供了一個模板。當檢測到組件并安裝正確的驅動程序和其他軟件組件時,它將激活。

特殊資源運營商的開發版本已經包含了對 NVIDIA GPUs 的支持,并將在可用時并入 NVIDIA GPU 運營商。它管理所有必需的 NVIDIA 驅動程序和軟件組件的安裝過程。

git clone https://github.com/zvonkok/special-resource-operator
cd special-resource-operator/manifests
oc create -f .
cd cr
oc create -f sro_cr_sched_none.yaml

以下nvidia-smi.yamlfile defines a Kubernetes Pod that can be used for a quick validation. It allocates a single GPU and runsthenvidia-smicommand.

apiVersion: v1
kind: Pod
metadata: name: nvidia-smi
spec: containers: - image: nvidia/cuda name: nvidia-smi command: [ nvidia-smi ] resources: limits: nvidia.com/gpu: 1 requests: nvidia.com/gpu: 1

oc create -f nvidia-smi.yaml腳本創建并運行 pod 。要監視 pod 創建的進度,請使用oc describe pod nvidia-smi。完成后,可以使用oc logs nvidia-smi查看oc logs nvidia-smi-smi 命令的輸出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.56 Driver Version: 418.56 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla V100-SXM2... On | 00000000:86:00.0 Off | 0 |
| N/A 36C P0 41W / 300W | 0MiB / 16130MiB | 1% Default |
+-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+

最后,可以使用 oc delete pod nvidia-smi 刪除 pod 。

結論

引入運營商和構建在 Red Hat Enterprise Linux CoreOS 之上的不可變基礎設施,為 OpenShift 4 帶來了令人興奮的改進。它簡化了多節點大規模 GPU 加速數據中心的優化軟件堆棧的部署和管理。這些新功能現在看起來相當可靠,我們認為客戶將來會很樂意使用它們的。

關于作者

Chris Zankel 是 NVIDIA DGX 系統軟件的高級產品經理。作為一名工程師轉為產品經理,他擁有從嵌入式設備到大型企業系統的經驗。在過去的工作中,他積極為 Linux 內核做出貢獻,并致力于存儲、虛擬化和容器化

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4912

    瀏覽量

    130681
  • 人工智能
    +關注

    關注

    1804

    文章

    48737

    瀏覽量

    246669
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    面向半定制AI基礎架構的NVIDIA NVLink Fusion技術

    為了高效應對 AI 工作負載,數據中心正在被重構。這是一項非常復雜的工作,因此,NVIDIA 目前正在交付以 NVIDIA 機架級架構為單位
    的頭像 發表于 06-06 14:59 ?188次閱讀
    面向半定制<b class='flag-5'>AI</b>基礎<b class='flag-5'>架構</b>的NVIDIA NVLink Fusion技術

    GPU架構深度解析

    、游戲娛樂等領域。本文將深入探討GPU架構的演變歷程、核心組件以及其不同應用場景中的優勢。1、GPU架構的演變早期的
    的頭像 發表于 05-30 10:36 ?121次閱讀
    <b class='flag-5'>GPU</b><b class='flag-5'>架構</b>深度解析

    英特爾發布全新GPUAI工作站迎來新選擇

    英特爾推出面向準專業用戶和AI開發者的英特爾銳炫Pro GPU系列,發布英特爾? Gaudi 3 AI加速器機架級和PCIe部署方案 ? 2025 年 5 月 19 日,北京 ——今日,
    發表于 05-20 11:03 ?1471次閱讀

    iTOP-3588S開發板四核心架構GPU內置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    ,8GB內存,32GBEMMC。 四核心架構GPU內置GPU可以完全兼容0penGLES1.1、2.0和3.2。 內置NPU RK3588S內置NPU,支持INT4/INT8/INT1
    發表于 05-15 10:36

    適用于數據中心和AI時代的800G網絡

    和性能隔離能力,以保障不同用戶任務互不干擾。 分布式AI計算與網絡架構設計 分布式計算已成為AI訓練的主流方式,通過將工作負載分配
    發表于 03-25 17:35

    無法GPU運行ONNX模型的Benchmark_app怎么解決?

    CPU 和 GPU 運行OpenVINO? 2023.0 Benchmark_app推斷的 ONNX 模型。 CPU 推理成功
    發表于 03-06 08:02

    GPU是如何訓練AI大模型的

    AI模型的訓練過程中,大量的計算工作集中矩陣乘法、向量加法和激活函數等運算上。這些運算正是GPU所擅長的。接下來,
    的頭像 發表于 12-19 17:54 ?647次閱讀

    深度學習工作負載GPU與LPU的主要差異

    ,一個新的競爭力量——LPU(Language Processing Unit,語言處理單元)已悄然登場,LPU專注于解決自然語言處理(NLP)任務中的順序性問題,是構建AI應用不可或缺的一環。 本文旨在探討深度學習工作負載
    的頭像 發表于 12-09 11:01 ?3243次閱讀
    深度學習<b class='flag-5'>工作</b><b class='flag-5'>負載</b>中<b class='flag-5'>GPU</b>與LPU的主要差異

    《算力芯片 高性能 CPUGPUNPU 微架構分析》第3篇閱讀心得:GPU革命:從圖形引擎到AI加速器的蛻變

    昇騰采用達芬奇架構AI Core中集成了標量/向量/張量處理單元。我注意到書中對TPU v4光學芯片互聯的分析特別深入,這種創新或將重塑未來AI
    發表于 11-24 17:12

    GPU服務器AI網絡架構設計

    眾所周知,大型模型訓練中,通常采用每臺服務器配備多個GPU的集群架構。在上一篇文章《高性能GPU服務器AI網絡
    的頭像 發表于 11-05 16:20 ?1082次閱讀
    <b class='flag-5'>GPU</b>服務器<b class='flag-5'>AI</b>網絡<b class='flag-5'>架構</b>設計

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構分析」閱讀體驗】--了解算力芯片GPU

    每個CUDA單元 OpenCL 編程框架中都有對應的單元。 倒金字塔結構GPU存儲體系 共享內存是開發者可配置的編程資源,使用門檻較高,編程需要更多的人工顯式處理。 并行計算
    發表于 11-03 12:55

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構分析」閱讀體驗】--全書概覽

    GPU 中的應用歷史 第9章 張量處理器設計 9.1 張量的定義 9.2 脈動陣列計算單元 9.3 Volta 架構引入張量核心 9.4 華為異騰Ascend910NPU芯片 第 10 章
    發表于 10-15 22:08

    【「大模型時代的基礎架構」閱讀體驗】+ 未知領域的感受

    ”,好奇于這種大模型算力中心到底是如何建設的,用什么設備、什么架構建設的?對這些問題真是一無所知,甚至都沒有想過,帶著這份好奇開始閱讀。 先瀏覽目錄,共分十三章,目錄中出現最多的就是GPU,比如機器學習
    發表于 10-08 10:40

    名單公布!【書籍評測活動NO.43】 算力芯片 | 高性能 CPU/GPU/NPU 微架構分析

    ,即大模型專用AI超級計算機的中樞核心。 作者介紹: 濮元愷,曾就職于中關村在線核心硬件事業部,負責CPU和GPU類產品評測,長期關注GPGPU并行計算相關芯片微架構。目前量化金融
    發表于 09-02 10:09

    ai服務器是什么架構類型

    架構AI服務器通常具有較高的通用性,可以運行各種人工智能算法。但是,CPU架構AI服務器處理大規模并行計算時,性能可能不如
    的頭像 發表于 07-02 09:51 ?1778次閱讀