KR20170096103A - 중앙 프로세싱 유닛(cpu)과 보조 프로세서 사이의 개선된 함수 콜백 메커니즘 - Google Patents
중앙 프로세싱 유닛(cpu)과 보조 프로세서 사이의 개선된 함수 콜백 메커니즘Info
- Publication number
- KR20170096103A KR20170096103A KR1020177013171A KR20177013171A KR20170096103A KR 20170096103 A KR20170096103 A KR 20170096103A KR 1020177013171 A KR1020177013171 A KR 1020177013171A KR 20177013171 A KR20177013171 A KR 20177013171A KR 20170096103 A KR20170096103 A KR 20170096103A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- function
- dequeue
- callback
- svm
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
Description
도 1은 본 개시 내용과 부합하는 예시적인 실시예의 상위 레벨 시스템 도면을 예시하고;
도 2는 본 개시 내용과 부합하는 일 예시적인 실시예의 블록도를 예시하고;
도 3은 본 개시 내용과 부합하는 일 예시적인 실시예의 동작들의 플로우차트를 예시하고;
도 4는 본 개시 내용과 부합하는 또 다른 예시적인 실시예의 동작들의 플로우차트를 예시하고;
도 5는 본 개시 내용과 부합하는 또 다른 예시적인 실시예의 동작들의 플로우차트를 예시하고;
도 6은 본 개시 내용과 부합하는 또 다른 예시적인 실시예의 동작들의 플로우차트를 예시하고;
도 7은 본 개시 내용과 부합하는 또 다른 예시적인 실시예의 플랫폼의 시스템 도면을 예시한다.
다음의 상세한 설명은 예시적인 실시예들에 대해 참조를 행하면서 진행될 것이지만, 그 많은 대안들, 수정들, 및 변형들은 본 기술분야의 통상의 기술자들에게 명백할 것이다.
Claims (25)
- 제1 프로세서와 제2 프로세서 사이의 함수 콜백 요청(function callback request)들을 구현하기 위한 시스템으로서,
상기 제1 및 제2 프로세서들에 결합된 공유된 가상 메모리(shared virtual memory)(SVM) - 상기 SVM은 적어도 하나의 이중-엔드형 큐(double-ended queue)(디큐)를 저장하기 위한 것임 -;
상기 콜백 요청들을 제1 디큐로 푸싱하기 위한 상기 제1 프로세서의 실행 유닛(execution unit)(EU) - 상기 EU는 상기 디큐들 중의 제1 디큐와 연관됨 -; 및
상기 제1 디큐로부터 상기 콜백 요청들 중의 하나를 팝핑(popping)하고;
상기 팝핑된 콜백 요청에 의해 특정된 함수를 실행하고;
상기 함수의 완료에 응답하여, 상기 EU로의 완료 신호를 생성하기 위한,
상기 제2 프로세서 상에서 실행되는 요청 핸들러 스레드를 포함하는, 시스템. - 제1항에 있어서, 상기 콜백 요청들은,
상기 제2 프로세서에 의해 실행되어야 할 상기 함수를 특정하기 위한 함수 포인터; 및
상기 실행된 함수에 제공되어야 할 데이터에 대하여, 그리고 상기 EU에 제공되어야 할, 상기 실행된 함수에 의해 생성된 결과들에 대하여, 상기 SVM에서의 로케이션을 특정하기 위한 인수 포인터를 포함하는, 시스템. - 제1항에 있어서, 상기 요청 핸들러 스레드는 추가로, 상기 제1 디큐가 비어 있다는 것을 검출하는 것에 응답하여, 제2 디큐 - 상기 제2 디큐는 제2 EU와 연관됨 - 로부터 상기 콜백 요청들 중의 하나를 팝핑하기 위한 것인, 시스템.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 디큐들은 상기 EU들 및 상기 요청 핸들러들에 의한 액세스 시도들에 응답하여 페이지 오류들을 방지하기 위하여 상기 SVM에서 피닝되는, 시스템.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 완료 신호는 상기 SVM에서의 완료 플래그를 설정하기 위한 것이고, 상기 EU는 추가로, 상기 완료 플래그를 폴링(polling)하기 위한 것인, 시스템.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 완료 신호는 상기 EU 상에서 연속 커널 - 상기 연속 커널은 이전에 저장된 스택 변수들을 복원하기 위한 것임 - 을 트리거링하기 위한 것인, 시스템.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 요청 핸들러 스레드는 추가로, 상기 디큐들 중의 임의의 것으로부터 상기 콜백 요청들 중의 하나를 팝핑하는 것의 실패에 응답하여 슬립(sleep)하기 위한 것인, 시스템.
- 제7항에 있어서, 상기 슬립은 Monitor/Mwait 명령의 실행을 포함하는, 시스템.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 프로세서는 그래픽 프로세서 유닛(Graphics Processor Unit)(GPU)이고, 상기 제2 프로세서는 범용 중앙 프로세서 유닛(Central Processor Unit)(CPU)인, 시스템.
- 제1 프로세서와 제2 프로세서 사이의 함수 콜백 요청들을 위한 방법으로서,
상기 제1 프로세서의 실행 유닛(EU)에 의해, 상기 콜백 요청들을 제1 이중-엔드형 큐(디큐) - 상기 디큐는 상기 제1 및 제2 프로세서들에 결합된 공유된 가상 메모리(SVM) 내에 저장됨 - 로 푸싱하는 단계;
상기 제2 프로세서 상에서 실행되는 요청 핸들러 스레드에 의해, 상기 제1 디큐로부터 상기 콜백 요청들 중의 하나를 팝핑하는 단계;
상기 요청 핸들러 스레드에 의해, 상기 팝핑된 콜백 요청에 의해 특정된 함수를 실행하는 단계; 및
상기 요청 핸들러 스레드에 의해, 상기 함수의 완료에 응답하여 상기 EU로의 완료 신호를 생성하는 단계를 포함하는, 방법. - 제10항에 있어서, 상기 콜백 요청들은,
상기 제2 프로세서에 의해 실행되어야 할 상기 함수를 특정하기 위한 함수 포인터; 및
상기 실행된 함수에 제공되어야 할 데이터에 대하여, 그리고 상기 EU에 제공되어야 할, 상기 실행된 함수에 의해 생성된 결과들에 대하여, 상기 SVM에서의 로케이션을 특정하기 위한 인수 포인터를 포함하는, 방법. - 제10항에 있어서, 상기 요청 핸들러 스레드에 의해, 상기 제1 디큐가 비어 있다는 것을 검출하는 것에 응답하여, 제2 디큐 - 상기 제2 디큐는 제2 EU와 연관됨 - 로부터 상기 콜백 요청들 중의 하나를 팝핑하는 단계를 더 포함하는, 방법.
- 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 EU들 및 상기 요청 핸들러들에 의한 액세스 시도들에 응답하여 페이지 오류들을 방지하기 위하여 상기 SVM에서 상기 디큐들을 피닝하는 단계를 더 포함하는, 방법.
- 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 완료 신호를 생성하는 단계는, 상기 EU에 의해 폴링하기 위하여 상기 SVM에서의 완료 플래그를 설정하는 단계를 더 포함하는, 방법.
- 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 완료 신호를 생성하는 단계는, 상기 EU 상에서 연속 커널 - 상기 연속 커널은 이전에 저장된 스택 변수들을 복원하기 위한 것임 - 을 트리거링하는 단계를 더 포함하는, 방법.
- 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 요청 핸들러 스레드에 의해, 상기 디큐들 중의 임의의 것으로부터 상기 콜백 요청들 중의 하나를 팝핑하는 것의 실패에 응답하여 슬립하는 단계를 더 포함하는, 방법.
- 제16항에 있어서, 상기 슬립하는 단계는 Monitor/Mwait 명령의 실행을 포함하는, 방법.
- 프로세서에 의해 실행될 때, 제1 프로세서와 제2 프로세서 사이의 함수 콜백 요청들을 위한 다음의 동작들을 발생시키는 명령들을 저장한 적어도 하나의 컴퓨터-판독가능 저장 매체로서, 상기 동작들은,
상기 제1 프로세서의 실행 유닛(EU)에 의해, 상기 콜백 요청들을 제1 이중-엔드형 큐(디큐) - 상기 디큐는 상기 제1 및 제2 프로세서들에 결합된 공유된 가상 메모리(SVM) 내에 저장됨 - 로 푸싱하는 동작;
상기 제2 프로세서 상에서 실행되는 요청 핸들러 스레드에 의해, 상기 제1 디큐로부터 상기 콜백 요청들 중의 하나를 팝핑하는 동작;
상기 요청 핸들러 스레드에 의해, 상기 팝핑된 콜백 요청에 의해 특정된 함수를 실행하는 동작; 및
상기 요청 핸들러 스레드에 의해, 상기 함수의 완료에 응답하여 상기 EU로의 완료 신호를 생성하는 동작을 포함하는, 컴퓨터-판독가능 저장 매체. - 제18항에 있어서, 상기 콜백 요청들은,
상기 제2 프로세서에 의해 실행되어야 할 상기 함수를 특정하기 위한 함수 포인터; 및
상기 실행된 함수에 제공되어야 할 데이터에 대하여, 그리고 상기 EU에 제공되어야 할, 상기 실행된 함수에 의해 생성된 결과들에 대하여, 상기 SVM에서의 로케이션을 특정하기 위한 인수 포인터를 포함하는, 컴퓨터-판독가능 저장 매체. - 제18항에 있어서, 상기 요청 핸들러 스레드에 의해, 상기 제1 디큐가 비어 있다는 것을 검출하는 것에 응답하여, 제2 디큐 - 상기 제2 디큐는 제2 EU와 연관됨 - 로부터 상기 콜백 요청들 중의 하나를 팝핑하는 동작을 더 포함하는, 컴퓨터-판독가능 저장 매체.
- 제18항 내지 제20항 중 어느 한 항에 있어서, 상기 EU들 및 상기 요청 핸들러들에 의한 액세스 시도들에 응답하여 페이지 오류들을 방지하기 위하여 상기 SVM에서 상기 디큐들을 피닝하는 동작을 더 포함하는, 컴퓨터-판독가능 저장 매체.
- 제18항 내지 제20항 중 어느 한 항에 있어서, 상기 완료 신호를 생성하는 동작은, 상기 EU에 의해 폴링하기 위하여 상기 SVM에서의 완료 플래그를 설정하는 동작을 더 포함하는, 컴퓨터-판독가능 저장 매체.
- 제18항 내지 제20항 중 어느 한 항에 있어서, 상기 완료 신호를 생성하는 동작은, 상기 EU 상에서 연속 커널 - 상기 연속 커널은 이전에 저장된 스택 변수들을 복원하기 위한 것임 - 을 트리거링하는 동작을 더 포함하는, 컴퓨터-판독가능 저장 매체.
- 제18항 내지 제20항 중 어느 한 항에 있어서, 상기 요청 핸들러 스레드에 의해, 상기 디큐들 중의 임의의 것으로부터 상기 콜백 요청들 중의 하나를 팝핑하는 것의 실패에 응답하여 슬립하는 동작을 더 포함하는, 컴퓨터-판독가능 저장 매체.
- 제24항에 있어서, 상기 슬립하는 동작은 Monitor/Mwait 명령의 실행을 포함하는, 컴퓨터-판독가능 저장 매체.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/574,545 | 2014-12-18 | ||
| US14/574,545 US9342384B1 (en) | 2014-12-18 | 2014-12-18 | Function callback mechanism between a central processing unit (CPU) and an auxiliary processor |
| PCT/US2015/062302 WO2016099820A1 (en) | 2014-12-18 | 2015-11-24 | Improved function callback mechanism between a central processing unit (cpu) and an auxiliary processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170096103A true KR20170096103A (ko) | 2017-08-23 |
| KR102466984B1 KR102466984B1 (ko) | 2022-11-15 |
Family
ID=55920108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177013171A Active KR102466984B1 (ko) | 2014-12-18 | 2015-11-24 | 중앙 프로세싱 유닛(cpu)과 보조 프로세서 사이의 개선된 함수 콜백 메커니즘 |
Country Status (7)
| Country | Link |
|---|---|
| US (3) | US9342384B1 (ko) |
| EP (1) | EP3234785A4 (ko) |
| JP (2) | JP6800850B2 (ko) |
| KR (1) | KR102466984B1 (ko) |
| CN (1) | CN107004251A (ko) |
| SG (1) | SG11201704042PA (ko) |
| WO (1) | WO2016099820A1 (ko) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210013732A (ko) * | 2018-06-28 | 2021-02-05 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | Gpu 개시 통신을 위한 네트워크 패킷 템플레이팅 |
| US11960813B2 (en) | 2021-08-02 | 2024-04-16 | Advanced Micro Devices, Inc. | Automatic redistribution layer via generation |
| US12541372B2 (en) | 2022-12-14 | 2026-02-03 | Electronics And Telecommunications Research Institute | Parallel processing device and operating method thereof |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9342384B1 (en) | 2014-12-18 | 2016-05-17 | Intel Corporation | Function callback mechanism between a central processing unit (CPU) and an auxiliary processor |
| RU2647627C1 (ru) * | 2016-11-08 | 2018-03-16 | Федеральное государственное бюджетное учреждение науки Федеральный исследовательский Центр "Карельский научный центр Российской академии наук" | Способ управления памятью компьютерной системы |
| CN108052380B (zh) * | 2017-12-07 | 2020-10-30 | 金蝶软件(中国)有限公司 | 业务功能对接方法、装置、计算机设备及存储介质 |
| CN110688203B (zh) * | 2018-07-05 | 2022-05-13 | 武汉斗鱼网络科技有限公司 | 一种任务执行方法和装置 |
| US10853154B2 (en) * | 2019-01-30 | 2020-12-01 | Salesforce.Com, Inc. | Orchestration of a sequence of computations by external systems |
| CN110347450B (zh) * | 2019-07-15 | 2024-02-09 | 北京一流科技有限公司 | 多流并行控制系统及其方法 |
| CN111158911A (zh) * | 2019-12-27 | 2020-05-15 | 迈普通信技术股份有限公司 | 一种处理器配置方法、装置、处理器及网络设备 |
| US11340942B2 (en) * | 2020-03-19 | 2022-05-24 | Raytheon Company | Cooperative work-stealing scheduler |
| US11347488B2 (en) * | 2020-05-18 | 2022-05-31 | Fortinet, Inc. | Compiling domain-specific language code to generate executable code targeting an appropriate type of processor of a network device |
| CN112513817B (zh) * | 2020-08-14 | 2021-10-01 | 华为技术有限公司 | 一种主cpu与npu的数据交互方法及计算设备 |
| US11698816B2 (en) * | 2020-08-31 | 2023-07-11 | Hewlett Packard Enterprise Development Lp | Lock-free work-stealing thread scheduler |
| CN116243868B (zh) * | 2023-03-10 | 2025-07-25 | 郑州云海信息技术有限公司 | 一种任务的处理方法、装置、设备和计算机可读存储介质 |
| US20250004828A1 (en) * | 2023-06-29 | 2025-01-02 | Advanced Micro Devices, Inc. | Hardware-based accelerator signaling |
| US20250247405A1 (en) * | 2024-01-30 | 2025-07-31 | Intuit Inc. | Unsupervised anomaly detection using lookahead pairs |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040078812A1 (en) * | 2001-01-04 | 2004-04-22 | Calvert Kerry Wayne | Method and apparatus for acquiring media services available from content aggregators |
| US20060161737A1 (en) * | 2000-04-18 | 2006-07-20 | Sun Microsystems, Inc. | Concurrency technique for shared objects |
| US20120158817A1 (en) * | 2010-12-16 | 2012-06-21 | Et International, Inc. | Distributed Computing Architecture |
| US20130328891A1 (en) * | 2012-06-08 | 2013-12-12 | Advanced Micro Devices, Inc. | System and method for providing low latency to applications using heterogeneous processors |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
| US5826081A (en) * | 1996-05-06 | 1998-10-20 | Sun Microsystems, Inc. | Real time thread dispatcher for multiprocessor applications |
| JPH09319580A (ja) * | 1996-05-29 | 1997-12-12 | Oki Electric Ind Co Ltd | ネットワークマネージメント方法 |
| JPH11175359A (ja) * | 1997-12-17 | 1999-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 異種プラットフォーム間のイベント監視部統合方法 |
| US6173316B1 (en) * | 1998-04-08 | 2001-01-09 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
| US7539849B1 (en) * | 2000-01-20 | 2009-05-26 | Sun Microsystems, Inc. | Maintaining a double-ended queue in a contiguous array with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive |
| JP2002073332A (ja) * | 2000-08-25 | 2002-03-12 | Sanyo Electric Co Ltd | 演算実行装置及び方法 |
| US6938253B2 (en) * | 2001-05-02 | 2005-08-30 | Portalplayer, Inc. | Multiprocessor communication system and method |
| US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
| JP2005135382A (ja) * | 2003-08-19 | 2005-05-26 | Toshiba Corp | イベントベースの通知を有する共有メモリベースのプロセス間通信キューテンプレートのシステムおよび方法 |
| JP2005284749A (ja) * | 2004-03-30 | 2005-10-13 | Kyushu Univ | 並列処理コンピュータ |
| JP4450853B2 (ja) * | 2004-09-16 | 2010-04-14 | エヌヴィディア コーポレイション | 負荷分散 |
| US7346753B2 (en) * | 2005-12-19 | 2008-03-18 | Sun Microsystems, Inc. | Dynamic circular work-stealing deque |
| CN100549942C (zh) * | 2006-03-31 | 2009-10-14 | 应广科技股份有限公司 | 自我控制的多重微控制系统及方法 |
| CN101295267B (zh) * | 2008-05-30 | 2013-01-16 | 中兴通讯股份有限公司 | 队列管理方法和装置、计算机系统及计算机可读介质 |
| CN101662300B (zh) * | 2008-08-29 | 2013-09-25 | 深圳富泰宏精密工业有限公司 | 手机图片转换系统及方法 |
| JP2010079622A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | マルチコアプロセッサシステム、および、そのタスク制御方法 |
| US8531471B2 (en) * | 2008-11-13 | 2013-09-10 | Intel Corporation | Shared virtual memory |
| US8359420B2 (en) * | 2009-06-21 | 2013-01-22 | Ablaze Wireless, Inc. | External memory based FIFO apparatus |
| US8959525B2 (en) * | 2009-10-28 | 2015-02-17 | International Business Machines Corporation | Systems and methods for affinity driven distributed scheduling of parallel computations |
| US8868848B2 (en) * | 2009-12-21 | 2014-10-21 | Intel Corporation | Sharing virtual memory-based multi-version data between the heterogenous processors of a computer platform |
| US9996403B2 (en) * | 2011-09-30 | 2018-06-12 | Oracle International Corporation | System and method for providing message queues for multinode applications in a middleware machine environment |
| US8745291B2 (en) * | 2011-10-04 | 2014-06-03 | Qualcomm Incorporated | Inter-processor communication apparatus and method |
| US9170820B2 (en) * | 2011-12-15 | 2015-10-27 | Advanced Micro Devices, Inc. | Syscall mechanism for processor to processor calls |
| US10255104B2 (en) * | 2012-03-29 | 2019-04-09 | Advanced Micro Devices, Inc. | System call queue between visible and invisible computing devices |
| US9317339B2 (en) * | 2013-03-13 | 2016-04-19 | Oracle International Corporation | Systems and methods for implementing work stealing using a configurable separation of stealable and non-stealable work items |
| US9298556B2 (en) * | 2013-04-24 | 2016-03-29 | Nintendo Co., Ltd. | Graphics processing watchdog active reset |
| US9342384B1 (en) | 2014-12-18 | 2016-05-17 | Intel Corporation | Function callback mechanism between a central processing unit (CPU) and an auxiliary processor |
-
2014
- 2014-12-18 US US14/574,545 patent/US9342384B1/en active Active
-
2015
- 2015-11-24 JP JP2017526871A patent/JP6800850B2/ja active Active
- 2015-11-24 EP EP15870620.0A patent/EP3234785A4/en not_active Withdrawn
- 2015-11-24 WO PCT/US2015/062302 patent/WO2016099820A1/en not_active Ceased
- 2015-11-24 KR KR1020177013171A patent/KR102466984B1/ko active Active
- 2015-11-24 SG SG11201704042PA patent/SG11201704042PA/en unknown
- 2015-11-24 US US15/537,357 patent/US10255122B2/en active Active
- 2015-11-24 CN CN201580062783.9A patent/CN107004251A/zh active Pending
-
2019
- 2019-02-22 US US16/282,553 patent/US10706496B2/en active Active
-
2020
- 2020-07-29 JP JP2020128188A patent/JP7087029B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060161737A1 (en) * | 2000-04-18 | 2006-07-20 | Sun Microsystems, Inc. | Concurrency technique for shared objects |
| US20040078812A1 (en) * | 2001-01-04 | 2004-04-22 | Calvert Kerry Wayne | Method and apparatus for acquiring media services available from content aggregators |
| US20120158817A1 (en) * | 2010-12-16 | 2012-06-21 | Et International, Inc. | Distributed Computing Architecture |
| US20130328891A1 (en) * | 2012-06-08 | 2013-12-12 | Advanced Micro Devices, Inc. | System and method for providing low latency to applications using heterogeneous processors |
Non-Patent Citations (1)
| Title |
|---|
| JEFF A. STUART et al . , "GPU-to-CPU Callbacks, Proceedings of the 2010 Conference on Parallel Processing, 2010.08.31., pp.365-374. * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210013732A (ko) * | 2018-06-28 | 2021-02-05 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | Gpu 개시 통신을 위한 네트워크 패킷 템플레이팅 |
| US11960813B2 (en) | 2021-08-02 | 2024-04-16 | Advanced Micro Devices, Inc. | Automatic redistribution layer via generation |
| US12541372B2 (en) | 2022-12-14 | 2026-02-03 | Electronics And Telecommunications Research Institute | Parallel processing device and operating method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| SG11201704042PA (en) | 2017-07-28 |
| JP7087029B2 (ja) | 2022-06-20 |
| CN107004251A (zh) | 2017-08-01 |
| JP2020173870A (ja) | 2020-10-22 |
| WO2016099820A1 (en) | 2016-06-23 |
| US10706496B2 (en) | 2020-07-07 |
| EP3234785A4 (en) | 2018-05-30 |
| EP3234785A1 (en) | 2017-10-25 |
| JP2017538212A (ja) | 2017-12-21 |
| US20180267844A1 (en) | 2018-09-20 |
| KR102466984B1 (ko) | 2022-11-15 |
| US9342384B1 (en) | 2016-05-17 |
| US20190258533A1 (en) | 2019-08-22 |
| JP6800850B2 (ja) | 2020-12-16 |
| US10255122B2 (en) | 2019-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10706496B2 (en) | Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor | |
| US9384148B2 (en) | Detection of unauthorized memory modification and access using transactional memory | |
| JP5738998B2 (ja) | マルチプルプロセッサ計算プラットフォームにおけるプロセッサ間通信技法 | |
| US9727343B2 (en) | Apparatus and method for handling exception events | |
| CN103718156B (zh) | Cpu/gpu同步机制 | |
| EP3172660A1 (en) | Mid-thread pre-emption with software assisted context switch | |
| US20150278123A1 (en) | Low-overhead detection of unauthorized memory modification using transactional memory | |
| CN104932933B (zh) | 一种获取自旋锁的方法及装置 | |
| US20140115308A1 (en) | Control method, control device and computer system | |
| EP3241116A1 (en) | Memory access protection using processor transactional memory support | |
| CN103473135A (zh) | 虚拟化环境下自旋锁lhp现象的处理方法 | |
| US11249777B2 (en) | Virtual machine context management | |
| US10127076B1 (en) | Low latency thread context caching | |
| US20190073243A1 (en) | User-space spinlock efficiency using c-state and turbo boost | |
| CN116360941A (zh) | 一种面向多核dsp的并行计算资源自组织调度方法及系统 | |
| CN113439260A (zh) | 针对低时延存储设备的i/o完成轮询 | |
| US9268601B2 (en) | API for launching work on a processor | |
| WO2024109068A1 (zh) | 程序监控方法、装置、电子设备和存储介质 | |
| US9910804B2 (en) | Input/output method in virtual machine environments | |
| US11112999B2 (en) | Optimizing I/O latency by software stack latency reduction in a cooperative thread processing model | |
| CN116069468A (zh) | 检查点调整的方法和装置 | |
| US7996848B1 (en) | Systems and methods for suspending and resuming threads | |
| KR101395007B1 (ko) | 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법 | |
| CN118860488A (zh) | 寄存器重放状态机 | |
| CN117687727A (zh) | 增加缓存的方法及相关产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 4 |