580
社区成员
发帖
与我相关
我的任务
分享
double e;
#define Data 820
void trainNetwork(){
int i,c=0,j;
do{
e=0;
for (i = 0; i < Data; ++i){
computO(i);
e+=fabs((OutputData[0]-d_out[i][0])/d_out[i][0]);
backUpdate(i);
}
printf("%d %lf\n",c,e/Data);
c++;
}while(c<TrainC && e/Data>0.001);
}
__global__ static void trainNetwork(){
__shared__ double gpu_e;
__shared__ int c ;
do{
gpu_e=0;
int index = threadIdx.x;
computO(index);
gpu_e+=fabs((gpu_OutputData[0]-gpu_d_out[index][0])/gpu_d_out[index][0]);
backUpdate(index);
printf("%d %lf\n",c,gpu_e/Data);
c++;
}while(c<TrainC && gpu_e/Data>0.001);
// __syncthreads();
}