倚天自强!

简介: 倚天710推出接近2年,您是否真正用过阿里云搭载倚天710的ECS云服务器?您是否对ARM架构的服务器感到陌生?让我通过本篇文章向您展示搭载倚天710云服务器的强大性能、超高的可靠性以及其优秀的性价比!倚天云服务器采用倚天710处理器,基于新一代CIPU架构,通过芯片快速路径加速手段完成计算、存储、网络性能的数量级提升。

测评未始,福利先送

ECS免费送,测评领好礼:👉👉👉点击即领3月C8Y ECS服务器👈👈👈


👉👉👉视频讲解,点击直达👈👈👈

👉👉👉视频讲解,点击直达👈👈👈

👉👉👉视频讲解,点击直达👈👈👈



倚天一出,谁与争锋?

5nm、单芯600亿晶体管、128核、主频3.2GHz、支持DDR5内存、PCIe5.0。首战跑分就超出业内标杆20%,能效比提升50%以上。这就是2021年云栖大会上由平头哥半导体发布首颗为云而生的CPU芯片倚天710


作为一颗高性能服务器芯片,倚天710芯片针对云场景的高并发、高性能和高能效需求而设计,把最前沿的芯片设计技术与云场景的独特需求相结合,最终实现了性能和能效比的突破。

例如云计算高并发条件下的带宽瓶颈,倚天710就对片上互联进行了特殊优化设计,通过全新的流控算法,有效缓解系统拥塞,从而提升了系统效率和扩展性。

这也是为什么平头哥的倚天710一出,Arm赛道服务器CPU无一能与争锋关键原因。

货比"三家",低价先行


本次对比测评的实例规格有三个,如下表所示(标配带40GiB的PL0系统盘)


服务器规格

价格(抢占/按需/包月)单位:元

c8y.large

0.09/时 | 0.175/时| 148.13

c7.large

0.119/时 | 0.45/时 | 215.70

c8i.large

0.119/时 | 0.47/时 | 225.48


从上表来看,若性能一致,那ARM架构的C8y更具价格优势。若是性能上再能够比x86的服务器高上10~20%,那么这钱是真花得值,在性价比方面完胜X86服务器。那么在这一环节看,我们的倚天710支持的c8y ARM服务器的确是占据低价优势,接下来,我们共同看看性能方面的测试。


测试先跑分

笔者之前有对于阿里云服务器的很详细的测评,其中采用Geekbench来测试服务器的CPU分数

规格参数

服务器规格

系统版本

geekbench版本

处理器

c8y.large 2h4g

Ubuntu 22.04 64位

6.1.0

Yitian 710

c7.large 2h4g

Ubuntu 22.04 64位

6.1.0

Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz

c8i.large 2h4g

Ubuntu 22.04 64位

6.1.0

Intel(R) Xeon(R) Platinum 8475B

测试代码

# ARM版
wget https://cdn.geekbench.com/Geekbench-6.1.0-LinuxARMPreview.tar.gz
tar -zxf Geekbench-6.1.0-LinuxARMPreview.tar.gz
cd Geekbench-6.1.0-LinuxARMPreview/
./geekbench6 
# x86版本
wget https://cdn.geekbench.com/Geekbench-6.1.0-Linux.tar.gz
tar -zxf Geekbench-6.1.0-Linux.tar.gz
cd Geekbench-6.1.0-Linux/
./geekbench6

测试结果

分数(单核/多核)

测试结果链接

c8y.large 2h4g

1377/2494

https://browser.geekbench.com/v6/cpu/2083122

c7.large 2h4g

1665/1920

https://browser.geekbench.com/v6/cpu/2082975

c8i.large 2h4g

1796/2211

https://browser.geekbench.com/v6/cpu/2082897

从测试结果来看,倚天710在单核测试确实不尽人意,但是多核可以完爆另外两个规格的处理器,这也可以从倚天710的架构设计上进行回答,具体的详解我会放在后面为大家解答,同时也希望大家不要单看服务器的单核分数,因为实际使用中,真的会只使用单核服务器吗?对吧,在实际业务中,服务器的规格会很大,以支撑业务完整运行,关于倚天710多核的优秀性能会在后面为大家解释,请耐心往下阅读!👉👉👉也可直接点击跳转👈👈👈

测码奔腾

本次测试采用FFmpeg来进行测试,同时使用Python构建一个并行处理转码的服务器,用来接收客户端发来的转码请求,实际操作步骤如下

测试参数如下

注:实例规格较小,但是同规格,不影响测试的对比,望周知

服务器

处理器

配置

测试任务

测试文件

c8y.large

倚天710

2H4G

flv转mp4(h264)

LG.flv

c7.large

Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz

2H4G

flv转mp4(h264)

LG.flv

c8i.large

Intel(R) Xeon(R) Platinum 8475B

2H4G

flv转mp4(h264)

LG.flv

测试文件、转码后视频文件

源视频文件:https://www.aliyundrive.com/s/Xjr437fRrvN

arm转码后视频文件:https://www.aliyundrive.com/s/Xjr437fRrvN

x86转码后视频文件:https://www.aliyundrive.com/s/ki6qBmrRUPh

原视频参数

ffmpeg -i LG.flv

安装必备依赖包

apt update && apt install -y ffmpeg python3 python3-pip3 && pip3 install Flask

服务器端ffmpeg并发转码代码

直接在终端运行即可,会自动写入文件

cat >> trans_video.py << EOF
import os
from flask import Flask, request, jsonify
import subprocess
from datetime import datetime
import threading
import uuid
app = Flask(__name__)
def get_resolution_param():
    resolution = request.args.get('resolution')
    if resolution not in ['30', '60']:
        resolution = '30'  # 默认为30
    return resolution
def get_output_file_name(input_filename, resolution):
    base_name, extension = os.path.splitext(input_filename)
    current_time = datetime.now().strftime("%Y%m%d_%H%M%S")
    unique_id = str(uuid.uuid4())[:8]
    return f"{base_name}_{current_time}_{unique_id}_{resolution}fps.mp4"
@app.route('/transcode', methods=['POST'])
def transcode():
    input_file = request.files.get('file')
    if not input_file:
        return jsonify({'error': 'No file received'})
    resolution = get_resolution_param()
    output_file = get_output_file_name(input_file.filename, resolution)
    start_time = datetime.now()  # 记录开始时间
    ffmpeg_cmd = ['ffmpeg', '-i', input_file.filename, '-c:v', 'h264', '-c:a', 'copy', '-b:v', '3000k',  '-copyts', '-r', resolution, output_file]
    try:
        # 保存上传的文件到服务器
        input_file.save(input_file.filename)
        # 创建一个新的线程来处理转码
        transcode_thread = threading.Thread(target=do_transcode, args=(ffmpeg_cmd, input_file.filename, output_file, start_time))
        transcode_thread.start()
    except Exception as e:
        return jsonify({'error': 'Transcoding failed'})
    return jsonify({'message': 'Transcoding started', 'output_file': output_file})
def do_transcode(ffmpeg_cmd, input_filename, output_file, start_time):
    try:
        # 执行转码命令
        subprocess.run(ffmpeg_cmd, check=True)
    except Exception as e:
        pass
    end_time = datetime.now()  # 记录结束时间
    processing_time = end_time - start_time
    total_seconds = processing_time.total_seconds()
    print(f'Transcoding completed in {total_seconds} seconds.')
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
EOF

客户端请求代码

同上,直接在终端运行即可,会自动写入文件

cat >> send_task.py << EOF
import os
import requests
from concurrent.futures import ThreadPoolExecutor
def transcode_video(file_path, resolution):
    url = "http://127.0.0.1:5000/transcode"
    files = {'file': open(file_path, 'rb')}
    params = {'resolution': resolution}
    response = requests.post(url, files=files, params=params)
    return response.json()
if __name__ == "__main__":
    file_path = "/root/LG.flv"  # 替换为实际视频文件路径
    resolution = "30"  # 替换为所需的分辨率
    # 使用ThreadPoolExecutor进行并发转码测试
    with ThreadPoolExecutor() as executor:
        # 可按需求修改range中的并发请求数量
        futures = [executor.submit(transcode_video, file_path, resolution) for _ in range(6)]
        for future in futures:
            result = future.result()
            print(result)
EOF

开始测试

需要每台服务器开启两个窗口,一个窗口用来运行服务器端,等待接收客户端发来的请求,进行转码处理,另一个窗口则用来模拟客户端发送请求

以C8Y为例

# 服务器端
python3 trans_video.py
# 客户端
python3 send_task.py


测试结果

并发转码量:2

服务器

并发数量

结果(成功/总数)

耗时/任务

稳定平均FPS

c8y.large

2

2/2

约135s

9.5

c7.large

2

2/2

约160s

8.0

c8i.large

2

2/2

约148s

8.7

并发转码量:4

服务器

并发数量

结果(成功/总数)

耗时/任务

稳定平均FPS

c8y.large

4

4/4

约272s

4.7

c7.large

4

4/4

约323s

4.0

c8i.large

4

4/4

约299s

4.3

并发转码量:6

服务器

并发数量

结果(成功/总数)

耗时

稳定平均fps

c8y.large

6

6/6

约410s

3.3

c7.large

6

6/6

约487s

2.6

c8i.large

6

6/6

约454s

2.8

并发转码量:8

服务器

并发数量

结果(成功/总数)

耗时

备注

c8y.large

8

6/8

约383

应是内存吃满,导致两个任务失败

c7.large

8

0/8

未完成

卡顿严重,几乎卡死

c8i.large

8

6/8

约456

应是内存吃满,导致两个任务失败

转码质量比较(pnsr&&ssim)

机型

PNSR&SSIM

结论

arm

[Parsed_ssim_0 @ 0xaaab09396eb0] SSIM Y:0.957138 (13.679229) U:0.973304 (15.735503) V:0.970093 (15.242341) All:0.961991 (14.201162)

[Parsed_psnr_1 @ 0xaaab09396f60] PSNR y:25.245152 u:32.326591 v:31.380328 average:26.553509 min:9.613420 max:59.335978

从PSNR和SSIM的数值来看,x86服务器和ARM服务器转码后的视频质量非常接近,差异相对较小。在大多数情况下,SSIM和PSNR值的差异在小数点后几位或小于0.01,这表明两个转码结果在视觉上是非常相似的,质量都较高。

综上所述,根据PSNR和SSIM指标来看,ARM服务器转码后的视频质量与x86服务器相当。

x86

[Parsed_ssim_0 @ 0x562ed0788d40] SSIM Y:0.957135 (13.678973) U:0.973306 (15.735836) V:0.970089 (15.241654) All:0.961989 (14.200919)

[Parsed_psnr_1 @ 0x562ed0789800] PSNR y:25.245107 u:32.326732 v:31.380153 average:26.553465 min:9.613410 max:59.175929



综合上述的测试结果来看,在2,4,6并发解码的情况下,采用倚天710的ARM服务器的转码性能均优于同规格X86服务器(均为2h4g硬件规格),对于c7实例,转码性能提升约为18%左右,对于最新一代c8i实例,转码性能提升约为10%。从并发量的递增,我们可以看出,并发量越高,arm架构的实例转码性能较之x86架构的实例而言,是更优的。同时从几个高并发测试中可以看到,倚天710在处理转码的时候fps始终是平稳状态,而x86架构的服务器则是在超过4路并发处理后性能暴跌,为何会如此,下个章节会为您详细解答。

而阿里技术团队,采用更大规格的测试中,基于倚天ECS,阿里云视频云与平头哥团队联合,对s264、s265编码器进行深度优化,使得搭载倚天710的ECS实例转码性能超过c7实例30%。

(图片来自阿里云技术团队博文)

为何倚天710如此优秀?

全物理核心,独享计算单元

倚天710单颗CPU即实现了128核的高密度设计,高并发负载下可实现高线性度性能增长;同时处理器无超线程概念,避免了性能争抢的问题:独享物理核,性能更强劲。

传统CPU架构是两个vCPU/HT共享一个物理核,1份ALU。阿里云ECS倚天实例采用的是独享物理核心方式,没有超卖概念,让算力密集的计算指令不必排队、不必争抢,计算速度更快。

独享Cache

传统CPU架构,在Cache维度,过去两个vCPU/HT共享一二级缓存,相互争抢,性能波动较为严重。采用倚天710独享Cache的设计,让vCPU之间相互不影响,为重负载计算带来更高性能。

高效不降频

影响算力性能的关键因素,除了核的资源,还有主频。以视频编码为例,传统架构CPU在并发超过4路后,性能下降40%,这背后的原因是高算力负载很容易造成功耗过大,温度上升,因此采用降频规避,进而影响了性能。而倚天710功耗相比主流CPU有大幅下降,没有任何降频问题。参考上面的视频转码测试,我们可以很容易得到这个结论。

高效的扩展指令集和可伸缩向量指令架构

倚天710还针对特定算法场景进行了指令集加速与优化。比如像SVE等矢量计算技术,其中BF16/INT8 mmla指令可实现高效的矩阵乘法运算,此外还支持Hash、CRC32等加速指令,可以让单条指令并行处理更多数据,大幅提升视频编解码、AI编解码增强等场景性能。

特性

倚天710

Vector

NEON , SIMD , SVE/SVE2 128bit*2 per core

BF16 MM

Armv8.2-AA32BF16, 16-bit floating-point instructions

INT8 MM

Armv8.2-I8MM, Int8 Matrix Multiply instructions

Hash

SHA1 , SHA2,SHA256,SHA512 and SHA3

CRC32

SIMD CRC32


业务"移栽"

常规来讲,大家都用的是X86架构的服务器,很少使用到arm架构的服务器,在本节中,将使用几个常规场景来测试在arm架构上服务是否能够正常运行。

LNMP环境部署WordPress

参数预览

服务器

软件信息

c8y.large

LNMP+WordPress

LNMP构建

sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql unzip
cat > defaults << EOF
server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;
        server_name _;
        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据PHP版本修改此处
        }
}
EOF
# 修改PHP-FPM配置
sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/8.1/fpm/php.ini
# 重启服务
systemctl enable nginx php8.1-fpm mysql
# 初始化数据库,密码强度可以设置为 0 low
mysql_secure_installation 
# 直接登录,不需要密码
mysql -uroot -p
#修改数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yitian710';
# 设置wordpress数据库
CREATE DATABASE IF NOT EXISTS `wordpress-db`;
create user 'wordpress'@'localhost' identified by 'yitian-wd';
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO 'wordpress'@'localhost';

WordPress安装配置

# 下载、解压
wget https://cn.wordpress.org/latest-zh_CN.zip -O wordpress.zip
unzip wordpress.zip
# 配置wordpress
cd wordpress/
cp wp-config-sample.php wp-config.php 
sed -i "s/database_name_here/wordpress-db/" wp-config.php
sed -i "s/username_here/wordpress/" wp-config.php
sed -i "s/password_here/yitian-wd/" wp-config.php
# 复制修改后的文件夹到网站根目录
cp -r /root/wordpress/* /var/www/html/

成果展示

服务器负载

企业必备GitLab CI/CD

Gitlab应该是个人开发者和企业用户在服务器上部署比较多的服务,用来存储代码和持续构建、测试和部署迭代代码更改。

Gitlab的安装

#安装和配置必须的依赖项
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
#下载及安装gitlab
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
sudo EXTERNAL_URL=`curl cip.cc|awk -F ": " 'NR==1{print $2}'` apt-get install gitlab-jh
#查看生成默认密码
cat /etc/gitlab/initial_root_password |grep Password:

新建仓库

gitlab控制台

new project ---> 设置名称 ---> 设置公开访问


CI/CD的应用

#安装gitlab runner
##添加官方极狐GitLab 仓库
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
##安装最新版本的极狐GitLab Runner
sudo apt-get install gitlab-runner
##gitlab runner注册
### 复制gitlab runner 的 token
项目 ---> Settings ---> CI/CD ---> Runners ---> Expand ---> New Project旁边 三个点(可以查看token值)
### 注册runner
gitlab-runner register
# 输入当前服务器或者安装gitlab的服务器地址                                           
Enter the GitLab instance URL (for example, https://gitlab.com/):
http://47.98.141.12  # 在这里
# 输入上面复制的token
Enter the registration token:
GR1348941RWd4QeFBsbSRTsQyG4sE # 在这里
# 给定描述,随意编写
Enter a description for the runner:
[iZbp1ev4xnol3agh868urwZ]: test_runner  在这里
# 设置tag,很重要
Enter tags for the runner (comma-separated):
test   # 设置你自己的tag
# 可选描述,随便写
Enter optional maintenance note for the runner:
test runner
# 设置一个执行,例如shell来执行ci/cd
Enter an executor: parallels, shell, docker-autoscaler, instance, kubernetes, custom, docker, docker-windows, ssh, virtualbox, docker+machine:
shell   # 直接输入shell 回车即可
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"


示例代码

app.py

from flask import Flask
# 创建一个Flask应用程序实例
app = Flask(__name__)
# 定义路由,当访问根URL时执行的处理函数
@app.route('/')
def hello_gitlab():
    return '<h1>Hello GitLab, Running On C8Y of YiTian 710</h1>'
# 运行Flask应用程序
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

.gitlab-ci.yml

示例项目,没有需要额外安装的包,直接部署即可

stages:
  - deploy
deploy:
  tags:
    - test
  stage: deploy
  script:
    - echo "Deploying the application"
    - python3 app.py  # 运行Flask应用

推送到仓库CI/CD

注:一定要看注释,将上面的示例代码添加进项目目录

# 先拉取仓库到本地
git clone git@你的服务器IP:root/demo.git
cd demo
# 将上面的示例代码文件添加到这个目录中
# 将上面的示例代码文件添加到这个目录中
# 将上面的示例代码文件添加到这个目录中
git add .
git commit -m "upload project"
git push
# 这里就输入之前的root和密码

查看pipeline执行情况

最终效果

容器---Docker

这里只是做一个简单的测试,为了展示x86业务可以在arm上也能很好的运行

实验规格

服务器规格

操作系统

Docker版本

c8y.large

Ubuntu 22.04 64位

24.0.5

安装Docker、构建镜像及运行

安装Docker

#添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#添加Docker存储库
echo "deb [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
#更新软件包索引并安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
#启动并设置开机启动
systemctl enable docker --now

编写Dockerfile

cat > Dockerfile << EOF
# 使用官方 Python 镜像作为基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制当前目录下的 app 文件夹到容器的 /app 目录下
COPY app /app
# 安装 Flask 和依赖
RUN pip install --no-cache-dir Flask
# 设置 Flask 环境变量
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
ENV FLASK_RUN_PORT=5000
# 暴露容器的端口
EXPOSE 5000
# 运行 Flask 应用
CMD ["flask", "run"]
EOF

app.py文件

mkdir app 
cat > app/app.py << EOF
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return '<h1>Hello from Docker, Running on C8Y Yitian 710</h1>'
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
EOF

构建镜像

docker build -t yitian .
docker run -dit --name demo -p 5000:5000 yitian

效果

总结

从近些年来看,市面上主流云服务厂商中 AWS、华为、Oracle 在出售 ARM64 的机器,随着阿里自研芯片的出现,阿里也加入到出售ARM64云服务器的队列中,并且是自身研发的芯片。要知道,在平头哥交货之前,全球只有Intel、AMD、AWS、华为等公司掌握这样的技术实力。同时随着国家"双碳"战略的推动,企业也有了碳排放要求,平头哥推出的倚天710,采用5nm工艺,拥有更好的能效比,能够大大降低碳排放。

那么从本篇文章的整体测试中,跑分、转码、业务移植,这几个流程走下来,都可以感受到倚天710的强大,在不同的业务场景中,搭载倚天710的服务器都可以很好的负载业务,同时在一些特定的场景中会有额外优化,使其性能能够媲美甚至超过同规格的x86架构服务器。

平头哥每次推出的芯片都是以我国传统的武侠文化中选取神器的名称来命名,

  • 玄铁是“重剑无锋,大巧不工”开山始祖
  • 含光是“视不可见,无往不利”AI神助
  • 倚天是“倚天一出,谁与争锋”云端动力来源

现在国际局势的紧张,面对他国对我们的科技封锁,我们更是应该

倚天一出,谁与争锋,倚天自强!




相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
6月前
|
弹性计算 编解码 运维
飞天技术沙龙回顾:业务创新新选择,倚天Arm架构深入探讨
阿里云、平头哥与Arm联合举办的飞天技术沙龙在上海举行,聚焦Arm Neoverse核心优势和倚天710计算实例在大数据、视频领域的应用。活动中,专家解读了倚天710的性能提升和成本效益,强调了CIPU云原生基础设施处理器的角色,以及如何通过软件优化实现资源池化和稳定性平衡。实例展示在视频编码和大数据处理上的性能提升分别达到80%和70%的性价比优化。沙龙吸引众多企业代表参与,促进技术交流与实践解决方案的探讨。
飞天技术沙龙回顾:业务创新新选择,倚天Arm架构深入探讨
|
机器学习/深度学习 弹性计算 Ubuntu
“炫技”还是“真硬核”,OpenPPL 实测阿里「倚天 710」芯片
本文将以「深度学习模型推理应用」为出发点,对「倚天 710」这款 ARM Server 芯片进行性能实测。
1659 0
“炫技”还是“真硬核”,OpenPPL 实测阿里「倚天 710」芯片
|
JSON 算法 前端开发
YODA倚天应用迁移神器,让跨架构应用迁移变得简单高效
YODA(Yitian Optimal Development Assistant,倚天应用迁移工具)旨在帮助用户更加高效、便捷地实现跨平台、跨结构下的应用迁移,大幅度缩短客户在新平台上端到端性能验证所需的人力和时间,使得客户更加专注于应用本身算法的优化,协同客户实现降本增效。
|
6月前
|
算法 Java Docker
倚天应用迁移
倚天应用迁移
72 1
阿里云最新产品手册——阿里云核心产品——倚天710——倚天710简介
阿里云最新产品手册——阿里云核心产品——倚天710——倚天710简介自制脑图
592 2
|
机器学习/深度学习 弹性计算 数据可视化
阿里云GPU云服务器,gn6v、gn6i、gn5i购买和选择教程
GPU 云服务器(GPU Cloud Computing,GPU)是提供 GPU 算力的弹性计算服务,提供GPU加速计算能力,实现GPU计算资源的即开即用和弹性伸缩,具有超强的计算能力,服务于深度学习、科学计算、图形可视化、视频处理多种应用场景。阿里云作为亚洲第一的云服务提供商,随时为您提供触手可得的算力,有效缓解计算压力,提升您的业务效率,助您提高企业竞争力。
|
机器学习/深度学习 人工智能 TensorFlow
倚天性能优化—YCL AI计算库在resnet50上的优化
Yitian710 作为平头哥第一代ARM通用芯片,在AI场景与X86相比,软件生态与推理性能都存在一定的短板,本文旨在通过倚天AI计算库的优化,打造适合ARM架构的软件平台,提升倚天性能
|
编解码 弹性计算 Cloud Native
倚天ECS视频编解码之x264性能
在平头哥发布了首颗为云而生的 CPU 芯片倚天710之后,搭载倚天 710 的 ECS 实例表现出强劲的性能实力,在x264编解码场景下有着极高的性价比。
|
数据采集 算法 编译器
倚天710规模化应用 - 性能优化 -自动反馈优化分析与实践
编译器优化分成静态优化与动态优化,静态优化指传统编译器gcc/llvm时,增加的优化等级,如O1,O2,O3,Ofast,此时,编译器会依据编译优化等级增加一些优化算法,如函数inline、循环展开以及分支静态预测等等。一般情况下,优化等级越高,编译器做的优化越多,性能会更会好。在阿里生产环境中,单纯依赖于静态优化,并不能达到程序运行流畅目的,通过分析CPU硬件取指令、执行指令,往往会出现一些分支预测失败导致iCacheMiss率高的场景,限制了程序的性能进一步提升。基于此,业务引入了动态反馈优化工具,依据生产环境的实际运行数据,反哺指导编译器对程序代码进一步调整编译优化策略,提高分支预准确率

热门文章

最新文章