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

[DBG_X] Compilation failures in L1Trigger/L1TMuonOverlapPhase2 #44946

Closed
iarspider opened this issue May 10, 2024 · 15 comments · Fixed by #44984
Closed

[DBG_X] Compilation failures in L1Trigger/L1TMuonOverlapPhase2 #44946

iarspider opened this issue May 10, 2024 · 15 comments · Fixed by #44984

Comments

@iarspider
Copy link
Contributor

Compilation of L1Trigger/L1TMuonOverlapPhase2 package failed for el8_amd64_gcc12 in CMSSW_14_1_DBG_X_2024-05-09-2300:

<gcc>/bin/ld.bfd: tmp/el8_amd64_gcc12/src/L1Trigger/L1TMuonOverlapPhase2/src/L1TriggerL1TMuonOverlapPhase2/ccUO3zNJ.ltrans0.ltrans.o: in function `PtAssignmentNNRegression::PtAssignmentNNRegression(edm::ParameterSet const&, OMTFConfiguration const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
  .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<10, 4, 18ul, 3, 13, 16, 4>::input_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<10, 4, 18ul, 3, 13, 16, 4>::lut_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<10, 4, 18ul, 3, 13, 16, 4>::lutSize'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<10, 4, 18ul, 3, 13, 16, 4>::lutOutSum_I'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<10, 4, 18ul, 3, 13, 16, 4>::lutOutSum_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<10, 4, 18ul, 3, 13, 16, 4>::output_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `ap_int_base<4, false>::width'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 1ul, 4, 11, 1, 8>::input_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 1ul, 4, 11, 1, 8>::lut_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 1ul, 4, 11, 1, 8>::lutSize'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 1ul, 4, 11, 1, 8>::lutOutSum_I'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 1ul, 4, 11, 1, 8>::lutOutSum_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 1ul, 4, 11, 1, 8>::output_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `ap_int_base<8, false>::width'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 8ul, 5, 11, 1, 8>::input_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 8ul, 5, 11, 1, 8>::lut_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 8ul, 5, 11, 1, 8>::lutSize'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 8ul, 5, 11, 1, 8>::lutOutSum_I'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 8ul, 5, 11, 1, 8>::lutOutSum_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<5, 11, 8ul, 5, 11, 1, 8>::output_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `ap_int_base<8, false>::width'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::input_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lut_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lutSize'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lutOutSum_I'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lutOutSum_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::output_W'
   <gcc>/bin/ld.bfd: .../CMSSW_14_1_DBG_X_2024-05-09-2300/src/FWCore/MessageLogger/interface/ErrorObj.icc:45: undefined reference to `ap_int_base<5, false>::width'
 collect2: error: ld returned 1 exit status
  gmake: *** [tmp/el8_amd64_gcc12/src/L1Trigger/L1TMuonOverlapPhase2/src/L1TriggerL1TMuonOverlapPhase2/libL1TriggerL1TMuonOverlapPhase2.so] Error 1
``

[full log](https://cmssdt.cern.ch/SDT/cgi-bin/buildlogs/el8_amd64_gcc12/CMSSW_14_1_DBG_X_2024-05-09-2300/L1Trigger/L1TMuonOverlapPhase2)
@iarspider
Copy link
Contributor Author

assign l1,core

@cmsbuild
Copy link
Contributor

New categories assigned: l1,core

@Dr15Jones,@makortel,@epalencia,@aloeliger,@smuzaffar you have been requested to review this Pull request/Issue and eventually sign? Thanks

@cmsbuild
Copy link
Contributor

cms-bot internal usage

@cmsbuild
Copy link
Contributor

A new Issue was created by @iarspider.

@makortel, @smuzaffar, @sextonkennedy, @rappoccio, @antoniovilela, @Dr15Jones can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@aloeliger
Copy link
Contributor

@mbluj @kbunkow FYI

@smuzaffar
Copy link
Contributor

I think constexpr should fix the one from cmssw i.e.

undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::input_W'
undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lut_W'
undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lutSize'
undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lutOutSum_I'
undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::lutOutSum_W'
undefined reference to `lutNN::LutNeuronLayerFixedPoint<8, 13, 16ul, 5, 11, 9, 5>::output_W'

and for undefined reference to ap_int_base<5, false>::width'`, I guess we need to patch https://github.com/Xilinx/HLS_arbitrary_Precision_Types/blob/master/include/ap_int_base.h#L125 to have constexpr ?

@mbluj
Copy link
Contributor

mbluj commented May 10, 2024

It compiles fine with non-DBG IB, explicitly checked with CMSSW_14_1_DBG_X_2024-05-09-2300 and el8_amd64_gcc12. What is difference between regular and DBG releases?
The L1Trigger/L1TMuonOverlapPhase2 package was recently added to CMSSW, could it be that it should be "registered" somewhere (its libraries known to some tools) to be dbg'ed?

@smuzaffar
Copy link
Contributor

@mbluj
Copy link
Contributor

mbluj commented May 10, 2024

Thank you @smuzaffar
I confirm that usage of constexpr fixes issues within OMTF code, but I think I am not able to fix them in header from AMD.
How to proceed? Should I prepare PR with fixes in OMTF and assuming that other thing will be fixed by someone else?

@makortel
Copy link
Contributor

We already patch the https://github.com/Xilinx/HLS_arbitrary_Precision_Types in cmsdist so in principle we could continue doing that.

Written that, it seems to me the frequency of problems with this package is increasing, and the package (in GitHub) seems practically unmaintained since 5 years, so I'm getting worried about long-term sustainability.

@mbluj
Copy link
Contributor

mbluj commented May 10, 2024

OK, so I prepare PR with CMSSW fixes.
What concerns the external package I cannot comment, but at least from a quick look it is still recommended by Xylinx/AMD in HLS documentation...

@dan131riley
Copy link

Written that, it seems to me the frequency of problems with this package is increasing, and the package (in GitHub) seems practically unmaintained since 5 years, so I'm getting worried about long-term sustainability.

I diffed against Vitis_HLS 2022.2 and it looks like there's only a handful of changes that are directly relevant to us (most of the changes don't apply to the Apache licensed version), and most of them look to be constexpr-related. These are sufficiently small that I think it would be ok to cherry pick those for the CMS version and make a PR to the Xilinx repo.

@makortel
Copy link
Contributor

We have had one PR (Xilinx/HLS_arbitrary_Precision_Types#1) sitting there for ~6 months without any reaction.

@smuzaffar
Copy link
Contributor

#44974 and cms-sw/cmsdist#9193 should fix the DBG link errors

@smuzaffar
Copy link
Contributor

I agree with @makortel, https://github.com/Xilinx/HLS_arbitrary_Precision_Types looks unmaintained. No updates in last 5 years and even the PR I opened to initialize the memory is open since NOV last year

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants