---
title: 应用代码引起的差异
description: "不同平台的代码实现不同，也会导致计算结果出现差异。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/precisionopt/kunpengprecision_12_0012.html
sourcePath: /source/zh/perftuning/precisionopt/kunpengprecision_12_0012.html
indexId: af4567a8076fb75abf3a880868866f1480d09334225f14a6273ed38b79127acf64
---
# 应用代码引起的差异

不同平台的代码实现不同，也会导致计算结果出现差异。

- 代码内存越界访问的问题（x86对内存越界容忍度高，鲲鹏易触发bug）
  例如：WRF代码MPTABLE.TBL配置文件中的地形数据为27，相关变量（如SLA）的数据也只有27维。如果访问到27维以后的数据，则会出现数组访问越界问题。


- 代码变量或数组未初始化的问题（x86绝大部分场景初始值为0，鲲鹏默认值多为随机值）
  例如：某气象应用KUO一维整型数组未初始化，直接传入SHALCV函数进行计算，但是其程序计算逻辑却依赖初始值，这就导致了计算结果的差异。计算逻辑如下图所示：


关于更多计算结果差异来源的说明，请参见鲲鹏计算精度白皮书(https://www.hikunpeng.com/document/detail/zh/perftuning/computp-wp/kunpengcomputp_19_0001.html)。
