     for( int i = 0; i < nstreams; i++ )
     {
 /* destroy the streams here */
-        CUDA_CALL( cudaStreamDestroy( stream[i] ) );
+      FIXME
     } /* end for */
 
     CUDA_CALL( cudaFreeHost( p_a ) );


        int aOffset = INDX( rowTile[i], k, linearTiles ) *
                            tileSize * tileSize;
        CUDA_CALL( cudaMemcpyAsync( d_a[i], &p_a[aOffset], tileBytes,
                     cudaMemcpyHostToDevice, stream[i] ) );
        } /* end for */

/* stream B into device */

      {
        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 */


