[CPU] Fix Deformable Convolution invalid read issue (#14326)

* Fix MACOS compiling issue when enabling CPU_DEBUG_CAPS.

* Fix Deformable Convolution segment fault caused by invalid access offset index.
This commit is contained in:
Luwei Zhou 2022-12-06 19:48:28 +08:00 committed by GitHub
parent 09b24a1932
commit da5b53e574
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 12 deletions

View File

@ -342,10 +342,10 @@ private:
size_t ind_off_lh = ind_off_hl + 1;
size_t ind_off_ll = ind_off_lh + 1;
uni_vmovq(xmm_v1_off, qword[aux_reg_sampled_offs + ind_off_ll * jcp_.typesize_sampled_offsets]);
uni_vmovq(xmm_v2_off, qword[aux_reg_sampled_offs + ind_off_hl * jcp_.typesize_sampled_offsets]);
uni_vmovq(xmm_v3_off, qword[aux_reg_sampled_offs + ind_off_lh * jcp_.typesize_sampled_offsets]);
uni_vmovq(xmm_v4_off, qword[aux_reg_sampled_offs + ind_off_hh * jcp_.typesize_sampled_offsets]);
uni_vmovd(xmm_v1_off, dword[aux_reg_sampled_offs + ind_off_ll * jcp_.typesize_sampled_offsets]);
uni_vmovd(xmm_v2_off, dword[aux_reg_sampled_offs + ind_off_hl * jcp_.typesize_sampled_offsets]);
uni_vmovd(xmm_v3_off, dword[aux_reg_sampled_offs + ind_off_lh * jcp_.typesize_sampled_offsets]);
uni_vmovd(xmm_v4_off, dword[aux_reg_sampled_offs + ind_off_hh * jcp_.typesize_sampled_offsets]);
// w's computation
uni_vbroadcastss(vmm_w1, dword[aux_reg_sampled_wei + ind_off_ll * jcp_.typesize_sampled_wei]);

View File

@ -43,14 +43,6 @@ public:
void break_at(const std::string & log);
};
static inline std::ostream& write_all_to_stream(std::ostream& os) {
return os;
}
template <typename T, typename... TS>
static inline std::ostream& write_all_to_stream(std::ostream& os, const T& arg, TS&&... args) {
return ov::intel_cpu::write_all_to_stream(os << arg, std::forward<TS>(args)...);
}
class NodeDesc;
class MemoryDesc;
class Node;
@ -125,6 +117,14 @@ std::ostream & operator<<(std::ostream & os, const PrintableVector<T>& vec) {
return os;
}
static inline std::ostream& write_all_to_stream(std::ostream& os) {
return os;
}
template <typename T, typename... TS>
static inline std::ostream& write_all_to_stream(std::ostream& os, const T& arg, TS&&... args) {
return ov::intel_cpu::write_all_to_stream(os << arg, std::forward<TS>(args)...);
}
} // namespace intel_cpu
} // namespace ov