Patent classifications
G06F9/5066
Method for Scheduling Hardware Accelerator and Task Scheduler
A task scheduler is connected between a central processing unit (CPU) and each hardware accelerator. The task scheduler first obtains a target task (for example, obtains the target task from a memory), and obtains a dependency relationship between the target task and an associated task. When it is determined, based on the dependency relationship, that a first associated task (for example, a prerequisite for executing the target task is that both a task 1 and a task 2 are executed) in the associated task has been executed, it indicates that the target task meets an execution condition, and the task scheduler schedules related hardware accelerators to execute the target task. Based on a dependency relationship between tasks, the task scheduler schedules, through hardware scheduling, each hardware accelerator to execute each task, and delivery of each task is performed through direct hardware access.
Thread group scheduling for graphics processing
Embodiments are generally directed to thread group scheduling for graphics processing. An embodiment of an apparatus includes a plurality of processors including a plurality of graphics processors to process data; a memory; and one or more caches for storage of data for the plurality of graphics processors, wherein the one or more processors are to schedule a plurality of groups of threads for processing by the plurality of graphics processors, the scheduling of the plurality of groups of threads including the plurality of processors to apply a bias for scheduling the plurality of groups of threads according to a cache locality for the one or more caches.
MULTI-LEVEL WORKFLOW SCHEDULING USING META-HEURISTIC AND HEURISTIC ALGORITHMS
Techniques described herein relate to a method for deploying workflows. The method may include receiving, by a global orchestrator of a device ecosystem, a request to execute a workflow; decomposing, by the global orchestrator, the workflow into a plurality of workflow portions; executing, by the global orchestrator, a metaheuristic algorithm to generate a result comprising a plurality of domains of the device ecosystem in which to execute the plurality of workflow portions; and providing, by the global orchestrator, the plurality of workflow portions to respective local orchestrators of the plurality of domains based on the result of executing the metaheuristic algorithm.
Managing partitions in a scalable environment
Systems and methods are provided that enable a general framework for partitioning application-defined jobs in a scalable environment. The general framework decouples partitioning of a job from the other aspects of the job. As a result, the effort required to define the application-defined job is reduced or minimized, as the user is not required to provide a partitioning algorithm. The general framework also facilitates management of masters and servers performing computations within the distributed environment.
EXTENDING PARALLEL SOFTWARE THREADS
A method for executing a software program, comprising: identifying in a program a plurality of host threads, each for performing some of a plurality of parallel sub-tasks of a task; and for each of the host threads: generating device threads, each associated with the host thread, each for one of the parallel tasks associated thereof; generating a parent thread associated with the host thread for communicating with the device threads; configuring a host processing circuitry to execute the parent thread; and configuring at least one other processing circuitry to execute in parallel the device threads while the host processing circuitry executes the parent thread; and for at least one of the host threads: receiving by the parent thread a value from the at least one other processing circuitry, the value generated when executing at least one of the device threads associated with the at least one host thread.
TASK ALLOCATION ACROSS PROCESSING UNITS OF A DISTRIBUTED SYSTEM
An organization's distributed data storage and processing system produces an enormous volume of source data (such as log files or other statistics). The organization uses a data item processing system to process the source data in prioritized chunks, and to further assign the data items within the chunks to different processing units based on estimates of processing completion time. In this way, it becomes feasible to process the source data for analysis by consumer clients within a reasonable amount of time, and the aggregate use of the processing units is made more efficient.
METHOD OF PROCESSING A NEURAL NETWORK MODEL
A neural network system for predicting a polling time and a neural network model processing method using the neural network system are provided. The neural network system includes a first resource to generate a first calculation result obtained by performing at least one calculation operation corresponding to a first calculation processing graph and a task manager to calculate a first polling time taken for the first resource to perform the at least one calculation operation and to poll the first calculation result from the first resource based on the calculated first polling time.
Method, device and computer program product for processing computing job
A first set of requirements of a first set of computing tasks for computing resources in a computing system is acquired respectively. Based on a determination that the requirement of a computing task in the first set of computing tasks for a computing resource satisfies a resource threshold condition, the computing task is divided into a plurality of sub-tasks. The resource threshold condition describes the threshold of a computing resource provided by a computing device in a plurality of computing devices in the computing system. A merging task for merging a plurality of sub-results of the plurality of sub-tasks into a result of the computing task is generated. Based on other computing tasks than the computing task in the set of computing tasks, the plurality of sub-tasks, and the merging task, a second set of computing tasks of the computing job is determined so as to process the computing job.
Estimate and control execution time of a utility command
A method, system, and computer program product to plan and schedule executions of various utility tasks of a utility command during a maintain window, the method including receiving a utility command. The method may also include identifying possible utility tasks used to execute the utility command. The method may also include determining preferred utility tasks. The method may also include calculating a degree of parallelism for the preferred utility tasks. The method may also include generating a utility execution plan for the utility command. The method may also include analyzing the utility execution plan against resource constraints of a time window and sub time windows of the time window. The method may also include generating a time window execution plan for each sub time window of the sub time windows. The method may also include updating the utility execution plan with the time window execution plans.
Accelerated processing via a physically based rendering engine
One embodiment of a computer-implemented method for processing ray tracing operations in parallel includes receiving a plurality of rays and a corresponding set of importance sampling instructions for each ray included in the plurality of rays for processing, wherein each ray represents a path from a light source to at least one point within a three-dimensional (3D) environment, and each corresponding set of importance sampling instruction is based at least in part on one or more material properties associated with at least one surface of at least one object included in the 3D environment; assigning each ray included in the plurality of rays to a different processing core included in a plurality of processing cores; and for each ray included in the plurality of rays, causing the processing core assigned to the ray to execute the corresponding set of importance sampling instructions on the ray to generate a direction for a secondary ray that is produced when the ray intersects a surface of an object within the 3D environment.