# FedML TRAINING PLATFORM
FEDML_TRAINING_PLATFORM_SIMULATION = "simulation"
FEDML_TRAINING_PLATFORM_CROSS_SILO = "cross_silo"
FEDML_TRAINING_PLATFORM_CROSS_DEVICE = "cross_device"
FEDML_TRAINING_PLATFORM_DISTRIBUTED = "distributed"

# FedML SIMULATION TYPE
FEDML_SIMULATION_TYPE_SP = "single_process"
FEDML_SIMULATION_TYPE_MPI = "MPI"
FEDML_SIMULATION_TYPE_NCCL = "NCCL"

# FedML data
FEDML_DATA_CACHE_FOLDER = "fedml_data"
FEDML_DATA_MNIST_URL = "https://fedcv.s3.us-west-1.amazonaws.com/MNIST.zip"


# FedML Algorithm
FedML_FEDERATED_OPTIMIZER_BASE_FRAMEWORK = "base_framework"
FedML_FEDERATED_OPTIMIZER_FEDAVG = "FedAvg"
FedML_FEDERATED_OPTIMIZER_FEDOPT = "FedOpt"
FedML_FEDERATED_OPTIMIZER_FEDPROX = "FedProx"
FedML_FEDERATED_OPTIMIZER_CLASSICAL_VFL = "classical_vertical"
FedML_FEDERATED_OPTIMIZER_SPLIT_NN = "split_nn"
FedML_FEDERATED_OPTIMIZER_DECENTRALIZED_FL = "decentralized_fl"
FedML_FEDERATED_OPTIMIZER_FEDGAN = "FedGAN"
FedML_FEDERATED_OPTIMIZER_FEDAVG_ROBUST = "FedAvg_robust"
FedML_FEDERATED_OPTIMIZER_FEDGKT = "FedGKT"
FedML_FEDERATED_OPTIMIZER_FEDNAS = "FedNAS"
FedML_FEDERATED_OPTIMIZER_FEDSEG = "FedSeg"
FedML_FEDERATED_OPTIMIZER_TURBO_AGGREGATE = "turbo_aggregate"
Local = "Local"