コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
ファイル: decorators.py プロジェクト: BrundaBR/MajorProject
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)
コード例 #4
0
    """


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
コード例 #5
0
"""

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,