Skip to content

Commit

Permalink
Apply comment
Browse files Browse the repository at this point in the history
  • Loading branch information
andrew-k-park committed Feb 19, 2025
1 parent 608d969 commit 9e743e9
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 19 deletions.
8 changes: 4 additions & 4 deletions src/plugins/intel_gpu/include/intel_gpu/runtime/memory.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ struct memory {
memory(engine* engine, const layout& layout, allocation_type type, std::shared_ptr<MemoryTracker> mem_tracker);

virtual ~memory() = default;
virtual void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write, bool blocking = true) = 0;
virtual void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write) = 0;
virtual void unlock(const stream& stream) = 0;
virtual event::ptr fill(stream& stream, unsigned char pattern, bool blocking = true) = 0;
virtual event::ptr fill(stream& stream, bool blocking = true) = 0;
Expand Down Expand Up @@ -145,7 +145,7 @@ struct simple_attached_memory : memory {
simple_attached_memory(const layout& layout, void* pointer)
: memory(nullptr, layout, allocation_type::unknown, nullptr), _pointer(pointer) {}

void* lock(const stream& /* stream */, mem_lock_type /* type */, bool /* blocking */) override { return _pointer; }
void* lock(const stream& /* stream */, mem_lock_type /* type */) override { return _pointer; }
void unlock(const stream& /* stream */) override {}
event::ptr fill(stream& /* stream */, unsigned char, bool) override { return nullptr; }
event::ptr fill(stream& /* stream */, bool) override { return nullptr; }
Expand Down Expand Up @@ -173,8 +173,8 @@ struct simple_attached_memory : memory {

template <class T, mem_lock_type lock_type = mem_lock_type::read_write>
struct mem_lock {
explicit mem_lock(memory::ptr mem, const stream& stream, bool blocking = true) : _mem(std::move(mem)), _stream(stream),
_ptr(reinterpret_cast<T*>(_mem->lock(_stream, lock_type, blocking))) {}
explicit mem_lock(memory::ptr mem, const stream& stream) : _mem(std::move(mem)), _stream(stream),
_ptr(reinterpret_cast<T*>(_mem->lock(_stream, lock_type))) {}

~mem_lock() {
_ptr = nullptr;
Expand Down
9 changes: 3 additions & 6 deletions src/plugins/intel_gpu/src/plugin/sync_infer_request.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -444,12 +444,8 @@ void SyncInferRequest::wait() {
auto& stream = m_graph->get_network()->get_stream();
auto user_mem = remote_tensor_impl_ptr->get_original_memory();
if (user_mem->get_allocation_type() == cldnn::allocation_type::cl_mem && output_memory->get_allocation_type() != cldnn::allocation_type::cl_mem) {
// WA: Copy between cl_mem and usm memory may fail for some reason (driver bug?)
// so this explicit memcpy is used to provide correct output for cl_mem output in dynamic cases
auto blocking = (stream.get_queue_type() == QueueTypes::in_order) ? false : true;
cldnn::mem_lock<uint8_t, cldnn::mem_lock_type::read> lock_dst(user_mem, stream, blocking);
cldnn::mem_lock<uint8_t, cldnn::mem_lock_type::read> lock_src(output_memory, stream, blocking);
std::memcpy(lock_dst.data(), lock_src.data(), output_memory->size());
copy_events.push_back(user_mem->copy_from(stream, *output_memory, blocking));
} else {
bool is_same_mem = output_memory->buffer_ptr() == user_mem->buffer_ptr();
if (!is_same_mem)
Expand Down Expand Up @@ -939,7 +935,8 @@ std::vector<cldnn::event::ptr> SyncInferRequest::prepare_output(size_t output_id
bool convert_needed = is_convert_required(device_tensor_et, element_type);

// Even if the network is dynamic, if user tensor's shape is static, remote tensor can be set as plugin's output tensor
if (is_remote_tensor_impl && !convert_needed && !user_tensor_pshape.is_dynamic()) {
// if (is_remote_tensor_impl && !convert_needed && !user_tensor_pshape.is_dynamic()) {
if (is_remote_tensor_impl && !convert_needed && !is_dynamic) {
m_plugin_outputs[output_idx] = user_tensor_wrapper;
}

Expand Down
12 changes: 6 additions & 6 deletions src/plugins/intel_gpu/src/runtime/ocl/ocl_memory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ gpu_buffer::gpu_buffer(ocl_engine* engine,
: lockable_gpu_mem(), memory(engine, new_layout, allocation_type::cl_mem, mem_tracker)
, _buffer(buffer) {}

void* gpu_buffer::lock(const stream& stream, mem_lock_type type, bool blocking) {
void* gpu_buffer::lock(const stream& stream, mem_lock_type type) {
auto& cl_stream = downcast<const ocl_stream>(stream);
std::lock_guard<std::mutex> locker(_mutex);
if (0 == _lock_count) {
try {
_mapped_ptr = cl_stream.get_cl_queue().enqueueMapBuffer(_buffer, static_cast<cl_bool>(blocking), get_cl_map_type(type), 0, size());
_mapped_ptr = cl_stream.get_cl_queue().enqueueMapBuffer(_buffer, CL_TRUE, get_cl_map_type(type), 0, size());
} catch (cl::Error const& err) {
OPENVINO_THROW(OCL_ERR_MSG_FMT(err));
}
Expand Down Expand Up @@ -298,14 +298,14 @@ event::ptr gpu_image2d::fill(stream& stream, unsigned char pattern, bool blockin
return ev;
}

void* gpu_image2d::lock(const stream& stream, mem_lock_type type, bool blocking) {
void* gpu_image2d::lock(const stream& stream, mem_lock_type type) {
auto& cl_stream = downcast<const ocl_stream>(stream);
std::lock_guard<std::mutex> locker(_mutex);
if (0 == _lock_count) {
try {
_mapped_ptr = cl_stream.get_cl_queue()
.enqueueMapImage(_buffer,
static_cast<cl_bool>(blocking),
CL_TRUE,
get_cl_map_type(type),
{0, 0, 0},
{_width, _height, 1},
Expand Down Expand Up @@ -475,7 +475,7 @@ gpu_usm::gpu_usm(ocl_engine* engine, const layout& layout, allocation_type type)
m_mem_tracker = std::make_shared<MemoryTracker>(engine, _buffer.get(), actual_bytes_count, type);
}

void* gpu_usm::lock(const stream& stream, mem_lock_type type, bool blocking) {
void* gpu_usm::lock(const stream& stream, mem_lock_type type) {
std::lock_guard<std::mutex> locker(_mutex);
if (0 == _lock_count) {
auto& cl_stream = downcast<const ocl_stream>(stream);
Expand All @@ -486,7 +486,7 @@ void* gpu_usm::lock(const stream& stream, mem_lock_type type, bool blocking) {
GPU_DEBUG_LOG << "Copy usm_device buffer to host buffer." << std::endl;
_host_buffer.allocateHost(_bytes_count);
try {
cl_stream.get_usm_helper().enqueue_memcpy(cl_stream.get_cl_queue(), _host_buffer.get(), _buffer.get(), _bytes_count, blocking);
cl_stream.get_usm_helper().enqueue_memcpy(cl_stream.get_cl_queue(), _host_buffer.get(), _buffer.get(), _bytes_count, CL_TRUE);
} catch (cl::Error const& err) {
OPENVINO_THROW(OCL_ERR_MSG_FMT(err));
}
Expand Down
6 changes: 3 additions & 3 deletions src/plugins/intel_gpu/src/runtime/ocl/ocl_memory.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ struct gpu_buffer : public lockable_gpu_mem, public memory {
gpu_buffer(ocl_engine* engine, const layout& new_layout, const cl::Buffer& buffer, std::shared_ptr<MemoryTracker> mem_tracker);
gpu_buffer(ocl_engine* engine, const layout& layout);

void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write, bool blocking = true) override;
void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write) override;
void unlock(const stream& stream) override;
event::ptr fill(stream& stream, unsigned char pattern, bool blocking = true) override;
event::ptr fill(stream& stream, bool blocking = true) override;
Expand Down Expand Up @@ -59,7 +59,7 @@ struct gpu_image2d : public lockable_gpu_mem, public memory {
gpu_image2d(ocl_engine* engine, const layout& new_layout, const cl::Image2D& buffer, std::shared_ptr<MemoryTracker> mem_tracker);
gpu_image2d(ocl_engine* engine, const layout& layout);

void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write, bool blocking = true) override;
void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write) override;
void unlock(const stream& stream) override;
event::ptr fill(stream& stream, unsigned char pattern, bool blocking = true) override;
event::ptr fill(stream& stream, bool blocking = true) override;
Expand Down Expand Up @@ -109,7 +109,7 @@ struct gpu_usm : public lockable_gpu_mem, public memory {
gpu_usm(ocl_engine* engine, const layout& new_layout, const cl::UsmMemory& usm_buffer, std::shared_ptr<MemoryTracker> mem_tracker);
gpu_usm(ocl_engine* engine, const layout& layout, allocation_type type);

void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write, bool blocking = true) override;
void* lock(const stream& stream, mem_lock_type type = mem_lock_type::read_write) override;
void unlock(const stream& stream) override;
const cl::UsmMemory& get_buffer() const { return _buffer; }
cl::UsmMemory& get_buffer() { return _buffer; }
Expand Down

0 comments on commit 9e743e9

Please sign in to comment.