各问大神们,你们好!
我这边有一个问题:有两张图像A和B,每张的大小为10241280,我用float的形式分别存在两个texture变量里面,然后A和B中应用区域相关求取对应点:过程为,在A中选择一个像素点p,然后在B中对应的一行上取N个像素,然后以B中每个像素为中心,取一个大小为NN的矩形与A中以p为中心的N*N的矩形进行相关计算。现在我将A中每个像素与B中一串像素求相关的运算放到block中(A中有几个像素就申请多少个block),然后每个block中的每个线程分别运算p矩形框和B中这一行上每个像素的矩形框求取相关值,这个放置在共享内存中进行。现在有这个几个问题:
(1)如此block运算,并行时相邻像素对应的矩形框访问有重叠,这样在访问的时候是不是会出现conflict,从而导致效率降低?如果是,在我这种情况有什么好的解决措施嘛?
(2)纹理内存一般比globle内存在访问上速度有多大差别?
(3)起初我是想将图像放到constant里面的,但是它的容量太小,如果我分批添加进去,就不断有cpu和gpu的交换,我担心速度反而会更低。不知道这种担心是不是多余?
求斑竹们不吝赐教!