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 details)

Uploaded CPython 3.8

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.6m

File details

Details for the file nlcpy-3.0.1-cp38-cp38-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nlcpy-3.0.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c825bf42c33f02df483485c95cf7b57f1c62303b40d414a4710c634697fb09bc
MD5 f4c9f19e988ae1e1b1b57976dc495fdb
BLAKE2b-256 f2a52b0abb7f909556d81a6af832012ca02832279eab9c70f4bc6239f5a47052

See more details on using hashes here.

File details

Details for the file nlcpy-3.0.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nlcpy-3.0.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d89592c518365d1d541cfbaa249e96d2af5ad026bf075b0229ae25b05ffcac68
MD5 9d1da7d9ad3a628b7d1e48a8bb57f310
BLAKE2b-256 839a2b11e355add64b62f151596d0e393254627efaec0c5eb5c59c9047407589

See more details on using hashes here.

File details

Details for the file nlcpy-3.0.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nlcpy-3.0.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a8c58c55e2e3ef191a02db0de13dcab7f241e02b143ebae3cdc9fa8cb33b969f
MD5 b08db49388ee463a5a2bf762e6a68463
BLAKE2b-256 82659b50a270340aabf2506bb2f2e1d2fc63db0fdbe85c972e2c05d757f6d42f

See more details on using hashes here.

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