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

Bring the -mcpu=power8 flag #7002

Merged
merged 1 commit into from
Jun 10, 2021
Merged

Conversation

mrodozov
Copy link
Contributor

@mrodozov mrodozov commented Jun 8, 2021

get back the power8 flag to build two IBs
this was the reasoning behind the ppc64le:

-mtune=cpu_type

    Set the instruction scheduling parameters for machine type cpu_type, but do not set the architecture type or register usage, as -mcpu=cpu_type does. The same values for cpu_type are used for -mtune as for -mcpu. If both are specified, the code generated uses the architecture and registers set by -mcpu, but the scheduling parameters set by -mtune.

the -mcpu=power8 specifies power8 machine which is more "generic" while the ppc64le is more specific for our machines.
If we read the following:
The other options specify a specific processor. Code generated under those options runs best on that processor, and may not run at all on others.
it seems to me the best flags to use will be those specifying the processor model (if it's in that list)
https://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html#RS_002f6000-and-PowerPC-Options

get back the power8 flag to build two IBs
this was the reasoning behind the ppc64le:

```
-mtune=cpu_type

    Set the instruction scheduling parameters for machine type cpu_type, but do not set the architecture type or register usage, as -mcpu=cpu_type does. The same values for cpu_type are used for -mtune as for -mcpu. If both are specified, the code generated uses the architecture and registers set by -mcpu, but the scheduling parameters set by -mtune.
```
the -mcpu=power8 specifies power8 machine which is more "generic" while the ppc64le is more specific for our machines.
If we read the following:
`The other options specify a specific processor. Code generated under those options runs best on that processor, and may not run at all on others. `
it seems to me the best flags to use will be those specifying the processor model (if it's in that list)
https://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html#RS_002f6000-and-PowerPC-Options
@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 8, 2021

A new Pull Request was created by @mrodozov (Mircho Rodozov) for branch IB/CMSSW_12_0_X/master.

@cmsbuild, @smuzaffar, @mrodozov, @iarspider can you please review it and eventually sign? Thanks.
cms-bot commands are listed here

@mrodozov
Copy link
Contributor Author

mrodozov commented Jun 8, 2021

test parameters:

  • full_cmssw = true
  • enable_test = threading
  • workflow_threading = 7.1,24.0,103.0,134.804,34834.999

@mrodozov
Copy link
Contributor Author

mrodozov commented Jun 8, 2021

please test

@mrodozov
Copy link
Contributor Author

mrodozov commented Jun 8, 2021

abort

@mrodozov
Copy link
Contributor Author

mrodozov commented Jun 8, 2021

please test

@mrodozov
Copy link
Contributor Author

mrodozov commented Jun 8, 2021

now when I think about it ppc64le doesn't says which generation 7,8 or 9. maybe power8 is best (and all examples are using the -mcpu=power7,8,9 as argument)

@mrodozov
Copy link
Contributor Author

mrodozov commented Jun 8, 2021

@smuzaffar
Copy link
Contributor

please test

@smuzaffar
Copy link
Contributor

please test for CMSSW_12_0_X/slc7_ppc64le_gcc9

@smuzaffar
Copy link
Contributor

please test for CMSSW_12_0_X/slc7_ppc64le_gcc9
retry with new build ruleswhich should fix the issue with missing rootmaps files

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests RelVals-THREADING
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-da23fc/15842/summary.html
COMMIT: 0cd61d3
CMSSW: CMSSW_12_0_X_2021-06-09-2300/slc7_ppc64le_gcc9
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/7002/15842/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-da23fc/15842/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-da23fc/15842/git-merge-result

Unit Tests

I found errors in the following unit tests:

---> test test_PrepareInputDb had ERRORS
---> test test_MpsWorkFlow had ERRORS
---> test DFM_MathRepr had ERRORS
---> test cudaMemUtils_t had ERRORS
and more ...

RelVals-THREADING

  • 34634.034634.0_TTbar_14TeV+2026D76+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+HARVESTGlobal/step2_TTbar_14TeV+2026D76+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+HARVESTGlobal.log
  • 28234.028234.0_TTbar_14TeV+2026D60+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal/step3_TTbar_14TeV+2026D76PU_PMXS1S2PR+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+PREMIX_PremixHLBeamSpot14PU+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU.log
  • 34834.99934834.999_TTbar_14TeV+2026D76PU_PMXS1S2PR+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+PREMIX_PremixHLBeamSpot14PU+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU/step3_TTbar_14TeV+2026D76PU_PMXS1S2PR+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+PREMIX_PremixHLBeamSpot14PU+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU.log

@smuzaffar smuzaffar merged commit 1e5875f into IB/CMSSW_12_0_X/master Jun 10, 2021
@smuzaffar smuzaffar deleted the mrodozov-patch-1 branch June 10, 2021 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants