Videre
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from numba.core.descriptors import TargetDescriptor
|
||||
from numba.core.options import TargetOptions
|
||||
from .target import CUDATargetContext, CUDATypingContext
|
||||
|
||||
|
||||
class CUDATargetOptions(TargetOptions):
|
||||
pass
|
||||
|
||||
|
||||
class CUDATarget(TargetDescriptor):
|
||||
def __init__(self, name):
|
||||
self.options = CUDATargetOptions
|
||||
# The typing and target contexts are initialized only when needed -
|
||||
# this prevents an attempt to load CUDA libraries at import time on
|
||||
# systems that might not have them present.
|
||||
self._typingctx = None
|
||||
self._targetctx = None
|
||||
super().__init__(name)
|
||||
|
||||
@property
|
||||
def typing_context(self):
|
||||
if self._typingctx is None:
|
||||
self._typingctx = CUDATypingContext()
|
||||
return self._typingctx
|
||||
|
||||
@property
|
||||
def target_context(self):
|
||||
if self._targetctx is None:
|
||||
self._targetctx = CUDATargetContext(self._typingctx)
|
||||
return self._targetctx
|
||||
|
||||
|
||||
cuda_target = CUDATarget('cuda')
|
||||
Reference in New Issue
Block a user