CN108241508B - 处理OpenCL内核的方法及用于该方法的计算设备 - Google Patents
处理OpenCL内核的方法及用于该方法的计算设备 Download PDFInfo
- Publication number
- CN108241508B CN108241508B CN201711216401.0A CN201711216401A CN108241508B CN 108241508 B CN108241508 B CN 108241508B CN 201711216401 A CN201711216401 A CN 201711216401A CN 108241508 B CN108241508 B CN 108241508B
- Authority
- CN
- China
- Prior art keywords
- core
- processing
- group
- cores
- control
- 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.)
- Active
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/5044—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 hardware capabilities
-
- 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
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2016-0180133 | 2016-12-27 | ||
| KR1020160180133A KR102592330B1 (ko) | 2016-12-27 | 2016-12-27 | OpenCL 커널을 처리하는 방법과 이를 수행하는 컴퓨팅 장치 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108241508A CN108241508A (zh) | 2018-07-03 |
| CN108241508B true CN108241508B (zh) | 2023-06-13 |
Family
ID=60473303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201711216401.0A Active CN108241508B (zh) | 2016-12-27 | 2017-11-28 | 处理OpenCL内核的方法及用于该方法的计算设备 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10503557B2 (https=) |
| EP (1) | EP3343370A1 (https=) |
| JP (1) | JP6951962B2 (https=) |
| KR (1) | KR102592330B1 (https=) |
| CN (1) | CN108241508B (https=) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111490946B (zh) * | 2019-01-28 | 2023-08-11 | 阿里巴巴集团控股有限公司 | 基于OpenCL框架的FPGA连接实现方法及装置 |
| KR20240136005A (ko) | 2023-03-06 | 2024-09-13 | 한국전자통신연구원 | 병렬연산작업 오프로딩 장치 및 방법 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102099788A (zh) * | 2008-06-06 | 2011-06-15 | 苹果公司 | 用于在多处理器上进行数据并行计算的应用编程接口 |
| CN103608777A (zh) * | 2011-06-20 | 2014-02-26 | 高通股份有限公司 | 图形处理单元中的存储器共享 |
| CN104011679A (zh) * | 2011-12-01 | 2014-08-27 | 超威半导体公司 | 异构并行处理平台的软件库 |
| CN104834630A (zh) * | 2014-02-10 | 2015-08-12 | 瑞萨电子株式会社 | 运算控制装置、运算控制方法、存储有程序的非瞬时计算机可读介质以及OpenCL设备 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS595755B2 (ja) | 1977-08-02 | 1984-02-07 | 日本軽金属株式会社 | 太陽熱利用暖房方法 |
| US7418470B2 (en) * | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
| US7673011B2 (en) | 2007-08-10 | 2010-03-02 | International Business Machines Corporation | Configuring compute nodes of a parallel computer in an operational group into a plurality of independent non-overlapping collective networks |
| US8255345B2 (en) | 2009-05-15 | 2012-08-28 | The Aerospace Corporation | Systems and methods for parallel processing with infeasibility checking mechanism |
| US9354944B2 (en) * | 2009-07-27 | 2016-05-31 | Advanced Micro Devices, Inc. | Mapping processing logic having data-parallel threads across processors |
| WO2011027382A1 (en) | 2009-09-01 | 2011-03-10 | Hitachi, Ltd. | Request processing system provided with multi-core processor |
| KR101640848B1 (ko) | 2009-12-28 | 2016-07-29 | 삼성전자주식회사 | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 |
| KR101613971B1 (ko) | 2009-12-30 | 2016-04-21 | 삼성전자주식회사 | 프로그램 코드의 변환 방법 |
| JP2012094072A (ja) | 2010-10-28 | 2012-05-17 | Toyota Motor Corp | 情報処理装置 |
| US8683243B2 (en) * | 2011-03-11 | 2014-03-25 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
| WO2012157786A1 (ja) * | 2011-05-19 | 2012-11-22 | 日本電気株式会社 | 並列処理装置、並列処理方法、最適化装置、最適化方法、および、コンピュータ・プログラム |
| US20120331278A1 (en) | 2011-06-23 | 2012-12-27 | Mauricio Breternitz | Branch removal by data shuffling |
| JP5238876B2 (ja) * | 2011-12-27 | 2013-07-17 | 株式会社東芝 | 情報処理装置及び情報処理方法 |
| KR101284195B1 (ko) * | 2012-01-09 | 2013-07-10 | 서울대학교산학협력단 | 개방형 범용 병렬 컴퓨팅 프레임워크 동적 작업 분배 장치 |
| KR20130093995A (ko) | 2012-02-15 | 2013-08-23 | 한국전자통신연구원 | 계층적 멀티코어 프로세서의 성능 최적화 방법 및 이를 수행하는 멀티코어 프로세서 시스템 |
| KR20140125893A (ko) | 2013-01-28 | 2014-10-30 | 한국과학기술원 | 가상화된 매니코어 서버의 작업분배 시스템과 그 방법 및 기록매체 |
| KR102062208B1 (ko) * | 2013-05-03 | 2020-02-11 | 삼성전자주식회사 | 멀티스레드 프로그램 코드의 변환 장치 및 방법 |
| CN104035751B (zh) * | 2014-06-20 | 2016-10-12 | 深圳市腾讯计算机系统有限公司 | 基于多图形处理器的数据并行处理方法及装置 |
| US10318261B2 (en) * | 2014-11-24 | 2019-06-11 | Mentor Graphics Corporation | Execution of complex recursive algorithms |
-
2016
- 2016-12-27 KR KR1020160180133A patent/KR102592330B1/ko active Active
-
2017
- 2017-10-18 US US15/787,219 patent/US10503557B2/en active Active
- 2017-11-21 EP EP17202801.1A patent/EP3343370A1/en not_active Ceased
- 2017-11-28 CN CN201711216401.0A patent/CN108241508B/zh active Active
- 2017-12-13 JP JP2017238434A patent/JP6951962B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102099788A (zh) * | 2008-06-06 | 2011-06-15 | 苹果公司 | 用于在多处理器上进行数据并行计算的应用编程接口 |
| CN103608777A (zh) * | 2011-06-20 | 2014-02-26 | 高通股份有限公司 | 图形处理单元中的存储器共享 |
| CN104011679A (zh) * | 2011-12-01 | 2014-08-27 | 超威半导体公司 | 异构并行处理平台的软件库 |
| CN104834630A (zh) * | 2014-02-10 | 2015-08-12 | 瑞萨电子株式会社 | 运算控制装置、运算控制方法、存储有程序的非瞬时计算机可读介质以及OpenCL设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20180076051A (ko) | 2018-07-05 |
| JP6951962B2 (ja) | 2021-10-20 |
| EP3343370A1 (en) | 2018-07-04 |
| JP2018106709A (ja) | 2018-07-05 |
| US20180181443A1 (en) | 2018-06-28 |
| US10503557B2 (en) | 2019-12-10 |
| KR102592330B1 (ko) | 2023-10-20 |
| CN108241508A (zh) | 2018-07-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11847507B1 (en) | DMA synchronization using alternating semaphores | |
| CN111247533B (zh) | 用于神经网络加速的机器学习运行时库 | |
| US20230297425A1 (en) | Allocation of memory resources to simd workgroups | |
| US9483319B2 (en) | Job scheduling apparatus and method therefor | |
| US9069610B2 (en) | Compute cluster with balanced resources | |
| CN102576314B (zh) | 具有横跨多个处理器的数据并行线程之映射处理逻辑 | |
| TW201519091A (zh) | 用於任務排程之電腦系統,方法及電腦可讀取記錄媒體 | |
| KR20110075297A (ko) | 병렬도를 고려한 병렬 처리 장치 및 방법 | |
| US20150227586A1 (en) | Methods and Systems for Dynamically Allocating Resources and Tasks Among Database Work Agents in an SMP Environment | |
| JP2020119564A (ja) | 多重経路ニューラルネットワーク及びそのレイヤにリソースを割り当てる方法並びに多重経路ニューラルネットワークアナライザ | |
| KR102338849B1 (ko) | 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템 | |
| KR102247249B1 (ko) | 데이터베이스 관리 시스템에서 비동기적 데이터 처리를 위한 컴퓨터 프로그램 | |
| CN110825502A (zh) | 神经网络处理器和用于神经网络处理器的任务调度方法 | |
| US9710381B2 (en) | Method and apparatus for cache memory data processing | |
| CN108241508B (zh) | 处理OpenCL内核的方法及用于该方法的计算设备 | |
| KR20190057558A (ko) | 멀티 코어 제어 시스템 | |
| GB2572248A (en) | Resource allocation | |
| KR101755154B1 (ko) | 이종 연산 처리 장치에 대한 동적 작업 할당 방법 및 장치 | |
| CN116775246A (zh) | 任务的分配方法、装置及电子设备 | |
| CN116010093A (zh) | 数据处理方法、装置、计算机设备和可读存储介质 | |
| CN118575190A (zh) | 用于工作组分布的动态分派 | |
| JP6445876B2 (ja) | リソース割当装置、リソース割当システム、および、リソース割当方法 | |
| KR20250103201A (ko) | 다중 pe pim 아키텍처에서의 자원 관리 장치 및 방법 | |
| CN121900898A (zh) | 任务执行方法、图形处理器、设备、介质及产品 | |
| CN121879960A (zh) | 资源分配方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |