Welcome to DGRL-Hardware’s documentation!

_images/toolbox.png

DGRL-Hardware is a toolbox for evaluating directed graph representation learning (DGRL) methods. DGRL aims to encode and make inferences for directed graphs, which finds applications in various disciplines. Notably, DGRL holds significant importance in accelerating hardware design iterations by serving as surrogate models for predicting hardware performance. This significance stems from the wide use of directed graph representations in hardware data.

DGRL-Hardware provides the implementation of multiple DGRL techniques with backbone models including spectral GNNs, spatial GNNs, and graph transformers (GT), design options such as message passing directions and positional encodings, and incorporates several hardware design datasets as testbeds to evaluate different combinations of DGRL methods. The toolbox also offers hyper-parameter auto-tuning and evaluation pipelines. Users are encouraged to introduce new directed graph datasets for DGRL evaluation/selection or to develop new methods to evaluate on the selected datasets.

DGRL-hardware is built based on Pytorch 2.0, PyTorch Geometric, PyTorch Geometric Signed and Directed, RAY Tune .

The Github repository page is available here.

Note

This project is under active development.

Get Started

_images/code_frame.png

DGRL-Hardware is built and controlled by three configurations, user could configure a DGRL method with the general config, which defines the GNN backbone or the graph transformer to use along with MPNN layer message passing direction and their hyper-parameters. RAY config defines the hyper-parameter search space when conducting auto hyper-parameter tuning on the models. The toolbox also provides the implementation of two kinds of positional encodings (PE) which could be flexibly combined with the backbones and further improve the model expressiveness, users can configure the incorporation of positional encodings in the PE config. With the configuration, one could call a TaskRunner (as shown in the middle layer of the figure) for either hyper-parameter tuning or model evaluation. Three key components in the toolbox are connected with the TaskRunner, namely the dataset processor, the tuning/evaluation pipeline and the model implementation.

To get started, one may first set-up the environment, then configure DGRL methods (select an existing method or design a novel method) and config datasets (select an existing dataset or introduce a new dataset). After the DGRL method is configured, one may run RAY-tune for hyper-parameter tuning and then conduct performance evaluation.

1. Environment Requirement

This section illustrates the basic environment requirement to run the toolbox.

2. Config a method

This section introduces how to config a DGRL method in the toolbox. One may select from an existing method or customize a novel method.

3. Config a dataset

This section describes how to config a dataset. One may select form the existing dataset or customize a novel dataset.

4. Tune with RAY

This section shows the interface on how to do hyper-parameter with the help of RAY, and how to config the search space.

5. Evaluation on Existing Datasets

This section introduces how to evaluate method on datasets with configuration.

Toolbox Reference

Covered Datasets

Selected Datasets and Tasks

DGRL Methods

_images/combination_method.png