JP2011170439A - コンパイラ、コンパイル方法、及びコンパイル実行プログラム - Google Patents

コンパイラ、コンパイル方法、及びコンパイル実行プログラム Download PDF

Info

Publication number
JP2011170439A
JP2011170439A JP2010031450A JP2010031450A JP2011170439A JP 2011170439 A JP2011170439 A JP 2011170439A JP 2010031450 A JP2010031450 A JP 2010031450A JP 2010031450 A JP2010031450 A JP 2010031450A JP 2011170439 A JP2011170439 A JP 2011170439A
Authority
JP
Japan
Prior art keywords
cache memory
program
memory
compiler
cache
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
Application number
JP2010031450A
Other languages
English (en)
Inventor
Yoshinori Tsuda
義典 津田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010031450A priority Critical patent/JP2011170439A/ja
Publication of JP2011170439A publication Critical patent/JP2011170439A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】原始プログラムを解析し、キャッシュメモリをソフトウェアから動的に制御する目的プログラムを生成する。
【解決手段】コンパイラは、原始プログラムをコンパイルして目的プログラムを生成する。コンパイラは、メモリアクセス解析処理手段と、目的プログラム生成処理手段とを具備する。メモリアクセス解析処理手段は、原始プログラムの解析結果から、原始プログラムの変数及び配列のメモリアクセス状況を調査する。目的プログラム生成処理手段は、メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成する。
【選択図】図1

Description

本発明は、コンパイラに関し、特に原始プログラムをコンパイルして目的プログラムを生成するコンパイラに関する。
従来、プロセッサや情報処理装置のキャッシュメモリ(cache memory)は、ソフトウェアから動的に制御できなかったが、近年、キャッシュメモリをソフトウェアから動的に制御する方法や装置が開発されている。
その例として、特許文献1(特開2009−93559号公報)では、プログラムの動作中に動的にキャッシュ制御を変更することが可能で、プログラム中のメモリアクセス命令語において、キャッシュメモリの利用の有無の指定ができる。
また、特許文献2(特開2000−293437号公報)では、TLB(Translation Look−aside Buffer)にキャッシュメモリの制御情報を指定することが可能で、メモリアクセス時にその論理アドレスに対応するTLBに設定された値により、利用するキャッシュメモリセット、又はキャッシュメモリセットのグループの指定や、キャッシュメモリの置換アルゴリズムの指定が可能である。
更に、非特許文献1では、SPARC64(登録商標) VIIIfxは、キャッシュを2つのセクタ(sector)と呼ばれる部分に分けて、更新処理をする仕組みが導入されており、メモリアクセス命令単位で指定することができる。
しかし、キャッシュメモリのソフトウェア制御機能を利用した高速化機能を有するコンパイラ(compiler)はなく、プログラマは自力でプログラムのメモリアクセスを解析し、制御しなければならない。
なお、キャッシュメモリの効率的な利用のために、種々のソフトウェア制御機能を有するキャッシュメモリ装置が検討、開発されているが、そのソフトウェア制御機能に対応したプログラムの最適化機能を有するコンパイラは開発されていない。
このため、プログラマは、キャッシュメモリのソフトウェア制御機能を利用する場合、原始プログラムの変数や配列のメモリアクセス状況を分析して、もっとも良いキャッシュメモリの設定を決定し、その制御コードを自分でプログラミングしなければならない。
このため、原始プログラムのステップ数が大きい場合は、解析に長時間必要となり、またプログラマには対象となるキャッシュメモリシステムの詳細な知識が必要となる等、プログラムの高速化の負担が大きい。
特開2009−93559号公報 特開2000−293437号公報
富士通 SPARC64(登録商標) アーキテクチャーマニュアル SPARC64(登録商標) VIIIfx Extensions 日本語版(2009年9月8日) SPARC64(登録商標) VIIIfx Extensions Fujitsu Limited Ver14, 8 Sep.2009 p.232〜235 <http://img.jp.fujitsu.com/downloads/jp/jhpc/sparc64viiifx−extensionsj.pdf>
本発明の目的は、原始プログラムを解析し、キャッシュメモリをソフトウェアから動的に制御する目的プログラムを生成するコンパイラを提供することである。
本発明のコンパイラは、原始プログラムをコンパイルして目的プログラムを生成する。このコンパイラは、メモリアクセス解析処理手段と、目的プログラム生成処理手段とを具備する。メモリアクセス解析処理手段は、原始プログラムの解析結果から、原始プログラムの変数及び配列のメモリアクセス状況を調査する。目的プログラム生成処理手段は、メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成する。
本発明のコンパイル方法は、原始プログラムをコンパイルして目的プログラムを生成するコンパイラにより実施されるコンパイル方法である。このコンパイル方法では、原始プログラムの解析結果から、原始プログラムの変数及び配列のメモリアクセス状況を調査する。また、メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成する。
本発明のコンパイル実行プログラムは、原始プログラムをコンパイルして目的プログラムを生成する際に、原始プログラムの解析結果から、原始プログラムの変数及び配列のメモリアクセス状況を調査するステップと、メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成するステップとを計算機に実行させるためのプログラムである。なお、本発明のコンパイル実行プログラムは、記憶装置や記憶媒体に格納することが可能である。
対象となる計算機が有するキャッシュメモリのソフトウェア制御機能を利用して効率的にキャッシュメモリを使用する目的プログラムが得られ、プログラムを高速化する負担が減少する。
本発明におけるコンパイル方式を説明するための図である。 本発明のコンパイラの処理を示すフローチャートである。 Fortranの原始プログラム例を示す図である。 本発明に係る計算機の構成例を説明するための図である。
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1を参照すると、本発明におけるコンパイル方式では、原始プログラム10と、コンパイラ20と、目的プログラム30が存在する。
原始プログラム10は、プログラミング言語で記述したソースコード(source code)である。
コンパイラ20は、原始プログラム10を入力し、目的プログラム30を出力する。
目的プログラム30は、計算機が実行できる形式のオブジェクトコード(object code)である。
コンパイラ20は、中間言語作成処理部21と、最適化処理部22と、メモリアクセス解析処理部23と、目的プログラム生成処理部24と、キャッシュ制御コード生成処理部25を備える。
中間言語作成処理部21は、原始プログラム10を読み込み、原始プログラム10の字句解析や構文解析を行い、字句解析や構文解析の結果に基づいて、中間言語1を作成する。すなわち、中間言語1は、中間言語作成処理部21により作成される中間ファイル(intermediate file)である。
最適化処理部22は、中間言語1を読み込み、共通式の削除やループのアンロール、レジスタ割当等の種々の最適化処理を行い、その最適化処理の結果に基づいて、中間言語2を作成する。すなわち、中間言語2は、最適化処理部22により作成される中間ファイルである。
メモリアクセス解析処理部23は、中間言語2を読み込み、原始プログラム10の変数や配列のメモリアクセス状況を分析し、メモリアクセス時にキャッシュメモリを利用するか否かを決める。メモリアクセス解析処理部23は、キャッシュメモリを利用する場合、利用するキャッシュメモリセット、又はキャッシュメモリセットのグループを決める。メモリアクセス解析処理部23は、その結果に基づいて、中間言語3を作成する。すなわち、中間言語3は、メモリアクセス解析処理部23により作成される中間ファイルである。
目的プログラム生成処理部24は、中間言語3を読み込み、キャッシュ制御コード生成処理部25を利用して目的プログラム30を生成する。
キャッシュ制御コード生成処理部25は、中間言語3を読み込んで、前記メモリアクセス解析部23が決定した結果に従い、キャッシュの設定を変更するキャッシュ制御コード、又はキャッシュ制御を指定したメモリアクセス命令を作成する。
キャッシュ制御コード生成処理部25は、目的プログラム生成処理部24と連携している。ここでは、キャッシュ制御コード生成処理部25は、目的プログラム生成処理部24の内部で(又は一部として)動作するものとする。但し、実際には、目的プログラム生成処理部24の外部で動作していても良い。
<処理の流れ>
次に、図2を用いて、本発明のコンパイラの動作について詳細に説明する。
ここでは、コンパイラ20は、Fortranのコンパイラであるものとして説明する。但し、実際には、この例に限定されない。
(1)ステップS101
まず、コンパイラ20において、中間言語作成処理部21は、原始プログラム10を読み込み、字句解析や構文解析を行い、中間言語1を作成する。
(2)ステップS102
次に、最適化処理部22は、中間言語1を最適化し、中間言語2を作成する。
(3)ステップS103
次に、メモリアクセス解析処理部23は、中間言語2を解析し、メモリアクセスの際におけるキャッシュメモリの利用の有無を決定する。
(4)ステップS104
メモリアクセス解析処理部23は、キャッシュメモリを利用する場合、利用するキャッシュメモリセット、又はキャッシュメモリセットのグループを決定し、中間言語3を作成する。
(5)ステップS105
目的プログラム生成処理部24は、中間言語3を読み込み、キャッシュ制御コード生成処理部25に通知する。このとき、目的プログラム生成処理部24は、キャッシュ制御コード生成処理部25を起動するようにしても良い。
(6)ステップS106
キャッシュ制御コード生成処理部25は、中間言語3を読み込み、キャッシュを制御するコードや、キャッシュ制御を指定したメモリアクセス命令を作成し、目的プログラム30に組み込む。
(7)ステップS107
最後に、目的プログラム生成処理部24は、目的プログラム30が完成すると、目的プログラム30をコンパイラ20の外部に出力する。
<実施例>
次に、図3を参照して、本発明の実施例について説明する。
図3は、Fortranの原始プログラム例を示す。図3の原始プログラム例は、原始プログラム10に該当する。
まず、図1に示すメモリアクセス解析処理部23は、図3の原始プログラム例に対し、計算機のキャッシュメモリサイズが512Kbyteを超える配列B、Cがあることから、キャッシュメモリを、図4のように、キャッシュメモリサイズが256Kbyteの2つのキャッシュメモリセットに分割して利用することを決定する。
図4は、計算機のイメージ図である。
計算機100は、CPU(Central Processing Unit)110と、主メモリ装置120を備える。CPU110は、キャッシュメモリ111を備える。キャッシュメモリ111は、第1キャッシュメモリセット1111と、第2キャッシュメモリセット1112に分割されている。
ここでは、図1に示すコンパイラ20は、上記の計算機100上で、CPU110と、主メモリ装置120と、このCPU110を駆動して所望の処理を実行するソフトウェアによって実現されるものとする。
計算機100の例として、PC(パソコン)、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、計算機100は、仮想マシン(Virtual Machine(VM))環境でも良い。但し、実際には、これらの例に限定されない。
CPU110は、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路(Integrated Circuit(IC))等でも良い。但し、実際には、これらの例に限定されない。
主メモリ装置120の例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置が考えられる。また、主メモリ装置120は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)やSDメモリカード(Secure Digital memory card)等のリムーバブルディスクや記憶媒体(メディア)等でも良い。但し、実際には、これらの例に限定されない。
また、メモリアクセス解析処理部23は、変数A、N、Mについてはループ内で繰返し参照されるため、キャッシュメモリを利用してメモリアクセスすることとし、第1キャッシュメモリセットを利用する。
次に、配列BはDOループ内で参照されているが、ループ変数Iが2次元目にあるため、8000byte飛びのメモリアクセスとなる。また、配列サイズもキャッシュメモリサイズより大きいため、キャッシュメモリ上にデータがなく、全てキャッシュミスヒットする。
このため、CPU110が配列Bのメモリアクセスにキャッシュメモリを利用すると、キャッシュメモリ上の他のデータを全て追い出すこととなる。
従って、メモリアクセス解析処理部23は、メモリ参照にはキャッシュを利用しないことを決定する。
メモリアクセス解析処理部23は、配列Cに関しても、DOループ内で参照されているがループ変数が1次元目にあり、メモリアクセスは連続アクセスとなるため、キャッシュメモリを利用してメモリアクセスするが、配列サイズがキャッシュメモリサイズより大きいため、第2キャッシュメモリセットを利用してメモリアクセスすることとし、変数A、N、Mのキャッシュ上のデータを追い出さないようにする。
本発明を適用しない場合は、全てのメモリアクセスに対して、一つのキャッシュメモリを無条件に利用することとなるため、DOループの処理中に変数A、N、Mのデータが、配列B、Cの参照によりキャッシュ上から追い出され、キャッシュミスヒットが生じ性能低下を起こしていた。
本発明の適用により、変数A、N、Mのデータはキャッシュ上から追い出されることがなくなり、性能向上が図られる。
<本発明の特徴>
以上のように、本発明におけるコンパイラのコンパイル方式では、キャッシュメモリのソフトウェア制御機能を利用した目的プログラムを生成する。
このコンパイラのコンパイル方式では、キャッシュメモリのソフトウェア制御機能を有するコンピュータシステム用のコンパイラにおいて、原始プログラムの解析結果から変数や配列のメモリアクセス状況を調べ、その結果によりキャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御することにより、効率的にキャッシュメモリを利用する目的プログラムを作成することを特徴とする。
このコンパイラは、少なくとも、メモリアクセス解析処理部と、目的プログラム生成処理部と、キャッシュ制御コード生成処理部を備える。
メモリアクセス解析処理部は、原始プログラムをコンパイルして、目的プログラムを生成するコンパイラにおいて、原始プログラムで使用されている、変数や配列のサイズ、メモリアクセス箇所や回数等のメモリアクセス状況を解析する。
また、メモリアクセス解析処理部は、原始プログラムの変数や配列のメモリアクセス時に、キャッシュメモリを利用してメモリアクセスするか否か判定する。
また、メモリアクセス解析処理部は、キャッシュメモリを利用してメモリアクセスする場合、複数個のキャッシュメモリセットからどのキャッシュメモリセットを利用するのかを決定する。すなわち、メモリアクセス解析処理部は、キャッシュメモリセットの候補の中から、利用するキャッシュメモリセットを決定する。
目的プログラム生成処理部は、前記キャッシュ制御コード生成処理部を利用しながら、目的プログラムを生成する。
キャッシュ制御コード生成処理部は、前記メモリアクセス解析処理部で決定された情報に従ってキャッシュメモリの制御コードを作成する。ここでは、決定された情報とは、利用するキャッシュメモリセットに関する情報である。
本発明を適用したコンパイラを、プログラマが利用すると、対象となる計算機が有するキャッシュメモリのソフトウェア制御機能を利用して効率的にキャッシュメモリを使用する目的プログラムが得られ、プログラムを高速化する負担が減少する。
本発明では、プログラムのメモリアクセスパターンに応じてキャッシュメモリを割り当てを最適化するため、キャッシュの汚染が減少し、より効率的なキャッシュメモリの利用ができるようになる。このため、目的プログラムが高速化される。
また、本発明では、プログラマの代わりにコンパイラがキャッシュメモリの利用の最適化を行うため、プログラマのプログラムの高速化の負荷を軽減できる。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
1、2、3… 中間言語
10… 原始プログラム
20… コンパイラ
21… 中間言語作成処理部
22… 最適化処理部
23… メモリアクセス解析処理部
24… 目的プログラム生成処理部
25… キャッシュ制御コード生成処理部
30… 目的プログラム
100… 計算機
110… CPU
111… キャッシュメモリ
1111… 第1キャッシュメモリセット
1112… 第2キャッシュメモリセット
120… 主メモリ装置

Claims (9)

  1. 原始プログラムをコンパイルして目的プログラムを生成するコンパイラであって、
    原始プログラムの解析結果から、前記原始プログラムの変数及び配列のメモリアクセス状況を調査するメモリアクセス解析処理手段と、
    メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成する目的プログラム生成処理手段と
    を具備する
    コンパイラ。
  2. 請求項1に記載のコンパイラであって、
    前記メモリアクセス解析処理手段は、
    前記原始プログラムの変数及び配列のメモリアクセス時に、キャッシュメモリを利用してメモリアクセスするか否か判定する手段と、
    キャッシュメモリを利用してメモリアクセスする場合、複数のキャッシュメモリセットの候補の中から、利用するキャッシュメモリセットを決定する手段と
    を具備する
    コンパイラ。
  3. 請求項2に記載のコンパイラであって、
    目的プログラム生成処理手段は、
    前記決定されたキャッシュメモリセットに対して、キャッシュメモリの制御コードを作成し、前記目的プログラムに組み込む手段
    を具備する
    コンパイラ。
  4. 原始プログラムをコンパイルして目的プログラムを生成するコンパイラにより実施されるコンパイル方法であって、
    原始プログラムの解析結果から、前記原始プログラムの変数及び配列のメモリアクセス状況を調査することと、
    メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成することと
    を含む
    コンパイル方法。
  5. 請求項4に記載のコンパイル方法であって、
    前記原始プログラムの変数及び配列のメモリアクセス時に、キャッシュメモリを利用してメモリアクセスするか否か判定することと、
    キャッシュメモリを利用してメモリアクセスする場合、複数のキャッシュメモリセットの候補の中から、利用するキャッシュメモリセットを決定することと
    を更に含む
    コンパイル方法。
  6. 請求項5に記載のコンパイル方法であって、
    前記決定されたキャッシュメモリセットに対して、キャッシュメモリの制御コードを作成し、前記目的プログラムに組み込むこと
    を更に含む
    コンパイル方法。
  7. 原始プログラムをコンパイルして目的プログラムを生成する際に、原始プログラムの解析結果から、前記原始プログラムの変数及び配列のメモリアクセス状況を調査するステップと、
    メモリアクセス状況の調査結果から、キャッシュメモリのソフトウェア制御機能を用いて動的にキャッシュメモリを制御し利用する目的プログラムを作成するステップと
    を計算機に実行させるための
    コンパイル実行プログラム。
  8. 請求項7に記載のコンパイル実行プログラムであって、
    前記原始プログラムの変数及び配列のメモリアクセス時に、キャッシュメモリを利用してメモリアクセスするか否か判定するステップと、
    キャッシュメモリを利用してメモリアクセスする場合、複数のキャッシュメモリセットの候補の中から、利用するキャッシュメモリセットを決定するステップと
    を更に計算機に実行させるための
    コンパイル実行プログラム。
  9. 請求項8に記載のコンパイル実行プログラムであって、
    前記決定されたキャッシュメモリセットに対して、キャッシュメモリの制御コードを作成し、前記目的プログラムに組み込むステップ
    を更に計算機に実行させるための
    コンパイル実行プログラム。
JP2010031450A 2010-02-16 2010-02-16 コンパイラ、コンパイル方法、及びコンパイル実行プログラム Pending JP2011170439A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010031450A JP2011170439A (ja) 2010-02-16 2010-02-16 コンパイラ、コンパイル方法、及びコンパイル実行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010031450A JP2011170439A (ja) 2010-02-16 2010-02-16 コンパイラ、コンパイル方法、及びコンパイル実行プログラム

Publications (1)

Publication Number Publication Date
JP2011170439A true JP2011170439A (ja) 2011-09-01

Family

ID=44684533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010031450A Pending JP2011170439A (ja) 2010-02-16 2010-02-16 コンパイラ、コンパイル方法、及びコンパイル実行プログラム

Country Status (1)

Country Link
JP (1) JP2011170439A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080030B2 (en) 2019-07-19 2021-08-03 Fujitsu Limited Information processing apparatus and information processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007213A (ja) * 2000-06-26 2002-01-11 Matsushita Electric Ind Co Ltd キャッシュメモリ制御方法及びプログラム処理方法
JP2005122481A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置およびリンカ装置
JP2005122506A (ja) * 2003-10-17 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置
JP2008102733A (ja) * 2006-10-19 2008-05-01 Hitachi Ltd コード生成方法およびコンパイラ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007213A (ja) * 2000-06-26 2002-01-11 Matsushita Electric Ind Co Ltd キャッシュメモリ制御方法及びプログラム処理方法
JP2005122481A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置およびリンカ装置
JP2005122506A (ja) * 2003-10-17 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置
JP2008102733A (ja) * 2006-10-19 2008-05-01 Hitachi Ltd コード生成方法およびコンパイラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080030B2 (en) 2019-07-19 2021-08-03 Fujitsu Limited Information processing apparatus and information processing method

Similar Documents

Publication Publication Date Title
Hildebrand et al. Autotm: Automatic tensor movement in heterogeneous memory systems using integer linear programming
JP4934267B2 (ja) コンパイラ装置
US9798528B2 (en) Software solution for cooperative memory-side and processor-side data prefetching
JP5030796B2 (ja) データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
US9235433B2 (en) Speculative object representation
JP2006260096A (ja) プログラム変換方法およびプログラム変換装置
JP2020135499A (ja) データ処理装置、ストレージ装置およびプリフェッチ方法
US9501408B2 (en) Efficient validation of coherency between processor cores and accelerators in computer systems
KR102590679B1 (ko) 벡터 요소들 내부의 비트 값들의 시험
EP2923266A1 (en) Software and hardware coordinated prefetch
US8266605B2 (en) Method and system for optimizing performance based on cache analysis
US20100115502A1 (en) Post Processing of Dynamically Generated Code
Li et al. Compiler assisted hybrid implicit and explicit GPU memory management under unified address space
JP2020525905A (ja) アドレス変換データの無効化
Xu et al. Machine learning guided optimal use of GPU unified memory
JP2009020696A (ja) 情報処理装置及びシステム
JP2009271606A (ja) 情報処理装置およびコンパイル方法
JP2008003882A (ja) コンパイラプログラム,リストベクトルの領域割当て最適化方法,コンパイル処理装置およびコンパイラプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011170439A (ja) コンパイラ、コンパイル方法、及びコンパイル実行プログラム
Sharma et al. Data layout optimization for portable performance
Lai et al. Relax: Composable Abstractions for End-to-End Dynamic Machine Learning
JP5238797B2 (ja) コンパイラ装置
Xu et al. XUnified: A Framework for Guiding Optimal Use of GPU Unified Memory
JP2008071128A (ja) プリフェッチ制御方法及びコンパイル装置
JP2003216442A (ja) プログラム変換方法、これを用いたコンピュータ装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140408