不同 CUDA SDK 之间的性能差异?
如果我想重新编写我的应用程序,以便利用 nVidia 的 CUDA SDK 的强大功能,不同 SDK 产品(C++、Java、Python)之间的运行时性能是否有任何差异?
除了使用的明显语言之外,这 3 个 SDK 之间还有什么区别吗?
If I want to re-write my application so that it leverages the power of nVidia's CUDA SDK, are there any differences at all in runtime performance between the different SDK offerings: C++, Java, Python?
Is there any difference at all between these 3 SDK's, besides the obvious language being used?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这会对处理过程中 CPU 密集部分产生可衡量的性能影响。例如,如果您的 CUDA 数据在到达 GPU 之前需要进行预处理,那么用 Python 编写数值例程将不是最佳选择。
如果您的 CUDA 例程占据了计算时间(CPU 保持相对空闲),则任何绑定都是不错的选择。
最好首先使用 Python 等语言进行原型设计,如果发现性能瓶颈,则将该代码移至 C++。
There will be a measurable performance impact on the CPU bound portions of your processing. For instance, if your CUDA data requires pre-processing before reaching the GPU, writing the numerical routine in Python would be suboptimal.
If your CUDA routines dominate the computation time (the CPU remains relatively idle), any of the bindings are a good choice.
It may be best to first prototype in a language such as Python, and if you identify a performance bottleneck move that code to C++.