Red Hat Bugzilla – Bug 1294201
Ship version using ILP64 BLAS
Last modified: 2017-09-08 11:27:26 EDT
It is becoming more and more common to encounter very large sparse matrices whose dimensions can exceed the maximum value fitting in a 32-bit integer. For this reason, some projects have switched to an ILP64 BLAS. OpenBLAS in Fedora has shipped it for some time (Bug 1088256), and has just started shipping an alternative ILP64 version with all symbols suffixed with "64_" in order to allow a process to also load libraries built against an LP64 BLAS without conflicts (Bug 1287541).
As I've just switched my Julia package to the ILP64 OpenBLAS, I'd like to be able to use an ARPACK version based on ILP64 OpenBLAS too. Would you be willing to create an alternative version of ARPACK packages for that? Julia uses the following Makefile instructions to use the "64_"-suffixed functions):
ARPACK_OPENBLASFCNS1 := axpy copy gemv geqr2 lacpy lahqr lanhs larnv lartg lascl laset scal trevc trmm trsen gbmv gbtrf gbtrs gttrf gttrs pttrf pttrs
ARPACK_OPENBLASFCNS2 := dot ger labad laev2 lamch lanst lanv2 lapy2 larf larfg lasr nrm2 orm2r rot steqr swap
ARPACK_OPENBLASFCNS3 := dotc geru unm2r
ARPACK_OPENBLASFCNS4 := COPY LABAD LAMCH LANHS LANV2 LARFG ROT GEMV
ARPACK_FFLAGS += $(foreach fcn, $(ARPACK_OPENBLASFCNS1) $(ARPACK_OPENBLASFCNS2), -Ds$(fcn)=s$(fcn)_64 -Dd$(fcn)=d$(fcn)_64)
ARPACK_FFLAGS += $(foreach fcn, $(ARPACK_OPENBLASFCNS1) $(ARPACK_OPENBLASFCNS3), -Dc$(fcn)=c$(fcn)_64 -Dz$(fcn)=z$(fcn)_64)
ARPACK_FFLAGS += $(foreach fcn, $(ARPACK_OPENBLASFCNS4), -DS$(fcn)=S$(fcn)_64 -DD$(fcn)=D$(fcn)_64)
ARPACK_FFLAGS += -Dscnrm2=scnrm2_64 -Ddznrm2=dznrm2_64 -Dcsscal=csscal_64 -Dzdscal=zdscal_64
ARPACK_CFLAGS += -Dsgemm_=sgemm_64_ -Dcheev_=cheev_64_
Filed an upstream bug at https://github.com/opencollab/arpack-ng/issues/30 (I hadn't realized Fedora was using ARPACK-ng, which is actively maintained).
Thanks a lot for following up with upstream. I'll be happy to make the change in Fedora package once it's done upstream.
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:
It looks like this is included in 3.4.0.
Working on this, should be ready soon.
This is now built in rawhide (3.5.0-2.fc27). Please test.
Milan, are the changes I made in the rawhide branch correct? I based them on your comment in the upstream ticket (https://github.com/opencollab/arpack-ng/issues/30#issuecomment-172192749). Shall I backport them to F26?
Sorry, I haven't had the time to tests this yet. I'll try to do that in the next few weeks. I don't think it needs to be backported to F26, anyway I won't take the risk of backporting these changes to Julia. But much thanks for doing this!
Ok, thanks for the response. I'll keep this rawhide-only. Let me know when you have the test results.
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.
I'll close this for now. Please open a new bug if the current implementation needs adjustment.