Patents by Inventor Edric Ellis
Edric Ellis 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).
-
Patent number: 9519671Abstract: A method comprising receiving data, where the data includes one or more elements, the data is associated with a first set of indices, and the first set of indices references the one or more elements. The method may further include folding a plurality of indices into a single index, where the single index references the one or more elements of the received data that were referenced by the plurality of indices, the folding generates a second set of indices, and the folding is performed when concurrent process threads are not generated based on the first set of indices. The method may further include determining whether concurrent process threads should be generated based on the second set of indices and generating the concurrent process threads for the second set of indices when the determining determines that the concurrent process threads should be generated based on the second set of indices.Type: GrantFiled: October 10, 2014Date of Patent: December 13, 2016Assignee: The MathWorks, Inc.Inventors: Halldor N. Stefansson, Edric Ellis
-
Patent number: 9244652Abstract: A client device may receive information that identifies tasks to be performed by worker devices. The tasks may include at least one task that is to be performed by all worker devices, and may include at least one task that is to be performed by one worker device. The client device may identify, based on the information that identifies the tasks, an order and dependencies associated with performing the tasks. The client device may determine a task, of the tasks, to be performed by a work device, of the worker devices, based on the order and the dependencies. The client device may send, to the worker device, information associated with performing the task, and may receive, from the worker device, an indication that the task has been performed. The client device may determine, based on the order and the dependencies, another task to be performed by the worker device.Type: GrantFiled: August 12, 2013Date of Patent: January 26, 2016Assignee: The MathWorks, Inc.Inventors: Edric Ellis, Jocelyn Martin, Halldor N. Stefansson
-
Patent number: 8949807Abstract: A device receives, via a technical computing environment, a program that includes a parallel construct and a command to be executed by graphical processing units, and analyzes the program. The device also creates, based on the parallel construct and the analysis, one or more instances of the command to be executed in parallel by the graphical processing units, and transforms, via the technical computing environment, the one or more command instances into one or more command instances that are executable by the graphical processing units. The device further allocates the one or more transformed command instances to the graphical processing units for parallel execution, and receives, from the graphical processing units, one or more results associated with parallel execution of the one or more transformed command instances by the graphical processing units.Type: GrantFiled: September 30, 2013Date of Patent: February 3, 2015Assignee: The MathWorks, Inc.Inventors: Halldor N. Stefansson, Edric Ellis
-
Patent number: 8935682Abstract: A device initiates a technical computing environment (TCE), and receives, via the TCE, a program command that permits the TCE to access a graphical processing unit that is remote to the device, where the program command permits the TCE to seamlessly transfer data to the remote GPU. The device transforms, via the TCE, the program command into a program command that is executable by the remote GPU, and provides the transformed program command to the remote GPU for execution. The device also receives, from the remote GPU, one or more results associated with execution of the transformed program command by the remote GPU, and utilizes the one or more results via the TCE.Type: GrantFiled: September 6, 2013Date of Patent: January 13, 2015Assignee: The MathWorks, Inc.Inventors: Halldor N. Stefansson, Edric Ellis, Jocelyn Luke Martin
-
Patent number: 8863130Abstract: A system initiates multiple instances of a concurrent computing process, establishes a communication channel among the multiple instances, initiates execution of a computational job on the multiple instances, detects an interrupt request on one of the multiple instances, and terminates execution of the computational job while maintaining communication among the multiple instances via the communication channel.Type: GrantFiled: June 26, 2012Date of Patent: October 14, 2014Assignee: The MathWorks, Inc.Inventors: Edric Ellis, Jocelyn Luke Martin
-
Patent number: 8819643Abstract: A device receives information generated by execution of a parallel program, aggregates the received information, generates one or more performance indicators for the parallel program on one of a line or function basis and based on the aggregated information, and provides the one or more performance indicators to a user.Type: GrantFiled: September 25, 2007Date of Patent: August 26, 2014Assignee: The Mathworks, Inc.Inventors: Edric Ellis, Salman Marvasti
-
Patent number: 8745254Abstract: A communication protocol is provided for processes to send and receive arbitrary data in a concurrent computing environment. The communication protocol enables a process to send or receive arbitrary data without a user or programmer specifying the attributes of the arbitrary data. The communication protocol automatically determines the attributes of the arbitrary data, for example, the type and/or size of the data and sends information on the attributes of the data to a process to which the data is to be sent. Based on the information on the attributes of the data, the receiving process can allocate appropriate memory space for the data to be received.Type: GrantFiled: November 13, 2006Date of Patent: June 3, 2014Assignee: The MathWorks, Inc.Inventors: Edric Ellis, Jocelyn Luke Martin
-
Patent number: 8738684Abstract: A system may include a technical computing client to define a job. The system may also include a group of technical computing workers that form a collaboration to perform the job. The group of technical computing workers may include a first technical computing worker that acts as a lead worker for the collaboration and one or more second technical computing workers that act as follower workers for the collaboration. The system may further include a third technical computing worker that is not a part of the collaboration when the group of technical computing workers begins performing the job. The third technical worker may join the collaboration during the performance of the job and aid in obtaining a result from performing the job.Type: GrantFiled: July 23, 2007Date of Patent: May 27, 2014Assignee: The MathWorks, Inc.Inventor: Edric Ellis
-
Patent number: 8707281Abstract: 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: GrantFiled: July 23, 2012Date of Patent: April 22, 2014Assignee: 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
-
Patent number: 8707280Abstract: 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: GrantFiled: June 29, 2012Date of Patent: April 22, 2014Assignee: 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
-
Publication number: 20140035937Abstract: A device receives, via a technical computing environment, a program that includes a parallel construct and a command to be executed by graphical processing units, and analyzes the program. The device also creates, based on the parallel construct and the analysis, one or more instances of the command to be executed in parallel by the graphical processing units, and transforms, via the technical computing environment, the one or more command instances into one or more command instances that are executable by the graphical processing units. The device further allocates the one or more transformed command instances to the graphical processing units for parallel execution, and receives, from the graphical processing units, one or more results associated with parallel execution of the one or more transformed command instances by the graphical processing units.Type: ApplicationFiled: September 30, 2013Publication date: February 6, 2014Applicant: The MathWorks, Inc.Inventors: Halldor N. STEFANSSON, Edric Ellis
-
Publication number: 20140007059Abstract: A device initiates a technical computing environment (TCE), and receives, via the TCE, a program command that permits the TCE to access a graphical processing unit that is remote to the device, where the program command permits the TCE to seamlessly transfer data to the remote GPU. The device transforms, via the TCE, the program command into a program command that is executable by the remote GPU, and provides the transformed program command to the remote GPU for execution. The device also receives, from the remote GPU, one or more results associated with execution of the transformed program command by the remote GPU, and utilizes the one or more results via the TCE.Type: ApplicationFiled: September 6, 2013Publication date: January 2, 2014Applicant: The MathWorkds, Inc.Inventors: Halldor N. STEFANSSON, Edric ELLIS, Jocelyn Luke MARTIN
-
Patent number: 8561077Abstract: The present invention allows a multi-threaded process to access an un-shareable resource without modifying the multi-threaded process. A binder is created for the multi-threaded process to access the un-shareable resource. All requests from the multi-threaded process to access the un-shareable resource are intercepted by the binder and the binder decides how to redirect or reformulate the requests to access the un-shareable resource. The present invention allows a process to dynamically bind to an interface at run time to establish communication channels among multiple concurrent computing resources in a concurrent computing environment. Hence, a user can choose to change to use a different interface during run time of the process without terminating the execution of the process.Type: GrantFiled: April 12, 2006Date of Patent: October 15, 2013Assignee: The Math Works, Inc.Inventors: Edric Ellis, Jos Martin
-
Patent number: 8549500Abstract: A device receives, via a technical computing environment, a program that includes a parallel construct and a command to be executed by graphical processing units, and analyzes the program. The device also creates, based on the parallel construct and the analysis, one or more instances of the command to be executed in parallel by the graphical processing units, and transforms, via the technical computing environment, the one or more command instances into one or more command instances that are executable by the graphical processing units. The device further allocates the one or more transformed command instances to the graphical processing units for parallel execution, and receives, from the graphical processing units, one or more results associated with parallel execution of the one or more transformed command instances by the graphical processing units.Type: GrantFiled: September 30, 2010Date of Patent: October 1, 2013Assignee: The Mathworks, Inc.Inventors: Halldor N. Stefansson, Edric Ellis
-
Patent number: 8533697Abstract: A device initiates a technical computing environment (TCE), and receives, via the TCE, a program command that permits the TCE to access a graphical processing unit that is remote to the device, where the program command permits the TCE to seamlessly transfer data to the remote GPU. The device transforms, via the TCE, the program command into a program command that is executable by the remote GPU, and provides the transformed program command to the remote GPU for execution. The device also receives, from the remote GPU, one or more results associated with execution of the transformed program command by the remote GPU, and utilizes the one or more results via the TCE.Type: GrantFiled: September 30, 2010Date of Patent: September 10, 2013Assignee: The MathWorks, Inc.Inventors: Halldor N. Stefansson, Edric Ellis, Jocelyn Luke Martin
-
Publication number: 20120317165Abstract: 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: ApplicationFiled: June 29, 2012Publication date: December 13, 2012Applicant: 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
-
Publication number: 20120284726Abstract: 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: ApplicationFiled: July 23, 2012Publication date: November 8, 2012Applicant: 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
-
Publication number: 20120271977Abstract: A system initiates multiple instances of a concurrent computing process, establishes a communication channel among the multiple instances, initiates execution of a computational job on the multiple instances, detects an interrupt request on one of the multiple instances, and terminates execution of the computational job while maintaining communication among the multiple instances via the communication channel.Type: ApplicationFiled: June 26, 2012Publication date: October 25, 2012Applicant: THE MATHWORKS, INC.Inventors: Edric ELLIS, Jos MARTIN
-
Patent number: 8255890Abstract: 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: GrantFiled: October 20, 2008Date of Patent: August 28, 2012Assignee: 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
-
Patent number: 8255889Abstract: 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: GrantFiled: October 20, 2008Date of Patent: August 28, 2012Assignee: 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