[SE] RegisteredHostMemory for async device copies

Summary:
Improve the error-prone interface that allows users to pass host
pointers that haven't been registered to asynchronous copy methods. In
CUDA, this is an extremely easy error to make, and instead of failing at
runtime, it succeeds and gives the right answers by turning the async
copy into a sync copy. So, you silently get a huge performance
degradation if you misuse the old interface. This new interface should
prevent that.

Reviewers: jlebar

Subscribers: jprice, beanz, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D24353

llvm-svn: 281225
GitOrigin-RevId: 57ea481945ffff7515b9bf3fe206f6c53ee8fd4a
11 files changed
tree: 16da64615fae2ef51b405f312e46fb0a639ffe96
  1. .arcconfig
  2. .clang-format
  3. CMakeLists.txt
  4. README.rst
  5. streamexecutor/