[CINN] Set smaller size limit for local buffer #69740
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Category
CINN
PR Types
Performance
Description
EliminateCommonGlobalMemoryRead
里面设置的 local buffer 的大小上限太大(128个元素),经常使得 local buffer 被溢出到全局内存,导致性能严重下降这个PR暂时将上限改成8个元素观察效果,这是我在BatchNorm上实验发现让寄存器不溢出的最大值;这个pass的更优实现应该分析目标硬件的寄存器数量、配置的线程数、输入的变量数等来综合分析上限
另外,loop fusion 完成后,
EliminateCommonGlobalMemoryRead
的必要性将大大降低,因为很多缓存的需求就没有了,到时候可以更精细地研究这个pass的阈值设置Pcard-85711