Re: Altivec in baseline for ppc64?

2021-07-15 Thread Luke Kenneth Casson Leighton
On 7/13/21, John Paul Adrian Glaubitz  wrote:

> I wasn't really a fan of that change but my stance is that we should use
> AltiVec
> in packages where it makes sense as the majority of the ppc64 port users
> will
> have a machine that suppport AltiVec.


please *do not* do this.

we are designing a modern Libre/Open CPU which will not punish
developers or ourselves, stabbing ourselves in the head with 950
instructions.

Power ISA is supposed to be RISC.

the only reason SIMD was made mandatory in EABI v2 was because there
was nobody making hardware other than IBM to object to what is
becoming recognised as an extremely serious and costly mistake for the
future of the OpenPOWER ecosystem.

if people continue to assume that SIMD is acceptable just because the
only current hardware is from IBM it only makes it harder and more and
more costly to unravel the f***up and widens and already yawning
barrier to entry for new implementations of OpenPOWER.

PLEASE, really, for god's sake, please do NOT recommend people
propagate the SIMD paradigm.

https://www.sigarch.org/simd-instructions-considered-harmful/

l.



Re: Altivec in baseline for ppc64?

2021-07-15 Thread Christian Zigotzky

On 15 July 2021 at 2:04 pm, Sébastien Villemot wrote:

Le mardi 13 juillet 2021 à 21:04 +0200, John Paul Adrian Glaubitz a
écrit :


Please go ahead and enabled AltiVec as I don't think it makes much sense to use 
BLAS
on machines without any SIMD support. If any user complains about compatibility 
issues,
please feel free to bring up the issue here again.

I think I disagree with this idea. OpenBLAS can be pulled in by chains
of dependencies, even for users who do not even know what BLAS is.
Violating the baseline can lead to hard-to-understand crashes.
Since I think that reliability is more important than performance, I
prefer to strictly respect the baseline in the binary package.


Hi Sébastien,

I disagree too because the performance of software with AltiVec support 
isn't as high as expected. I tested it a lot because we have AltiVec and 
Non-Altivec machines here. We changed to Non-AltiVec compiled software a 
while ago.


We and the MintPPC team had some problems with the VLC media player on 
our Non-AltiVec machines a year ago because it is only available in an 
AltiVec version.

The MintPPC team had to recompile it. [1]
We also had to recompile the version 3.0.12 of VLC because of the 
AltiVec dependency again. [2]


Cheers,
Christian

A-EON Technology Core Linux support team
http://www.a-eon.com
A-EON Technology Ltd
Asquith House
Unit 1 Dyfrig Rd
Cardiff CF5 5AD
United Kingdom

[1] https://forum.hyperion-entertainment.com/viewtopic.php?p=51952#p51952
[2] https://forum.hyperion-entertainment.com/viewtopic.php?p=52326#p52326



Re: Altivec in baseline for ppc64?

2021-07-15 Thread John Paul Adrian Glaubitz
On 7/15/21 2:04 PM, Sébastien Villemot wrote:
>> Please go ahead and enabled AltiVec as I don't think it makes much sense to 
>> use BLAS
>> on machines without any SIMD support. If any user complains about 
>> compatibility issues,
>> please feel free to bring up the issue here again.
> 
> I think I disagree with this idea. OpenBLAS can be pulled in by chains
> of dependencies, even for users who do not even know what BLAS is.
> Violating the baseline can lead to hard-to-understand crashes.

True, but all build servers we have support Altivec.

> Since I think that reliability is more important than performance, I 
> prefer to strictly respect the baseline in the binary package.

Sure. But we could also just have observed whether any people report crashes.

> However note that locally recompiling OpenBLAS is a supported and
> documented procedure, for those who want to take full advantage of
> their hardware.
> 
> Regarding the kernel that is currently built in the official binary, I
> could do with some help to determine which one is the best. You can see
> the list of kernels at this address:
> https://salsa.debian.org/science-team/openblas/-/tree/master/kernel/power
> Each KERNEL.* file lists a bunch of source files, many of which are
> assembly files.
> Currently, I use POWER4 for ppc64 and PPCG4 for powerpc, but I’m unsure
> that those are the right choice. I want a kernel that respects the
> baseline, but still taking advantage of all that is in the baseline.

I would have to look into that with more detail. We can probably also
discuss this on the #debian-ports IRC channel.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Re: Altivec in baseline for ppc64?

2021-07-15 Thread Sébastien Villemot
Le mardi 13 juillet 2021 à 21:04 +0200, John Paul Adrian Glaubitz a
écrit :
> On 7/13/21 1:55 PM, Sébastien Villemot wrote:
> > The wiki page that synthesizes architecture specificities indicates
> > that Altivec is included in the baseline for the ppc64 port:
> > https://wiki.debian.org/ArchitectureSpecificsMemo#ppc64
> > 
> > However my understanding is that this port supports any powerpc64 CPU,
> > including some that don’t have Altivec (e.g. POWER4 or POWER5). This is
> > also what the main wiki page for PPC64 says:
> > https://wiki.debian.org/PPC64
> > 
> > Can someone please clarify the situation?
> 
> The ppc64 originally used the ppc64 baseline including AltiVec e.g PowerPC970,
> (64-Bit PowerMac). However, the previous port maintainer decided he wanted to
> support embedded systems such as the PowerPC E5500 which does not support
> AltiVec.

Thanks for this clarification. I have updated the architectures wiki
page accordingly.

> > (I’m asking because I’m the maintainer of the openblas package, and
> > knowing whether Altivec is available or not, and more generally what is
> > in the baseline, is essential for proper packaging).
> 
> Please go ahead and enabled AltiVec as I don't think it makes much sense to 
> use BLAS
> on machines without any SIMD support. If any user complains about 
> compatibility issues,
> please feel free to bring up the issue here again.

I think I disagree with this idea. OpenBLAS can be pulled in by chains
of dependencies, even for users who do not even know what BLAS is.
Violating the baseline can lead to hard-to-understand crashes.
Since I think that reliability is more important than performance, I 
prefer to strictly respect the baseline in the binary package.

However note that locally recompiling OpenBLAS is a supported and
documented procedure, for those who want to take full advantage of
their hardware.

Regarding the kernel that is currently built in the official binary, I
could do with some help to determine which one is the best. You can see
the list of kernels at this address:
https://salsa.debian.org/science-team/openblas/-/tree/master/kernel/power
Each KERNEL.* file lists a bunch of source files, many of which are
assembly files.
Currently, I use POWER4 for ppc64 and PPCG4 for powerpc, but I’m unsure
that those are the right choice. I want a kernel that respects the
baseline, but still taking advantage of all that is in the baseline.

-- 
⢀⣴⠾⠻⢶⣦⠀  Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  https://sebastien.villemot.name
⠈⠳⣄  https://www.debian.org



signature.asc
Description: This is a digitally signed message part