title: cudaMemcpyToSymbol do not copy data
body: <p>I want to use <code>__constant__</code> memory which will be accessed by all threads across all of my kernels.</p>
  
  <p>The declaration is something like this</p>
  
  <pre><code>extern __constant__ float smooth [8 * 1024];
  </code></pre>
  
  <p>I am copying data to this variable using</p>
  
  <pre><code>cudaMemcpyToSymbol("smooth", smooth_local, smooth_size, 0, cudaMemcpyHostToDevice);
  </code></pre>
  
  <p>smooth_size = 7K bytes</p>
  
  <p>It was giving me incorrect output</p>
  
  <p>but when I run it in <code>-deviceemu</code> mode and tried to print the contents of both these variables inside the kernel, I was getting all zeroes for smooth and smooth_local was correct.</p>
  
  <p>I tried printing the output just after <code>cudaMemcpyToSymbol</code> still it was giving me 0's.</p>
  
  <p>Can you anyone throw light on my problem?</p>