69 lines
1.2 KiB
Python
69 lines
1.2 KiB
Python
"""isort:skip_file"""
|
|
__version__ = '2.1.0'
|
|
|
|
# ---------------------------------------
|
|
# Note: import order is significant here.
|
|
|
|
# submodules
|
|
from .runtime import (
|
|
autotune,
|
|
Config,
|
|
heuristics,
|
|
JITFunction,
|
|
KernelInterface,
|
|
reinterpret,
|
|
TensorWrapper,
|
|
OutOfResources,
|
|
MockTensor,
|
|
)
|
|
from .runtime.jit import jit
|
|
from .compiler import compile, CompilationError
|
|
from .debugger.debugger import program_ids_from_grid
|
|
|
|
from . import language
|
|
from . import testing
|
|
|
|
__all__ = [
|
|
"autotune",
|
|
"cdiv",
|
|
"CompilationError",
|
|
"compile",
|
|
"Config",
|
|
"heuristics",
|
|
"impl",
|
|
"jit",
|
|
"JITFunction",
|
|
"KernelInterface",
|
|
"language",
|
|
"MockTensor",
|
|
"next_power_of_2",
|
|
"ops",
|
|
"OutOfResources",
|
|
"reinterpret",
|
|
"runtime",
|
|
"TensorWrapper",
|
|
"testing",
|
|
"program_ids_from_grid",
|
|
]
|
|
|
|
|
|
# -------------------------------------
|
|
# misc. utilities that don't fit well
|
|
# into any specific module
|
|
# -------------------------------------
|
|
|
|
def cdiv(x, y):
|
|
return (x + y - 1) // y
|
|
|
|
|
|
def next_power_of_2(n):
|
|
"""Return the smallest power of 2 greater than or equal to n"""
|
|
n -= 1
|
|
n |= n >> 1
|
|
n |= n >> 2
|
|
n |= n >> 4
|
|
n |= n >> 8
|
|
n |= n >> 16
|
|
n += 1
|
|
return n
|