나는 네이티브 matlab 코드에서 많은 저수준 작업을 훌륭한 속도 향상과 함께 C/mex 코드로 변환하고 있습니다. (이러한 저수준 연산은 .m 코드로 벡터화할 수 있지만, 대용량 데이터의 b/c 메모리를 얻을 수 있다고 생각합니다.) 다른 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
나를 위해 잘 일했다. 감사. – Sevenless