Alex__Wong 2016-12-11 06:00 采纳率: 0%
浏览 2946
已结题

CUDA并行处理循环问题

刚开始接触CUDA,C++也不熟悉,想把一个循环用GPU并行加速。
有这么一个循环:

 for (int i = 0; i < nbint; i++)
    {
        _theta = (0.5 + i)*delta;
        for (int j = 0; j < nbinp; j++)
        {
            _phi = (0.5 + j)*delta;
            _l = sin(_theta* PI / 180.0)*cos(_phi* PI / 180.0);
            _m = sin(_theta* PI / 180.0)*sin(_phi* PI / 180.0);
            _n = cos(_theta* PI / 180.0);
            for (int k = 0; k < hits; k++)
            {
                _k = -(_l*x[k] + _m*y[k] + _n*z[k]);
                t[k] = a[k] - _k;

            }
            sort(t,0,hits-1)
            }
            }

变幻完成后对这nbint*nbinp个数组排序。我想并行处理这么多数组。下面是我的核函数部分:

__global__ void boot(float *theta, float *phi, float *h, float *t)
{
    using namespace std;
    int nbint = 2, nbinp = 2, hits = 20, delta = 5;
    float l, m, n = 0;
    int tid = blockDim.x * blockIdx.x + threadIdx.x;
    if (tid < nbinp*nbint)
    {
        for (int i = 0; i < nbint; i++)
        {
            *theta = (0.5 + i)*delta;
            for (int j = 0; j < nbinp; j++)
            {
                *phi = (0.5 + j)*delta;
                l = sin((*theta)* PI / 180.0)*cos((*phi)* PI / 180.0);
                m = sin((*theta)* PI / 180.0)*sin((*phi)* PI / 180.0);
                n = cos((*theta)* PI / 180.0);
                for (int k = 0; k < hits; k++)
                {
                    float *x = new float[k];
                    float *y = new float[k];
                    float *z = new float[k];
                    float *a = new float[k];
                    *h = -(l*x[k] + m*y[k] + n*z[k]);
                    t[k] = a[k] - *h;

                }
                GPUqsort << < 1, 1 >> >(t, 0, hits-1);
            }
        }
    }
} 

结果不对。。请大神们给点指导~~~

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2016-12-17 06:45
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名