---
title: BIOS配置
description: "本节将介绍基于昇腾AI处理器上的一系列通过BIOS进行高性能配置的操作。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/softwareinst/instg/instg_0097.html
sourcePath: /source/zh/canncommercial/900/softwareinst/instg/instg_0097.html
indexId: bac3fa8edc0921231d7db23b1e76b43d7afce48477e57846a5c7e7a95edb1fec64
---
# BIOS配置

本节将介绍基于昇腾AI处理器上的一系列通过BIOS进行高性能配置的操作。

#### 配置高性能模式

原理：通常昇腾AI处理器在能耗菜单（Power Policy）提供Efficiency 和 Performance两种配置。

- Efficiency表示节能模式，CPU支持动态调频调压, 可根据负载情况，动态调整工作频率。
- Performance表示性能模式，CPU无动态调频，固定运行在最大频率。

调优配置：将Power Policy设置为Performance，获得更优性能。

缺点：开启高性能模式，会产生较大的能耗。

推荐场景：建议推理场景下，打开高性能模式，可以有效提升CPU性能，减少CPU运行空泡，从而提升模型性能。

实验室在Atlas 800T A2上安装openEuler 22.03 sp4，部署Llama-7B、Qwen2-7B模型，对开启高性能开关前后模型的推理性能进行了研究。以下实验数据基于MindIE进行测试，由于软硬件存在差异，以下数据仅作为参考，不作为性能标准。


**表1 实验数据**

| 模型 | 并发数 | 输入长度 | 实验编号 | 默认efficiency (tokens/s) | performance (tokens/s) | 性能收益(%) |
| --- | --- | --- | --- | --- | --- | --- |
| Llama\-7B | 8 | 128 | 实验1 | 75.4373 | 76.1809 | 0.99 |
| Llama\-7B | 8 | 128 | 实验2 | 75.3953 | 76.0922 | 0.92 |
| Llama\-7B | 8 | 128 | 实验3 | 75.4051 | 76.0719 | 0.88 |
| Llama\-7B | 8 | 128 | 平均值 | 75.4126 | 76.1150 | 0.93 |
| Llama\-7B | 8 | 256 | 实验1 | 76.5359 | 77.5444 | 1.32 |
| Llama\-7B | 8 | 256 | 实验2 | 76.5362 | 77.3321 | 1.04 |
| Llama\-7B | 8 | 256 | 实验3 | 77.0832 | 77.9778 | 1.16 |
| Llama\-7B | 8 | 256 | 平均值 | 76.7184 | 77.6181 | 1.17 |
| Qwen2\-7B | 8 | 128 | 实验1 | 83.5893 | 84.6158 | 1.23 |
| Qwen2\-7B | 8 | 128 | 实验2 | 83.4479 | 84.4310 | 1.18 |
| Qwen2\-7B | 8 | 128 | 实验3 | 83.3766 | 84.3732 | 1.20 |
| Qwen2\-7B | 8 | 128 | 平均值 | 83.4713 | 84.4733 | 1.20 |
| Qwen2\-7B | 8 | 256 | 实验1 | 84.7990 | 85.8575 | 1.25 |
| Qwen2\-7B | 8 | 256 | 实验2 | 84.7267 | 85.5879 | 1.02 |
| Qwen2\-7B | 8 | 256 | 实验3 | 84.8510 | 86.2523 | 1.65 |
| Qwen2\-7B | 8 | 256 | 平均值 | 84.7922 | 85.8992 | 1.31 |


配置方式：通过BMC进入BIOS后，将配置项“PowerPolicy”的值设置为“Performance”，配置路径为“Advanced->Performance Config->Power Policy”。

图1 配置示例


#### 修改内存刷新速率

原理：DRAM内存内部使用电容来存储数据，由于电容有漏电现象，经过一段时间电荷会泄放，导致数据无法长时间存储。因此需要不断充电，这个充电的动作叫做刷新。刷新操作与读写操作无法同时进行，即刷新时会对内存的性能造成影响。BIOS为内存刷新速率选项提供了Auto选项，可以根据工作温度自动调节内存刷新速率，相比默认32ms配置可以提升内存性能。

调优配置：将内存刷新速率设置为Auto。

推荐场景：动态调整内存刷新速率，一定程度上可以提升内存拷贝性能，从而有助于模型性能提升。

实验室在Atlas 800T A2上安装openEuler 22.03 sp4，部署Llama-7B、Qwen2-7B模型，对不同内存刷新速率对模型的推理性能进行了研究。以下实验数据基于MindIE进行测试，由于软硬件存在差异，以下数据仅作为参考，不作为性能标准。


**表2 实验数据**

| 模型 | 并发数 | 输入长度 | 请求数 | 实验编号 | 默认32ms (tokens/s) | auto (tokens/s) | 性能收益(%) |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Llama\-7B | 8 | 128 | 2000 | 实验1 | 75.4373 | 80.4640 | 6.66 |
| Llama\-7B | 8 | 128 | 2000 | 实验2 | 75.3953 | 80.3319 | 6.55 |
| Llama\-7B | 8 | 128 | 2000 | 实验3 | 75.4051 | 80.4814 | 6.73 |
| Llama\-7B | 8 | 128 | 2000 | 平均值 | 75.4126 | 80.4258 | 6.65 |
| Llama\-7B | 8 | 256 | 2000 | 实验1 | 76.5359 | 81.8636 | 6.96 |
| Llama\-7B | 8 | 256 | 2000 | 实验2 | 76.5362 | 81.8073 | 6.89 |
| Llama\-7B | 8 | 256 | 2000 | 实验3 | 77.0832 | 81.7618 | 6.07 |
| Llama\-7B | 8 | 256 | 2000 | 平均值 | 76.7184 | 81.8109 | 6.64 |
| Qwen2\-7B | 8 | 128 | 2000 | 实验1 | 83.5893 | 87.0385 | 4.13 |
| Qwen2\-7B | 8 | 128 | 2000 | 实验2 | 83.4479 | 87.1340 | 4.42 |
| Qwen2\-7B | 8 | 128 | 2000 | 实验3 | 83.3766 | 86.9090 | 4.24 |
| Qwen2\-7B | 8 | 128 | 2000 | 平均值 | 83.4713 | 87.0272 | 4.26 |
| Qwen2\-7B | 8 | 256 | 2000 | 实验1 | 84.7990 | 87.9068 | 3.66 |
| Qwen2\-7B | 8 | 256 | 2000 | 实验2 | 84.7267 | 87.8995 | 3.74 |
| Qwen2\-7B | 8 | 256 | 2000 | 实验3 | 84.8510 | 87.8859 | 3.58 |
| Qwen2\-7B | 8 | 256 | 2000 | 平均值 | 84.7922 | 87.8974 | 3.66 |


配置方式：通过BMC进入BIOS后，将配置项“Custom Refresh Rate”的值设置为“Auto”，配置路径为“Advanced-Memory Config->Custom Refresh Rate”。

图2 配置示例


#### 修改CPU的预取开关

原理：CPU将内存中的数据读取到内部高速缓存Cache时，会根据局部性原理，除了读取本次要访问的数据，还会预取本次数据的周边数据到Cache里面，如果预取的数据是下次要访问的数据，则性能会提升。

调优配置：打开CPU预取。

缺点：对于数据比较集中的场景，预取的命中率高，适合打开CPU预取，反之需要关闭CPU预取。

推荐场景：在推理场景下，打开CPU预取功能，可以有效提升CPU读取数据的性能，从而提升模型的性能。

实验室在Atlas 800T A2上安装openEuler 22.03 sp4，部署Llama-7B、Qwen2-7B模型，对开启CPU预取开关前后模型的推理性能进行了研究。以下实验数据基于MindIE进行测试，由于软硬件存在差异，以下数据仅作为参考，不作为性能标准。


**表3 实验数据**

| 模型 | 并发数 | 输入长度 | 实验编号 | 默认开启CPU预取 (tokens/s) | 关闭CPU预取 (tokens/s) | 性能收益(%) |
| --- | --- | --- | --- | --- | --- | --- |
| Llama\-7B | 8 | 128 | 实验1 | 75.4373 | 74.7984 | \-0.85 |
| Llama\-7B | 8 | 128 | 实验2 | 75.3953 | 74.6472 | \-0.99 |
| Llama\-7B | 8 | 128 | 实验3 | 75.4051 | 74.6587 | \-0.99 |
| Llama\-7B | 8 | 128 | 平均值 | 75.4126 | 74.7014 | \-0.94 |
| Llama\-7B | 8 | 256 | 实验1 | 76.5359 | 75.9913 | \-0.71 |
| Llama\-7B | 8 | 256 | 实验2 | 76.5362 | 75.9398 | \-0.78 |
| Llama\-7B | 8 | 256 | 实验3 | 77.0832 | 76.4258 | \-0.85 |
| Llama\-7B | 8 | 256 | 平均值 | 76.7184 | 76.1190 | \-0.78 |
| Qwen2\-7B | 8 | 128 | 实验1 | 83.5893 | 82.1724 | \-1.70 |
| Qwen2\-7B | 8 | 128 | 实验2 | 83.4479 | 81.9364 | \-1.81 |
| Qwen2\-7B | 8 | 128 | 实验3 | 83.3766 | 82.0396 | \-1.60 |
| Qwen2\-7B | 8 | 128 | 平均值 | 83.4713 | 82.0495 | \-1.70 |
| Qwen2\-7B | 8 | 256 | 实验1 | 84.7990 | 83.6620 | \-1.34 |
| Qwen2\-7B | 8 | 256 | 实验2 | 84.7267 | 83.0590 | \-1.97 |
| Qwen2\-7B | 8 | 256 | 实验3 | 84.8510 | 83.9055 | \-1.11 |
| Qwen2\-7B | 8 | 256 | 平均值 | 84.7922 | 83.5422 | \-1.47 |


配置方式：通过BMC进入BIOS后，将配置项“CPU Prefetching Configuration”配置为“Enabled”，配置路径为“Advanced->MISC Config->CPU Prefetching Configuration”。

图3 示例配置


#### 关闭SMMU

原理：SMMU主要实现虚拟地址到物理地址的转换, 但是SMMU可能会增加额外的查表开销和延迟，从而降低系统的性能

调优配置：关闭SMMU。

推荐场景：在非虚拟机场景下（裸机、docker）关闭 SMMU，有助于提升模型性能。

实验室在Atlas 800T A2上安装openEuler 22.03 sp4，部署Llama-7B、Qwen2-7B模型，对开启SMMU开关前后模型的推理性能进行了研究。以下实验数据基于MindIE进行测试，由于软硬件存在差异，以下数据仅作为参考，不作为性能标准。


**表4 实验数据**

| 模型 | 并发数 | 输入长度 | 实验编号 | 默认关闭SMMU (tokens/s) | 开启SMMU (tokens/s) | 性能收益(%) |
| --- | --- | --- | --- | --- | --- | --- |
| Llama\-7B | 8 | 128 | 实验1 | 75.4373 | 74.9460 | \-0.65 |
| Llama\-7B | 8 | 128 | 实验2 | 75.3953 | 74.7320 | \-0.88 |
| Llama\-7B | 8 | 128 | 实验3 | 75.4051 | 75.0313 | \-0.50 |
| Llama\-7B | 8 | 128 | 平均值 | 75.4126 | 74.9031 | \-0.68 |
| Llama\-7B | 8 | 256 | 实验1 | 76.5359 | 75.7005 | \-1.09 |
| Llama\-7B | 8 | 256 | 实验2 | 76.5362 | 75.6460 | \-1.16 |
| Llama\-7B | 8 | 256 | 实验3 | 77.0832 | 75.8298 | \-1.63 |
| Llama\-7B | 8 | 256 | 平均值 | 76.7184 | 75.7254 | \-1.29 |
| Qwen2\-7B | 8 | 128 | 实验1 | 83.5893 | 81.5155 | \-2.48 |
| Qwen2\-7B | 8 | 128 | 实验2 | 83.4479 | 81.7802 | \-2.00 |
| Qwen2\-7B | 8 | 128 | 实验3 | 83.3766 | 82.2530 | \-1.35 |
| Qwen2\-7B | 8 | 128 | 平均值 | 83.4713 | 81.8496 | \-1.94 |
| Qwen2\-7B | 8 | 256 | 实验1 | 84.7990 | 82.8234 | \-2.33 |
| Qwen2\-7B | 8 | 256 | 实验2 | 84.7267 | 82.7696 | \-2.31 |
| Qwen2\-7B | 8 | 256 | 实验3 | 84.8510 | 82.7741 | \-2.45 |
| Qwen2\-7B | 8 | 256 | 平均值 | 84.7922 | 82.7890 | \-2.36 |


配置方式：通过BMC进入BIOS后，将配置项“Support Smmu”配置为“Disabled”，配置路径为“Advanced->MISC Config->Support Smmu”。

图4 示例配置
