buffer.hpp
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #pragma once
6 
7 #include <vector>
8 
9 namespace kvikio {
10 
26 /*NOLINTNEXTLINE(readability-function-cognitive-complexity)*/
27 void buffer_register(void const* devPtr_base,
28  std::size_t size,
29  int flags = 0,
30  std::vector<int> const& errors_to_ignore = std::vector<int>());
31 
37 void buffer_deregister(void const* devPtr_base);
38 
53 void memory_register(void const* devPtr,
54  int flags = 0,
55  std::vector<int> const& errors_to_ignore = {});
56 
62 void memory_deregister(void const* devPtr);
63 
64 } // namespace kvikio
KvikIO namespace.
Definition: batch.hpp:16
void buffer_deregister(void const *devPtr_base)
deregister an already registered device memory from cuFile
void memory_register(void const *devPtr, int flags=0, std::vector< int > const &errors_to_ignore={})
Register device memory allocation which is part of devPtr. Use this together with FileHandle::pread()...
void buffer_register(void const *devPtr_base, std::size_t size, int flags=0, std::vector< int > const &errors_to_ignore=std::vector< int >())
register an existing cudaMalloced memory with cuFile to pin for GPUDirect Storage access.
void memory_deregister(void const *devPtr)
deregister an already registered device memory from cuFile.