From 25d214cdf475a4e1ac16bbf747226fee74a6dd3c Mon Sep 17 00:00:00 2001 From: Alex Richert <alexander.richert@noaa.gov> Date: Wed, 31 Jan 2024 14:48:46 -0800 Subject: [PATCH] u --- .github/workflows/Intel.yml | 2 +- CMakeLists.txt | 2 +- src/lapack_gen.F | 116 ------------------------------------ 3 files changed, 2 insertions(+), 118 deletions(-) delete mode 100644 src/lapack_gen.F diff --git a/.github/workflows/Intel.yml b/.github/workflows/Intel.yml index a3ffd009..2c08edeb 100644 --- a/.github/workflows/Intel.yml +++ b/.github/workflows/Intel.yml @@ -37,7 +37,7 @@ jobs: rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list sudo apt-get update - sudo apt-get install intel-oneapi-openmp intel-oneapi-compiler-fortran-2023.2.1 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.1 intel-oneapi-mkl-devel-2023.2.1 + sudo apt-get install intel-oneapi-openmp intel-oneapi-compiler-fortran-2023.2.1 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.1 intel-oneapi-mkl-devel-2023.2.0 echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile - name: checkout diff --git a/CMakeLists.txt b/CMakeLists.txt index d6ff8087..ce09db9c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,7 @@ if(OPENMP) endif() if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|IntelLLVM)$") - set(BLA_VENDOR Intel) + set(BLA_VENDOR Intel10_64lp_seq) endif() find_package(LAPACK) diff --git a/src/lapack_gen.F b/src/lapack_gen.F deleted file mode 100644 index 36db1e46..00000000 --- a/src/lapack_gen.F +++ /dev/null @@ -1,116 +0,0 @@ -C> @file -C> @brief Two Numerical Recipes routines for matrix inversion From Numerical Recipes. -C> -C> ### Program History Log -C> Date | Programmer | Comments -C> -----|------------|--------- -C> 2012-11-05 | E.Mirvis | separated this generic LU from the splat.F - -C> Solves a system of linear equations, follows call to ludcmp(). -C> -C> @param A -C> @param N -C> @param NP -C> @param INDX -C> @param B - SUBROUTINE LUBKSB(A,N,NP,INDX,B) - REAL A(NP,NP),B(N) - INTEGER INDX(N) - II=0 - DO 12 I=1,N - LL=INDX(I) - SUM=B(LL) - B(LL)=B(I) - IF (II.NE.0)THEN - DO 11 J=II,I-1 - SUM=SUM-A(I,J)*B(J) - 11 CONTINUE - ELSE IF (SUM.NE.0.) THEN - II=I - ENDIF - B(I)=SUM - 12 CONTINUE - DO 14 I=N,1,-1 - SUM=B(I) - IF(I.LT.N)THEN - DO 13 J=I+1,N - SUM=SUM-A(I,J)*B(J) - 13 CONTINUE - ENDIF - B(I)=SUM/A(I,I) - 14 CONTINUE - RETURN - END - -C> Replaces an NxN matrix a with the LU decomposition. -C> -C> @param A -C> @param N -C> @param NP -C> @param INDX - SUBROUTINE LUDCMP(A,N,NP,INDX) -C PARAMETER (NMAX=400,TINY=1.0E-20) - PARAMETER (TINY=1.0E-20) -C==EM==^^^ -C - REAL A(NP,NP),VV(N),D -C REAL A(NP,NP),VV(NMAX),D -C==EM==^^^ - INTEGER INDX(N) - D=1. - DO 12 I=1,N - AAMAX=0. - DO 11 J=1,N - IF (ABS(A(I,J)).GT.AAMAX) AAMAX=ABS(A(I,J)) - 11 CONTINUE - IF (AAMAX.EQ.0.) print *, 'SINGULAR MATRIX.' - VV(I)=1./AAMAX - 12 CONTINUE - DO 19 J=1,N - IF (J.GT.1) THEN - DO 14 I=1,J-1 - SUM=A(I,J) - IF (I.GT.1)THEN - DO 13 K=1,I-1 - SUM=SUM-A(I,K)*A(K,J) - 13 CONTINUE - A(I,J)=SUM - ENDIF - 14 CONTINUE - ENDIF - AAMAX=0. - DO 16 I=J,N - SUM=A(I,J) - IF (J.GT.1)THEN - DO 15 K=1,J-1 - SUM=SUM-A(I,K)*A(K,J) - 15 CONTINUE - A(I,J)=SUM - ENDIF - DUM=VV(I)*ABS(SUM) - IF (DUM.GE.AAMAX) THEN - IMAX=I - AAMAX=DUM - ENDIF - 16 CONTINUE - IF (J.NE.IMAX)THEN - DO 17 K=1,N - DUM=A(IMAX,K) - A(IMAX,K)=A(J,K) - A(J,K)=DUM - 17 CONTINUE - D=-D - VV(IMAX)=VV(J) - ENDIF - INDX(J)=IMAX - IF(J.NE.N)THEN - IF(A(J,J).EQ.0.)A(J,J)=TINY - DUM=1./A(J,J) - DO 18 I=J+1,N - A(I,J)=A(I,J)*DUM - 18 CONTINUE - ENDIF - 19 CONTINUE - IF(A(N,N).EQ.0.)A(N,N)=TINY - RETURN - END