Skip to content

[Fixbug] Reduce should perform syncthread after initializing shared memory to zero#325

Merged
yaoyaoding merged 1 commit intohidet-org:mainfrom
xinli-git:reduce_fix
Jul 22, 2023
Merged

[Fixbug] Reduce should perform syncthread after initializing shared memory to zero#325
yaoyaoding merged 1 commit intohidet-org:mainfrom
xinli-git:reduce_fix

Conversation

@xinli-git
Copy link
Copy Markdown
Contributor

This bug slipped through the CI because the test shapes were all too small. There is an initialization of shared memory that is not guarded by syncthread before others were able to access it.

@yaoyaoding
Copy link
Copy Markdown
Member

Thanks @xinli-git !

@yaoyaoding yaoyaoding merged commit a075078 into hidet-org:main Jul 22, 2023
@xinli-git xinli-git deleted the reduce_fix branch August 21, 2023 02:48
vadiklyutiy pushed a commit that referenced this pull request Dec 19, 2024
…le compiling the model `sam` (#444)

Closes #325 

The error in the linked issue was caused by [this code
segment](https://github.com/CentML/hidet/blob/bfbb4db6d7792ed3de3be4e9702e597b8fbbe373/python/hidet/graph/transforms/conv_channel_last.py#L46-L75)
in `graph/transforms/conv_channel_last.py`.

By the logic flow of this code segment, if the operator `node` has two
inputs, the first one with rank 4 and the second rank 3(an example case
in the model: an `AddOp` where the first input has shape `[1, 256, 64,
64]` and the second `[256, 1, 1]`) , then by the time the code reaches
the line 75, the variable `new_perm`would have value `[1, 2, 0]`, and
this value will be recorded as the permutation scheme used to get the
new output, which is incorrect as the appropriate value should be `[0,
2, 3, 1]` here.
vadiklyutiy pushed a commit that referenced this pull request Dec 20, 2024
…le compiling the model `sam` (#444)

Closes #325 

The error in the linked issue was caused by [this code
segment](https://github.com/CentML/hidet/blob/bfbb4db6d7792ed3de3be4e9702e597b8fbbe373/python/hidet/graph/transforms/conv_channel_last.py#L46-L75)
in `graph/transforms/conv_channel_last.py`.

By the logic flow of this code segment, if the operator `node` has two
inputs, the first one with rank 4 and the second rank 3(an example case
in the model: an `AddOp` where the first input has shape `[1, 256, 64,
64]` and the second `[256, 1, 1]`) , then by the time the code reaches
the line 75, the variable `new_perm`would have value `[1, 2, 0]`, and
this value will be recorded as the permutation scheme used to get the
new output, which is incorrect as the appropriate value should be `[0,
2, 3, 1]` here.
vadiklyutiy pushed a commit that referenced this pull request Dec 26, 2024
…le compiling the model `sam` (#444)

Closes #325 

The error in the linked issue was caused by [this code
segment](https://github.com/CentML/hidet/blob/bfbb4db6d7792ed3de3be4e9702e597b8fbbe373/python/hidet/graph/transforms/conv_channel_last.py#L46-L75)
in `graph/transforms/conv_channel_last.py`.

By the logic flow of this code segment, if the operator `node` has two
inputs, the first one with rank 4 and the second rank 3(an example case
in the model: an `AddOp` where the first input has shape `[1, 256, 64,
64]` and the second `[256, 1, 1]`) , then by the time the code reaches
the line 75, the variable `new_perm`would have value `[1, 2, 0]`, and
this value will be recorded as the permutation scheme used to get the
new output, which is incorrect as the appropriate value should be `[0,
2, 3, 1]` here.
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.

3 participants