将GPUJPEG项目移植到Windows平台

4

我正在尝试将基于CUDA的GPUJPEG(在sourceforge上)库从Unix移植到Windows。

现在我卡住了 - 我不知道发生了什么或者为什么会发生,但是当我运行测试项目时,控制台卡在了blink...

您可以在这里找到整个Visual Studio 2010项目(您需要CUDA 5): wingpujpeg.zip

如果有人能够检查一下,并帮助我将这个东西移植到Windows,我会非常高兴。

提前感谢。

编辑: 我想使用/创建一个高性能库来转换实时数据(将60 fps的bmp文件转换为jpeg)。这就是为什么“普通”库没有多大用处的原因。它是关于在约10毫秒内将高清图像转换为jpeg... 如果有人有其他想法,我当然很想听听。


代码在 cudaMalloc() 处挂起,不确定原因。我在我的机器上进行了测试(Win7 64位,配备 NVIDIA GTX640(我想是这个型号))。 - malkia
2个回答

3
我认为问题在于您正在使用Visual Studio进行调试(按F5键)。 如果您只是运行它(按Ctrl+F5键),它应该会完成。
一开始我以为这是其他问题(删除了我的答案),但实际上是太慢了。 慢的原因是CUDA驱动程序调用malloc/free太多次,导致调试运行时分配器大大减慢。
默认情况下,当您按下F5键时启动此分配器。 如果要禁用它,请在环境设置中添加(属性->调试->环境 中添加_NO_DEBUG_HEAP=1)。
在这里也可以看到Set _NO_DEBUG_HEAP的详细信息。

谢谢,我一旦接近可使用CUDA的设备就会立即查看这个 :-) - Dänu

2

这并不是一个确切的答案,但由于我还不能评论:如果你正在寻找在CUDA上运行的JPEG实现,NPP库支持标准JPEG编解码管道的各个部分,并且它已经包含在CUDA中。请查看CUDA SDK中的“jpegNPP”示例:http://docs.nvidia.com/cuda/cuda-samples/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接