Skip to content

ASU-VDA-Lab/GreenFPGA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GreenFPGA

Tool to evaluate the carbon footprint of FPGA-based computing across its lifetime. The tool can also perform comparisons with ASIC counterpart considering differnt aspects such as manufacturing, recycling, disposal, reconfigurability (reuse), operation and design. The sustainable benifits of FPGA compared to ASIC is shown in this work.

drawing

drawing

Abstract

Table of Contents

Directory Structure

Getting started

Setup guide

GreenFPGA requires the following:

- python 3.8 
- pip 20.0.2
- python3.8-venv

Additionally, please refer steps below that provide instructions to install the packages inside requirements.txt in a virtual environment.

Steps to install with bash

git clone https://github.com/ASU-VDA-Lab/GreenFPGA.git
cd GreenFPGA
python3 -m venv greenfpga
source greenfpga/bin/activate
pip3 install -r requirements.txt

Key parameters

GreenFPGA uses input parameters from the JSON files under the test_examples and computes the CFP for multiple scenarios.

Specification Parameters

The architecture and other important specification parameters of the FPGA or the ASIC are added to the fpga_spec.json. The area of the design (mm2), power of the design (W), number of parts that are manufactured (Volume), lifetime of the evaluation (hrs), and based on the type of experiment and type of chip that is analyzed, number of applications and number of designs are provided as input in the fpga_spec.json.

The node_list.txt comprises the technology node associated with the design that needs to be analyzed.

The remaining parameters regarding the design CFP, application-development CFP, EOL CFP, are all provided in green_fpga_param.json based on user preferences.

   ├── fpga_spec.json
   ├── node_list.txt
   └── green_fpga_param.json

GreenFPGA tool can also accept parameters from the command line and below are some of the main parameters that could be used to help sweep and analyze the variations in embodied and operational CFP.

--design_dir    : Directory for design analysis 
--num_app       : Number of application  
--num_lifetime  : Total evaluation lifetime 
--num_des       : Number of designs needed to run the experiment
--nfpga         : Number of FPGAs, Appsize/fpga_capacity 
--power         : Power of the device under analysis
--chip_area     : Area of the device 
--ope_vol       : Opertaion Volume 
--emb_vol       : Embodied Volume

Commands to run GreenFPGA with these parameters are provided in the next section below.

Running GreenFPGA

Modify the input parameters according to the design and experiment being analyzed. The command to run GreenFPGA to obtain the breakdown of CFP for the design :

python3 src/ECO_chip.py --design_dir test_example/TPU/

To run the analysis using command line parameters :

python3 src/ECO_chip.py --design_dir test_example/TPU/ --num_des 1 --num_app 5 --num_lifetime 8 --power 150 --chip_area 650
python3 src/ECO_chip.py --design_dir test_example/Agilex/ --num_des 3 --num_app 3 --num_lifetime 5 --power 80  --chip_area 450

Outputs

Below is an example output for a test_example TPU showing the breakdown in Total CFP :

-------------------------
Using below files 
test_example/TPU/green_fpga_param.json
test_example/TPU/fpga_spec.json
test_example/TPU/node_list.txt
-------------------------
-------------------------
Design    CFP : 2.590000e+07
Mfg       CFP : 3.141413e+08
EOL       CFP : 3.900000e+03
Operation CFP : 1.098548e+09
App Dev   CFP : 5.040000e+01
-------------------------
Embodied  CFP : 3.400452e+08
Operation CFP : 1.098548e+09
-------------------------
Total     CFP : 1.438593e+09
-------------------------

The variation in CFP for some parameter sweep exploration is shown for a DNN test case.

drawing

The extra embodied CFP that comes with manufacturing FPGA can be amortized across its multiple applications due to its ability to re-configure and its extended life for an iso-performance DNN application. A savings of 25% CFP can be seen using FPGAs compared to ASIC.

drawing

Citation

If you find GreenFPGA useful or relevant to your research, please kindly cite our paper:

@misc{sudarshan2023greenfpga,
      title={GreenFPGA: Evaluating FPGAs as Environmentally Sustainable Computing Solutions}, 
      author={Chetan Choppali Sudarshan and Aman Arora and Vidya A. Chhabria},
      year={2023},
      eprint={2311.12396},
      archivePrefix={arXiv},
      primaryClass={cs.AR}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages