Patent classifications
G06F8/454
Method of Deadlock Detection and Synchronization-Aware Optimizations on Asynchronous Architectures
A method for improving the performance of applications executed within asynchronous processor architectures. In an embodiment, a method for improving execution time of compiled synchronized source code on an asynchronous processor architecture includes receiving, by a processing system, synchronized source code comprising synchronization instructions to synchronize execution of the synchronized source code on different pipelines of the asynchronous processor architecture. The method also includes analyzing, by the processing system, the synchronized source code to determine whether the synchronized source code includes a broken code condition. The method also includes, after determining, by the processing system, that the synchronized source code does not include a broken code condition, outputting an optimized synchronized source code generated by performing a corrective action on the synchronized source code to correct a synchronization inaccuracy, inconsistency, or inefficiency in the synchronized source code.
Methods and systems for generating communications associated with optimization codes
This disclosure is directed to systems and methods for generating a communication associated with or based on optimization data. Generating a communication may include (i) receiving first data associated with a first computing device or a first computing device user; (ii) generating at least two of: verification data, consistency data, and activity data; and (iii) generating optimization data.
Parallelization compiling method, parallelization compiler, and vehicular device
A parallelization compiling method for generating a segmented program from a sequential program, in which multiple macro tasks are included and at least two of the macro tasks have a data dependency relationship with one another, includes determining an existence of invalidation information for invalidating at least a part of the data dependency relationship between the at least two of the plurality of macro tasks before compiling the sequential program into the segmented program, and generating the segmented program by compiling the sequential program into the segmented program with reference to a determination result of the existence of the invalidation information. When the invalidation information is determined to exist, the at least a part of the data dependency relationship is invalidated before the compiling of the sequential program into the segmented program.
METHODS AND SYSTEMS FOR GENERATING COMMUNICATIONS ASSOCIATED WITH OPTIMIZATION CODES
This disclosure is directed to systems and methods for generating a communication associated with or based on optimization data. Generating a communication may include (i) receiving first data associated with a first computing device or a first computing device user; (ii) generating at least two of: verification data, consistency data, and activity data; and (iii) generating optimization data.
Fingerprinting of redundant threads using compiler-inserted transformation code
A first processing element is configured to execute a first thread and one or more second processing elements are configured to execute one or more second threads that are redundant to the first thread. The first thread and the one or more second threads are to selectively bypass one or more comparisons of results of operations performed by the first thread and the one or more second threads depending on whether an event trigger for the comparison has occurred a configurable number of times since a previous comparison of previously encoded values of the results. In some cases the comparison can be performed based on hashed (or encoded) values of the results of a current operation and one or more previous operations.
Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and OTA master
A software update apparatus includes a communication unit that sends a request for downloading update data to a center, a storage unit that stores the downloaded update data, and a control unit that executes, based on the update data, a control for installing, or installing and activating update software on one or more target electronic control units from among a plurality of electronic control units connected to each other via an in-vehicle network. The control unit acquires software versions of the electronic control units, determines whether there is a consistency in a combination of the acquired software versions, and executes, upon determining that there is an inconsistency in the combination of the acquired software versions, a process for attaining the consistency in the combination of the software versions.
Improving application code execution performance by consolidating accesses to shared resources
A computer implemented method of refactoring software code to optimize execution performance by consolidating shared resources accesses, comprising: receiving target code containing code entries accessing shared resource(s); automatically creating a dependency record for each shared resource. The dependency record describes dependencies among the code entries accessing shared data items in the shared resource(s); identifying, based on the dependency record, a resource access point for each shared resource(s), wherein the resource access point is located in an execution path of the target code to precede code entries which use the shared data item(s) and follows code entries which define the shared data item(s); automatically refactoring the target code to group together code entries which use the shared data item(s), wherein the group is placed following the resource access point to consolidate shared resource accesses of the code entries to the shared resource(s); and outputting the refactored target code.
DATA PROCESSING SYSTEMS
A graphics processing unit comprises a programmable execution unit executing graphics processing programs for execution threads to perform graphics processing operations, a local register memory comprising one or more registers, where registers of the register memory are assignable to store data associated with an individual execution thread that is being executed by the execution unit, and where the register(s) assigned to an individual execution thread are accessible only to that associated individual execution thread, and a further local memory that is operable to store data for use in common by plural execution threads, where the data stored in the further local memory is accessible to plural execution threads as they execute. The programmable execution unit is operable to selectively store output data for an execution thread in a register(s) of the local register memory assigned to the execution thread, and the further local memory.
MULTI-TIERED FLEET MANAGEMENT CACHE
A method of providing reservation status relating to a group of objects includes providing a database for containing (i) availability data describing availability of at least one of the group of objects, and (ii) reservation data describing allocation of at least one of the group of objects. The availability data and the reservation data are stored in sparse form. The method further includes extracting, from the database, availability data and reservation data corresponding to a predetermined period of time, and combining the extracted availability data and reservation data to form windowed data in a dense format. The method also includes receiving the windowed data and providing the windowed data in a bit-vector view, and sampling the windowed data in the bit-vector view to produce sampled data. The sampled data provides the reservation status as a static view of the windowed data in the bit-vector view.
IMPROVING APPLICATION CODE EXECUTION PERFORMANCE BY CONSOLIDATING ACCESSES TO SHARED RESOURCES
A computer implemented method of refactoring software code to optimize execution performance by consolidating shared resources accesses, comprising: 1) Receiving target code containing code entries accessing shared resource(s). 2) Automatically creating a dependency record for each shared resource. The dependency record describes dependencies among the code entries accessing shared data items in the shared resource(s). 3) Identifying, based on the dependency record, a resource access point for each shared resource(s). The resource access point is located in an execution path of the target code to precede code entries which use the shared data item(s) and follows code entries which define the shared data item(s). 4) Automatically refactoring the target code to group together code entries which use the shared data item(s). The group is placed following the resource access point to consolidate shared resource accesses of the code entries to the shared resource(s). 5) Outputting the refactored target code.