12
Help us understand the problem. What are the problem?

posted at

updated at

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をインストール
    1. Intel oneAPI Base Toolkitをインストール
    1. 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のインストール

2022年6月29日現在、Visual Studioの最新版は2022らしいのですが、なんとVisual Studio 2022ではIntel fortranがうまく動作しないそうです。回避方法が以下の記事に出ていましたので参考にしてください。

VS 2022 Version 17.2 and Intel Fortran Integration

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

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

(2)インストール

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

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

image.png

インストールが完了すれば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"をクリックしてください。

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

まとめ

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

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

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

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
12
Help us understand the problem. What are the problem?