https://github.com/cudamat/cudamat
Revision 130a1a00b371b545d160c615f040eff7c7f8e61e authored by Anthony Monthe (ZuluPro) on 02 October 2019, 16:46:07 UTC, committed by Jan Schlüter on 28 May 2020, 16:18:57 UTC
1 parent 6f4dbc7
Raw File
Tip revision: 130a1a00b371b545d160c615f040eff7c7f8e61e authored by Anthony Monthe (ZuluPro) on 02 October 2019, 16:46:07 UTC
Fix missing optimization level in nvcc call
Tip revision: 130a1a0
CONTRIBUTE.md
Development installation
------------------------

If you want to develop cudamat, you should clone the github repository instead
of downloading a release. Furthermore, it is useful to install it in editable
mode. Instead of copying the files somewhere Python can find them, this will
point Python directly to the directory you install it from. Either of the
following commands will do:

```bash
# a) Install for your user in editable mode:
python setup.py develop --prefix=~/.local
# b) Install for your user in editable mode, but with pip:
pip install --user --editable .
```

As for the [standard installation](INSTALL.md), you can set the `NVCC_FLAGS`
environment variable to compile for a specific architecture.

Update after local changes
--------------------------

Your changes to `.py` files will show up immediately the next time you import
cudamat. Changes to `.cu` and `.cuh` files require a recompilation triggered
by just running the above installation command again.

Update after remote changes
---------------------------

To obtain the latest version, just pull in the remote changes:

```bash
git checkout master
git fetch origin
git merge origin/master
```

Then recompile as per the instructions in the previous section.

Contribute back
---------------

If you created a great new feature that is useful to the rest of the world,
and it even comes with docstrings and updated tests, we will gladly incorporate
it into cudamat. To do that, you will need to send us a pull request from your
fork.

If you haven't forked cudamat yet, log in to your github account, go to
https://github.com/cudamat/cudamat and hit the "Fork" button.
Now instead of having `origin` point to `cudamat/cudamat`, you will want to have
it point to your fork, and have `upstream` point to the official project:

```bash
git remote rename origin upstream
git remote add origin git@github.com:yourusername/cudamat
git fetch origin
```

Create a branch to house your changes:

```bash
git checkout -b my-new-feature
```

Hack away, then add your changes, commit and push:

```bash
git add all.py my.py changes.py
git commit -m 'Added a new feature that does this and that'
git push origin my-new-feature
```

Now send us a pull request asking to merge `yourusername:my-new-feature` into
`cudamat:master` and we will come back to you!
back to top