File private_cuda.h

Defines

TAG_CTX(c)
TAG_BUF(b)
TAG_KER(k)
TAG_COMM(k)
ASSERT_CTX(c)
ASSERT_BUF(b)
ASSERT_KER(k)
ASSERT_COMM(k)
CLEAR(o)
DONTFREE 0x10000000
GA_CUDA_EXIT_ON_ERROR(ctx, cmd) do { \ int err = (cmd); \ if (err != GA_NO_ERROR) { \ cuda_exit((ctx)); \ return err; \ } \ } while (0)
CUDA_EXIT_ON_ERROR(ctx, cmd) do { \ CUresult err = (cmd); \ if (err != CUDA_SUCCESS) { \ cuda_exit((ctx)); \ return error_cuda((ctx)->err, #cmd, err); \ } \ } while (0)
ARCH_PREFIX "compute_"
CUDA_WAIT_READ 0x10000
CUDA_WAIT_WRITE 0x20000
CUDA_WAIT_FORCE 0x40000
CUDA_WAIT_ALL (CUDA_WAIT_READ|CUDA_WAIT_WRITE)
CUDA_IPC_MEMORY 0x100000
CUDA_HEAD_ALLOC 0x200000
CUDA_MAPPED_PTR 0x400000

Functions

static int error_cuda(error * e, const char * msg, CUresult err)
cuda_context* cuda_make_ctx(CUcontext ctx, int flags)
CUstream cuda_get_stream(cuda_context * ctx)
void cuda_enter(cuda_context * ctx)
void cuda_exit(cuda_context * ctx)
gpudata* cuda_make_buf(cuda_context * c, CUdeviceptr p, size_t sz)
size_t cuda_get_sz(gpudata * g)
int cuda_wait(gpudata *, int)
int cuda_record(gpudata *, int)
struct cuda_context
#include <private_cuda.h>

Public Members

GPUCONTEXT_HEAD
CUcontext ctx
CUstream s
CUstream mem_s
gpudata* freeblocks
cache* kernel_cache
cache* disk_cache
unsigned int enter
unsigned char major
unsigned char minor
struct _gpudata
#include <private_cuda.h>

Opaque struct for buffer data.

Public Members

CUdeviceptr ptr
cuda_context* ctx
CUevent rev
CUevent wev
CUstream ls
unsigned int refcnt
int flags
size_t sz
gpudata* next
struct _gpukernel
#include <private_cuda.h>

Opaque struct for kernel data.

Public Members

cuda_context* ctx
CUmodule m
CUfunction k
void** args
size_t bin_sz
void* bin
int * types
unsigned int argcount
unsigned int refcnt