JP2019537104A - 分散型gpuのデータ局所性を改善するためのメカニズム - Google Patents
分散型gpuのデータ局所性を改善するためのメカニズム Download PDFInfo
- Publication number
- JP2019537104A JP2019537104A JP2019517274A JP2019517274A JP2019537104A JP 2019537104 A JP2019537104 A JP 2019537104A JP 2019517274 A JP2019517274 A JP 2019517274A JP 2019517274 A JP2019517274 A JP 2019517274A JP 2019537104 A JP2019537104 A JP 2019537104A
- Authority
- JP
- Japan
- Prior art keywords
- data
- workgroups
- workload
- partitioning
- local memory
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (20)
- 複数のメモリデバイスと、
複数の処理装置であって、前記複数の処理装置の各々は、前記複数のメモリデバイスのうち1つ以上のローカルメモリデバイスに接続されている、複数の処理装置と、を備え、
ワークロードを複数のワークグループにパーティション化し、
1つ以上のデータバッファを複数のデータパーティションにパーティション化し、
非ローカルメモリデバイスへのアクセスを最小化することに基づいて、ワークグループを前記複数の処理装置にディスパッチし、データパーティションを前記複数のメモリデバイスにマッピングする方法を決定するように構成されている、
システム。 - 前記システムは、
前記ワークロードの次元に基づいて、前記ワークロードを複数のワークグループにパーティション化し、
M個(Mは、ワークグループの総数を処理装置の数で割ったものに等しい)の連続するワークグループを各処理装置にディスパッチするように構成されている、
請求項1のシステム。 - 前記システムは、前記ワークロードと同じ次元に沿って前記1つ以上のデータバッファをパーティション化し、非ローカルメモリアクセスと比較して増加した数のローカルメモリアクセスをワークグループが実行するように、データパーティションをメモリデバイスにマッピングするように構成されている、
請求項2のシステム。 - 前記1つ以上のデータバッファは、前記ワークロードよりも細かい粒度でパーティション化されている、
請求項3のシステム。 - 前記システムは、
閾値量のデータを共有するワークグループを識別するために、前記複数のワークグループのデータ共有パターンを決定し、
前記データ共有パターンの分析に基づいて、前記複数のワークグループの何れのサブセットを前記複数の処理装置の各々にディスパッチするかを決定し、
前記複数のワークグループの前記データ共有パターンに基づいて、前記1つ以上のデータバッファをパーティション化する方法を決定し、
非ローカルメモリアクセスと比較して増加した数のローカルメモリアクセスをワークグループが実行するように、パーティションをメモリデバイスにマッピングするように構成されている、
請求項1のシステム。 - 何れのワークグループ識別子(ID)を、カーネルベースで何れの処理装置にマッピングするかを指定するためのディスパッチテーブルを含む、
請求項1のシステム。 - 前記システムは、
閾値量のデータを共有する2つ以上のワークグループを識別し、
前記2つ以上のワークグループを第1処理装置にディスパッチするように構成されている、
請求項1のシステム。 - ワークロードを複数のワークグループにパーティション化することと、
1つ以上のデータバッファを複数のデータパーティションにパーティション化することと、
非ローカルメモリアクセスを最小化することに基づいて、ワークグループを複数の処理装置にディスパッチし、データパーティションを前記複数の処理装置のローカルメモリデバイスにマッピングする方法を決定することと、を含む、
方法。 - 前記ワークロードの次元に基づいて、前記ワークロードを複数のワークグループにパーティション化することと、
M個(Mは、ワークグループの総数を処理装置の数で割ったものに等しい)の連続するワークグループを各処理装置にディスパッチすることと、を含む、
請求項8の方法。 - 前記ワークロードと同じ次元に沿って前記1つ以上のデータバッファをパーティション化することと、非ローカルメモリアクセスと比較して増加した数のローカルメモリアクセスをワークグループが実行するように、データパーティションをメモリデバイスにマッピングすることと、を含む、
請求項9の方法。 - 前記1つ以上のデータバッファを、前記ワークロードよりも細かい粒度でパーティション化することを含む、
請求項10の方法。 - 閾値量のデータを共有するワークグループを識別するために、前記複数のワークグループのデータ共有パターンを決定することと、
前記データ共有パターンの分析に基づいて、前記複数のワークグループの何れのサブセットを前記複数の処理装置の各々にディスパッチするかを決定することと、
前記複数のワークグループの前記データ共有パターンに基づいて、前記1つ以上のデータバッファをパーティション化する方法を決定することと、
非ローカルメモリアクセスと比較して増加した数のローカルメモリアクセスをワークグループが実行するように、パーティションをメモリデバイスにマッピングすることと、を含む、
請求項8の方法。 - 何れのワークグループ識別子(ID)を、カーネルベースで何れの処理装置にマッピングするかを指定するためのディスパッチテーブルを利用することを含む、
請求項8の方法。 - 閾値量のデータを共有する2つ以上のワークグループを識別することと、
前記2つ以上のワークグループを第1処理装置にディスパッチすることと、を含む、
請求項8の方法。 - プログラム命令を記憶するコンピュータ可読記憶媒体であって、
前記プログラム命令は、プロセッサによって実行されると、
ワークロードを複数のワークグループにパーティション化することと、
1つ以上のデータバッファを複数のデータパーティションにパーティション化することと、
非ローカルメモリアクセスを最小化することに基づいて、ワークグループを複数の処理装置にディスパッチし、データパーティションを前記複数の処理装置のローカルメモリデバイスにマッピングする方法を決定することと、
を前記プロセッサに実行させる、
コンピュータ可読記憶媒体。 - 前記プログラム命令は、プロセッサによって実行されると、
前記ワークロードの次元に基づいて、前記ワークロードを複数のワークグループにパーティション化することと、
M個(Mは、ワークグループの総数を処理装置の数で割ったものに等しい)の連続するワークグループを各処理装置にディスパッチすることと、
を前記プロセッサに実行させる、
請求項15のコンピュータ可読記憶媒体。 - 前記プログラム命令は、プロセッサによって実行されると、
前記ワークロードと同じ次元に沿って前記1つ以上のデータバッファをパーティション化することと、非ローカルメモリアクセスと比較して増加した数のローカルメモリアクセスをワークグループが実行するように、データパーティションをメモリデバイスにマッピングすることと、
を前記プロセッサに実行させる、
請求項16のコンピュータ可読記憶媒体。 - 前記プログラム命令は、プロセッサによって実行されると、前記1つ以上のデータバッファを、前記ワークロードよりも細かい粒度でパーティション化することを前記プロセッサに実行させる、
請求項15のコンピュータ可読記憶媒体。 - 前記プログラム命令は、プロセッサによって実行されると、
閾値量のデータを共有するワークグループを識別するために、前記複数のワークグループのデータ共有パターンを決定することと、
前記データ共有パターンの分析に基づいて、前記複数のワークグループの何れのサブセットを前記複数の処理装置の各々にディスパッチするかを決定することと、
前記複数のワークグループの前記データ共有パターンに基づいて、前記1つ以上のデータバッファをパーティション化する方法を決定することと、
非ローカルメモリアクセスと比較して増加した数のローカルメモリアクセスをワークグループが実行するように、パーティションをメモリデバイスにマッピングすることと、
を前記プロセッサに実行させる、
請求項15のコンピュータ可読記憶媒体。 - 前記プログラム命令は、プロセッサによって実行されると、
閾値量のデータを共有する2つ以上のワークグループを識別することと、
前記2つ以上のワークグループを第1処理装置にディスパッチすることと、
を前記プロセッサに実行させる、
請求項15のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/331,002 | 2016-10-21 | ||
US15/331,002 US20180115496A1 (en) | 2016-10-21 | 2016-10-21 | Mechanisms to improve data locality for distributed gpus |
PCT/US2017/047807 WO2018075131A1 (en) | 2016-10-21 | 2017-08-21 | Mechanisms to improve data locality for distributed gpus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019537104A true JP2019537104A (ja) | 2019-12-19 |
Family
ID=59772714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019517274A Pending JP2019537104A (ja) | 2016-10-21 | 2017-08-21 | 分散型gpuのデータ局所性を改善するためのメカニズム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180115496A1 (ja) |
EP (1) | EP3529697A1 (ja) |
JP (1) | JP2019537104A (ja) |
KR (1) | KR20190070915A (ja) |
CN (1) | CN109791507A (ja) |
WO (1) | WO2018075131A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10201507834SA (en) * | 2015-09-21 | 2017-04-27 | Yokogawa Electric Corp | Mobile based on collaborative and interactive operations with smart mobile devices |
US10474600B2 (en) | 2017-09-14 | 2019-11-12 | Samsung Electronics Co., Ltd. | Heterogeneous accelerator for highly efficient learning systems |
KR102424962B1 (ko) * | 2017-11-15 | 2022-07-25 | 삼성전자주식회사 | 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈 |
US20190332420A1 (en) * | 2018-04-27 | 2019-10-31 | Advanced Micro Devices, Inc. | Feedback guided split workgroup dispatch for gpus |
US10802995B2 (en) * | 2018-07-26 | 2020-10-13 | Xilinx, Inc. | Unified address space for multiple hardware accelerators using dedicated low latency links |
TWI714003B (zh) * | 2018-10-11 | 2020-12-21 | 力晶積成電子製造股份有限公司 | 可執行人工智慧運算的記憶體晶片及其操作方法 |
US11436046B2 (en) | 2018-10-11 | 2022-09-06 | Powerchip Semiconductor Manufacturing Corporation | Electronic device with memory processor-based multiprocessing architecture and operation method thereof |
US11204819B2 (en) * | 2018-12-21 | 2021-12-21 | Samsung Electronics Co., Ltd. | System and method for offloading application functions to a device |
US10997686B2 (en) | 2019-01-09 | 2021-05-04 | Intel Corporation | Workload scheduling and distribution on a distributed graphics device |
CN117742901A (zh) * | 2022-09-13 | 2024-03-22 | 安徽寒武纪信息科技有限公司 | 任务调度方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013114538A (ja) * | 2011-11-30 | 2013-06-10 | Toshiba Corp | 情報処理装置、情報処理方法及び制御プログラム |
JP2014523021A (ja) * | 2011-06-20 | 2014-09-08 | クゥアルコム・インコーポレイテッド | グラフィックス処理ユニットにおけるメモリの共有 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032264A (en) * | 1997-04-22 | 2000-02-29 | Micron Technology, Inc. | Apparatus and method implementing repairs on a memory device |
US6788302B1 (en) * | 2000-08-03 | 2004-09-07 | International Business Machines Corporation | Partitioning and load balancing graphical shape data for parallel applications |
US20070240140A1 (en) * | 2006-02-10 | 2007-10-11 | International Business Machines Corporation | Methods and systems for application load distribution |
US8453132B2 (en) * | 2006-07-28 | 2013-05-28 | Hewlett-Packard Development Company, L.P. | System and method for recompiling code based on locality domain and thread affinity in NUMA computer systems |
US8395631B1 (en) * | 2009-04-30 | 2013-03-12 | Nvidia Corporation | Method and system for sharing memory between multiple graphics processing units in a computer system |
US8719833B2 (en) * | 2010-06-24 | 2014-05-06 | Sap Ag | Adaptive demand-driven load balancing |
US9195501B2 (en) * | 2011-07-12 | 2015-11-24 | Qualcomm Incorporated | Instruction culling in graphics processing unit |
US9032416B2 (en) * | 2012-07-30 | 2015-05-12 | Oracle International Corporation | Load balancing using progressive sampling based on load balancing quality targets |
US9277005B2 (en) * | 2013-01-09 | 2016-03-01 | Edgecast Networks, Inc. | Optimized consistent request distribution for balanced load distribution in a content delivery network |
US9276827B2 (en) * | 2013-03-15 | 2016-03-01 | Cisco Technology, Inc. | Allocating computing resources based upon geographic movement |
US9788210B2 (en) * | 2013-06-11 | 2017-10-10 | Sonus Networks, Inc. | Methods and systems for adaptive buffer allocations in systems with adaptive resource allocation |
US9338234B2 (en) * | 2014-04-16 | 2016-05-10 | Microsoft Technology Licensing, Llc | Functional programming in distributed computing |
US10175855B2 (en) * | 2014-06-25 | 2019-01-08 | Oracle International Corporation | Interaction in orbit visualization |
US9906589B2 (en) * | 2014-11-14 | 2018-02-27 | Facebook, Inc. | Shared management service |
US9965343B2 (en) * | 2015-05-13 | 2018-05-08 | Advanced Micro Devices, Inc. | System and method for determining concurrency factors for dispatch size of parallel processor kernels |
US10229468B2 (en) * | 2015-06-03 | 2019-03-12 | Intel Corporation | Automated conversion of GPGPU workloads to 3D pipeline workloads |
US9965382B2 (en) * | 2016-04-04 | 2018-05-08 | Omni Ai, Inc. | Data composite for efficient memory transfer in a behavioral recognition system |
-
2016
- 2016-10-21 US US15/331,002 patent/US20180115496A1/en not_active Abandoned
-
2017
- 2017-08-21 CN CN201780057617.9A patent/CN109791507A/zh active Pending
- 2017-08-21 EP EP17761645.5A patent/EP3529697A1/en not_active Withdrawn
- 2017-08-21 KR KR1020197007385A patent/KR20190070915A/ko not_active Application Discontinuation
- 2017-08-21 WO PCT/US2017/047807 patent/WO2018075131A1/en unknown
- 2017-08-21 JP JP2019517274A patent/JP2019537104A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014523021A (ja) * | 2011-06-20 | 2014-09-08 | クゥアルコム・インコーポレイテッド | グラフィックス処理ユニットにおけるメモリの共有 |
JP2013114538A (ja) * | 2011-11-30 | 2013-06-10 | Toshiba Corp | 情報処理装置、情報処理方法及び制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2018075131A1 (en) | 2018-04-26 |
EP3529697A1 (en) | 2019-08-28 |
US20180115496A1 (en) | 2018-04-26 |
KR20190070915A (ko) | 2019-06-21 |
CN109791507A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019537104A (ja) | 分散型gpuのデータ局所性を改善するためのメカニズム | |
US11599475B2 (en) | Apparatuses and methods for compute enabled cache | |
CN111279322B (zh) | 一种处理系统和在3d堆栈存储器中混写的方法 | |
US9921751B2 (en) | Methods and systems for mapping a peripheral function onto a legacy memory interface | |
US11494078B2 (en) | Translation lookaside buffer in memory | |
KR102288830B1 (ko) | 텐서 메모리 액세스를 촉진할 수 있는 메모리 디바이스 및 방법 | |
US11474950B2 (en) | Memory controller including plurality of address mapping tables, system on chip, and electronic device | |
US20160274794A1 (en) | Data storage devices, data processing systems having the same, methods of operating and methods of manufacturing the same | |
US11507301B2 (en) | Memory module implementing memory centric architecture | |
EP4060505A1 (en) | Techniques for near data acceleration for a multi-core architecture | |
US10534545B2 (en) | Three-dimensional stacked memory optimizations for latency and power | |
JP7288344B2 (ja) | 半導体システム及びその動作方法 | |
JP2021099891A (ja) | ワイドプリフェッチを行う高帯域幅dramメモリ | |
Lefter et al. | A shared polyhedral cache for 3d wide-i/o multi-core computing platforms | |
US20170031633A1 (en) | Method of operating object-oriented data storage device and method of operating system including the same | |
EP4375840A1 (en) | Memory controller, electronic system including the same and method of controlling memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220519 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220815 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221025 |