   floatType_t *d_theta1;
   CUDA_CALL( cudaMalloc( &d_theta1, 
           sizeof(floatType_t) * theta1Rows * theta1Cols ) );
+
+  floatType_t *d_theta2;
+  CUDA_CALL( cudaMalloc( &d_theta2, 
+          sizeof(floatType_t) * theta2Rows * theta2Cols ) );
+
+  float alpha = 1.0;
+  float beta  = 0.0;
 
 #if 1
   if( sizeof( floatType_t ) == 4 ) 

  yTemp = &a3[INDX(Xexamples,theta2Rows+1,Xexamples)];
  delta2 = &yTemp[11];

  checkCUDNN( cudnnSetTensor4dDescriptor(srcTensorDesc,
                                         CUDNN_TENSOR_NCHW,
                                         CUDNN_DATA_FLOAT,

                                         theta1Rows+1,
                                         1,1) );


  floatType_t *d_X;
  CUDA_CALL( cudaMalloc( &d_X,
