Patent classifications
G06F8/45
UPDATING MEDIA DEVICES IN A LOCAL NETWORK WITH A CLIENT-SERVER ARCHITECTURE
Systems, methods, and non-transitory, machine-readable media to facilitate updating media devices in a local network with a client-server architecture are disclosed. A primary media device may be configured to operate as a server in a local network, receive audio/video (A/V) content via an Internet connection and/or a satellite network connection, serve the A/V content to a set of one or more secondary media devices for display with at least one television of a set of one or more televisions, and receive a set of one or more software updates via the Internet connection, a Universal Serial Bus (USB) connection, and/or the satellite network connection. One or more software updates of the set of one or more software updates may be specified for, and may be transferred to, the set of one or more secondary media devices.
SYSTEMS AND METHODS FOR FACILITATING STREAMING IN A LOCAL NETWORK WITH MULTIPLE SUBNETS
Systems, methods, and non-transitory, machine-readable media to facilitate streaming in a local network are disclosed. A primary media device may be configured to: operate as a server in a local network, receive audio/video (A/V) content, and provide the A/V content to a first display. A secondary media device may be communicatively connected to the primary media device and may be configured to: operate as a client with respect to the primary media device in the local network, receive the A/V content from the primary media device, and provide the A/V content to a second display. The primary media device and the secondary media device may use multiple subnets in the local network. The primary media device and/or the secondary media device may select a first subnet of the multiple subnets to use based at least in part on a type of content to communicate via the first subnet.
METHOD AND SYSTEM FOR SOFTWARE ENHANCEMENT AND MANAGEMENT
A software enhancement and management system (E&M System) can include two ways to decompose existing software such that new functionality can be added: functional decomposition and time-affecting linear pathway (TALP) decomposition. Functional decomposition captures the inputs and outputs of the existing software's functions and attaches the new algorithmic constructs presented as other functions that receive the outputs of the existing software's functions. TALP decomposition allows for the generation of time-prediction polynomials that approximate time-complexity functions, speedup, and automatic dynamic loop-unrolling-based parallelization for each TALP.
DEVICES AND METHODS FOR GENERATING ELEMENTARY GEOMETRIES
Elementary geometries for rendering objects of a 3D scene are generated from input geometry data sets. Instructions of a source program are transformed into a code executable in a rendering pipeline by at least one graphics processor, by segmenting the source program into sub-programs, each adapted to process the input data sets, and by ordering the sub-programs in function of the instructions. Each ordered sub-program is configured in the executable code for being executed only after the preceding sub-program has been executed for all input data sets. Launching the execution of instructions to generate elementary geometries includes determining among the sub-programs a starting sub-program, deactivating all sub-programs preceding it and activating it as well as all sub-programs following it. Modularity is thereby introduced in generating elementary geometries, allowing time-efficient lazy execution of grammar rules.
METHOD OF REORDERING CONDITION CHECKS
Described is a computer-implemented method of reordering condition checks. Two or more condition checks in computer code that may be reordered within the code are identified. It is determined that the execution frequency of a later one of the condition checks is satisfied at a greater frequency than a preceding one of the condition checks. It is determined that there is an absence of side effects in the two or more condition checks. The values of the condition checks are propagated and abstract interpretation is performed on the values that are propagated. It is determined that the condition checks are exclusive of each other, and the condition checks are reordered within the computer code.
Iterative learning processes for executing code of self-optimizing computation graphs based on execution policies
A method includes receiving code of an application, the code structured as a plurality of instructions in a computation graph that corresponds to operational logic of the application. The method also includes processing the code according to an iterative learning process. The iterative learning process includes determining whether to adjust an exploration rate associated with the iterative learning process based on a state of a computing environment. Additionally, the process includes executing the plurality of instructions of the computation graph according to an execution policy that indicates certain instructions to be executed in parallel. The process also includes determining an execution time for executing the plurality of instructions of the computation graph according to the execution policy and based on the execution time and the exploration rate, adjusting the execution policy to reduce the execution time in a subsequent iteration.
System of Heterogeneous Reconfigurable Processors for the Data-Parallel Execution of Applications
A system for a data-parallel execution of at least two implementations of an application on reconfigurable processors with different layouts is presented. The system comprises a pool of reconfigurable data flow resources with data transfer resources that interconnect first and second reconfigurable processors having first and second layouts that impose respective first and second constraints for the data-parallel execution of the application. The system further comprises an archive of configuration files and a host system that is operatively coupled to the first and second reconfigurable processors. The host system comprises first and second compilers that generate for the application, based on the respective first and second constraints, first and second configuration files that are stored in the archive of configuration files and adapted to be executed data-parallel compatible on respective first and second reconfigurable processors.
SYSTEM AND METHOD OF USING SUSTAINABILITY TO ESTABLISH COMPILATION METHODS ALIGNED WITH SUSTAINABILITY GOALS
Generating compilation methods using sustainability. Code is compiled in a manner that accounts for sustainability values. When a compilation request is received, sustainability values are identified. The resources needed to fulfill the compilation request are identified based on the sustainability values and available resources. Once the resources that are likely to best meet the sustainability values, the compilation request is performed using those resources.
POINTER ALIGNMENT COMPUTATION IN PROGRAM CODE ACCORDING TO CODE PATTERN ANALYSES
Pointer alignment in a computer programming to obtain information enabling a compiler to optimize program code. Equivalence classes of pointers are collected in a program using a flow-insensitive yet field-sensitive pointer analysis operation iterating through an entire program code of the program. The equivalence classes of pointers, once collected, are mapped to and recorded in an equivalence class mapping table (ECTable). A portion of the collected equivalence classes of pointers are identified, from the ECTable, as pointer candidates for a pointer alignment computation according to a code pattern analysis of each pointer candidate. The code pattern analysis is based on available alignment information, and whether the alignment information would enable a compiler to optimize pointer references of the candidate pointer. The pointer alignment computation is then performed for each identified pointer candidate to obtain the alignment information used to optimize execution of the program.
Computer processing and outcome prediction systems and methods
Computer processing and outcome prediction systems and methods used to generate algorithm time prediction polynomials, inverse algorithm time prediction polynomials, determine race conditions, determine when a non-linear algorithm can be treated as if it were linear, as well as automatically generate parallel and quantum solutions from classical software or from the relationship between monotonic attribute values.