Skip to content

Commit 03d0baf

Browse files
committed
Start cuda_ipc file
Change-Id: Ife0b48c87b27983352a498f1d3adbcc5d952265b
1 parent c027a03 commit 03d0baf

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

cpp/src/arrow/gpu/cuda_ipc.h

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
18+
#ifndef ARROW_GPU_CUDA_MEMORY_H
19+
#define ARROW_GPU_CUDA_MEMORY_H
20+
21+
#include <cstdint>
22+
#include <memory>
23+
24+
#include "arrow/buffer.h"
25+
#include "arrow/status.h"
26+
#include "arrow/util/visibility.h"
27+
28+
#include "arrow/cuda_memory.h"
29+
30+
namespace arrow {
31+
namespace gpu {
32+
33+
/// \brief Write record batch message to GPU device memory
34+
///
35+
///
36+
ARROW_EXPORT
37+
SerializeRecordBatch(const RecordBatch& batch, CudaContext* ctx,
38+
std::shared_ptr<CudaBuffer>* out);
39+
40+
/// \brief Write record batch to pre-allocated GPU device memory
41+
///
42+
/// \param[in] batch the record batch to write
43+
/// \param[in] out the CudaBufferWriter to write the output to
44+
/// \return Status
45+
///
46+
/// The CudaBufferWriter must have enough pre-allocated space to accommodate
47+
/// the record batch. You can use arrow::ipc::GetRecordBatchSize to compute
48+
/// this
49+
ARROW_EXPORT
50+
SerializeRecordBatch(const RecordBatch& batch, CudaBufferWriter* out);
51+
52+
} // namespace gpu
53+
} // namespace arrow
54+
55+
#endif // ARROW_GPU_CUDA_MEMORY_H

0 commit comments

Comments
 (0)