将GPUJPEG项目移植到Windows

时间:2012-11-28 22:11:14

标签: c++ windows cuda

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

现在我被卡住了 - 我不知道发生了什么或者为什么会发生这种情况,但是当我运行测试项目时,控制台就会陷入眨眼......

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

如果有人能检查出来并且可能帮我将这个东西移植到Windows,我会很高兴。

提前致谢。

编辑: 我想使用/创建一个HIGH PERFORMANCE lib来转换实时数据(将60 fps bmp文件转换为jpeg)。这就是“常见”库没有多大用处的原因。它是关于在大约10毫秒内将高清图像转换为jpeg ...如果有人有另一个想法,我当然会喜欢听到它。

2 个答案:

答案 0 :(得分:3)

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

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

默认情况下,此分配器在您执行F5时启动 如果要禁用它,请输入您的环境设置(属性 - >调试 - >环境此_NO_DEBUG_HEAP = 1)。

另见Set _NO_DEBUG_HEAP

答案 1 :(得分:2)

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