Cross-Facility Federated Learning (xFFL) documentation¶
Cross-Facility Federated Learning (xFFL) is a federated learning (FL) framework based on the StreamFlow workflow management system (WMS) developed in the Parallel Computing Alpha research group at the University of Turin, Italy.
xFFL is designed to be a research-oriented software, enabling FL workloads deployment on geographically distributed computing infrastructures including, but not limited to, high-performance computers (HPCs).
We aim to democratize extensive ML workload development, allowing researchers and SMEs to be competitive with big tech companies by exploiting sparse computing power.
Note
This project is under active development.
Check out the Usage section for further information, including how to install the project.
Contents¶
- Usage
- API Reference
- xffl
- Submodules
- xffl.cli
- xffl.custom
- Submodules
- xffl.custom.datasets
- xffl.custom.formatter
- xffl.custom.models
- xffl.custom.parser
- xffl.custom.types
- Submodules
- xffl.distributed
- Submodules
- xffl.distributed.aggregation
- Attributes
- Functions
- Module Contents
logger
layer_by_layer()
layer_by_layer_()
layer_by_layer_optimized()
layer_by_layer_optimized_()
bucket_flatten()
bucket_coalesced()
bucket_flatten_()
bucket_coalesced_()
bucket_optimized_flatten()
bucket_optimized_coalesced()
bucket_optimized_flatten_()
bucket_optimized_coalesced_()
benchmark_aggregation()
- xffl.distributed.distributed
- xffl.distributed.distributed_state
- Attributes
- Classes
- Functions
- Module Contents
logger
DistributedState
DistributedState.backend
DistributedState.master_addr
DistributedState.master_port
DistributedState.rank
DistributedState.world_size
DistributedState.node_local_rank
DistributedState.node_local_size
DistributedState.node_rank
DistributedState.node_world_size
DistributedState.replica_local_rank
DistributedState.replica_local_size
DistributedState.replica_rank
DistributedState.replica_world_size
DistributedState.federated_local_rank
DistributedState.federated_local_size
DistributedState.federated_rank
DistributedState.federated_world_size
DistributedState.fsdp_mesh
DistributedState.hsdp_mesh
DistributedState.is_sender
DistributedState.receive_from
DistributedState.federated_group
DistributedState.replica_group
DistributedState.federation
DistributedState.device_type
DistributedState.current_device
DistributedState.init_device
DistributedState.meta_initialization
DistributedState.streams
DistributedState.__str__()
DistributedState.set_global()
DistributedState.set_exec_device()
DistributedState.set_init_device()
DistributedState.set_node()
DistributedState.is_node_setup()
DistributedState._get_global_fsdp_mesh()
DistributedState.set_fsdp()
DistributedState.is_fsdp_setup()
DistributedState._set_global_hsdp_mesh()
DistributedState.set_hsdp()
DistributedState._partial_hsdp_setup()
DistributedState._partial_hsdp_setup_manual()
DistributedState.is_hsdp_setup()
DistributedState.unset_hsdp()
DistributedState._set_rank_role()
DistributedState.set_federated_scaling()
DistributedState._get_communicating_processes()
DistributedState._set_symmetric_federated_scaling()
DistributedState._set_asymmetric_federated_scaling()
DistributedState.unset_federated_scaling()
DistributedState.is_federated_scaling_setup()
DistributedState.create_process_group()
create_device_mesh()
- xffl.distributed.networking
- xffl.distributed.utils
- xffl.distributed.aggregation
- Submodules
- xffl.learning
- xffl.utils
- xffl.workflow
- Submodules
- xffl.workflow.config
- xffl.workflow.streamflow
- xffl.workflow.templates
- xffl.workflow.utils
- Submodules
- Submodules
- xffl