JP2010186467A - コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム) - Google Patents
コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム) Download PDFInfo
- Publication number
- JP2010186467A JP2010186467A JP2010005600A JP2010005600A JP2010186467A JP 2010186467 A JP2010186467 A JP 2010186467A JP 2010005600 A JP2010005600 A JP 2010005600A JP 2010005600 A JP2010005600 A JP 2010005600A JP 2010186467 A JP2010186467 A JP 2010186467A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- branch
- conditional statement
- scalar
- bitwise
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 title claims abstract description 217
- 230000000873 masking effect Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 title description 3
- 230000000295 complement effect Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】SIMDコードは、条件文をベクトルSIMD演算に置き換える。1つの技術は、ベクトル演算、ビット・マスキング演算、およびビット単位論理演算を使用して条件付きマスキングを実施するステップを含む。これによって、SIMDコード内に条件文がある必要性がなくなり、SIMDハードウェアが分岐予測を使用せざるを得ない状態を避けることができる。これによって、パイプライン・ストールの数が減少し、SIMD計算ユニットの利用度が向上する。
【選択図】図7
Description
表I−4ビット・マスクの例
0001−−−SIMD機能Aを呼び出す
0010−−−SIMD機能Bを呼び出す
0100−−−SIMD機能Cを呼び出す
1000−−−SIMD機能Dを呼び出す
このような場合、以下のようなソース・コード構文を条件付きマスクに使用して、変数fooに基づいてどのSMID機能を呼び出すかを選択することもできる。
表II−4ビット・マスクの例−ソース・コード
mask[]={0x0001,0x0010,0x0100,0x1000};
If(foo&mask[0])
{//SIMD機能Aを呼び出す;}
elseif(foo&mask[1])
{//SIMD機能Bを呼び出す;}
elseif(foo&mask[2])
{//SIMD機能Cを呼び出す;}
else(foo&mask[3])
{//SIMD機能Dを呼び出す;}
この簡単な例が示すように、表IIのソース・コードによってSIMD機能が引き出されるが、少なくとも1つおよび4つもの条件文を実施してようやくそうなる。したがって、CPU120のSIMD処理能力の利用効率が大幅に低下することもある。
Claims (21)
- 条件文を含むスカラ・ソース・コードからベクトル・マスキング・ソース・コードを生成するコンピュータで実施される方法であって、
条件文を含む前記スカラ・ソース・コードを受信するステップであって、前記条件文の各分岐がスカラ・データ構造を含み、前記スカラ・データ構造に基づいて演算するスカラ演算を指定する、受信するステップと、
前記ベクトル・マスキング・ソース・コードを、
前記条件文の各分岐について、前記条件文の前記各分岐における前記スカラ・データ構造に対応するベクトル・データ構造を生成するステップと、
前記条件文の各分岐について、前記条件文の前記各分岐の前記スカラ演算に対応するベクトル演算を生成するステップであって、前記スカラ演算が、前記スカラ・データ構造に基づいて演算し、前記ベクトル演算が、前記ベクトル・データ構造に基づいて演算して、前記条件文の前記各分岐に対する結果を計算する、生成するステップと、
前記条件文の各分岐の前記各結果から最終結果を計算する少なくとも1つのビット単位演算を生成するステップと、
前記生成されたベクトル・マスキング・ソース・コードを出力するステップと
によって生成するステップと、
を含む方法。 - 前記最終結果が、少なくとも1つのビット単位ベクトル演算を使用して、前記条件文の各分岐からの前記結果を結合することによって計算される、請求項1に記載の方法。
- 前記対応するベクトル演算は、単一命令複数データ(SIMD)ベクトル演算であり、前記対応するベクトル・データ構造は、SIMDベクトル・データ構造であり、前記ビット単位ベクトル演算は、SIMDベクトル・ビット単位演算である、請求項2に記載の方法。
- 前記少なくとも1つのベクトル・ビット単位演算が、少なくとも、ベクトル・ビット単位AND演算、ベクトル・ビット単位AND COMPLEMENT演算、およびベクトル・ビット単位OR演算から選択される、請求項2に記載の方法。
- 前記最終結果が、ベクトル乗算演算およびベクトル・ビット単位OR演算を使用して、前記条件文の各分岐からの前記結果を結合することによって計算される、請求項1に記載の方法。
- 前記生成されたソース・コードをコンパイルして、指定の目標アーキテクチャを実行するように構成されるオブジェクト・コードを生成する、コンパイルするステップと、
前記オブジェクト・コードを前記指定の目標アーキテクチャに基づいて実行するステップと、
をさらに含む、請求項1に記載の方法。 - 前記条件文は、マスク値を使用して評価されるIF文である、請求項1に記載の方法。
- 実行されると、条件文を含むスカラ・ソース・コードからベクトル・マスキング・ソース・コードを生成する演算を実施するプログラムを含むコンピュータ可読ストレージ媒体であって、
条件文を含む前記スカラ・ソース・コードを受信するステップであって、前記条件文の各分岐が、スカラ・データ構造を含み、前記スカラ・データ構造に基づいて演算するスカラ演算を指定する、受信するステップと、
前記ベクトル・マスキング・ソース・コードを、
前記条件文の各分岐について、前記条件文の前記各分岐の前記スカラ・データ構造に対応するベクトル・データ構造を生成するステップと、
前記条件文の各分岐について、前記条件文の前記各分岐の前記スカラ演算に対応するベクトル演算を生成するステップであって、前記スカラ演算が、前記スカラ・データ構造に基づいて演算し、前記ベクトル演算が、前記ベクトル・データ構造に基づいて演算して、前記条件文の前記各分岐に対する結果を計算する、生成するステップと、
前記条件文の各分岐の前記各結果から最終結果を計算する少なくとも1つのビット単位演算を生成するステップと、
前記生成されたソース・コードを出力するステップと
によって生成するステップと、
を含むコンピュータ可読ストレージ媒体。 - 前記最終結果が、少なくとも1つのビット単位ベクトル演算を使用して、前記条件文の各分岐からの前記結果を結合することによって計算される、請求項8に記載のコンピュータ可読ストレージ媒体。
- 前記対応するベクトル演算は、SIMDベクトル演算であり、前記対応するベクトル・データ構造は、SIMDベクトル・データ構造であり、前記ビット単位ベクトル演算は、SIMDベクトル・ビット単位演算である、請求項9に記載のコンピュータ可読ストレージ媒体。
- 前記少なくとも1つのベクトル・ビット単位演算が、少なくとも、ベクトル・ビット単位AND演算、ベクトル・ビット単位AND COMPLEMENT演算、およびベクトル・ビット単位OR演算から選択される、請求項9に記載のコンピュータ可読ストレージ媒体。
- 前記最終結果が、ベクトル乗算演算およびベクトル・ビット単位OR演算を使用して、前記条件文の各分岐からの前記結果を結合することによって計算される、請求項8に記載のコンピュータ可読ストレージ媒体。
- 前記生成されたソース・コードをコンパイルして、指定の目標アーキテクチャを実行するように構成されるオブジェクト・コードを生成する、コンパイルするステップと、
前記オブジェクト・コードを前記指定の目標アーキテクチャに基づいて実行するステップと、
をさらに含む、請求項8に記載のコンピュータ可読ストレージ媒体。 - 前記条件文は、マスク値を使用して評価されるIF文である、請求項8に記載のコンピュータ可読ストレージ媒体。
- プロセッサと、
前記プロセッサによって実行されると、条件文を含むスカラ・ソース・コードからベクトル・マスキング・ソース・コードを生成する演算を実施するように構成されるプログラムを含むメモリと、
を含むシステムであって、
条件文を含む前記スカラ・ソース・コードを受信する手段であって、前記条件文の各分岐が、スカラ・データ構造を含み、前記スカラ・データ構造に基づいて演算するスカラ演算を指定する、受信する手段と、
前記ベクトル・マスキング・ソース・コードを、
前記条件文の各分岐について、前記条件文の前記各分岐の前記スカラ・データ構造に対応するベクトル・データ構造を生成する手段と、
前記条件文の各分岐について、前記条件文の前記各分岐の前記スカラ演算に対応するベクトル演算を生成する手段であって、前記スカラ演算が、前記スカラ・データ構造に基づいて演算し、前記ベクトル演算が、前記ベクトル・データ構造に基づいて演算して、前記条件文の前記各分岐に対する結果を計算する、生成する手段と、
前記条件文の各分岐の前記各結果から最終結果を計算する少なくとも1つのビット単位演算を生成する手段と、
前記生成されたソース・コードを出力する手段と
によって生成する手段と、
を含むシステム。 - 前記最終結果が、少なくとも1つのビット単位ベクトル演算を使用して、前記条件文の各分岐からの前記結果を結合することによって計算される、請求項15に記載のシステム。
- 前記対応するベクトル演算は、SIMDベクトル演算であり、前記対応するベクトル・データ構造は、SIMDベクトル・データ構造であり、前記ビット単位ベクトル演算は、SIMDベクトル・ビット単位演算である、請求項16に記載のシステム。
- 前記少なくとも1つのベクトル・ビット単位演算が、少なくとも、ベクトル・ビット単位AND演算、ベクトル・ビット単位AND COMPLEMENT演算、およびベクトル・ビット単位OR演算から選択される、請求項16に記載のシステム。
- 前記最終結果が、ベクトル乗算演算およびベクトル・ビット単位OR演算を使用して、前記条件文の各分岐からの前記結果を結合することによって計算される、請求項15に記載のシステム。
- 前記生成されたソース・コードをコンパイルして、指定の目標アーキテクチャを実行するように構成されるオブジェクト・コードを生成する、コンパイルする手段と、
前記オブジェクト・コードを前記指定の目標アーキテクチャに基づいて実行する手段と、
をさらに含む、請求項15に記載のシステム。 - 前記条件文は、マスク値を使用して評価されるIF文である、請求項15に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/368,409 US8418154B2 (en) | 2009-02-10 | 2009-02-10 | Fast vector masking algorithm for conditional data selection in SIMD architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010186467A true JP2010186467A (ja) | 2010-08-26 |
Family
ID=42541443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010005600A Pending JP2010186467A (ja) | 2009-02-10 | 2010-01-14 | コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム) |
Country Status (3)
Country | Link |
---|---|
US (1) | US8418154B2 (ja) |
JP (1) | JP2010186467A (ja) |
KR (1) | KR101137403B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9395986B2 (en) | 2014-04-10 | 2016-07-19 | Fujitsu Limited | Compiling method and compiling apparatus |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102292709B (zh) * | 2009-04-28 | 2014-05-21 | 国际商业机器公司 | 用于变换在多线程上工作的程序的程序代码的方法和系统 |
US8726252B2 (en) * | 2011-01-28 | 2014-05-13 | International Business Machines Corporation | Management of conditional branches within a data parallel system |
US8984499B2 (en) | 2011-12-15 | 2015-03-17 | Intel Corporation | Methods to optimize a program loop via vector instructions using a shuffle table and a blend table |
WO2013095653A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing a conversion of a writemask register to a list of index values in a vector register |
CN104011662B (zh) * | 2011-12-23 | 2017-05-10 | 英特尔公司 | 用于提供向量混合和置换功能的指令和逻辑 |
WO2013100893A1 (en) | 2011-12-27 | 2013-07-04 | Intel Corporation | Systems, apparatuses, and methods for generating a dependency vector based on two source writemask registers |
JP5966509B2 (ja) * | 2012-03-29 | 2016-08-10 | 富士通株式会社 | プログラム、コード生成方法および情報処理装置 |
GB2523805B (en) * | 2014-03-06 | 2021-09-01 | Advanced Risc Mach Ltd | Data processing apparatus and method for performing vector scan operation |
US9529622B1 (en) * | 2014-12-09 | 2016-12-27 | Parallel Machines Ltd. | Systems and methods for automatic generation of task-splitting code |
JP6666554B2 (ja) * | 2016-05-23 | 2020-03-18 | 富士通株式会社 | 情報処理装置、変換プログラム、及び変換方法 |
GB2559122B (en) * | 2017-01-24 | 2020-03-11 | Advanced Risc Mach Ltd | Error detection using vector processing circuitry |
CN112115487B (zh) * | 2019-06-20 | 2024-05-31 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
US11188316B2 (en) * | 2020-03-09 | 2021-11-30 | International Business Machines Corporation | Performance optimization of class instance comparisons |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6320683A (ja) * | 1986-07-15 | 1988-01-28 | Fujitsu Ltd | ベクトル代入最適化処理方式 |
JPH0756892A (ja) * | 1993-08-10 | 1995-03-03 | Fujitsu Ltd | マスク付きベクトル演算器を持つ計算機 |
JPH11316688A (ja) * | 1998-05-06 | 1999-11-16 | Mitsubishi Electric Corp | プログラミング言語処理装置、プログラミング言語処理方法および記録媒体 |
JP2004038225A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | コンパイラプログラムおよびコンパイル処理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0681236B1 (en) * | 1994-05-05 | 2000-11-22 | Conexant Systems, Inc. | Space vector data path |
KR100677207B1 (ko) * | 2001-04-13 | 2007-02-05 | 엘지전자 주식회사 | Simd 디지탈 신호 처리기 및 연산방법 |
US7020873B2 (en) * | 2002-06-21 | 2006-03-28 | Intel Corporation | Apparatus and method for vectorization of detected saturation and clipping operations in serial code loops of a source program |
US20050289329A1 (en) * | 2004-06-29 | 2005-12-29 | Dwyer Michael K | Conditional instruction for a single instruction, multiple data execution engine |
JP5326314B2 (ja) * | 2008-03-21 | 2013-10-30 | 富士通株式会社 | プロセサおよび情報処理装置 |
-
2009
- 2009-02-10 US US12/368,409 patent/US8418154B2/en not_active Expired - Fee Related
-
2010
- 2010-01-14 JP JP2010005600A patent/JP2010186467A/ja active Pending
- 2010-01-27 KR KR1020100007385A patent/KR101137403B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6320683A (ja) * | 1986-07-15 | 1988-01-28 | Fujitsu Ltd | ベクトル代入最適化処理方式 |
JPH0756892A (ja) * | 1993-08-10 | 1995-03-03 | Fujitsu Ltd | マスク付きベクトル演算器を持つ計算機 |
JPH11316688A (ja) * | 1998-05-06 | 1999-11-16 | Mitsubishi Electric Corp | プログラミング言語処理装置、プログラミング言語処理方法および記録媒体 |
JP2004038225A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | コンパイラプログラムおよびコンパイル処理方法 |
Non-Patent Citations (2)
Title |
---|
中西 悠、渡邊啓正、平澤将一、本多弘樹: "コードの性能可搬性を提供するSIMD向け共通記述方式", 先進的計算基盤システムシンポジウム SACSIS2007 論文集, vol. 2007, no. 5, JPN6013060923, 23 May 2007 (2007-05-23), JP, pages 15, ISSN: 0002700711 * |
廣松悠介、黒田久泰、金田康正: "複雑な制御構造を持つプログラムのSIMD命令セットによる最適化", 情報処理学会論文誌, vol. Vol.48,No.SIG4(PRO 32), JPN6013060924, 15 March 2007 (2007-03-15), JP, pages 62 - 72, ISSN: 0002700712 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9395986B2 (en) | 2014-04-10 | 2016-07-19 | Fujitsu Limited | Compiling method and compiling apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR20100091894A (ko) | 2010-08-19 |
US8418154B2 (en) | 2013-04-09 |
US20100205585A1 (en) | 2010-08-12 |
KR101137403B1 (ko) | 2012-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010186467A (ja) | コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム) | |
CN109661647B (zh) | 数据处理装置和方法 | |
EP2569694B1 (en) | Conditional compare instruction | |
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
JP2007526571A (ja) | Simdデバイスにおける制御フロー管理のための方法及び装置 | |
WO2015114305A1 (en) | A data processing apparatus and method for executing a vector scan instruction | |
US6934938B2 (en) | Method of programming linear graphs for streaming vector computation | |
CN113885877A (zh) | 编译的方法、装置、设备及介质 | |
US11144282B2 (en) | Mathematical accelerator for artificial intelligence applications | |
US20030126589A1 (en) | Providing parallel computing reduction operations | |
US10996960B1 (en) | Iterating single instruction, multiple-data (SIMD) instructions | |
JP2004062909A (ja) | 複数の制御フローパスを有するソフトウェアパイプライン化ループのためのシステムおよび方法 | |
US20200142704A1 (en) | Processor Core, Processor and Method for Executing a Composite Scalar-Vector Very Lare Instruction Word (VLIW) Instruction | |
CN111656319A (zh) | 利用特定数检测的多流水线架构 | |
JP2008523523A (ja) | プログラム内のループ用のコンパイル方法、コンパイル装置およびコンピュータシステム | |
US11593114B1 (en) | Iterating group sum of multiple accumulate operations | |
KR102025694B1 (ko) | 재구성 가능한 프로세서의 검증 방법 | |
WO2022174542A1 (zh) | 一种数据处理的方法、装置、处理器和计算设备 | |
Simar et al. | How VLIWs Were Adopted as Digital Signal Processors | |
JP2018049461A (ja) | コンパイル装置、コンパイル方法、および、コンパイルプログラム | |
Richter-Gottfried et al. | FPGA-aware Transformations of LLVM-IR | |
Fryza et al. | Instruction-level programming approach for very long instruction word digital signal processors | |
JP2022131311A (ja) | ベクトル演算装置、ベクトル演算方法及びプログラム | |
Ahn et al. | Comparative Analysis of Executing GPU Applications on FPGA: HLS vs. Soft GPU Approaches | |
CN116450138A (zh) | 面向simd和vliw架构的代码优化生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120719 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140305 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140513 |