#include <pillar_preprocess_cuda.hpp>
Own the reusable CUDA resources required for pillar preprocessing.
Definition at line 67 of file pillar_preprocess_cuda.hpp.
◆ PillarPreprocessCudaContext() [1/3]
| pcod_common::PillarPreprocessCudaContext::PillarPreprocessCudaContext |
( |
| ) |
|
Construct a context, retaining an unavailable state when CUDA initialization fails.
Definition at line 12 of file pillar_preprocess_cuda_stub.cpp.
12: impl_(std::make_unique<Impl>()) {}
◆ ~PillarPreprocessCudaContext()
| pcod_common::PillarPreprocessCudaContext::~PillarPreprocessCudaContext |
( |
| ) |
|
|
default |
Release all owned CUDA resources.
◆ PillarPreprocessCudaContext() [2/3]
Copy construction is disabled because the context owns backend resources.
◆ PillarPreprocessCudaContext() [3/3]
- Parameters
-
| other | Context whose resources are transferred. |
◆ isAvailable()
| bool pcod_common::PillarPreprocessCudaContext::isAvailable |
( |
| ) |
const |
◆ operator=() [1/2]
Copy assignment is disabled because the context owns backend resources.
◆ operator=() [2/2]
- Parameters
-
| other | Context whose resources are transferred. |
- Returns
- This context.
◆ run()
Run preprocessing and copy results to host-accessible buffers.
- Parameters
-
| points | Host input point array. |
| num_points | Number of input points. |
| config | Preprocessing contract. |
| outputs | Host output buffers. |
| error_message | Optional failure detail destination. |
- Returns
- Whether preprocessing completed successfully.
Definition at line 22 of file pillar_preprocess_cuda_stub.cpp.
26 {
27 (void)points;
28 (void)num_points;
29 (void)config;
30 (void)outputs;
31 if (error_message != nullptr) {
32 *error_message =
33 impl_ == nullptr ? "CUDA preprocessing context is not initialized" : "CUDA preprocessing is not available in this build";
34 }
35 return false;
36}
◆ runToDevice()
Run preprocessing directly into device-resident buffers.
- Parameters
-
| points | Host input point array. |
| num_points | Number of input points. |
| config | Preprocessing contract. |
| outputs | Device output buffers. |
| error_message | Optional failure detail destination. |
- Returns
- Whether preprocessing completed successfully.
Definition at line 38 of file pillar_preprocess_cuda_stub.cpp.
42 {
43 (void)points;
44 (void)num_points;
45 (void)config;
46 (void)outputs;
47 if (error_message != nullptr) {
48 *error_message =
49 impl_ == nullptr ? "CUDA preprocessing context is not initialized" : "CUDA preprocessing is not available in this build";
50 }
51 return false;
52}
The documentation for this class was generated from the following files: