Verified Commit b3a58a75 authored by Jellby's avatar Jellby

Fixes for Intel compiler

CI: Enable MKL for the intel configuration
Work around possible vectorization bug in Intel 2018.0.3 (and
probably earlier)
parent 7fbf6db5
Pipeline #30270560 failed with stages
in 405 minutes and 1 second
......@@ -206,6 +206,10 @@
.template: &intel
image: ${CI_REGISTRY}/molcas/dockerfiles/intel-arch:latest
variables: &intel_vars
cache_file: |
set (CMAKE_BUILD_TYPE "Release" CACHE STRING "opt, no debug info" )
set (HDF5 "ON" CACHE STRING "turn on HDF5")
set (LINALG "MKL" CACHE STRING "enable MKL")
pre_compile_script: |
. /opt/intel/composerxe/linux/bin/compilervars.sh intel64
pre_run_script: |
......
......@@ -29,7 +29,7 @@ C contribution to the MP2 energy
#include "chomp2.fh"
#include "WrkSpc.fh"
Integer a, b, aibj, biaj, ab, ba, abij, baij
Integer a, b, aibj, biaj, abij, baij
MulD2h(i,j)=iEor(i-1,j-1)+1
iTri(i,j)=max(i,j)*(max(i,j)-3)/2+i+j
......@@ -60,17 +60,17 @@ C contribution to the MP2 energy
Do iSymb = 1,nSym
iSyma = iSymb
Do b = 1,nVir(iSymb)
abij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1)
baij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + iMatab(iSymb,iSyma)
& - nVir(iSymb) + b
Do a = 1,nVir(iSyma)
ab = iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1) + a
ba = iMatab(iSymb,iSyma)
& + nVir(iSymb)*(a-1) + b
abij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + ab
baij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + ba
abij = abij+1
baij = baij+nVir(iSymb)
Dnom = EVir(iVir(iSyma)+a)
& - EOcc(iOcc(iSymi)+i)
& + EVir(iVir(iSymb)+b)
......@@ -103,17 +103,17 @@ C contribution to the MP2 energy
Do iSymb = 1,nSym
iSyma = MulD2h(iSymb,iSymab)
Do b = 1,nVir(iSymb)
abij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1)
baij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + iMatab(iSymb,iSyma)
& - nVir(iSymb) + b
Do a = 1,nVir(iSyma)
ab = iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1) + a
ba = iMatab(iSymb,iSyma)
& + nVir(iSymb)*(a-1) + b
abij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + ab
baij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + ba
abij = abij+1
baij = baij+nVir(iSymb)
Dnom = EVir(iVir(iSyma)+a)
& - EOcc(iOcc(iSymi)+i)
& + EVir(iVir(iSymb)+b)
......
......@@ -31,7 +31,7 @@ C
#include "chomp2.fh"
#include "WrkSpc.fh"
Integer a, b, aibj, biaj, ab, ba, abij, baij
Integer a, b, aibj, biaj, abij, baij
MulD2h(i,j)=iEor(i-1,j-1)+1
iTri(i,j)=max(i,j)*(max(i,j)-3)/2+i+j
......@@ -57,17 +57,17 @@ C
iSyma = iSymb
If (iSymj.eq.iSymb) Then
Do b = 1,nVir(iSymb)
abij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1)
baij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + iMatab(iSymb,iSyma)
& - nVir(iSymb) + b
Do a = 1,nVir(iSyma)
ab = iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1) + a
ba = iMatab(iSymb,iSyma)
& + nVir(iSymb)*(a-1) + b
abij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + ab
baij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + ba
abij = abij+1
baij = baij+nVir(iSymb)
Dnom = EVir(iVir(iSyma)+a)
& - EOcc(iOcc(iSymi)+i)
& + EVir(iVir(iSymb)+b)
......@@ -86,17 +86,17 @@ C
End Do
Else
Do b = 1,nVir(iSymb)
abij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1)
baij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + iMatab(iSymb,iSyma)
& - nVir(iSymb) + b
Do a = 1,nVir(iSyma)
ab = iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1) + a
ba = iMatab(iSymb,iSyma)
& + nVir(iSymb)*(a-1) + b
abij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + ab
baij = LiT2am(1)
& + nMatab(1)*(ij-1)
& + ba
abij = abij+1
baij = baij+nVir(iSymb)
Dnom = EVir(iVir(iSyma)+a)
& - EOcc(iOcc(iSymi)+i)
& + EVir(iVir(iSymb)+b)
......@@ -132,17 +132,17 @@ C
iSyma = MulD2h(iSymb,iSymab)
If(iSymi.eq.iSyma .and. iSymj.eq.iSymb)Then
Do b = 1,nVir(iSymb)
abij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1)
baij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + iMatab(iSymb,iSyma)
& - nVir(iSymb) + b
Do a = 1,nVir(iSyma)
ab = iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1) + a
ba = iMatab(iSymb,iSyma)
& + nVir(iSymb)*(a-1) + b
abij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + ab
baij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + ba
abij = abij+1
baij = baij+nVir(iSymb)
Dnom = EVir(iVir(iSyma)+a)
& - EOcc(iOcc(iSymi)+i)
& + EVir(iVir(iSymb)+b)
......@@ -161,17 +161,17 @@ C
End Do
Else
Do b = 1,nVir(iSymb)
abij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1)
baij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + iMatab(iSymb,iSyma)
& - nVir(iSymb) + b
Do a = 1,nVir(iSyma)
ab = iMatab(iSyma,iSymb)
& + nVir(iSyma)*(b-1) + a
ba = iMatab(iSymb,iSyma)
& + nVir(iSymb)*(a-1) + b
abij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + ab
baij = LiT2am(iSymij)
& + nMatab(iSymab)*(ij-1)
& + ba
abij = abij+1
baij = baij+nVir(iSymb)
Dnom = EVir(iVir(iSyma)+a)
& - EOcc(iOcc(iSymi)+i)
& + EVir(iVir(iSymb)+b)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment