Giter Site home page Giter Site logo

cnine's Introduction

cnine

Lightweight C++ tensor library

Cnine is a simple C++/CUDA tensor library developed by Risi Kondor's group at the University of Chicago. Cnine is designed to make some of the power of modern GPU architectures accessible directly from C++ code, without relying on complex proprietary libraries.

Documentation for the Python/PyTorch API is at https://risi-kondor.github.io/cnine/.

Cnine is released under the custom noncommercial license included in the file LICENSE.TXT

cnine's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cnine's Issues

Error in `pip install -e .`

Dear Risi,

There are some issues installing the latest commits of cnine.
I was able to install successfully cnine only with a non-recent commit (e.g. 28fc7f0 )

The error that I get is:

    FAILED: /home/svu/sbiriguda/cnine/python/build/temp.linux-x86_64-cpython-310/bindings/cnine_py.o
    /home/svu/sbiriguda/anaconda3/envs/sage310/bin/x86_64-conda-linux-gnu-c++ -MMD -MF /home/svu/sbiriguda/cnine/python/build/temp.linux-x86_64-cpython-310/bindings/cnine_py.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /hpctmp/classicwuongo/anaconda3/include -fPIC -O2 -isystem /hpctmp/classicwuongo/anaconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/svu/sbiriguda/anaconda3/envs/sage310/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/svu/sbiriguda/anaconda3/envs/sage310/include -fPIC -I/home/svu/sbiriguda/cnine/python/../include -I/home/svu/sbiriguda/cnine/python/../combinatorial -I/home/svu/sbiriguda/cnine/python/../containers -I/home/svu/sbiriguda/cnine/python/../math -I/home/svu/sbiriguda/cnine/python/../wrappers -I/home/svu/sbiriguda/cnine/python/../include/cmaps -I/home/svu/sbiriguda/cnine/python/../objects/scalar -I/home/svu/sbiriguda/cnine/python/../objects/matrix -I/home/svu/sbiriguda/cnine/python/../objects/tensor -I/home/svu/sbiriguda/cnine/python/../objects/backendA -I/home/svu/sbiriguda/cnine/python/../objects/backendB -I/home/svu/sbiriguda/cnine/python/../objects/tensor_views -I/home/svu/sbiriguda/cnine/python/../objects/tensor_array -I/home/svu/sbiriguda/cnine/python/../objects/tensor_array/cell_maps -I/home/svu/sbiriguda/cnine/python/../objects/tensor_array/cell_ops -I/home/svu/sbiriguda/cnine/python/../objects/labeled -I/home/svu/sbiriguda/cnine/python/../objects/ntensor -I/home/svu/sbiriguda/cnine/python/../objects/ntensor/functions -I/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/include -I/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/include/TH -I/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/include/THC -I/hpctmp/classicwuongo/anaconda3/include/python3.10 -c -c /home/svu/sbiriguda/cnine/python/bindings/cnine_py.cpp -o /home/svu/sbiriguda/cnine/python/build/temp.linux-x86_64-cpython-310/bindings/cnine_py.o -std=c++14 -Wno-sign-compare -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-reorder -Wno-reorder-ctor -D_WITH_ATEN -DCNINE_RANGE_CHECKING -DCNINE_SIZE_CHECKING -DCNINE_DEVICE_CHECKING -DWITH_FAKE_GRAD -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=cnine_base -D_GLIBCXX_USE_CXX11_ABI=1
    In file included from /home/svu/sbiriguda/cnine/python/../objects/tensor_views/Ctensor2_view.hpp:25,
                     from /home/svu/sbiriguda/cnine/python/../objects/backendB/CtensorB.hpp:29,
                     from /home/svu/sbiriguda/cnine/python/../objects/tensor/CtensorObj.hpp:20,
                     from /home/svu/sbiriguda/cnine/python/bindings/cnine_py.cpp:28:
    /home/svu/sbiriguda/cnine/python/../objects/ntensor/TensorView.hpp: In member function 'cnine::TensorView<TYPE> cnine::TensorView<TYPE>::slices(int, int, int) const':
    /home/svu/sbiriguda/cnine/python/../objects/ntensor/TensorView.hpp:492:48: error: cannot convert 'const cnine::Gdims*' to 'cnine::Gdims*'
      492 |       return TensorView<TYPE>(arr+strides[d]*i,dims.set(d,j-1),strides);
          |                                                ^~~~
          |                                                |
          |                                                const cnine::Gdims*
    In file included from /home/svu/sbiriguda/cnine/python/bindings/cnine_py.cpp:20:
    /home/svu/sbiriguda/cnine/python/../include/Gdims.hpp:159:24: note:   initializing argument 'this' of 'void cnine::Gdims::set(int, int)'
      159 |     void set(const int i, const int x){
          |              ~~~~~~~~~~^
    At global scope:
    cc1plus: note: unrecognized command-line option '-Wno-reorder-ctor' may have been intended to silence earlier diagnostics
    ninja: build stopped: subcommand failed.
    Traceback (most recent call last):
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1813, in _run_ninja_build
        subprocess.run(
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/subprocess.py", line 526, in run
        raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "<string>", line 2, in <module>
      File "<pip-setuptools-caller>", line 34, in <module>
      File "/home/svu/sbiriguda/cnine/python/setup.py", line 141, in <module>
        main()
      File "/home/svu/sbiriguda/cnine/python/setup.py", line 129, in main
        setup(name='cnine',
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
        return distutils.core.setup(**attrs)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
        return run_commands(dist)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
        dist.run_commands()
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
        self.run_command(cmd)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/dist.py", line 1208, in run_command
        super().run_command(command)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/command/develop.py", line 34, in run
        self.install_for_development()
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/command/develop.py", line 114, in install_for_development
        self.run_command('build_ext')
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/dist.py", line 1208, in run_command
        super().run_command(command)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 84, in run
        _build_ext.run(self)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 346, in run
        self.build_extensions()
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 770, in build_extensions
        build_ext.build_extensions(self)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 468, in build_extensions
        self._build_extensions_serial()
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 494, in _build_extensions_serial
        self.build_extension(ext)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 246, in build_extension
        _build_ext.build_extension(self, ext)
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 549, in build_extension
        objects = self.compiler.compile(
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 591, in unix_wrap_ninja_compile
        _write_ninja_file_and_compile_objects(
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1492, in _write_ninja_file_and_compile_objects
        _run_ninja_build(
      File "/hpctmp/classicwuongo/anaconda3/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1829, in _run_ninja_build
        raise RuntimeError(message) from e
    RuntimeError: Error compiling objects for extension
    [end of output]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.