JP2021526257A - マルチカーネル波面スケジューラ - Google Patents
マルチカーネル波面スケジューラ Download PDFInfo
- Publication number
- JP2021526257A JP2021526257A JP2020566752A JP2020566752A JP2021526257A JP 2021526257 A JP2021526257 A JP 2021526257A JP 2020566752 A JP2020566752 A JP 2020566752A JP 2020566752 A JP2020566752 A JP 2020566752A JP 2021526257 A JP2021526257 A JP 2021526257A
- Authority
- JP
- Japan
- Prior art keywords
- scheduling
- scheduling group
- wave
- resource contention
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
Abstract
Description
最新のプロセッサ(グラフィックス処理装置(GPU)など)には、各プロセスが複数のカーネルを起動する可能性がある、複数のプロセスの同時実行をサポートする構造が含まれている。その結果、複数のプロセスからの複数のカーネルを同じプロセッサで同時に実行できる。本明細書で使用される場合、「カーネル」は、1つまたは複数の実行可能プログラム命令である。通常、このようなカーネルは関数として識別され、複数のデータ要素上で操作する場合、カーネルの複数のインスタンスが並行して実行される。このような各インスタンスは、実行の「スレッド」と呼ばれる。このようなスレッドのグループは、本明細書では「ワープ」または「ウェーブフロント(波面)」とも呼ばれる。通常、GPUカーネルには複数のワープまたは波面がある。単一のプロセスまたは複数のプロセスから複数のカーネルを同時に実行すると、これらのカーネルがプロセッサの共有リソースをめぐって競合することになる。このようなシナリオでは、これらの共有リソースへのアクセスを求める複数のカーネルからの干渉により、全体的なパフォーマンスが低下する可能性がある。さらに、同じカーネルのワークグループとは異なり、異なるカーネルのワークグループは完全に異なるエンティティであり、共通性がないため、異なるカーネルを同時に実行すると、共有リソースの競合が悪化する可能性がある。
Claims (20)
- 複数の計算ユニットと、
前記複数の計算ユニットに結合されたコマンドプロセッサであって、前記コマンドプロセッサは、カーネルを前記複数の計算ユニットにディスパッチするように構成される、前記コマンドプロセッサと、を備え、
前記複数の計算ユニットの各計算ユニットは、
前記コマンドプロセッサから、複数のカーネルの複数の波面を受信し、
前記複数の波面の波面を、少なくとも部分的に共通の基準に基づいて複数のスケジューリンググループにグループ化し、
前記複数のスケジューリンググループから所定のスケジューリンググループを選択し、
前記所定のスケジューリンググループからのみ実行するように波面をスケジュールするように構成される、システム。 - 前記共通の基準は、カーネル及び優先度のうちの少なくとも1つである、請求項1に記載のシステム。
- 各計算ユニットは、同じ優先度を有する波面を同じスケジューリンググループにグループ化するように構成される、請求項2に記載のシステム。
- 各計算ユニットは、
前記計算ユニット上でのリソース競合を示す、計算ユニットのストールサイクル、キャッシュミス率、メモリアクセス遅延、及びリンク使用率の少なくとも1つを含む1つまたは複数の条件を監視し、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第1の測定値を生成し、
リソース競合の前記第1の測定値が第1の閾値より大きいと判定することに応じて、最も優先度の低いスケジューリンググループをスケジュール解除されたキューに移動するようにさらに構成され、
前記スケジュール解除されたキューに格納されたスケジューリンググループからの波面は、前記計算ユニット上で実行するようにスケジュールされないようにされる、請求項1に記載のシステム。 - 各計算ユニットは、
前記最も優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動した後、所定の時間待機し、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第2の測定値を生成し、
リソース競合の前記第2の測定値が前記第1の閾値より大きいと判定することに応じて、次に優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動するように構成される、請求項4に記載のシステム。 - 各計算ユニットは、
前記最も優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動した後、所定の時間待機し、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第2の測定値を生成し、
リソース競合の前記第2の測定値が第2の閾値未満であると判定することに応じて、最も優先度の高いスケジューリンググループを前記スケジュール解除されたキューから移動するように構成される、請求項4に記載のシステム。 - 各計算ユニットは、前記複数のスケジューリンググループから最も優先度の高いスケジューリンググループを選択するようにさらに構成される、請求項1に記載のシステム。
- 複数のカーネルの複数の波面を受信することと、
前記複数の波面の波面を、少なくとも部分的に共通の基準に基づいて複数のスケジューリンググループにグループ化することと、
前記複数のスケジューリンググループから所定のスケジューリンググループを選択することと、
前記所定のスケジューリンググループからのみ実行するように波面をスケジュールすることと、を含む、方法。 - 前記共通の基準は、カーネル及び優先度のうちの少なくとも1つである、請求項8に記載の方法。
- 同じ優先度を有するカーネルからの波面を同じスケジューリンググループにグループ化することをさらに含む、請求項9に記載の方法。
- 前記計算ユニット上のリソース競合を示す1つまたは複数の条件を監視することであって、前記1つまたは複数の条件は、計算ユニットのストールサイクル、キャッシュミス率、メモリアクセス遅延、及びリンク使用率のうちの少なくとも1つを含む、前記監視することと、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第1の測定値を生成することと、
リソース競合の前記第1の測定値が第1の閾値より大きいと判定することに応じて、最も優先度の低いスケジューリンググループをスケジュール解除されたキューに移動することと、をさらに含み、前記スケジュール解除されたキューに格納されたスケジューリンググループからの波面は、前記計算ユニット上で実行するようにスケジュールされないようにされる、請求項8に記載の方法。 - 前記最も優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動した後、所定の時間待機することと、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第2の測定値を生成することと、
リソース競合の前記第2の測定値が、前記第1の閾値より大きいと判定することに応じて、次に優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動することと、をさらに含む、請求項11に記載の方法。 - 前記最も優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動した後、所定の時間待機することと、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第2の測定値を生成することと、
リソース競合の前記第2の測定値が、第2の閾値未満であると判定することに応じて、最も優先度の高いスケジューリンググループを前記スケジュール解除されたキューから移動することと、をさらに含む、請求項11に記載の方法。 - 前記複数のスケジューリンググループから最も優先度の高いスケジューリンググループを選択することをさらに含む、請求項8に記載の方法。
- メモリと、
前記メモリに結合されているプロセッサと、を備え、
前記プロセッサは、
複数のカーネルの複数の波面を受信し、
前記複数の波面の波面を、少なくとも部分的に共通の基準に基づいて複数のスケジューリンググループにグループ化し、
前記複数のスケジューリンググループから所定のスケジューリンググループを選択し、
前記所定のスケジューリンググループからのみ実行するように波面をスケジュールするように構成される、装置。 - 前記共通の基準は、カーネル及び優先度のうちの少なくとも1つである、請求項15に記載の装置。
- 前記プロセッサは、同じ優先度を有するカーネルからの波面を同じスケジューリンググループにグループ化するように構成される、請求項16に記載の装置。
- 前記プロセッサは、
前記プロセッサ上のリソース競合を示す、計算ユニットのストールサイクル、キャッシュミス率、メモリアクセス遅延、及びリンク使用率のうちの少なくとも1つを含む1つまたは複数の条件を監視し、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第1の測定値を生成し、
リソース競合の前記第1の測定値が第1の閾値より大きいと判定することに応じて、最も優先度の低いスケジューリンググループをスケジュール解除されたキューに移動するようにさらに構成され、
前記スケジュール解除されたキューに格納されたスケジューリンググループからの波面は、前記プロセッサ上で実行するようにスケジュールされないようにされる、請求項15に記載の装置。 - 前記プロセッサは、
前記最も優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動した後、所定の時間待機し、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第2の測定値を生成し、
リソース競合の前記第2の測定値が前記第1の閾値より大きいと判定することに応じて、次に優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動するようにさらに構成される、請求項18に記載の装置。 - 前記プロセッサは、
前記最も優先度の低いスケジューリンググループを前記スケジュール解除されたキューに移動した後、所定の時間待機し、
監視されている前記1つまたは複数の条件に基づいて、リソース競合の第2の測定値を生成し、
リソース競合の前記第2の測定値が第2の閾値未満であると判定することに応じて、最も優先度の高いスケジューリンググループを前記スケジュール解除されたキューから移動するようにさらに構成される、請求項18に記載の装置。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/993,061 US12099867B2 (en) | 2018-05-30 | 2018-05-30 | Multi-kernel wavefront scheduler |
| US15/993,061 | 2018-05-30 | ||
| PCT/US2019/024354 WO2019231539A1 (en) | 2018-05-30 | 2019-03-27 | Multi-kernel wavefront scheduler |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021526257A true JP2021526257A (ja) | 2021-09-30 |
| JP7320536B2 JP7320536B2 (ja) | 2023-08-03 |
Family
ID=66102796
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020566752A Active JP7320536B2 (ja) | 2018-05-30 | 2019-03-27 | マルチカーネル波面スケジューラ |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US12099867B2 (ja) |
| EP (1) | EP3803583B1 (ja) |
| JP (1) | JP7320536B2 (ja) |
| KR (1) | KR102586988B1 (ja) |
| CN (1) | CN112204523B (ja) |
| WO (1) | WO2019231539A1 (ja) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12135997B1 (en) * | 2018-12-31 | 2024-11-05 | Teradata Us, Inc. | Workload request rate control |
| KR20220028444A (ko) | 2020-08-28 | 2022-03-08 | 삼성전자주식회사 | 중계기를 포함하는 그래픽 처리 장치, 및 이의 동작 방법 |
| DE112022000425T5 (de) * | 2021-04-15 | 2023-10-26 | Nvidia Corporation | Gleichzeitiges einführen von code |
| US12190164B2 (en) | 2021-08-11 | 2025-01-07 | Apple Inc. | Kickslot manager circuitry for graphics processors |
| US12086644B2 (en) | 2021-08-11 | 2024-09-10 | Apple Inc. | Logical slot to hardware slot mapping for graphics processors |
| US12333339B2 (en) | 2021-08-11 | 2025-06-17 | Apple Inc. | Affinity-based graphics scheduling |
| US12175300B2 (en) | 2021-08-11 | 2024-12-24 | Apple Inc. | Software control techniques for graphics hardware that supports logical slots and reservation of graphics hardware based on a priority threshold |
| US12169896B2 (en) | 2021-09-29 | 2024-12-17 | Advanced Micro Devices, Inc. | Graphics primitives and positions through memory buffers |
| US12062126B2 (en) | 2021-09-29 | 2024-08-13 | Advanced Micro Devices, Inc. | Load multiple primitives per thread in a graphics pipeline |
| US20230305887A1 (en) * | 2022-03-28 | 2023-09-28 | Honeywell International S.R.O. | Processing engine scheduling for time-space partitioned processing systems |
| US20230305888A1 (en) * | 2022-03-28 | 2023-09-28 | Honeywell International S.R.O. | Processing engine mapping for time-space partitioned processing systems |
| US12353330B2 (en) | 2022-09-19 | 2025-07-08 | Apple Inc. | Preemption techniques for memory-backed registers |
| US12164927B2 (en) | 2022-09-19 | 2024-12-10 | Apple Inc. | Thread channel deactivation based on instruction cache misses |
| US12190151B2 (en) | 2022-09-19 | 2025-01-07 | Apple Inc. | Multi-stage thread scheduling |
| US11954492B1 (en) * | 2022-09-19 | 2024-04-09 | Apple Inc. | Fence enforcement techniques based on stall characteristics |
| KR102579320B1 (ko) * | 2023-04-19 | 2023-09-18 | 메티스엑스 주식회사 | 캐시 메모리 장치 및 이를 이용하는 캐시 스케줄링 구현 방법 |
| US12487930B2 (en) * | 2023-12-12 | 2025-12-02 | Advanced Micro Devices, Inc. | Dynamic accounting of cache for GPU scratch memory usage |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017116517A1 (en) * | 2015-12-28 | 2017-07-06 | Advanced Micro Devices, Inc. | Data driven scheduler on multiple computing cores |
Family Cites Families (62)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5900025A (en) * | 1995-09-12 | 1999-05-04 | Zsp Corporation | Processor having a hierarchical control register file and methods for operating the same |
| US6697932B1 (en) * | 1999-12-30 | 2004-02-24 | Intel Corporation | System and method for early resolution of low confidence branches and safe data cache accesses |
| US20020073129A1 (en) * | 2000-12-04 | 2002-06-13 | Yu-Chung Wang | Integrated multi-component scheduler for operating systems |
| US20030065809A1 (en) * | 2001-10-03 | 2003-04-03 | Adc Telecommunications, Inc. | Scheduling downstream transmissions |
| US7594102B2 (en) | 2004-12-15 | 2009-09-22 | Stmicroelectronics, Inc. | Method and apparatus for vector execution on a scalar machine |
| US7793294B2 (en) * | 2005-02-22 | 2010-09-07 | Northrop Grumman Corporation | System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task |
| US7761697B1 (en) | 2005-07-13 | 2010-07-20 | Nvidia Corporation | Processing an indirect branch instruction in a SIMD architecture |
| EP2011018B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
| US8302098B2 (en) * | 2007-12-06 | 2012-10-30 | Oracle America, Inc. | Hardware utilization-aware thread management in multithreaded computer systems |
| US8225325B2 (en) | 2008-06-06 | 2012-07-17 | Apple Inc. | Multi-dimensional thread grouping for multiple processors |
| JP2010020683A (ja) * | 2008-07-14 | 2010-01-28 | Nec Electronics Corp | スレッド制御方法およびスレッド制御装置ならびにリアルタイムシステム |
| US8151095B1 (en) | 2008-07-18 | 2012-04-03 | Nvidia Corporation | System and method for context migration across CPU threads |
| US8700862B2 (en) | 2008-12-03 | 2014-04-15 | Nvidia Corporation | Compression status bit cache and backing store |
| CN101753546B (zh) * | 2008-12-16 | 2012-10-31 | 中国移动通信集团公司 | 一种数据包传送方法及装置 |
| US20110219221A1 (en) | 2010-03-03 | 2011-09-08 | Kevin Skadron | Dynamic warp subdivision for integrated branch and memory latency divergence tolerance |
| US8285950B2 (en) * | 2010-06-03 | 2012-10-09 | International Business Machines Corporation | SMT/ECO mode based on cache miss rate |
| US8751771B2 (en) | 2010-09-29 | 2014-06-10 | Nvidia Corporation | Efficient implementation of arrays of structures on SIMT and SIMD architectures |
| US8782645B2 (en) * | 2011-05-11 | 2014-07-15 | Advanced Micro Devices, Inc. | Automatic load balancing for heterogeneous cores |
| US9830156B2 (en) | 2011-08-12 | 2017-11-28 | Nvidia Corporation | Temporal SIMT execution optimization through elimination of redundant operations |
| WO2013030630A1 (en) | 2011-09-02 | 2013-03-07 | Freescale Semiconductor, Inc. | Data processing system and method for task scheduling in a data processing system |
| US8689237B2 (en) * | 2011-09-22 | 2014-04-01 | Oracle International Corporation | Multi-lane concurrent bag for facilitating inter-thread communication |
| US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
| US8842122B2 (en) * | 2011-12-15 | 2014-09-23 | Qualcomm Incorporated | Graphics processing unit with command processor |
| US10152329B2 (en) | 2012-02-09 | 2018-12-11 | Nvidia Corporation | Pre-scheduled replays of divergent operations |
| US20130226535A1 (en) * | 2012-02-24 | 2013-08-29 | Jeh-Fu Tuan | Concurrent simulation system using graphic processing units (gpu) and method thereof |
| US9830163B2 (en) * | 2012-06-08 | 2017-11-28 | Advanced Micro Devices, Inc. | Control flow in a heterogeneous computer system |
| JP6020091B2 (ja) | 2012-11-27 | 2016-11-02 | 富士通株式会社 | 演算処理装置の制御プログラム、演算処理装置の制御方法および演算処理装置 |
| US9851977B2 (en) | 2012-12-06 | 2017-12-26 | Kalray | Apparatus and method for combining thread warps with compatible execution masks for simultaneous execution and increased lane utilization |
| US9588822B1 (en) * | 2012-12-18 | 2017-03-07 | Amazon Technologies, Inc. | Scheduler for data pipeline |
| WO2014094310A1 (zh) * | 2012-12-21 | 2014-06-26 | 华为技术有限公司 | 资源调度的方法和装置 |
| US9639371B2 (en) | 2013-01-29 | 2017-05-02 | Advanced Micro Devices, Inc. | Solution to divergent branches in a SIMD core using hardware pointers |
| US9891949B2 (en) | 2013-03-06 | 2018-02-13 | Nvidia Corporation | System and method for runtime scheduling of GPU tasks |
| US9256623B2 (en) | 2013-05-08 | 2016-02-09 | Nvidia Corporation | System, method, and computer program product for scheduling tasks associated with continuation thread blocks |
| CN103336718B (zh) * | 2013-07-04 | 2016-07-06 | 北京航空航天大学 | 一种gpu线程调度优化方法 |
| CN104346220B (zh) * | 2013-07-31 | 2017-11-03 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
| US9652284B2 (en) | 2013-10-01 | 2017-05-16 | Qualcomm Incorporated | GPU divergence barrier |
| US9250953B2 (en) | 2013-11-12 | 2016-02-02 | Oxide Interactive Llc | Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system |
| US9485197B2 (en) * | 2014-01-15 | 2016-11-01 | Cisco Technology, Inc. | Task scheduling using virtual clusters |
| US9807029B2 (en) * | 2014-01-17 | 2017-10-31 | Verizon Patent And Licensing Inc. | Providing quality of service based on bandwidth |
| US9766895B2 (en) | 2014-02-06 | 2017-09-19 | Optimum Semiconductor Technologies, Inc. | Opportunity multithreading in a multithreaded processor with instruction chaining capability |
| CN104036001B (zh) * | 2014-06-13 | 2017-05-10 | 上海新炬网络信息技术有限公司 | 基于热表动态优先调度的数据快速清理方法 |
| US11301256B2 (en) * | 2014-08-22 | 2022-04-12 | Advanced Micro Devices, Inc. | System and method for page-conscious GPU instruction |
| US10713059B2 (en) | 2014-09-18 | 2020-07-14 | Advanced Micro Devices, Inc. | Heterogeneous graphics processing unit for scheduling thread groups for execution on variable width SIMD units |
| US9898409B2 (en) | 2014-10-09 | 2018-02-20 | The Regents Of The University Of Michigan | Issue control for multithreaded processing |
| CN104503838B (zh) * | 2014-11-23 | 2017-06-27 | 华中科技大学 | 一种虚拟cpu调度方法 |
| US9804666B2 (en) | 2015-05-26 | 2017-10-31 | Samsung Electronics Co., Ltd. | Warp clustering |
| CN106325995B (zh) | 2015-06-19 | 2019-10-22 | 华为技术有限公司 | 一种gpu资源的分配方法及系统 |
| CN106325996B (zh) | 2015-06-19 | 2019-11-19 | 华为技术有限公司 | 一种gpu资源的分配方法及系统 |
| US10019283B2 (en) * | 2015-06-22 | 2018-07-10 | Advanced Micro Devices, Inc. | Predicting a context portion to move between a context buffer and registers based on context portions previously used by at least one other thread |
| US9779469B2 (en) * | 2015-08-17 | 2017-10-03 | Qualcomm Incorporated | Register spill management for general purpose registers (GPRs) |
| US9778961B2 (en) | 2015-09-14 | 2017-10-03 | Qualcomm Incorporated | Efficient scheduling of multi-versioned tasks |
| US10210593B2 (en) * | 2016-01-28 | 2019-02-19 | Qualcomm Incorporated | Adaptive context switching |
| US10853904B2 (en) | 2016-03-24 | 2020-12-01 | Advanced Micro Devices, Inc. | Hierarchical register file at a graphics processing unit |
| US20180046577A1 (en) | 2016-08-15 | 2018-02-15 | National Taiwan University | Thread block managing method, warp managing method and non-transitory computer readable recording medium can perform the methods |
| US20180046474A1 (en) * | 2016-08-15 | 2018-02-15 | National Taiwan University | Method for executing child kernels invoked on device side utilizing dynamic kernel consolidation and related non-transitory computer readable medium |
| US11599541B2 (en) * | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
| US10026145B2 (en) * | 2016-12-13 | 2018-07-17 | Qualcomm Incorporated | Resource sharing on shader processor of GPU |
| US10474468B2 (en) | 2017-02-22 | 2019-11-12 | Advanced Micro Devices, Inc. | Indicating instruction scheduling mode for processing wavefront portions |
| US10261835B2 (en) * | 2017-03-21 | 2019-04-16 | Arm Limited | Hardware thread scheduling |
| CN107145388B (zh) * | 2017-05-25 | 2020-10-30 | 深信服科技股份有限公司 | 一种多任务环境下任务调度方法及系统 |
| US10620994B2 (en) | 2017-05-30 | 2020-04-14 | Advanced Micro Devices, Inc. | Continuation analysis tasks for GPU task scheduling |
| US20190102224A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corportation | Technologies for opportunistic acceleration overprovisioning for disaggregated architectures |
-
2018
- 2018-05-30 US US15/993,061 patent/US12099867B2/en active Active
-
2019
- 2019-03-27 JP JP2020566752A patent/JP7320536B2/ja active Active
- 2019-03-27 EP EP19717060.8A patent/EP3803583B1/en active Active
- 2019-03-27 WO PCT/US2019/024354 patent/WO2019231539A1/en not_active Ceased
- 2019-03-27 KR KR1020207037427A patent/KR102586988B1/ko active Active
- 2019-03-27 CN CN201980036426.3A patent/CN112204523B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017116517A1 (en) * | 2015-12-28 | 2017-07-06 | Advanced Micro Devices, Inc. | Data driven scheduler on multiple computing cores |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102586988B1 (ko) | 2023-10-10 |
| JP7320536B2 (ja) | 2023-08-03 |
| EP3803583B1 (en) | 2024-10-09 |
| EP3803583A1 (en) | 2021-04-14 |
| US20190370059A1 (en) | 2019-12-05 |
| CN112204523A (zh) | 2021-01-08 |
| US12099867B2 (en) | 2024-09-24 |
| WO2019231539A1 (en) | 2019-12-05 |
| CN112204523B (zh) | 2025-01-21 |
| KR20210013212A (ko) | 2021-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7320536B2 (ja) | マルチカーネル波面スケジューラ | |
| KR102597570B1 (ko) | Gpu 태스크 스케줄링을 위한 연속 분석 태스크 | |
| US8775762B2 (en) | Method and apparatus for batching memory requests | |
| US9742869B2 (en) | Approach to adaptive allocation of shared resources in computer systems | |
| JP6495327B2 (ja) | メモリコントローラにおける細粒度帯域幅プロビジョニング | |
| JP7546669B2 (ja) | マルチコア・プロセッサ複合体の中の1コア当たりのスレッドの最適数の決定 | |
| Hassan et al. | Analysis of memory-contention in heterogeneous cots mpsocs | |
| US8132172B2 (en) | Thread scheduling on multiprocessor systems | |
| KR102635453B1 (ko) | Gpu를 위한 피드백 기반 분할 작업 그룹 디스패치 | |
| US9507633B2 (en) | Scheduling method and system | |
| WO2019125560A1 (en) | Dynamic per-bank and all-bank refresh | |
| US9940128B2 (en) | Conditional access with timeout | |
| KR102205899B1 (ko) | 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치 | |
| CN109766168B (zh) | 任务调度方法和装置、存储介质以及计算设备 | |
| US8180998B1 (en) | System of lanes of processing units receiving instructions via shared memory units for data-parallel or task-parallel operations | |
| KR20220049294A (ko) | 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 전자 장치 | |
| WO2016202154A1 (zh) | 一种gpu资源的分配方法及系统 | |
| WO2016202153A1 (zh) | 一种gpu资源的分配方法及系统 | |
| US11507522B2 (en) | Memory request priority assignment techniques for parallel processors | |
| US11487582B2 (en) | Information processing apparatus and computer-readable recording medium having stored therein process allocation determining program | |
| KR20260002426A (ko) | 메모리 시스템 및 그 동작 방법 | |
| EP4666169A1 (en) | Memory access scheduling for parallel computations using a processing-in-memory architecture | |
| Mohamed et al. | Real-time memory controller for embedded multi-core system | |
| CN118295941A (zh) | 并行处理器的存储控制器及访存调度方法 | |
| Kumar Valsan | Towards achieving predictable memory performance on multi-core based mixed criticality embedded systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220301 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230221 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230222 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230522 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230704 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230724 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7320536 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |