数据依赖:指在程序、计算或算法中,某个操作的结果或能否执行取决于先前产生的数据(例如变量的旧值、内存中的写入结果),从而限制并行化、重排(reordering)或优化。常见于编译器优化、并行计算、CPU流水线与数据流分析等语境中。(在不同领域也可泛指“对数据的依赖性”,但计算机体系结构与编译领域的含义最常见。)
/ˈdeɪtə dɪˈpɛndəns/
Data dependence can prevent a compiler from reordering two instructions.
数据依赖会阻止编译器对两条指令进行重排。
Because of data dependence between iterations, the loop cannot be safely parallelized without synchronization.
由于各次迭代之间存在数据依赖,这个循环如果不加同步机制就无法安全地并行化。
data 源自拉丁语 datum(“给出的东西、事实”),dependence 源自拉丁语 dependere(“悬挂于……之上,引申为依赖”)。合在一起表示“某个计算/步骤被既有数据所‘牵制’或‘依附’”,强调先后约束关系。