US 12,475,191 B2
Application programming interface to accelerate matrix operations
Piotr Majcher, Sunnyvale, CA (US); Mostafa Hagog, Folsom, CA (US); and Philippe Vandermersch, San Jose, CA (US)
Assigned to NVIDIA Corporation, Santa Clara, CA (US)
Filed by NVIDIA Corporation, Santa Clara, CA (US)
Filed on Nov. 20, 2023, as Appl. No. 18/515,062.
Application 18/515,062 is a continuation of application No. 16/795,380, filed on Feb. 19, 2020.
Prior Publication US 2024/0086491 A1, Mar. 14, 2024
Int. Cl. G06F 17/16 (2006.01); G06F 9/30 (2018.01); G06N 3/08 (2023.01); G06N 5/04 (2023.01); G06N 5/046 (2023.01)
CPC G06F 17/16 (2013.01) [G06F 9/3001 (2013.01); G06F 9/30145 (2013.01); G06N 3/08 (2013.01); G06N 5/046 (2013.01)] 24 Claims
OG exemplary drawing
 
1. A non-transitory machine-readable medium having stored thereon a Get Heuristic application programming interface (API), which if performed by one or more processors, causes the one or more processors to at least:
determine possible algorithms for a matrix multiplication operation, wherein the Get Heuristic API includes parameters comprising:
an operation description parameter including a pointer to a matrix multiplication operation description;
input matrices;
a search preferences parameter including a pointer to a data object comprising search preferences;
an algorithm count parameter to specify a desired number of algorithms;
a results array parameter to specify an array to store algorithm identifiers in order of increasing estimated compute time; and
an operation status parameter to indicate if the Get Heuristic API is successful.