gpt4 book ai didi

c++ - 编译时缓存编译器给出的信息

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

为了检查 AVX 或 SSE 是否可用,编译器通常将 SSEAVX 设置为真。但是有没有一个选项,如何在编译时接收缓存的大小?

编辑:我稍微改一下问题,因为它不够清楚。

我想在编译期间获得有关缓存的信息。越多越好。我想将它用于优化目的(即缓存阻塞,...)。在我当前的任务——空间阻塞——缓存的大小最重要。但是下面的评论正确地问,我要求哪个级别的缓存。此外,缓存的行为可能非常不同,如果您考虑它们的逐出策略、缓存行的大小、级别的数量、它们在核心之间的共享方式……等等。

所以我的一般问题是:我如何在编译期间接收有关缓存的任何信息?

对于我当前的任务,读出 /proc/cpuinfo 并使用那里给定的缓存大小就足够了。然而,一般问题要有趣得多。

我如何在编译期间接收有关 cpu 的信息(重点是其缓存)?

(我根本不考虑交叉编译。编译后的代码将在同一台机器上运行。)

最佳答案

显然,没有编译器能够拥有关于 cpu 的如此详细的信息,并使其可供编译程序使用。但是我找到了library ,这似乎正是这样做的。可悲的是,仅在运行时。然而,这至少是一个舒适的解决方案。

(我是偶然发现的。我不是在找它:) 如果你要找东西,1)谷歌 2)看here )

关于c++ - 编译时缓存编译器给出的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37688698/

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