2012-11-28 104 views
4

我目前正试图将从Unix到Windows的GPUJPEG(on sourceforge)库(基于CUDA)移植到Windows。将GPUJPEG项目移植到Windows

现在我坚持 - 我不知道发生了什么,或者为什么它正在发生,但是当我运行测试项目,在控制台中看到的贴在的Blinky ...

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

如果有人能检查出来,也许可以帮助我将这个东西移植到Windows,我将非常高兴。

在此先感谢。

编辑: 我想要使用/创建一个HIGH PERFORMANCE库来转换实时数据(转换60 fps bmp文件为jpeg)。这几乎是为什么“通用”库没有多大用处。这是关于在10毫秒内将高清图像转换为JPEG格式的...如果有人有另一个想法,我当然想听到它。

+0

代码挂在cudaMalloc() - 不知道为什么。在我的机器上进行测试(使用NVIDIA GTX640的Win7 64位(我认为)) – malkia

回答

3

我认为问题在于您正在从Visual Studio运行此程序以进行调试(F5)。 如果你只是运行它(Ctrl + F5)它应该完成。

起初我以为这是一些其他问题(删除我的答案),但它太慢了。 缓慢是由CUDA驱动程序调用malloc/free方式造成的,造成 调试运行时分配器减慢了很多。

这个分配器在默认情况下是在你做F5时启动的 如果你想禁用它,然后把你的环境设置(属性 - >调试 - >环境this _NO_DEBUG_HEAP = 1)。

这里看起来太Set _NO_DEBUG_HEAP

+0

谢谢,只要我靠近一个支持CUDA的设备,我就会看看这个:-) –

2

这不完全是一个答案,但因为我不能评论尚未:如果你正在寻找JPEG运行在CUDA的实现中,NPP库支持各种片的标准JPEG编解码器流水线,并且包含在CUDA中。查看CUDA SDK中的“jpegNPP”示例:http://docs.nvidia.com/cuda/cuda-samples/