Skip to content
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

ocl: updated tuned parameters, improved tuner, adjusted kernel #731

Merged
merged 1 commit into from
Nov 6, 2023

Conversation

hfp
Copy link
Member

@hfp hfp commented Nov 6, 2023

tune_multiply.py

  • Explicit/keep instance of SmmTuner which enables saving the final state even after an exception/error.
  • Ensure SmmTuner is initialized once (manipulator method is apparently called multiple times).
  • Only call save_final_config if it is not the seed-configuration.
  • Support parameters that cannot be expanded in value-range.
  • Implemented option to delete outperformed JSONs.
  • Print additional info for retainable/deletable files.
  • Fixed populating tunable/fixed parameters.

Tuning on multiple devices (tune_multiply.py)

  • More robust file manipulation when running with MPI. Create dot-files on a per-device basis.
  • Ensure to initially expose all devices. Fixed parsing initial configuration. Code cleanup.
  • Support tuning parameters on multiple device using MPI.
  • Rebuild CSV-file only on master-rank.

kernels/multiply.cl

  • Replaced short with SINT def., and changed to signed char.
  • Reduced number of choices for AA, AB, and AC parameters.
  • Expand value-range of tunable according to seed-value.
  • Adjusted some loop induction variable type.
  • Fixed synchronization issue.
  • Code comments.

Documentation

  • Section about "Advanced Tuning" (utilizing multiple devices).

tune_multiply.py
* Explicit/keep instance of SmmTuner which enables saving the final state even after an exception/error.
* Ensure SmmTuner is initialized once (manipulator method is apparently called multiple times).
* Only call save_final_config if it is not the seed-configuration.
* Support parameters that cannot be expanded in value-range.
* Implemented option to delete outperformed JSONs.
* Print additional info for retainable/deletable files.
* Fixed populating tunable/fixed parameters.

Tuning on multiple devices (tune_multiply.py)
* More robust file manipulation when running with MPI. Create dot-files on a per-device basis.
* Ensure to initially expose all devices. Fixed parsing initial configuration. Code cleanup.
* Support tuning parameters on multiple device using MPI.
* Rebuild CSV-file only on master-rank.

kernels/multiply.cl
* Replaced short with SINT def., and changed to signed char.
* Reduced number of choices for AA, AB, and AC parameters.
* Expand value-range of tunable according to seed-value.
* Adjusted some loop induction variable type.
* Fixed synchronization issue.
* Code comments.

Documentation
* Section about "Advanced Tuning" (utilizing multiple devices).
@hfp hfp merged commit ad482cf into cp2k:develop Nov 6, 2023
8 of 20 checks passed
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.

1 participant