JP6952138B2 - チップに基づく計算機能を生成する方法、装置、デバイス、および記憶媒体 - Google Patents
チップに基づく計算機能を生成する方法、装置、デバイス、および記憶媒体 Download PDFInfo
- Publication number
- JP6952138B2 JP6952138B2 JP2020002570A JP2020002570A JP6952138B2 JP 6952138 B2 JP6952138 B2 JP 6952138B2 JP 2020002570 A JP2020002570 A JP 2020002570A JP 2020002570 A JP2020002570 A JP 2020002570A JP 6952138 B2 JP6952138 B2 JP 6952138B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation function
- function template
- target
- candidate
- value
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Description
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
チップによってサポートされる計算機能に関連付けられた入力パラメータ値を取得するステップと、
前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定するステップであって、前記候補計算機能テンプレートが前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータを有し、前記設定可能なパラメータが少なくとも1つの候補値を有するステップと、
前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定して、チップに基づく前記計算機能を実現するステップと
を含む、チップに基づく計算機能を生成する方法。
請求項2:
前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
機械学習により、前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの複数の異なる前記候補値に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップ
を含む、請求項1に記載の方法。
請求項3:
前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値が異なる条件下で、前記候補計算機能テンプレートの実行性能を推定するステップと、
推定された前記実行性能に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップと
を含む、請求項1に記載の方法。
請求項4:
推定された前記実行性能に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップは、
推定された前記実行性能が実行性能の閾値よりも優れているか否かを判定するステップと、
推定された前記実行性能が実行性能の閾値よりも優れている場合、推定された前記実行性能に対応する前記候補計算機能テンプレートおよび前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値を、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値として決定するステップと
を含む、請求項3に記載の方法。
請求項5:
前記実行性能の閾値は、ユーザによって入力されるか、またはチップ設計装置によって事前に設定される、
請求項4に記載の方法。
請求項6:
前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値が異なる条件下で、前記候補計算機能テンプレートの実行性能を推定するステップは、
前記入力パラメータ値、および少なくとも1つの前記設定可能なパラメータの少なくとも1つの前記候補値を、前記少なくとも1つの候補計算機能テンプレートに応用するステップと、
実行時コンパイルにより、前記少なくとも1つの候補計算機能テンプレートのコードを生成し、前記少なくとも1つの候補計算機能テンプレートの前記実行性能を推定するステップと
を含む、請求項3に記載の方法。
請求項7:
前記候補計算機能テンプレートは、前記入力パラメータ値に関連付けられた制限条件、および/または前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータに関連付けられた制限条件をさらに有し、
前記計算機能に対応する少なくとも1つの計算機能テンプレートを決定するステップは、
前記入力パラメータ値および前記制限条件に基づいて、前記計算機能に対応する前記少なくとも1つの候補計算機能テンプレートを決定するステップ
を含む、請求項1に記載の方法。
請求項8:
前記入力パラメータ値と、前記入力パラメータ値に対応する決定された前記ターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値との対応関係を記憶するステップをさらに含む、請求項1に記載の方法。
請求項9:
前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定する前に、記憶された前記対応関係には前記入力パラメータ値に対応する対応関係が存在するか否かを判定するステップをさらに含むことであって、
ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
前記入力パラメータ値に対応する対応関係が存在すると判定される場合、前記対応関係に基づいて、前記入力パラメータ値に対応するターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値を決定するステップ
を含む、請求項8に記載の方法。
請求項10:
ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
所定の期間内に、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップ
を含む、請求項1に記載の方法。
請求項11:
前記所定の期間は、
ユーザによって入力された前記チップの設計時間に関連付けられた期間、前記入力パラメータ値、およびチップ設計装置によって事前に設定された前記チップの設計時間に関連付けられた期間のうちの少なくとも1つに基づいて決定される
請求項10に記載の方法。
請求項12:
前記計算機能のそれぞれが複数の前記候補計算機能テンプレートに対応し、前記複数の候補計算機能テンプレートが異なるアプリケーションシナリオに対応し、前記入力パラメータ値がアプリケーションシナリオに関連付けられる
請求項1に記載の方法。
請求項13:
チップによってサポートされる計算機能に関連付けられた入力パラメータ値を取得するように構成された入力パラメータ値取得モジュールと、
前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定するように構成されたものであって、前記候補計算機能テンプレートが前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータを有し、前記設定可能なパラメータが少なくとも1つの候補値を有する、候補計算機能テンプレート決定モジュールと、
前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定して、チップに基づく前記計算機能を実現するように構成されたターゲット計算機能テンプレート決定モジュールと
を含む、チップ設計装置。
請求項14:
前記ターゲット計算機能テンプレート決定モジュールは、
機械学習により、前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの複数の異なる前記候補値に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するように構成された機械学習モジュール
を含む、請求項13に記載の装置。
請求項15:
前記ターゲット計算機能テンプレート決定モジュールは、
前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値が異なる条件下で、前記候補計算機能テンプレートの実行性能を推定するように構成された性能推定モジュールと、
推定された前記実行性能に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するように構成された第二ターゲット計算機能テンプレート決定モジュールと
を含む、請求項13に記載の装置。
請求項16:
第二ターゲット計算機能テンプレート決定モジュールは、
推定された前記実行性能が実行性能の閾値よりも優れているか否かを判定するように構成された閾値判定モジュールと、
推定された前記実行性能が実行性能の閾値よりも優れている場合、推定された前記実行性能に対応する前記候補計算機能テンプレートおよび前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値を、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値として決定するように構成された第三ターゲット計算機能テンプレート決定モジュールと
を含む、請求項15に記載の装置。
請求項17:
前記実行性能の閾値は、ユーザによって入力されるか、またはチップ設計装置によって事前に設定される、
請求項16に記載の装置。
請求項18:
性能推定モジュールは、
前記入力パラメータ値、および少なくとも1つの前記設定可能なパラメータの少なくとも1つの前記候補値を、前記少なくとも1つの候補計算機能テンプレートに応用するように構成されたパラメータ応用モジュールと、
実行時コンパイルにより、前記少なくとも1つの候補計算機能テンプレートのコードを生成し、前記少なくとも1つの候補計算機能テンプレートの前記実行性能を推定するように構成されたコンパイルモジュールと
を含む、請求項15に記載の装置。
請求項19:
前記候補計算機能テンプレートは、前記入力パラメータ値に関連付けられた制限条件、および/または前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータに関連付けられた制限条件をさらに有し、
前記候補計算機能テンプレート決定モジュールは、
前記入力パラメータ値および前記制限条件に基づいて、前記計算機能に対応する前記少なくとも1つの候補計算機能テンプレートを決定するように構成された第一候補計算機能テンプレート決定モジュール
を含む、請求項13に記載の装置。
請求項20:
前記入力パラメータ値と、前記入力パラメータ値に対応する決定された前記ターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値との対応関係を記憶するように構成された記憶モジュールをさらに含む、請求項13に記載の装置。
請求項21:
前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定する前に、記憶された前記対応関係には前記入力パラメータ値に対応する対応関係が存在するか否かを判定するように構成された対応関係判定モジュールと、
前記入力パラメータ値に対応する対応関係が存在すると判定される場合、前記対応関係に基づいて、前記入力パラメータ値に対応するターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値を決定するように構成された第四ターゲット計算機能テンプレート決定モジュールと
をさらに含む、請求項20に記載の装置。
請求項22:
ターゲット計算機能テンプレート決定モジュールは、
所定の期間内に、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するように構成された第五ターゲット計算機能テンプレート決定モジュール
を含む、請求項13に記載の装置。
請求項23:
前記所定の期間は、
ユーザによって入力された前記チップの設計時間に関連付けられた期間、前記入力パラメータ値、およびチップ設計装置によって事前に設定された前記チップの設計時間に関連付けられた期間のうちの少なくとも1つに基づいて決定される、
請求項22に記載の装置。
請求項24:
前記計算機能のそれぞれが複数の前記候補計算機能テンプレートに対応し、前記複数の候補計算機能テンプレートが異なるアプリケーションシナリオに対応し、前記入力パラメータ値が前記アプリケーションシナリオに関連付けられる、
請求項13に記載の装置。
請求項25:
1つまたは複数のプロセッサと、
1つまたは複数のプログラムを記憶するためのものであって、前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行されるとき、電子デバイスが請求項1〜12のいずれか一項に記載の方法を実施できるようにするメモリと
を含む、電子デバイス。
請求項26:
請求項1〜12のいずれか一項に記載の方法を実施するためにプロセッサによって実行されるコンピュータプログラムを記憶したコンピュータ可読記憶媒体。
Claims (27)
- チップによってサポートされる計算機能に関連付けられた入力パラメータ値を取得するステップと、
前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定するステップであって、前記候補計算機能テンプレートが前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータを有し、前記設定可能なパラメータが少なくとも1つの候補値を有するステップと、
前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定して、チップに基づく前記計算機能を実現するステップと
を含む、チップに基づく計算機能を生成する方法。 - 前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
機械学習により、前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの複数の異なる前記候補値に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップ
を含む、請求項1に記載の方法。 - 前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値が異なる条件下で、前記候補計算機能テンプレートの実行性能を推定するステップと、
推定された前記実行性能に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップと
を含む、請求項1に記載の方法。 - 推定された前記実行性能に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップは、
推定された前記実行性能が実行性能の閾値よりも優れているか否かを判定するステップと、
推定された前記実行性能が実行性能の閾値よりも優れている場合、推定された前記実行性能に対応する前記候補計算機能テンプレートおよび前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値を、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値として決定するステップと
を含む、請求項3に記載の方法。 - 前記実行性能の閾値は、ユーザによって入力されるか、またはチップ設計装置によって事前に設定される、
請求項4に記載の方法。 - 前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値が異なる条件下で、前記候補計算機能テンプレートの実行性能を推定するステップは、
前記入力パラメータ値、および少なくとも1つの前記設定可能なパラメータの少なくとも1つの前記候補値を、前記少なくとも1つの候補計算機能テンプレートに応用するステップと、
実行時コンパイルにより、前記少なくとも1つの候補計算機能テンプレートのコードを生成し、前記少なくとも1つの候補計算機能テンプレートの前記実行性能を推定するステップと
を含む、請求項3に記載の方法。 - 前記候補計算機能テンプレートは、前記入力パラメータ値に関連付けられた制限条件、および/または前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータに関連付けられた制限条件をさらに有し、
前記計算機能に対応する少なくとも1つの計算機能テンプレートを決定するステップは、
前記入力パラメータ値および前記制限条件に基づいて、前記計算機能に対応する前記少なくとも1つの候補計算機能テンプレートを決定するステップ
を含む、請求項1に記載の方法。 - 前記入力パラメータ値と、前記入力パラメータ値に対応する決定された前記ターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値との対応関係を記憶するステップをさらに含む、請求項1に記載の方法。
- 前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定する前に、記憶された前記対応関係には前記入力パラメータ値に対応する対応関係が存在するか否かを判定するステップをさらに含むことであって、
ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
前記入力パラメータ値に対応する対応関係が存在すると判定される場合、前記対応関係に基づいて、前記入力パラメータ値に対応するターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値を決定するステップ
を含む、請求項8に記載の方法。 - ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定するステップは、
所定の期間内に、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するステップ
を含む、請求項1に記載の方法。 - 前記所定の期間は、
ユーザによって入力された前記チップの設計時間に関連付けられた期間、前記入力パラメータ値、およびチップ設計装置によって事前に設定された前記チップの設計時間に関連付けられた期間のうちの少なくとも1つに基づいて決定される
請求項10に記載の方法。 - 前記計算機能のそれぞれが複数の前記候補計算機能テンプレートに対応し、前記複数の候補計算機能テンプレートが異なるアプリケーションシナリオに対応し、前記入力パラメータ値がアプリケーションシナリオに関連付けられる
請求項1に記載の方法。 - チップによってサポートされる計算機能に関連付けられた入力パラメータ値を取得するように構成された入力パラメータ値取得モジュールと、
前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定するように構成されたものであって、前記候補計算機能テンプレートが前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータを有し、前記設定可能なパラメータが少なくとも1つの候補値を有する、候補計算機能テンプレート決定モジュールと、
前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値に基づいて、ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの設定可能なパラメータのターゲット値を決定して、チップに基づく前記計算機能を実現するように構成されたターゲット計算機能テンプレート決定モジュールと
を含む、チップ設計装置。 - 前記ターゲット計算機能テンプレート決定モジュールは、
機械学習により、前記入力パラメータ値および前記候補計算機能テンプレートの前記設定可能なパラメータの複数の異なる前記候補値に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するように構成された機械学習モジュール
を含む、請求項13に記載の装置。 - 前記ターゲット計算機能テンプレート決定モジュールは、
前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値が異なる条件下で、前記候補計算機能テンプレートの実行性能を推定するように構成された性能推定モジュールと、
推定された前記実行性能に基づいて、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するように構成された第二ターゲット計算機能テンプレート決定モジュールと
を含む、請求項13に記載の装置。 - 第二ターゲット計算機能テンプレート決定モジュールは、
推定された前記実行性能が実行性能の閾値よりも優れているか否かを判定するように構成された閾値判定モジュールと、
推定された前記実行性能が実行性能の閾値よりも優れている場合、推定された前記実行性能に対応する前記候補計算機能テンプレートおよび前記候補計算機能テンプレートの前記設定可能なパラメータの前記候補値を、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値として決定するように構成された第三ターゲット計算機能テンプレート決定モジュールと
を含む、請求項15に記載の装置。 - 前記実行性能の閾値は、ユーザによって入力されるか、またはチップ設計装置によって事前に設定される、
請求項16に記載の装置。 - 性能推定モジュールは、
前記入力パラメータ値、および少なくとも1つの前記設定可能なパラメータの少なくとも1つの前記候補値を、前記少なくとも1つの候補計算機能テンプレートに応用するように構成されたパラメータ応用モジュールと、
実行時コンパイルにより、前記少なくとも1つの候補計算機能テンプレートのコードを生成し、前記少なくとも1つの候補計算機能テンプレートの前記実行性能を推定するように構成されたコンパイルモジュールと
を含む、請求項15に記載の装置。 - 前記候補計算機能テンプレートは、前記入力パラメータ値に関連付けられた制限条件、および/または前記候補計算機能テンプレートの実行性能に関連付けられた設定可能なパラメータに関連付けられた制限条件をさらに有し、
前記候補計算機能テンプレート決定モジュールは、
前記入力パラメータ値および前記制限条件に基づいて、前記計算機能に対応する前記少なくとも1つの候補計算機能テンプレートを決定するように構成された第一候補計算機能テンプレート決定モジュール
を含む、請求項13に記載の装置。 - 前記入力パラメータ値と、前記入力パラメータ値に対応する決定された前記ターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値との対応関係を記憶するように構成された記憶モジュールをさらに含む、請求項13に記載の装置。
- 前記入力パラメータ値に基づいて、前記計算機能に対応する少なくとも1つの候補計算機能テンプレートを決定する前に、記憶された前記対応関係には前記入力パラメータ値に対応する対応関係が存在するか否かを判定するように構成された対応関係判定モジュールと、
前記入力パラメータ値に対応する対応関係が存在すると判定される場合、前記対応関係に基づいて、前記入力パラメータ値に対応するターゲット計算機能テンプレート、および前記ターゲット計算機能テンプレートに対応する前記設定可能なパラメータの前記ターゲット値を決定するように構成された第四ターゲット計算機能テンプレート決定モジュールと
をさらに含む、請求項20に記載の装置。 - ターゲット計算機能テンプレート決定モジュールは、
所定の期間内に、前記ターゲット計算機能テンプレートおよび前記ターゲット計算機能テンプレートの前記設定可能なパラメータの前記ターゲット値を決定するように構成された第五ターゲット計算機能テンプレート決定モジュール
を含む、請求項13に記載の装置。 - 前記所定の期間は、
ユーザによって入力された前記チップの設計時間に関連付けられた期間、前記入力パラメータ値、およびチップ設計装置によって事前に設定された前記チップの設計時間に関連付けられた期間のうちの少なくとも1つに基づいて決定される、
請求項22に記載の装置。 - 前記計算機能のそれぞれが複数の前記候補計算機能テンプレートに対応し、前記複数の候補計算機能テンプレートが異なるアプリケーションシナリオに対応し、前記入力パラメータ値が前記アプリケーションシナリオに関連付けられる、
請求項13に記載の装置。 - 1つまたは複数のプロセッサと、
1つまたは複数のプログラムを記憶するためのものであって、前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行されるとき、電子デバイスが請求項1〜12のいずれか一項に記載の方法を実施できるようにするメモリと
を含む、電子デバイス。 - 請求項1〜12のいずれか一項に記載の方法を実施するためにプロセッサによって実行されるコンピュータプログラムを記憶したコンピュータ可読記憶媒体。
- コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項1〜12のいずれか1項に記載の方法を実現させるコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559200.3A CN112148391A (zh) | 2019-06-26 | 2019-06-26 | 生成基于芯片的计算功能的方法、装置、设备和存储介质 |
CN201910559200.3 | 2019-06-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021005357A JP2021005357A (ja) | 2021-01-14 |
JP6952138B2 true JP6952138B2 (ja) | 2021-10-20 |
Family
ID=68841033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020002570A Active JP6952138B2 (ja) | 2019-06-26 | 2020-01-10 | チップに基づく計算機能を生成する方法、装置、デバイス、および記憶媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11507348B2 (ja) |
EP (1) | EP3757760A1 (ja) |
JP (1) | JP6952138B2 (ja) |
KR (1) | KR102333845B1 (ja) |
CN (1) | CN112148391A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342346B (zh) * | 2021-05-18 | 2022-03-25 | 北京百度网讯科技有限公司 | 深度学习框架的算子注册方法、装置、设备和存储介质 |
CN113419207B (zh) * | 2021-08-24 | 2021-11-05 | 湖南省计量检测研究院 | 一种基于物联网的计量芯片异常检测及诊断系统 |
CN113705017B (zh) * | 2021-09-08 | 2022-09-16 | 清华大学无锡应用技术研究院 | 芯片设计方法、装置、芯片、电子设备及存储介质 |
WO2023129491A1 (en) * | 2021-12-31 | 2023-07-06 | Ascenium, Inc. | Compute element processing using control word templates |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US6768515B1 (en) * | 1999-03-05 | 2004-07-27 | Clarity Technologies, Inc. | Two architectures for integrated realization of sensing and processing in a single device |
US6871341B1 (en) * | 2000-03-24 | 2005-03-22 | Intel Corporation | Adaptive scheduling of function cells in dynamic reconfigurable logic |
US6594724B1 (en) * | 2000-03-30 | 2003-07-15 | Hitachi Global Storage Technologies Netherlands B.V. | Enhanced DASD with smaller supplementary DASD |
US7437335B2 (en) * | 2004-12-07 | 2008-10-14 | Eric Baum | Method and system for constructing cognitive programs |
US8725667B2 (en) * | 2008-03-08 | 2014-05-13 | Tokyo Electron Limited | Method and system for detection of tool performance degradation and mismatch |
US8782622B2 (en) * | 2008-11-07 | 2014-07-15 | Advanced Micro Devices, Inc. | Optimistic selection of best performing generated code of multiple ISA systems |
US8621301B2 (en) | 2009-03-04 | 2013-12-31 | Alcatel Lucent | Method and apparatus for virtual in-circuit emulation |
US8879663B1 (en) * | 2012-06-26 | 2014-11-04 | L-3 Communications Corp. | Adaptive filtering for canceling distortion in radio frequency signals |
US10203934B2 (en) | 2012-07-11 | 2019-02-12 | Intel Corporation | Parallell processing of a single data buffer |
US10769122B2 (en) | 2014-03-13 | 2020-09-08 | Ab Initio Technology Llc | Specifying and applying logical validation rules to data |
US10488865B2 (en) * | 2014-12-16 | 2019-11-26 | Al Incorporated | Methods and systems for robotic surface coverage |
US10733350B1 (en) * | 2015-12-30 | 2020-08-04 | Sharat C Prasad | On-chip and system-area multi-processor interconnection networks in advanced processes for maximizing performance minimizing cost and energy |
US10477271B1 (en) * | 2016-10-12 | 2019-11-12 | Opine Inc. | System and method for generating real-time, event and user-based responses and analytics |
GB2568776B (en) * | 2017-08-11 | 2020-10-28 | Google Llc | Neural network accelerator with parameters resident on chip |
US10756982B2 (en) * | 2018-05-17 | 2020-08-25 | Microsoft Technology Licensing, Llc | Machine learning microservice architecture design tools and methods |
CN109359732B (zh) * | 2018-09-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种芯片及基于其的数据处理方法 |
-
2019
- 2019-06-26 CN CN201910559200.3A patent/CN112148391A/zh active Pending
- 2019-12-10 EP EP19214645.4A patent/EP3757760A1/en active Pending
- 2019-12-11 US US16/711,217 patent/US11507348B2/en active Active
-
2020
- 2020-01-10 JP JP2020002570A patent/JP6952138B2/ja active Active
- 2020-01-10 KR KR1020200003572A patent/KR102333845B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR102333845B1 (ko) | 2021-12-06 |
KR20210001871A (ko) | 2021-01-06 |
US11507348B2 (en) | 2022-11-22 |
EP3757760A1 (en) | 2020-12-30 |
JP2021005357A (ja) | 2021-01-14 |
US20200409662A1 (en) | 2020-12-31 |
CN112148391A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6952138B2 (ja) | チップに基づく計算機能を生成する方法、装置、デバイス、および記憶媒体 | |
Dastgeer et al. | Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-GPU systems | |
US9218223B2 (en) | Barrier synchronization with dynamic width calculation | |
CN112292667B (zh) | 选择处理器的方法和装置 | |
US20140237460A1 (en) | Vectorization in an optimizing compiler | |
US10241766B2 (en) | Application binary interface cross compilation | |
EP2805232B1 (en) | Predication of control flow instructions having associated texture load instructions for a graphics processing unit | |
US8359291B2 (en) | Architecture-aware field affinity estimation | |
US20210224130A1 (en) | Method and system for opportunistic load balancing in neural networks using metadata | |
WO2023107789A1 (en) | Deterministic replay of a multi-threaded trace on a multi-threaded processor | |
WO2012154606A1 (en) | Efficient conditional flow control compilation | |
US10353591B2 (en) | Fused shader programs | |
WO2018076979A1 (zh) | 一种指令间数据依赖的检测方法和装置 | |
Goossens | Dataflow management, dynamic load balancing, and concurrent processing for real‐time embedded vision applications using Quasar | |
US11573777B2 (en) | Method and apparatus for enabling autonomous acceleration of dataflow AI applications | |
US20180253288A1 (en) | Dynamically predict and enhance energy efficiency | |
US11221851B2 (en) | Method executed by computing device, apparatus, device and computer-readable storage medium | |
CN112465116A (zh) | 运算方法、装置、电子设备和存储介质 | |
KR20200083025A (ko) | 런타임 수행특성을 도출하는 그래픽스 프로세싱 유닛 및 이의 동작방법 | |
Li et al. | Path Forward Beyond Simulators: Fast and Accurate GPU Execution Time Prediction for DNN Workloads | |
CN112214443B (zh) | 设置于图形处理器中的二次卸载装置和方法 | |
CN112230931B (zh) | 适用于图形处理器的二次卸载的编译方法、装置和介质 | |
Ul Mustafa et al. | Exploiting architectural features of a computer vision platform towards reducing memory stalls | |
Gusenbauer | A Novel Mapping of Arbitrary Precision Integer Operations to the GPU | |
CN118093349A (zh) | 一种基于计算任务重构的gpu计算单元数量自动度量方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200703 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210714 |
|
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: 20210831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6952138 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313114 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |