インストール

このページではNLCPyのインストール方法について説明します。

注意

  • 2021年4月から、NLCPyはNEC SDK (NEC Software Development Kit for Vector Engine)の中で提供されています。それ以降にNEC SDKがマシンに適切にインストールまたは更新されていれば、本ページに記載のインストールを実施することなく、 /usr/bin/python3 コマンドを使ってNLCPyをご利用いただけます。しかし、その他のPythonコマンド( /usr/local/bin/python3 や仮想環境の python3 等)をご利用の場合は、本ページに記載の通りにwheelパッケージまたはソースからインストールしてください。

  • NEC SDKがインストールされたら、NLCPyのライブラリは以下のディレクトリにあります。

    /opt/nec/ve/nlcpy/X.X.X/lib/python36/nlcpy
    

    ここで、X.X.XはNLCPyのバージョン番号を表します。もし、NEC SDKをインストールまたはアップデートした場合は、NLCPyの最新バージョンのディレクトリがPythonモジュール検索パスに追加されます。NLCPyの特定のバージョンを使用するときは、環境変数 PYTHONPATH を以下のように設定してください。

    $ export PYTHONPATH=/opt/nec/ve/nlcpy/X.X.X/lib/python36/
    

インストール要件

NLCPyをインストールする前に、以下のコンポーネントをSX-Aurora TSUBASAのx86ノードにインストールする必要があります。

    • 必要なNEC C/C++ コンパイラのバージョン: >= 5.0.0

    • 必要なNLCのバージョン: >= 3.0.0

    • 必要なバージョン: >= 3.0.2

    • NLCPyをwheelからインストールする場合、Alternative VE Offloading(AVEO)のランタイムパッケージが必要です。

      # yum install veoffload-aveo veoffload-aveorun-ve1 veoffload-aveorun-ve3
      
    • NLCPyをソースコードからインストールする場合、Alternative VE Offloading(AVEO)のdevelopmentパッケージが必要です。

      # yum install veoffload-aveo-devel veoffload-aveorun-ve1-devel veoffload-aveorun-ve3-devel
      
  • veosinfo3
    # yum install veosinfo3
    
    • 必要なバージョン: 3.6, 3.7, 3.8 のいずれか

    • 必要なバージョン: >= v1.17

wheelパッケージからインストール

NLCPyは、次のいずれかのコマンドを実行してインストールできます。

  • PyPIからのインストール

    $ pip install nlcpy
    
  • ローカルコンピュータからインストール

    1. GitHub からwheelパッケージをダウンロード

    2. wheelパッケージを任意のディレクトリに配置

    3. pipコマンドを使用してローカルのwheelパッケージをインストール

      $ pip install <path_to_wheel>
      

wheelパッケージに含まれているVector Engine用の共有オブジェクトは、NEC C/C++ コンパイラバージョン5.0.0とNumPy v1.19.5を使用してテストしています。

ソースからインストール(ビルドあり)

ソースファイルをビルドする前に、以下のパッケージをインストールしてください。

$ pip install numpy cython wheel
$ sudo yum install veosinfo3-devel
$ sudo yum install veoffload-aveo-devel veoffload-aveorun-ve1-devel veoffload-aveorun-ve3-devel

そして、gcc および ncc コマンドが使用可能な環境で以下のコマンドを入力します。

$ git clone https://github.com/SX-Aurora/nlcpy.git
$ cd nlcpy
$ python3 setup.py build_ext --targ ve1,ve3,vh
$ python3 setup.py intall --targ ve1,ve3,vh