                                floatType_t const *a3,
                                int         const  Xexamples )
 {
-  int tid = blockDim.x * blockIdx.x + threadIdx.x;
+
+/* setup global threadID in X direction */
+
+  int tid = FIXME
+
   if( tid < Xexamples )
   {
     delta3[INDX((int)Y[tid],tid,11)] = (floatType_t) 1.0;

                                int         const Xexamples,
                                int         const size )
{
  int tidx = blockDim.x * blockIdx.x + threadIdx.x;
  int tidy = blockDim.y * blockIdx.y + threadIdx.y;

  if( tidy < Xexamples && tidx < size )
    delta2[INDX(tidx,tidy,size)] *= z2[INDX(tidy,tidx,Xexamples)];
} /* end k_updateDelta2 */

/* kernel for calculating the sigmoid of an array */


   checkCUBLAS( cublasSgemm( cublasHandle, 
                              CUBLAS_OP_N, CUBLAS_OP_N,
                              FIXME, FIXME, FIXME,
			      &recip, (float *)&d_delta3[1], 11,
                              (float *)d_a2, Xexamples, 
                              &beta, (float *)d_theta2Grad, theta2Rows ) );   
