You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2022/12/11 21:49:26 UTC

[GitHub] [tvm] junrushao opened a new pull request, #13593: [WIP][TVMScript] Refactor IRDocsifier

junrushao opened a new pull request, #13593:
URL: https://github.com/apache/tvm/pull/13593

   weekend project. DO NOT REVIEW


-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] Hzfengsy commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
Hzfengsy commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1063957422


##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   Please remove it if it is not used. All at least add a comment for better readability.



##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   Please remove it if it is not used. Or at least add a comment for better readability.



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] tvm-bot commented on pull request #13593: [WIP][TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
tvm-bot commented on PR #13593:
URL: https://github.com/apache/tvm/pull/13593#issuecomment-1345665875

   <!---bot-comment-->
   
   Thanks for contributing to TVM! Please refer to the contributing guidelines https://tvm.apache.org/docs/contribute/ for useful information and tips. Please request code reviews from [Reviewers](https://github.com/apache/incubator-tvm/blob/master/CONTRIBUTORS.md#reviewers) by @-ing them in a comment.
   
   
   
   <sub>Generated by [tvm-bot](https://github.com/apache/tvm/blob/main/ci/README.md#github-actions)</sub>


-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] Hzfengsy commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
Hzfengsy commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1063948765


##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   Why is it `DataType::Void()`?



##########
tests/scripts/task_mypy.sh:
##########
@@ -32,9 +32,6 @@ mypy  --check-untyped-defs python/tvm/tir/analysis/
 echo "Checking MyPy Type defs in the transform package."
 mypy  --check-untyped-defs python/tvm/tir/transform/
 
-echo "Checking MyPy Type defs in the tvmscript printer package."
-mypy  --check-untyped-defs python/tvm/script/printer

Review Comment:
   Please enable mypy checks



##########
src/script/printer/doc_printer/python_doc_printer.cc:
##########
@@ -294,7 +295,11 @@ void PythonDocPrinter::PrintTypedDoc(const LiteralDoc& doc) {
   } else if (const auto* float_imm = value.as<FloatImmNode>()) {
     // TODO(yelite): Make float number printing roundtrippable

Review Comment:
   Do you know if this TODO is resolved?



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] junrushao commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
junrushao commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1063956609


##########
src/script/printer/doc_printer/python_doc_printer.cc:
##########
@@ -294,7 +295,11 @@ void PythonDocPrinter::PrintTypedDoc(const LiteralDoc& doc) {
   } else if (const auto* float_imm = value.as<FloatImmNode>()) {
     // TODO(yelite): Make float number printing roundtrippable

Review Comment:
   Not yet but indeed there is a way forward



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] junrushao commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
junrushao commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1063956422


##########
tests/scripts/task_mypy.sh:
##########
@@ -32,9 +32,6 @@ mypy  --check-untyped-defs python/tvm/tir/analysis/
 echo "Checking MyPy Type defs in the transform package."
 mypy  --check-untyped-defs python/tvm/tir/transform/
 
-echo "Checking MyPy Type defs in the tvmscript printer package."
-mypy  --check-untyped-defs python/tvm/script/printer

Review Comment:
   sure!



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] tqchen commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
tqchen commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1064022233


##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   I think we can change the comment to "Right now we always print out the explicit type of floating point values, so setting it to Void means we do not print without T.float32/T.float64 wrapper"



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] tqchen merged pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
tqchen merged PR #13593:
URL: https://github.com/apache/tvm/pull/13593


-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] junrushao commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
junrushao commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1063957932


##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   I do think that we could consider a default dtype for float in the near future



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] tqchen commented on pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
tqchen commented on PR #13593:
URL: https://github.com/apache/tvm/pull/13593#issuecomment-1374903387

   Thanks @junrushao @Hzfengsy !


-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] junrushao commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
junrushao commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1063956581


##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   I looked up the current convention and it seems that we always print T.float32/float64 for floating point numbers, so this is to be consistent with the current style



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [tvm] junrushao commented on a diff in pull request #13593: [TVMScript] Refactor IRDocsifier

Posted by GitBox <gi...@apache.org>.
junrushao commented on code in PR #13593:
URL: https://github.com/apache/tvm/pull/13593#discussion_r1064065194


##########
include/tvm/script/printer/printer.h:
##########
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef TVM_SCRIPT_PRINTER_PRINTER_H_
+#define TVM_SCRIPT_PRINTER_PRINTER_H_
+
+#include <tvm/node/node.h>
+#include <tvm/script/printer/ir_docsifier.h>
+
+#include <unordered_map>
+#include <vector>
+
+namespace tvm {
+namespace script {
+namespace printer {
+
+/*! \brief Default values in the TVMScript printer */
+struct Default {
+  /*! \brief Default data type of TIR buffer */
+  DataType buffer_dtype = DataType::Float(32);
+  /*! \brief Default data type of integer literals */
+  DataType int_dtype = DataType::Int(32);
+  /*! \brief Default data type of float literals */
+  DataType float_dtype = DataType::Void();

Review Comment:
   that sounds good!



-- 
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: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org