Apple Clang 和来自 Homebrew 的支持 OpenMP 的 Clang 之间有区别吗?
Is there a difference between Apple Clang and OpenMP-enabled Clang from Homebrew?
我想知道Apple提供的Clang编译器与Homebrew提供的OpenMP自带的Clang编译器相比有什么优势吗?
切换到 OpenMP Clang 会不会有性能损失(不管多线程能力如何)?
我还发现了 this 没有好的答案的老问题
更新
我用Apple的Clang和主流的Clang编译OOFEM和运行同样的问题,
Apple 的 Clang:实际消耗时间:000h:01m:26s
主流 Clang:实时消耗:000h:01m:24s
启用多线程后,性能也相似。
我还注意到的一个区别是,Apple 的 Clang 似乎忽略了一些 CMake 选项,例如-DOpenMP_CXX_FLAGS="-I/usr/local/opt/libomp/include"
对 Apple 的 Clang 没有影响,但对主流的 Clang 可以正常工作。
Is there a difference?
如前所述,答案不言而喻。它们是两个不同的编译器,我们不知道 Apple 在它们内部做了什么。我们知道他们不提供 OpenMP 支持,所以这至少是一个区别。
Will there be any performance loss if switching to OpenMP Clang
(regardless of the multi-threading ability)?
我对此表示怀疑,但由于您清楚地测量了性能并使用了两种编译器,您似乎可以告诉我们:-)
我想知道Apple提供的Clang编译器与Homebrew提供的OpenMP自带的Clang编译器相比有什么优势吗? 切换到 OpenMP Clang 会不会有性能损失(不管多线程能力如何)?
我还发现了 this 没有好的答案的老问题
更新
我用Apple的Clang和主流的Clang编译OOFEM和运行同样的问题,
Apple 的 Clang:实际消耗时间:000h:01m:26s
主流 Clang:实时消耗:000h:01m:24s
启用多线程后,性能也相似。
我还注意到的一个区别是,Apple 的 Clang 似乎忽略了一些 CMake 选项,例如-DOpenMP_CXX_FLAGS="-I/usr/local/opt/libomp/include"
对 Apple 的 Clang 没有影响,但对主流的 Clang 可以正常工作。
Is there a difference?
如前所述,答案不言而喻。它们是两个不同的编译器,我们不知道 Apple 在它们内部做了什么。我们知道他们不提供 OpenMP 支持,所以这至少是一个区别。
Will there be any performance loss if switching to OpenMP Clang (regardless of the multi-threading ability)?
我对此表示怀疑,但由于您清楚地测量了性能并使用了两种编译器,您似乎可以告诉我们:-)