-
Notifications
You must be signed in to change notification settings - Fork 93
Add support for fully configurable partial-pass 3D kernels #572
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Add support for fully configurable partial-pass 3D kernels #572
Conversation
- Add support for direct from reg loads in partial pass SBRR kernels.
- Remove not needed lds_linear branch in partial-pass SBRR generator.
- Clean up.
- Improve comments. - Clean up.
- Improve comments.
- Remove redundant code from partial-pass SBCC generator's constructor. - Improve comments.
- Minor cosmetic changes.
Performance reports: |
@@ -459,4 +476,82 @@ struct SimpleHash | |||
} | |||
}; | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not clear from context what these new structs are for; would it be possible to add some code comments, please?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, new commit is in with the comments.
Haven't looked much into this PR yet, but it might be a good time to update the default value of the variable at Line 121 in dcfff3f
to 16 or higher if the function pool is growing, since it might improve build times a bit. |
Did you see any noticeable improvement going from 8 to 16? This PR does not add more kernels to the function pool, but the next one will (but not an unreasonable amount). |
It slowed down my build time by a couple seconds when going from 8 to 16, and building just the |
Sounds good, I will keep that in mind for the next PR. |
Add the ability to fully configure partial-pass 3D kernels in kernel-generator.py. This should remove the need for the remaining hard-coded 64x64x64 partial-pass parameters across the library.
The main changes include: