9#ifndef FORTRAN_RUNTIME_CUDA_ALLOCATOR_H_
10#define FORTRAN_RUNTIME_CUDA_ALLOCATOR_H_
13#include "flang/Runtime/descriptor-consts.h"
14#include "flang/Runtime/entry-names.h"
16#include "cuda_runtime.h"
18namespace Fortran::runtime::cuda {
22void RTDECL(CUFRegisterAllocator)();
23cudaStream_t RTDECL(CUFGetAssociatedStream)(
void *);
26void *CUFAllocPinned(std::size_t, std::int64_t *);
27void CUFFreePinned(
void *);
29void *CUFAllocDevice(std::size_t, std::int64_t *);
30void CUFFreeDevice(
void *);
32void *CUFAllocManaged(std::size_t, std::int64_t *);
33void CUFFreeManaged(
void *);
35void *CUFAllocUnified(std::size_t, std::int64_t *);
36void CUFFreeUnified(
void *);