JP2015504226A5 - - Google Patents

Download PDF

Info

Publication number
JP2015504226A5
JP2015504226A5 JP2014553528A JP2014553528A JP2015504226A5 JP 2015504226 A5 JP2015504226 A5 JP 2015504226A5 JP 2014553528 A JP2014553528 A JP 2014553528A JP 2014553528 A JP2014553528 A JP 2014553528A JP 2015504226 A5 JP2015504226 A5 JP 2015504226A5
Authority
JP
Japan
Prior art keywords
channels
kernel
consumer
channel
condition
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
Application number
JP2014553528A
Other languages
English (en)
Other versions
JP6336399B2 (ja
JP2015504226A (ja
Filing date
Publication date
Priority claimed from US13/606,741 external-priority patent/US10235220B2/en
Application filed filed Critical
Publication of JP2015504226A publication Critical patent/JP2015504226A/ja
Publication of JP2015504226A5 publication Critical patent/JP2015504226A5/ja
Application granted granted Critical
Publication of JP6336399B2 publication Critical patent/JP6336399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (15)

  1. プロデューサカーネルとコンシューマカーネルとの間の1つ以上のチャネルを定義することと、
    前記プロデューサカーネルを定義することであって、前記プロデューサカーネルは、前記1つ以上のチャネルにデータを書き込むように構成されている、ことと、
    前記コンシューマカーネルを定義することであって、前記コンシューマカーネルは、前記1つ以上のチャネルからデータを読み出すように構成されている、ことと、
    前記1つ以上のチャネルの条件満たされたことに応じて前記コンシューマカーネルを起動するように構成されたチャネルイベントを、登録することと、
    前記条件が満たされたことに応じて、前記コンシューマカーネルを起動することと、
    前記コンシューマカーネルにおいて、前記1つ以上のチャネルから前記データを読み出して消費することと、
    前記コンシューマカーネルを終了することと、
    を含む、方法。
  2. 少なくとも1つのデータのブロックが前記1つ以上のチャネル内に存在する場合に、前記チャネルの前記条件を満たす、請求項1に記載の方法。
  3. 前記1つ以上のチャネルが満杯である場合に、前記チャネルの前記条件を満たす、請求項1に記載の方法。
  4. 実行時に前記1つ以上のチャネルを処理ユニットのメモリユニットに割り当てることをさらに含む、請求項1に記載の方法。
  5. 前記チャネルイベントを監視し、前記コンシューマカーネルの前記起動をトリガするように構成されたハードウェアスケジューリングシステムを実行することをさらに含む、請求項1に記載の方法。
  6. 命令が記憶されたコンピュータ可読記憶デバイスであって、前記命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
    プロデューサカーネルとコンシューマカーネルとの間の1つ以上のチャネルを定義することと、
    前記プロデューサカーネルを定義することであって、前記プロデューサカーネルは、前記1つ以上のチャネルにデータを書き込むように構成されている、ことと、
    前記コンシューマカーネルを定義することであって、前記コンシューマカーネルは、前記1つ以上のチャネルからデータを読み出すように構成されている、ことと、
    前記1つ以上のチャネルの条件満たされたことに応じて前記コンシューマカーネルを起動するように構成されたチャネルイベントを、登録することと、
    前記条件が満たされたことに応じて、前記コンシューマカーネルを起動することと、
    前記コンシューマカーネルにおいて、前記1つ以上のチャネルから前記データを読み出して消費することと、
    前記コンシューマカーネルを終了することと、
    を含む動作を行わせる、コンピュータ可読記憶デバイス。
  7. 少なくとも1つのデータのブロックが前記1つ以上のチャネル内に存在する場合に、前記チャネルの前記条件を満たす、請求項に記載のコンピュータ可読記憶デバイス。
  8. 前記1つ以上のチャネルが満杯である場合に、前記チャネルの前記条件を満たす、請求項に記載のコンピュータ可読記憶デバイス。
  9. 前記動作は、
    実行時に前記1つ以上のチャネルを処理ユニットのメモリユニットに割り当てることをさらに含む、請求項に記載のコンピュータ可読記憶デバイス。
  10. 前記動作は、
    前記チャネルイベントを監視し、前記コンシューマカーネルの前記起動をトリガするように構成されたハードウェアスケジューリングシステムを実行することをさらに含む、請求項に記載のコンピュータ可読記憶デバイス。
  11. モジュールを記憶するように構成されたメモリと、
    前記モジュールを処理するように構成された1つ以上のプロセッサと、
    を備えるシステムであって、
    前記モジュールは、
    1つ以上のチャネルと、
    前記1つ以上のチャネルにデータを書き込むように構成されたプロデューサカーネルと、
    前記1つ以上のチャネルからデータを読み出すように構成されたコンシューマカーネルと、
    前記1つ以上のチャネルの条件を満たす場合に前記コンシューマカーネルを起動するように構成されたチャネルイベントを登録するように構成された登録モジュールと、を備え、
    前記コンシューマカーネルは、前記1つ以上のチャネルからの前記データを消費して終了するように構成されている、
    システム。
  12. 少なくとも1つのデータのブロックが前記1つ以上のチャネル内に存在する場合に、前記チャネルの前記条件を満たす、請求項11に記載のシステム。
  13. 前記1つ以上のチャネルが満杯である場合に、前記チャネルの前記条件を満たす、請求項11に記載のシステム。
  14. 実行時に前記1つ以上のチャネルを前記1つ以上のプロセッサのメモリユニットに割り当てるように構成された割り当てモジュールをさらに備える、請求項11に記載のシステム。
  15. 前記チャネルイベントを監視し、前記コンシューマカーネルの前記起動をトリガするように構成されたハードウェアスケジューリングシステムをさらに備える、請求項11に記載のシステム。
JP2014553528A 2012-01-23 2013-01-23 マルチスレッドコンピューティング Active JP6336399B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261589468P 2012-01-23 2012-01-23
US61/589,468 2012-01-23
US13/606,741 US10235220B2 (en) 2012-01-23 2012-09-07 Multithreaded computing
US13/606,741 2012-09-07
PCT/US2013/022729 WO2013126170A1 (en) 2012-01-23 2013-01-23 Multithreaded computing

Publications (3)

Publication Number Publication Date
JP2015504226A JP2015504226A (ja) 2015-02-05
JP2015504226A5 true JP2015504226A5 (ja) 2016-03-10
JP6336399B2 JP6336399B2 (ja) 2018-06-06

Family

ID=48798336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553528A Active JP6336399B2 (ja) 2012-01-23 2013-01-23 マルチスレッドコンピューティング

Country Status (7)

Country Link
US (1) US10235220B2 (ja)
EP (1) EP2807559A1 (ja)
JP (1) JP6336399B2 (ja)
KR (1) KR102024283B1 (ja)
CN (1) CN104094235B (ja)
IN (1) IN2014DN06232A (ja)
WO (1) WO2013126170A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477521B2 (en) 2014-05-29 2016-10-25 Netapp, Inc. Method and system for scheduling repetitive tasks in O(1)
US9304702B2 (en) 2014-05-29 2016-04-05 Netapp, Inc. System and method for parallelized performance data collection in a computing system
US9256477B2 (en) * 2014-05-29 2016-02-09 Netapp, Inc. Lockless waterfall thread communication
US9652817B2 (en) * 2015-03-12 2017-05-16 Samsung Electronics Co., Ltd. Automated compute kernel fusion, resizing, and interleave
CN105447285B (zh) * 2016-01-20 2018-11-30 杭州菲数科技有限公司 一种提高OpenCL硬件执行效率的方法
US10013240B2 (en) * 2016-06-21 2018-07-03 Advanced Micro Devices, Inc. Fingerprinting of redundant threads using compiler-inserted transformation code
US10296393B2 (en) 2016-09-19 2019-05-21 Texas Instruments Incorporated Method for scheduling a processing device
US10467056B2 (en) * 2017-05-12 2019-11-05 Google Llc Configuration of application software on multi-core image processor
CN107368255B (zh) * 2017-07-25 2019-04-12 Oppo广东移动通信有限公司 解锁方法、移动终端及计算机可读存储介质
US10713746B2 (en) * 2018-01-29 2020-07-14 Microsoft Technology Licensing, Llc FIFO queue, memory resource, and task management for graphics processing
US10719268B2 (en) 2018-06-29 2020-07-21 Microsoft Technology Licensing, Llc Techniques for safely and efficiently enqueueing and dequeueing data on a graphics processor
CN109918141B (zh) * 2019-03-15 2020-11-27 Oppo广东移动通信有限公司 线程执行方法、装置、终端及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2273591A (en) * 1992-12-18 1994-06-22 Network Systems Corp Microcomputer control systems for interprogram communication and scheduling methods
US7950017B1 (en) * 1999-04-23 2011-05-24 Avaya Inc. Apparatus and method for forwarding messages between two applications
JP2003029980A (ja) 2001-07-10 2003-01-31 Toshiba Corp データキュー管理システム、データキュー管理装置、データキュー管理方法、およびプログラム
JP2006525578A (ja) 2003-05-08 2006-11-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データパケットのパスによりブロックされている処理ノードをアンブロックする閾値
US7549151B2 (en) 2005-02-14 2009-06-16 Qnx Software Systems Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment
US7584327B2 (en) * 2005-12-30 2009-09-01 Intel Corporation Method and system for proximity caching in a multiple-core system
JP4857207B2 (ja) 2006-09-07 2012-01-18 株式会社リコー 画像形成装置および入出力制御方法
US7761666B2 (en) * 2006-10-26 2010-07-20 Intel Corporation Temporally relevant data placement
US8621184B1 (en) * 2008-10-31 2013-12-31 Netapp, Inc. Effective scheduling of producer-consumer processes in a multi-processor system
US8694625B2 (en) * 2010-09-10 2014-04-08 International Business Machines Corporation Selective registration for remote event notifications in processing node clusters

Similar Documents

Publication Publication Date Title
JP2015504226A5 (ja)
US9535606B2 (en) Virtual serial presence detect for pooled memory
JP2016507849A5 (ja)
JP2016511489A5 (ja)
BR112018004933A2 (pt) agendamento eficaz de tarefas multiversionadas
EP4287026A3 (en) Distributed hardware tracing
EA201390868A1 (ru) Способ и система для вычислительного ускорения обработки сейсмических данных
WO2011103825A3 (zh) 多处理器系统负载均衡的方法和装置
WO2015200510A8 (en) Automated code lockdown to reduce attack surface for software
GB2505818A (en) Graphics processor with non-blocking concurrent architecture
GB2533256A (en) Data processing systems
JP2013518327A5 (ja)
GB2513266A (en) Providing logical partitions with hardware-thread specific information reflective of exclusive use of a processor core
CN106575220B (zh) 多个经集群极长指令字处理核心
RU2012148586A (ru) Фильтрация программного прерывания в транзакционном выполнении
WO2013016567A3 (en) System and method for virtual partition monitoring
JP2015519654A5 (ja)
JP2014123354A5 (ja)
GB2520856A (en) Enabling Virtualization of a processor resource
IN2014DN05705A (ja)
WO2015166211A3 (en) Access control and code scheduling
JP2012150583A5 (ja)
IN2014CH00978A (ja)
US9606825B2 (en) Memory monitor emulation for virtual machines
US20150339155A1 (en) Virtual Processor States