kristof.beyls added a comment.

In D74918#1896930 <https://reviews.llvm.org/D74918#1896930>, @__simt__ wrote:

> (//I assume I'm not seeing a code review being used to veto a C++ Standard 
> feature, but actually the other points are the reason for the red flag.//)
>
> I can see a desire for hyper-precise definitions to achieve the best possible 
> performance, but we really need a healthy does of conservatism here.
>
> The C++ values can't change as a result of selecting between 
> microarchitecture variations that are supposed to link, it takes an ABI break 
> to change these.


If these values are part of the C++ target platform ABI, it seems to me the 
values for std::hardware_{constructive,destructive}_interference_size should be 
set by whoever has the authority to decide C++ platform ABI for specific 
platforms.
Assuming my thought in the previous sentence is correct; discussions on which 
values to chose for std::hardware_{constructive,destructive}_interference_size 
should happen in whichever forums decide C++ platform ABI for the various 
platforms? (Maybe for some platforms that forum might be clang-related fora 
like reviews.llvm.org, but probably not for all platforms).
With my (probably limited) understanding of the requirements, it seems like 
deriving std::hardware_{constructive,destructive}_interference_size from actual 
cache line size on a specific micro-architecture doesn't seem to be the right 
approach?

> We specified two numbers here so we could conservatively set them (e.g. 
> constructive: smallest; destructive: largest) if we want, but then they are 
> fixed.
> 
> I think there's just two plausible answers for x86_64:
> 
> 1. constructive=64, destructive=64 (the only plausible answer for X86 classic 
> edition)
> 2. constructive=64, destructive=128 (reserve some room for line-pair designs)
> 
>   Recapping: precision is nice but we need to fix this in the ABI so ultimate 
> precision isn't required nor desirable; we should choose one of these pairs 
> (or debate if another pair is viable that I'm not thinking of); then we 
> should ship C++17.




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74918/new/

https://reviews.llvm.org/D74918



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to