svn commit: r477976 - in head/devel/ga: . files
Yuri Victorovich
yuri at FreeBSD.org
Fri Aug 24 18:30:52 UTC 2018
Author: yuri
Date: Fri Aug 24 18:30:51 2018
New Revision: 477976
URL: https://svnweb.freebsd.org/changeset/ports/477976
Log:
devel/ga: Add the patch needed for science/nwchem
Suggested by: upstream of science/nwchem, the github user edoapra
Added:
head/devel/ga/files/
head/devel/ga/files/patch-ga_diag_seq (contents, props changed)
Modified:
head/devel/ga/Makefile
Modified: head/devel/ga/Makefile
==============================================================================
--- head/devel/ga/Makefile Fri Aug 24 18:29:28 2018 (r477975)
+++ head/devel/ga/Makefile Fri Aug 24 18:30:51 2018 (r477976)
@@ -3,7 +3,7 @@
PORTNAME= ga
DISTVERSIONPREFIX= v
DISTVERSION= 5.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
MAINTAINER= yuri at FreeBSD.org
Added: head/devel/ga/files/patch-ga_diag_seq
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/ga/files/patch-ga_diag_seq Fri Aug 24 18:30:51 2018 (r477976)
@@ -0,0 +1,98 @@
+Patch https://github.com/edoapra/fedpkg/blob/b5e0c50258cd448b85b146a3752e616ef433946a/ga/ga_diag_seq.patch
+suggested by the schience/nwchem upstream to fix the problem in nwchem:
+https://github.com/nwchemgit/nwchem/issues/53#issuecomment-415838444
+
+diff --git ga-5.6.5/global/src/ga_diag_seq.F ga-5.6.5/global/src/ga_diag_seq.F
+index ee60172..7256665 100644
+--- global/src/ga_diag_seq.F
++++ global/src/ga_diag_seq.F
+@@ -1,6 +1,11 @@
+ #if HAVE_CONFIG_H
+ # include "config.fh"
+ #endif
++#if (BLAS_SIZE ==4)
++#define INTGR4 integer*4
++#else
++#define INTGR4 integer*8
++#endif
+ c
+ c This file has been converted to use LAPACK circa 2011
+ c instead of EISPACK circa 1983 by Jeff Hammond circa 2014.
+@@ -15,7 +20,7 @@ c
+ integer g_v ! Global matrix to return evecs
+ double precision evals(*) ! Local array to return evals
+ c
+- integer n, ierr
++ integer n
+ #if ENABLE_EISPACK
+ integer l_fv1, l_fv2, l_v
+ MA_ACCESS_INDEX_TYPE k_fv1, k_fv2, k_v
+@@ -27,6 +32,7 @@ c
+ integer l_a, l_s
+ MA_ACCESS_INDEX_TYPE k_a, k_s
+ integer dim1, dim2, type, me
++ INTGR4 n4,ierr
+ logical status
+ c
+ c
+@@ -47,6 +53,7 @@ c
+ $ call ga_error('ga_diag_seq: nonsquare matrix ',0)
+
+ n = dim1
++ n4 = n
+ me = ga_nodeid()
+ if (me .eq. 0) then
+ c
+@@ -87,7 +94,7 @@ c
+ call rsg(n, n, dbl_mb(k_a), dbl_mb(k_s), evals, 1,
+ $ dbl_mb(k_v), dbl_mb(k_fv1), dbl_mb(k_fv2), ierr)
+ #else
+- call dsygv(1,'V','U',n,dbl_mb(k_a),n,dbl_mb(k_s),n,
++ call dsygv(1,'V','U',n4,dbl_mb(k_a),n,dbl_mb(k_s),n4,
+ $ evals,dbl_mb(k_wrk),n2, ierr)
+ if (ierr.ne.0)
+ $ call ga_error('ga_diag_seq: dsygv failed',ierr)
+@@ -139,7 +146,7 @@ c
+ integer g_v ! Global matrix to return evecs
+ double precision evals(*) ! Local array to return evals
+ c
+- integer n, ierr
++ integer n
+ #if ENABLE_EISPACK
+ integer l_fv1, l_fv2, l_v
+ MA_ACCESS_INDEX_TYPE k_fv1, k_fv2, k_v
+@@ -151,6 +158,7 @@ c
+ integer l_a
+ MA_ACCESS_INDEX_TYPE k_a
+ integer dim1, dim2, type, me
++ INTGR4 n4,n2_i4,ierr
+ logical status
+ c
+ c
+@@ -170,6 +178,7 @@ c
+ $ call ga_error('ga_diag_std_seq: nonsquare matrix ',0)
+
+ n = dim1
++ n4 = n
+ me = ga_nodeid()
+ if (me .eq. 0) then
+ c
+@@ -187,6 +196,7 @@ c
+ #else
+ c LAPACK fails for n=1 without this
+ n2 = max(n*n,3*n-1)
++ n2_i4=n2
+ status=status.and.ma_push_get(MT_DBL, n2,
+ $ 'diag_std_seq:wrk', l_wrk, k_wrk)
+ #endif
+@@ -205,8 +215,8 @@ c
+ call rs(n, n, dbl_mb(k_a), evals, 1,
+ $ dbl_mb(k_v), dbl_mb(k_fv1), dbl_mb(k_fv2), ierr)
+ #else
+- call dsyev('V', 'L', n, dbl_mb(k_a), n,
+- $ evals, dbl_mb(k_wrk), n2, ierr)
++ call dsyev('V', 'L', n4, dbl_mb(k_a), n4,
++ $ evals, dbl_mb(k_wrk), n2_i4, ierr)
+ if (ierr.ne.0)
+ $ call ga_error('ga_diag_std_seq: dsyev failed',ierr)
+ c We used to copy to preserve code symmetry with EISPACK
More information about the svn-ports-all
mailing list