所有支持矢量化的C++编译器都允许发出一些报告(*)来验证循环是否被矢量化,每个都在矢量化报告中有自己的编译标志和格式。
我想在我的CMake构建中加入一个自动检查这一点的步骤,如果它没有自动矢量化,构建就会失败。
如何使用CMake完成此操作?
提前感谢
gcc https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html
发布于 2021-03-10 18:29:23
我想在我的CMake构建中加入一个步骤,它会自动检查这一点,如果没有自动矢量化,构建就会失败。
我如何在CMake中做到这一点?
按步骤应用dynamic programming:
然后,
add_executable(final_exe sources.c...)
add_exececutable(check_if_vectorized sources.c...) # if compiled, choose your own language
add_custom_target(check_if_final_exe_is_vectorized
COMMENT "Check if final_exe was vectorized"
COMMAND $<TARGET_FILE:check_if_vectorized> $<TARGET_FILE:final_exe>
DEPENDS $<TARGET_FILE:check_if_vectorized> $<TARGET_FILE:final_exe>
)您还可以使用add_test添加检查,并让它像测试一样运行。
有没有开箱即用的东西?
不是的。
https://stackoverflow.com/questions/66562539
复制相似问题