قسمت 1 را بخوانید بسیار خوب، پس کاری که ما در اینجا انجام خواهیم داد مانند قبل است، اما این بار از یک نوع دوگانه استفاده کنید کد هسته خود را به این تغییر می دهیم: string kernel=”__kernel void bench(__global double* _tangent,” “int iterations){“ “double sum=(double)0.0;” “double of=(double)_tangent[get_global_id(0)];” “for(int i=0;i<iterations;i++){“ “sum+=((double)tanh(of-sum))/((double)iterations);” “}” “_tangent[get_global_id(0)]=sum;}”; ما یک