cuda优化的问题

要对现有影像程序改造成cuda程序,但我又不想全盘改造,只想对部分函数进行改造。现有程序是在一个统一的框架下,即对影像分块(256*256)进行读取,然后进行处理,改造成cuda就有这样一个问题:
如果影像尺寸很大,就需要调用很多次cudamalloc 和 cudamemcpy函数,造成效率极大下降,请问有什么方法可以不改造现有程序的分块机制而进行cuda优化呢

LZ您好:

您不要把cudamalloc放在您封装的调用GPU的函数里面,而是放在外面并尽量复用。
cudamemcpy可能无法避免了,不过您可以尝试多stream实现等,用异步的copy掩盖一些传输时间。

大致这两个建议了,供您参考。

感谢您深夜来访,祝您好运~