[GPUJIT] Add GPUJIT APIs for allocating and freeing managed memory.
authorSiddharth Bhat <siddu.druid@gmail.com>
Wed, 2 Aug 2017 12:23:22 +0000 (12:23 +0000)
committerSiddharth Bhat <siddu.druid@gmail.com>
Wed, 2 Aug 2017 12:23:22 +0000 (12:23 +0000)
commitf23bb4a8ba9e0e30a954d52175845e21833dfa37
treeb22fc26ea482f5ca6375966a456b30e38243e87b
parentead67dbbd6dcfa058f572382f641225b7e9ee35c
[GPUJIT] Add GPUJIT APIs for allocating and freeing managed memory.

We introduce `polly_mallocManaged` and `polly_freeManaged` as
proxies for `cudaMallocManaged` / `cudaFree`. This is currently not
used by Polly. It is auxiliary code that is used in `COSMO`.

This is useful because `polly_mallocManaged` matches the signature of `malloc`,
while `cudaMallocManaged` does not. We introduce `polly_freeManaged` for
symmetry.

We use this in COSMO to use the unified memory feature of the newer
CUDA APIs (>= 6).

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

llvm-svn: 309808
polly/tools/GPURuntime/GPUJIT.c
polly/tools/GPURuntime/GPUJIT.h