class GUVectorize(_BaseVectorize): target_registry = TargetRegistry( {"cpu": GUFuncBuilder, "parallel": ParallelGUFuncBuilder,} ) def __new__(cls, func, signature, **kws): identity = cls.get_identity(kws) cache = cls.get_cache(kws) imp = cls.get_target_implementation(kws) return imp(func, signature, identity=identity, cache=cache, targetoptions=kws)
class Vectorize(_BaseVectorize): target_registry = TargetRegistry({ 'cpu': dufunc.DUFunc, 'parallel': ParallelUFuncBuilder, }) def __new__(cls, func, **kws): identity = cls.get_identity(kws) cache = cls.get_cache(kws) imp = cls.get_target_implementation(kws) return imp(func, identity=identity, cache=cache, targetoptions=kws)
class GUVectorize(_BaseVectorize): target_registry = TargetRegistry({ 'cpu': gufunc.GUFunc, 'parallel': ParallelGUFuncBuilder, }) def __new__(cls, func, signature, **kws): identity = cls.get_identity(kws) cache = cls.get_cache(kws) imp = cls.get_target_implementation(kws) if imp is gufunc.GUFunc: is_dyn = kws.pop('is_dynamic', False) return imp(func, signature, identity=identity, cache=cache, is_dynamic=is_dyn, targetoptions=kws) else: return imp(func, signature, identity=identity, cache=cache, targetoptions=kws)
""" class CUDA(GPU): """Mark the hardware target as CUDA. """ class ROCm(GPU): """Mark the hardware target as ROCm. """ class NPyUfunc(Target): """Mark the hardware target as a ufunc """ hardware_registry['generic'] = Generic hardware_registry['CPU'] = CPU hardware_registry['cpu'] = CPU hardware_registry['GPU'] = GPU hardware_registry['gpu'] = GPU hardware_registry['CUDA'] = CUDA hardware_registry['cuda'] = CUDA hardware_registry['ROCm'] = ROCm hardware_registry['npyufunc'] = NPyUfunc dispatcher_registry = TargetRegistry(key_type=Target) dispatcher_registry[hardware_registry['cpu']] = CPUDispatcher
""" import sys import warnings import inspect import logging from numba.core.errors import DeprecationError, NumbaDeprecationWarning from numba.stencils.stencil import stencil from numba.core import config, extending, sigutils, registry from numba.core.extending_hardware import (JitDecorator, hardware_registry, dispatcher_registry, resolve_dispatcher_from_str) from numba.core.registry import TargetRegistry jit_registry = TargetRegistry() _logger = logging.getLogger(__name__) # ----------------------------------------------------------------------------- # Decorators _msg_deprecated_signature_arg = ("Deprecated keyword argument `{0}`. " "Signatures should be passed as the first " "positional argument.") def jit(signature_or_function=None, locals={}, cache=False, pipeline_class=None,