如何实现GPU设备端sprintf?

时间:2019-06-06 10:54:47

标签: c++ c cuda printf multilingual

我正在考虑实现sprintf()(和snprintf()vsprintf()vsnprintf())-用于CUDA代码。编译器的标准C(和C ++)库不适用于GPU端的CUDA代码-并且通常不可用,因为主机操作系统功能无法在GPU上运行的代码以及可能出于其他原因而使用。

我的问题与我应该采取哪种方法有关:

  1. 仅从glibc中提取sprintf代码(即也提取所有依赖项);修改此代码以使其在GPU上运行。
  2. 采用GitHub上可用的独立sprintf实现之一(例如,this one很流行),并适应 that
  3. 获取/产生具有GPU功能的“ variadic sprintf”实现(这既不是C也不是C ++标准库的一部分),并在其之上实现sprintf()作为包装。

这三种方法的优缺点是什么?还有-我还缺少另一种方法吗?

注意:

  • 让我们忽略许可问题,或者至少-让我们不要陷入许可的本质问题。
  • 至少就这个问题而言,实现的速度/效率不是问题,因为预期的使用调试。如果愿意,可以考虑一下。

0 个答案:

没有答案