Unverified Commit 2ae4f1b7 authored by Kuris's avatar Kuris Committed by GitHub
Browse files

[Fix] Fix bug copying from or to local buffer (#1304) (#1324)

* [Fix] fix copy from or to local buffer (#1304)

* fix lint error

* minor fix testing script
parent 2f34840f
...@@ -851,8 +851,13 @@ Stmt CopyNode::LowerNormalCopy(const LowerArgs &T, ...@@ -851,8 +851,13 @@ Stmt CopyNode::LowerNormalCopy(const LowerArgs &T,
For vectorized_thread_loop; For vectorized_thread_loop;
auto par_op = ParallelOp(transformed_loop); auto par_op = ParallelOp(transformed_loop);
if (is_cpu_target) { if (is_cpu_target || dst.scope() == "local" || src.scope() == "local") {
vectorized_thread_loop = VectorizeLoop(transformed_loop, analyzer); if (src.scope() == "local" && dst.scope() != "local") {
LOG(WARNING) << "Copy from local buffer `" << src->name << "` to "
<< dst.scope() << " buffer `" << dst->name
<< "` may cause conflicted write.";
}
vectorized_thread_loop = VectorizeLoop(transformed_loop);
} else { } else {
std::vector<InferLevel> levels = {InferLevel::kCommon, InferLevel::kStrict, std::vector<InferLevel> levels = {InferLevel::kCommon, InferLevel::kStrict,
InferLevel::kFree}; InferLevel::kFree};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment