我将大量的低级操作从原生matlab代码转换为C/mex代码,并且速度很快。 (这些低级操作可以用.m代码进行矢量化,但我认为我可以获得大量数据的内存命中。)我注意到用不同的CFLAGS编译mex代码可能会导致轻微的改进。例如CFLAGS = -O3 -ffast-math
确实会提供一些加速,但代价是数值不准确。matlab中mex函数的安全,快速的CFLAGS
我的问题:什么是“最好的”CFLAGS使用,而不会产生太多的其他副作用?看起来,至少该 CFLAGS = -O3 -fno-math-errno -fno-unsafe-math-optimizations -fno-trapping-math -fno-signaling-nans
都是好的。我不确定-funroll-loops
。
另外,您将如何优化所使用的半自动CFLAGS集,而不会发疯?
我原则上喜欢这个,但还没有能够正确地测试它。会做.. – shabbychef 2010-02-04 19:57:32
为我工作很好。谢谢。 – Sevenless 2011-02-28 21:46:23