From 9b0e71df27da4e0d608617cd3e26cabfaed12d3c Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 6 Dec 2024 09:48:57 -0600 Subject: [PATCH] Revise README. (#1747) This PR applies some minor README revisions, like fixing outdated links. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Lawrence Mitchell (https://github.com/wence-) - Mark Harris (https://github.com/harrism) URL: https://github.com/rapidsai/rmm/pull/1747 --- README.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index d72d411f5..1d1f7a8ee 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,11 @@ ## Resources -- [RMM Reference Documentation](https://docs.rapids.ai/api/rmm/stable/): Python API reference, tutorials, and topic guides. -- [librmm Reference Documentation](https://docs.rapids.ai/api/librmm/stable/): C/C++ CUDA library API reference. -- [Getting Started](https://rapids.ai/start.html): Instructions for installing RMM. -- [RAPIDS Community](https://rapids.ai/community.html): Get help, contribute, and collaborate. -- [GitHub repository](https://github.com/rapidsai/rmm): Download the RMM source code. -- [Issue tracker](https://github.com/rapidsai/rmm/issues): Report issues or request features. +- [RMM Reference Documentation](https://docs.rapids.ai/api/rmm/stable/): Python and C++ API references, tutorials, and topic guides. +- [RAPIDS Installation Guide](https://docs.rapids.ai/install/): Instructions for installing RMM. +- [GitHub Repository](https://github.com/rapidsai/rmm): Download the RMM source code. +- [Issue Tracker](https://github.com/rapidsai/rmm/issues): Report issues or request features. +- [RAPIDS Community](https://rapids.ai/learn-more/#get-involved): Get help, contribute, and collaborate. ## Overview @@ -48,7 +47,7 @@ Note: RMM is supported only on Linux, and only tested with Python versions 3.10, Note: The RMM package from conda requires building with GCC 9 or later. Otherwise, your application may fail to build. -See the [Get RAPIDS version picker](https://rapids.ai/start.html) for more OS and version info. +See the [RAPIDS Installation Guide](https://docs.rapids.ai/install/) for system requirements. ## Building from Source @@ -82,16 +81,16 @@ For more details, see [pyproject.toml](python/rmm/pyproject.toml) To install RMM from source, ensure the dependencies are met and follow the steps below: -- Clone the repository and submodules +- Clone the repository ```bash -$ git clone --recurse-submodules https://github.com/rapidsai/rmm.git +$ git clone https://github.com/rapidsai/rmm.git $ cd rmm ``` - Create the conda development environment `rmm_dev` ```bash # create the conda environment (assuming in base `rmm` directory) -$ conda env create --name rmm_dev --file conda/environments/all_cuda-118_arch-x86_64.yaml +$ conda env create --name rmm_dev --file conda/environments/all_cuda-125_arch-x86_64.yaml # activate the environment $ conda activate rmm_dev ``` @@ -153,7 +152,7 @@ directory to avoid repeated downloads of the third-party dependencies. ## Using RMM in a downstream CMake project The installed RMM library provides a set of config files that makes it easy to -integrate RMM into your own CMake project. In your `CMakeLists.txt`, just add +integrate RMM into your own CMake project. Add the following to `CMakeLists.txt`: ```cmake find_package(rmm [VERSION]) @@ -367,8 +366,8 @@ deallocation is performed (including in the destructor). The user must therefore the device active during _creation_ of an `rmm::device_buffer` matches the active device of the memory resource being used. -Here is an incorrect example that creates a memory resource on device zero and then uses it to -allocate a `device_buffer` on device one: +Here is an incorrect example that creates a memory resource on device `0` and then uses it to +allocate a `device_buffer` on device `1`: ```c++ { @@ -382,7 +381,7 @@ allocate a `device_buffer` on device one: } ``` -A correct example creates the device buffer with device zero active. After that it is safe to switch +A correct example creates the device buffer with device `0` active. After that it is safe to switch devices and let the buffer go out of scope and destruct with a different device active. For example, this code is correct: @@ -879,7 +878,7 @@ Out[6]: 'total_count': 1} ``` -## Taking ownership of C++ objects from Python. +## Taking ownership of C++ objects from Python When interacting with a C++ library that uses RMM from Python, one must be careful when taking ownership of `rmm::device_buffer` objects