 
         int aOffset = INDX( rowTile[i], k, linearTiles ) *
                             tileSize * tileSize;
-        CUDA_CALL( cudaMemcpyAsync( d_a[i], &p_a[aOffset], tileBytes,
-                     cudaMemcpyHostToDevice, stream[i] ) );
+/* use cudaMemcpyAsync to move a tile of A to the device
+   HINT: aOffset points to the starting location of the tile, in host mem */
+        FIXME
         } /* end for */
 
 /* stream B into device */

        {
/* set the stream for the cublas call */

          CUBLAS_CALL( cublasSetStream( handle, stream[i] ) );

/* call the cublas dgemm function */

          CUBLAS_CALL( cublasDgemm( handle, CUBLAS_OP_N, CUBLAS_OP_N,
                 tileSize, tileSize, tileSize,
                 &alpha,
                 d_a[i], tileSize,
                 d_b[i], tileSize,
                 &beta,
                 d_c[i], tileSize ) );

        } /* end for */


      {
        int cOffset = INDX( rowTile[i], colTile[i], linearTiles ) *
                            tileSize * tileSize;
/* use cudaMemcpyAsync to move a tile of C to the host
   HINT: cOffset points to the starting location of the tile, in host mem */
        FIXME
      } /* end for */


