便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持 | 龙蜥技术
编者按:日前,Alibaba Cloud Linux 3 为使 AI 开发体验更高效,提供了一些优化升级,本文为“Alibaba Cloud Linux 3 AI 能力介绍”系列文章预告篇,以 GPU 实例为例,为大家演示 Alibaba Cloud Linux 3 对 AI 生态的支持。接下来还将陆续发布 2 篇系列文章,主要介绍基于 Alinux 的云市场镜像为用户提供开箱即用的 AI 基础软件环境,以及基于 AMD 介绍 AI 能力差异化。敬请期待。更多 Alibaba Cloud Linux 3 信息可前往官网查看:https://www.aliyun.com/product/ecs/alinux

当在 Linux 操作系统上开发人工智能(AI)应用程序时,研发人员可能会遇到一些挑战,这些挑战包括但不限于:
1. GPU 驱动程序:为了在 Linux 系统上使用 NVIDIA GPU 进行训练或推理,需要安装和配置正确的 NVIDIA GPU 驱动程序。由于不同的操作系统和 GPU 型号可能需要不同的驱动程序,因此可能需要一些额外的工作。
2. AI 框架编译:在 Linux 系统上使用 AI 框架进行编程时,需要安装和配置适当的编译器和其他依赖项。这些框架通常需要进行编译,因此需要确保正确安装了编译器和其他依赖项,并正确配置编译器。
3. 软件兼容性:Linux 操作系统支持许多不同的软件和工具,但不同版本和发行版之间可能存在兼容性问题。这可能会导致某些程序无法正常运行或者在某些操作系统上不可用。因此,研发人员需要了解其工作环境的软件兼容性,并进行必要的配置和修改。
4. 性能问题:AI 软件栈是一个异常复杂的系统,通常需要对不同型号的 CPU 和 GPU 进行专业的优化,才能发挥其最佳性能。软硬件协同的性能优化对于 AI 软件栈来说是一个具有挑战性的任务,需要拥有高超的技术水平和专业知识。
阿里云第三代云服务器操作系统 Alibaba Cloud Linux 3(以下简称“Alinux 3”)是基于龙蜥操作系统 Anolis OS 研发的商业版操作系统,为开发人员提供了强大的 AI 开发平台,通过支持龙蜥生态 repo(epao),Alinux 3 实现了对主流的 nvidia GPU 和 CUDA 生态的全面支持,使得 AI 开发更加便捷高效。此外,Alinux 3 还支持主流的 AI 框架 TensorFlow/PyTorch,intel/amd 等不同 CPU 平台对 AI 的优化,还将引入了 modelscope、huggingface 等大模型 SDK 的原生支持,为开发人员提供了丰富的资源和工具。这些支持,使得 Alinux 3 成为了一个完善的 AI 开发平台,解决 AI 开发人员的痛点问题,不用一直折腾环境,让 AI 开发体验更容易更高效。
Alinux 3 为开发人员提供了强大的 AI 开发平台。为了解决以上研发人员可能遇到的挑战,Alinux 3 提供了以下几点优化升级:
1. Alinux 3 通过引入龙蜥生态软件仓库(epao),支持开发者一键安装主流 NVIDIA GPU 驱动以及 CUDA 加速库,节省了开发者需要匹配驱动版本以及手动安装的时间。
2. epao 仓库中还提供了对主流 AI 框架 Tensorflow/PyTorch 的版本支持,同时安装过程中会自动解决 AI 框架的依赖问题,开发者无需进行额外编译,即可搭配系统 Python 环境进行快速开发。
3. Alinux 3 的 AI 能力在提供给开发者之前,所有组件均经过兼容性测试,开发者可以一键安装对应的 AI 能力,免去了环境配置中可能出现的对系统依赖项的修改,提高了使用过程中的稳定性。
4. Alinux 3 针对 Intel/AMD 等不同平台的 CPU 进行了 AI 专门优化,更好地释放硬件的全部性能。
5. 为了更快的适应 AIGC 产业的快速迭代,Alinux 3 还将引入对 ModelScope、HuggingFace 等大模型 SDK 的原生支持,为开发人员提供了丰富的资源和工具。
在多维度的优化加持下,使得 Alinux 3 成为一个完善的 AI 开发平台,解决了 AI 开发人员的痛点问题,让 AI 开发体验更容易更高效。
以下以阿里云 GPU 实例为例子,演示 Alinux 3 对 AI 生态的支持:
1、购买 GPU 实例

2、选择 Alinux 3 镜像

3、安装 epao repo 配置
dnf install -y anolis-epao-release
4、安装nvidia GPU driver
安装 nvidia driver 之前先保证 kernel-devel 已安装,确保 nvidia driver 安装成功。
dnf install -y kernel-devel-$(uname-r)
安装 nvidia driver:
dnf install -y nvidia-driver nvidia-driver-cuda
安装完成后可以通过 nvidia-smi 命令查看 GPU 设备状态。

5、安装 cuda 生态库
dnf install -y cuda
6、 安装 AI 框架 tensorflow/pytorch
当前提供 CPU 版的 tensorflow/pytorch,未来将支持 GPU 版的 AI 框架。
dnf install tensorflow -y
dnf install pytorch -y
安装完成后可通过简单的命令查看是否安装成功:


7、部署模型
使用 Alinux 3 对 AI 的生态支持,可以部署 GPT-2 Large 模型来进行本文续写任务。
安装 Git 以及 Git LFS 方便后续下载模型。
dnf install -y git git-lfs wget
更新 pip,便于后续部署 Python 环境。
python -m pip install --upgrade pip
启用 Git LFS 的支持。
git lfs install
下载 write-with-transformer 项目源码,以及预训练模型。write-with-transformer 项目是一个网页写作 APP,可以使用 GPT-2 大模型对写作内容进行续写。
git clone https://huggingface.co/spaces/merve/write-with-transformer
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/gpt2-large
wget https://huggingface.co/gpt2-large/resolve/main/pytorch_model.bin -O gpt2-large/pytorch_model.bin
安装 write-with-transformer 所需要的依赖环境。
cd ~/write-with-transformer
pip install --ignore-installed pyyaml==5.1
pip install -r requirements.txt
环境部署完毕后,就可以运行网页版 APP,来体验 GPT-2 帮助完成写作的乐趣。目前 GPT-2 只支持使用英文进行文本生成。
cd ~/write-with-transformer
sed -i 's?"gpt2-large"?"../gpt2-large"?g' app.py
sed -i '34s/10/32/;34s/30/120/' app.py
streamlit run app.py --server.port 7860
回显信息出现 External URL: http://<ECS EXTERNAL IP>:7860 表明网页版 APP 运行成功。

“更多龙蜥产品、生态、技术合作可发送邮件至邮箱 secretary@openanolis.org,我们会第一时间与您联系。”
—— 完 ——
相关文章:
便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持 | 龙蜥技术
编者按:日前,Alibaba Cloud Linux 3 为使 AI 开发体验更高效,提供了一些优化升级,本文为“Alibaba Cloud Linux 3 AI 能力介绍”系列文章预告篇,以 GPU 实例为例,为大家演示 Alibaba Cloud Linux 3 对 AI 生…...
创新科技改变城市:智慧城市建设全景展望
在当今科技飞速发展的时代,智慧城市的概念已经成为城市发展的新趋势,为人们的生活带来了前所未有的便利和改变。智慧城市,顾名思义,是以先进的信息技术为基础,通过数字化、互联网化和智能化手段,实现城市基…...
Kotlin 环境下解决属性初始化问题
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
Java复习-20-接口(3)- 代理设计模式
代理设计模式(Proxy) 功能:可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上。 代理模式(Proxy Pattern)是一种结构性模式。代理模式为一个对象提供了一个替身,以控制对这个对象的访问。即通过代理对象访问目标目标对象,可以在目…...
如何远程访问Linux MeterSphere一站式开源持续测试平台
文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…...
LinuxUbuntu安装OpenWAF
Linux&Ubuntu安装OpenWAF 官方GitHub地址 介绍 OpenWAF(Web Application Firewall)是一个开源的Web应用防火墙,用于保护Web应用程序免受各种网络攻击。它通过与Web服务器集成,监控和过滤对Web应用程序的流量,识…...
LeetCode 剑指offer 09.用两个栈实现队列
LeetCode 剑指offer 09.用两个栈实现队列 题目描述 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回…...
第三方软件检测机构有哪些资质,2023年软件测评公司推荐
软件第三方测试报告 伴随着软件行业的蓬勃发展,软件测试也迎来了热潮,但是国内的软件测试行业存在着测试入行门槛低、测试投入少、测试人员专业性不足等问题,这些问题不但会阻碍软件测试行业的良性发展,而且难以保证软件产品的质…...
Unity的GPUSkinning进一步介绍
大家好,我是阿赵。 在几年前,我曾经写过一篇介绍GPUSkinning的文章,这么多年之后,还是看到不停有朋友在翻看这篇旧文章。今天上去GitHub看了一下,GPUSkinning这个开源的插件已经很久没有更新过了,还是停…...
Mysql redolog
一、redolog 是啥 数据库的ACID:A原子性,C一致性,I隔离性,D持久性; redolog:保证 持久性; redolog: 系统奔溃重启时需要按照上述内容所记录的步骤重新更新数据页,特点:…...
【设计模式】Head First 设计模式——桥模式 C++实现
设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 桥模式。将抽象部分(业务功能)与实现部分(平…...
CESM2代码下载
这半年忙着毕业写论文,好久好久好久不更新了∠( ω)/ ,今天准备开个新坑 ๑乛◡乛๑,学习一下CESM(Community Earth System Model),它是一个完全耦合的全球气候模型,可用于地球过去、…...
编写OpenCL程序的基本步骤
opencl pyopencl OpenCL-Headers OpenCL(全称为Open Computing Langugae,开放运算语言)是第一个面向异构系统(此系统中可由CPU,GPU或其它类型的处理器架构组成)的并行编程的开放式标准。 它是跨平台的。 OpenCL由两部分组成,一是用于编写…...
计算机网络之TCP/IP协议第一篇:网络基础知识
文章目录 写给自己的话 一:前言 1:手握金刚钻的TCP/IP 2:计算机中的协议 3:分组...
虚拟机扩容
系统环境centos8,分两步,第一步先在vmware扩容,第二部在虚拟机内部扩容 1.vmware分配磁盘空间 2.虚拟机内部扩容 查看当前磁盘信息,这个是扩容之前的,扩容完成才会显示新的 df -h查看系统分区信息 fdisk -l查看目录…...
Linux下的系统编程——进程间的通信(九)
一、进程间通信常用方式 IPC方式: Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核&am…...
Qt QtableWidget、QtableView表格删除选中行、删除单行、删除多行
文章目录 Qt QtableWidget表格删除选中行只能选择一行,点击按钮后,删除一行可以选择中多行,点击按钮后,删除多行选中某一列中的不同行,点击按钮后,删除多行 QTableWidgetSelectionRange介绍QTableWidget的选…...
【代码随想录day24】不同的二叉搜索树
题目 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出…...
数学建模--Subplot绘图的Python实现
目录 1.Subplot函数简介 2.Subplot绘图范例1:绘制规则子图 3.Subplot绘图范例2:绘制不规则子图 4.Subplot绘图范例3:gridspec辅助实战1 5.Subplot绘图范例4:gridspec辅助实战2 1.Subplot函数简介 """ 最近在数学建模种需要绘制多张子图,发现对于subplot函…...
JMeter(三十九):selenium怪异的UI自动化测试组合
文章目录 一、背景二、JMeter+selenium使用过程三、总结一、背景 题主多年前在某社区看到有人使用jmeter+selenium做UI自动化测试的时候,感觉很是诧异、怪异,为啥?众所周知在python/java+selenium+testng/pytest这样的组合框架下,为啥要选择jmeter这个东西[本身定位是接口测…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
