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

Add cms_ prefix to float<BITS>x<ELEM_NUM>_t typedefs #16748

Merged
merged 2 commits into from
Nov 25, 2016

Conversation

davidlt
Copy link
Contributor

@davidlt davidlt commented Nov 24, 2016

We have recently moved to Eigen 3.3 with

  • Many ARM NEON improvements, including support for ARMv8 (64-bit code),
    VFPv4 (fused-multiply-accumulate instruction), and correct tuning of
    the target number of vector registers.

Internally Eigen loads arm_neon.h on AArch64 target to use ARM NEON
intrinsics. The header defines extra system types:

float<BITS>x<ELEM_NUM>_t

Let's add cms_ prefix to our types to avoid conflicts with system
types, which lead to compilation errors.

NOTE: these types are not directly used within CMSSW.

Signed-off-by: David Abdurachmanov David.Abdurachmanov@cern.ch

We have recently moved to Eigen 3.3 with

- Many ARM NEON improvements, including support for ARMv8 (64-bit code),
  VFPv4 (fused-multiply-accumulate instruction), and correct tuning of
  the target number of vector registers.

Internally Eigen loads arm_neon.h on AArch64 target to use ARM NEON
intrinsics. The header defines extra system types:

    float<BITS>x<ELEM_NUM>_t

Let's add cms_ prefix to our types to avoid conflicts with system
types, which lead to compilation errors.

NOTE: these types are not directly used within CMSSW.

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @davidlt for CMSSW_9_0_X.

It involves the following packages:

DataFormats/Math

@cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please review it and eventually sign? Thanks.
@makortel, @felicepantaleo this is something you requested to watch as well.
@slava77, @smuzaffar you are the release manager for this.

cms-bot commands are listed here #13028

@slava77
Copy link
Contributor

slava77 commented Nov 24, 2016

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 24, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/16577/console

@cmsbuild
Copy link
Contributor

-1

Tested at: 4eb4c2c

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-16748/16577/summary.html

I found follow errors while testing this PR

Failed tests: Build

  • Build:

I found an error when building:

>> Compiling  /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/Utilities/StaticAnalyzers/src/CmsException.cpp 
>> Compiling  /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/Utilities/StaticAnalyzers/src/edmChecker.cpp 
>> Compiling  /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/Utilities/StaticAnalyzers/src/dablooms.c 
>> Compiling  /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/Utilities/StaticAnalyzers/src/murmur.c 
/build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/RecoTracker/TkHitPairs/src/InnerDeltaPhi.cc: In member function 'PixelRecoRange InnerDeltaPhi::phiRange(const Point2D&, float, float) const':
/build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/RecoTracker/TkHitPairs/src/InnerDeltaPhi.cc:233:3: error: 'float32x4_t' was not declared in this scope
   float32x4_t num{dHitmag,dLayer,theROrigin * (dHitmag-dLayer),1.f};
   ^
/build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_9_0_X_2016-11-23-2300/src/RecoTracker/TkHitPairs/src/InnerDeltaPhi.cc:234:15: error: expected ';' before 'den'
   float32x4_t den{2*theRCurvature,2*theRCurvature,dHitmag*dLayer,1.f};
               ^


@cmsbuild
Copy link
Contributor

Comparison not run due to Build errors (RelVals and Igprof tests were also skipped)

We avoid using float32x4_t name for typedef because it can be
defined by the system.

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@cmsbuild
Copy link
Contributor

Pull request #16748 was updated. @cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please check and sign again.

@davidlt
Copy link
Contributor Author

davidlt commented Nov 24, 2016

Fixed. I guess, I missed it while grepping for its usage in CMSSW.

@slava77
Copy link
Contributor

slava77 commented Nov 24, 2016

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 24, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/16583/console

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

@cvuosalo
Copy link
Contributor

+1

For #16748 bcb0d92

Technical change to avoid name clash between CMS-declared types from ExtVec.h and system types. There should be no change in run-time behavior.

The code changes are satisfactory, and Jenkins tests against baseline CMSSW_9_0_X_2016-11-23-2300 show no significant differences, as expected.

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_9_0_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit d0fb898 into cms-sw:CMSSW_9_0_X Nov 25, 2016
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.

None yet

5 participants