Skip to content
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

Doxygenate the code! #3

Open
eyalroz opened this issue Nov 12, 2016 · 2 comments
Open

Doxygenate the code! #3

eyalroz opened this issue Nov 12, 2016 · 2 comments

Comments

@eyalroz
Copy link
Owner

eyalroz commented Nov 12, 2016

Almost all of the code is missing doxygen comments, first and foremost being the methods and the classes. Let's write it.

eyalroz pushed a commit that referenced this issue Nov 16, 2016
I changed my mind about `stream_t` construction access, so it is now very similar to `event_t` - owning by default.

Additional related changes:

* Devices now only create streams wrapped in `stream_t`'s (and those never assume the device is current - for safety reasons, even though we're sacrificing the usage scenario `cuda::device:current::get().create_stream();`
* The `cuda::stream` namespace now has `make()` methods which create a stream and a `wrap()` method which wraps an existing stream stream with a `stream_t` (either with or without taking ownership of it)
* No more `create()` methods in `cuda::stream` returning `cuda::stream::id_t` (but we do have something lieft in `cuda::stream::detail`
* Renamed a data member of `stream_t` `is_owning` -> `owning`
* Added: A getter for the `owning` member of `stream_t`
* Only one method in `stream_t` for launching kernels: `enqueue_launch` and that's that
* Fixed: In `stream_t::enqueue_memory_attachment`, was trying to pass the id_ instead of the device_id_
* Renamed: `stream_t::wait()` ->`stream_t::wait_on()`
* Implemented copy and move constructors for `stream_t` to make sure ownership is handled properly, similarly to `event_t`
* Now  using a (protected) helper method for destruction, `stream_t::destruct()`, both in the destructor and in commented-out assignment and move-assignment operators (I was considering allowing for assignment but got cold feet)
* Added: equality and inequality operators for `stream_t`'s, based on the combination of device ID and stream ID


Additional unrelated changes:

* Added alias types for `cudaIpcMemHandle_t` and `cudaIpcMemHandle_t` (`cuda::memory::ipc::handle_t` and `cuda::event::ipc::handle_t` respectively)
* Added an `enqueue_copy()` method to `stream_t` which calls `cuda::memory::async::copy()` - that should have happened a while ago!
* Renamed launch to enqueue_launch whenever a possibly non-default stream is concerned - it fits the semantics better, and now we have enqueue_copy as well
* the simpleStreams example program no longer printing the binary's name
* Using a vector of `stream_t`'s instead of a vector of `stream::id_t`'s in simpleStreams; this means we currently have a lot of .id() calls... I wonder if we shouldn't just have an operator stream::id_t() and be done with it? Hmm
* Comment text changes
* Added some doxygen here and there
* Corrected an exception description string for `cuda::memory::async::copy`
eyalroz pushed a commit that referenced this issue Mar 29, 2017
* Added: Doxygen file-level comments for all header files
eyalroz pushed a commit that referenced this issue Mar 29, 2017
A generated Doxygen configuration file, which, unfortunately, doesn't help me generate anything significant yet.
eyalroz pushed a commit that referenced this issue Mar 29, 2017
* `doxygen.cfg` finally fixed, so that doxygen'ing actually generates anything, yippee!
eyalroz pushed a commit that referenced this issue Mar 29, 2017
* Added: A "docs" Make target, so that `make docs` builds the documentation (if `doxygen` is available on your system)
* Fixed all doxygen-reported documentation errors
* Added documentation to several classes - but of course a huge number still remain entirely undocumented
@eyalroz
Copy link
Owner Author

eyalroz commented Sep 8, 2017

Commit 011488e does some doxygenation (forgot to put that in the message.)

eyalroz pushed a commit that referenced this issue Sep 11, 2017
* Now using GitHub site main page (`README.md`) as the Doxygen documentation main page as well.
eyalroz pushed a commit that referenced this issue Sep 24, 2017
Work on the `device_t` class and related code:

* Renamed: `keep_local_mem_allocation_after_launch()` -> `keep_larger_local_mem_after_resize()` (I think this better captures the meaning)
* Restricted access to the device_t constructor, so you can now either `device::get(some_id)` or `device::current::get()` - and can't construct devices otherwise
* Added: More intelligible aliases for CUDA device attributes (and some type-shuffling to go with that)
* Moved some peer-to-peer functionality out of the device_t class (with in-class methods calling out-of-class functions as relevant)
* Renamed: `device_t::scoped_setter` -> `device_t::scoped_setter_t`
* Doxygenated many types and functions
* Spacing tweaks
eyalroz pushed a commit that referenced this issue Sep 25, 2017
* Doxygen template tweak re enum value display
* Replaced: Occurrences of `{@code foo}` with `\`foo\`` (the former was inappropriately used in several places)
* Added: Doxygenation in various files
* Fixed: Several doxygen comments were placed after, rather than before, an `enum` item
* Spacing tweaks
eyalroz pushed a commit that referenced this issue Sep 26, 2017
* Doxygenated: Some functions in `versions.hpp`
eyalroz pushed a commit that referenced this issue Oct 7, 2017
* Added: Freestanding function for mapped region pair allocation
* `device_t` now calls code in `memory.hpp` for mapped region pair allocation
* `device_t` has dropped the templating for mapped region pair allocation; will soon drop templating on everything else - it doesn't do anything, really
* More doxygenation, including `///@cond` to hide things from doxygen when necessary
* Spacing fixes
* Removed: Gratuituous line in `event_t::~event_t`
* Corrected (I hope) doxygen comments describing pinning
eyalroz pushed a commit that referenced this issue Oct 8, 2017
* More doxygenation
* Corrected a few comments
* Tweaked some error messages
eyalroz pushed a commit that referenced this issue Oct 9, 2017
* Added a method to the `pointer::attributes_t` interface.
* Doxygenated `pointer.hpp`
eyalroz pushed a commit that referenced this issue Nov 12, 2017
* Doxygenated some more code
* Tweaked existing comments
* Spacing tweaks
@eyalroz
Copy link
Owner Author

eyalroz commented Nov 12, 2017

At this point, we still need to complete doxygenation for:

  • stream.hpp
  • profiling.*
  • unique_ptr.hpp

... and it looks like that's it.

eyalroz pushed a commit that referenced this issue Jan 6, 2020
eyalroz pushed a commit that referenced this issue Jan 14, 2020
eyalroz pushed a commit that referenced this issue Jan 14, 2020
eyalroz pushed a commit that referenced this issue Jan 21, 2020
eyalroz pushed a commit that referenced this issue Jan 21, 2020
eyalroz pushed a commit that referenced this issue Jan 21, 2020
eyalroz pushed a commit that referenced this issue Feb 23, 2020
eyalroz pushed a commit that referenced this issue May 28, 2020
* Added doxygen `@param` entries for missing parameters
* Unified mismatched `@param` names and argument names
* Now using `<a>` tags where relevant (not the unsupported @url tage)
* Removed some unused/deprecated configuration options from `doxygen.cfg`
* Some other doxygen comment tweaks
eyalroz pushed a commit that referenced this issue Jun 5, 2020
* Added doxygen `@param` entries for missing parameters
* Unified mismatched `@param` names and argument names
* Now using `<a>` tags where relevant (not the unsupported @url tage)
* Removed some unused/deprecated configuration options from `doxygen.cfg`
* Some other doxygen comment tweaks
eyalroz pushed a commit that referenced this issue Jun 13, 2020
* Added new Doxygen comments for some constructs.
* Fixed typos and out-of-date parameters in many Doxygen comments.
* Fixed all Doxygen warnings except for "no documentation for element" and reference resolution failure.
eyalroz pushed a commit that referenced this issue Jun 13, 2020
* Added new Doxygen comments for some constructs.
* Fixed typos and out-of-date parameters in many Doxygen comments.
* Fixed all Doxygen warnings except for "no documentation for element" and reference resolution failure.
eyalroz pushed a commit that referenced this issue Jun 29, 2020
* Added new Doxygen comments for some constructs.
* Fixed typos and out-of-date parameters in many Doxygen comments.
* Fixed all Doxygen warnings except for "no documentation for element" and reference resolution failure.
eyalroz pushed a commit that referenced this issue Jul 8, 2020
* Added new Doxygen comments for some constructs.
* Fixed typos and out-of-date parameters in many Doxygen comments.
* Fixed all Doxygen warnings except for "no documentation for element" and reference resolution failure.
eyalroz added a commit that referenced this issue Mar 23, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Mar 23, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Mar 29, 2024
* Auto-update for doxygen 1.10
* increased maximum dot graph nodes
* Removed some file types from possible scan, particularly `.md` files
eyalroz added a commit that referenced this issue Mar 29, 2024
…itions, improvements and removal of redundancies.
eyalroz added a commit that referenced this issue Mar 29, 2024
…uding newly-documented items) and occasial deletions. Some spacing tweaks
eyalroz added a commit that referenced this issue Mar 29, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Mar 29, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Mar 29, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Mar 30, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 5, 2024
…er_to_peer` functions + added documentation
eyalroz added a commit that referenced this issue Apr 5, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 8, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 12, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 13, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 13, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 14, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 17, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 20, 2024
* Auto-update for doxygen 1.10
* increased maximum dot graph nodes
* Removed some file types from possible scan, particularly `.md` files
eyalroz added a commit that referenced this issue Apr 20, 2024
…itions, improvements and removal of redundancies.
eyalroz added a commit that referenced this issue Apr 20, 2024
…uding newly-documented items) and occasial deletions. Some spacing tweaks
eyalroz added a commit that referenced this issue Apr 20, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 20, 2024
…er_to_peer` functions + added documentation
eyalroz added a commit that referenced this issue Apr 20, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 29, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 29, 2024
* Auto-update for doxygen 1.10
* increased maximum dot graph nodes
* Removed some file types from possible scan, particularly `.md` files
eyalroz added a commit that referenced this issue Apr 29, 2024
…itions, improvements and removal of redundancies.
eyalroz added a commit that referenced this issue Apr 29, 2024
…uding newly-documented items) and occasial deletions. Some spacing tweaks
eyalroz added a commit that referenced this issue Apr 29, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
eyalroz added a commit that referenced this issue Apr 29, 2024
…er_to_peer` functions + added documentation
eyalroz added a commit that referenced this issue Apr 29, 2024
…of existing comments, doxygen markup tweaks, and spacing tweaks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant