   *
   *  File: reduce.cuh
   *  Created: Feb 12, 2013
-  *  Modified: Thu 28 Feb 2013 09:00:58 PM PST
+  *  Modified: Fri 23 Aug 2013 12:01:06 PM PDT
   *
   *  Author: Abhinav Sarje <asarje@lbl.gov>
   */


		//nvtxRangeId_t nvtx0 = nvtxRangeStart("one_setup");
		data_t *output = NULL, *base_output = NULL;
		unsigned int output_size = MAX_GRID_SIZE_;
		cudaMalloc((void**) &output, output_size * sizeof(data_t));
		base_output = output;
		//nvtxRangeEnd(nvtx0);

		unsigned int d_shmem_size = block_size * sizeof(data_t);

		cudaMemcpy(&temp_result, &output[0], sizeof(data_t), cudaMemcpyDeviceToHost);
		result = op(result, temp_result);
		output = base_output;
		input = base_input;
		cudaFree(input);
		cudaFree(output);
		//nvtxRangeEnd(nvtx2);

		return result;
	} // reduce_single()


} // namespace cuda
