快捷方式

特性开关

特性开关是 FBGEMM_GPU 代码库中提供的一种机制,它提供了一种基于环境设置启用和禁用实验性功能的统一方式。

虽然可以将其视为环境变量之上的类型安全抽象,但请注意,特性开关是控制代码行为的**运行时机制**。

创建特性开关

如果目的是将某项功能集成到代码库中,但要推迟其启用,直到在生产工作负载中进行进一步验证,则应创建特性开关。

C++

要在 C++ 端定义特性开关,请将定义添加到 fbgemm_gpu/config/feature_gates.h 文件中的 ENUMERATE_ALL_FEATURE_FLAGS X 宏定义中。

#define ENUMERATE_ALL_FEATURE_FLAGS   \
  X(...)                              \
  ...                                 \
  X(EXAMPLE_FEATURE)  // <-- Append here

Python

要在 Python 端定义特性开关,只需将新值添加到 fbgemm_gpu/fbgemm_gpu/config/feature_list.py 文件中的 FeatureGateName 枚举定义中。

class FeatureGateName(Enum):
  ...
  # Add here
  EXAMPLE_FEATURE = auto()

虽然不是必需的,但最好与 fbgemm_gpu/config/feature_gates.h 中定义的枚举值保持一致,以提高一致性。

启用特性开关

请参阅 特性开关 (C++)特性开关 (Python) 中的文档,获取有关如何启用特性开关的代码示例。

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源