Skip to content

Implement range for loop in script#5827

Merged
ezyang merged 13 commits intopytorch:masterfrom
jamesr66a:rangefor
Mar 23, 2018
Merged

Implement range for loop in script#5827
ezyang merged 13 commits intopytorch:masterfrom
jamesr66a:rangefor

Conversation

@jamesr66a
Copy link
Copy Markdown
Collaborator

@jamesr66a jamesr66a commented Mar 16, 2018

TODO: add support in the AST parsing frontend

Comment thread torch/csrc/jit/interpreter.cpp Outdated

This comment was marked as off-topic.

Comment thread torch/csrc/jit/interpreter.cpp Outdated

This comment was marked as off-topic.

Comment thread torch/csrc/jit/interpreter.cpp Outdated

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/tree_views.h Outdated

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

@jamesr66a
Copy link
Copy Markdown
Collaborator Author

@pytorchbot retest this please

3 similar comments
@jamesr66a
Copy link
Copy Markdown
Collaborator Author

@pytorchbot retest this please

@jamesr66a
Copy link
Copy Markdown
Collaborator Author

@pytorchbot retest this please

@jamesr66a
Copy link
Copy Markdown
Collaborator Author

@pytorchbot retest this please

Comment thread test/test_jit.py Outdated
a = True
return a
'''
outputs = [True]

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/interpreter.cpp Outdated
->output();
// Also move trip count to the end because we need to mutate it after
// this transformation and it's easier to append an output in the block
// than it is to prepend.

This comment was marked as off-topic.

Copy link
Copy Markdown
Contributor

@zdevito zdevito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks correct. I have minor comments to make the code clearer.

Comment thread torch/csrc/jit/interpreter.cpp Outdated
g->insertNode(g->createConstant(at::zeros(at::CPU(at::kLong), {1})))
->output();
// Also move trip count to the end because we need to mutate it after
// this transformation and it's easier to append an output in the block

This comment was marked as off-topic.

Comment thread torch/csrc/jit/interpreter.cpp Outdated
->output();
body_block->registerOutput(inc_trip_count);

Value* body_comparison =

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated
cond_value_dummy,
stmt.body(),
stmt,
nullptr,

This comment was marked as off-topic.

This comment was marked as off-topic.

Comment thread torch/csrc/jit/script/compiler.cpp Outdated
expectOutputs(tree, output_size, 1);
return emitConst(Const(tree));
} break;
case TK_TRUE:

This comment was marked as off-topic.

@ezyang ezyang merged commit 213fa61 into pytorch:master Mar 23, 2018
Comment thread torch/csrc/jit/ir.h
for (auto& use : inputs_[use_itr]->uses_) {
if (use.user == this) {
use.offset += 1;
break;

This comment was marked as off-topic.

This comment was marked as off-topic.

sighingnow added a commit to sighingnow/pytorch that referenced this pull request Mar 25, 2018
* upstream/master: (663 commits)
  Fix "command not found" error in perf test (pytorch#5982)
  add pip mkl-devel to the error message when mkl is found but mkl headers are not (pytorch#5984)
  Support batch LowerCholeskyTransform (pytorch#5980)
  Linearly interpolating upsampling fix (pytorch#5927)
  Store perf numbers in S3 (pytorch#5951)
  Modidy setup docs for Windows (pytorch#5981)
  Group Normalization (pytorch#5968)
  [distributions] Implement Power transform (pytorch#5976)
  Disable TestBottleneck test_cuda on Windows (pytorch#5977)
  Fix crash when cat-ing empty cuda tensors (pytorch#5971)
  Update no_unions flag for nanopb gen and update ONNX proto files (pytorch#5972)
  Expose gradients w.r.t. input & weight for conv1d, conv2d, conv3d in Python (pytorch#5408)
  Fixed non-determinate preprocessing on DataLoader (pytorch#4640)
  add AVX2 implementation for sigmoid function (pytorch#5010)
  Implement torch.util.bottleneck (pytorch#5216)
  Remove pragma once from cpp file (pytorch#5965)
  fix mvn docs (pytorch#5967)
  Fix incorrect rendering of Tensor.index_*_ doc examples. (pytorch#5969)
  Implement range for loop in script (pytorch#5827)
  Add windows doc (pytorch#5859)
  ...

# Conflicts:
#	aten/src/TH/generic/THTensorMath.c
#	torch/_tensor_docs.py
#	torch/csrc/generic/methods/TensorCompare.cwrap
laurentdupin pushed a commit to laurentdupin/pytorch that referenced this pull request Apr 24, 2026
* Implement range for loop in script

* Fix handling of boolean constants

* Use WithInsertPoint

* Allow dynamic max trip count

* fix symbols

* Fix argument order

* fix test

* Add insert{Input,Output} APIs and use them

* Factor out condition stuff

* clang-format

* Address remaining comments

* Fix tests

* Implement script in AST frontend
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants