JP2014194660A - 算出方法、算出プログラム、および算出装置 - Google Patents
算出方法、算出プログラム、および算出装置 Download PDFInfo
- Publication number
- JP2014194660A JP2014194660A JP2013070657A JP2013070657A JP2014194660A JP 2014194660 A JP2014194660 A JP 2014194660A JP 2013070657 A JP2013070657 A JP 2013070657A JP 2013070657 A JP2013070657 A JP 2013070657A JP 2014194660 A JP2014194660 A JP 2014194660A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- processor
- statement
- amount
- 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
Images
Abstract
【解決手段】算出装置100は、所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文である「Func(p);」を取得して記憶部に記憶する。「Func(p);」のpが所定パラメータである。算出装置100は、記憶した処理依頼命令文によって指定された所定パラメータに基づいて、処理依頼命令文がCPU401によって実行された場合にGPU402によって実行されるデータ処理のループ回数を特定する。算出装置100は、特定したループ回数に基づいて、処理依頼命令文がCPU401によって実行された場合にGPU402によって実行されるデータ処理に要する処理時間またはエネルギー量を算出する。
【選択図】図1
Description
図7は、算出装置のハードウェア構成例を示すブロック図である。図7において、算出装置100は、CPU701と、ROM(Read Only Memory)702と、RAM703と、ディスクドライブ704と、ディスク705と、を有する。算出装置100は、I/F(Inter Face)706と、入力装置707と、出力装置708と、を有する。また、各部はバス700によってそれぞれ接続される。
図8は、算出装置の機能的構成例を示すブロック図である。算出装置100は、取得部801と、選択部802と、命令文判断部803と、格納部804と、ループ処理判断部805と、ループ回数特定部806と、入力受付部807と、を有する。算出装置100は、第1算出部808と、第2算出部809と、第3算出部810と、累積算出部811と、消費電力量算出部812と、出力部813と、を有する。各部の処理は、たとえば、CPU701がアクセス可能な記憶装置に記憶された算出プログラムにコーディングされる。そして、CPU701が記憶装置から算出プログラムを読み出して、試験支援プログラムにコーディングされている処理を実行する。これにより、各部の処理が実現される。また、各部の処理結果は、たとえば、RAM703、ディスク705などの記憶装置に記憶される。
実施例1では、GPU402への処理依頼命令文について、プログラムが示す実行順において処理依頼命令文の直前の送信命令文の記述内容から特定されたデータ量に基づき、GPU402によるデータ処理に要する推定の処理時間またはエネルギー量を算出する。これにより、推定の処理時間またはエネルギー量の見積時間を短縮することができる。したがって、CPU401やGPU402などを含むシステム400をモデル化することなく見積もることができ、処理時間または消費電力量の見積もりを効率よく行うことができる。なお、消費電力量は、処理時間およびエネルギー量によって算出される。
dist:送信先のメモリ領域を示すポインタ
src:送信元のメモリ領域を示すポインタ
Size:データ量
Direction:gpgpuMemcpyHostToDevice、またはgpgpuMemcpyDeviceToHost
格納部804は、当該情報が数値の場合、この数値をデータ量として記憶部に記憶する。または、格納部804は、当該情報が他で定義されたパラメータである場合、当該パラメータの定義文を検出して、定義文に記述された数値をデータ量として記憶部に記憶する。たとえば、格納部804は、記憶部に記憶されたデータ量をあらたな送信命令が選択された際に上書きしてもよい。
cE1=cE3=NgB×((1/2)×αB×CLB×VB 2)×cT1(cT3)・・・(8)
≒(NBC1/fB)×(ndata/Ndata1)
=(NBC1/(fB×Ndata1))×ndata・・・(9)
≒NgB×[(1/2)×αB×CLB×VB 2]×[(NBC1/(fB×Ndata1))×ndata]
=NgB×[(1/2)×αB×CLB×VB 2]×cT1×ndata・・・(10)
nRep=ndata/np・・・(14)
PGc≒NgGc×((1/2)×αGc×CLGc×VG 2+IleakGc×VG)・・・(18)
実施例2では、ループ処理を含むデータ処理のGPU402への依頼を指示する命令文により指定されたパラメータに基づいてループ回数を特定し、特定結果によりGPU402の推定処理時間または推定エネルギー量を算出する。これにより、処理時間およびエネルギー量の見積時間を短縮することができる。したがって、CPU401やGPU402をモデル化することなく見積もることができ、処理時間または消費電力量の見積もりを効率よく行うことができる。なお、消費電力量は、処理時間およびエネルギー量によって算出される。
E2=cE2(np)×ninst×ループ回数式(PAR)・・・(22)
図17〜図19は、算出装置による算出処理手順例を示すフローチャートである。算出装置100は、GPGPUプログラム500を取得して記憶部に記憶し(ステップS1701)、CPU401とGPU402とバス405とに供給するそれぞれの周波数および電源電圧値の入力を受け付ける(ステップS1702)。たとえば、算出装置100は、図13に示したような入出力画面1300によって入力を受け付ける。
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行することを特徴とする算出方法。
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出し、
算出した前記処理時間と算出した前記エネルギー量とに基づいて、前記データ処理に要する消費電力量を算出する、
処理を実行することを特徴とする付記1に記載の算出方法。
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行することを特徴とする算出方法。
記憶した前記プログラムから、前記プログラムが示す実行順に命令文を選択し、
選択した前記命令文が前記送信命令文である場合、選択した前記命令文の記述内容から特定されたデータ量と選択した前記命令文の記述内容から特定された識別情報とを関連付けて第2記憶部に記憶する処理を実行し、
前記処理時間を算出する処理では、
選択した前記命令文が前記処理依頼命令文である場合、前記第2記憶部に記憶されたデータ量の中で、選択した前記命令文の記述内容から特定された識別情報に関連付けられたデータ量のうち、最後に記憶されたデータ量に基づいて、前記処理時間を算出することを特徴とする付記2に記載の算出方法。
前記コンピュータが、
選択した前記命令文が前記送信命令文である場合、さらに、選択した前記命令文の記述内容に基づく前記データ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサへの前記データの送信に要する第1送信時間を算出し、
選択した前記命令文が前記送信依頼命令文である場合、選択した前記命令文の記述内容に基づくデータ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによる前記処理結果の送信に要する第2送信時間を算出する、
処理を実行することを特徴とする付記3または4に記載の算出方法。
前記第1プロセッサと前記第2プロセッサとを接続するバスに供給されるクロックの周波数の入力を受け付ける処理を実行し、
前記第1送信時間を算出する処理では、
選択した前記命令文の記述内容に基づく前記データ量と、前記バスの通信プロトコルおよび受け付けた前記周波数に基づく係数と、に基づいて、前記第1送信時間を算出し、
前記第2送信時間を算出する処理では、
選択した前記命令文の記述内容に基づく前記データ量と、前記バスの通信プロトコルおよび受け付けた前記周波数に基づく係数と、に基づいて、前記第2送信時間を算出することを特徴とする付記5に記載の算出方法。
前記第1プロセッサに供給される電源電圧値の入力を受け付ける処理を実行し、
前記処理時間を算出する処理では、
前記最後に記憶された前記データ量と、受け付けた前記電源電圧値によって定まる電流量に基づく係数と、に基づいて、前記処理時間を算出することを特徴とする付記3〜6のいずれか一つに記載の算出方法。
前記処理依頼命令文は、前記複数のコアのうち前記データ処理を依頼するコアの数を特定可能な記述内容であって、
前記処理時間を算出する処理では、
前記最後に記憶された前記データ量と、選択した前記命令文の記述内容に基づくコアの数と、前記コアのリーク電流量と前記第1プロセッサに与える電源電圧の値によって定まる電流量に基づく係数と、に基づいて、前記処理時間を算出することを特徴とする付記3〜7のいずれか一つに記載の算出方法。
前記コンピュータが、
選択した前記命令文が前記第1処理依頼命令文である場合、選択した前記命令文によって指定された前記所定パラメータに基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって前記データ処理が実行された場合の前記ループ回数を特定する処理を実行し、
前記処理時間を算出する処理では、
選択した前記命令文が前記第1処理依頼命令文である場合、特定した前記ループ回数に基づいて、前記処理時間を算出し、選択した前記命令文が前記第2処理依頼命令文である場合、前記最後に記憶された前記データ量に基づいて、前記処理時間を算出することを特徴とする付記3〜8のいずれか一つに記載の算出方法。
特定された前記データ量に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出し、
算出した前記処理時間と算出した前記エネルギー量とに基づいて、前記データ処理に要する消費電力量を算出する、
処理を実行することを特徴とする付記3に記載の算出方法。
選択した前記命令文の各々について算出した前記処理時間、前記第1送信時間、または前記第2送信時間を合計する、
処理を実行することを特徴とする付記5または6に記載の算出方法。
前記データ処理を前記第1プロセッサに指示するプログラムに含まれる命令文の数を取得して前記記憶部に記憶する処理を実行し、
前記処理時間を算出する処理では、
特定された前記データ量と、記憶した前記命令文の数と、に基づいて、前記処理時間を算出することを特徴とする付記3に記載の算出方法。
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行することを特徴とする算出方法。
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行することを特徴とする算出方法。
記憶した前記プログラムから、前記プログラムが示す実行順に命令文を選択し、
選択した前記命令文が前記送信命令文である場合、選択した前記命令文の記述内容から特定されたデータ量と選択した前記命令文の記述内容から特定された識別情報とを関連付けて第2記憶部に記憶する処理を実行し、
前記処理時間を算出する処理では、
選択した前記命令文が前記処理依頼命令文である場合、前記第2記憶部に記憶されたデータ量の中で、選択した前記命令文の記述内容から特定された識別情報に関連付けられたデータ量のうち、最後に記憶されたデータ量に基づいて、前記データ処理に要するエネルギー量を算出することを特徴とする付記14に記載の算出方法。
前記コンピュータが、
選択した前記命令文が前記送信命令文である場合、さらに、選択した前記命令文の記述内容に基づく前記データ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサへの前記データの送信に要するエネルギー量を算出し、
選択した前記命令文が前記送信依頼命令文である場合、選択した前記命令文の記述内容に基づく前記データ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによる前記処理結果の送信に要するエネルギー量を算出する、
処理を実行することを特徴とする付記14または15に記載の算出方法。
前記データの送信に要するエネルギー量を算出する処理では、
選択した前記命令文の記述内容に基づくデータ量と、前記バスの通信プロトコルおよび受け付けた前記周波数と前記電源電圧の値によって定まる係数と、によって、前記データの送信に要するエネルギー量を算出し、
前記処理結果の送信に要するエネルギー量を算出する処理では、
選択した前記命令文の記述内容に基づくデータ量と、前記バスの通信プロトコルおよび受け付けた前記周波数と前記電源電圧の値とに基づく係数と、によって、前記処理結果の送信に要するエネルギー量を算出することを特徴とする付記16に記載の算出方法。
前記第1プロセッサに供給される電源電圧値の入力を受け付ける処理を実行し、
前記データ処理に要するエネルギー量を算出する処理では、
前記最後に記憶された前記データ量と、受け付けた前記電源電圧値に基づく係数と、によって、前記データ処理に要するエネルギー量を算出することを特徴とする付記14〜17のいずれか一つに記載の算出方法。
前記処理依頼命令文は、前記複数のコアのうち前記データ処理を依頼するコアの数を特定可能な記述内容であって、
前記データ処理に要するエネルギー量を算出する処理では、
前記最後に記憶された前記データ量と、選択した前記命令文の記述内容から特定されたコアの数と、前記コアのリーク電流量と前記第1プロセッサに与える電源電圧の値によって定まる電流量に基づく係数と、に基づいて、前記データ処理に要するエネルギー量を算出することを特徴とする付記14〜18のいずれか一つに記載の算出方法。
前記コンピュータが、
選択した前記命令文が前記第1処理依頼命令文である場合、選択した前記命令文によって指定された前記所定パラメータに基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって前記データ処理が実行された場合の前記ループ回数を特定する処理を実行し、
前記データ処理に要するエネルギー量を算出する処理では、
選択した前記命令文が前記第1処理依頼命令文である場合、特定した前記ループ回数に基づいて、前記データ処理に要するエネルギー量を算出し、選択した前記命令文が前記第2処理依頼命令文である場合、前記最後に記憶された前記データ量に基づいて、前記データ処理に要するエネルギー量を算出することを特徴とする付記14〜19のいずれか一つに記載の算出方法。
選択した前記命令文の各々について算出した前記データ処理に要するエネルギー量、前記データの送信に要するエネルギー量、または前記処理結果の送信に要するエネルギー量を合計する、
処理を実行することを特徴とする付記16または17に記載の算出方法。
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行させることを特徴とする算出プログラム。
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行させることを特徴とする算出プログラム。
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行させることを特徴とする算出プログラム。
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報を特定可能な前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行させることを特徴とする算出プログラム。
前記取得部が記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定する特定部と、
前記特定部が特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する算出部と、
を有することを特徴とする算出装置。
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する算出部と、
を有することを特徴とする算出装置。
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定する特定部と、
前記特定部が特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する算出部と、
を有することを特徴とする算出装置。
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する算出部と、
を有することを特徴とする算出装置。
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理をコンピュータに実行させる算出プログラムを記録したことを特徴とする記録媒体。
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理をコンピュータに実行させる算出プログラムを記録したことを特徴とする記録媒体。
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理をコンピュータに実行させる算出プログラムを記録したことを特徴とする記録媒体。
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理をコンピュータに実行させる算出プログラムを記録したことを特徴とする記録媒体。
101,102 プログラム
401 CPU
402 GPU
405 バス
500 GPGPUプログラム
T1 第1時間
E1 第1エネルギー量
T2 第2時間
E2 第2エネルギー量
T3 第3時間
E3 第3エネルギー量
cT1,cE1 第1係数
cT2,cE2 第2係数
cT3,cE3 第3係数
Claims (24)
- コンピュータが、
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行することを特徴とする算出方法。 - コンピュータが、
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行することを特徴とする算出方法。 - 前記コンピュータが、
記憶した前記プログラムから、前記プログラムが示す実行順に命令文を選択し、
選択した前記命令文が前記送信命令文である場合、選択した前記命令文の記述内容から特定されたデータ量と選択した前記命令文の記述内容から特定された識別情報とを関連付けて第2記憶部に記憶する処理を実行し、
前記処理時間を算出する処理では、
選択した前記命令文が前記処理依頼命令文である場合、前記第2記憶部に記憶されたデータ量の中で、選択した前記命令文の記述内容から特定された識別情報に関連付けられたデータ量のうち、最後に記憶されたデータ量に基づいて、前記処理時間を算出することを特徴とする請求項2に記載の算出方法。 - 前記プログラムは、前記データ処理の処理結果の送信を前記第2プロセッサへ依頼することを指示する送信依頼命令文であって、前記第2プロセッサから送信されるデータ量が記述内容によって特定可能な送信依頼命令文を含み、
前記コンピュータが、
選択した前記命令文が前記送信命令文である場合、さらに、選択した前記命令文の記述内容に基づく前記データ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサへの前記データの送信に要する第1送信時間を算出し、
選択した前記命令文が前記送信依頼命令文である場合、選択した前記命令文の記述内容に基づくデータ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによる前記処理結果の送信に要する第2送信時間を算出する、
処理を実行することを特徴とする請求項2または3に記載の算出方法。 - 前記コンピュータが、
前記第1プロセッサと前記第2プロセッサとを接続するバスに供給されるクロックの周波数の入力を受け付ける処理を実行し、
前記第1送信時間を算出する処理では、
選択した前記命令文の記述内容に基づく前記データ量と、前記バスの通信プロトコルおよび受け付けた前記周波数に基づく係数と、に基づいて、前記第1送信時間を算出し、
前記第2送信時間を算出する処理では、
選択した前記命令文の記述内容に基づく前記データ量と、前記バスの通信プロトコルおよび受け付けた前記周波数に基づく係数と、に基づいて、前記第2送信時間を算出することを特徴とする請求項4に記載の算出方法。 - 前記コンピュータが、
前記第1プロセッサに供給される電源電圧値の入力を受け付ける処理を実行し、
前記処理時間を算出する処理では、
前記最後に記憶された前記データ量と、受け付けた前記電源電圧値によって定まる電流量に基づく係数と、に基づいて、前記処理時間を算出することを特徴とする請求項2〜5のいずれか一つに記載の算出方法。 - 前記第1プロセッサは複数のコアを有し、
前記処理依頼命令文は、前記複数のコアのうち前記データ処理を依頼するコアの数を特定可能な記述内容であって、
前記処理時間を算出する処理では、
前記最後に記憶された前記データ量と、選択した前記命令文の記述内容に基づくコアの数と、前記コアのリーク電流量と前記第1プロセッサに与える電源電圧の値によって定まる電流量に基づく係数と、に基づいて、前記処理時間を算出することを特徴とする請求項2〜6のいずれか一つに記載の算出方法。 - 前記プログラムは、所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して前記第1プロセッサへ依頼することを指示する第1処理依頼命令文と、前記ループ処理を含まないデータ処理を前記第1プロセッサへ依頼することを指示する第2処理依頼命令文と、を有し、
前記コンピュータが、
選択した前記命令文が前記第1処理依頼命令文である場合、選択した前記命令文によって指定された前記所定パラメータに基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって前記データ処理が実行された場合の前記ループ回数を特定する処理を実行し、
前記処理時間を算出する処理では、
選択した前記命令文が前記第1処理依頼命令文である場合、特定した前記ループ回数に基づいて、前記処理時間を算出し、選択した前記命令文が前記第2処理依頼命令文である場合、前記最後に記憶された前記データ量に基づいて、前記処理時間を算出することを特徴とする請求項2〜7のいずれか一つに記載の算出方法。 - コンピュータが、
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行することを特徴とする算出方法。 - コンピュータが、
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行することを特徴とする算出方法。 - 前記コンピュータが、
記憶した前記プログラムから、前記プログラムが示す実行順に命令文を選択し、
選択した前記命令文が前記送信命令文である場合、選択した前記命令文の記述内容から特定されたデータ量と選択した前記命令文の記述内容から特定された識別情報とを関連付けて第2記憶部に記憶する処理を実行し、
前記処理時間を算出する処理では、
選択した前記命令文が前記処理依頼命令文である場合、前記第2記憶部に記憶されたデータ量の中で、選択した前記命令文の記述内容から特定された識別情報に関連付けられたデータ量のうち、最後に記憶されたデータ量に基づいて、前記データ処理に要するエネルギー量を算出することを特徴とする請求項10に記載の算出方法。 - 前記プログラムは、前記データ処理の処理結果の送信を前記第2プロセッサへ依頼することを指示する送信依頼命令文であって、前記第2プロセッサから送信されるデータ量が記述内容によって特定可能な送信依頼命令文を含み、
前記コンピュータが、
選択した前記命令文が前記送信命令文である場合、さらに、選択した前記命令文の記述内容に基づく前記データ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサへの前記データの送信に要するエネルギー量を算出し、
選択した前記命令文が前記送信依頼命令文である場合、選択した前記命令文の記述内容に基づくデータ量に基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによる前記処理結果の送信に要するエネルギー量を算出する、
処理を実行することを特徴とする請求項10または11に記載の算出方法。 - 前記第1プロセッサと前記第2プロセッサとを接続するバスに供給されるクロックの周波数と、前記バスに供給される電源電圧の値と、の入力を受け付ける処理を実行し、
前記データの送信に要するエネルギー量を算出する処理では、
選択した前記命令文の記述内容に基づくデータ量と、前記バスの通信プロトコルおよび受け付けた前記周波数と前記電源電圧の値によって定まる係数と、によって、前記データの送信に要するエネルギー量を算出し、
前記処理結果の送信に要するエネルギー量を算出する処理では、
選択した前記命令文の記述内容に基づくデータ量と、前記バスの通信プロトコルおよび受け付けた前記周波数と前記電源電圧の値とに基づく係数と、によって、前記処理結果の送信に要するエネルギー量を算出することを特徴とする請求項12に記載の算出方法。 - 前記コンピュータが、
前記第1プロセッサに供給される電源電圧値の入力を受け付ける処理を実行し、
前記データ処理に要するエネルギー量を算出する処理では、
前記最後に記憶された前記データ量と、受け付けた前記電源電圧値に基づく係数と、によって、前記データ処理に要するエネルギー量を算出することを特徴とする請求項10〜13のいずれか一つに記載の算出方法。 - 前記第1プロセッサは複数のコアを有し、
前記処理依頼命令文は、前記複数のコアのうち前記データ処理を依頼するコアの数を特定可能な記述内容であって、
前記データ処理に要するエネルギー量を算出する処理では、
前記最後に記憶された前記データ量と、選択した前記命令文の記述内容から特定されたコアの数と、前記コアのリーク電流量と前記第1プロセッサに与える電源電圧の値によって定まる電流量に基づく係数と、に基づいて、前記データ処理に要するエネルギー量を算出することを特徴とする請求項10〜14のいずれか一つに記載の算出方法。 - 前記プログラムは、所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して前記第1プロセッサへ依頼することを指示する第1処理依頼命令文と、前記ループ処理を含まないデータ処理を前記第1プロセッサへ依頼することを指示する第2処理依頼命令文と、を含み、
前記コンピュータが、
選択した前記命令文が前記第1処理依頼命令文である場合、選択した前記命令文によって指定された前記所定パラメータに基づいて、選択した前記命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって前記データ処理が実行された場合の前記ループ回数を特定する処理を実行し、
前記データ処理に要するエネルギー量を算出する処理では、
選択した前記命令文が前記第1処理依頼命令文である場合、特定した前記ループ回数に基づいて、前記データ処理に要するエネルギー量を算出し、選択した前記命令文が前記第2処理依頼命令文である場合、前記最後に記憶された前記データ量に基づいて、前記データ処理に要するエネルギー量を算出することを特徴とする請求項10〜15のいずれか一つに記載の算出方法。 - コンピュータに、
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行させることを特徴とする算出プログラム。 - コンピュータに、
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する、
処理を実行することを特徴とする算出プログラム。 - コンピュータに、
所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶し、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定し、
特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行させることを特徴とする算出プログラム。 - コンピュータに、
データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶し、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報を特定可能な前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する、
処理を実行させることを特徴とする算出プログラム。 - 所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶する取得部と、
前記取得部が記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定する特定部と、
前記特定部が特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する算出部と、
を有することを特徴とする算出装置。 - データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶する取得部と、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要する処理時間を算出する算出部と、
を有することを特徴とする算出装置。 - 所定パラメータに基づきループ回数が定まるループ処理を含むデータ処理を、前記所定パラメータを指定して第1プロセッサへ依頼することを指示する処理依頼命令文を取得して記憶部に記憶する取得部と、
記憶した前記処理依頼命令文によって指定された前記所定パラメータに基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理の前記ループ回数を特定する特定部と、
前記特定部が特定した前記ループ回数に基づいて、前記処理依頼命令文が前記第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する算出部と、
を有することを特徴とする算出装置。 - データを第1プロセッサへ送信することを指示する送信命令文であって、前記データを示す識別情報と送信されるデータ量とが記述内容によって特定可能な送信命令文と、前記データに基づくデータ処理を前記第1プロセッサへ依頼することを指示する処理依頼命令文であって、前記データを示す識別情報が記述内容によって特定可能な処理依頼命令文と、を含むプログラムを取得して記憶部に記憶する取得部と、
記憶した前記プログラムのうちの前記処理依頼命令文について、前記プログラムに含まれる前記送信命令文の中で、前記処理依頼命令文の記述内容から特定された識別情報と同一の識別情報が特定される前記送信命令文のうち、前記プログラムが示す実行順が前記処理依頼命令文の直前である前記送信命令文の記述内容から特定されたデータ量に基づいて、前記処理依頼命令文が第2プロセッサによって実行された場合に前記第1プロセッサによって実行される前記データ処理に要するエネルギー量を算出する算出部と、
を有することを特徴とする算出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013070657A JP6075157B2 (ja) | 2013-03-28 | 2013-03-28 | 算出方法、算出プログラム、および算出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013070657A JP6075157B2 (ja) | 2013-03-28 | 2013-03-28 | 算出方法、算出プログラム、および算出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014194660A true JP2014194660A (ja) | 2014-10-09 |
JP6075157B2 JP6075157B2 (ja) | 2017-02-08 |
Family
ID=51839872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013070657A Expired - Fee Related JP6075157B2 (ja) | 2013-03-28 | 2013-03-28 | 算出方法、算出プログラム、および算出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6075157B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157636A (zh) * | 2021-04-01 | 2021-07-23 | 西安邮电大学 | 协处理器、近数据处理装置和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218731A (ja) * | 1996-02-08 | 1997-08-19 | Toshiba Corp | マイクロプロセッサのパワーエスティメータ |
JPH10254944A (ja) * | 1997-01-08 | 1998-09-25 | Toshiba Corp | パワーシミュレーション装置、パワーシミュレーション方法、及びパワーシミュレーションプログラムを記録した機械読み取り可能な記録媒体 |
JP2012181674A (ja) * | 2011-03-01 | 2012-09-20 | Nippon Steel Corp | プログラム作成支援装置、プログラム作成支援方法およびコンピュータプログラム |
-
2013
- 2013-03-28 JP JP2013070657A patent/JP6075157B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218731A (ja) * | 1996-02-08 | 1997-08-19 | Toshiba Corp | マイクロプロセッサのパワーエスティメータ |
JPH10254944A (ja) * | 1997-01-08 | 1998-09-25 | Toshiba Corp | パワーシミュレーション装置、パワーシミュレーション方法、及びパワーシミュレーションプログラムを記録した機械読み取り可能な記録媒体 |
JP2012181674A (ja) * | 2011-03-01 | 2012-09-20 | Nippon Steel Corp | プログラム作成支援装置、プログラム作成支援方法およびコンピュータプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157636A (zh) * | 2021-04-01 | 2021-07-23 | 西安邮电大学 | 协处理器、近数据处理装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6075157B2 (ja) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3757761B1 (en) | Methods and apparatus for intentional programming for heterogeneous systems | |
Silvano et al. | Multicube: Multi-objective design space exploration of multi-core architectures | |
US8886887B2 (en) | Uniform external and internal interfaces for delinquent memory operations to facilitate cache optimization | |
JPWO2009037731A1 (ja) | 翻訳装置と翻訳方法および翻訳プログラムとプロセッサコアの制御方法およびプロセッサ | |
CN104572260B (zh) | 用于实现事务内存区域提升的代码版本控制的方法和设备 | |
CN103329097A (zh) | 工具生成器 | |
CN103098059A (zh) | 根据算法和规格的自动最佳集成电路生成器 | |
US20130346926A1 (en) | Automatic optimal integrated circuit generator from algorithms and specification | |
Wang et al. | CGPredict: Embedded GPU performance estimation from single-threaded applications | |
US11860227B2 (en) | Machine learning delay estimation for emulation systems | |
CN103098058A (zh) | 根据算法和规格的自动最佳集成电路生成器 | |
US11514219B1 (en) | System and method for assertion-based formal verification using cached metadata | |
WO2021114757A1 (zh) | 计算图的优化方法、装置、计算机设备和存储介质 | |
JP6075157B2 (ja) | 算出方法、算出プログラム、および算出装置 | |
US9003339B2 (en) | Synthesis of clock gated circuit | |
Oh et al. | Efficient execution of stream graphs on coarse-grained reconfigurable architectures | |
Mallya et al. | Flexible timing simulation of RISC-V processors with sniper | |
Uddin et al. | Signature-based high-level simulation of microthreaded many-core architectures | |
CN108846248B (zh) | 一种应用建模及性能预测方法 | |
Knieser et al. | COMET: a hardware-software codesign methodology | |
Gauthier et al. | Processor Energy Characterization for Compiler-Assisted Software Energy Reduction. | |
Wu et al. | CTFS: A Configurable Tuning Framework on SHENWEI System | |
JP6011356B2 (ja) | シミュレーションプログラム、シミュレーション方法およびシミュレーション装置 | |
JP6146197B2 (ja) | 設計支援方法、設計支援プログラム、および設計支援装置 | |
Whitham et al. | Predictable out-of-order execution using virtual traces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161108 |
|
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: 20161213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6075157 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |