MCPcopy Create free account
hub / github.com/alibaba/MNN / _copyBufferToTensor

Function _copyBufferToTensor

source/backend/vulkan/buffer/backend/VulkanBackend.cpp:75–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73#endif
74
75static void _copyBufferToTensor(const Tensor* dest, const VulkanBuffer* source, size_t offset, bool half2float = false) {
76 auto sourcePtr = (const float*)source->map(offset);
77 if (half2float) {
78 auto dstPtr = dest->host<float>();
79 auto elementCount = static_cast<size_t>(dest->elementSize());
80 HALF_TO_FLOAT(reinterpret_cast<const int16_t*>(sourcePtr), dstPtr, elementCount);
81 } else {
82 ::memcpy(dest->host<float>(), sourcePtr, dest->usize());
83 }
84 source->unmap();
85}
86
87static void _copyTensorToBuffer(const Tensor* source, const VulkanBuffer* dest, size_t offset, bool float2half = false) {
88 auto destPtr = reinterpret_cast<uint8_t*>(dest->map(offset));

Callers 1

onCopyBufferMethod · 0.70

Calls 3

usizeMethod · 0.80
mapMethod · 0.45
unmapMethod · 0.45

Tested by

no test coverage detected