Intel compiler 15.0でのXeon Phiプログラムのコンパイルエラー | 入門者フォーラム | フォーラム

iSUS に投稿されている記事の内容や、IA プラットフォーム上でのソフトウェア開発に関するトピックを開発者同士でディスカッションできる場としてフォーラムを公開しています。

運営ルールはフォーラムの利用案内をご覧ください。
フォーラムの使い方はこちら

 
フォーラムに投稿するにはログインが必要ですログイン

Intel compiler 15.0でのXeon Phiプログラムのコンパイルエラー

メンバー投稿

6:47 PM
2015年1月17日


oka

投稿数 1

1

こんにちは,

Xeon Phiプログラムのコンパイルエラーについて,質問させていただきます.
Intel compilerとMPSSを15.0.1と3.4.2にアップデートした結果,iostreamを使用するXeon Phiプログラムをiccでコンパイルできずに,困っております.例えば,以下の様なプログラムをコンパイルすると,「/usr/linux-k1om-4.7/linux-k1om/../x86_64-k1om-linux/include/c++/4.7.0/iostream(39): catastrophic error: *MIC* cannot open source file "bits/c++config.h"」というエラーメッセージが出ます.どうすれば,このエラーメッセージを回避できるかについて,お力を貸して頂けないでしょうか?


int main(){
std::cout << "Hello world from host!" <<std::endl;
#pragma offload target(mic:0)
{
printf("Hello world from coprocessor\n")
fflush(0);
}
std::cout << "Bye" << std::endl;
}
}

11:22 PM
2015年1月17日


iSUS編集部 – 菅原

投稿数 206

2

oka さん、こんにちは

iSUS 菅原です。

確認させていただきます。
なんか、オフロード以外のところをネイティブ用のリソースを参照しようとしているようなメッセージですね。

これは、同一システムで前のバージョンの icpc と MPSS では問題が無いということでよろしいでしょうか?
コンパイル時のオプションと include ファイルも教えていただけますか?

よろしくお願いします。

11:31 PM
2015年1月22日


iSUS編集部 – 菅原

投稿数 206

3

oka さん

インストールで問題になるような事象は見つかりませんでした。
旧バージョン(2.x)の MPSS が抜けていないかもしれません。

チェック方法 rpm -qa | grep intel-mic
アンインストール yum remove intel-mic\*

現バージョンでは以下のように元ファイルとそれに対する参照
(シンボリックリンク)の組み合わせで提供されているようです。
旧バージョンとは実態が異なるかもしれません。

mpss-sdk-k1om-3.4.2-1.x86_64 : SDK package for MPSS on Intel MIC co-processors
Repo : installed
Matched from:
Filename : /opt/mpss/3.4.2/sysroots/k1om-mpss-linux/usr/include/c++/k1om-mpss-linux/bits/c++config.h

intel-composerxe-compat-k1om-3.4.2-1.x86_64 : Compatibility package for Intel
: Composer XE for MIC
Repo : installed
Matched from:
Filename : /usr/linux-k1om-4.7/lib/gcc/x86_64-k1om-linux/4.7.0/include-fixed/bits
Filename : /usr/linux-k1om-4.7/x86_64-k1om-linux/include/c++/4.7.0

※ symlink
/usr/linux-k1om-4.7/lib/gcc/x86_64-k1om-linux/4.7.0/include-fixed/bits
-> /opt/mpss/3.4.2/sysroots/k1om-mpss-linux/usr/include/c++/k1om-mpss-linux/bits
/usr/linux-k1om-4.7/x86_64-k1om-linux/include/c++/4.7.0
-> /opt/mpss/3.4.2/sysroots/k1om-mpss-linux/usr/include/c++