Skip to content

Commit

Permalink
Improve libcu++ documentation a bit more (#1732)
Browse files Browse the repository at this point in the history
* Improve libcu++ documentation a bit more

Fixes #1728

* Download missing nvtc image
  • Loading branch information
miscco authored May 13, 2024
1 parent f8a26b2 commit b32c99f
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 15 deletions.
4 changes: 4 additions & 0 deletions cub/docs/gen_docs.bash
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ if [ ! -d cubimg ]; then
git clone -b gh-pages https://github.com/NVlabs/cub.git cubimg
fi

if [ ! -n "$(find img -name 'example_range.png')" ]; then
wget -q https://raw.githubusercontent.com/NVIDIA/NVTX/release-v3/docs/images/example_range.png -O img/example_range.png
fi

if [ ! -n "$(find img -name '*.png')" ]; then
wget -q https://docs.nvidia.com/cuda/_static/Logo_and_CUDA.png -O img/logo.png

Expand Down
2 changes: 1 addition & 1 deletion libcudacxx/docs/extended_api/memory_resource.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## memory_resource
## Memory resources

The `<cuda/memory_resource>` header provides a standard C++ interface for *heterogeneous*, *stream-ordered* memory allocation tailored to the needs of CUDA C++ developers. This design builds off of the success of the [RAPIDS Memory Manager (RMM)](https://github.com/rapidsai/rmm) project and evolves the design based on lessons learned. `<cuda/memory_resource>` is not intended to replace RMM, but instead moves the definition of the memory allocation interface to a more centralized home in CCCL. RMM will remain as a collection of implementations of the `cuda::mr` interfaces.

Expand Down
18 changes: 13 additions & 5 deletions libcudacxx/docs/standard_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@ libcu++ makes a best-effort to provide access to C++ Standard Library features i
For example, the calendar functionality added to `<chrono>` in C++20 is made available in C++14.

Feature availability:

- C++17 and C++20 features of`<chrono>` available in C++14:
- calendar functionality, e.g., `year`,`month`,`day`,`year_month_day`
- duration functions, e.g., `floor`, `ceil`, `round`
- Note: Timezone and clocks added in C++20 are not available
- calendar functionality, e.g., `year`,`month`,`day`,`year_month_day`
- duration functions, e.g., `floor`, `ceil`, `round`
- Note: Timezone and clocks added in C++20 are not available
- C++17 features from `<type_traits>` available in C++14:
- Convenience `_v` aliases such as `is_same_v`
- `void_t`
Expand Down Expand Up @@ -60,19 +61,26 @@ Any Standard C++ header not listed below is omitted.
| [`<cuda/std/barrier>`] | Multi-phase asynchronous thread-coordination mechanism (see also: [Extended API](./extended_api/synchronization_primitives/barrier.md)). <br/><br/> 1.1.0 / CUDA 11.0 |
| [`<cuda/std/semaphore>`] | Primitives for constraining concurrent access (see also: [Extended API](./extended_api/synchronization_primitives/counting_semaphore.md)). <br/><br/> 1.1.0 / CUDA 11.0 |

{% include_relative standard_api/time_library.md %}
{% include_relative standard_api/concepts_library.md %}

{% include_relative standard_api/numerics_library.md %}

{% include_relative standard_api/ranges_library.md %}

{% include_relative standard_api/time_library.md %}

{% include_relative standard_api/utility_library.md %}

## C Library

Any Standard C++ header not listed below is omitted.

| [`<cuda/std/cassert>`] | Lightweight assumption testing. <br/><br/> 1.0.0 / CUDA 10.2 |
| [`<cuda/std/cfloat>`] | Type support library. <br/><br/> 2.2.0 / CUDA 12.2 |
| [`<cuda/std/cmath>`] | Common math functions. <br/><br/> 2.2.0 / CUDA 12.2 |
| [`<cuda/std/cstddef>`] | Fundamental types. <br/><br/> 1.0.0 / CUDA 10.2 <br/> 1.4.0 (`byte`) |

| [`<cuda/std/cstdint>`] | Fundamental integer types. <br/><br/> 2.2.0 / CUDA 12.2 |
| [`<cuda/std/cstdlib>`] | Common utilities. <br/><br/> 2.2.0 / CUDA 12.2 |

[`<cuda/std/atomic>`]: https://en.cppreference.com/w/cpp/header/atomic
[`<cuda/std/latch>`]: https://en.cppreference.com/w/cpp/header/latch
Expand Down
2 changes: 1 addition & 1 deletion libcudacxx/docs/standard_api/ranges_library.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Concepts Library
## Ranges Library

| [`<cuda/std/ranges>`]* | Range based algorithms and concepts (see also: [libcu++ Specifics]({{ "standard_api/ranges_library/ranges.html" | relative_url }})). <br/><br/> 2.3.0 / CUDA 12.4 |

Expand Down
16 changes: 8 additions & 8 deletions libcudacxx/docs/standard_api/utility_library.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ Any Standard C++ header not listed below is omitted.
libcu++ Specifics for details.

| [`<cuda/std/type_traits>`] | Compile-time type introspection. <br/><br/> 1.0.0 / CUDA 10.2 |
| [`<cuda/std/tuple>`]* | Fixed-sized heterogeneous container (see also: [libcu++ Specifics]({{ "standard_api/utility_library/tuple.html" | relative_url }})). <br/><br/> 1.3.0 / CUDA 11.2 |
| [`<cuda/std/tuple>`]*| Fixed-sized heterogeneous container (see also: [libcu++ Specifics]({{ "standard_api/utility_library/tuple.html" | relative_url }})). <br/><br/> 1.3.0 / CUDA 11.2 |
| [`<cuda/std/functional>`]* | Function objects and function wrappers (see also: [libcu++ Specifics]({{ "standard_api/utility_library/functional.html" | relative_url }})). <br/><br/> 1.1.0 / CUDA 11.0 (Function Objects) |
| [`<cuda/std/utility>`]* | Various utility components (see also: [libcu++ Specifics]({{ "standard_api/utility_library/utility.html" | relative_url }})). <br/><br/> 1.3.0 / CUDA 11.2 (`pair`) |
| [`<cuda/std/utility>`]*| Various utility components (see also: [libcu++ Specifics]({{ "standard_api/utility_library/utility.html" | relative_url }})). <br/><br/> 1.3.0 / CUDA 11.2 (`pair`) |
| [`<cuda/std/version>`] | Compile-time version information (see also: [libcu++ Specifics]({{ "standard_api/utility_library/version.html" | relative_url }})). <br/><br/> 1.2.0 / CUDA 11.1 |
| [`<cuda/std/optional>`]* | Optional value (see also: [libcu++ Specifics]({{ "standard_api/utility_library/optional.html" | relative_url }})). <br/><br/> 2.3.0 / CUDA 12.4 |
| [`<cuda/std/variant>`]* | Type safe union type (see also: [libcu++ Specifics]({{ "standard_api/utility_library/variant.html" | relative_url }})). <br/><br/> 2.3.0 / CUDA 12.4 |
| [`<cuda/std/variant>`]*| Type safe union type (see also: [libcu++ Specifics]({{ "standard_api/utility_library/variant.html" | relative_url }})). <br/><br/> 2.3.0 / CUDA 12.4 |
| [`<cuda/std/expected>`]* | Optional value with error channel (see also: [libcu++ Specifics]({{ "standard_api/utility_library/expected.html" | relative_url }})). <br/><br/> 2.3.0 / CUDA 12.4 |

[`<cuda/std/type_traits>`]: https://en.cppreference.com/w/cpp/header/type_traits
[`<cuda/std/tuple>`]: https://en.cppreference.com/w/cpp/header/tuple
[`<cuda/std/expected>`]: https://en.cppreference.com/w/cpp/header/expected
[`<cuda/std/functional>`]: https://en.cppreference.com/w/cpp/header/functional
[`<cuda/std/utility>`]: https://en.cppreference.com/w/cpp/header/utility
[`<cuda/std/version>`]: https://en.cppreference.com/w/cpp/header/version
[`<cuda/std/optional>`]: https://en.cppreference.com/w/cpp/header/optional
[`<cuda/std/tuple>`]: https://en.cppreference.com/w/cpp/header/tuple
[`<cuda/std/type_traits>`]: https://en.cppreference.com/w/cpp/header/type_traits
[`<cuda/std/utility>`]: https://en.cppreference.com/w/cpp/header/utility
[`<cuda/std/variant>`]: https://en.cppreference.com/w/cpp/header/variant
[`<cuda/std/expected>`]: https://en.cppreference.com/w/cpp/header/expected
[`<cuda/std/version>`]: https://en.cppreference.com/w/cpp/header/version

0 comments on commit b32c99f

Please sign in to comment.