Intel oneAPIで作る無償のFortran開発環境


Intel oneAPIとは?

Intel oneAPIは、多様なデバイスやライブラリ環境の中で、高度なプログラムをシンプルに記述することを目的としてIntel社から提供されている統合開発環境です。詳しくは、XLSOFTさんのホームページに記述されていますので、気になる方は参照ください。

ここでは、Intel oneAPIを利用してfortran開発環境を作る手順を紹介したいと思います。Intel oneAPIはXLSOFTさんのホームページで有償販売されていますが、ここでは無償で開発環境を作る手順を紹介します。自己責任でお願いします。なぜ、有償と無償があるのが、その差異は?などについては、XLSOFTさんにご確認お願いします。私は知りません。。。

環境構築手順

ここではOSがWindows10の場合の環境構築手順を紹介します。MacやLinuxを利用している方は参考程度に見ていただければと思います。

0. 今回インストールするもの

Intel oneAPI対応Fortran開発環境は以下3つのソフトウェアをインストールすることで構築することができます。

  • 1. Visual Studio2019をインストール
  • 2. Intel oneAPI Base Toolkitをインストール
  • 3. Intel oneAPI HPC Toolkitをインストール

Intel fortranコンパイラは、'HPC Toolkit'の中に入っています。'HPC Toolkit'をインストールするためには、'Intel oneAPI BaseToolkit'が必要となります。'HPC Toolkit'が、'Intel oneAPI BaseToolkit'のアドオンになっています。'Intel oneAPI Base Toolkit'は、'Visual Studio 2019'の機能を利用して構成することを基本としています。ので、'Visual Studio 2019'をインストールする必要があります。

というこで上記の環境手順となります。以降一つずつ手順を追って紹介します。

1.Visual Studio 2019のインストール

(1)インストーラーの取得

下記ページの「コミュニティ」の「無料ダウンロード」をクリックしてダウンロードしてください。"vs_community__855608704.1618790787.exe"がダウンロードされます。

(2)インストール

"vs_community__855608704.1618790787.exe"をダブルクリックするとインストールが始まります。基本的にはインストーラーの指示に従いデフォルト設定でインストールしてください。

1点、「ワークロード」のところで、 「デスクトップとモバイル>C++によるデスクトップ開発」 にチェックを入れてインストールしてください。

インストールが完了すればOKです。

2.Intel oneAPI Base Toolkitのインストール

(1)インストーラの取得

下記ページにアクセスし、"Download the Toolkit"の下にある"GetItNow"をクリックしてください。

OSや配布タイプ、インストーラータイプを選択します。私は以下の選択しました。

  • Operating System: Windows
  • Distribution: Web & Local
  • Installer Type: Online

選択すると画面右側下のほうにある"Download"ボタンがアクティブになりますので、クリックしてダウンロードしてください。"w_BaseKit_p_2021.2.0.2871.exe"がダウンロードされます。

(2)インストール

"w_BaseKit_p_2021.2.0.2871.exe"をダブルクリックするとインストールが始まります。

ライセンスに同意し、"Recommended Installation"の"Continue"をクリックしてください。

Microsoft Visual Studio* 2019にチェックを入れ、"→"をクリックしてください。

"Install"をクリックするとインストールが開始されます。

完了すると以下のような画面が表示されます。

3.Intel oneAPI HPC Toolkitのインストール

(1)インストーラの取得

下記ページにアクセスし、"Download the Toolkit"の下にある"GetItNow"をクリックしてください。

OSや配布タイプ、インストーラータイプを選択します。私は以下の選択しました。

  • Operating System: Windows
  • Distribution: Web & Local
  • Installer Type: Online

選択すると画面右側下のほうにある"Download"ボタンがアクティブになりますので、クリックしてダウンロードしてください。"w_HPCKit_p_2021.2.0.2901.exe"がダウンロードされます。

(2)インストール

"w_HPCKit_p_2021.2.0.2901.exe"をダブルクリックするとインストールが始まります。
以降は、"Intel oneAPI Base Toolkit"と同様にインストールしてください。

動作確認

インストールしたものがうまく動作するか確認します。ここでは簡単なfortranプログラムを作成し試してみます。

    1. Visual Studio 2019を起動する 起動時に表示される画面。
    1. 新しいプロジェクトを作成  "Empty Project, Fortran, Windows, コンソール"を選択し、「次へ」をクリック
    1. プロジェクト名:"test"として「作成」をクリック

  • 4. 「ソースファイル」を右クリックし、「追加>新しい項目」

  • 5. Fortran Free-form File(.f90)を選択し、名前:"test.f90"として「追加」をクリック。

  • 6.以下のようなコードを記述します。下をコピペして貼り付けてください。
qiita
    program test

    implicit none
    real(8), parameter :: hour_sec = 3600.0d0

    real(8) :: t_start, t_end, t_output, dt
    integer(8) :: it_start, it_end, it_output
    real(8) :: time_s, time_h
    integer(8) :: it

    write(*,"(a)") "MSG:program starts."

    !--------------------------------------------------
    ! set default and input parameters
    !--------------------------------------------------
    t_start = 0.0d0; t_end = 24*hour_sec; t_output = hour_sec
    dt = 0.1d0

    !--------------------------------------------------
    ! set calculation parameters
    !--------------------------------------------------
    it_start = int(t_start)
    it_end = int((t_end - t_start) / dt) + 1
    it_output = int(t_output / dt)

    !--------------------------------------------------
    ! main loop
    !--------------------------------------------------
    write(*,"(a)") "MSG:time loop starts."
    do it = it_start, it_end
        time_s = it * dt
        time_h = time_s / hour_sec    

        ! output
        if( mod(it, it_output) == 0 )then
            write(*,"(a7, f15.3, a7)") "time = ",  time_h, "[hour]"

            !call output

        end if


        !call calc_main    

    end do
    write(*,"(a)") "MSG:time loop ends."
    write(*,"(a)") "MSG:program ends normally."

    end program

Visual Studio 2019でプログラムを実行する方法は様々ありますが、ここでは「メニューバー>デバッグ>デバッグなしで開始」をクリックして実行します。プログラムがコンパイルされてから実行されます。以下のように出力時刻が表示されます。

とても簡単なプログラムですが、fortranプログラムがコンパイルされ動作することが確認できました。

まとめ

ここではfortranプログラムの開発環境を作ることを目的にVisual Studio 2019, Intel oneAPIをインストールしてみました。インストール後、簡単なfortranプログラムを作成し動作確認を行い、問題なく動作することを確認しました。

この環境では従来、数十万円していたコンパイラや分析ツールなどがすべて無償で利用できます。サポートや保証がないとうこともありますが、実際これまでもIntelやXLSOFTさんに問合せしたことないですし、サポートを受けたこともありません。なので実質同じ状態を無償で手に入れることができたことになり、うれしい限りです。

一点、Intel Fortran Compilerに"Beta"という表記があるという点は若干不安ではあります。が、おそらく大きな差異や問題はなく、「何か問題が生じても知らないよ」という意思表示しているだけではと推測しています。なので気にせず利用してみたいと思います。

今後いろいろ試して、また情報共有させていただきます。では!