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: 20240094794Abstract: 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: ApplicationFiled: April 8, 2023Publication date: March 21, 2024Applicant: SambaNova Systems, Inc.Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
-
Publication number: 20240085967Abstract: 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: ApplicationFiled: April 8, 2023Publication date: March 14, 2024Applicant: SambaNova Systems, Inc.Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
-
Publication number: 20240085966Abstract: 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: ApplicationFiled: April 8, 2023Publication date: March 14, 2024Applicant: SambaNova Systems, Inc.Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
-
Publication number: 20240085965Abstract: 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: ApplicationFiled: April 8, 2023Publication date: March 14, 2024Applicant: SambaNova Systems, Inc.Inventors: Darshan GANDHI, Manish K. SHAH, Raghu PRABHAKAR, Gregory Frederick GROHOSKI, Youngmoon CHOI, Jinuk SHIN
-
Patent number: 8612870Abstract: 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: GrantFiled: August 26, 2010Date of Patent: December 17, 2013Assignee: National Instruments CorporationInventors: 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: 8205162Abstract: 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: GrantFiled: November 18, 2010Date of Patent: June 19, 2012Assignee: National Instruments CorporationInventors: Darshan K. Shah, Aljosa Vrancic
-
Publication number: 20120026173Abstract: 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: ApplicationFiled: July 28, 2011Publication date: February 2, 2012Inventors: 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: 7954097Abstract: 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: GrantFiled: December 22, 2008Date of Patent: May 31, 2011Assignee: National Instruments CorporationInventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
-
Patent number: 7954082Abstract: 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: GrantFiled: December 22, 2008Date of Patent: May 31, 2011Assignee: National Instruments CorporationInventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
-
Publication number: 20110061007Abstract: 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: ApplicationFiled: November 18, 2010Publication date: March 10, 2011Inventors: Darshan K. Shah, Aljosa Vrancic
-
Publication number: 20100325571Abstract: 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: ApplicationFiled: August 26, 2010Publication date: December 23, 2010Inventors: 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: 7844908Abstract: 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: GrantFiled: July 11, 2007Date of Patent: November 30, 2010Assignee: National Instruments CorporationInventors: 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: 7840904Abstract: 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: GrantFiled: June 8, 2007Date of Patent: November 23, 2010Assignee: National Instruments CorporationInventors: Darshan K. Shah, Aljosa Vrancic
-
Publication number: 20090132940Abstract: 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: ApplicationFiled: December 22, 2008Publication date: May 21, 2009Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
-
Publication number: 20090100403Abstract: 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: ApplicationFiled: December 22, 2008Publication date: April 16, 2009Inventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
-
Patent number: 7484200Abstract: 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: GrantFiled: November 25, 2002Date of Patent: January 27, 2009Assignee: National Instruments CorporationInventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
-
Patent number: 7480906Abstract: 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: GrantFiled: March 5, 2003Date of Patent: January 20, 2009Assignee: National Instruments CorporationInventors: Philippe G. Joffrain, Joel Sumner, Darshan K. Shah, Darren M. Nattinger
-
Publication number: 20080034300Abstract: 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: ApplicationFiled: June 8, 2007Publication date: February 7, 2008Inventors: Darshan K. Shah, Aljosa Vrancic
-
Publication number: 20080034310Abstract: 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: ApplicationFiled: July 11, 2007Publication date: February 7, 2008Inventors: Jeffrey L. Kodosky, David W. Fuller, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Kornerup, Darshan K. Shah, Aljosa Vrancic
-
Patent number: 7168072Abstract: 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: GrantFiled: July 18, 2002Date of Patent: January 23, 2007Assignee: National Instruments CorporationInventors: Darshan K. Shah, Bob Preis