インテル® oneAPI ベース・ツールキット (Linux* 版) 導入ガイド
インテル® oneAPI ベース・ツールキット
CMake* と pkg-config ビルドツールは、インテル® oneAPI ツールおよびツールキットでは必要ありませんが、多くの oneAPI サンプルは CMake* プロジェクトとして提供されており、それらをビルドするには CMake* が必要です。また、サンプルによっては、アプリケーションのビルドに必要なライブラリーを探すため pkg-config が必要になります。
インテル® コンパイラーは、既存の GNU* ビルド・ツールチェーンを利用して、完全な C/C++ 開発環境を提供します。使用している Linux* ディストリビューションに完全な GNU* 開発ツールスイートが含まれていない場合、これらのツールをインストールする必要があります。
CMake*、pkg-config、および GNU* 開発ツールを Linux* システムにインストールするには、ターミナルセッションを開いて次のコマンドを入力します。
Ubuntu*
sudo apt update
sudo apt -y install cmake pkg-config build-essential
Red Hat* および Fedora*
sudo yum update
sudo yum -y install cmake pkgconfig
sudo yum groupinstall "Development Tools"
SUSE*
sudo zypper update
sudo zypper --non-interactive install cmake pkg-config
sudo zypper --non-interactive install pattern devel_C_C++
次のコマンドでインストール場所を表示して、インストールされたことを確認します。
which cmake pkg-config make gcc g++
次の 1 つ以上の場所が表示されます。
/usr/bin/cmake
/usr/bin/pkg-config
/usr/bin/make
/usr/bin/gcc
/usr/bin/g++
CMake* の詳細は、CMake.org (英語) を参照してください。使用している Linux* ディストリビューションの標準のパッケージ・マネージャーで CMake* をインストールできない場合は、追加のインストール・オプションについて CMake.org のダウンロード・ページ (英語) を参照してください。
コマンドライン・インターフェイス (CLI) を使用する場合、インテル® oneAPI ツールキットに含まれるツールは環境変数により設定されます。setvars スクリプトを source して CLI 環境変数を設定します。
オプション 1: セッションごとに setvars.sh を source する
新しいターミナルウィンドウを開くたびに setvars.sh を source します。
setvars.sh スクリプトは、インテル® oneAPI インストールのルートフォルダーにあります。通常、sudo または root ユーザーとしてインストールした場合は /opt/intel/oneapi/、一般ユーザーとしてインストールした場合は ~/intel/oneapi/ です。
root または sudo としてインストールした場合:
. /opt/intel/oneapi/setvars.sh
一般ユーザーとしてインストールした場合:
. ~/intel/oneapi/setvars.sh
オプション 2: setvars.sh を一度だけ設定する
プロジェクト用に環境を自動で設定するには、起動スクリプトに source <install_dir>/setvars.sh コマンドを追加して、自動的に実行されるようにします (<install_dir> は実際のインテル® oneAPI インストール・ディレクトリーに変更してください)。デフォルトのインストール・ディレクトリーは、sudo または root ユーザーとしてインストールした場合は /opt/intel/oneapi/、一般ユーザーとしてインストールした場合は ~/intel/oneapi/ です。
例えば、source <install_dir>/setvars.sh コマンドを ~/.bashrc、~/.bashrc_profile、または ~/.profile ファイルに追加します。システム上のすべてのアカウントで設定を永続的にするには、システムの /etc/profile.d フォルダーに setvars.sh を source する 1 行の .sh を作成します (詳細は、環境変数に関数する Ubuntu* のドキュメント (英語) を参照してください)。
setvars.sh スクリプトは、設定ファイルを使用して管理することもできます。詳細は、「設定ファイルを使用した setvars.sh の管理」 (英語) を参照してください。
このセクションは、ネイティブ環境で実行時間の長い GPU 計算ワークロードを持つアプリケーションにのみ適用されます。仮想化やゲームなどの GPU の標準的な用途には推奨しません。
GPU ハードウェアが実行に 4 秒以上を要するワークロードは、実行時間が長いワークロードです。デフォルトでは、実行時間の長いワークロードを処理している個々のスレッドはハングしていると見なされて終了されます。ハングチェックのタイムアウト期間を無効にすることで、この問題を回避できます。
次回再起動するまでハングチェックを無効にするには、次のコマンドを実行します。
sudo sh -c "echo N> /sys/module/i915/parameters/enable_hangcheck"
永続的にハングチェックを無効にするには、次の操作を行います。
i915.enable_hangcheck=0
sudo update-grub
インストール・ガイドの手順に従って GPU ドライバーをインストールした場合は、このステップをスキップしてもかまいません。まだドライバーをインストールしていない場合は、インストール・ガイド (英語) の手順に従ってください。
GPU 計算ワークロードでは、非 root (一般) ユーザーは通常 GPU デバイスへのアクセス権を持ちません。一般ユーザーを video グループに追加してください。そうでない場合、GPU デバイス向けにコンパイルされたバイナリーを一般ユーザーが実行すると失敗します。この問題を解決するには、非 root ユーザーを video グループに追加します。
sudo usermod -a -G video <username>