-
Notifications
You must be signed in to change notification settings - Fork 2
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
Log Report for PR reviews #15
Comments
19 April 2023
28 April 2023
05 May 2023
12 May 2023
16 May 2023
17 May 2023
18 May 2023
19 May 2023
|
This issue keeps track of the comment addressed for the PRs:
AlpakaInterface
Updates [II] cms-sw/cmssw#4128423 March 2023
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @tvami
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelESTestData.h
Line 1 in 58b4bba
#ifndef CalibTracker_SiPixelESProducers_SiPixelESTestData_h
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/Records/BuildFile.xml
Lines 6 to 8 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTHost.h
Lines 4 to 5 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTHost.h
Line 7 in 58b4bba
Our convention for files in
interface
is to use full path to headers.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTLayout.h
Line 19 in 58b4bba
The SoA layout and the corresponding PortableCollections correspond to data formats, and I think they should be placed as such. On a cursory look
CondFormats/SiPixelObjects
would look like a plausible candidate (even if none of these are put in the CondDB).Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/Records/interface/SiPixelESTestRecords.h
Line 8 in 58b4bba
I assume all this kind of test code gets removed in the end.
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/plugins/alpaka/SiPixelCablingSoAESProducer.cc
Line 28 in 58b4bba
I'm confused why this is needed.
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/plugins/alpaka/SiPixelCablingSoAESProducer.cc
Lines 38 to 39 in 58b4bba
In principle this
ComponentName
is redundant and the ESProducer could just rely on the framework-providedappendToDataLabel
, but I don't know if the ship sailed already.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DQM/SiPixelHeterogeneous/plugins/alpaka/SiPixelCompareTrackSoA.cc
Line 29 in 58b4bba
Maybe it would be a time to provide these from some common area?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DQM/SiPixelHeterogeneous/plugins/alpaka/SiPixelCompareTrackSoA.cc
Line 66 in 58b4bba
The DQMEDAnalyzer should, in the leading order, be independent of Alpaka and read the host product. Did that not work for some reason?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/GeometrySurface/interface/SOARotation.h
Line 15 in 58b4bba
Why is
constexpr
removed?Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/PixelCPEFastParams/src/PixelCPEFastParams.cc
Line 9 in 58b4bba
Do these EventSetup data products really need to be in
DataFormats
?DataFormats
is primarily for Event data products (although I see two EventSetup data products currently defined inDataFormats
, IIRC both have some dependence-related rationale)Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/Portable/interface/HostProduct.h
Line 10 in 58b4bba
Is this a temporary measure to help the transition, or intended for long term?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/src/alpaka/classes_serial_def.xml
Line 2 in 58b4bba
Please move the host collection dictionary declarations from
alpaka/classes_serial{.h,_def.xml}
toclasses{.h,_def.xml}
(the placement convention was updated).Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/RecoTauTag/HLTProducers/src/L2TauTagNNProducer.cc
Line 631 in 58b4bba
Non-alpaka code must stay independent of
ALPAKA_ACCELERATOR_NAMESPACE
.28 March 2023
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/TrackingRecHitSoA/interface/alpaka/TrackingRecHitSoADevice.h
Line 42 in 58b4bba
This is wrong. Please use the
device
associated to thequeue
.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 22 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 26 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 30 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 34 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 39 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 60 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 71 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/TrackingRecHitSoA/interface/alpaka/TrackingRecHitSoADevice.h
Lines 41 to 42 in 58b4bba
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/TrackingRecHitSoA/interface/alpaka/TrackingRecHitSoADevice.h
Line 50 in 58b4bba
alpaka::memcpy(queue, start_d, start_h);
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 18 in 58b4bba
Is this function actually used ?
In principle,
std::copysign()
should not work in e.g. CUDA device code, because it's notconstexpr
.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/Track/interface/alpaka/PixelTrackUtilities.h
Line 8 in 58b4bba
As far as I can tell, nothing in this file needs to be in
ALPAKA_ACCELERATOR_NAMESPACE
.31 March 2023
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelMappingSoAESRecord.h
Line 7 in 58b4bba
This Record seems to be unused
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/alpaka/SiPixelGainCalibrationForHLTUtilities.h
Lines 13 to 19 in 58b4bba
This function looks like in the AoS model it would be a member function of the struct. I suggest we treat these kind of functions for SoAs such that
GENERATE_SOA_LAYOUT()
macro is called)View
object is the first parameter (mimicking the implicitthis
argument of actual member functions)The function call would then look like
getPedAndGain(view, ...);
which would not be very different from
(by the way, I don't see anything in this file that would require the use of
ALPAKA_ACCELERATOR_NAMESPACE
)Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/alpaka/SiPixelMappingUtilities.h
Lines 27 to 28 in 58b4bba
How about passing these two from the caller to avoid constructing them for every event, since the caller (
SiPixelRawToCluster
) already caches them by IOVs?Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/alpaka/SiPixelMappingUtilities.h
Lines 30 to 31 in 58b4bba
would be more clear
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/alpaka/SiPixelMappingUtilities.h
Line 25 in 58b4bba
Should this be
?
03 April 2023
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/Records/interface/SiPixelMappingSoARecord.h
Line 7 in 99f9438
I don't see any ESProducer producing the
SiPixelMappingDevice
orSiPixelMappingHost
into thisSiPixelMappingSoARecord
record.I see
SiPixelCablingSoAESProducer
producesSiPixelMappingHost
intoCkfComponentsRecord
. Is the intention to useCkfComponentsRecord
(in which case this record could be removed), or something more targeted (in which case this record needs to be made to depend onSiPixelFedCablingMapRcd
,SiPixelQualityRcd
, andTrackerDigiGeometryRecord
)?Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelMappingHost.h
Line 4 in 99f9438
#include
does not seem to be neededPorting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelMappingHost.h
Line 7 in 99f9438
Full path
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelMappingLayout.h
Line 8 in 99f9438
Maybe this SoA should be defined in a data format package as well?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CalibTracker/SiPixelESProducers/interface/SiPixelStatusAndCablingLayout.h
Line 6 in 99f9438
Move to a data format package?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/BuildFile.xml
Line 17 in 99f9438
Dependence on
AlpakaCore
should not be needed in a data format packagePorting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/BuildFile.xml
Line 19 in 99f9438
Dependence on
CUDACore
should not be needed in a data format packagePorting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/BuildFile.xml
Line 2 in 99f9438
Why is dependence on
cuda
added?Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/interface/SiPixelGainCalibrationForHLTHost.h
Line 2 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/interface/alpaka/SiPixelGainCalibrationForHLTDevice.h
Line 4 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/interface/alpaka/SiPixelGainCalibrationForHLTUtilities.h
Line 7 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/interface/alpaka/SiPixelGainCalibrationForHLTUtilities.h
Line 1 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/interface/alpaka/SiPixelGainCalibrationForHLTUtilities.h
Line 1 in 99f9438
Now that this file does not use
ALPAKA_ACCELERATOR_NAMESPACE
, it should be moved one level up toCondFormats/SiPixelObjects/interface/
.Although I would still move the
getPedAndGain()
as a free function toCondFormats/SiPixelObjects/interface/SiPixelGainCalibrationForHLTLayout.h
.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DQM/SiPixelHeterogeneous/plugins/BuildFile.xml
Line 1 in 99f9438
Why explicit dependence on
alpaka
?Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/BeamSpotAlpaka/interface/alpaka/BeamSpotAlpaka.h
Line 29 in 99f9438
IIUC the
device_buffer
maps underneath toalpaka::Buf
, so this function would allow non-const access e.g. viacms::alpakatools::device_buffer<Device, BeamSpotPOD> tmp = beamspot.ptr(); // tmp gives non-const access to the BesmSpotPOD owned by beamspot
that violates data format class requirements.
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/BeamSpotAlpaka/src/alpaka/classes_serial.h
Line 1 in 99f9438
Please move the contents to
DataFormats/BeamSpotAlpaka/src/classes.h
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/BeamSpotAlpaka/src/alpaka/classes_serial_def.xml
Line 1 in 99f9438
Please move the contents to
DataFormats/BeamSpotAlpaka/src/classes_def.xml
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/BeamSpotAlpaka/BuildFile.xml
Line 5 in 99f9438
Should this be
?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/PixelCPEFastParams/BuildFile.xml
Lines 2 to 3 in 99f9438
Data format package must not depend on
Framework
orAlpakaCore
.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/PixelCPEFastParams/BuildFile.xml
Line 6 in 99f9438
Data format package must not depend on
RecoLocalTracker
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/PixelCPEFastParams/BuildFile.xml
Line 7 in 99f9438
Should probably be
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/BuildFile.xml
Line 6 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/CondFormats/SiPixelObjects/BuildFile.xml
Line 20 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/interface/alpaka/SiPixelClustersDevice.h
Line 16 in 99f9438
The problem here is that
alpaka_serial_sync::SiPixelClustersDevice
is a different type than theSiPixelClustersHost
(I'll clarify this requirement in the README).The
PortableCollection
itself is a backend-dependent type alias toPortableCollectionHost
andPortableCollectionDevice
https://github.com/cms-sw/cmssw/blob/c4038b4c091680c64a4b4b8876084996ac59d0a8/DataFormats/Portable/interface/alpaka/PortableCollection.h#L17-L30
A possible fix could be
(although if we continue this with
#ifdef
, I think we should consider defining our own for "any host backend". macro)An alternative could be
although in this case I think we should consider abstracting the
std::conditional_t<std::is_same_v<Platform, alpaka::PltfCpu>, HostType, DeviceType>
part (since the use case seems to be more widespread thanPortableCollection
).Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/src/alpaka/classes_rocm_def.xml
Line 3 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/src/alpaka/classes_cuda_def.xml
Line 3 in 99f9438
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/src/alpaka/classes_serial_def.xml
Line 1 in 99f9438
After the
alpaka_serial_sync::SiPixelClustersDevice
gets set up properly, this file (andclasses_serial.h
) should not be needed anymore.Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @makortel
cmssw/DataFormats/SiPixelClusterSoA/test/BuildFile.xml
Line 3 in 99f9438
Needs also
04 April 2023
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/HeterogeneousCore/AlpakaInterface/test/alpaka/testVec.cc
Line 7 in 99f9438
if the include is not needed, could you remove it ?
Porting Pixel Tracks to Alpaka [Not to Merge] cms-sw/cmssw#41117 (comment) by @fwyzard
cmssw/HeterogeneousCore/AlpakaInterface/interface/workdivision.h
Line 10 in 99f9438
needed ?
05 April 2023
Pixel Alpaka Migration: Modification to Existing Modules [I] cms-sw/cmssw#41282 (comment) by @slava77
cmssw/RecoTracker/PixelSeeding/plugins/CAStructures.h
Line 2 in cf618e5
perhaps
RecoTracker_PixelSeeding
?Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaInterface/interface/workdivision.h
Line 10 in 0a63573
Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaInterface/interface/workdivision.h
Lines 306 to 325 in 0a63573
Is this commented code still useful?
Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaInterface/test/alpaka/testVec.cc
Line 7 in 0a63573
Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaUtilities/interface/AtomicPairCounter.h
Line 1 in 0a63573
In the hackathon with @fwyzard and @rovere we concluded that the kind of classes in
AlpakaUtilities
here would be ok to be plated inAlpakaInterface
(to avoid adding new package), for now at least.Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaUtilities/interface/AtomicPairCounter.h
Line 1 in 0a63573
Include guard should reflect the location of the file (in all of the headers)
Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaUtilities/interface/radixSort.h
Line 248 in 0a63573
Can it be removed?
Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaUtilities/interface/demangle.h
Line 6 in 0a63573
Put the inline variable to some other namespace than
edm
. We have also other demanglers within CMSSW, e.g.https://github.com/cms-sw/cmssw/blob/107a5fed908622757511062f46961c0f7552fba8/FWCore/Utilities/interface/TypeDemangler.h#L6-L7
(although that particular function is geared to be compatible with the convention of reflex)
Pixel Alpaka Migration:
AlpakaInterface
Updates [II] cms-sw/cmssw#41284 (comment) by @makortelcmssw/HeterogeneousCore/AlpakaUtilities/interface/initialise.h
Line 9 in 0a63573
The implementation file of this function is missing.
The text was updated successfully, but these errors were encountered: