JP2014038624A - 動的データ構成のための方法及び装置 - Google Patents
動的データ構成のための方法及び装置 Download PDFInfo
- Publication number
- JP2014038624A JP2014038624A JP2013168838A JP2013168838A JP2014038624A JP 2014038624 A JP2014038624 A JP 2014038624A JP 2013168838 A JP2013168838 A JP 2013168838A JP 2013168838 A JP2013168838 A JP 2013168838A JP 2014038624 A JP2014038624 A JP 2014038624A
- Authority
- JP
- Japan
- Prior art keywords
- data
- binary code
- processor
- data format
- format
- 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
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000012545 processing Methods 0.000 claims description 53
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/441—Register allocation; Assignment of physical memory space to logical memory space
-
- 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
-
- 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/445—Program loading or initiating
-
- 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/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- 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/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
- Image Processing (AREA)
Abstract
【解決手段】 コンパイル装置は、バイナリコードを実行する実行装置がサポートするデータフォーマットのうちバイナリコードが実行されるとき最適の性能を発揮するデータフォーマットを選択し、選択されたデータフォーマットを用いるバイナリコードを生成する。実行装置は、コンパイル装置から提供されたバイナリコードを実行する。
【選択図】 図12
Description
120:実行装置
Claims (20)
- コンパイル装置がソースコードをコンパイルすることによってバイナリコードを生成する方法において、
予測された処理性能に基づいて複数のデータフォーマットのうち前記バイナリコードを実行するプロセッサに適するデータフォーマットを選択するステップと、
前記選択されたデータフォーマットを用いてデータを処理する前記バイナリコードを生成するステップと、
を含むことを特徴とするバイナリコード生成方法。 - 前記プロセッサは、単一命令語多重データ(Single−Instruction、Multiple−Data:SIMD)プロセッサであり、
前記複数のデータフォーマットは、それぞれ前記プロセッサがSIMD方式によりデータを並列処理するために用いられるデータフォーマットであることを特徴とする請求項1に記載のバイナリコード生成方法。 - 前記複数のデータフォーマットは、構造体の配列フォーマット及び配列の構造体フォーマットのうち1つ以上を含むことを特徴とする請求項1または2に記載のバイナリコード生成方法。
- 前記選択するステップは、
前記複数のデータフォーマットそれぞれの性能を予測するステップと、
前記予測された複数のデータフォーマットそれぞれの性能に基づいて前記複数のデータフォーマットのうち最高の性能を提供するデータフォーマットを前記バイナリコードを選択するステップと、
を含むことを特徴とする請求項1に記載のバイナリコード生成方法。 - 前記選択されたデータフォーマットを示す情報を生成するステップをさらに含むことを特徴とする請求項1または4に記載のバイナリコード生成方法。
- 前記プロセッサを用いて前記バイナリコードを実行するステップをさらに含むことを特徴とする請求項1、4、5のいずれか一項に記載のバイナリコード生成方法。
- 前記実行するステップは、
前記選択されたデータフォーマットに基づいてデータをロードするステップと、
前記ロードされたデータに命令語が示す演算を適用することによってロードされたデータを処理するステップと、
前記処理されたデータを前記選択されたデータフォーマットに基づいて格納するステップと、
を含むことを特徴とする請求項6に記載のバイナリコード生成方法。 - 前記選択されたデータフォーマットを示す情報を生成するステップと、
前記生成された情報に基づいて前記プロセッサを用いて前記バイナリコードを実行するステップと、
をさらに含むことを特徴とする請求項1または請求項4ないし7いずれか一項に記載のバイナリコード生成方法。 - 実行装置がバイナリコードを実行する方法において、
予測された処理性能に基づいて前記バイナリコード及び選択されたデータフォーマットを示す情報を受信するステップと、
プロセッサを用いて前記バイナリコードを実行するステップと、
を含み、
最高の予測された処理性能を有する前記データフォーマットは、前記プロセッサによってサポートされる複数のデータフォーマットのうち各データフォーマットの前記予測された処理性能に基づいて選択された1つのデータフォーマットであることを特徴とするバイナリコード実行方法。 - 前記実行するステップは、
前記選択されたデータフォーマットに基づいてデータをロードするステップと、
前記ロードされたデータに命令語が示す演算を適用することによってロードされたデータを処理するステップと、
前記処理されたデータを前記選択されたデータフォーマットに基づいて格納するステップと、
を含むことを特徴とする請求項9に記載のバイナリコード実行方法。 - 請求項1ないし10のいずれか一項に記載の方法を実行するプログラムを収録したコンピュータ読み出し可能記録媒体。
- 複数のデータフォーマットのうちバイナリコードを実行するプロセッサに適するデータフォーマットを選択し、前記選択されたデータフォーマットを用いてデータを処理する前記バイナリコードを生成するコンパイル装置と、
前記プロセッサを用いて前記バイナリコードを実行する実行装置と、
を備えることを特徴とするコンピュータシステム。 - 前記コンパイル装置は、前記選択されたデータフォーマットを示す情報を生成し、
前記実行装置は前記情報に基づいて前記プロセッサを用いて前記バイナリコードを実行することを特徴とする請求項12に記載のコンピュータシステム。 - ソースコードを格納する格納部と、
前記格納部から前記ソースコードを読み出し、予測された処理性能に基づいて複数のデータフォーマットのうちバイナリコードを実行する実行装置に適するデータフォーマットを選択し、前記選択されたデータフォーマットを用いてデータを処理する前記バイナリコードを生成するプロセッサと、
を備えることを特徴とするコンパイル装置。 - 前記実行装置のプロセッサは、単一命令語多重データプロセッサであり、
前記複数のデータフォーマットは、それぞれ前記実行装置のプロセッサがSIMD方式でデータを並列処理するために用いられるデータフォーマットであることを特徴とする請求項14に記載のコンパイル装置。 - 前記複数のデータフォーマットは、構造体の配列フォーマット及び配列の構造体フォーマットのうちの1つ以上を含むことを特徴とする請求項14または15に記載のコンパイル装置。
- 前記プロセッサは、前記選択されたデータフォーマットを示す情報を生成することを特徴とする請求項14ないし16のいずれか一項に記載のコンパイル装置。
- 前記バイナリコード及び前記選択されたデータフォーマットを示す情報を前記実行装置に送信する送受信部をさらに備えることを特徴とする請求項14ないし17のいずれか一項に記載のコンパイル装置。
- バイナリコード及び選択されたデータフォーマットを示す情報を受信する送受信部(前記選択されたデータフォーマットは予測された処理性能に基づいて選択される)と、
前記バイナリコードを実行するプロセッサと、
を備え、
前記選択されたデータフォーマットは、前記プロセッサによってサポートされる複数のデータフォーマットのうち1つのデータフォーマットであることを特徴とする実行装置。 - 前記プロセッサは、前記選択されたデータフォーマットに基づいてデータをロードし、前記ロードされたデータに命令語が示す演算を適用することによってロードされたデータを処理し、前記処理されたデータを前記選択されたデータフォーマットに基づいて格納することを特徴とする請求項19に記載の実行装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0089561 | 2012-08-16 | ||
KR1020120089561A KR101893796B1 (ko) | 2012-08-16 | 2012-08-16 | 동적 데이터 구성을 위한 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014038624A true JP2014038624A (ja) | 2014-02-27 |
JP6375102B2 JP6375102B2 (ja) | 2018-08-15 |
Family
ID=49000336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013168838A Active JP6375102B2 (ja) | 2012-08-16 | 2013-08-15 | 動的データ構成のための方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9342282B2 (ja) |
EP (1) | EP2698707B1 (ja) |
JP (1) | JP6375102B2 (ja) |
KR (1) | KR101893796B1 (ja) |
CN (1) | CN103593221B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019185486A (ja) * | 2018-04-12 | 2019-10-24 | 富士通株式会社 | コード変換装置、コード変換方法、及びコード変換プログラム |
US10768894B2 (en) | 2017-01-27 | 2020-09-08 | Fujitsu Limited | Processor, information processing apparatus and operation method for processor |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102101834B1 (ko) | 2013-10-08 | 2020-04-17 | 삼성전자 주식회사 | 영상 처리 장치 및 방법 |
CN107491288B (zh) * | 2016-06-12 | 2020-05-08 | 合肥君正科技有限公司 | 一种基于单指令多数据流结构的数据处理方法及装置 |
KR102319115B1 (ko) * | 2020-02-05 | 2021-11-01 | 한국전자통신연구원 | 컨텍스트 스위칭에 영향받지 않는 하버드 아키텍처의 캐시 특성을 활용한 에뮬레이팅 환경 탐지 방법 및 그 시스템 |
CN112925523B (zh) * | 2021-03-02 | 2024-06-21 | 京东科技控股股份有限公司 | 对象比较方法、装置、设备及计算机可读介质 |
CN114298890B (zh) * | 2021-12-02 | 2024-01-30 | 格兰菲智能科技有限公司 | 数据处理装置及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008503838A (ja) * | 2004-06-29 | 2008-02-07 | インテル コーポレイション | 単一命令多重データ実行エンジンのための条件命令 |
US20090199169A1 (en) * | 2008-01-31 | 2009-08-06 | Sun Microsystems, Inc. | Method and system for array optimization |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862729B1 (en) * | 2000-04-04 | 2005-03-01 | Microsoft Corporation | Profile-driven data layout optimization |
US7143404B2 (en) * | 2003-03-31 | 2006-11-28 | Intel Corporation | Profile-guided data layout |
US7415703B2 (en) | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
US8484441B2 (en) | 2004-03-31 | 2013-07-09 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths |
US7992140B2 (en) * | 2005-07-29 | 2011-08-02 | Microsoft Corporation | Compiler supporting programs as data objects |
FR2895104A1 (fr) | 2005-12-19 | 2007-06-22 | Dxo Labs Sa | Procede pour fournir des donnees a un moyen de traitement numerique |
US20080162522A1 (en) | 2006-12-29 | 2008-07-03 | Guei-Yuan Lueh | Methods and apparatuses for compaction and/or decompaction |
US8145625B2 (en) * | 2007-07-13 | 2012-03-27 | Intel Corporation | Methods and systems for optimizing data accesses |
JP5077952B2 (ja) * | 2008-04-08 | 2012-11-21 | 日本電信電話株式会社 | 処理装置、処理方法およびそのプログラム |
GB0809189D0 (en) | 2008-05-20 | 2008-06-25 | Aspex Semiconductor Ltd | Improvements relating to single instruction multiple data (SIMD) architectures |
US8286198B2 (en) * | 2008-06-06 | 2012-10-09 | Apple Inc. | Application programming interfaces for data parallel computing on multiple processors |
GB2464292A (en) | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
US8418155B2 (en) | 2009-02-10 | 2013-04-09 | International Business Machines Corporation | Generating parallel SIMD code for an arbitrary target architecture |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
US9569270B2 (en) | 2009-04-21 | 2017-02-14 | Empire Technology Development Llc | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts |
US8539201B2 (en) | 2009-11-04 | 2013-09-17 | International Business Machines Corporation | Transposing array data on SIMD multi-core processor architectures |
US8910135B2 (en) | 2010-11-02 | 2014-12-09 | Advanced Micro Devices, Inc. | Structure layout optimizations |
US9389845B2 (en) * | 2011-10-24 | 2016-07-12 | Infosys Limited | System and method for dynamically generating a user personalized downloadable executable file |
-
2012
- 2012-08-16 KR KR1020120089561A patent/KR101893796B1/ko active IP Right Grant
-
2013
- 2013-08-08 US US13/962,364 patent/US9342282B2/en active Active
- 2013-08-13 CN CN201310350624.1A patent/CN103593221B/zh active Active
- 2013-08-15 JP JP2013168838A patent/JP6375102B2/ja active Active
- 2013-08-16 EP EP13180661.4A patent/EP2698707B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008503838A (ja) * | 2004-06-29 | 2008-02-07 | インテル コーポレイション | 単一命令多重データ実行エンジンのための条件命令 |
US20090199169A1 (en) * | 2008-01-31 | 2009-08-06 | Sun Microsystems, Inc. | Method and system for array optimization |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10768894B2 (en) | 2017-01-27 | 2020-09-08 | Fujitsu Limited | Processor, information processing apparatus and operation method for processor |
JP2019185486A (ja) * | 2018-04-12 | 2019-10-24 | 富士通株式会社 | コード変換装置、コード変換方法、及びコード変換プログラム |
JP7035751B2 (ja) | 2018-04-12 | 2022-03-15 | 富士通株式会社 | コード変換装置、コード変換方法、及びコード変換プログラム |
Also Published As
Publication number | Publication date |
---|---|
US9342282B2 (en) | 2016-05-17 |
US20140052967A1 (en) | 2014-02-20 |
JP6375102B2 (ja) | 2018-08-15 |
EP2698707A1 (en) | 2014-02-19 |
KR101893796B1 (ko) | 2018-10-04 |
EP2698707B1 (en) | 2016-05-25 |
CN103593221B (zh) | 2018-05-11 |
KR20140023561A (ko) | 2014-02-27 |
CN103593221A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6375102B2 (ja) | 動的データ構成のための方法及び装置 | |
EP3137992B1 (en) | Language, function library, and compiler for graphical and non-graphical computation on a graphical processor unit | |
TWI614682B (zh) | 計算設備和相應計算方法 | |
US20120066668A1 (en) | C/c++ language extensions for general-purpose graphics processing unit | |
JP6027021B2 (ja) | アジャイル通信演算子 | |
KR101956197B1 (ko) | 그래픽 처리 유닛을 이용한 데이터 처리 방법 및 장치 | |
US10706494B2 (en) | Uniform predicates in shaders for graphics processing units | |
CN103221916A (zh) | 执行乘乘累加指令 | |
US9880851B2 (en) | System, method, and computer program product for implementing large integer operations on a graphics processing unit | |
KR20220156954A (ko) | 하드웨어 가속 리소스를 인에이블하기 위한 컴파일러-개시 타일 교체 | |
US9632783B2 (en) | Operand conflict resolution for reduced port general purpose register | |
JP2019517078A (ja) | グラフィック処理のためのパーシェーダープリアンブル | |
US20170269931A1 (en) | Method and Computing System for Handling Instruction Execution Using Affine Register File on Graphic Processing Unit | |
US20210183005A1 (en) | Graphics instruction operands alias | |
US20200004533A1 (en) | High performance expression evaluator unit | |
KR102644951B1 (ko) | 산술 논리 장치 레지스터 시퀀싱 | |
Bernstein et al. | Usable assembly language for GPUs: a success story | |
KR20230160893A (ko) | 파면 선택 및 실행 | |
Shudler et al. | Portable and Composable Flow Graphs for In Situ Analytics | |
Kawanami et al. | A gpu implementation of a bit-parallel algorithm for computing the longest common subsequence | |
JP2015026332A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
Middendorf et al. | SoPC for 3D Point Rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180613 |
|
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: 20180703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180723 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6375102 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |