Patents by Inventor Darshan K. Shah

Darshan K. Shah has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20240094794
    Abstract: An integrated circuit (IC) includes an array of statically reconfigurable compute units for separation into mutually exclusive groups. Each group includes statically reconfigurable number of compute units. Each compute unit includes a register statically reconfigurable with a group identifier that identifies which group the compute unit belongs to, a counter statically reconfigurable to synchronously increment with the counters of all the other compute units such that all the counters have the same value each clock cycle, and control circuitry that prevents the compute unit from starting to process data until the counter value matches the identifier. According to operation of the register, the counter, and the control circuitry, no more than the statically reconfigurable number of the compute units are allowed to start processing data concurrently to mitigate supply voltage droop caused by a time rate of change of current drawn by the IC through inductive loads of the IC.
    Type: Application
    Filed: April 8, 2023
    Publication date: March 21, 2024
    Applicant: SambaNova Systems, Inc.
    Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
  • Publication number: 20240085967
    Abstract: An integrated circuit (IC) includes an array of compute units. Each compute unit is configured such that, when transitioning from not processing data to processing data, the compute unit makes an individual contribution to an aggregate time rate of change of current drawn by the IC. Control circuitry is configurable to, for each compute unit of the array of compute units, control when the compute unit is eligible to transition from not processing data to processing data relative to when the other compute units start processing data to mitigate supply voltage overshoot caused by the aggregate time rate of change of current drawn by the IC through inductive loads of the IC.
    Type: Application
    Filed: April 8, 2023
    Publication date: March 14, 2024
    Applicant: SambaNova Systems, Inc.
    Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
  • Publication number: 20240085966
    Abstract: A method includes analyzing a dataflow graph to generate configuration information loadable into an integrated circuit. The dataflow graph specifies operations to be performed and data dependencies between the operations. The configuration information is usable by the integrated circuit to configure compute units of the integrated circuit to perform respective one or more of the operations of the dataflow graph, control data flow between the compute units to accomplish the data dependencies between the respective operations performed by the compute units, and control when each compute unit starts to perform the respective operations on the data to mitigate supply voltage droop caused by a time rate of change of current drawn by the integrated circuit through inductive loads of the integrated circuit.
    Type: Application
    Filed: April 8, 2023
    Publication date: March 14, 2024
    Applicant: SambaNova Systems, Inc.
    Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
  • Publication number: 20240085965
    Abstract: An integrated circuit (IC) includes an array of compute units. Each compute unit is configured such that, when transitioning from not processing data to processing data, the compute unit makes an individual contribution to an aggregate time rate of change of current drawn by the IC. Control circuitry is configurable to, for each compute unit of the array of compute units, control when the compute unit is eligible to transition from not processing data to processing data relative to when the other compute units start processing data to mitigate supply voltage droop caused by the aggregate time rate of change of current drawn by the IC through inductive loads of the IC.
    Type: Application
    Filed: April 8, 2023
    Publication date: March 14, 2024
    Applicant: SambaNova Systems, Inc.
    Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
  • Patent number: 8612870
    Abstract: System and method for distributed execution of a graphical program. A graphical program is displayed on a display of a computer system. Targeted execution of a first graphical program portion of the graphical program on an execution target is graphically specified. The graphical specification includes displaying a visual indication of the specified targeted execution on the display of the graphical program. During execution of the graphical program, the first graphical program portion executes on the specified execution target and a remainder of the graphical program executes on a default execution target.
    Type: Grant
    Filed: August 26, 2010
    Date of Patent: December 17, 2013
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, David W Fuller, III, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Komerup, Darshan K. Shah, Aljosa Vrancic
  • Patent number: 8205162
    Abstract: System and method for creating a graphical program (GP) having portions that execute on different targets. A GP including a plurality of interconnected nodes visually indicating functionality of the program is created in response to user input, including a first graphical code portion with a first execution context specifying execution of the first graphical code portion on a first target. A second execution context indicating a second target for execution of a second graphical code portion of the GP is established in response to user input, e.g., by displaying a context structure indicating the second execution context and associating the second graphical code portion with the context structure in response to user input. During execution of the GP, the first graphical code portion executes on the first target using the first execution context, and the second graphical code portion executes on the second target using the second execution context.
    Type: Grant
    Filed: November 18, 2010
    Date of Patent: June 19, 2012
    Assignee: National Instruments Corporation
    Inventors: Darshan K. Shah, Aljosa Vrancic
  • Publication number: 20120026173
    Abstract: Presenting different views of a system based on input from a user. A first view of a first portion of the system may be displayed. For example, the first portion may be a device of the system. User input specifying a first gesture may be received. In response to the first gesture, a second view of the first portion of the system may be displayed. For example, the first view may represent a first level of abstraction of the portion of the system and the second view may represent a second level of abstraction of the portion of the system. A second gesture may be used to view a view of a different portion of the system. Additionally, when changing from a first view to a second view, the first view may “morph” into the second view.
    Type: Application
    Filed: July 28, 2011
    Publication date: February 2, 2012
    Inventors: Adam K. Gabbert, Jeffrey L. Kodosky, David W. Fuller, III, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Kornerup, Darshan K. Shah, Aljosa Vrancic
  • Patent number: 7954097
    Abstract: A system and method for programmatically analyzing and modifying a graphical program via a network. The graphical program may be stored on a memory medium at a first location. A program may be executed on a computer system at a second location. The computer system at the second location may be coupled via a network to the memory medium at the first location or may be coupled to a computer system or device which includes or has access to the memory medium at the first location. The program on the computer system at the second location may execute to programmatically analyze the graphical program via the network. In one embodiment the program on the computer system at the second location may also execute to programmatically modify the graphical program via the network, based on the programmatic analysis of the graphical program.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: May 31, 2011
    Assignee: National Instruments Corporation
    Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
  • Patent number: 7954082
    Abstract: A system and method for programmatically analyzing and modifying a graphical program. The graphical program may be stored in a memory. The graphical program may then be programmatically analyzed. In various embodiments, the graphical program may be a graphical program that performs any function for any application, and the graphical program may be analyzed to determine any information or characteristics regarding the graphical program. One or more suggested modifications to the graphical program may be displayed based on the programmatic analysis performed on the graphical program. The user may be able to select which of the suggested modifications to automatically apply to the graphical program. The graphical program may then be programmatically modified to implement the one or more suggested modifications selected by the user.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: May 31, 2011
    Assignee: National Instruments Corporation
    Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
  • Publication number: 20110061007
    Abstract: System and method for creating a graphical program (GP) having portions that execute on different targets. A GP including a plurality of interconnected nodes visually indicating functionality of the program is created in response to user input, including a first graphical code portion with a first execution context specifying execution of the first graphical code portion on a first target. A second execution context indicating a second target for execution of a second graphical code portion of the GP is established in response to user input, e.g., by displaying a context structure indicating the second execution context and associating the second graphical code portion with the context structure in response to user input. During execution of the GP, the first graphical code portion executes on the first target using the first execution context, and the second graphical code portion executes on the second target using the second execution context.
    Type: Application
    Filed: November 18, 2010
    Publication date: March 10, 2011
    Inventors: Darshan K. Shah, Aljosa Vrancic
  • Publication number: 20100325571
    Abstract: System and method for distributed execution of a graphical program. A graphical program is displayed on a display of a computer system. Targeted execution of a first graphical program portion of the graphical program on an execution target is graphically specified. The graphical specification includes displaying a visual indication of the specified targeted execution on the display of the graphical program. During execution of the graphical program, the first graphical program portion executes on the specified execution target and a remainder of the graphical program executes on a default execution target.
    Type: Application
    Filed: August 26, 2010
    Publication date: December 23, 2010
    Inventors: Jeffrey L. Kodosky, David W. Fuller, III, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Komerup, Darshan K. Shah, Aljosa Vrancic
  • Patent number: 7844908
    Abstract: System and method for distributed execution of a graphical program. First and second icons associated with respective execution targets are displayed on a display. Each icon has an interior and specifies execution of a respective graphical program portion positioned in the interior of the icon on the respective execution target. First and second graphical program portions are respectively displayed in the interiors of the first and second icons, where each graphical program portion comprises a respective one or more interconnected nodes that visually indicate functionality of the graphical program portion. One or more wires connecting the first graphical program portion and the second graphical program portion are display. During execution of the graphical program, the first and second graphical program portions execute respectively on the first and second execution targets, and the first graphical program portion and the second graphical program portion communicate as specified by the one or more wires.
    Type: Grant
    Filed: July 11, 2007
    Date of Patent: November 30, 2010
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, David W Fuller, III, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Kornerup, Darshan K. Shah, Aljosa Vrancic
  • Patent number: 7840904
    Abstract: System and method for creating a graphical program (GP) having portions that execute on different targets. A GP including a plurality of interconnected nodes visually indicating functionality of the program is created in response to user input, including a first graphical code portion with a first execution context specifying execution of the first graphical code portion on a first target. A second execution context indicating a second target for execution of a second graphical code portion of the GP is established in response to user input, e.g., by displaying a context structure indicating the second execution context and associating the second graphical code portion with the context structure in response to user input. During execution of the GP, the first graphical code portion executes on the first target using the first execution context, and the second graphical code portion executes on the second target using the second execution context.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: November 23, 2010
    Assignee: National Instruments Corporation
    Inventors: Darshan K. Shah, Aljosa Vrancic
  • Publication number: 20090132940
    Abstract: A system and method for programmatically analyzing and modifying a graphical program via a network. The graphical program may be stored on a memory medium at a first location. A program may be executed on a computer system at a second location. The computer system at the second location may be coupled via a network to the memory medium at the first location or may be coupled to a computer system or device which includes or has access to the memory medium at the first location. The program on the computer system at the second location may execute to programmatically analyze the graphical program via the network. In one embodiment the program on the computer system at the second location may also execute to programmatically modify the graphical program via the network, based on the programmatic analysis of the graphical program.
    Type: Application
    Filed: December 22, 2008
    Publication date: May 21, 2009
    Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
  • Publication number: 20090100403
    Abstract: A system and method for programmatically analyzing and modifying a graphical program. The graphical program may be stored in a memory. The graphical program may then be programmatically analyzed. In various embodiments, the graphical program may be a graphical program that performs any function for any application, and the graphical program may be analyzed to determine any information or characteristics regarding the graphical program. One or more suggested modifications to the graphical program may be displayed based on the programmatic analysis performed on the graphical program. The user may be able to select which of the suggested modifications to automatically apply to the graphical program. The graphical program may then be programmatically modified to implement the one or more suggested modifications selected by the user.
    Type: Application
    Filed: December 22, 2008
    Publication date: April 16, 2009
    Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
  • Patent number: 7484200
    Abstract: A system and method for programmatically analyzing and modifying a graphical program. The graphical program may be stored in a memory. The graphical program may then be programmatically analyzed. In various embodiments, the graphical program may be a graphical program that performs any function for any application, and the graphical program may be analyzed to determine any information or characteristics regarding the graphical program. One or more suggested modifications to the graphical program may be displayed based on the programmatic analysis performed on the graphical program. The user may be able to select which of the suggested modifications to automatically apply to the graphical program. The graphical program may then be programmatically modified to implement the one or more suggested modifications selected by the user.
    Type: Grant
    Filed: November 25, 2002
    Date of Patent: January 27, 2009
    Assignee: National Instruments Corporation
    Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
  • Patent number: 7480906
    Abstract: A system and method for programmatically analyzing and modifying a graphical program via a network. The graphical program may be stored on a memory medium at a first location. A program may be executed on a computer system at a second location. The computer system at the second location may be coupled via a network to the memory medium at the first location or may be coupled to a computer system or device which includes or has access to the memory medium at the first location. The program on the computer system at the second location may execute to programmatically analyze the graphical program via the network. In one embodiment the program on the computer system at the second location may also execute to programmatically modify the graphical program via the network, based on the programmatic analysis of the graphical program.
    Type: Grant
    Filed: March 5, 2003
    Date of Patent: January 20, 2009
    Assignee: National Instruments Corporation
    Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
  • Publication number: 20080034300
    Abstract: System and method for creating a graphical program (GP) having portions that execute on different targets. A GP including a plurality of interconnected nodes visually indicating functionality of the program is created in response to user input, including a first graphical code portion with a first execution context specifying execution of the first graphical code portion on a first target. A second execution context indicating a second target for execution of a second graphical code portion of the GP is established in response to user input, e.g., by displaying a context structure indicating the second execution context and associating the second graphical code portion with the context structure in response to user input. During execution of the GP, the first graphical code portion executes on the first target using the first execution context, and the second graphical code portion executes on the second target using the second execution context.
    Type: Application
    Filed: June 8, 2007
    Publication date: February 7, 2008
    Inventors: Darshan K. Shah, Aljosa Vrancic
  • Publication number: 20080034310
    Abstract: System and method for distributed execution of a graphical program. First and second icons associated with respective execution targets are displayed on a display. Each icon has an interior and specifies execution of a respective graphical program portion positioned in the interior of the icon on the respective execution target. First and second graphical program portions are respectively displayed in the interiors of the first and second icons, where each graphical program portion comprises a respective one or more interconnected nodes that visually indicate functionality of the graphical program portion. One or more wires connecting the first graphical program portion and the second graphical program portion are display. During execution of the graphical program, the first and second graphical program portions execute respectively on the first and second execution targets, and the first graphical program portion and the second graphical program portion communicate as specified by the one or more wires.
    Type: Application
    Filed: July 11, 2007
    Publication date: February 7, 2008
    Inventors: Jeffrey L. Kodosky, David W. Fuller, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Kornerup, Darshan K. Shah, Aljosa Vrancic
  • Patent number: 7168072
    Abstract: A system and method for automatically improving performance of a first graphical program that performs one or more repetitive operations, e.g., in a loop. The first graphical program may be programmatically analyzed and may be programmatically modified based on the analysis. Programmatically modifying the first graphical program may include programmatically modifying the one or more repetitive operations or the loop performed by the first graphical program, where the modification results in improved performance. In one embodiment, the performance of the first graphical program may be improved by increasing deterministic behavior. For example, deterministic behavior may be especially important for a real-time or time critical application. In one embodiment, determinism may be increased by removing functionality from the first graphical program which causes time latency problems.
    Type: Grant
    Filed: July 18, 2002
    Date of Patent: January 23, 2007
    Assignee: National Instruments Corporation
    Inventors: Darshan K. Shah, Bob Preis