スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

引越し中

FC2やばい?
以下のページに引越し中です。
http://kane.daa.jp/old_blog/
スポンサーサイト

PythonとNumPyを、Intelコンパイラでビルド出来たっぽい

PythonとNumPyを、Intelコンパイラ(13.1.1)でビルドしてみました。CentOS 6.2使用。

● Python-2.7.5

端末で以下を実行してビルドする。

cd $HOME/Downloads
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
cd $HOME/src
tar xf $HOME/Downloads/Python-2.7.5.tar.bz2
cd Python-2.7.5
mkdir build
cd build
CC=icc CXX=icpc ../configure --prefix=/opt/Python-2.7.5 --enable-shared --without-gcc
make

コンパイルエラーが出た。

/home/usrname/src/Python-2.7.5/Modules/_ctypes/libffi/src/x86/ffi64.c(56): エラー: 識別子 "__m128" は定義されていません。
UINT128 i128;
^

コンパイルは /home/usrname/src/Python-2.7.5/Modules/_ctypes/libffi/src/x86/ffi64.c で異常終了しました (コード 2)。

以下のファイルをエディタで開く。

$HOME/src/Python-2.7.5/Modules/_ctypes/libffi/src/x86/ffi64.c

エディタで「__INTEL_COMPILER」を検索して、include文を追加。

#if defined(__INTEL_COMPILER)
#define UINT128 __m128
#else

↓↓↓↓↓↓↓ 変更 ↓↓↓↓↓↓↓

#if defined(__INTEL_COMPILER)
#include <xmmintrin.h>
#define UINT128 __m128
#else

保存する。

再びmakeし、成功したらmake install

make
sudo make install
ls /opt

$HOME/.bashrcに以下を追加。

export PATH=/opt/Python-2.7.5/bin${PATH:+:$PATH}
export LD_LIBRARY_PATH=/opt/Python-2.7.5/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

端末を再起動するなりしてPATHを通してから、動作確認。

cd
python2.7

IntelコンパイラでビルドされたPythonが立ち上がれば、たぶんOK。

Python 2.7.5 (default, May ** 2013, **:**:**)
[GCC Intel(R) C++ gcc 4.4 mode] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Pythonを終了させる。

● NumPy-1.7.0

端末で以下を実行してビルドする。

cd $HOME/Downloads
wget http://sourceforge.net/projects/numpy/files/NumPy/1.7.0/numpy-1.7.0.tar.gz
cd $HOME/src
tar xf $HOME/Downloads/numpy-1.7.0.tar.gz
cd numpy-1.7.0
CC=icc CXX=icpc python2.7 setup.py build

ビルドに成功したらインストール。

sudo -s

# 以下の3行はroot用に環境変数の設定
source /opt/intel/bin/compilervars.sh intel64 # Intelコンパイラを使えるように
export PATH=/opt/Python-2.7.5/bin${PATH:+:$PATH}
export LD_LIBRARY_PATH=/opt/Python-2.7.5/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

CC=icc CXX=icpc python2.7 setup.py install
ls /opt/Python-2.7.5/lib/python2.7/site-packages

numpyがインストールされたことを確認し、rootから抜ける。

Pythonを起動して、NumPyを使ってみる。

cd
python2.7
import numpy
numpy.version.version

以下のようにNumPyのバージョンが表示された。

Python 2.7.5 (default, May ** 2013, **:**:**)
[GCC Intel(R) C++ gcc 4.4 mode] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.version.version
'1.7.0'
>>>

Pythonを終了させる。
プロフィール

カネダック

Author:カネダック
 
普通のC++プログラマですが、業務で流体解析をやっていて格子職人と呼ばれています。
J.S.バッハ等、古楽をピリオド楽器による演奏で聴くのが好き。
リュート演奏にあこがれつつ、クラシックギターを弾きます。

保有資格
・中小企業診断士
・Oracle Master 8 Platinum(今のGold相当)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。