Intel oneAPI Base Toolkit + HPC Toolkit (Intel Fortran)のインストール（Windows版）

# 概要
Intel Fortran（正確にはIntel oneAPI Base Toolkit + HPC Toolkit）が無料で利用できる[^supp]という情報があったので，Windows版を手元の計算機にインストールする手順をまとめました．

[^supp]: サポートを受ける場合は有償．無償利用でも，Intel Developer Zone community forumsで質問したりすることは可能．

# 環境
- Windows 10 64 bit
- Intel oneAPI Base Toolkit 2021.1.0.2664
- Intel oneAPI HPC Toolkit 2021.1.0.2682
- Visual Studio 2017

## 更新情報
Intel oneAPI Base Toolkit 2022.1.3, Intel oneAPI HPC Toolkit 2022.1.3も同じ手順でインストール可能であることを確認しました．
相違点は，GUIのデザインが若干変わっていること，Visual Studioとの統合で2022にも対応したこと程度です．

# ダウンロード
ダウンロードは，Intel公式のページ[Free Intel® Software Development Tools](https://software.intel.com/content/www/us/en/develop/articles/free-intel-software-developer-tools.html)から行えます．非常に期待の持てるページタイトルです．

上記ページにアクセスすると，Intel oneAPI Toolkitsの説明が書いてあります．その一文に

> All Intel® oneAPI Toolkits products are available at no cost. 

とあるので，確かに無料で利用できるようです[^lice]．

[^lice]: Intel Fortranは，かつてはLinux版を無償で利用できたのがいつの間にか有償になり，それに替わって学生，教育者，オープンソースソフトウェア開発者向けのライセンス（要登録）が設けられるなど，今一はっきりしない状態でしたが，oneAPI Toolkitsは無料で利用できるようです．

Intel Fortranを利用するには，
1. Intel oneAPI Base Toolkit（以下，Base Kit）
2. Intel oneAPI HPC Toolkit（以下，HPC Kit）
をインストールする必要があります．

そこで，ダウンロードページにおいて，[Get the Base Kit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html)および[Get the HPC Kit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html)から，インストーラをダウンロードします．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/12e21440-254a-639f-f024-7bc86a28314f.png)

## Intel oneAPI Base Toolkitのダウンロード
[Get the Base Kit]をクリックし，Base Kitのダウンロードページへ移動します．ダウンロードページでは，まずOSを選択します．OSは，Windows, macOS, Linuxの3種類から選ぶことができますが，本記事はWindows版のインストール方法を説明するので，Windowsを選択します．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/1a5947db-e82d-262d-7bf4-9eda06e37c37.png)

OSを選択すると，次にDistributionを選択する項目が出てきますが，Windows版にはWeb&Local(recommended)しか存在しないので，それを選択します．

最後に，Installer Typeで，LocalインストールかOnlineインストールかを選択します．インストールしたい計算機のネットワーク回線が弱い，あるいは回線が外部と繋がっていない場合は，Localを選択してインストーラをダウンロードしてください．それ以外はOnlineでよいと思います．

項目を全て選択すると，下図のように，インストーラの説明とインストーラに含まれるソフトウェアの内容，ファイルサイズが表示され，[Download]ボタンが現れます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/7eaa0ef2-0310-b6d5-05d2-5974147660d3.png)

画像には含めていませんが，ページ下部にインストール方法の簡単な説明があるので，それは一読してください．

[Download]ボタンをクリックすると，インストーラのダウンロードが始まります．このとき，Intelのサイトにログインしていないと，下記のようにログインするかアカウントを登録するかを促すポップアップが現れます．無料で使わせてもらえるのですから，特段の理由がなければ登録したほうがよいと思います[^download]．

[^download]: 実は，ポップアップ下部にあるMaybe next time. Please take me to my download.はリンクになっているので，それをクリックすればアカウント登録なしでダウンロードできます．それでも，無料で使わせてもらえるわけですから，登録しておいたほうがよいとは思います．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/ac9250a7-bf27-d2b0-2cbe-41ee904baf7a.png)

## Intel oneAPI HPC Toolkitのダウンロード
Base Kitのダウンロードが終わった後，一つ前のページに戻り，[Get the HPC Kit]をクリックしてHPC Kitのダウンロードページへ移動します．

Base Kitと同様，ダウンロードページではOS, Distribution, Installer Typeを選択します．

OSにWindowsを選択します．

DistributionにはWeb&Local(recommended)しか存在しないので，それを選択します．

Installer TypeはLocalインストールかWebインストールかを選択できますが，Base Kitと同様にして決めればよいでしょう．

項目を全て選択すると，インストーラの説明とインストーラに含まれるソフトウェアの内容，ファイルサイズが表示されます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/f9f20c74-124e-f64e-1c53-3492305eed5d.png)

[Download]ボタンをクリックしてインストーラをダウンロードします．このとき，サインインしていなければ，Base Kitと同様にポップアップが現れます．

# インストール
Windows版のインストールは，ダウンロードしたインストーラをダブルクリックし，支持に従って進んでいくだけなので，簡単です．

## Base Kitのインストール
ダウンロードしたインストーラを実行します．インストーラの名前は，2021年1月16日時点でw_BaseKit_p_2021.1.0.2664.exe（Localインストールを選んだ場合はw_BaseKit_p_2021.1.0.2664_offline.exe）のようになっているはずです．

インストーラを実行すると，Localインストールの場合はファイルを解凍するフォルダの設定画面が現れます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/9b8f4ea5-417b-27a9-a065-10b0558ace19.png)

適当なパスを指定して[Extract]をクリックすると，解凍が始まります．解凍が終わるとインストーラが起動するので，[Continue]ボタンをクリックしてインストールを進めます．Webインストールの場合は，画面が遷移する前にいくつかのファイルがダウンロードされます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/c3c4bc55-8a15-0ab3-5f4f-2b953ebc3a68.png)

次にインストールの方法を選択します．Recommend InstallationはBase Kitに含まれる全てのソフトウェアをインストールします．インストールするソフトウェアを選択したい場合は，Custom Installationを選択します（[Continue]ボタンがグレーアウトしていますが，クリックできます）
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/103f6fb1-6c0f-db44-43cf-5d9aff82cd4c.png)

Custom Installationを選択した場合，インストーラに含まれるソフトウェアの一覧が現れます．インストールしたくないソフトウェアがある場合には，チェックを外すことでインストールしないようにできます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/3391d8d1-c733-26ff-6b8b-a68f051fe43a.png)

インストール手順を進めるには，画面下部にある[→]（右矢印）ボタンをクリックします．

著者の環境では注意が出ました．これは，Intel GPUを用いるプログラムの開発・実行にIntelのGraphicsドライバが必要だが，それが見つからないという注意です．著者はIntel GPUを利用するプログラムは開発しないので，この注意に対しては特に何も行いません．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/6c87e4f3-06fb-ac97-1245-6df63ec2b578.png)

次に，統合開発環境にoneAPIを統合するかの項目が現れます．著者はVisual Studio 2017を利用しているので，統合することにしました．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/1713e8cc-78ad-7bcd-d379-8fb6ffd75202.png)

最後に，Software Improvement Programに参加するかどうかの項目が現れます．これは各自で同意するか，同意しないかを選択してください．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/ff146caa-7f71-4755-f12a-f48ec94b3f7e.png)

[Install →]ボタンをクリックすると，インストールが始まります．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/2fa55e3b-5879-e2bc-e69b-900c489b974c.png)

インストールが完了すると，それを告知するポップアップが現れます．インストール作業自体は完了しているので，インストーラは終了してしまって問題ありません．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/0a19d2ef-319c-a354-be7a-8e3657896bc9.png)

このポップアップにある[Get Started Guide]ボタンをクリックすると，[システムの設定方法](https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-base-windows/top/before-you-begin.html)について書かれたIntelのページにに繋がります．

[Go to Installed Products]ボタンをクリックすると，インストーラの画面が遷移します．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/e40b1b67-a68a-7f9a-c6db-1eb43e1e858b.png)
この画面で[Modify]ボタンをクリックすると，Custom Installationを選択した場合と同様の画面が現れます．この画面から，ソフトウェアの追加インストールや削除を行えます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/ba45c5c5-ecb1-bdb4-21e9-72a49312c886.png)


## HPC Kitのインストール
続いて，HPC Kitのインストールを行います．Base Kitと同様に，ダウンロードしたインストーラを実行します．インストーラの名前は，2021年1月16日時点でw_HPCKit_p_2021.1.0.2682.exe（Localインストールを選んだ場合はw_HPCKit_p_2021.1.0.2682_offline.exe）のようになっているはずです．

インストーラを実行すると，Localインストールの場合はファイルを解凍するフォルダの設定画面が現れます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/207984b9-62ac-331c-d049-74a017eb6b8a.png)

適当なパスを指定して[Extract]をクリックし，解凍します．解凍が終わるとインストーラが起動するので，[Continue]ボタンをクリックしてインストールを進めます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/bee3cb4f-d26a-8dae-fd0f-59ffac3b55d6.png)

次に，インストーラに含まれるソフトウェアの一覧が現れます．インストールしたくないソフトウェアがある場合には，チェックを外すことでインストールしないようにできます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/cfe8e6be-4cf5-5424-9701-c1dfab88e775.png)

右矢印ボタンをクリックしてインストールを継続します．すでにIntel Fortranをインストールしている場合，注意が現れる場合があります．著者の環境では，Intel Fortran 19がインストールされ，Visual Studio 2017と統合されています．それに起因して，統合機能がアンインストールされ，oneAPIに含まれる統合機能に置き換えられることが書かれています．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/2f03843c-9f21-4a4c-05f8-9ab495c7adb9.png)

[→]ボタンをクリックして次の画面に移動すると，統合開発環境にoneAPIを統合するかの項目が現れます．Base Kitの際にVisual Studio 2017と統合しているので，ここでもVisual Studio 2017と統合します．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/1540f803-bfb0-931f-7c98-3724754a6dda.png)

最後に，Software Improvement Programに参加するかどうかの項目が現れます．これもBase Kitと同様に，Programへの参加に同意するか否かを選択します．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/2e0c0064-eff1-76d2-9e7e-0edcd63367de.png)

[Install →]ボタンをクリックしてインストールします．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/b30388fd-eb75-0438-5909-9c1f1d201be1.png)

これもBase Kitと同様に，インストールが完了すると，それを告知するポップアップが現れます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/927154dd-223f-4453-dcc1-9451d2beb9a3.png)


このポップアップにあるGet [Started Guide]ボタンをクリックすると，[プロジェクトのビルド方法](https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-hpc-windows/top/run-a-sample-project-using-the-command-line.html#run-a-sample-project-using-the-command-line)について書かれたIntelのページにに繋がります．

[Go to Installed Products]ボタンをクリックすると，インストーラの画面が遷移し，HPC Kitが新規にインストールされたことが確認できます．[Modify]ボタンをクリックすれば，HPC Kitに含まれるソフトウェアの追加インストールや削除を行えます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/004fce45-0b1e-50f3-aace-49b0a8462319.png)

# 実行
## コマンドライン
インストールが完了すると，スタートメニューに項目が追加されます．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/480cdd0d-da71-3e4e-ba5a-f02ba2f315c9.png)
そのうち，Intel oneAPI command prompt for Intel 64 for Visual Studio 2017[^menu]を選択すると，コマンドプロンプトが起動し，oneAPIの環境変数を設定するbatファイルが実行されます．
![oneapi_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/2f172028-bcaa-0d84-80da-3a9a145705d0.png)

[^menu]: 項目の名前のうち，Visual Studio 2017の箇所は，インスト－ルするシステムによって変化します．

`ifort`コマンドを実行すると，Intel Fortranコンパイラが実行されている事が確認できます．著者の環境では，Intel Fortranのバージョン19もインストールされていますが，無事にバージョン2021.1が実行されました．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/efc4d5b6-8612-2987-425e-52cc579e3ee2.png)

## Visual Studio
Visual Studioを起動し，[ファイル]→[新規作成]→[プロジェクト]を順次選択していきます．新しいプロジェクト作成ウィンドウが開かれるので，Intel(R) FortranのConsole Applicationを選択し，Empty Projectを選択します．
![oneapi_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/17164736-57db-953e-8117-13707d715460.png)
画面には示していませんが，プロジェクトの名前，場所を選択して[OK]ボタンをクリックしてプロジェクトを作成します．ここでは，oneAPI_testと名付けました．

ソースファイルにFortranのソースファイル（.f90）を追加して，編集します．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/468e48b0-9b19-0b82-6b53-6d5529434c95.png)

[ビルド]→[ソリューションのビルド]を選択してビルドを実行すると，出力されたログから，Intel Fortran 2021.1が実行されている事がわかります[^w32]．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/f7f1ede0-3bb5-853f-7ba0-d4a1dc00a931.png)

[^w32]: ソリューションプラットフォームがx86になっているので，IA 32版のコンパイラが実行されていますが，ソリューションプラットフォームをx64にすると，Intel(R) 64版のコンパイラが実行されます．

[デバッグ]→[デバッグなしで開始]を選択すると，ビルドされたプログラムが無事に実行されました．
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224040/ec982aec-399d-426d-4d17-ecf14eac90eb.png)

# まとめ
Intel oneAPIとして統合されたIntel Fortran Windows版のインストール手順を紹介しました．

Intel oneAPIのBase ToolkitおよびHPC Toolkitのインストーラをダウンロードして，それぞれ実行するだけです．Base Toolkitを先にインストールする必要があること以外，特に気をつけることはなく，非常に簡単にインストールできました．インストールの手順を見て判るとおり，ライセンスに関する設定は一切現れませんでした．

Intel Fortranは，独自拡張やコンパイル時の最適化が非常に強力です．Fortranコンパイラのデファクトスタンダードの感もあるので，まだIntel Fortranを使ったことがない方は，（インストール容量が許せば）これを機会に使ってみてはいかがでしょうか？

次はUbuntu on WSLにインストールする手順をまとめる予定です．
→まとめました．[Intel oneAPI Base Toolkit + HPC Toolkit (Intel Fortran)のインストール（Linux版）](https://qiita.com/implicit_none/items/35bc4be8f2022903747a)