Estoy empezando con OpenCL, pude ver el ejemplo de agregar vector y entenderlo. Pero estaba pensando en el método del trapecio. Este es el código (C) para el cálculo integral para x^2 en [a, b].Integración Numérica - ¿Cómo se puede paralelizar?
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;
}
La pregunta es ¿cómo obtener un kernel para el cálculo integral usando el método trapecio?
Por lo tanto, yo estaba pensando en la idea: parciales [i] = integran (a, a + offset), y luego hacer un kernel para calcular la suma de los parciales que se han mencionado Patrick87.
Pero, esta es la mejor manera?
Muchas gracias por el código. Voy a probarlo. –