JP7283320B2 - 情報処理装置、情報処理プログラム、及び情報処理方法 - Google Patents
情報処理装置、情報処理プログラム、及び情報処理方法 Download PDFInfo
- Publication number
- JP7283320B2 JP7283320B2 JP2019167698A JP2019167698A JP7283320B2 JP 7283320 B2 JP7283320 B2 JP 7283320B2 JP 2019167698 A JP2019167698 A JP 2019167698A JP 2019167698 A JP2019167698 A JP 2019167698A JP 7283320 B2 JP7283320 B2 JP 7283320B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- candidate
- execution
- information processing
- candidate values
- 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
- 230000010365 information processing Effects 0.000 title claims description 79
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims description 168
- 230000008569 process Effects 0.000 claims description 71
- 238000012545 processing Methods 0.000 claims description 63
- 238000011156 evaluation Methods 0.000 claims description 33
- 230000001133 acceleration Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 description 18
- 230000009467 reduction Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- 206010011878 Deafness Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
- 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
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Automation & Control Theory (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
アプリケーションプログラムに対してAC技術を適用する場合、ユーザは、そのプログラム中のどの部分に対してAC技術をどの程度適用するかを決定する。プログラム中の不適切な部分にAC技術を適用したり、AC技術を過度に適用したりした場合、プログラムの実行結果の精度が、ユーザが許容する以上に劣化したり、実行中にプログラムがエラーで終了したりする可能性がある。また、1つのアプリケーションプログラムに対して複数のAC技術を適用する場合、それらのAC技術の相互作用又は相乗効果の制御が難しくなる。
p1=(5,parallel,{16,8})
p2=(11,loop perforation,{0,2,3})
p3=(21,precision,{64,32})
(F1)ヒストリHに含まれる各3つ組(c,d,e)を示すノード(p,e)
(F2)連続する2つのノード(p,e)を結ぶ辺
(F3)実行の失敗を示す葉ノードERROR
(F4)葉ノードERRORの直前のノード(p,e)と、葉ノードERRORとを結ぶ辺
(F11)ヒストリHに含まれる各3つ組(c,d,e)を示すノード(p,e)
(F12)連続する2つのノード(p,e)を結ぶ辺
(F13)高速化率u及び精度rを含み、実行の成功を示す葉ノードOK(u,r)
(F14)葉ノードOK(u,r)の直前のノード(p,e)と、葉ノードOK(u,r)とを結ぶ辺
VM=48(時間)
PM=8(個)
TM=1200(秒)
(F21)根ノードBOT
(F22)ノード(p1,8)
(F23)根ノードBOTとノード(p1,8)を結ぶ辺
(F31)ノード(p1,16)
(F32)ノード(p2,2)
(F33)ノード(p3,64)
(F34)根ノードBOTとノード(p1,16)を結ぶ辺
(F35)ノード(p1,16)とノード(p2,2)を結ぶ辺
(F36)ノード(p2,2)とノード(p3,64)を結ぶ辺
(付記1)
プログラムを記憶する記憶部と、前記プログラムを実行するプロセッサとを有する情報処理装置であって、
前記プロセッサは、
前記プログラム中の第1位置において前記プログラムを簡略化して実行する、第1簡略化処理が適用される度合いを示すパラメータに対する候補値の第1集合と、前記第1位置よりも後の第2位置において前記プログラムを簡略化して実行する、第2簡略化処理が適用される度合いを示すパラメータに対する候補値の第2集合とを生成し、
前記第1位置において前記第1集合に含まれる複数の候補値それぞれに基づいて前記プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第1位置において生成された複数の実行結果に対する評価結果に基づいて、前記第1集合に含まれる複数の候補値のうち第1候補値を選択し、
前記第1位置において前記第1候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記第2集合に含まれる複数の候補値それぞれに基づいて前記プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第2位置において生成された複数の実行結果に対する評価結果に基づいて、前記第2集合に含まれる複数の候補値のうち第2候補値を選択する、
ことを特徴とする情報処理装置。
(付記2)
前記プロセッサは、前記第1集合に含まれる複数の候補値のうち、前記第1位置において生成された実行結果の精度が許容範囲内であることを示す評価結果を有する候補値を、前記第1候補値として選択することを特徴とする付記1記載の情報処理装置。
(付記3)
前記第1集合に含まれる複数の候補値のうち、前記第1候補値以外の第3候補値の評価結果が、前記第1位置において前記第3候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果の精度が許容範囲外であることを示す場合、前記プロセッサは、前記第1位置において前記第3候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記プログラムを簡略化して実行することを、抑止することを特徴とする付記2記載の情報処理装置。
(付記4)
前記記憶部は、前記プログラム中の複数の位置それぞれにおいて前記プログラムを簡略化して実行する、簡略化処理が適用される度合いを示すパラメータとして用いられた候補値を示すノードと、前記プログラムの高速化率を示す葉ノードとを含む探索木を、さらに記憶し、
前記プロセッサは、前記第1集合に含まれる複数の候補値のうち、前記探索木の第1葉ノードよりも高い高速化率を示す第2葉ノードに到達する辺を持つノードから派生する候補値を、前記第1葉ノードに到達する辺を持つノードから派生する候補値よりも優先的に用いることを特徴とする付記2又は3記載の情報処理装置。
(付記5)
前記探索木に含まれる葉ノードは、前記プログラムの処理結果の精度をさらに示し、
前記プロセッサは、前記第1集合に含まれる複数の候補値のうち、前記探索木の第3葉ノードよりも高い精度を示す第4葉ノードに到達する辺を持つノードから派生する候補値を、前記第3葉ノードに到達する辺を持つノードから派生する候補値よりも優先的に用いることを特徴とする付記4記載の情報処理装置。
(付記6)
前記プロセッサは、
前記第1集合に含まれる複数の候補値のうち、前記第1位置において生成された実行結果の精度が許容範囲内であることを示す評価結果を有する候補値の集合を、候補値の第3集合として前記記憶部に記憶させ、前記第1簡略化処理のパラメータに前記第1候補値を設定し、前記第2簡略化処理のパラメータに前記第2候補値を設定することで、簡略化された第1プログラムを生成し、
処理対象データを用いて前記第1プログラムを実行し、
前記第1位置において前記第1候補値に基づいて生成された実行結果の精度が許容範囲外である場合、前記第3集合に含まれる複数の候補値のうち、前記第1候補値以外の第4候補値を選択し、前記第1簡略化処理のパラメータに前記第4候補値を設定し、前記第2簡略化処理のパラメータに前記第2候補値を設定することで、簡略化された第2プログラムを生成し、
前記処理対象データを用いて前記第2プログラムを実行する、
ことを特徴とする付記2乃至5のいずれか1項に記載の情報処理装置。
(付記7)
前記第1簡略化処理及び前記第2簡略化処理の各々は、並列に実行される複数の処理の待ち合わせを途中で打ち切る処理、ループ処理の繰り返しの一部をスキップする処理、プログラムコードの一部をスキップする処理、又は変数のビット数を削減する処理であることを特徴とする付記1乃至6のいずれか1項に記載の情報処理装置。
(付記8)
対象プログラム中の第1位置において前記対象プログラムを簡略化して実行する、第1簡略化処理が適用される度合いを示すパラメータに対する候補値の第1集合と、前記第1位置よりも後の第2位置において前記対象プログラムを簡略化して実行する、第2簡略化処理が適用される度合いを示すパラメータに対する候補値の第2集合とを生成し、
前記第1位置において前記第1集合に含まれる複数の候補値それぞれに基づいて前記対象プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第1位置において生成された複数の実行結果に対する評価結果に基づいて、前記第1集合に含まれる複数の候補値のうち第1候補値を選択し、
前記第1位置において前記第1候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記第2集合に含まれる複数の候補値それぞれに基づいて前記対象プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第2位置において生成された複数の実行結果に対する評価結果に基づいて、前記第2集合に含まれる複数の候補値のうち第2候補値を選択する、
処理をコンピュータに実行させるための情報処理プログラム。
(付記9)
前記コンピュータは、前記第1集合に含まれる複数の候補値のうち、前記第1位置において生成された実行結果の精度が許容範囲内であることを示す評価結果を有する候補値を、前記第1候補値として選択することを特徴とする付記8記載の情報処理プログラム。
(付記10)
前記情報処理プログラムは、
前記第1集合に含まれる複数の候補値のうち、前記第1候補値以外の第3候補値の評価結果が、前記第1位置において前記第3候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果の精度が許容範囲外であることを示す場合、前記第1位置において前記第3候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記対象プログラムを簡略化して実行することを、抑止する処理を、
前記コンピュータにさらに実行させることを特徴とする付記9記載の情報処理プログラム。
(付記11)
前記情報処理プログラムは、
前記対象プログラム中の複数の位置それぞれにおいて前記対象プログラムを簡略化して実行する、簡略化処理が適用される度合いを示すパラメータとして用いられた候補値を示すノードと、前記プログラムの高速化率を示す葉ノードとを含む探索木を生成し、
前記第1集合に含まれる複数の候補値のうち、前記探索木の第1葉ノードよりも高い高速化率を示す第2葉ノードに到達する辺を持つノードから派生する候補値を、前記第1葉ノードに到達する辺を持つノードから派生する候補値よりも優先的に用いる処理を、
前記コンピュータにさらに実行させることを特徴とする付記9又は10記載の情報処理プログラム。
(付記12)
コンピュータによって実行される情報処理方法であって、
前記コンピュータが、
対象プログラム中の第1位置において前記対象プログラムを簡略化して実行する、第1簡略化処理が適用される度合いを示すパラメータに対する候補値の第1集合と、前記第1位置よりも後の第2位置において前記対象プログラムを簡略化して実行する、第2簡略化処理が適用される度合いを示すパラメータに対する候補値の第2集合とを生成し、
前記第1位置において前記第1集合に含まれる複数の候補値それぞれに基づいて前記対象プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第1位置において生成された複数の実行結果に対する評価結果に基づいて、前記第1集合に含まれる複数の候補値のうち第1候補値を選択し、
前記第1位置において前記第1候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記第2集合に含まれる複数の候補値それぞれに基づいて前記対象プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第2位置において生成された複数の実行結果に対する評価結果に基づいて、前記第2集合に含まれる複数の候補値のうち第2候補値を選択する、
ことを特徴とする情報処理方法。
(付記13)
前記コンピュータは、前記第1集合に含まれる複数の候補値のうち、前記第1位置において生成された実行結果の精度が許容範囲内であることを示す評価結果を有する候補値を、前記第1候補値として選択することを特徴とする付記12記載の情報処理方法。
(付記14)
前記コンピュータは、前記第1集合に含まれる複数の候補値のうち、前記第1候補値以外の第3候補値の評価結果が、前記第1位置において前記第3候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果の精度が許容範囲外であることを示す場合、前記第1位置において前記第3候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記対象プログラムを簡略化して実行することを、抑止することを特徴とする付記13記載の情報処理方法。
(付記15)
前記コンピュータは、
前記対象プログラム中の複数の位置それぞれにおいて前記対象プログラムを簡略化して実行する、簡略化処理が適用される度合いを示すパラメータとして用いられた候補値を示すノードと、前記プログラムの高速化率を示す葉ノードとを含む探索木を生成し、
前記第1集合に含まれる複数の候補値のうち、前記探索木の第1葉ノードよりも高い高速化率を示す第2葉ノードに到達する辺を持つノードから派生する候補値を、前記第1葉ノードに到達する辺を持つノードから派生する候補値よりも優先的に用いることを特徴とする付記12又は13記載の情報処理方法。
111、311 記憶部
112、312 生成部
113、313 実行部
114、314 選択部
315 出力部
121、321 プログラム
322、326 入力ファイル
323 許容精度情報
324 探索木
325 学習用データ
327 AC適用プログラム
328 処理結果
501、502 宣言文
503~507 実行文
701~704、801~803、1201~1203 プラグマ
1401 CPU
1402 メモリ
1403 入力装置
1404 出力装置
1405 補助記憶装置
1406 媒体駆動装置
1407 ネットワーク接続装置
1408 バス
1409 可搬型記録媒体
Claims (8)
- プログラムを記憶する記憶部と、前記プログラムを実行するプロセッサとを有する情報処理装置であって、
前記プロセッサは、
前記プログラム中の第1位置において前記プログラムを簡略化して実行する、第1簡略化処理が適用される度合いを示すパラメータに対する候補値の第1集合と、前記第1位置よりも後の第2位置において前記プログラムを簡略化して実行する、第2簡略化処理が適用される度合いを示すパラメータに対する候補値の第2集合とを生成し、
前記第1位置において前記第1集合に含まれる複数の候補値それぞれに基づいて前記プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第1位置において生成された複数の実行結果に対する評価結果に基づいて、前記第1集合に含まれる複数の候補値のうち第1候補値を選択し、
前記第1位置において前記第1候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記第2集合に含まれる複数の候補値それぞれに基づいて前記プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第2位置において生成された複数の実行結果に対する評価結果に基づいて、前記第2集合に含まれる複数の候補値のうち第2候補値を選択する、
ことを特徴とする情報処理装置。 - 前記プロセッサは、前記第1集合に含まれる複数の候補値のうち、前記第1位置において生成された実行結果の精度が許容範囲内であることを示す評価結果を有する候補値を、前記第1候補値として選択することを特徴とする請求項1記載の情報処理装置。
- 前記第1集合に含まれる複数の候補値のうち、前記第1候補値以外の第3候補値の評価結果が、前記第1位置において前記第3候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果の精度が許容範囲外であることを示す場合、前記プロセッサは、前記第1位置において前記第3候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記プログラムを簡略化して実行することを、抑止することを特徴とする請求項2記載の情報処理装置。
- 前記記憶部は、前記プログラム中の複数の位置それぞれにおいて前記プログラムを簡略化して実行する、簡略化処理が適用される度合いを示すパラメータとして用いられた候補値を示すノードと、前記プログラムの高速化率を示す葉ノードとを含む探索木を、さらに記憶し、
前記プロセッサは、前記第1集合に含まれる複数の候補値のうち、前記探索木の第1葉ノードよりも高い高速化率を示す第2葉ノードに到達する辺を持つノードから派生する候補値を、前記第1葉ノードに到達する辺を持つノードから派生する候補値よりも優先的に用いることを特徴とする請求項2又は3記載の情報処理装置。 - 前記探索木に含まれる葉ノードは、前記プログラムの処理結果の精度をさらに示し、
前記プロセッサは、前記第1集合に含まれる複数の候補値のうち、前記探索木の第3葉ノードよりも高い精度を示す第4葉ノードに到達する辺を持つノードから派生する候補値を、前記第3葉ノードに到達する辺を持つノードから派生する候補値よりも優先的に用いることを特徴とする請求項4記載の情報処理装置。 - 前記プロセッサは、
前記第1集合に含まれる複数の候補値のうち、前記第1位置において生成された実行結果の精度が許容範囲内であることを示す評価結果を有する候補値の集合を、候補値の第3集合として前記記憶部に記憶させ、前記第1簡略化処理のパラメータに前記第1候補値を設定し、前記第2簡略化処理のパラメータに前記第2候補値を設定することで、簡略化された第1プログラムを生成し、
処理対象データを用いて前記第1プログラムを実行し、
前記第1位置において前記第1候補値に基づいて生成された実行結果の精度が許容範囲外である場合、前記第3集合に含まれる複数の候補値のうち、前記第1候補値以外の第4候補値を選択し、前記第1簡略化処理のパラメータに前記第4候補値を設定し、前記第2簡略化処理のパラメータに前記第2候補値を設定することで、簡略化された第2プログラムを生成し、
前記処理対象データを用いて前記第2プログラムを実行する、
ことを特徴とする請求項2乃至5のいずれか1項に記載の情報処理装置。 - 対象プログラム中の第1位置において前記対象プログラムを簡略化して実行する、第1簡略化処理が適用される度合いを示すパラメータに対する候補値の第1集合と、前記第1位置よりも後の第2位置において前記対象プログラムを簡略化して実行する、第2簡略化処理が適用される度合いを示すパラメータに対する候補値の第2集合とを生成し、
前記第1位置において前記第1集合に含まれる複数の候補値それぞれに基づいて前記対象プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第1位置において生成された複数の実行結果に対する評価結果に基づいて、前記第1集合に含まれる複数の候補値のうち第1候補値を選択し、
前記第1位置において前記第1候補値に基づいて前記対象プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記第2集合に含まれる複数の候補値それぞれに基づいて前記対象プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第2位置において生成された複数の実行結果に対する評価結果に基づいて、前記第2集合に含まれる複数の候補値のうち第2候補値を選択する、
処理をコンピュータに実行させるための情報処理プログラム。 - コンピュータによって実行される情報処理方法であって、
前記コンピュータが、
プログラム中の第1位置において前記プログラムを簡略化して実行する、第1簡略化処理が適用される度合いを示すパラメータに対する候補値の第1集合と、前記第1位置よりも後の第2位置において前記プログラムを簡略化して実行する、第2簡略化処理が適用される度合いを示すパラメータに対する候補値の第2集合とを生成し、
前記第1位置において前記第1集合に含まれる複数の候補値それぞれに基づいて前記プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第1位置において生成された複数の実行結果に対する評価結果に基づいて、前記第1集合に含まれる複数の候補値のうち第1候補値を選択し、
前記第1位置において前記第1候補値に基づいて前記プログラムを簡略化して実行することで生成された実行結果を用いて、前記第2位置において前記第2集合に含まれる複数の候補値それぞれに基づいて前記プログラムを簡略化して実行することで、複数の実行結果を生成し、
前記第2位置において生成された複数の実行結果に対する評価結果に基づいて、前記第2集合に含まれる複数の候補値のうち第2候補値を選択する、
ことを特徴とする情報処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019167698A JP7283320B2 (ja) | 2019-09-13 | 2019-09-13 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
US16/941,590 US11449360B2 (en) | 2019-09-13 | 2020-07-29 | Information processing apparatus, non-transitory computer-readable storage medium for storing information processing program, and information processing method |
EP20188591.0A EP3792750B1 (en) | 2019-09-13 | 2020-07-30 | Information processing apparatus, information processing program, and information processing method |
CN202010825005.3A CN112506566A (zh) | 2019-09-13 | 2020-08-17 | 信息处理设备、计算机可读存储介质以及信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019167698A JP7283320B2 (ja) | 2019-09-13 | 2019-09-13 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021043915A JP2021043915A (ja) | 2021-03-18 |
JP7283320B2 true JP7283320B2 (ja) | 2023-05-30 |
Family
ID=71894665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019167698A Active JP7283320B2 (ja) | 2019-09-13 | 2019-09-13 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11449360B2 (ja) |
EP (1) | EP3792750B1 (ja) |
JP (1) | JP7283320B2 (ja) |
CN (1) | CN112506566A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6956909B2 (ja) | 2020-03-23 | 2021-11-02 | デクセリアルズ株式会社 | 光学積層体および物品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016524748A (ja) | 2014-02-10 | 2016-08-18 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | 過度の近似計算誤差から回復するプロセッサ |
US20190005390A1 (en) | 2017-06-30 | 2019-01-03 | University Of Florida Research Foundation, Inc. | Architecture-independent approximation discovery |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110367A (ja) | 1997-09-30 | 1999-04-23 | Ffc:Kk | プラントの状態総合評価における評価構造・パラメータ自動調整装置 |
EP1033637A3 (en) | 1999-03-02 | 2001-05-02 | Yamaha Hatsudoki Kabushiki Kaisha | Method and apparatus for optimizing overall characteristic of device, using heuristic method |
JP2000250603A (ja) | 1999-03-02 | 2000-09-14 | Yamaha Motor Co Ltd | 総合特性最適化方法 |
JP5282493B2 (ja) * | 2008-09-04 | 2013-09-04 | 富士通株式会社 | 最適解関係表示装置、方法、及びプログラム |
US9811379B2 (en) * | 2015-06-01 | 2017-11-07 | Samsung Electronics Co., Ltd. | Highly efficient inexact computing storage device |
US10332234B2 (en) * | 2017-02-14 | 2019-06-25 | International Business Machines Corporation | Matrix factorization with approximate computing |
JP2019040431A (ja) | 2017-08-25 | 2019-03-14 | 三菱重工業株式会社 | 異常判定装置、異常判定方法、プログラム、学習済みモデル、および学習済みモデルの生成方法 |
JP6904169B2 (ja) * | 2017-08-30 | 2021-07-14 | 富士通株式会社 | タスク配備プログラム、タスク配備方法、およびタスク配備装置 |
US10902478B2 (en) * | 2017-09-25 | 2021-01-26 | International Business Machines Corporation | Creative support for ad copy editors using lexical ambiguity |
-
2019
- 2019-09-13 JP JP2019167698A patent/JP7283320B2/ja active Active
-
2020
- 2020-07-29 US US16/941,590 patent/US11449360B2/en active Active
- 2020-07-30 EP EP20188591.0A patent/EP3792750B1/en active Active
- 2020-08-17 CN CN202010825005.3A patent/CN112506566A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016524748A (ja) | 2014-02-10 | 2016-08-18 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | 過度の近似計算誤差から回復するプロセッサ |
US20190005390A1 (en) | 2017-06-30 | 2019-01-03 | University Of Florida Research Foundation, Inc. | Architecture-independent approximation discovery |
Non-Patent Citations (2)
Title |
---|
Adrian Sampson et al.,"ACCEPT: A Programmer-Guided Compiler Framework for Practical Approximate Computing",University of Washington Technical Report UW-CSE-15-01 [online],2015年04月,vol. 1, no. 2,pp.1-14,[検索日 2023.04.13], インターネット:<https://dada.cs.washington.edu/research/tr/2015/01/UW-CSE-15-01-01.pdf> |
石井 潤 ほか,「可変データビット幅を持つDNNとそのアクセラレータアーキテクチャの検討」,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2017年07月,第117巻, 第154号,pp. 83-90 |
Also Published As
Publication number | Publication date |
---|---|
US20210081239A1 (en) | 2021-03-18 |
CN112506566A (zh) | 2021-03-16 |
JP2021043915A (ja) | 2021-03-18 |
EP3792750A1 (en) | 2021-03-17 |
US11449360B2 (en) | 2022-09-20 |
EP3792750B1 (en) | 2022-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9588876B2 (en) | Estimating likelihood of code changes introducing defects | |
US7324927B2 (en) | Fast feature selection method and system for maximum entropy modeling | |
JP6403834B2 (ja) | 離散最適化のための帰納論理プログラミング強化ディープビリーフネットワーク・モデルのトレーニング | |
US20090319829A1 (en) | Pattern extraction method and apparatus | |
Zheng et al. | AStitch: enabling a new multi-dimensional optimization space for memory-intensive ML training and inference on modern SIMT architectures | |
JPH02217926A (ja) | コード生成方法 | |
US20070271444A1 (en) | Using register readiness to facilitate value prediction | |
US11741363B2 (en) | Computer-readable recording medium, method for learning, and learning device | |
US11960867B1 (en) | Using natural language latent representation in automated conversion of source code from base programming language to target programming language | |
US11829474B1 (en) | Text classification backdoor attack prediction method, system, and device | |
US9213548B2 (en) | Code generation method and information processing apparatus | |
JP7283320B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
Benelallam et al. | Efficient model partitioning for distributed model transformations | |
Taymouri et al. | Computing alignments of well-formed process models using local search | |
JP2022007168A (ja) | 学習プログラム、学習方法および情報処理装置 | |
US20050198627A1 (en) | Loop transformation for speculative parallel threads | |
WO2021161429A1 (ja) | プログラム生成装置、プログラム生成方法及びプログラム | |
US20210397948A1 (en) | Learning method and information processing apparatus | |
KR102110735B1 (ko) | 취약점 탐색을 위한 바이너리 재생성 방법 및 시스템 | |
KR102628429B1 (ko) | 핵연료 장전 모형 탐색 방법 및 장치 | |
CN112181951B (zh) | 一种异构数据库数据迁移方法、装置及设备 | |
WO2023188411A1 (ja) | 判定ルール抽出プログラム、装置、及び方法 | |
KR101538131B1 (ko) | 버그 정정 개발자 추천을 위한 하이브리드 버그 할당 시스템 및 방법 | |
Kabbaj et al. | Model selection for learning Branch-and-cut strategies | |
JP2005234800A (ja) | 用例機械翻訳装置及び用例翻訳コンピュータプログラム、並びに用例検索装置及び用例検索コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230315 |
|
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: 20230418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230501 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7283320 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |