GPU(cuda)和CPU的通用源

GPU(cuda)和CPU的通用源,cuda,Cuda,是否可以维护一个源代码库来编译CPU或GPU(使用构建系统进行选择)?这种方法有什么缺陷吗?这个库可能适合你。alpaka库是用于加速器开发的一个只有标题的C++11抽象库。它支持不同的加速器,如OpenMP、Boost.Fiber和CUDA。您需要实现内核一次。通过模板参数,您可以选择加速器平台。推力是此类系统的完整示例。总之,你确定他们有共同的来源吗?也许他们为每种可能性分别维护不同的来源当然,他们维护的东西必须是特定于平台的。但不需要特定于平台的东西(例如算法实现)通常很常见。如果需要,您

是否可以维护一个源代码库来编译CPU或GPU(使用构建系统进行选择)?这种方法有什么缺陷吗?

这个库可能适合你。alpaka库是用于加速器开发的一个只有标题的C++11抽象库。它支持不同的加速器,如OpenMP、Boost.Fiber和CUDA。您需要实现内核一次。通过模板参数,您可以选择加速器平台。

推力是此类系统的完整示例。总之,你确定他们有共同的来源吗?也许他们为每种可能性分别维护不同的来源当然,他们维护的东西必须是特定于平台的。但不需要特定于平台的东西(例如算法实现)通常很常见。如果需要,您可以自己检查源代码。它是开源的。另一个可能考虑的是,它允许您维护单个源库,并针对不同的平台(CPU或GPU)执行可执行程序。