この機能をThrustでどのように実装できますか?
for (i=0;i<n;i++)
if (i==pos)
h1[i]=1/h1[i];
else
h1[i]=-h1[i]/value;
CUDAでは次のようにしました:
__global__ void inverse_1(double* h1, double value, int pos, int N)
{
int i = blockDim.x * blockIdx.x + threadIdx.x;
if (i < N){
if (i == pos)
h1[i] = 1 / h1[i];
else
h1[i] = -h1[i] / value;
}
}
ありがとう!