cudaMemcpyはどこにある?

CUDAのお勉強をしていると必ず出てくるcudaMemcpy()。どこにあるのか、他になにあるのか探してみました。対象としたのはCUDA2.3です。

cudaMemcpy()はcuda_runtime_api.hに定義されていますが、同じくcuda_runtime.hにも定義されています。何が違うかというと、前者がvoid**を引数にとる関数であるのに対して、後者が任意のT**型を引数にとるテンプレート関数になっています。
また、cuda_runtime_api.hにはほとんどコメントがないのに対して、cuda_runtime.hには各関数の頭にコメントがついています。返り値を確認したいときにもcuda_runtime.hでしょう。実際にはほとんどがcudaError_tなのでわざわざ確認する必要はないかもしれませんが。