     fprintf (stderr, "Error in cudaMemcpy host to device scratch: %s\n", cudaGetErrorString (err));
   }
 
-  convolvution2d_kernel <<< grid, threads, 0, stream[1] >>> (d_image, d_scratch, scratchWidth, scratchHeight, filterWeight);
+  convolution2d_kernel <<< grid, threads, 0, stream[1] >>> (d_image, d_scratch, scratchWidth, scratchHeight, filterWeight);
 
   err = cudaMemcpyAsync (image, d_image, WIDTH * HEIGHT * sizeof (float), cudaMemcpyDeviceToHost, stream[1]);
   if (err != cudaSuccess) {

 *  Future Generation Computer Systems, Volume 30, 2014
 */
__global__ void
convolvution2d_kernel (float *__restrict__ iPtr, const float *__restrict__ sPtr, int totalWidth, int scratchHeight, float divisor) {

  float sum0 = 0;
  float sum1 = 0;


  for (k = 0; k < NSTREAMS; k++) {

    convolution2d_kernel <<< grid, threads, 0, stream[k] >>> (image + k * (WIDTH * (HEIGHT / NSTREAMS)), d_scratch + k * lps, scratchWidth, scratchHeight,
							       filterWeight);
  }

