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 {
21cudaStream_t RTDECL(CUFGetAssociatedStream)(
void *);
22int RTDECL(CUFSetAssociatedStream)(
void *, cudaStream_t);
23void RTDECL(CUFRegisterAllocator)();
26void CUFResetStream(cudaStream_t stream);
28void *CUFAllocPinned(std::size_t, std::int64_t *);
29void CUFFreePinned(
void *);
31void *CUFAllocDevice(std::size_t, std::int64_t *);
32void CUFFreeDevice(
void *);
34void *CUFAllocManaged(std::size_t, std::int64_t *);
35void CUFFreeManaged(
void *);
37void *CUFAllocUnified(std::size_t, std::int64_t *);
38void CUFFreeUnified(
void *);