In this demo, we attempt to find subgraphs of a given directed cyclic graph (DAG) with particular properties, which are used in the generation of custom instructions. Subgraphs which require fewer input and output edges are beneficial, as well as those that display high amounts of parallelism inside the subgraph. The figure below shows some example subgraphs. Please see Chapter 3 of Optimization and Mathematical Modeling in Computer Architecture for details on the formulation.
Case Study 1:
Instruction Set Customization
Generating custom instruction candidates from an application is the process of analyzing the intermediate representation of the program, and finding subgraphs which can be made into instructions.
Select from the following basic block graphs:
Max Inputs , Outputs
Reg-file Cost: Inputs , Outputs
Reg-File Ports: Inputs , Outputs
Problem to be submitted: