torch.backends.mps 的源代码
# mypy: 允许未类型化定义
来自 functools
导入 lru_cache as _lru_cache
来自
打字
导入
可选,
类型检查
导入
火炬
来自 torch.library
导入
库 as
图书馆
全部 = [
is_built,
"是否可用",
是否为 macOS 13 或更高版本,
是否为 macOS 或更高版本]
[文档]def is_built() -> bool:
返回 PyTorch 是否带有 MPS 支持。
注意,这并不一定意味着 MPS 可用;只是说
如果这个 PyTorch 二进制文件在带有正常 MPS 驱动程序和设备的机器上运行
我们将能够使用它。
"""
返回 torch._C._has_mps
[文档]@_lru_cache
def is_available() -> bool:
返回一个布尔值,指示 MPS 当前是否可用。
返回一个布尔值,表示是否在指定的 MacOS 或更高版本上运行 MPS。
@_lru_cache
def macOS 或更高版本(
主要: int,
次要: int) -> bool:
r返回一个布尔值,指示 MPS 是否在给定的 MacOS 或更高版本上运行。
返回
PyTorch._C._mps_is_on_macos_or_newer(
主要,
次要)
@_lru_cache
def 是不是 macOS 13 或更高版本(
次要:
整型 = 0) -> bool:
r返回一个布尔值,指示 MPS 是否在 macOS 13 或更高版本的操作系统上运行。
返回
PyTorch._C._mps_is_on_macos_or_newer(13,
次要)
_lib: 可选[
图书馆] =
无
def _初始化():
r将 prims 注册为 var_mean 和 group_norm 的实现。
全局 _lib
如果 _lib
是
不
无
或者
不
是否构建():
返回
来自
torch._decomp.分解
导入
原生组归一化反向
来自 torch._refs
导入
原生组归一化
_lib = _图书馆(
aten,
实现) # noqa: TOR901
_lib.实现(
原生组归一化,
原生组归一化,
MPS)
_lib.实现(
"原生组归一化反向",
原生组归一化反向, "MPS")