├── .clog.toml ├── .github └── CONTRIBUTING.md ├── .gitignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benches └── shared_tensor.rs ├── examples └── readme.rs ├── index.html ├── perf ├── README.md └── run_perf.sh ├── rustfmt.toml ├── src ├── backend.rs ├── binary.rs ├── device.rs ├── error.rs ├── framework.rs ├── frameworks │ ├── cuda │ │ ├── api │ │ │ ├── driver │ │ │ │ ├── context.rs │ │ │ │ ├── device.rs │ │ │ │ ├── error.rs │ │ │ │ ├── ffi.rs │ │ │ │ ├── memory.rs │ │ │ │ ├── mod.rs │ │ │ │ └── utils.rs │ │ │ └── mod.rs │ │ ├── context.rs │ │ ├── device.rs │ │ ├── function.rs │ │ ├── memory.rs │ │ ├── mod.rs │ │ └── module.rs │ ├── mod.rs │ ├── native │ │ ├── binary.rs │ │ ├── device.rs │ │ ├── error.rs │ │ ├── flatbox.rs │ │ ├── function.rs │ │ ├── hardware.rs │ │ ├── mod.rs │ │ ├── stable_alloc.rs │ │ └── unstable_alloc.rs │ └── opencl │ │ ├── api │ │ ├── context.rs │ │ ├── device.rs │ │ ├── error.rs │ │ ├── ffi.rs │ │ ├── memory.rs │ │ ├── mod.rs │ │ ├── platform.rs │ │ ├── queue.rs │ │ └── types.rs │ │ ├── context.rs │ │ ├── device.rs │ │ ├── event.rs │ │ ├── kernel.rs │ │ ├── memory.rs │ │ ├── mod.rs │ │ ├── platform.rs │ │ ├── program.rs │ │ └── queue.rs ├── hardware.rs ├── lib.rs ├── operation.rs ├── plugin.rs └── tensor.rs └── tests ├── backend_specs.rs ├── compile-fail ├── drop_live_memory.rs ├── leak_read_reference.rs ├── leak_write_reference.rs ├── read_write_borrows.rs └── two_write_borrows.rs ├── compiletests.rs ├── framework_cuda_specs.rs ├── framework_native_specs.rs ├── framework_opencl_specs.rs ├── hardware_specs.rs ├── run-pass └── multiple_read_only_borrows.rs ├── shared_memory_specs.rs └── tensor_specs.rs /.clog.toml: -------------------------------------------------------------------------------- 1 | [clog] 2 | # A repository link with the trailing '.git' which will be used to generate 3 | # all commit and issue links 4 | repository = "https://github.com/autumnai/collenchyma" 5 | 6 | # specify the style of commit links to generate, defaults to "github" if omitted 7 | link-style = "github" 8 | 9 | # The preferred way to set a constant changelog. This file will be read for old changelog 10 | # data, then prepended to for new changelog data. It's the equivilant to setting 11 | # both infile and outfile to the same file. 12 | # 13 | # Do not use with outfile or infile fields! 14 | # 15 | # Defaults to stdout when omitted 16 | changelog = "CHANGELOG.md" 17 | 18 | # This sets the output format. There are two options "json" or "markdown" and 19 | # defaults to "markdown" when omitted 20 | output-format = "markdown" 21 | 22 | # If you use tags, you can set the following if you wish to only pick 23 | # up changes since your latest tag 24 | # from-latest-tag = true 25 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Juice 2 | 3 | We love, that you are interested in contributing to Juice. There are many ways 4 | to contribute and we appreciate all of them. This document gives a rough 5 | overview of how you can contribute to Juice. 6 | 7 | * [Pull Requests](#pull-requests) 8 | * [Bug Reports](#bug-reports) 9 | * [Feature Requests](#feature-requests) 10 | * [Appendix](#appendix) 11 | * [Git Commit Guidelines](#git-commit-guidelines) 12 | * [Documentation Guidelines](#documentation-guidelines) 13 | 14 | 15 | If you have questions hop on the [Juice Chat](https://gitter.im/spearow/juice) 16 | , or reach out to {@[drahnr](https://github.com/drahnr), }. 17 | 18 | ## Pull Requests 19 | 20 | #### Preparation 21 | 22 | Before you get started, please find the page of the project you're looking to 23 | improve. We encourage you to poke around in the code a little bit, familiarize 24 | yourself with their development styles, check the commit log to see who is 25 | contributing. 26 | 27 | Before you start working, you might check out the **Network** tab on the project 28 | to see all the other forks other people have made. Somebody might be already 29 | working on the problem you would love to solve. 30 | 31 | #### Making a PR 32 | 33 | Pull requests are the primary mechanism we use to change Juice repos. GitHub 34 | itself has some [great documentation](https://help.github.com/articles/using-pull-requests/) 35 | on using the Pull Request feature. We use the 'fork and pull' model described 36 | there. 37 | 38 | Please make pull requests against the `master` branch. 39 | 40 | All pull requests are reviewed by another person. 41 | 42 | > **Highfive not yet integrated**: 43 | > *We have a bot, @rust-highfive, that will automatically assign a random* 44 | > *person to review your request.* 45 | > 46 | > *If you want to request that a specific person reviews your pull request,* 47 | > *you can add an `r?` to the message. For example, MJ usually reviews* 48 | > *documentation changes. So if you were to make a documentation change, add* 49 | > 50 | > r? @MichaelHirn 51 | > 52 | > *to the end of the message, and @rust-highfive will assign @MichaelHirn* 53 | > *instead of a random person. This is entirely optional.* 54 | 55 | After someone has reviewed your pull request, they will leave an annotation 56 | on the pull request with an `r+`. It will look something like this: 57 | 58 | @homu: r+ 38fe8d2 59 | 60 | This tells @homu, our lovable integration bot, that your pull request has 61 | been approved. The PR then enters the 62 | [merge queue](http://buildbot.rust-lang.org/homu/queue/rust), where 63 | @homu will run all the tests on every platform we support. If it all works 64 | out, @homu will merge your code into `master` and close the pull request. 65 | 66 | ## Bug Reports 67 | 68 | While bugs are unfortunate, they're a reality in software. We can't fix what we 69 | don't know about, so please report liberally. If you're not sure if something 70 | is a bug or not, feel free to file a bug anyway. 71 | 72 | If you have the chance, before reporting a bug, please search existing issues, 73 | as it's possible that someone else has already reported your error. This doesn't 74 | always work, and sometimes it's hard to know what to search for, so consider this 75 | extra credit. We won't mind if you accidentally file a duplicate report. 76 | 77 | [Opening an issue is easy](https://guides.github.com/features/issues/) 78 | Here's a template that you can use to file a bug, though it's not necessary to 79 | use it exactly: 80 | 81 | 82 | 83 | I tried this code: 84 | 85 | 86 | 87 | I expected to see this happen: 88 | 89 | Instead, this happened: 90 | 91 | ## Meta 92 | 93 | {Library, Rust, OS} versions 94 | 95 | Backtrace: 96 | 97 | All three components are important: what you did, what you expected, what 98 | happened instead. Please include information about what platform you're on, what 99 | version of Rust and library you're using, etc. 100 | 101 | Sometimes, a backtrace is helpful, and so including that is nice. To get 102 | a backtrace, set the `RUST_BACKTRACE` environment variable. The easiest way 103 | to do this is to invoke `rustc` like this: 104 | 105 | ```bash 106 | $ RUST_BACKTRACE=1 rustc ... 107 | ``` 108 | 109 | ## Feature Requests 110 | 111 | To request a change to the way that one of the Juice libraries work, please 112 | open an issue in the repository. 113 | 114 | ## Appendix 115 | 116 | ### Git Commit Guidelines 117 | 118 | We have very precise rules over how git commit messages should be formatted. 119 | This leads to more readable messages that are easy to follow when looking 120 | through the project history. But also, we may use the git commit messages to 121 | auto-generate the Juice change log. 122 | 123 | #### Commit Message Format 124 | 125 | Each commit message consists of a header, a body and a footer. The header has a 126 | special format that includes a type, a scope and a subject: 127 | 128 | /: 129 | \n 130 | 131 | \n 132 |