Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-09 Thread via GitHub
lhutton1 commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2045202993 Thanks @ekalda @Lunderberg @cbalint13! Let's investigate adding the target dependent error message in a follow-up -- This is an automated message from the Apache Git Service. To respond

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-09 Thread via GitHub
lhutton1 merged PR #16782: URL: https://github.com/apache/tvm/pull/16782 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail:

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-04 Thread via GitHub
ekalda commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2037036256 Thanks for all the reviews and discussion! The latest version now includes changes as a response to @lhutton1 review. I also looked into using the target info in the LoopVectorizer and

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-04 Thread via GitHub
ekalda commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1551562798 ## src/tir/transforms/vectorize_loop.cc: ## @@ -635,19 +701,22 @@ class Vectorizer : public StmtMutator, public ExprFunctora) && b.same_as(op->b)) { return

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-04 Thread via GitHub
ekalda commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1551562489 ## src/tir/transforms/vectorize_loop.cc: ## @@ -433,20 +488,27 @@ class Vectorizer : public StmtMutator, public ExprFunctorVisitExpr(op->value); if

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-04 Thread via GitHub
ekalda commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1551562114 ## src/tir/transforms/vectorize_loop.cc: ## @@ -182,21 +199,29 @@ class Vectorizer : public StmtMutator, public ExprFunctora) && b.same_as(op->b)) { return

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-04 Thread via GitHub
ekalda commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1551560120 ## tests/python/tir-transform/test_tir_transform_vectorize.py: ## @@ -64,28 +61,86 @@ def test_vectorize_vector(): assert isinstance(stmt.body.value,

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-04-04 Thread via GitHub
ekalda commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1551559396 ## src/tir/ir/expr.cc: ## @@ -196,7 +196,9 @@ TVM_REGISTER_NODE_TYPE(StringImmNode); // Cast Cast::Cast(DataType t, PrimExpr value, Span span) {

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-31 Thread via GitHub
Lunderberg commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2028775777 That's a good point. This only applies for cases that would currently produce an error, where a `ForKind::kVectorized` is applied to a loop with dynamic extent. I'm convinced,

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-29 Thread via GitHub
cbalint13 commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2027792331 Trying to reason loudly on this, > When it comes to targets that don't support SVE, I'd expect these targets to not trigger the creation of scalable vectors. In the current

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-28 Thread via GitHub
lhutton1 commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1542695305 ## src/tir/transforms/vectorize_loop.cc: ## @@ -37,19 +37,36 @@ namespace tvm { namespace tir { -// TODO(ekalda): P5 in https://github.com/apache/tvm/issues/16455

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-26 Thread via GitHub
ekalda commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2020983646 Thank you for your feedback @Lunderberg, much appreciated! > The implementation looks reasonable, though I have one main question for it: What is the behavior of the updated pass for

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-26 Thread via GitHub
lhutton1 commented on code in PR #16782: URL: https://github.com/apache/tvm/pull/16782#discussion_r1539232691 ## src/tir/ir/expr.cc: ## @@ -196,7 +196,9 @@ TVM_REGISTER_NODE_TYPE(StringImmNode); // Cast Cast::Cast(DataType t, PrimExpr value, Span span) {

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-26 Thread via GitHub
Lunderberg commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2020540959 The implementation looks reasonable, though I have one main question for it: What is the behavior of the updated pass for a target that doesn't support SVE? Prior SVE-commits enabled

Re: [PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-25 Thread via GitHub
ekalda commented on PR #16782: URL: https://github.com/apache/tvm/pull/16782#issuecomment-2018282951 cc the usual suspects @lhutton1 @leandron @Anndrey24 @tqchen @Lunderberg -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub

[PR] [SVE] Support scalable vectors in LoopVectorizer [tvm]

2024-03-25 Thread via GitHub
ekalda opened a new pull request, #16782: URL: https://github.com/apache/tvm/pull/16782 This patch add support for turning loops marked for vectorizing into scalable vectors if the extent of the loop is a vscale dependent expression in a correct form. The testing for both scalable