-
-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add extended kernel generator docs #1802
Conversation
…stable/2017-11-14)
Jenkins Console Log Machine informationProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G22010CPU: G++: Clang: |
For doc stuff I thought it might be easier just to make a gist with changes. How do you feel about the following. Mostly it makes the requirements into a listicle and rewords the first paragraph. The list makes the output doxygen a bit prettier https://gist.github.com/SteveBronder/0c94b465dbf4ef9dbccd3fedddae4d6d |
Content is fine. I just don't understand why do you think GIST is preferable to a PR? |
Actually maybe that was silly. One other thing about this is that it feels like these docs are more for how to add new expressions than ops right? For instance adding an unary or binary op is much simpler than what's in the docs here |
Right. Adding a new binary/unary op in fact much simpler, so I feel they don't need in depth explanation. What needs to be done can be easily deduced from code for existing ops. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added an optional change to the docs just directing people where to look explicitly but otherwise lgtm thanks for writing these!
* ## Defining a new kernel generator operation | ||
* | ||
* New kernel generator classes must satsify the conditions below: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* ## Defining a new kernel generator operation | |
* | |
* New kernel generator classes must satsify the conditions below: | |
* ## Defining a new kernel generator expression | |
* | |
* For adding new Unary and Binary ops use the macros provided in | |
* `unary_function_cl.hpp` and `binary_operation.hpp`. | |
* | |
* New kernel generator expressions classes must satisfy the conditions below: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Macro for binary operation only works for OpenCL operators. I think I covered all of them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1!
Jenkins Console Log Machine informationProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G22010CPU: G++: Clang: |
Summary
Adds some documentation on kernel generator, with emphasis on how to implement a new operation.
Tests
No new tests. This is just documentation.
Side Effects
None.
Checklist
Math issue Implement OpenCL kernel generator #1342
Copyright holder: Tadej Ciglarič
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
the basic tests are passing
./runTests.py test/unit
)make test-headers
)make test-math-dependencies
)make doxygen
)make cpplint
)the code is written in idiomatic C++ and changes are documented in the doxygen
the new changes are tested