gpt4 book ai didi

c - 基于函数的 CPE,如何计算下限?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:15 25 4
gpt4 key购买 nike

我遇到了一种计算数据类型 float 的 CPE 下限(由关键路径确定)的方法。但是,我不确定这些数字从何而来,在尝试计算类似界限之前我需要做一些澄清。

这是我遇到的:(4+3)/3 = 2.33

由于 CPE 值,我假设它除以 3,但我对 (4+3) 的来源感到困惑。

此函数对于整数和 float 据的 CPE 为 3.00。

void inner4(vec_ptr u, vec_ptr v, data t *dest) {
long i;
long length = vec_length(u);
data_t *udata = get_vec_start(u);
data_t *udata = get_vec_start(v);
data_t sum = (data_t) 0;
for (i = 0; i < length; i++){
sum = sum + udata[i] * vdata[i]'
}
*dest = sum;
}

enter image description here

最佳答案

...I assume it is divided by 3 because of the CPE value, but I am confused as to where the (4+3) comes from.

看来您的 (4+3)/3 = 2.33 表示 float 的下限 CPE(或 CPI)是比率的简化(可能在因式分解后),派生为 link 中示例中显示的那些 您在评论中提供。即总结每种类型的指令数,每一个乘以其相应的时钟周期,全部除以总指令数。

链接中的示例 2,也适用于 float 类型,但处理器指令组合时钟周期计数与单元不同您在帖子中引用的内容提供了说明。尽管您的帖子中没有提供足够的信息来准确了解这些值是如何得出的,但链接中给出的公式清楚地显示了比率是如何构建的。

遵循示例 2 中给出的相同形式:并给出以下(人为的)指令组合和周期计数,尽管这是一个非常简化的示例(即只有两种指令类型),这表明您的比率可能有 被导出:

Instruction type    Instruction count   Clock cycle count  

Floating point 6000 2
Control transfer 3000 3

比率将是:

(6000*2 + 3000*3)/9000  
After factoring:

(4 + 3)/3 - Ratio is the sum of two instruction types, each multiplied
by their corresponding cycle count, all divided by the total
instructions in the specific program, then factored to
lowest terms.

关于c - 基于函数的 CPE,如何计算下限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com