MCPcopy Create free account
hub / github.com/a2flo/floor / create_queue

Method create_queue

src/device/cuda/cuda_context.cpp:396–412  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

394}
395
396std::shared_ptr<device_queue> cuda_context::create_queue(const device& dev) const {
397 // ensure context is set for the calling thread
398 const auto& cuda_dev = (const cuda_device&)dev;
399 if (cuda_dev.ctx != nullptr) {
400 if (!cuda_dev.make_context_current()) {
401 return {};
402 }
403 }
404
405 cu_stream stream;
406 CU_CALL_RET(cu_stream_create(&stream, CU_STREAM_FLAGS::NON_BLOCKING),
407 "failed to create CUDA stream", {})
408
409 auto ret = std::make_shared<cuda_queue>(dev, stream);
410 queues.push_back(ret);
411 return ret;
412}
413
414const device_queue* cuda_context::get_device_default_queue(const device& dev) const {
415 const auto def_queue_iter = default_queues.find(&dev);

Callers

nothing calls this directly

Calls 1

make_context_currentMethod · 0.80

Tested by

no test coverage detected