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

Allowed dependencies in CUDADataFormats? #33305

Open
davidlange6 opened this issue Mar 31, 2021 · 5 comments
Open

Allowed dependencies in CUDADataFormats? #33305

davidlange6 opened this issue Mar 31, 2021 · 5 comments

Comments

@davidlange6
Copy link
Contributor

CUDADataFormats has a dependency on GeometryTrackerGeometryBuilder, which depends on lots of other things. I would have assumed that CUDADataFormats had similar dependency requirements to DataFormats? If not, how are we designing the dependency evolution in this area?

@cmsbuild
Copy link
Contributor

A new Issue was created by @davidlange6 David Lange.

@Dr15Jones, @dpiparo, @silviodonato, @smuzaffar, @makortel, @qliphy can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@makortel
Copy link
Contributor

makortel commented Apr 5, 2021

assign core, heterogeneous

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 5, 2021

New categories assigned: heterogeneous,core

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

@makortel
Copy link
Contributor

makortel commented Apr 5, 2021

I think we're in a process of figuring out the dependence rules (by trial and error).

The CUDADataFormats is a bit special because all the classes are intended to be transient only. The current documentation has

Your package may be dependent on other CMSSW packages outside of the subsystems devoted to product definitions

which is (partially) why the dependence on Geometry hasn't raised red flags so far.

In practice only the Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h is being #included, and that header only defines bunch of constants and functions and a struct using those constants, without any dependence on other code in Geometry/TrackerNumberingBuilder, and technically the phase1PixelTopology.h could be easily moved elsewhere. Issue #32483 looks like a good place to discuss this route further.

I presume the dependence on Geometry causes headache for the C++ modules, right? What about transient products declared in non-DataFormat packages that depend on Geometry packages?

@davidlange6
Copy link
Contributor Author

davidlange6 commented Apr 5, 2021 via email

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

No branches or pull requests

3 participants