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

azlinux3 dnf packages for compiler installation #423

Merged
merged 33 commits into from
Feb 12, 2025

Conversation

saibulusu
Copy link
Contributor

@saibulusu saibulusu commented Jan 16, 2025

New logic for compiler installation:
azlinux:
  version must not be supplied
ubuntu/debian/centos/rhel:
  if version is supplied:
    install & use supplied version
  else:
    if version does not exist on system:
      install default, then set priority

Tested on azlinux3, jammy.
Further testing for other operating systems to be done in QoS.

@saibulusu saibulusu changed the title Users/saibulusu/azlinux3 fixes azlinux3 dnf packages for compiler installation Jan 16, 2025
@saibulusu saibulusu marked this pull request as ready for review January 16, 2025 22:17
@yangpanMS
Copy link
Contributor

If we do this, are we still checking if "CompilerVersion" matches what actually got installed?. Otherwise user might want gcc14 but got gcc11 instead.

@yangpanMS
Copy link
Contributor

On AzLinux since you can;t specify, user need to either overwrite the compilerVersion to "", or provide a version that matches the version installed

@yangpanMS
Copy link
Contributor

Actually, let's do this on all other distro as well. Default compiler version to string.empty, and if that happens, install version-less gcc/gfortran etc. If they specify a version, you install gcc-10 etc. On AzLinux, we throw error if user tries to pass in a version

@saibulusu
Copy link
Contributor Author

Actually, let's do this on all other distro as well. Default compiler version to string.empty, and if that happens, install version-less gcc/gfortran etc. If they specify a version, you install gcc-10 etc. On AzLinux, we throw error if user tries to pass in a version

How should we handle SetGccPriorityAsync when the user does not supply a version?

@saibulusu
Copy link
Contributor Author

Tested LMBench on Ubuntu, CentOS, RHEL, & AzLinux.

@saibulusu
Copy link
Contributor Author

@microsoft-github-policy-service agree

@saibulusu
Copy link
Contributor Author

@microsoft-github-policy-service rerun

@yangpanMS
Copy link
Contributor

Please also test on SPECcpu, which has more complexity in compiler definition.

@yangpanMS
Copy link
Contributor

Please confirm that we will send the compiler version in telemetry properly. Ideally in metrics

@saibulusu
Copy link
Contributor Author

For speccpu:
Ran speccpu fprate on an azlinux3 VM, metrics can be viewed here:

cluster('azurecrcworkloads.westus2.kusto.windows.net').database('WorkloadPerformance').Metrics_Dev01
| where Timestamp > ago (3d)
| where ExperimentId == "bacc1a9c-543d-4a1b-9bb4-8af8af681bc5"
| where ToolName != "atop"

Removed gcc limit in documentation.

For Alex's query on compiler version:
I am reading from metadata to get the compiler version for speccpu when the version is not supplied by the user. So, I believe it is being correctly logged:

compilerMetadata.TryGetValue("compilerVersion_gcc", out compilerVersion)

@saibulusu saibulusu marked this pull request as draft February 4, 2025 18:44
@saibulusu saibulusu marked this pull request as ready for review February 10, 2025 20:44
Copy link
Contributor

@yangpanMS yangpanMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved but please update the documement for CompilerInstallation on the new behavior

@saibulusu saibulusu requested a review from yangpanMS February 12, 2025 19:33
@saibulusu saibulusu merged commit 8b06601 into main Feb 12, 2025
5 checks passed
@saibulusu saibulusu deleted the users/saibulusu/azlinux3-fixes branch February 12, 2025 19:43
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.

2 participants