C ++是否支持缓存控制指令

时间:2016-01-22 16:10:34

标签: c++ optimization c++17

作为gcc entension we can void _mm_stream_pi(__m64 *p, __m64 a);,如果我们想要在主内存中有效存储大对象,则不会很快访问它。 Windows环境中的此seems to be supported以及完全相同的签名。流式传输到主存储器而不会使缓存失效,应该可以节省数千个等待I / O的周期。

Write combining是另一种减少主内存访问的技术,它掌握在程序员手中。然而,检查缓存行大小并调整代码以符合数字是一项手动任务。

C ++标准提供了这些概念的抽象吗?

1 个答案:

答案 0 :(得分:3)

是的,人们正在将其作为SIMD提案的一部分进行工作

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4184.pdf 6.2.2非临时访问

对于写入组合,我不认为C ++作为语言必须做某事。与流式SIMD扩展

相反,这是一个未向ISA公开的实现细节