Skip to main content

NLCPy is a package for accelerating performance of Python scripts using NumPy on SX-Aurora TSUBASA.

Project description

NLCPy_banner

NLCPy : NumPy-like API accelerated with SX-Aurora TSUBASA

GitHub license Downloads Python Versions

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.

Requirements

Before the installation, the following components are required to be installed on your x86 Node of SX-Aurora TSUBASA.

  • NEC SDK

    • 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

Install from wheel

You can install NLCPy by executing either of following commands.

  • Install from PyPI

    $ pip install nlcpy
    
  • Install from your local computer

    1. Download the wheel package from GitHub.

    2. Put the wheel package to your any directory.

    3. 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.

Install from source (with building)

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

Documentation

License

The BSD-3-Clause license (see LICENSE file).

NLCPy is derived from NumPy, CuPy, PyVEO, and numpydoc (see LICENSE_DETAIL/LICENSE_DETAIL file).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

nlcpy-3.0.1-cp38-cp38-manylinux1_x86_64.whl (13.2 MB view hashes)

Uploaded CPython 3.8

nlcpy-3.0.1-cp37-cp37m-manylinux1_x86_64.whl (12.1 MB view hashes)

Uploaded CPython 3.7m

nlcpy-3.0.1-cp36-cp36m-manylinux1_x86_64.whl (11.0 MB view hashes)

Uploaded CPython 3.6m

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page