def METHOD_NAME(self):
    for name in self.groups["amp"]:
        method = OptimizationMethod(
            name=name,
            group="amp",
            supported_devices=["cuda"],
            min_sm_version="6.0",
            opt_computation=True,
            process_mode="ONE_PROCESS",
            is_tunable=False,
        )
        self.methods[method.name] = method
    for name in self.groups["zero"]:
        method = OptimizationMethod(
            name=name,
            group="zero",
            supported_devices=["cuda"] if name == "fsdp" else ["cpu", "cuda"],
            min_sm_version=None,
            opt_memory=True,
            distributed_only=True,
            process_mode="ONE_PROCESS",
            is_tunable=False,
        )
        self.methods[method.name] = method
    for name in self.groups["parallel"]:
        method = OptimizationMethod(
            name=name,
            group="parallel",
            supported_devices=["cuda"],
            min_sm_version=None,
            opt_memory=True,
            distributed_only=True,
            process_mode="ONE_PROCESS",
            is_tunable=True,
        )
        self.methods[method.name] = method
    for name in self.groups["module_replace"]:
        method = OptimizationMethod(
            name=name,
            group="module_replace",
            supported_devices=["cuda"],
            min_sm_version="6.0",
            opt_computation=True,
            opt_memory=True,
            distributed_only=False,
            process_mode="ONE_PROCESS",
            is_tunable=False,
        )
        self.methods[method.name] = method
    for name in self.groups["checkpoint"]:
        method = OptimizationMethod(
            name=name,
            group="checkpoint",
            supported_devices=["cuda"],
            min_sm_version=None,
            opt_computation=False,
            opt_memory=True,
            distributed_only=False,
            process_mode="ONE_PROCESS",
            is_tunable=False,
        )
        self.methods[method.name] = method
    # parallel_mode is a special method to support
    # 1. create process groups
    # 2. support data parallel
    method = OptimizationMethod(
        name="parallel_mode",
        group="parallel_mode",
        supported_devices=["cpu", "cuda"],
        min_sm_version=None,
        distributed_only=True,
        process_mode="ONE_PROCESS",
        is_tunable=False,
    )
    self.methods[method.name] = method