JP7158510B2 - 複合計算装置、方法、人工知能チップ、電子設備、及びプログラム - Google Patents

複合計算装置、方法、人工知能チップ、電子設備、及びプログラム Download PDF

Info

Publication number
JP7158510B2
JP7158510B2 JP2021001829A JP2021001829A JP7158510B2 JP 7158510 B2 JP7158510 B2 JP 7158510B2 JP 2021001829 A JP2021001829 A JP 2021001829A JP 2021001829 A JP2021001829 A JP 2021001829A JP 7158510 B2 JP7158510 B2 JP 7158510B2
Authority
JP
Japan
Prior art keywords
instruction
computation
complex
calculation
composite
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
Application number
JP2021001829A
Other languages
English (en)
Other versions
JP2022013607A (ja
Inventor
ジャオ,バオフ
ドゥ,シュエリャン
アン,カン
スー,インナン
タン,チャオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Kunlunxin Technology Beijing Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Kunlunxin Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd, Kunlunxin Technology Beijing Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022013607A publication Critical patent/JP2022013607A/ja
Application granted granted Critical
Publication of JP7158510B2 publication Critical patent/JP7158510B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明の実施形態は、人工知能技術分野に関し、特に人工知能チップ技術分野に関する。
人工知能(Artificial Intelligence、AI)アルゴリズムには複合計算が数多く存在する。これらの複合計算は、AIプロセッサにおいて、複数の基本的な算術と論理演算命令とを組み合わせて実現することができるが、時間と労力がかかるだけでなく、これらの複合計算の実行効率を低下させ、ソフトウェアプログラミングにも不向きである。現在のAIプロセッサは、専用の複合計算ユニットをシングル命令の方法でコールすることにより複合計算を実現することが多い。これらの複合計算ユニットが占める論理面積は相対的に大きいため、マルチコアAIプロセッサにおいて、プロセッサコアがそれぞれこれらの複合計算ユニットを独占すれば、とても大きなチップ面積が占用され、実現のコストがかかりすぎる。また、実際の応用シーンにおいて、これらの複合計算命令の使用頻度はそれほど高いというわけではないため、プロセッサコアがそれぞれ独占したとき、これらの複合計算ユニットに対する使用率もそれほど高くない。
本発明は、複合計算装置、方法、人工知能チップ、及び電子設備を提供する。
本発明の第1態様は、複合計算装置を提供し、当該装置は、入力インタフェースと、複数の計算コンポーネントと、出力インタフェースと、を備え、入力インタフェースは、命令ソース識別子と複合計算に用いられるソースオペランドとを含む複合計算命令を受信し、かつ、各複合計算命令における計算タイプに基づいて、各複合計算命令を、対応する計算コンポーネントに送信ことに用いられ、各計算コンポーネントは、いずれも入力インタフェースに接続され、計算コンポーネントは、受信した複合計算命令から、ソースオペランドを取得して複合計算を行い、複合計算命令における命令ソース識別子と複合計算の計算結果とを含む計算結果命令を生成して、出力インタフェースに送信することに用いられ、出力インタフェースは、各計算結果命令における命令ソース識別子に基づいて、各計算結果命令における計算結果をそれぞれ対応する命令ソースに送信することに用いられる。
本発明の第2態様は、人工知能チップを提供し、上記の複合計算装置と、複合計算装置に接続された複数の人口知能プロセッサコアとを備える。
本発明の第3態様は、電子設備を提供し、少なくとも1つのプロセッサと、少なくとも1つのメモリと、上記の少なくとも1つの人工知能チップと、を備える。
本発明の第4態様は、複合計算方法を提供し、複数の人口知能プロセッサコアから、人口知能プロセッサコアの命令ソース識別子と複合計算に用いられるソースオペランドとを含む複合計算命令を受信し、各複合計算命令における計算タイプに基づいて、各複合計算命令を、対応する計算コンポーネントに送信することと、計算コンポーネントが、受信した複合計算命令からソースオペランドを取得して複合計算を行い、複合計算命令における命令ソース識別子と複合計算の計算結果とを含む計算結果命令を生成することと、各計算結果命令における命令ソース識別子に基づいて、各計算結果命令における計算結果をそれぞれ対応する人口知能プロセッサコアに送信することと、を含む。
ここに記載された内容は、本発明の実施形態のキーポイント又は重要な特徴を識別することを意図せず、また、本発明の範囲を制限することにも用いられないことを理解すべきである。本発明の他の特徴については、下記の明細書を通して説明を促す。
添付図面は、本方案をより良く理解するためのものであり、本発明を限定するものではない。
本発明の実施形態によるAIチップの構造模式図である。 本発明の実施形態による複合計算装置の入力インタフェースの構造模式図である。 本発明の実施形態による複合計算装置の入力インタフェースの応用例を示す図である。 本発明の実施形態による複合計算装置の出力インタフェースの構造模式図である。 本発明の実施形態による複合計算装置の出力インタフェースの応用例を示す図である。 本発明の実施形態による電子設備の構造模式図である。 本発明の実施形態による複合計算方法の模式図である。
以下、添付図面を参照しながら、本発明の例示的な実施形態について説明するが、理解を容易にするために本発明の実施形態の様々な詳細が含まれており、それらは単なる例示的なものと見なすべきである。したがって、当業者は、本発明の範囲及び旨から逸脱することがなく、本発明の明細書に記載された実施形態に対して様々な変更及び修正を行うことができることを理解すべきである。同様に、以下の説明では、明瞭かつ簡潔のために、公知の機能及び構造についての説明を省略する。
図1は、本発明の実施形態による人工知能(Artificial Intelligence)チップ10の構造模式図である。
図1に示すように、AIチップ10は、複数の命令ソース100と複合計算装置200とを含み、複数の命令ソース100はそれぞれ複合計算装置200に接続されている。本実施形態において、命令ソース100はAIプロセッサコアであってもよい。ここで、複合計算装置200は、入力インタフェース210と、複数の計算コンポーネント220と、出力インタフェース230とを含む。入力インタフェース210は、複数のAIプロセッサコア100と複数の計算コンポーネント220との間に接続されてもよく、出力インタフェースは、複数の計算コンポーネント220と複数のAIプロセッサコア100との間に接続されてもよい。
複数の計算コンポーネント220は、超越関数ユニット(Special Function Unit,SFU)を構成してもよく、各計算コンポーネント220は独立した演算能力を有し、ある種の複合計算を実現することができる。ここで、複合計算とは単純な演算に対して計算量の比較的大きい演算を指してもよく、単純な演算とは計算量の比較的小さい演算を指してもよい。例えば、単純な演算は、加算演算、乗算演算、又は加算演算と乗算演算とを簡単に組み合わせた演算であってもよい。命令ソース100、例えばAIプロセッサコアは、いずれも加算器と乗算器とを含み、そのため、AIプロセッサコアに対して、より簡単な演算を行うのに適している。一方、複合計算とは、加算演算と乗算演算との簡単な組み合わせにより組み合わせることのできない演算を指し、例えば、浮動小数点乗演算、浮動小数点平方根演算、浮動小数点除算演算、浮動小数点対数演算、三角関数演算等である。
例示的に、計算コンポーネント1は、浮動小数点乗演算を実現するために用いられ、計算コンポーネント2は、浮動小数点平方根演算を実現するために用いられ、…計算コンポーネントNは、三角関数演算を実現するために用いられる。
1つの実施形態において、計算コンポーネント220は、特定用途向け集積回路(ASIC,Application Specific Integrated Circuit)チップ及びフィールドプログラマブルゲートアレイ(FPGA,Field Programmable Gate Array)の少なくとも1つを含むことができる。
例示的に、命令ソース、例えばAIプロセッサコア100は、実行されるべき命令を受信したもとで、実行されるべき命令に対して復号を行い、復号されたデータを複合計算命令sfu_dinaにスプライシングすることができる。複合計算命令には、計算タイプ(複合計算の動作タイプ)、命令ソース識別子(例えば、AIプロセッサコアのコアID等)、ソースオペランド、ライトバックアドレス等を含むことができる。例示的に、AIプロセッサコア100は、生成された複合計算命令sfu_dinaを専用のSFU命令キューに追加する。ここで、SFU命令キューはFIFO(First Input First Output)キューである。
各命令ソース、例えばAIプロセッサコア100は、複合計算装置200の入力インフェース210に命令要求req1を送信することができ、入力インタフェース210、命令要求に応答して、各AIプロセッサコア100から複合計算命令sfu_dinを取得し、各複合計算命令sfu_dinaにおける計算タイプに基づいて、各複合計命令sfu_dinaをそれぞれ対応する計算コンポーネント220に送信する。
例えば、sfu_dina1における計算タイプが浮動小数点平方根演算である場合、入力インタフェース210は、sfu_dina1を計算コンポーネント2に送信し、sfu_dina2における計算タイプが浮動小数点乗演算である場合、入力インタフェース210は、sfu_dina1を計算コンポーネント1に送信する。
計算コンポーネント220は、受信した複合計算命令sfu_dinaからソースオペランドを取得して複合計算を行い、計算結果命令sfu_doutを生成して出力インタフェース230に送信する。計算結果命令sfu_doutには、命令ソース識別子、計算結果、及びライトバックアドレス等を含んでもよい。ここで、計算結果は、計算コンポーネント220のソースオペランドに対する複合計算の計算結果であり、命令ソース識別子及びライトバックアドレスは、該計算コンポーネント220が受信した複合計算命令sfu_dina内のデータから得られる。
例えば、計算コンポーネント1は、ソースオペランドX及びY、ライトバックアドレスZ、命令ソース識別子AA等を含む複合計算命令sfu_dina2を受信し、計算コンポーネント1は、ソースオペランドX及びYに対して浮動小数点乗演算を行い、かつ、計算結果、ライトバックアドレスZ、命令ソース識別子AA等を計算結果命令sfu_dout1にスプライシングして出力インタフェース230に送信する。
出力インタフェース230は、各計算コンポーネント220から計算結果命令sfu_dout1、sfu_dout2…sfu_doutNを受け取り、各計算結果命令における命令ソース識別子に基づいて、各計算結果命令内の計算結果及びライトバックアドレスをそれぞれ対応する命令ソース、例えば、AIプロセッサコア100に送信する。AIプロセッサコア100は、ライトバックアドレスに基づいて計算結果を内部レジスタに書き込む。
本発明の実施形態により提供される複合計算装置200は、AIプロセッサコア100のような様々な命令ソースと低結合であり、様々な種類の複合計算命令は、同じデータパス(入力インタフェース210)を使用し、対応する計算コンポーネントに送信され、各計算結果命令も同じデータパス(出力インタフェース230)を使用して各命令ソースに返されるため、複数の命令ソースのSFU共有を実現し、命令ソースがSFUをコールして複合計算を行う際のデータパスを減少することができ、AIチップの面積オーバーヘッド及び消費電力オーバーヘッドを減少する。
1つの実施形態において、入力インタフェース210及び出力インタフェース230は、クロスバースイッチアレイ(crossbar)型アーキテクチャである。
図2に示すように、入力インタフェース210は、複数の第1マスタノード211及び複数の第1スレーブノード212を含むことができる。ここで、各第1スレーブノード212はそれぞれ各第1のマスタノード211に接続され、各第1スレーブノード212は各計算コンポーネント220に1対1に対応して接続される。即ち、入力インタフェース210は、マスタノード(master)―スレーブノード(slave)アーキテクチャタイプであってもよい。例示的に、各第1マスタノード211は各AIプロセッサコア100と1対1に対応して接続される。
これにより、第1マスタノード211は、接続されたAIプロセッサコア100から対応する複雑計算命令を取得し、取得した複雑計算命令における計算タイプに基づいて、取得した複雑計算命令を対応する第1スレーブノード212に送信送信することができる。第1スレーブノード212は、受信した複合計算命令を、接続された計算コンポーネント220に送信することができる。
1つの実施形態において、図2に示すように、入力インタフェース210は、各第1マスタノード211と1対1に対応して接続された複数の第1アドレス判定モジュール213と、それぞれ各第1アドレス判定モジュール213に接続された第1送信モジュール214とをさらに含んでもよく、各第1送信モジュール214は各第1スレーブノード212と1対1に対応して接続される。
これにより、第1アドレス判定モジュール213は、接続された第1マスタノード211から対応する複合計算命令を受信し、受信した複合計算命令における命令タイプと接続された各第1スレーブノード212とを比較し、比較結果が一致した場合に、第1要求イネーブルアクティブ信号出力することができ、即ちreq_en1は有効である。
例示的に、各第1マスタノード211内のデータは、命令要求信号req1、第1アドレス信号addr1、第1データ信号data1、及び命令応答信号gnt1を含む。ここで、第1アドレス信号addr1は、複合計算命令sfu_dinaにおける計算タイプを含み、第1データ信号data1は、複合計算命令sfu_dinaにおける命令ソース識別子、ソースオペランド、及びライトバックアドレス等を含む。
即ち、各第1マスタノード211は、複合計算命令sfu_dinaを受信すると、該複合計算命令sfu_dinaにおける計算タイプを第1マスタノード211の第1アドレス信号addr1とし、該複合計算命令sfu_dinaにおける命令ソース識別子、ソースオペランド、及びライトバックアドレス等を第1マスタノード211の第1データ信号data1とする。
各第1アドレス判定モジュール213は、該第1アドレス判定モジュール213に接続された第1マスタノード211の、第1アドレス信号addr1と各第1スレーブノード212のシーケンス番号とを比較し、一致した場合に、対応する第1スレーブノード212に接続された第1送信モジュール214にreq_en1が有効である信号(第1要求イネーブルアクティブ信号)を出力し、一致しない場合に、req_en1が無効である信号(第1要求イネーブルインアクティブ信号)を出力する。ここで、「一致」とは等しいことを指してもよい。
第1送信モジュール214は、予め設定された送信アルゴリズムに基づいて、複数の出力された第1要求イネーブルアクティブ信号から第1目標要求イネーブルアクティブ信号を決定し、第1ターゲット要求イネーブルアクティブ信号に対応する第1マスタノード211と、第1送信モジュール214に接続された第1スレーブノード212とをゲーティングする。ここで、送信アルゴリズムには、優先度送信アルゴリズム、ポーリング送信アルゴリズム等が含まれるが、これらに限定されない。
例示的に、各第1スレーブノード212におけるデータは、アクティブ信号vld及びデータ信号data´を含む。各第1スレーブノード212は、1つの第1送信モジュール214に対応する。第1送信モジュール214は、全ての第1マスタノード211に接続された第1アドレス判定モジュール213によって生成されたreq_en1信号を受信し、かつ、有効なreq_en1信号に対して送信選択を行い、その中から1つの第1マスタノード211をゲーティングし、即ち、第1目標要求イネーブルアクティブ信号に対応する第1マスタノード211と、第1送信モジュール214に接続された第1スレーブノード212とをゲーティングする。ある第1のマスタノード211とある第1スレーブノード212とがゲーティングした後、第1マスタノード211の信号data1を第1スレーブノードの信号data´に与えることができ、第1スレーブノードのvld信号を有効とすることができる。
図2及び図3に示すように、入力インタフェース210は、M個の第1マスタノード211及びN個の第1スレーブノード212をサポートし、即ち最大で同時にM(M<Nの場合)又はN(M>Nの場合)つのパスを同時にゲーティングすることができる。図3に示すように、2つの径路が同時にゲーティングされ、それぞれ、第1マスタノード2と第1スレーブノードNとがゲーティングし、第1マスタノードMと第1スレーブノード1とがゲーティングする。ここで、Mは命令ソース(例えばAIプロセッサコア100)の数であり、Nは複合計算命令の計算タイプの数である。
1つの実施形態において、第1マスタノード210は、ハンドシェイクプロトコルを介して、接続されたAIプロセッサコア100から対応する複合計算命令を取得する。例えば、第1マスタノードMが命令要求信号req1を受信し、調停を経て、第1スレーブノード1が第1マスタノードMをゲーティングすると、第1マスタノードMの命令応答信号gnt1が有効となり、即ち入力req1と出力gnt1とがハンドシェイク信号であり、今回のデータ転送が完了し、次のデータ転送を開始することができることを示す。
1つの実施形態において、図4に示すように、出力インタフェース230は、各計算コンポーネントと1対1に対応して接続された複数の第2マスタノード231と、各第2マスタノード231とそれぞれ接続された複数の第2スレーブノード232とを含む。即ち、出力インタフェース230は、master―slaveアーキテクチャタイプであってもよい。例示的に、各第2スレーブノード232は、各人工知能プロセッサコア100と1対1に対応して接続される。
これにより、第2マスタノード231は、接続された計算コンポーネントから対応する計算結果命令を取得し、取得した計算結果命令における命令ソース識別子に基づいて、取得した計算結果命令を対応する第2スレーブノード232に送信することができ、第2スレーブノード232は、受信した計算結果命令を対応する命令ソースに送信することができ、例えば、該第2スレーブノード232に接続されたAIプロセッサコア100である。計算結果命令には、計算結果とライトバックアドレスとがさらに含まれ、AIプロセッサコア100は、ライトバックアドレスに基づいて計算結果を内部レジスタに書き込む。
1つの実施形態において、図4に示すように、入力インタフェース210、各第2マスタノード231と1対1に対応して接続された複数の第2アドレス判定モジュール233と、それぞれ各第2アドレス判定モジュール213に接続された第2送信モジュール234とをさらに含んでもよく、各第2送信モジュール234は各第2スレーブノード232と1対1に対応して接続される。
これにより、第2アドレス判定モジュール233は、接続された第2マスタノード231から対応する計算結果命令sfu_doutを受信し、受信した計算結果命令sfu_doutにおける命令ソース識別子とそれぞれ接続された第2スレーブノード232と比較し、比較結果が一致した場合に、第2要求イネーブルアクティブ信号を出力し、即ち即ちreq_en2は有効である。
例示的に、各第2マスタノード231におけるデータは、結果要求信号req2、第2アドレス信号addr2、第2データ信号data2、及び結果応答信号gnt2を含む。ここで、第2アドレス信号addr2は、計算結果命令sfu_doutにおける命令ソース識別子を含み、第2データ信号data2は、計算結果命令sfu_doutにおける計算結果及びライトバックアドレス等を含む。即ち、各第2マスタノード231は、計算結果命令sfu_doutを受信すると、該計算結果命令sfu_doutにおける命令ソース識別子を第2マスタノード231の第2アドレス信号addr2とし、該計算結果命令sfu_doutにおける計算結果及びライトバックアドレス等を第2マスタノード231の第2データ信号data2とする。
各第2アドレス判定モジュール233は、該第2アドレス判定モジュール233に接続された第2マスタノード231の第2アドレス信号addr2と各第2スレーブノード232のシーケンス番号とを比較し、一致した場合に、対応する第2スレーブノード232に接続された第2送信モジュール234にreq_en2が有効である信号(第2要求イネーブルアクティブ信号)を出力し、一致しない場合に、req_en2が無効である信号(第2要求イネーブルインアクティブ信号)を出力する。ここで、「一致」とは等しいことを指してもよい。
第2送信モジュール234は、予め設定された送信アルゴリズムに基づいて、複数の出力された第2要求イネーブルアクティブ信号から第2目標要求イネーブルアクティブ信号を決定し、第2ターゲット要求イネーブルアクティブ信号に対応する第2マスタノード231と、第2送信モジュール234に接続された第2スレーブノード232とをゲーティングする。
例示的に、各第2スレーブノード232におけるデータは、アクティブ信号vld´及びデータ信号data´´を含む。各第2スレーブノード232は、1つの第2送信モジュール234に対応する。第2送信モジュール234は、全ての第2マスタノード231に接続された第2アドレス判定モジュール233によって生成されたreq_en2信号を受信し、かつ、有効なreq_en2信号に対して送信選択を行い、その中から1つの第2マスタノード211をゲーティングし、即ち、第2目標要求イネーブルアクティブ信号に対応する第2マスタノード231と、第2送信モジュール234に接続された第2スレーブノード232とをゲーティングする。ある第2のマスタノード231とある第2スレーブノード232とがゲーティングした後、第2マスタノード231の信号data2を第2スレーブノードの信号data´´に与えることができ、第2スレーブノード232のvld´信号を有効とすることができる。
図4及び図5に示すように、出力インタフェースは、N個の第2マスタノード231及びM個の第2スレーブノード232をサポートし、即ち最大で同時にM(M<Nの場合)又はN(M>Nの場合)つのパスを同時にゲーティングすることができる。図5に示すように、2つの径路が同時にゲーティングされ、それぞれ、第2マスタノード1と第1スレーブノード3とがゲーティングし、第2マスタノードNと第2スレーブノード1とがゲーティングする。
計算コンポーネント220の数はNであってもよく、Nより大きくても良い。例えば、実際の使用の際に、ある計算タイプの使用頻度が他の計算タイプよりもはるかに高いことがわかった場合、該計算タイプの対応する計算コンポーネント220の数を増やすことで計算力を増加してもよく、第1スレーブノード212と第2マスタノード231の数を相応的に増加すればよい。
1つの実施形態において、第2マスタノード231は、ハンドシェイクプロトコルを介して、接続された計算コンポーネント220から対応する計算結果命令を取得する。例えば、第2マスタノード1が結果要求信号req2を受信し、調停を経て、第2スレーブノード3が第2マスタノード1をゲーティングすると、第2マスタノード1の命令応答信号gnt2が有効となり、即ち入力req2と出力gnt2とがハンドシェイク信号となり、今回のデータ転送が完了し、次のデータ転送を開始することができることを示す。
従来のAIチップは、各種の複合計算命令を実現する際に、命令要求の送信と計算結果の書き戻しの段階にそれぞれ単独のデータキャッシュパスを提供する。複合計算命令の計算タイプが比較的多い場合、これらのデータキャッシュパスは、比較的多くの面積リソースを消費し、リソース消費の無駄を生む。また、各種SFU命令ごとに専用のデータパスを設けると、命令拡張の際に、相応のデータパスを更に追加する必要があり、SFUの拡張やデータパスの再利用には不利である。
本実施形態における複合演算装置200は、crossbar形式の入力インタフェース210及び出力インタフェース230を用いることができるため、占有面積を減らし、AIチップ10の面積を小さくすることができ、さらに、crossbarは柔軟な構成をサポート、異なる命令ソース(例えば、AIプロセッサコア100)の数と複合計算タイプの数の適応に便利であり、さらに、需要に応じて計算コンポーネント220の数を柔軟に拡張できることで、同時性及び計算力を向上させ、AIチップ10の性能を向上させる。
図6は、本発明の実施形態による電子設備の構造模式図である。図8に示すよう、電子設備は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータのような様々な形態のデジタルコンピュータを表す。また、電子設備はパーソナルデジタル処理、携帯電話、スマートフォン、装着可能デバイス、及びその他の類似のコンピューティングデバイス等の様々な形態のモバイルデバイスを表すことができる。ここで示した構成要素、それらの接続と関係、及びそれらの機能は例示的なものに過ぎず、本発明で説明されたもの及び/又は要求される本発明の実施を制限することは意図されない。
図6に示すよう、当該電子設備は、1つ又は複数のプロセッサ601と、メモリ602と、1つ又は複数の人工知能チップと、高速インタフェースと低速インタフェースとを含む各構成要素を接続するためのインタフェースとを含む。各構成要素は、異なるバスを利用して互いに接続し、共通のマザーボードに取り付けられてもよいし、必要に応じて他の方法で取り付けられてもよい。プロセッサは、電子設備内で実行される命令を処理してもよく、また、外部入出力デバイス(例えば、インタフェースに接続された表示デバイス)にグラフィックユーザインタフェース(Graphical User Interface,GUI)を表示するための、メモリ又はメモリ上に記憶されたグラフィカル情報の命令を含む。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを複数のメモリ及び複数のメモリとともに使用することができる。同様に、複数の電子設備を接続してもよく、各デバイスは、部分的に必要な動作(例えば、サーバアレイ、ブレードサーバのセット、又はマルチプロセッサシステムとして)を提供する。図6においてプロセッサ601を例とする。
該電子設備は、入力装置603と出力装置604とをさらに含むことができる。プロセッサ601、メモリ602、入力装置603、及び出力装置604は、バス又は他の方法で接続されてもよく、図6ではバスを介して接続されている。
入力装置603は、入力された数字又は文字を受信し、電子設備のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチパネル、キーパッド、マウス、トラックボード、タッチパッド、指示棒、1つ又は複数のマウスボタン、トラックボール、ジョイスティック等を含むことができる。出力装置604は、表示装置、補助照明装置(例えばLED)、及び触覚フィードバック装置(例えば、振動モータ)等を含むことができる。この表示装置は、液晶ディスプレイ(Liquid Crystal Display、LCD)、発光ダイオード(Light Emitting Diode、LED)ディスプレイ及びプラズマディスプレイを含むことができるがこれらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
ユーザとのイントラクションを提供するために、本発明で説明されているシステムや技術は、コンピュータ上で実施されてもよく、また、ユーザに情報を表示するための表示装置(例えば、CRT(Cathode Ray Tube、ブラウン管)又はLCD(液晶ディスプレイ)モニタ)と、入力をコンピュータに提供するためのキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを備えてもよい。他の種類の装置も、ユーザとのイントラクションを提供するために使用され得る。例えば、ユーザに提供されたフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、ユーザからの入力は、いかなる形式(音響入力、音声入力、又は触覚入力を含む)で受信されてもよい。
図7は、本発明の実施形態に基づく複合計算方法を示し、以下のステップを含む。
ステップS701において、人工知能プロセッサコアの命令ソース識別子と複合計算に用いられるソースオペランドとを含む複合計算命令を受信し、各複合計算命令における計算タイプに基づいて、各複合計算命令を、対応する計算コンポーネントに送信する。
ステップS702において、計算コンポーネントが、受信した複合計算命令からソースオペランドを取得して複合計算を行い、複合計算命令における命令ソース識別子と複合計算の計算結果とを含む計算結果命令を生成する。
ステップS703において、各計算結果命令における命令ソース識別子に基づいて、各計算結果命令における計算結果をそれぞれ対応する命令ソースに送信する。
1つの実施形態において、本発明の実施形態は、上記複合計算装置200により実行することができ、例えば、入力インタフェース210によりステップS701を実行し、出力インタフェース230によりステップS703が実行する。
上記の様々な態様のフローを使用して、ステップを新たに順序付け、追加、又は削除することが可能であることを理解すべきである。例えば、本発明で記載された各ステップは、並列に実行しても良いし、順次に実行しても良いし、異なる順序で実行しても良い。本発明で開示された技術案が所望する結果を実現することができる限り、本発明ではこれに限定されない。
さらに、「第1」、「第2」という用語は、目的を説明するためだけに用いられ、比較的な重要性を示す又は暗示する、又は指示された技術特徴を暗に示すためのものと理解すべきでない。したがって、「第1」、「第2」と限定された特徴は、1つ又は複数の該特徴を明示的又は暗黙的に含むことができる。本発明の説明において、「複数」の意味は、特に具体的な限定がない限り、2つ又は2つ以上である。「接続」という用語は、広義的に理解すべきであり、例えば、直接的に接続されてもよく、中間媒体を介して間接的に接続されてもよい。当業者にとって、上記用語の本発明における具体的な意味は、具体的な状況に応じて理解することができる。
上記具体的な実施形態は、本発明の保護範囲に対する限定を構成するものではない。当業者は、設計事項やその他の要因によって、様々な修正、組み合わせ、サブ組み合わせ、及び代替が可能であることを理解するべきである。本発明の要旨及び原則内における変更、均等な置換及び改善等は、いずれも本発明の保護範囲に含まれるべきである。
10…AIチップ
100…AIプロセッサコア
200…複合計算装置
210…入力インタフェース
220…計算コンポーネント
230…出力インタフェース
211…第1マスタノード
212…第1スレーブノード
213…第1アドレス判定モジュール
214…第1送信モジュール
231…第2マスタノード
232…第2スレーブノード
233…第2アドレス判定モジュール
234…第2送信モジュール
601…プロセッサ
602…メモリ
603…入力装置
604…出力装置

Claims (14)

  1. 入力インタフェースと、複数の計算コンポーネントと、出力インタフェースと、を備え、
    前記入力インタフェースは、複数の命令ソースの各々によって送信された、命令ソース識別子と複合計算に用いられるソースオペランドとを含む複合計算命令を複数受信したとき、前記複数の複合計算命令の各々に含まれた計算タイプに基づいて、前記複数の複合計算命令をそれぞれに対応する計算コンポーネントに送信することに用いられ、
    前記複数の算コンポーネントの各々は、前記入力インタフェースに接続され、
    前記複数の計算コンポーネントの各々は、受信した複合計算命令からソースオペランドを取得して前記複合計算を行い、前記受信した複合計算命令に含まれた命令ソース識別子と前記複合計算の計算結果とを含む、前記受信した複合計算命令に対応する計算結果命令を生成して、前記出力インタフェースに送信することに用いられ、
    前記出力インタフェースは、前記受信した複合計算命令に対応する前記計算結果命令を受信したとき、前記計算結果命令に含まれた命令ソース識別子に基づいて、前記計算結果命令に含まれた前記計算結果を、前記受信した複合計算命令の送信元に該当する命令ソースに送信することに用いられ、
    前記入力インタフェース及び前記出力インタフェースのいずれもクロスバースイッチアレイ型アーキテクチャである、
    複合計算装置。
  2. 前記入力インタフェースは、複数の第1マスタノードと複数の第1スレーブノードとを含み、
    各前記第1スレーブノードは、各第1マスタノードに接続され、各前記第1スレーブノードは、各前記計算コンポーネントと1対1に対応して接続され、
    前記第1マスタノードは、複合計算命令を取得し、取得した複合計算命令における計算タイプに基づいて、取得した複合計算命令を対応する第1スレーブノードに送信し、
    前記第1スレーブノードは、受信した複合計算命令を、接続された計算コンポーネントに送信することに用いられる、
    請求項1に記載の複合計算装置。
  3. 前記入力インタフェースは、各前記第1マスタノードと1対1に対応して接続された複数の第1アドレス判定モジュールと、各前記第1スレーブノードと1対1に対応して接続
    された複数の第1送信モジュールと、をさらに含み、
    各前記第1送信モジュールは、各前記第1アドレス判定モジュールに接続され、
    前記第1アドレス判定モジュールは、接続された第1マスタノードから、対応する複合計算命令を受信し、受信した複合計算命令における命令タイプと、それぞれ接続された第1スレーブノードとを比較し、比較結果が一致した場合に、第1要求イネーブルアクティブ信号を出力し、
    第1送信モジュールは、予め設定された送信アルゴリズムに基づいて、複数の出力された第1要求イネーブルアクティブ信号から第1目標要求イネーブルアクティブ信号を決定し、前記第1目標要求イネーブルアクティブ信号に対応する第1マスタノードと、第1送信モジュールに接続された第1スレーブノードとをゲーティングする、
    請求項2に記載の複合計算装置。
  4. 第1マスタノードの出力データは、前記計算タイプを含む第1アドレス信号と、前記命令ソース識別子及び前記ソースオペランドを含む第1データ信号とを含み、
    前記第1アドレス判定モジュールは、接続された第1マスタノードから、対応する第1アドレス信号を受信し、受信した第1アドレス信号と、それぞれ接続された第1スレーブノードのシーケンス番号と、を比較することに用いられ、
    前記第1スレーブノードは、ゲーティングされた第1マスタノードから、対応する第1データ信号を受信することに用いられる、
    請求項3に記載の複合計算装置。
  5. 前記第1マスタノードは、ハンドシェイクプロトコルを介して前記複合計算命令を受信する、請求項2に記載の複合計算装置。
  6. 前記出力インタフェースは、各前記計算コンポーネントと1対1に対応して接続された複数の第2マスタノードと、各前記第2マスタノードとそれぞれ接続された複数の第2スレーブノードとを含み、
    前記第2マスタノードは、接続された計算コンポーネントから、対応する計算結果命令を取得し、取得した計算結果命令における命令ソース識別子に基づいて、取得した計算結果命令を、対応する第2スレーブノードに送信することと、
    第2スレーブノードは、受信した計算結果命令を、対応する命令ソースに送信することに用いられる、
    請求項1に記載の複合計算装置。
  7. 前記出力インタフェースは、各前記第2マスタノードと1対1に対応して接続された複数の第2アドレス判定モジュールと、それぞれ各前記第2アドレス判定モジュールに接続された複数の第2送信モジュールとをさらに含み、
    前記第2アドレス判定モジュールは、接続された第2マスタノードから、対応する計算結果命令を受信し、受信した計算結果命令における命令ソース識別子と、それぞれ接続された第2スレーブノードとを比較し、比較結果が一致した場合に、第2要求イネーブルアクティブ信号を出力することに用いられ、
    前記第2送信モジュールは、予め設定された送信アルゴリズムに基づいて、複数の出力された第2要求イネーブルアクティブ信号から第2目標要求イネーブルアクティブ信号を決定し、前記第2目標要求イネーブルアクティブ信号に対応する第2マスタノードと、前記第2送信モジュールに接続された第2スレーブノードとをゲーティングすることに用いられる、
    請求項6に記載の複合計算装置。
  8. 第2マスタノードの出力データは、前記命令ソース識別子を含む第2アドレス信号と、前記計算結果を含む第2データ信号とを含み、
    前記第2アドレス判定モジュールは、接続された第2マスタノードから、対応する第2アドレス信号を受信し、受信した第2アドレス信号と、それぞれ接続された第2スレーブノードのシーケンス番号と、を比較することに用いられ、
    前記第2スレーブノードは、ゲーティングされた第2マスタノードから、対応する第2アドレス信号を受信することに用いられる、
    請求項7に記載の複合計算装置。
  9. 前記第2マスタノードは、ハンドシェイクプロトコルを介して接続された計算コンポーネントから対応する計算結果命令を受信する、請求項8に記載の複合計算装置。
  10. 請求項1~9のいずれか一項に記載の複合計算装置と、前記複合計算装置に接続された複数の命令ソースと、を備える、人工知能チップ。
  11. 前記命令ソースは、人工知能プロセッサコアを備える、請求項10に記載の人工知能チップ。
  12. 通信接続されている少なくとも1つのプロセッサと、
    少なくとも1つのメモリと、
    請求項10又は11に記載の少なくとも1つの人工知能チップと、を備える、
    電子設備。
  13. 入力インタフェースと、複数の計算コンポーネントと、出力インタフェースとを備える、複合計算装置によって実行される複合計算方法であって、
    前記入力インタフェースが、複数の命令ソースの各々によって送信された、命令ソース識別子と複合計算に用いられるソースオペランドとを含む複合計算命令を複数受信したとき、前記複数の複合計算命令の各々に含まれた計算タイプに基づいて、前記複数の複合計算命令をそれぞれに対応する計算コンポーネントに送信することと、
    前記複数の計算コンポーネントの各々が、受信した複合計算命令からソースオペランドを取得して前記複合計算を行い、前記受信した複合計算命令に含まれた命令ソース識別子と前記複合計算の計算結果とを含む、前記受信した複合計算命令に対応する計算結果命令を生成することと、
    前記出力インタフェースが、前記受信した複合計算命令に対応する前記計算結果命令を受信したとき、前記計算結果命令に含まれた命令ソース識別子に基づいて、前記計算結果命令に含まれた前記計算結果を、前記受信した複合計算命令の送信元に該当する命令ソースに送信することと、を含み、
    前記入力インタフェース及び前記出力インタフェースのいずれもクロスバースイッチアレイ型アーキテクチャである、
    複合計算方法。
  14. 入力インタフェースと、複数の計算コンポーネントと、出力インタフェースとを備える複合計算装置のプロセッサにより実行されると、請求項13に記載の複合計算方法を実行することを特徴とするプログラム。
JP2021001829A 2020-06-30 2021-01-08 複合計算装置、方法、人工知能チップ、電子設備、及びプログラム Active JP7158510B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010612288.3A CN111782580B (zh) 2020-06-30 2020-06-30 复杂计算装置、方法、人工智能芯片和电子设备
CN202010612288.3 2020-06-30

Publications (2)

Publication Number Publication Date
JP2022013607A JP2022013607A (ja) 2022-01-18
JP7158510B2 true JP7158510B2 (ja) 2022-10-21

Family

ID=72760414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021001829A Active JP7158510B2 (ja) 2020-06-30 2021-01-08 複合計算装置、方法、人工知能チップ、電子設備、及びプログラム

Country Status (5)

Country Link
US (1) US11782722B2 (ja)
EP (1) EP3933586A1 (ja)
JP (1) JP7158510B2 (ja)
KR (1) KR102595540B1 (ja)
CN (1) CN111782580B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579510A (zh) * 2020-12-17 2021-03-30 上海燧原智能科技有限公司 一种芯片集群
CN115237374A (zh) * 2021-04-22 2022-10-25 华为技术有限公司 芯片、处理数据的方法和计算机设备
CN115905088B (zh) * 2022-12-27 2023-07-14 声龙(新加坡)私人有限公司 一种数据收集结构、方法、芯片和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019049842A1 (ja) 2017-09-07 2019-03-14 パナソニック株式会社 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0454685A (ja) * 1990-06-22 1992-02-21 Kobe Steel Ltd 状熊学習装置及び状態推定装置
US5087826A (en) * 1990-12-28 1992-02-11 Intel Corporation Multi-layer neural network employing multiplexed output neurons
JPH05264645A (ja) * 1992-03-19 1993-10-12 Hitachi Ltd 絶縁物の劣化推定法
US5256911A (en) * 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
US5371834A (en) * 1992-08-28 1994-12-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Adaptive neuron model--an architecture for the rapid learning of nonlinear topological transformations
JP3466728B2 (ja) * 1994-09-12 2003-11-17 キヤノン株式会社 情報処理システム及びその方法
US7742985B1 (en) * 2003-06-26 2010-06-22 Paypal Inc. Multicurrency exchanges between participants of a network-based transaction facility
US20080162873A1 (en) * 2006-12-28 2008-07-03 Zimmer Vincent J Heterogeneous multiprocessing
JP2009026135A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
JP2009026136A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
CN101950282B (zh) 2010-08-30 2012-05-23 中国科学院计算技术研究所 一种多处理器系统及其同步引擎
JP2013222364A (ja) * 2012-04-18 2013-10-28 Renesas Electronics Corp 信号処理回路
CN108140232B (zh) 2015-06-10 2022-05-24 无比视视觉技术有限公司 用于处理图像的图像处理器和方法
KR20170015000A (ko) * 2015-07-31 2017-02-08 한국전자통신연구원 온칩 네트워크 및 이의 통신방법
US20170147345A1 (en) * 2015-11-19 2017-05-25 Knuedge, Inc. Multiple operation interface to shared coprocessor
US10877816B2 (en) * 2016-04-20 2020-12-29 Samsung Electronics Co., Ltd. Optimal task scheduler
CN110073329B (zh) * 2016-12-16 2021-06-22 华为技术有限公司 访存设备、计算设备和应用于卷积神经网络运算的设备
CN110825312B (zh) * 2018-08-10 2023-06-23 昆仑芯(北京)科技有限公司 数据处理装置、人工智能芯片及电子设备
CN110825436B (zh) * 2018-08-10 2022-04-29 昆仑芯(北京)科技有限公司 应用于人工智能芯片的计算方法和人工智能芯片
CN110825435B (zh) * 2018-08-10 2023-01-24 昆仑芯(北京)科技有限公司 用于处理数据的方法和装置
CN110968532B (zh) * 2018-09-29 2021-09-21 上海寒武纪信息科技有限公司 数据传输方法及相关产品
CN111258950B (zh) * 2018-11-30 2022-05-31 上海寒武纪信息科技有限公司 原子访存方法、存储介质、计算机设备、装置和系统
CN109739556B (zh) 2018-12-13 2021-03-26 北京空间飞行器总体设计部 一种基于多并行缓存交互及计算的通用深度学习处理器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019049842A1 (ja) 2017-09-07 2019-03-14 パナソニック株式会社 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小池 誠彦 ,ニューロコンピューティングのためのハードウェア,電子情報通信学会論文誌 ,社団法人電子情報通信学会,1990年08月25日,第J73-D-II巻 第8号,第1132頁-第1145頁

Also Published As

Publication number Publication date
KR102595540B1 (ko) 2023-10-30
US11782722B2 (en) 2023-10-10
US20210406032A1 (en) 2021-12-30
CN111782580B (zh) 2024-03-01
CN111782580A (zh) 2020-10-16
KR20220002053A (ko) 2022-01-06
EP3933586A1 (en) 2022-01-05
JP2022013607A (ja) 2022-01-18

Similar Documents

Publication Publication Date Title
JP7158510B2 (ja) 複合計算装置、方法、人工知能チップ、電子設備、及びプログラム
Sadasivam et al. IBM Power9 processor architecture
Adiga et al. An overview of the BlueGene/L supercomputer
US7945764B2 (en) Processing unit incorporating multirate execution unit
US8862653B2 (en) System and method for sparse matrix vector multiplication processing
Sun et al. High-performance mixed-precision linear solver for FPGAs
Banerjee et al. ASAP: Accelerated short-read alignment on programmable hardware
US11360809B2 (en) Multithreaded processor core with hardware-assisted task scheduling
Syrivelis et al. A software-defined architecture and prototype for disaggregated memory rack scale systems
Vishnu et al. Designing energy efficient communication runtime systems for data centric programming models
Neuwirth et al. Scalable communication architecture for network-attached accelerators
JP2023529947A (ja) 命令送信方法、命令送信装置、電子機器、記憶媒体およびコンピュータプログラム
US9509562B2 (en) Method of providing a dynamic node service and device using the same
Yüzügüler et al. Scale-out systolic arrays
Guleria et al. EMF: Disaggregated GPUs in datacenters for efficiency, modularity and flexibility
Jeemon Pipelined 8-bit RISC processor design using Verilog HDL on FPGA
Gao et al. Impact of reconfigurable hardware on accelerating mpi_reduce
Peng et al. Benefits of adding hardware support for broadcast and reduce operations in mpsoc applications
CN111209230B (zh) 数据处理装置、方法及相关产品
Verdicchio et al. Introduction to High-Performance Computing
Cheshmikhani et al. A general framework for accelerator management based on ISA extension
Neuwirth et al. Communication models for distributed intel xeon phi coprocessors
Papagiannis et al. Hybrid address spaces: A methodology for implementing scalable high-level programming models on non-coherent many-core architectures
Pezzarossa et al. Interfacing hardware accelerators to a time-division multiplexing network-on-chip
KR20240041159A (ko) Cpu-gpu 협업 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210108

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220107

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220921

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: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221011

R150 Certificate of patent or registration of utility model

Ref document number: 7158510

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150