Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

SET-NN-Mapping-Scheduling

Exploring the impact of neural network task granularity on mapping and scheduling efficiency on multi-core Network-on-Chip (NoC) architectures, based on the SET scheduling framework.


English

Based on SET Framework

This project extends the SET scheduling framework proposed in the following work:

SET: Inter-layer Scheduling Space Definition and Exploration for Tiled Accelerators ISCA 2023

Original implementation:

https://github.com/SET-Scheduling-Project/SET-ISCA2023

SET defines a scheduling space for neural network execution and explores efficient inter-layer scheduling structures using a Resource Allocation Tree (RA Tree) representation.


Project Overview

This project studies the interaction between:

  • neural network task granularity
  • inter-layer scheduling strategies
  • mapping and execution efficiency on tiled accelerator / NoC architectures

All experiments are conducted using Transformer neural network workloads.


Research Motivation

In neural network accelerators, scheduling efficiency is affected by both:

  • the granularity of neural network tasks
  • the inter-layer scheduling structure

This project evaluates how different granularity transformations interact with the SET scheduling exploration framework.


Granularity Strategies

Several task granularity strategies are evaluated in the experiments.

base

Original Transformer execution granularity.

Each operator (attention, feed-forward, element-wise operations, etc.) is treated as an independent scheduling unit.


semigrouped

The attention-related operators inside a Transformer block are divided into two groups, forming two scheduling units.


grouped

All attention-related operators inside a Transformer block are grouped into a single scheduling unit.


fused

Multiple consecutive layers are fused into a single layer before scheduling.


Granularity Relationship

base → semigrouped → grouped → fused
(finer)                     (coarser)

Scheduling Methods

Different inter-layer scheduling strategies are evaluated.

init

Initial scheduling configuration before optimization.


LS

Layer Sequential scheduling.

Layers execute sequentially and all hardware resources are allocated to one layer at a time.


LP

Layer Pipeline scheduling.

Multiple layers execute concurrently in a pipeline across hardware partitions.


SET

Scheduling results generated by the SET exploration algorithm.


Repository Structure

SET-NN-Mapping-Scheduling
│
├── logs
│   ├── *_tree.txt
│   ├── *_scheme.txt
│   └── *_summary.txt
│
└── README.md

The logs directory contains experiment outputs generated by the scheduling framework.


Logs Description

Each experiment generates three types of logs:

  • tree — scheduling tree structure (RA Tree)
  • scheme — detailed scheduling scheme
  • summary — overall performance statistics

Reference

If you use the SET framework in your research, please cite the following paper:

SET: Inter-layer Scheduling Space Definition and Exploration for Tiled Accelerators
ISCA 2023

中文说明

基于 SET 调度框架

本项目基于 SET 调度框架进行扩展,该框架来自 ISCA 2023 论文:

SET: Inter-layer Scheduling Space Definition and Exploration for Tiled Accelerators

SET 原始代码仓库:

https://github.com/SET-Scheduling-Project/SET-ISCA2023

SET 通过 资源分配树(RA Tree) 表示调度结构,并自动探索神经网络的层间调度空间。


项目概述

本项目研究以下因素之间的相互关系:

  • 神经网络 任务粒度
  • 层间调度策略
  • NoC / tiled accelerator 架构上的执行效率

所有实验均基于 Transformer 神经网络模型


研究动机

在神经网络加速器中,调度效率同时受到以下因素影响:

  • 神经网络 任务粒度
  • 层间调度结构

本项目研究 不同粒度策略SET 调度空间探索框架 之间的相互影响。


任务粒度策略

实验评估了多种神经网络任务粒度策略。

base

原始 Transformer 执行粒度。

每个算子(attention、feed-forward、element-wise 等)作为独立任务进行调度。


semigrouped

Transformer block 中的 attention 相关算子 划分为两个小组,形成两个调度单元。


grouped

Transformer block 中所有 attention 相关算子 打包为一个调度单元


fused

多个连续神经网络层 融合为一个新的层 再进行调度。


粒度关系

base → semigrouped → grouped → fused
(最细)                     (最粗)

调度方法

实验评估了多种层间调度策略。

init

优化前的初始调度结构。


LS

层顺序执行(Layer Sequential)。

所有硬件资源一次只执行一层。


LP

层流水执行(Layer Pipeline)。

不同层在不同硬件分区上并行执行。


SET

SET 调度空间探索算法生成的调度结果。


仓库结构

SET-NN-Mapping-Scheduling
│
├── logs
│   ├── *_tree.txt
│   ├── *_scheme.txt
│   └── *_summary.txt
│
└── README.md

logs 目录存储实验产生的调度日志,包括调度树、调度方案和性能统计。


日志说明

每个实验会生成三类日志:

  • tree — 调度树结构(RA Tree)
  • scheme — 具体调度方案
  • summary — 整体性能统计

参考文献

如果在研究中使用 SET 框架,请引用以下论文:

SET: Inter-layer Scheduling Space Definition and Exploration for Tiled Accelerators
ISCA 2023

About

Exploring the impact of neural network task granularity on mapping and scheduling efficiency on multi-core NoC architectures based on the SET framework.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors