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

[HIPIFY][perl] Optimize hipify-perl generation #1776

Open
emankov opened this issue Dec 3, 2024 · 0 comments
Open

[HIPIFY][perl] Optimize hipify-perl generation #1776

emankov opened this issue Dec 3, 2024 · 0 comments
Assignees
Labels
enhancement Enhancement feature Feature request or implementation fix It fixes bug perl perl-related

Comments

@emankov
Copy link
Collaborator

emankov commented Dec 3, 2024

Problem Description

  1. In size
  2. In performance on RT

Operating System

any

CPU

any

ROCm Version

ROCm 6.0.0

ROCm Component

HIPIFY

Steps to Reproduce

No response

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

No response

Additional Information

No response

@emankov emankov added enhancement Enhancement fix It fixes bug feature Feature request or implementation perl perl-related labels Dec 3, 2024
@emankov emankov self-assigned this Dec 3, 2024
emankov added a commit to emankov/HIPIFY that referenced this issue Dec 4, 2024
…on to `hipify-perl`, changed the hipification logic, tuned up the `hipify-perl` performance

+ [ROCm#1625] Added the `-miopen` option to `hipify-perl`
+ [IMP] The logic of hipification by both tools is changed and aligned:
  1. `-roc` implicitly sets on `-miopen`
  2. `-roc` + `-miopen` is the same as `-roc`
  3. `-miopen` means hipification `cuDNN` to `MIOpen`, the rest of `CUDA` APIs - to `ROCm HIP` APIs
  The third option is made to give users the ability to mix `MIOpen` with `HIP` instead of `ROC`
+ [IMP][ROCm#1776] As a side effect of the introduction `-miopen` in `hipify-perl`, its code generation was changed drastically, which led to:
  1. Decreasing of the generated code: 14% in lines of code, 10% in file size
  2. Performance improvement on hipification ~21%
+ [ToDo][ROCm#1625] Add the tests for combinations of `--roc`, `--miopen` options
+ [ToDo][ROCm#1776] Decrease the `hipify-perl` code more
+ [ToDo][ROCm#1776] Improve  the `hipify-perl` performance more
emankov added a commit that referenced this issue Dec 5, 2024
[HIPIFY][#1625][#1776][feature][fix] Added the `-miopen` option to `hipify-perl`, changed the hipification logic, tuned up the `hipify-perl` performance
emankov added a commit to emankov/HIPIFY that referenced this issue Jan 10, 2025
…rmance up to `450%`

+ [IMP] Changing `foreach` to `while (...) = each` gave 450% performance improvement; for example, 58 sec vs 13 sec
+ [FIX] Eliminated erroneous warnings like `unsupported MIOpen identifier: cudnnOpTensor` when the actual identifier is `cudnnOpTensor_t`
+ Decreased the generated file size by 3%
+ Updated the regenerated `hipify-perl` script
emankov added a commit that referenced this issue Jan 10, 2025
[HIPIFY][#1776][perl][feature][fix] Tuned the `hipify-perl` performance up to `450%`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement feature Feature request or implementation fix It fixes bug perl perl-related
Projects
None yet
Development

No branches or pull requests

1 participant