
Re: Opencl math question New to opencl trying to convert octave to opencl getting different results
pinform Feb 21, 2014 12:59 AM (in response to chocjulio33)Is your issue resolved? We don't have the values of n and U to reproduce your problem.
Your OpenCL translation seems to be correct. Maybe expressing E1 and E2 also in terms of the pow() function would help, as n, U, E1, and E2 are the only variables (i.e. whose values can differ between the Octave version and the OpenCL version) that can influence the differing results.

Re: Opencl math question New to opencl trying to convert octave to opencl getting different results
chocjulio33 Feb 24, 2014 7:16 AM (in response to pinform)Thanks for your reply! No i was not able to figure out why i get different results it is very strange
n=0.01; //Pas
U=1; //m/s
how would you translate this line in opencl?
E1=(207*(10^9));
Thanks Choc
EDIT: I did figure out sry its been a long project the correct answer was in the c translation c99 translation
#include <math.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
double v1 = 0.3;
double E1 = (207*(1e9));
double E2 = (3*(1e6));
double v2 = 0.49;
double pi = M_PI;
double Ers = (1.00/(1.00/pi*((1.00pow(v1,2))/E1+(1.00pow(v2, 2))/E2)));
printf("Ers = %g\n", Ers);
return 0;
}
Re: Opencl math question New to opencl trying to convert octave to opencl getting different results
pinform Feb 24, 2014 1:20 AM (in response to chocjulio33)Can you try the following translation for E1 and E2 and report back?:
E1 = (double)(207*pow((double)10, 9))
E2 = (double)(3*pow((double)10,6))
With this change, we got the same Er result in OpenCL as your Er result using Octave.
Defactor uses additional variables (B, sigma), so we could not verify the result for that variable.

