By: Christian Bornträger (borntraeger.delete@this.linux.ibm.com), May 24, 2022 8:06 am
Room: Moderated Discussions
Linus Torvalds (torvalds.delete@this.linux-foundation.org) on May 23, 2022 12:30 pm wrote:
> Brendan (btrotter.delete@this.gmail.com) on May 23, 2022 12:41 am wrote:
> >
> > For some reason you think my "libraries keep doing what they do now (using the
> > common subset when ISA is different)" is completely different to your "libraries
> > keep doing what they do now (using the common subset when ISA is different)"?
>
> No.
>
> I think your "common subset" is pure and utter garbage, and makes AVX512 worthless.
>
> If libraries use the "common subset", then they won't be using
> AVX512 at all by default in a heterogeneous situation.
>
> And if they don't use AVX512 by default, then AVX512 is simply worthless, and shouldn't
> be wasting any silicon that could be much better used for other things.
>
> That's my argument. If 99% of all AVX use is by libraries (and that's simply reality,
> as shown by AVX2), then if the library by default only uses the common subset of
> the ISA, then the "extended subset" is just waste and should be killed.
>
> End result: heterogeneous ISAs don't work outside of embedded environments
> (and the s390 counter-example mentioned in this thread is not really a counter-example:
> s390 is practically speaking about as embedded as you can be).
Even the s390 case is not a counter-example. What rwessel described was mostly cpu baselining done by the z/VM hypervisor. In essence make sure that after life migration things still work. This is pretty much the same as cpu-baselining in openstack/kvm.
In fact KVM on s390 is also doing that when being ask to use the highest common subset across all hosts that will be used for a particular virtual machine.
But inside a Linux on s390 image all CPUs are the same and you can trust and rely on that.
The facilities as indicated by STFLE (store facility list extended) do not differ between different CPUs.
Christian
> Brendan (btrotter.delete@this.gmail.com) on May 23, 2022 12:41 am wrote:
> >
> > For some reason you think my "libraries keep doing what they do now (using the
> > common subset when ISA is different)" is completely different to your "libraries
> > keep doing what they do now (using the common subset when ISA is different)"?
>
> No.
>
> I think your "common subset" is pure and utter garbage, and makes AVX512 worthless.
>
> If libraries use the "common subset", then they won't be using
> AVX512 at all by default in a heterogeneous situation.
>
> And if they don't use AVX512 by default, then AVX512 is simply worthless, and shouldn't
> be wasting any silicon that could be much better used for other things.
>
> That's my argument. If 99% of all AVX use is by libraries (and that's simply reality,
> as shown by AVX2), then if the library by default only uses the common subset of
> the ISA, then the "extended subset" is just waste and should be killed.
>
> End result: heterogeneous ISAs don't work outside of embedded environments
> (and the s390 counter-example mentioned in this thread is not really a counter-example:
> s390 is practically speaking about as embedded as you can be).
Even the s390 case is not a counter-example. What rwessel described was mostly cpu baselining done by the z/VM hypervisor. In essence make sure that after life migration things still work. This is pretty much the same as cpu-baselining in openstack/kvm.
In fact KVM on s390 is also doing that when being ask to use the highest common subset across all hosts that will be used for a particular virtual machine.
But inside a Linux on s390 image all CPUs are the same and you can trust and rely on that.
The facilities as indicated by STFLE (store facility list extended) do not differ between different CPUs.
Christian