Allocation of memory resources to SIMD workgroups

    公开(公告)号:US10990448B2

    公开(公告)日:2021-04-27

    申请号:US16132703

    申请日:2018-09-17

    摘要: A memory subsystem for use with a single-instruction multiple-data (SIMD) processor comprising a plurality of processing units configured for processing one or more workgroups each comprising a plurality of SIMD tasks, the memory subsystem comprising: a shared memory partitioned into a plurality of memory portions for allocation to tasks that are to be processed by the processor; and a resource allocator configured to, in response to receiving a memory resource request for first memory resources in respect of a first-received task of a workgroup, allocate to the workgroup a block of memory portions sufficient in size for each task of the workgroup to receive memory resources in the block equivalent to the first memory resources.

    SCHEDULING TASKS USING TARGETED PIPELINES

    公开(公告)号:US20210109782A1

    公开(公告)日:2021-04-15

    申请号:US17108526

    申请日:2020-12-01

    摘要: A method of scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state, and checking, by an instruction controller, if an ALU targeted by the decoded instruction is a primary instruction pipeline. If the targeted ALU is a primary instruction pipeline, a list associated with the primary instruction pipeline is checked to determine whether the scheduled task is already included in the list. If the scheduled task is already included in the list, the decoded instruction is sent to the primary instruction pipeline.

    SCHEDULING TASKS USING SWAP FLAGS

    公开(公告)号:US20210081199A1

    公开(公告)日:2021-03-18

    申请号:US17108389

    申请日:2020-12-01

    摘要: A method of activating scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state and checking, by an instruction controller, if a swap flag is set in the decoded instruction. If the swap flag in the decoded instruction is set, a scheduler is triggered to de-activate the scheduled task by changing the scheduled task from the active state to a non-active state.

    Task Scheduling in a GPU
    4.
    发明申请

    公开(公告)号:US20190266018A1

    公开(公告)日:2019-08-29

    申请号:US16412197

    申请日:2019-05-14

    IPC分类号: G06F9/48 G06F1/329 G06F9/50

    摘要: A method of scheduling tasks within a GPU or other highly parallel processing unit is described which is both age-aware and wakeup event driven. Tasks which are received are added to an age-based task queue. Wakeup event bits for task types, or combinations of task types and data groups, are set in response to completion of a task dependency and these wakeup event bits are used to select an oldest task from the queue that satisfies predefined criteria.

    Performance Profiling in Computer Graphics
    5.
    发明申请

    公开(公告)号:US20180158168A1

    公开(公告)日:2018-06-07

    申请号:US15798662

    申请日:2017-10-31

    发明人: Yoong-Chert Foo

    IPC分类号: G06T1/20

    摘要: A method of profiling the performance of a graphics unit when rendering a scene according to a graphics pipeline, includes executing stages of the graphics pipeline using one or more units of rendering circuitry to perform at least one rendering task that defines a portion of the work required to render the scene, the at least one rendering task associated with a set flag; propagating an indication of the flag through stages of the graphics pipeline as the scene is rendered so that work done as part of the at least one rendering task is associated with the set flag; changing the value of a counter associated with a unit of rendering circuitry in response to an occurrence of an event whilst that unit performs an item of work associated with the set flag; and reading the value of the counter to thereby measure the occurrences of the event caused by completing the at least one rendering task.

    SCHEDULING TASKS USING SWAP FLAGS

    公开(公告)号:US20230097760A1

    公开(公告)日:2023-03-30

    申请号:US18075394

    申请日:2022-12-05

    摘要: A method of activating scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state and checking, by an instruction controller, if a swap flag is set in the decoded instruction. If the swap flag in the decoded instruction is set, a scheduler is triggered to de-activate the scheduled task by changing the scheduled task from the active state to a non-active state.

    Scheduling tasks using targeted pipelines

    公开(公告)号:US11366691B2

    公开(公告)日:2022-06-21

    申请号:US17108526

    申请日:2020-12-01

    摘要: A method of scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state, and checking, by an instruction controller, if an ALU targeted by the decoded instruction is a primary instruction pipeline. If the targeted ALU is a primary instruction pipeline, a list associated with the primary instruction pipeline is checked to determine whether the scheduled task is already included in the list. If the scheduled task is already included in the list, the decoded instruction is sent to the primary instruction pipeline.

    SYNCHRONIZING SCHEDULING TASKS WITH ATOMIC ALU

    公开(公告)号:US20210073029A1

    公开(公告)日:2021-03-11

    申请号:US17087837

    申请日:2020-11-03

    摘要: A method of synchronizing a group of scheduled tasks within a parallel processing unit into a known state is described. The method uses a synchronization instruction in a scheduled task which triggers, in response to decoding of the instruction, an instruction decoder to place the scheduled task into a non-active state and forward the decoded synchronization instruction to an atomic ALU for execution. When the atomic ALU executes the decoded synchronization instruction, the atomic ALU performs an operation and check on data assigned to the group ID of the scheduled task and if the check is passed, all scheduled tasks having the particular group ID are removed from the non-active state.