Replies: 2 comments 5 replies
-
|
Thank you for starting this discussion @miscco. Compilation time is a topic dear to my heart.
This option does not enable one to distinguish from the include path if the header is safe to access. I think that's bad.
Now that I see that this option has the most votes, I would suggest making the "similar name" easy to derive from the original header name. Preferably using a prefix or postfix, .e.g,
I voted for this option initially because it satisfies the criteria that (1) the safety of access is derivable from the include path and (2) easy to derive. |
Beta Was this translation helpful? Give feedback.
-
#include <cuda/std/algorithm_find.h>(with or without file extension) would have the advantage that I see the sub headers during auto-completion and may get curious about them ;) You could even name them |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Life is good, you are coding / prompting away and then suddenly you need the minimum of 2 values.
The question arises: "Do I include 200k lines of pristine
<cuda/std/algorithm>for a one line function?"The same happens all the time.
cuda::std::less? Then include all of<cuda/std/functional>cuda::std::pair?<cuda/std/utility>it is.There are some headers like
<cuda/std/array>that give you one thing and nothing more than that, but then there are umbrella headers that give you the thing you want and a thousand more.Especially in the time of JIT compilation this rapidly becomes prohibitive. We have taken great steps inside of our libraries to only include what we absolutely need. But that does not alleviate the problem of umbrella headers.
To add insult to injury we are bound by the standard extensionless headers. I would love to have a
<cuda/std/algorithm.h>then is an umbrella for<cuda/std/algorithm/find.h>and all its friends, but that ship has sailed a long time ago.On the other hand. We cannot just make all the internal headers public. That would bind our hands for any future improvements of header hygiene and prevent us from removing unused internal headers that are not longer needed.
So this brings us to the following question:
38 votes ·
Beta Was this translation helpful? Give feedback.
All reactions