OpenMathLib / OpenBLAS

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
http://www.openblas.net
BSD 3-Clause "New" or "Revised" License
6.32k stars 1.49k forks source link

State and future of DEC Alpha support #4221

Closed TiborGY closed 1 year ago

TiborGY commented 1 year ago

Currently, OpenBLAS has code for supporting CPUs with the ancient DEC Alpha architecture, inherited from GotoBLAS. Moreover, there appears to be support for both the DEC C compiler and some other unspecified compilers, presumably GCC. A quick web search suggests that the DEC C compiler was likely only available for OpenVMS, although I am not familiar with this area of retrocomputing.

None of this is advertised however in README.md, not even as a deprecated feature. It would be best if this "hidden support" situation was resolved, and either support was documented or removed.

I propose that one of the following futures should be chosen for DEC Alpha:

  1. Leave the code as it is, add DEC alpha to the list of supported architectures, add OpenVMS to the list of "community supported" OSs.
  2. Remove support for the DEC C compiler, but not the architecture. Add DEC alpha to the list of supported architectures.
  3. Remove all DEC Alpha related code.

Given the age of the hardware, I vote for option 3.

But I have checked and GCC trunk seems to support DEC Alpha. The Linux kernel also seems to be yet to remove support for it. In principle, there could be a DEC Alpha machine out there, running Linux 6.x and GCC 13.x.

So I think option 2 would be an OK compromise, with the addition of marking it as deprecated in the Readme. Opinions?

pinging @FlyGoat as the last person to meaningfully touch the alpha stuff

FlyGoat commented 1 year ago

I don't own a Alpha system so I can't represent Alpha user community, but I had tested OpenBLAS against qemu Linux user and can confirm our codebase is still working. I'd vote for Option 2 since I still know people messing around those legacy hardware.

martin-frbg commented 1 year ago

I see no reason for changing anything about DEC Alpha support - even if it is (currently) a legacy architecture. README.md only mentions the cpus for which support was added after the end of the original GotoBLAS era, and this is also stated there.

TiborGY commented 1 year ago

README.md only mentions the cpus for which support was added after the end of the original GotoBLAS era, and this is also stated there.

Fair enough, I have missed that.

I see no reason for changing anything about DEC Alpha support - even if it is (currently) a legacy architecture.

I think reducing code and Makefile complexity is a worthy goal and reason enough, but if you think that people are still using the DEC C compiler...I have no data to confirm or refute that.