US 12,468,539 B2
Method and system for generating intermediate representation for program for execution on accelerator
Jaejin Lee, Seoul (KR); Jungho Park, Seoul (KR); Gangwon Jo, Seoul (KR); Heehoon Kim, Daejeon (KR); and Jinpyo Kim, Seoul (KR)
Assigned to MOREH CORP., Seoul (KR); and SEOUL NATIONAL UNIVERSITY R & DB FOUNDATION, Seoul (KR)
Filed by MOREH CORP., Seoul (KR); and SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION, Seoul (KR)
Filed on Dec. 7, 2023, as Appl. No. 18/533,041.
Application 18/533,041 is a continuation of application No. PCT/KR2022/008508, filed on Jun. 15, 2022.
Claims priority of application No. 10-2021-0077966 (KR), filed on Jun. 16, 2021; and application No. 10-2022-0072640 (KR), filed on Jun. 15, 2022.
Prior Publication US 2024/0103877 A1, Mar. 28, 2024
Int. Cl. G06F 9/38 (2018.01)
CPC G06F 9/3836 (2013.01) [G06F 9/38 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method for generating an intermediate representation for a program for execution on an accelerator, the method being executed by one or more processors and comprising:
hooking information on instruction from a program;
determining whether the hooked information on instruction is associated with an accelerator;
if it is determined that the information on instruction is not associated with the accelerator, returning the hooked information on instruction to the program;
if it is determined that the information on instruction is associated with the accelerator, generating a first intermediate representation for the instruction using information on input and output data and information on instruction included in the instruction; and
generating a second intermediate representation for the program for one or more accelerators using the first intermediate representation,
wherein the first intermediate representation and the second intermediate representation include a plurality of data nodes, one or more operation nodes, and a plurality of edges indicating an input and output relationship between the plurality of data nodes and the one or more operation nodes.