我正在为我的目的评估 OpenCL。我突然想到,你不能假设它在 Windows 或 Mac 上开箱即用,因为:
- Windows 需要一个 OpenCL 驱动程序(当然,可以安装)
- MacOS 仅在 MacOS >= 10.6 上支持 OpenCL
因此,我必须分别编写 FPU/SSE/AVX 代码和 OpenCL 以生成两个二进制文件:一个不支持 OpenCL,一个支持 OpenCL。
如果我可以在编译时将 OpenCL编译成 SSE/AVX,然后发布一个没有OpenCL的二进制文件,那就更好了。这样我就不需要为 FPU/SSE/AVX 单独实现了!
有没有办法做到这一点?
干杯,-克莱门斯