【发布时间】:2009-12-15 23:38:17
【问题描述】:
我正在将许多低级操作从本机 matlab 代码转换为 C/mex 代码,速度非常快。 (这些低级操作可以在 .m 代码中矢量化完成,但我认为我会遇到大数据的内存命中 b/c。无论如何。)我注意到用不同的 CFLAGS 编译 mex 代码可能会导致轻微的改进。例如CFLAGS = -O3 -ffast-math 确实提供了一些加速,但代价是轻微的数值不准确。
我的问题:什么是“最好的”CFLAGS 使用,不会产生太多其他副作用?看来,至少
CFLAGS = -O3 -fno-math-errno -fno-unsafe-math-optimizations -fno-trapping-math -fno-signaling-nans 一切正常。我不确定-funroll-loops。
另外,您将如何优化所使用的 CFLAGS 集,半自动,而不发疯?
【问题讨论】: