インテル コンパイラーお試しキャンペーン
応募フォームはこちら

サンプルプログラムを以下の手順に従ってコンパイル、実行、結果を確認して、パフォーマンスが向上しているか確認します。
その後、以下の設問にお答えいただいた方の中から抽選で豪華粗品をプレゼントいたします。

キャンペーン用プログラムのダウンロード

下記のリンク先からダウンロードしてください。

サンプルプログラム (zip、5KB)

ソフトウェア開発にご利用のホスト OS (Windows*、Linux*) のいずれかの手順をお選びください。
それぞれのホスト OS における C/C++ および Fortran 言語別の手順を明記しています。


Windows C/C++ (Command)

準備: start-cmd.bat を実行します。

Step 1

1. 最初の一歩: インテル コンパイラーによりコンパイルし、実行します。実行すると、最後に計算にかかった時間 (秒) が表示されます。
   icl step1\integral.c    integral.exe 2. 自動ベクトル化: このシステムのプロセッサーで最適な SIMD 拡張命令を用いるように指示します。    icl step1\integral.c /QxHost /Qdiag-enable:10382    integral.exe 3. 自動並列化: このシステムのプロセッサーの複数のコアを用いて演算処理を行うように指示します。    icl step1\integral.c /Qparallel /Qopt-report-phase:par    integral.exe    3-ex. 最適化レポートを確認します: step1\integral.c(46,9) に注目          type integral.optrpt 4. プロファイルに基づく最適化 (PGO)    4-1. プロファイル実行のためのコンパイル          icl step1\integral.c /Fe:integral-pgo /Qprof-gen          integral-pgo.exe    4-2. プロファイル結果を使うコンパイル          icl step1\integral.c /Qparallel /Qopt-report-phase:par /Qprof-use          set KMP_HW_SUBSET=1t          set OMP_PROC_BIND=true          integral.exe    4-ex. 最適化レポートを確認します: step1\integral.c(46,9) に注目          type integral.optrpt 5. 自動ベクトル化 + 自動並列化    icl step1\integral.c /QxHost /Qdiag-enable:10382 /Qparallel /Qopt-report-phase:vec,par /Qprof-use    integral.exe

Step 2

1. 複数ファイルのコンパイルと自動ベクトル化結果    icl step2\integ_func.c step2\main.c /QxHost /Qopt-report-phase:vec    integ_func.exe    1-ex. 最適化レポートを確認します: step2\main.c(47,9) に注目          type main.optrpt 2. プロシージャー間の最適化 (IPO) の適用    icl step2\integ_func.c step2\main.c /QxHost /Qopt-report-phase:vec /Qipo    integ_func.exe   2-ex. IPO 適用時の最適化レポートを確認します: step2\main.c(47,9) に注目          type ipo_out.optrpt

Windows Fortran (Command)

準備: start-cmd.bat を実行します。

Step 1

1. 最初の一歩: インテル コンパイラーによりコンパイルし、実行します。実行すると、最後に計算にかかった時間 (秒) が表示されます。
   ifort step1\integral.f90    integral.exe 2. 自動ベクトル化: このシステムのプロセッサーで最適な SIMD 拡張命令を用いるように指示します。    ifort step1\integral.f90 /QxHost /Qdiag-enable:10382    integral.exe 3. 自動並列化: このシステムのプロセッサーの複数のコアを用いて演算処理を行うように指示します。    ifort step1\integral.f90 /Qparallel /Qopt-report-phase:par    integral.exe    3-ex. 最適化レポートを確認します: step1\integral.f90(26,9) に注目          type integral.optrpt 4. プロファイルに基づく最適化 (PGO)    4-1. プロファイル実行のためのコンパイル          ifort step1\integral.f90 /Fe:integral-pgo /Qprof-gen          integral-pgo.exe    4-2. プロファイル結果を使うコンパイル          ifort step1\integral.f90 /Qparallel /Qopt-report-phase:par /Qprof-use          set KMP_HW_SUBSET=1t          set OMP_PROC_BIND=true          integral.exe    4-ex. 最適化レポートを確認します: step1\integral.f90(26,9) に注目          type integral.optrpt 5. 自動ベクトル化 + 自動並列化    ifort step1\integral.f90 /QxHost /Qdiag-enable:10382 /Qparallel /Qopt-report-phase:vec,par /Qprof-use    integral.exe

Step 2

1. 複数ファイルのコンパイルと自動ベクトル化結果    ifort step2\integ_func.f90 step2\main.f90 /QxHost /Qopt-report-phase:vec    integ_func.exe    1-ex. 最適化レポートを確認します: step2\main.f90(30,9) に注目          type main.optrpt 2. プロシージャー間の最適化 (IPO) の適用    ifort step2\integ_func.f90 step2\main.f90 /QxHost /Qopt-report-phase:vec /Qipo    integ_func.exe    2-ex. IPO 適用時の最適化レポートを確認します: step2\main.f90(27,9) に注目          type ipo_out.optrpt

Linux C/C++ (Command)

Step 1

1. 最初の一歩: インテル コンパイラーによりコンパイルし、実行します。実行すると、最後に計算にかかった時間 (秒) が表示されます。
   icc -o integral.exe -std=c99 step1/integral.c    ./integral.exe 2. 自動ベクトル化: このシステムのプロセッサーで最適な SIMD 拡張命令を用いるように指示します。    icc -o integral.exe -std=c99 step1/integral.c -xHost -diag-enable=10382    ./integral.exe 3. 自動並列化: このシステムのプロセッサーの複数のコアを用いて演算処理を行うように指示します。    icc -o integral.exe -std=c99 step1/integral.c -parallel -qopt-report-phase=par    ./integral.exe    3-ex. 最適化レポートを確認します: step1/integral.c(46,9) に注目          cat integral.optrpt 4. プロファイルに基づく最適化 (PGO)    4-1. プロファイル実行のためのコンパイル          icc -o integral-pgo.exe -std=c99 step1/integral.c -prof-gen          ./integral-pgo.exe    4-2. プロファイル結果を使うコンパイル          icc -o integral.exe -std=c99 step1/integral.c -parallel -qopt-report-phase=par -prof-use          export KMP_HW_SUBSET=1t          export OMP_PROC_BIND=true          ./integral.exe    4-ex. 最適化レポートを確認します: step1/integral.c(46,9) に注目          cat integral.optrpt 5. 自動ベクトル化 + 自動並列化    icc -o integral.exe -std=c99 step1/integral.c -xHost -diag-enable=10382 -parallel -qopt-report-phase=vec,par -prof-use    ./integral.exe

Step 2

1. 複数ファイルのコンパイルと自動ベクトル化結果    icc -o integ_func.exe -std=c99 step2/integ_func.c step2/main.c -xHost -qopt-report-phase=vec    ./integ_func.exe    1-ex. 最適化レポートを確認します: step2/main.c(47,9) に注目          cat main.optrpt 2. プロシージャー間の最適化 (IPO) の適用    icc -o integ_func.exe -std=c99 step2/integ_func.c step2/main.c -xHost -qopt-report-phase=vec -ipo    ./integ_func.exe   2-ex. IPO 適用時の最適化レポートを確認します: step2/main.c(47,9) に注目          cat ipo_out.optrpt

Linux Fortran (Command)

Step 1

1. 最初の一歩: インテル コンパイラーによりコンパイルし、実行します。実行すると、最後に計算にかかった時間 (秒) が表示されます。
   ifort -o integral.exe step1/integral.f90    ./integral.exe 2. 自動ベクトル化: このシステムのプロセッサーで最適な SIMD 拡張命令を用いるように指示します。    ifort -o integral.exe step1/integral.f90 -xHost -diag-enable=10382    ./integral.exe 3. 自動並列化: このシステムのプロセッサーの複数のコアを用いて演算処理を行うように指示します。    ifort -o integral.exe step1/integral.f90 -parallel -qopt-report-phase=par    ./integral.exe    3-ex. 最適化レポートを確認します: step1/integral.f90(26,9) に注目          cat integral.optrpt 4. プロファイルに基づく最適化 (PGO)    4-1. プロファイル実行のためのコンパイル          ifort -o integral-pgo.exe step1/integral.f90 -prof-gen          ./integral-pgo.exe    4-2. プロファイル結果を使うコンパイル          ifort -o integral.exe step1/integral.f90 -parallel -qopt-report-phase=par -prof-use          export KMP_HW_SUBSET=1t          export OMP_PROC_BIND=true          ./integral.exe    4-ex. 最適化レポートを確認します: step1/integral.f90(26,9) に注目          cat integral.optrpt 5. 自動ベクトル化 + 自動並列化    ifort -o integral.exe step1/integral.f90 -xHost -diag-enable=10382 -parallel -qopt-report-phase=vec,par -prof-use    ./integral.exe

Step 2

1. 複数ファイルのコンパイルと自動ベクトル化結果    ifort -o integ_func.exe step2/integ_func.f90 step2/main.f90 -xHost -qopt-report-phase=vec    ./integ_func.exe    1-ex. 最適化レポートを確認します: step2/main.f90(30,9) に注目          cat main.optrpt 2. プロシージャー間の最適化 (IPO) の適用    ifort -o integ_func.exe step2/integ_func.f90 step2/main.f90 -xHost -qopt-report-phase=vec -ipo    ./integ_func.exe   2-ex. IPO 適用時の最適化レポート (ipo_out.optrpt) を確認します: step2/main.f90(27,9) に注目          cat ipo_out.optrpt
本キャンペーンは、2019年 9月 13日を以って、応募受付を終了させていただきました。 多くのご応募、誠に有難うございました。
当選発表は厳正な抽選の上、当選メールの送付をもって発表にかえさせていただきます。
なお、いただきました情報は弊社の個人情報保護の方針に則り、厳重に管理いたします。