MCPcopy Create free account
hub / github.com/KomputeProject/kompute / createBuffer

Method createBuffer

src/Tensor.cpp:436–460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

434}
435
436void
437Tensor::createBuffer(std::shared_ptr<vk::Buffer> buffer,
438 vk::BufferUsageFlags bufferUsageFlags)
439{
440
441 vk::DeviceSize bufferSize = this->memorySize();
442
443 if (bufferSize < 1) {
444 throw std::runtime_error(
445 "Kompute Tensor attempted to create a zero-sized buffer");
446 }
447
448 KP_LOG_DEBUG("Kompute Tensor creating buffer with memory size: {}, and "
449 "usage flags: {}",
450 bufferSize,
451 vk::to_string(bufferUsageFlags));
452
453 // TODO: Explore having concurrent sharing mode (with option)
454 vk::BufferCreateInfo bufferInfo(vk::BufferCreateFlags(),
455 bufferSize,
456 bufferUsageFlags,
457 vk::SharingMode::eExclusive);
458
459 this->mDevice->createBuffer(&bufferInfo, nullptr, buffer.get());
460}
461
462void
463Tensor::allocateBindMemory(std::shared_ptr<vk::Buffer> buffer,

Callers 1

Calls 1

memorySizeMethod · 0.95

Tested by

no test coverage detected