OpenGL連携を有効にしつつpipからPyCUDA/PyOpenCLをインストールする
PyCUDA / PyOpenCLをソースからインストールする場合には、setup.pyを実行する前にconfigure.pyを実行します。configure.pyが何をしているかというと、以下のようなオプション情報を記述したsiteconf.pyというファイルを生成します。
BOOST_INC_DIR = [] BOOST_LIB_DIR = [] BOOST_COMPILER = 'gcc43' BOOST_PYTHON_LIBNAME = ['boost_python'] USE_SHIPPED_BOOST = True CL_TRACE = False CL_ENABLE_GL = False CL_ENABLE_DEVICE_FISSION = True CL_INC_DIR = [] CL_LIB_DIR = [] CL_LIBNAME = [] CXXFLAGS = ['-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.7.sdk'] LDFLAGS = ['-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.7.sdk', '-Wl', '-framework', 'OpenCL']
私はよく、PyCUDA / PyOpenCLをインストールする際にはpipを使うことを勧めているのですが、OpenGL連携を有効にしたりCUDA / OpenCLのインストール場所が通常とは異なる場合にはconfigure.pyでそれらを指定する必要があり、pipコマンドを実行するだけではそれらを反映させることが出来ません。今回はその場合の対処方法を紹介します。
ホームディレクトリに.aksetup-defaults.pyというファイルを作成し、上述のsiteconf.pyと同じフォーマットで必要なオプションを記述します。
CL_ENABLE_GL = True
これでpipによるPyCUDA / PyOpenCLのインストールをカスタマイズすることができます。これらはPyCUDA / PyOpenCLのsetup.pyの動作なので、pipだけではなくeasy_installでも同様に動くはずです。