US 12,141,582 B2
Implementing specialized instructions for accelerating dynamic programming algorithms
Maciej Piotr Tyrlik, Durham, NC (US); Ajay Sudarshan Tirumala, San Jose, CA (US); Shirish Gadre, Fremont, CA (US); Frank Joseph Eaton, Austin, TX (US); and Daniel Alan Stiffler, Santa Clara, CA (US)
Assigned to NVIDIA CORPORATION, Santa Clara, CA (US)
Filed by NVIDIA CORPORATION, Santa Clara, CA (US)
Filed on Sep. 28, 2022, as Appl. No. 17/936,172.
Application 17/936,172 is a continuation in part of application No. 17/491,266, filed on Sep. 30, 2021, granted, now 11,822,541.
Claims priority of provisional application 63/321,456, filed on Mar. 18, 2022.
Prior Publication US 2023/0305844 A1, Sep. 28, 2023
Int. Cl. G06F 9/30 (2018.01); G06F 9/38 (2018.01)
CPC G06F 9/30065 (2013.01) [G06F 9/3887 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for executing dynamic programming algorithms on parallel processors, the method comprising:
during a first iteration of a loop of a dynamic programming algorithm, executing at least one of a first fused addition and comparison instruction, a first three-operand comparison instruction, or a first two-operand comparison instruction that indicates a first source operand associated with a first destination operand to determine a first result, wherein the comparison is performed on multiple source operands including the first source operand; and
during a second iteration of the loop, executing at least one of a second fused addition and comparison instruction, a second three-operand comparison instruction, or a second two-operand comparison instruction that indicates a second source operand associated with a second destination operand to determine a second result based on the first result, wherein the comparison is performed on multiple source operands including the second source operand.