我希望将OpenCL库用于需要分发给许多(1000s)计算机的程序。因为程序的大小是一个问题,我想知道静态链接OpenCL库是否有意义。 OpenCL是否足够轻量级用于此应用程序?
答案 0 :(得分:5)
您无法真正静态链接OpenCL,但您可以静态链接OpenCL ICD(可安装客户端驱动程序)。 ICD将动态加载本地可用的所有OpenCL平台。
ICD实施依赖于操作系统,但运行良好,并得到主要供应商SDK(AMD,NVIDIA,Intel等)的支持。感谢ICD,您可以使用AMD SDK编译二进制文件,但同样的二进制文件可以与NVIDIA和Intel OpenCL一起使用。
ICD对你的问题也应该非常有用,因为二进制文件只包含很少量的代码(即只有动态加载本地OpenCL平台的代码)。