Optimal and Heuristic Min-Reg Scheduling Algorithms for GPU Programs

03/13/2023
by   Gang Chen, et al.
0

Given a basic block of instructions, finding a schedule that requires the minimum number of registers for evaluation is a well-known problem. The problem is NP-complete when the dependences among instructions form a directed-acyclic graph instead of a tree. We are striving to find efficient approximation algorithms for this problem not simply because it is an interesting graph optimization problem in theory. A good solution to this problem is also an essential component in solving the more complex instruction scheduling problem on GPU. In this paper, we start with explanations on why this problem is important in GPU instruction scheduling. We then explore two different approaches to tackling this problem. First we model this problem as a constraint-programming problem. Using a state-of-the-art CP-SAT solver, we can find optimal answers for much larger cases than previous works on a modest desktop PC. Second, guided by the optimal answers, we design and evaluate heuristics that can be applied to the polynomial-time list scheduling algorithms. A combination of those heuristics can achieve the register-pressure results that are about 17% higher than the optimal minimum on average. However, there are still near 6% cases in which the register pressure by the heuristic approach is 50% higher than the optimal minimum.

READ FULL TEXT
research
01/21/2019

Analyzing Branch-and-Bound Algorithms for the Multiprocessor Scheduling Problem

The Multiprocessor Scheduling Problem (MSP) is an NP-Complete problem wi...
research
03/05/2021

Learning to Schedule DAG Tasks

Scheduling computational tasks represented by directed acyclic graphs (D...
research
06/09/2023

An End-to-End Reinforcement Learning Approach for Job-Shop Scheduling Problems Based on Constraint Programming

Constraint Programming (CP) is a declarative programming paradigm that a...
research
04/03/2017

Graph Partitioning with Acyclicity Constraints

Graphs are widely used to model execution dependencies in applications. ...
research
12/13/2011

Hybrid Heuristic-Based Artificial Immune System for Task Scheduling

Task scheduling problem in heterogeneous systems is the process of alloc...
research
11/04/2021

Reallocation Problems with Minimum Completion Time

Reallocation scheduling is one of the most fundamental problems in vario...
research
09/12/2021

Link Scheduling using Graph Neural Networks

Efficient scheduling of transmissions is a key problem in wireless netwo...

Please sign up or login with your details

Forgot password? Click here to reset