Bug 1295965 - Add 64-bit integer (ILP64) interface library with 64_ symbol suffix
Summary: Add 64-bit integer (ILP64) interface library with 64_ symbol suffix
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: lapack
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-05 22:55 UTC by Orion Poplawski
Modified: 2020-06-22 18:26 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-06-22 18:26:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Orion Poplawski 2016-01-05 22:55:15 UTC
Description of problem:

We're starting to develop a convention of BLAS/LAPACK libraries with an ILP64 interface having symbols with a 64_ suffix in a library with a 64_ suffix (see bug #1088256).  I think we need to implement this for the netlib blas/lapack to avoid issues with openblas and some symbols having the 64_ suffix (from openblas) and some without (from lapack).

Comment 1 Susi Lehtola 2016-01-07 19:44:19 UTC
Or another possibility would be to just use the bundled version of lapack in openblas (and atlas). That way we would also avoid issues like bug #1287405: there's no guarantee that the system version of lapack and openblas will be in sync otherwise...

Comment 2 Orion Poplawski 2016-01-07 20:05:58 UTC
That's probably the thing to do.

Comment 3 Milan Bouchet-Valat 2016-01-08 11:12:09 UTC
I wonder whether having an ILP64 LAPACK with the 64_ suffix would make it easier to build ILP64 versions of ARPACK and SuiteSparse. Maybe we can link them against OpenBLAS, but better be sure of that.

Comment 4 Jan Kurik 2016-02-24 14:14:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 5 Fedora End Of Life 2017-07-25 19:43:42 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 6 Tom "spot" Callaway 2017-08-01 17:03:21 UTC
Willing to take patches here, but I'm not entirely sure what needs to happen, aside from the library naming. Are there custom compiler flags that need to be used, are there specific parts of lapack that need to be enabled/disabled?

Comment 7 Susi Lehtola 2017-08-01 23:49:25 UTC
I think the only changes that are necessary are
- compiling with 64-bit integers i.e. -fdefault-integer-8 
- adding a 64_ suffix to all symbols and
- adding a 64_ suffix to the library name.

Comment 8 Tom "spot" Callaway 2017-08-09 16:34:59 UTC
Two of those are easy. One will require a giant patch that will almost certainly have to be rebased every time lapack changes. Is there a clever way to suffix the symbols without that pain?

Comment 9 Susi Lehtola 2017-08-11 06:09:47 UTC
OpenBLAS has a make option for the suffixes, and I'm guessing that also holds for ATLAS.

Here's how they did it in OpenBLAS
https://github.com/xianyi/OpenBLAS/pull/459

Comment 10 Tom "spot" Callaway 2017-08-14 19:03:13 UTC
Okay. I've applied the changes in rawhide, specifically in lapack-3.7.1-4.fc27. The lapack64 and blas64 subpackages contain 64_liblibpack and 64_libblas libraries, with all the symbols suffixed with 64_, and -fdefault-integer-8.

Comment 11 Susi Lehtola 2017-08-14 20:36:29 UTC
(In reply to Tom "spot" Callaway from comment #10)
> Okay. I've applied the changes in rawhide, specifically in
> lapack-3.7.1-4.fc27. The lapack64 and blas64 subpackages contain
> 64_liblibpack and 64_libblas libraries, with all the symbols suffixed with
> 64_, and -fdefault-integer-8.

I mean, the libraries should be called liblapack64_ and libblas64_, not 64_liblapack and 64_libblas...?

Comment 12 Tom "spot" Callaway 2017-08-15 15:27:23 UTC
Okay. They're named that way in -5.

Comment 13 Iñaki Ucar 2020-06-19 15:58:08 UTC
Sorry to resurrect this old thread, but I found this poking through the changelogs while trying to understand... why are there openblas-*64_ and openblas-*64 packages, with and without symbol suffixes respectively, but there's only blas64/lapack64 which do have their symbols suffixed?

Comment 14 Susi Lehtola 2020-06-19 20:56:56 UTC
(In reply to Iñaki Ucar from comment #13)
> Sorry to resurrect this old thread, but I found this poking through the
> changelogs while trying to understand... why are there openblas-*64_ and
> openblas-*64 packages, with and without symbol suffixes respectively, but
> there's only blas64/lapack64 which do have their symbols suffixed?

That doesn't sound right. The idea would be to have
- blas/lapack: 4-byte integers, no suffix
- blas64/lapack64: 8-byte integers, no suffix
- blas64_/lapack64_: 8-byte integers, 64_ suffix.

The reason for the suffixed versions is to allow linking both 4-byte and 8-byte routines in the same program, as required by e.g. Julia.

Comment 15 Iñaki Ucar 2020-06-19 23:45:51 UTC
That's what I thought. Let me reopen this then to keep track of it.

Comment 16 Iñaki Ucar 2020-06-21 18:19:37 UTC
Here's a PR to fix this: https://src.fedoraproject.org/rpms/lapack/pull-request/1. More eyes are welcome.

Comment 17 Iñaki Ucar 2020-06-22 15:47:28 UTC
Merged and built, so fixed in rawhide. Thanks, Tom. Should we merge this in Fedora 32? On the one hand, maybe it's a big change for the current release, but on the other hand, if we don't, we risk that somebody may depend on a wrong configuration.

Comment 18 Tom "spot" Callaway 2020-06-22 16:23:56 UTC
I'm reluctant to change things in F32, I doubt there are a lot of people affected since no one noticed this for 3 years.

Comment 19 Iñaki Ucar 2020-06-22 18:26:34 UTC
Ok, closing this then.


Note You need to log in before you can comment on or make changes to this bug.