cmssw: [GCC13] Missing intrinsics 2

When testing fixes for gcc13, two more cases of identifier "__builtin_ia32_cmpccxadd" is undefined were detected:

>> Compiling alpaka/cuda src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducerKernel.dev.cc
/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02831/el9_amd64_gcc13/external/gcc/13.2.0-1b0a3367d04f48f01ad3ccf40e55475c/lib/gcc/x86_64-redhat-linux-gnu/13.2.0/include/cmpccxaddintrin.h(63): error: identifier "__builtin_ia32_cmpccxadd" is undefined
    return __builtin_ia32_cmpccxadd (__A, __B, __C, __D);
           ^

/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02831/el9_amd64_gcc13/external/gcc/13.2.0-1b0a3367d04f48f01ad3ccf40e55475c/lib/gcc/x86_64-redhat-linux-gnu/13.2.0/include/cmpccxaddintrin.h(71): error: identifier "__builtin_ia32_cmpccxadd64" is undefined
    return __builtin_ia32_cmpccxadd64 (__A, __B, __C, __D);
           ^

2 errors detected in the compilation of "src/RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducerKernel.dev.cc".

and

>> Compiling alpaka/cuda edm plugin src/RecoParticleFlow/PFRecHitProducer/plugins/alpaka/PFRecHitTopologyESProducer.cc
/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02831/el9_amd64_gcc13/external/gcc/13.2.0-1b0a3367d04f48f01ad3ccf40e55475c/lib/gcc/x86_64-redhat-linux-gnu/13.2.0/include/cmpccxaddintrin.h(63): error: identifier "__builtin_ia32_cmpccxadd" is undefined
    return __builtin_ia32_cmpccxadd (__A, __B, __C, __D);
           ^

/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02831/el9_amd64_gcc13/external/gcc/13.2.0-1b0a3367d04f48f01ad3ccf40e55475c/lib/gcc/x86_64-redhat-linux-gnu/13.2.0/include/cmpccxaddintrin.h(71): error: identifier "__builtin_ia32_cmpccxadd64" is undefined
    return __builtin_ia32_cmpccxadd64 (__A, __B, __C, __D);
           ^

2 errors detected in the compilation of "src/RecoParticleFlow/PFRecHitProducer/plugins/alpaka/PFRecHitProducerKernel.dev.cc".

Similar problem was fixed in https://github.com/cms-sw/cmssw/pull/44595 by @makortel and @dan131riley .

About this issue

  • Original URL
  • State: closed
  • Created 3 months ago
  • Comments: 23 (22 by maintainers)

Most upvoted comments

@cmsbuild please close

@makortel , if we want to avoid compiling (some of) the framework headers with nvcc, would it make sense to add something like

#ifdef __NVCC__
#error Framework headers should not be compiled by the device compiler
#endif

to FWCore/Concurrency/interface/WaitingTaskHolder.h and similar headers ?

assign heterogeneous,core