# Copyright (c) 2024 Justin Davis (davisjustin302@gmail.com)## MIT License# mypy: disable-error-code="import-untyped"from__future__importannotationsimportcontextlibwithcontextlib.suppress(Exception):try:importcuda.bindings.driverascudaexcept(ImportError,ModuleNotFoundError):fromcudaimportcudafrom._cudaimportcuda_call
[docs]defcreate_context(device:int=0)->cuda.CUcontext:""" Create a CUDA context. Parameters ---------- device : int The device to make a context for. By default 0. Returns ------- cuda.CUcontext The created CUDA context """cu_device=cuda_call(cuda.cuDeviceGet(device))returncuda_call(cuda.cuCtxCreate(0,cu_device))
[docs]defdestroy_context(context:cuda.CUcontext)->None:""" Destory a CUDA context. Parameters ---------- context : cuda.CUcontext The CUDA context to destroy. """cuda_call(cuda.cuCtxDestroy(context))