title: Is there any difference between cudaMallocHost() and cudaHostAlloc() without special flags?
body: <p>In CUDA, I'm wondering about the difference between <a href="http://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__MEMORY.html#group__CUDART__MEMORY_1gab84100ae1fa1b12eaca660207ef585b" rel="noreferrer"><code>cudaMallocHost()</code></a> and <a href="http://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__MEMORY.html#group__CUDART__MEMORY_1gb65da58f444e7230d3322b6126bb4902" rel="noreferrer"><code>cudaHostAlloc()</code></a>.</p>
  
  <p>Their respective summaries in the API reference say:</p>
  
  <ul>
  <li><strong><code>cudaMallocHost()</code></strong>: "Allocates page-locked memory on the host."</li>
  <li><strong><code>cudaHostAlloc()</code></strong>: "Allocates page-locked memory on the host."</li>
  </ul>
  
  <p>And the further description seems to only be the additional flags one can specify for <code>cudaHostAlloc()</code>. Is the former kept simply for backwards-compatibility or is there an actual difference between them?</p>
  
  <p>PS - Let's assume CUDA 6.5 and later.</p>