摘要:
A computing device is disclosed. The computing device includes an Accelerated Processing Unit (APU) including at least a first Heterogeneous System Architecture (HSA) computing device and at least a second HSA computing device, the second computing device being a different type than the first computing device, and an HSA Memory Management Unit (HMMU) allowing the APU to communicate with at least one memory. The computing task is enqueued on an HSA-managed queue that is set to run on the at least first HSA computing device or the at least second HSA computing device. The computing task is re-enqueued on the HSA-managed queue based on a repetition flag that triggers the number of times the computing task is re-enqueued. The repetition field is decremented each time the computing task is re-enqueued. The repetition field may include a special value (e.g., −1) to allow re-enqueuing of the computing task indefinitely.
摘要:
An apparatus and method are described for efficiently processing and reassigning interrupts. For example, one embodiment of an apparatus comprises: a plurality of cores; and an interrupt controller to group interrupts into a plurality of interrupt domains, each interrupt domain to have a set of one or more interrupts assigned thereto and to map the interrupts in the set to one or more of the plurality of cores.
摘要:
A software engine for decomposing work to be done into tasks, and distributing the tasks to multiple, independent CPUs for execution is described. The engine utilizes dynamic code generation, with run-time specialization of variables, to achieve high performance. Problems are decomposed according to methods that enhance parallel CPU operation, and provide better opportunities for specialization and optimization of dynamically generated code. A specific application of this engine, a software three dimensional (3D) graphical image renderer, is described.
摘要:
This disclosure presents techniques and structures for preemption at arbitrary control points in graphics processing. A method of graphics processing may comprise executing commands in a command buffer, the commands operating on data in a read-modify-write memory resource, double buffering the data in the read-modify-write memory resource, such that a first buffer stores original data of the read-modify-write memory resource and a second buffer stores any modified data produced by executing the commands in the command buffer, receiving a request to preempt execution of the commands in the command buffer before completing all commands in the command buffer, and restarting execution of the commands at the start of the command buffer using the original data in the first buffer.
摘要:
Hierarchical dynamic scheduling is disclosed. A plurality of physical nodes is included in a computer system. Each node includes a plurality of processors. Each processor includes a plurality of hyperthreads. An abstraction of the nodes, processors, and hyperthreads forms a hierarchy. Upon receiving an indication that a hyperthread should be assigned, a dynamic search of the hierarchy is performed, beginning at the leaf level, for a process to assign to the hyperthread.
摘要:
A method is disclosed for reducing peak power usage in a large computer system with multiple nodes by identifying jobs which can be scheduled to run at reduced frequency in order to reduce total power usage during certain time periods. The backfill scheduler of the computer system's operating system performs steps providing for selected jobs on selected nodes of the computer system to be run at reduced frequency such that those jobs are partially processed during previously underutilized holes in the computer system schedule in order to reduce overall peak power during a period of processing.
摘要:
A data processing system comprises a task scheduling device arranged to schedule a plurality of tasks; and a plurality of processing units, at least some of which being adapted to execute one or more assigned tasks of the plurality of tasks and, for each assigned task, to provide to the task scheduling device at least a task status event which indicates when an execution of the assigned task is finished; wherein the task scheduling device comprises a task scheduler controller unit arranged to assign one or more of the plurality of tasks, each to a corresponding one of the processing units being adapted to execute the assigned task, in response to receiving one or more of the task status events associated with one or more previously assigned tasks.
摘要:
A software engine for decomposing work to be done into tasks, and distributing the tasks to multiple, independent CPUs for execution is described. The engine utilizes dynamic code generation, with run-time specialization of variables, to achieve high performance. Problems are decomposed according to methods that enhance parallel CPU operation, and provide better opportunities for specialization and optimization of dynamically generated code. A specific application of this engine, a software three dimensional (3D) graphical image renderer, is described.
摘要:
The present invention provides a system having a plurality of execution units (2) and a method for changing it over. The inventive system (1) having a plurality of execution units (2) has at least two execution units (2) and can be changed over between a performance mode of operation (PM), in which the execution units (2) execute different programs, and a comparison mode of operation (VM), in which the execution units (2) execute the same program. The system (1) has a scheduler (SCH) which is called by an execution unit (2) in order to ascertain the next program to be executed. In this case, the remaining execution units (2) are prompted to likewise call the scheduler (SCH) when the program ascertained by the scheduler (SCH) called first needs to be executed in a comparison mode of operation (VM). A changeover unit (3) changes over the system (1) having a plurality of execution units (2) from the performance mode of operation (PM) to the comparison mode of operation (VM) when the program to be executed which is ascertained by the scheduler (SCH) called last needs to be executed in the comparison mode of operation (VM), this ascertained program to be executed being executed as a program with the highest priority by all the execution units (2) following changeover of the system (1) in the comparison mode of operation (VM).