cudaProcess¶
-
class cudaProcess : public gpuProcess¶
Stage to manage all the kernels and copy commands for a GPU.
This stage is responsible for running the cudaCommandObjects which in turn run the various host<->device copies and kernel calls. Much of the logic exists in the base class
gpuProcess, so that class for more details.- Author
Keith Vanderlinde and Andre Renard
- Param num_cuda_streams:
The number of CUDA streams to setup, the default is 3 for one host->device, one device->host, and one kernel stream. Can be set higher if more than one stream is need for each type of operation. See
cudaCommandandcudaSyncStreamfor more details.
Public Functions
-
cudaProcess(kotekan::Config &config, const std::string &unique_name, kotekan::bufferContainer &buffer_container)¶
-
virtual ~cudaProcess()¶
-
virtual std::vector<gpuCommand*> create_command(const std::string &cmd_name, const std::string &unique_name) override¶
-
virtual gpuEventContainer *create_signal() override¶
-
virtual void queue_commands(int gpu_frame_counter) override¶
-
virtual void register_host_memory(Buffer *host_buffer) override¶
Public Members
-
std::shared_ptr<cudaDeviceInterface> device¶