小编fac*_*hpc的帖子

数值积分 - 如何并行化?

我开始使用OpenCL,我可以看到添加向量示例并理解它.但我在考虑梯形方法.这是[a,b]中x ^ 2的积分计算的代码(C).

double f(double x)
{
    return x*x;
}

double Simple_Trap(double a, double b)
{
    double fA, fB;
    fA = f(a);
    fB = f(b);
    return ((fA + fB) * (b-a)) / 2;
}

double Comp_Trap( double a, double b)
{
    double Suma = 0;
    double i = 0;
    i = a + INC;
    Suma += Simple_Trap(a,i);
    while(i < b)
    {
        i+=INC;
        Suma += Simple_Trap(i,i + INC);
    }
    return Suma;
}
Run Code Online (Sandbox Code Playgroud)

问题是如何使用梯形方法获得用于积分计算的内核?


所以,我正在思考这个想法:partials [i] = integration(a,a + offset),然后创建一个内核来计算部分的总和,如Patrick87所述.

但是,这是最好的方法吗?

c algorithm parallel-processing opencl

5
推荐指数
1
解决办法
1473
查看次数

标签 统计

algorithm ×1

c ×1

opencl ×1

parallel-processing ×1