NLCPy
is a library for accelerating performance of Python scripts using NumPy
on SX-Aurora TSUBASA. Python programmers can use this library on Linux/x86 of SX-Aurora TSUBASA. NLCPy's API is designed based on NumPy's one. The current version provides a subset of NumPy's API.
Before the installation, the following components are required to be installed on your x86 Node of SX-Aurora TSUBASA.
-
- required NEC C/C++ compiler version: >= 5.0.0
- required NLC version: >= 3.0.0
-
Alternative VE Offloading (AVEO)
-
required version: >= 3.0.2
-
If you install NLCPy from wheel, the runtime packages of Alternative VE Offloading(AVEO) are required.
# yum install veoffload-aveo veoffload-aveorun-ve1 veoffload-aveorun-ve3
-
If you install NLCPy from source, the development packages of Alternative VE Offloading(AVEO) are required.
# yum install veoffload-aveo-devel veoffload-aveorun-ve1-devel veoffload-aveorun-ve3-devel
-
-
veosinfo3
# yum install veosinfo3
-
Python - required version: 3.6, 3.7, or 3.8
-
NumPy - required version: >= v1.17
You can install NLCPy by executing either of following commands.
-
Install from PyPI
$ pip install nlcpy
-
Install from your local computer
-
Download the wheel package from GitHub.
-
Put the wheel package to your any directory.
-
Install the local wheel package via pip command.
$ pip install <path_to_wheel>
-
The shared objects for Vector Engine, which are included in the wheel package, are tested by using NEC C/C++ Compiler Version 5.0.0 and NumPy v1.19.5.
Before building source files, please install following packages.
$ pip install numpy cython wheel
$ sudo yum install veosinfo3-devel
$ sudo yum install veoffload-aveo-devel veoffload-aveorun-ve1-devel veoffload-aveorun-ve3-devel
And, entering these commands in the environment where gcc
and ncc
commands are available.
$ 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
The BSD-3-Clause license (see LICENSE
file).
NLCPy is derived from NumPy, CuPy, PyVEO, and numpydoc (see LICENSE_DETAIL/LICENSE_DETAIL
file).