Abstract: One or more computer-readable media store executable instructions that, when executed by processing logic, perform parallel processing. The media store one or more instructions for initiating a single programming language, and identifying, via the single programming language, one or more data distribution schemes for executing a program. The media also store one or more instructions for transforming, via the single programming language, the program into a parallel program with an optimum data distribution scheme selected from the one or more identified data distribution schemes, and allocating the parallel program to two or more labs for parallel execution. The media further store one or more instructions for receiving one or more results associated with the parallel execution of the parallel program from the two or more labs, and providing the one or more results to the program.
Type:
Grant
Filed:
October 20, 2008
Date of Patent:
August 28, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Piotr R. Luszczek, John N. Little, Jocelyn Luke Martin, Halldor N. Stefansson, Edric Ellis, Penelope L. Anderson, Brett Baker, Loren Dean, Roy E. Lurie
Abstract: A device, for performing parallel processing, includes a processor to receive one or more portions of an inner context of a program created for a technical computing environment, and allocate one or more portions of the inner context of the program to two or more labs for parallel execution. The processor is also configured to receive one or more results associated with the parallel execution of the one or more portions from the two or more labs, and provide the one or more results to an outer context of the program.
Type:
Grant
Filed:
October 20, 2008
Date of Patent:
August 28, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Halldor N. Stefansson, Brett Baker, Edric Ellis, Joseph F. Hicklin, John N. Little, Jocelyn Luke Martin, Piotr R. Luszczek, Nausheen B. Moulana, Loren Dean, Roy E. Lurie
Abstract: A method, system and computer program product to define and utilize functions graphically is provided which may be used in the simulation of finite state machines. The functions may combine mathematical, logical, non-linear and comparative operations. The graphical elements of the function may be hidden for ease of display of various portions of a model.
Abstract: A computing device-implemented method includes initiating a single programming language, and identifying, via the single programming language, one or more data distribution schemes for executing a program. The method also includes transforming, via the single programming language, the program into a parallel program with an optimum data distribution scheme selected from the one or more identified data distribution schemes, and allocating the parallel program to two or more labs for parallel execution. The method further includes receiving one or more results associated with the parallel execution of the parallel program from the two or more labs, and providing the one or more results to the program.
Type:
Grant
Filed:
October 20, 2008
Date of Patent:
August 21, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Piotr R. Luszczek, John N. Little, Jocelyn Luke Martin, Halldor N. Stefansson, Edric Ellis, Penelope L. Anderson, Brett Baker, Loren Dean, Roy E. Lurie
Abstract: A computing device-implemented method includes receiving a program, analyzing and transforming the program, determining an inner context and an outer context of the program based on the analysis of the program, and allocating one or more portions of the inner context of the program to two or more labs for parallel execution. The method also includes receiving one or more results associated with the parallel execution of the one or more portions from the two or more labs, and providing the one or more results to the outer context of the program.
Type:
Grant
Filed:
October 20, 2008
Date of Patent:
August 7, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Halldor N. Stefansson, Brett Baker, Edric Ellis, Joseph F. Hicklin, John N. Little, Jocelyn Luke Martin, Piotr R. Luszczek, Nausheen B. Moulana, Loren Dean, Roy E. Lurie
Abstract: One or more computer-readable media store executable instructions that, when executed by processing logic, perform parallel processing. The media store one or more instructions for receiving one or more portions of an inner context of a program created for a technical computing environment, allocating one or more portions of the inner context of the program to two or more labs for parallel execution, receiving one or more results associated with the parallel execution of the one or more portions from the two or more labs, and providing the one or more results to an outer context of the program.
Type:
Grant
Filed:
October 20, 2008
Date of Patent:
August 7, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Halldor N. Stefansson, Brett Baker, Edric Ellis, Joseph F. Hicklin, John N. Little, Jocelyn Luke Martin, Piotr R. Luszczek, Nausheen B. Moulana, Loren Dean, Roy E. Lurie
Abstract: A device for performing parallel processing includes a processor to initiate a single programming language, and identify, via the single programming language, one or more data distribution schemes for executing a program. The processor also transforms, via the single programming language, the program into a parallel program with an optimum data distribution scheme selected from the one or more identified data distribution schemes, and allocates the parallel program to two or more labs for parallel execution. The processor further receives one or more results associated with the parallel execution of the parallel program from the two or more labs, and provides the one or more results to the program.
Type:
Grant
Filed:
October 20, 2008
Date of Patent:
August 7, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Piotr R. Luszczek, John N. Little, Jocelyn Luke Martin, Halldor N. Stefansson, Edric Ellis, Penelope L. Anderson, Brett Baker, Loren Dean, Roy E. Lurie
Abstract: A system and method determines an object's lifetime. An object lifecycle engine may work with an object oriented environment. As objects are created, an object graph may be constructed having one or more roots. A root record graph may be constructed, and edges of the root record graph may point in an opposite direction than the edges of the object graph. As objects, entities, and references are added, removed, or deleted from within the environment, the object graph and the root record graph may be updated. A root finder may search the root record graph to determine whether a given root record is no longer rooted. If a root record is no longer rooted, then the object associated with that root record may be determined to be unreachable and at the end of its lifetime. If the root finder search is performed when references are removed, then objects may be destroyed in a deterministic manner.
Abstract: In an implementation, a computing device-implemented method includes identifying a non-blocking block in a graphical block diagram that includes the non-blocking block and other blocks, the other blocks including one or more non-blocking blocks, one or more blocking blocks, or a combination of one or more non-blocking blocks and one or more blocking blocks, determining whether one or more of the other blocks are dependent on an output from the non-blocking block, and partitioning execution of the non-blocking block into two or more execution stages, generating an order of execution of the graphical blocks, the order including a first stage of execution of the two or more execution stages for the non-blocking block, followed by an execution of one or more of the other blocks that have been determined not be dependent on the output from the non-blocking block, followed by a second stage of execution of the two or more execution stages.
Abstract: In an embodiment, a technique that may be used to report whether a shared resource in a model is accessed on a mutually exclusive basis by two or more resources in the model. The technique may include identifying the shared resource, determining if the shared resource is accessed on a mutual exclusive basis, generating a result based on the determination, and outputting the result.
Abstract: Pre-lookup index search blocks and multidimensional interpolation blocks that use the results of the pre-lookup index search blocks in a block diagram to graphically specify (and perform) multidimensional interpolation calculations. The pre-lookup index search and interpolation blocks are defined so as to provide for a separation of breakpoint set data and table data, thus enabling a user to explicitly manage the use of common breakpoint set data. A block diagram created using pre-lookup index search blocks and interpolation using pre-lookup index search blocks shows all tables that use a particular breakpoint set via graphical connections on the block diagram between the pre-lookup index search blocks and the interpolation using pre-lookup index search blocks.
Abstract: A mechanism for using stream objects in stream processing operations is provided. A definition of a class of stream objects used in stream processing algorithms can define output and update operations included in instances of the stream objects and the API (application programming interface) through which they may be called. The class definition may further include the type of state information to be held by the instantiated stream objects. An instance of the stream object may be instantiated in a text-based computing environment and the operations may be used to process streams of data.
Type:
Grant
Filed:
September 11, 2006
Date of Patent:
July 31, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Donald Paul Orofino, II, Michael James Longfritz
Abstract: An integrated system for modeling, simulating and analyzing chemical and biochemical reactions includes a modeling environment for constructing a model of a chemical or biochemical reaction. The system also includes a simulation engine accepting as input the constructed model of the chemical or biochemical reaction and generating as output an expected result. An analysis environment communicates with the simulation engine and displays the expected result.
Type:
Grant
Filed:
November 29, 2010
Date of Patent:
July 31, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Ricardo E. Paxson, Joseph F. Hicklin, Ramamurthy Mani
Abstract: The present invention provides a graphical model in a computing environment that enables a non-graphical entity to be a caller entity that executes a sequence of commands to call to a graphical or non-graphical entity that is a callee. The present invention also enables a graphical entity to be a caller to call a non-graphical entity as a callee. The present invention further allows graphical entities to have a variable number of input ports and output ports and provides the ability to use function overloading that is similar to function overloading provided in textual programming languages, such as C and C++. Further, the present invention allows the use of hyperlink between navigate between the caller and callee entities.
Type:
Grant
Filed:
May 3, 2006
Date of Patent:
July 31, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Vijay Raghavan, Pieter J. Mosterman, Yao Ren
Abstract: Coverage data may be collected for a model. The coverage data may include model coverage data and code coverage data for test cases input to the model. The coverage data may be presented to a user as data indicating a correspondence between coverage outcomes for the model and coverage outcomes for the code used to implement the model.
Abstract: A device may include communication logic to receive a request to perform an activity on behalf of a client, where the activity is related to a primary application and a secondary application. The communication logic may send a response that allows the client to perform the activity when the client is authorized. The device may include evaluation logic to determine whether the client is related to the primary license and to determine whether a secondary license related to the secondary application is available. The evaluation logic may allocate the available secondary license to the client for use with the secondary application when the secondary license is available. The evaluation logic may authorize the client to perform the activity when the secondary license is allocated to the client.
Type:
Grant
Filed:
October 16, 2006
Date of Patent:
July 24, 2012
Assignee:
The MathWorks, Inc.
Inventors:
Nathan E. Brewton, Victor Chudnovsky, Joe DiPietro, Jeff Wendlandt
Abstract: A method, system and computer program product is disclosed for providing a distributed computing environment in which an arbitrary job manager or scheduler is able to be plugged. In the distributed computing environment, a job is created in a storage location to include one or more technical computing tasks and submitted to the arbitrary scheduler by transferring a reference to the storage location of the job. Since a reference to the storage location of the job is transferred to the scheduler, the interface with the scheduler can be implemented regardless of the scheduler. The scheduler then transfers the reference to the storage location of the job to one or more remote workers.
Abstract: Methods and systems are provided for automatically generating code from a graphical model representing a design to be implemented on components of a target computational hardware device. During the automatic code generating process, a memory mapping is automatically determined and generated to provide an optimization of execution of the program on the target device. The optimized memory mapping is incorporated into building the program executable from the automatically generated code of the graphical model.
Abstract: A method, system and computer program product is disclosed for providing a distributed computing environment in which an arbitrary job manager or scheduler is able to be plugged. In the distributed computing environment, a job is created in a storage location to include one or more technical computing tasks and submitted to the arbitrary scheduler by transferring a reference to the storage location of the job. Since a reference to the storage location of the job is transferred to the scheduler, the interface with the scheduler can be implemented regardless of the scheduler. The scheduler then transfers the reference to the storage location of the job to one or more remote workers.
Abstract: A device receives a program that includes one of a parallel construct or a distributed construct, creates a target component from the program, and integrates the target component into a target environment to produce a client program that is executable on multiple heterogeneous server platforms.
Type:
Grant
Filed:
July 29, 2008
Date of Patent:
July 17, 2012
Assignee:
The Mathworks, Inc.
Inventors:
Peter Hartwell Webb, Loren Dean, Anthony Paul Astolfi, Jocelyn Luke Martin, Richard John Alcock, James T. Stewart