Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Aug 2018 18:30:51 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r477976 - in head/devel/ga: . files
Message-ID:  <201808241830.w7OIUp5w020134@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808241830.w7OIUp5w020134>