Skip to content

Official implementation of the paper "Split-Et-Impera: A Framework for the Design of Distributed Deep Learning Applications" accepted @ DDECS 2023.

License

Notifications You must be signed in to change notification settings

luigicapogrosso/split_et_impera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Split-Et-Impera: A Framework for the Design of Distributed Deep Learning Applications

Official implementation of the paper Split-Et-Impera: A Framework for the Design of Distributed Deep Learning Applications accepted at the 26th International Symposium on Design and Diagnostics of Electronic Circuits and Systems (DDECS 2023).

Split-Et-Impera is a novel and practical framework that i) determines the set of the best-split points of a neural network based on deep network interpretability principles without performing a tedious try-and-test approach, ii) performs a communication-aware simulation for the rapid evaluation of different neural network rearrangements, and iii) suggests the best match between the application's quality of service requirements and performance in terms of accuracy and latency time.

Dependencies

Split-Et-Impera has the following dependencies:

  • Sphinx for documentation generation (optional);
  • SCNSL for simulations of networked systems (mandatory).

SCNSL is a SystemC Network Simulation Library licensed under the LGPL license. It extends SystemC's capabilities to perform simulations of networked systems. Here is the official repository, and here is the documentation of the library. For further information about SCNSL, check the paper.

Installation

  1. Clone this repo, and we'll call the directory that you cloned as ${SEI_ROOT}.
  2. Install dependencies. We use Python >= 3.8 and PyTorch >= 1.7.0.
  3. To use the code from sources in a clean way, it is preferable that you set up a conda environment, say:
    $ conda create -n sei python=3.8
    $ conda activate sei
    $ conda install pytorch==1.7.0 torchvision==0.8.0 cudatoolkit=11.3 -c pytorch
    $ pip install -r requirements.txt
    

License

The software files in this repository are provided under the MIT License.

Authors

Luigi Capogrosso, Federico Cunico, Michele Lora, Marco Cristani, Franco Fummi, Davide Quaglia

Department of Computer Science, University of Verona, Italy

[email protected]

Citation

If you use Split-Et-Impera, please, cite the following paper:

@InProceedings{capogrosso2023split,
  author    = {Capogrosso, Luigi and Cunico, Federico and Lora, Michele and Cristani, Marco and Fummi, Franco and Quaglia, Davide},
  booktitle = {26th International Symposium on Design and Diagnostics of Electronic Circuits and Systems (DDECS)},
  title     = {{Split-Et-Impera: A Framework for the Design of Distributed Deep Learning Applications}},
  year      = {2023},
  doi       = {10.1109/ddecs57882.2023.10139711},
}

About

Official implementation of the paper "Split-Et-Impera: A Framework for the Design of Distributed Deep Learning Applications" accepted @ DDECS 2023.

Resources

License

Stars

Watchers

Forks