我在使用CUDA做视频流处理时碰到两个问题,希望哪位高手能帮帮我,谢谢啦!
1: 在使用调用kenerl时,如调用func < < <dimGird,dimBlock>>>(…)时,为什么我测试发现反而CPU使用率会提升? 注释掉此行代码,即不启用内核时,CPU使用率保持不变。 即调用内核时,为什么会提升CPU使用率?(我是从0%提升到了25%!)
2: 我现在使用的是GF240M的显卡,有96个流处理器,我在使用单线程处理一个视频时,使用了16个block,那么我使用多线程并行调用内核,那么是不是应该我可以同时使用96/16=6个线程,并保持计算速度和内存都不变? 我现在测试时发现,CPU使用率在使用4个线程时是使用单线程时的4倍!而整个的运行速度是使用单线程时慢了3倍!内存也是4倍!
内存增加可以理解,但CPU使用率和运行速度的增加我就不明白了