Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor testscript #120

Merged
merged 20 commits into from
Dec 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
bcea832
Update setup-fortran to version 1.3
kohei-noda-qcrg Dec 4, 2023
06d0e85
Refactor test functions to use environment setup
kohei-noda-qcrg Dec 4, 2023
1b3e486
Update VSCode settings for Python formatting and
kohei-noda-qcrg Dec 4, 2023
19e0647
Add env_setup_ivo fixture and refactor IVO tests
kohei-noda-qcrg Dec 4, 2023
6bb0070
feature: Support mpiifx (IntelLLVM)
kohei-noda-qcrg Dec 5, 2023
62820a8
Add mpiifx test (intel 2023.2), Change awvwgk/setup-fortran to fortra…
kohei-noda-qcrg Dec 5, 2023
5875fdc
Update Intel oneAPI environment setup
kohei-noda-qcrg Dec 5, 2023
1de5c83
Update CI workflow (Move setup-fortran)
kohei-noda-qcrg Dec 5, 2023
2095a07
Don't use fortran-lang/setup-fortran (intel mpi tests)
kohei-noda-qcrg Dec 5, 2023
8829f4a
Change strategy.matrix
kohei-noda-qcrg Dec 5, 2023
7785f41
Add OpenMP flag to gfortran pytest command
kohei-noda-qcrg Dec 5, 2023
cde421c
Fix parallelization bug in fockcasci.f90 (openmp)
kohei-noda-qcrg Dec 5, 2023
d2bbf28
Refactor OMP directive
kohei-noda-qcrg Dec 5, 2023
f86af93
Fix print format in diag.f90
kohei-noda-qcrg Dec 5, 2023
399b2e7
Formatter applied (fprettify)
kohei-noda-qcrg Dec 5, 2023
f037e8b
Comment out OMP directives in vBmat_[real,complex]
kohei-noda-qcrg Dec 5, 2023
0bd5fa2
Update CMake version requirement for ifx and
kohei-noda-qcrg Dec 5, 2023
cf4b96f
Fix deallocation and memminus calls in
kohei-noda-qcrg Dec 5, 2023
8905584
Remove omp flag from --slowonly and --all tests (gfortran)
kohei-noda-qcrg Dec 5, 2023
325b52b
Refactor test_name variable in env_setup_caspt2
kohei-noda-qcrg Dec 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: DIRAC-CASPT2-CI-test
on:
push:
paths:
# Ref : https://mzqvis6akmakplpmcjx3.hatenablog.com/entry/2021/02/07/134133
# Run CI when only source code, build configuration, test files or files related to CI are modified.
# Ref : https://mzqvis6akmakplpmcjx3.hatenablog.com/entry/2021/02/07/134133
# Run CI when only source code, build configuration, test files or files related to CI are modified.
- "**.f90"
- "**.F90"
- "**.cmake"
Expand All @@ -16,8 +16,8 @@ on:
branches:
- "main"
paths:
# Ref : https://mzqvis6akmakplpmcjx3.hatenablog.com/entry/2021/02/07/134133
# Run CI when only source code, build configuration, test files or files related to CI are modified.
# Ref : https://mzqvis6akmakplpmcjx3.hatenablog.com/entry/2021/02/07/134133
# Run CI when only source code, build configuration, test files or files related to CI are modified.
- "**.f90"
- "**.F90"
- "**.cmake"
Expand All @@ -34,12 +34,14 @@ defaults:
run:
shell: bash
jobs:
test-linux-mpiifort:
test-linux-intel-mpi:
timeout-minutes: 60 # Max execution time (min)
runs-on: ubuntu-latest
strategy:
matrix:
fc: [mpiifort, mpiifx]
env:
KEYVERSION: v1 # If you don't want to cache (intel fortran), you should change KEYVERSION.
FC: mpiifort # MPI-Intel-Fortran
steps:
- uses: actions/checkout@v3
- name: cache install
Expand All @@ -65,11 +67,12 @@ jobs:
sudo apt-get install -y intel-oneapi-compiler-fortran intel-oneapi-openmp intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl
- name: Set Intel oneAPI environments
run: |
source /opt/intel/oneapi/setvars.sh
source /opt/intel/oneapi/setvars.sh --force
printenv >> $GITHUB_ENV
- name: Install cmake
run: |
sudo apt-get install -y cmake
- run: ${{ matrix.fc }} --version
- name: Install python
uses: actions/setup-python@v4
with:
Expand All @@ -79,7 +82,7 @@ jobs:
run: python -m pip install pytest
- name: Build source code (parallel)
run: |
./setup --mpi --omp -j --build
./setup --mpi --omp -j --build --fc ${{ matrix.fc }}
- name: Run unittest(parallel, run slowonly tests, pull_request)
if: ${{ github.event_name == 'pull_request' }}
run: |
Expand Down Expand Up @@ -133,7 +136,7 @@ jobs:
run: |
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
- uses: awvwgk/setup-fortran@10d482ae709dc07adfb4ff5d152dc315ec5abbe9 # Fix the commit hash to avoid breaking changes.
- uses: fortran-lang/setup-fortran@v1.3
id: setup-fortran
with:
compiler: ${{ matrix.compiler }}
Expand All @@ -158,7 +161,7 @@ jobs:
- name: Run unittest(serial, run normal and slow tests, push to other than main branch)
if: ${{ github.ref_name != 'main' && github.event_name == 'push' }}
run: |
pytest
pytest --omp=2
- name: Run unittest(serial, run all tests, push to main branch)
if: ${{ github.ref_name == 'main' && github.event_name == 'push' }}
run: |
Expand Down
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"EditorConfig.EditorConfig",
// Python
"ms-python.python",
"ms-python.vscode-pylance"
"charliermarsh.ruff",
"ms-python.black-formatter"
]
}
19 changes: 19 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,23 @@
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
},
"black-formatter.args": [
"--line-length=180"
],
"ruff.lint.args": [
"--line-length=180",
// FBT001: boolean-type-hint-positional-argument https://docs.astral.sh/ruff/rules/boolean-type-hint-positional-argument/
// T201: print https://docs.astral.sh/ruff/rules/print/
// PLR2004: magic-value-comparison https://docs.astral.sh/ruff/rules/magic-value-comparison/
// S101: use-of-assert https://docs.astral.sh/ruff/rules/use-of-assert/
// S603: subprocess-without-shell-equals-true https://docs.astral.sh/ruff/rules/subprocess-without-shell-equals-true/
"--ignore=FBT001,T201,PLR2004,S101,S603"
]
}
16 changes: 14 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ option(MKL "Enable MKL?" ON)

set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin) # Set executable output path
set(CMAKE_Fortran_MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/modules) # Set module output path

# Deny In-source build ( Ref : https://github.com/eigenteam/eigen-git-mirror/blob/36b95962756c1fce8e29b1f8bc45967f30773c00/CMakeLists.txt#L7-L9)
if(${PROJECT_SOURCE_DIR} STREQUAL ${PROJECT_BINARY_DIR})
message(FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there. You may need to remove CMakeCache.txt. ")
Expand All @@ -25,32 +26,42 @@ if(MPI)
add_compile_options(-DHAVE_MPI) # Add MPI preprocessor flag
endif()

if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DINTEL -g -traceback -cpp -i8 -I$ENV{MKLROOT}/include -pad -mp1 -integer-size 64 -unroll -warn nounused -nogen-interface") # "-warn nounused" means "-warn all -warn nounused"
if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel OR CMAKE_Fortran_COMPILER_ID STREQUAL IntelLLVM)
if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
set(CMAKE_Fortran_FLAGS "-mp1")
endif()

set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DINTEL -g -traceback -cpp -i8 -I$ENV{MKLROOT}/include -pad -integer-size 64 -unroll -warn nounused -nogen-interface")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check -debug extended -debug-parameters -warn")
set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
link_libraries(-i8)

if(MKL)
link_libraries(-L$ENV{MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl)
endif()

if(OPENMP)
find_package(OpenMP REQUIRED)
add_compile_options(-qopenmp)
link_libraries(-qopenmp)
endif()
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DGNU -g -fbacktrace -cpp -fdefault-integer-8 -m64 -I$ENV{MKLROOT}/include -Wall -Wno-unused-variable")

# if gfortran version >= 10.0, Use -fallow-argument-mismatch option to treat the mismatch between the actual and dummy arguments as a warning instead of an error.
# (Ref: https://gcc.gnu.org/gcc-10/changes.html#:~:text=Use%20the%20new%20option%20%2Dfallow%2Dargument%2Dmismatch%20to%20turn%20these%20errors%20into%20warnings)
if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch")
endif()

set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -fcheck=all")
set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
link_libraries(-fdefault-integer-8 -m64)

if(MKL)
link_libraries(-L$ENV{MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_ilp64 -lmkl_core -lmkl_gnu_thread -lgomp -lpthread -lm -ldl)
endif()

if(OPENMP)
find_package(OpenMP REQUIRED)
add_compile_options(-fopenmp)
Expand All @@ -59,6 +70,7 @@ elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
else()
message(FATAL_ERROR "Unsupported Fortran compiler: ${CMAKE_Fortran_COMPILER_ID}")
endif()

add_subdirectory(src)
add_subdirectory(test)
configure_file(${PROJECT_SOURCE_DIR}/tools/dcaspt2_input ${EXECUTABLE_OUTPUT_PATH}/dcaspt2 COPYONLY)
Expand Down
1 change: 1 addition & 0 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ git clone --depth=1 https://github.com/kohei-noda-qcrg/dirac_caspt2.git
- [GNU Fortran](https://gcc.gnu.org/fortran/) or [Intel Fortran](https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler.html) compiler (並列計算をするために並列コンパイラを使うこともできます)
- [CMake(version ≧ 3.14)](https://cmake.org/)
- CMakeが計算機に入っていないか、バージョンが古い場合[CMakeのGithub](https://github.com/Kitware/CMake/releases)からビルドするもしくはビルド済みのファイルを解凍して使用してください
- ifx又はmpiifxをFortranコンパイラとして使用する場合、[CMakeが3.20.2からifx,mpiifxをサポートしたので](https://cmake.org/cmake/help/latest/release/3.20.html#id3:~:text=The%20Intel%20oneAPI%20Fortran%20compiler%20is%20now%20identified%20as%20IntelLLVM)バージョン3.20.2以上を使用してください
- [Intel MKL(Math Kernel Library)](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html)
- MKLをリンクするため環境変数\$MKLROOTが設定されている必要があります
\$MKLROOTが設定されているか確認するには、以下のコマンドを実行して環境変数\$MKLROOTが設定されているか確認してください
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ If you want to build this program, you need to have the following compilers, too
- [GNU Fortran](https://gcc.gnu.org/fortran/) or [Intel Fortran](https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler.html) compiler (You can use the MPI compiler for parallel calculation)
- [CMake(version >= 3.14)](https://cmake.org/)
- If CMake is not installed on your machine or the version is too old, please build CMake or use the pre-built CMake binary from [CMake Github](https://github.com/Kitware/CMake/releases).
- If you use ifx or mpiifx as the Fortran compiler, CMake version >= 3.20.2 is required because [CMake supports ifx and mpiifx from version 3.20.2.](https://cmake.org/cmake/help/latest/release/3.20.html#id3:~:text=The%20Intel%20oneAPI%20Fortran%20compiler%20is%20now%20identified%20as%20IntelLLVM)
- [Intel MKL(Math Kernel Library)](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html)
- You need to configure the environment variable \$MKLROOT to link MKL.
To verify that \$MKLROOT is configured, run the following command
Expand Down
2 changes: 1 addition & 1 deletion src/diag.f90
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ SUBROUTINE rdiag0(n, n0, n1, fa, w)
do j = n0, n1
do i = n0, n1
if (i /= j .and. (ABS(mat(i, j)) > 1.0d-10)) then
print '(2E13.5,2I3)', mat(i, j), i, j
print '(E13.5,2I3)', mat(i, j), i, j
end if
end do
end do
Expand Down
20 changes: 14 additions & 6 deletions src/fock_matrix_of_hf.f90
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ SUBROUTINE fock_matrix_of_hf_complex ! TO CALCULATE FOCK MATRIX OF HF STATE, A T
n = 0
fock_cmplx = 0.0d+00

!$OMP parallel do private(j,k)
!$OMP parallel private(i,j,k)
!$OMP do
do i = rank + 1, global_act_end, nprocs ! MPI parallelization (Distributed loop: static scheduling, per nprocs)
do j = i, global_act_end
fock_cmplx(i, j) = DCMPLX(one_elec_int_r(i, j), one_elec_int_i(i, j))
Expand All @@ -42,8 +43,8 @@ SUBROUTINE fock_matrix_of_hf_complex ! TO CALCULATE FOCK MATRIX OF HF STATE, A T
fock_cmplx(j, i) = DCONJG(fock_cmplx(i, j))
End do ! j
End do ! i

!$OMP parallel do private(j,k)
!$OMP end do
!$OMP do
do i = rank + global_sec_start, global_sec_end, nprocs ! MPI parallelization (Distributed loop: static scheduling, per nprocs)
do j = i, global_sec_end
fock_cmplx(i, j) = DCMPLX(one_elec_int_r(i, j), one_elec_int_i(i, j))
Expand All @@ -58,6 +59,9 @@ SUBROUTINE fock_matrix_of_hf_complex ! TO CALCULATE FOCK MATRIX OF HF STATE, A T

End do ! j
End do ! i
!$OMP end do
!$OMP end parallel

#ifdef HAVE_MPI
call allreduce_wrapper(mat=fock_cmplx(1:nmo, 1:nmo))
#endif
Expand Down Expand Up @@ -115,7 +119,8 @@ SUBROUTINE fock_matrix_of_hf_real ! TO CALCULATE FOCK MATRIX OF HF STATE, A TEST
n = 0
fock_real = 0.0d+00

!$OMP parallel do private(j,k)
!$OMP parallel private(i,j,k)
!$OMP do
do i = rank + 1, global_act_end, nprocs ! MPI parallelization (Distributed loop: static scheduling, per nprocs)
do j = i, global_act_end
fock_real(i, j) = one_elec_int_r(i, j)
Expand All @@ -129,8 +134,8 @@ SUBROUTINE fock_matrix_of_hf_real ! TO CALCULATE FOCK MATRIX OF HF STATE, A TEST
fock_real(j, i) = fock_real(i, j)
End do ! j
End do ! i

!$OMP parallel do private(j,k)
!$OMP end do
!$OMP do
do i = rank + global_sec_start, global_sec_end, nprocs ! MPI parallelization (Distributed loop: static scheduling, per nprocs)
do j = i, global_sec_end
fock_real(i, j) = one_elec_int_r(i, j)
Expand All @@ -145,6 +150,9 @@ SUBROUTINE fock_matrix_of_hf_real ! TO CALCULATE FOCK MATRIX OF HF STATE, A TEST

End do ! j
End do ! i
!$OMP end do
!$OMP end parallel

#ifdef HAVE_MPI
call allreduce_wrapper(mat=fock_real(1:nmo, 1:nmo))
#endif
Expand Down
4 changes: 2 additions & 2 deletions src/fockcasci.f90
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ SUBROUTINE fockcasci_complex ! TO MAKE FOCK MATRIX for CASCI state
fock_cmplx(:, :) = 0.0d+00

if (rank == 0) print *, 'enter building fock matrix'
!$OMP parallel private(i,j,k,l,dr,di,dens)
!$OMP parallel private(i,j,k,l,dr,di,dens,kact,lact)
!$OMP do schedule(dynamic,2)
do i = rank + 1, global_act_end, nprocs ! MPI parallelization (Distributed loop: static scheduling, per nprocs)
do j = i, global_act_end
Expand Down Expand Up @@ -135,7 +135,7 @@ SUBROUTINE fockcasci_real ! TO MAKE FOCK MATRIX for CASCI state
fock_real(:, :) = 0.0d+00

if (rank == 0) print *, 'enter building fock matrix'
!$OMP parallel private(i,j,k,l,dr)
!$OMP parallel private(i,j,k,l,dr,kact,lact)
!$OMP do schedule(dynamic,2)
do i = rank + 1, global_act_end, nprocs ! MPI parallelization (Distributed loop: static scheduling, per nprocs)
do j = i, global_act_end
Expand Down
36 changes: 18 additions & 18 deletions src/module_intra.f90
Original file line number Diff line number Diff line change
Expand Up @@ -272,10 +272,10 @@ SUBROUTINE intra_1_complex(spi, spj, spk, spl, fname)
call open_unformatted_file(unit=unit_int2_subspace, file=trim(fname), status='old', optional_action='write')
call write_traint2_to_disk_fourth(ii, ie, ji, je, ki, ke, li, le, traint2, cutoff_threshold, unit_int2_subspace)
close (unit_int2_subspace)
deallocate (traint2); Call memminus(KIND(traint2), SIZE(traint2), 2)
Call memminus(KIND(traint2), SIZE(traint2), 2); deallocate (traint2)

deallocate (indsym); Call memminus(KIND(indsym), SIZE(indsym), 1)
deallocate (nsym); Call memminus(KIND(nsym), SIZE(nsym), 1)
Call memminus(KIND(indsym), SIZE(indsym), 1); deallocate (indsym)
Call memminus(KIND(nsym), SIZE(nsym), 1); deallocate (nsym)

end subroutine intra_1_complex

Expand Down Expand Up @@ -502,10 +502,10 @@ SUBROUTINE intra_1_real(spi, spj, spk, spl, fname)
call open_unformatted_file(unit=unit_int2_subspace, file=trim(fname), status='old', optional_action='write')
call write_traint2_to_disk_fourth(ii, ie, ji, je, ki, ke, li, le, traint2, cutoff_threshold, unit_int2_subspace)
close (unit_int2_subspace)
deallocate (traint2); Call memminus(KIND(traint2), SIZE(traint2), 1)
Call memminus(KIND(traint2), SIZE(traint2), 1); deallocate (traint2)

deallocate (indsym); Call memminus(KIND(indsym), SIZE(indsym), 1)
deallocate (nsym); Call memminus(KIND(nsym), SIZE(nsym), 1)
Call memminus(KIND(indsym), SIZE(indsym), 1); deallocate (indsym)
Call memminus(KIND(nsym), SIZE(nsym), 1); deallocate (nsym)

end subroutine intra_1_real

Expand Down Expand Up @@ -771,9 +771,9 @@ SUBROUTINE intra_2_complex(spi, spj, spk, spl, fname)
call open_unformatted_file(unit=unit_int2_subspace, file=trim(fname), status='old', optional_action='write')
call write_traint2_to_disk_fourth(ii, ie, ji, je, ki, ke, li, le, traint2, cutoff_threshold, unit_int2_subspace)
close (unit_int2_subspace)
deallocate (traint2); Call memminus(KIND(traint2), SIZE(traint2), 2)
deallocate (indsym); Call memminus(KIND(indsym), SIZE(indsym), 1)
deallocate (nsym); Call memminus(KIND(nsym), SIZE(nsym), 1)
Call memminus(KIND(traint2), SIZE(traint2), 2); deallocate (traint2)
Call memminus(KIND(indsym), SIZE(indsym), 1); deallocate (indsym)
Call memminus(KIND(nsym), SIZE(nsym), 1); deallocate (nsym)

end subroutine intra_2_complex

Expand Down Expand Up @@ -1039,9 +1039,9 @@ SUBROUTINE intra_2_real(spi, spj, spk, spl, fname)
call open_unformatted_file(unit=unit_int2_subspace, file=trim(fname), status='old', optional_action='write')
call write_traint2_to_disk_fourth(ii, ie, ji, je, ki, ke, li, le, traint2, cutoff_threshold, unit_int2_subspace)
close (unit_int2_subspace)
deallocate (traint2); Call memminus(KIND(traint2), SIZE(traint2), 1)
deallocate (indsym); Call memminus(KIND(indsym), SIZE(indsym), 1)
deallocate (nsym); Call memminus(KIND(nsym), SIZE(nsym), 1)
Call memminus(KIND(traint2), SIZE(traint2), 1); deallocate (traint2)
Call memminus(KIND(indsym), SIZE(indsym), 1); deallocate (indsym)
Call memminus(KIND(nsym), SIZE(nsym), 1); deallocate (nsym)

end subroutine intra_2_real

Expand Down Expand Up @@ -1309,9 +1309,9 @@ SUBROUTINE intra_3_complex(spi, spj, spk, spl, fname)
close (unit_int2_subspace)

if (rank == 0) print *, 'read and write file properly. filename : ', trim(fname)
deallocate (traint2); Call memminus(KIND(traint2), SIZE(traint2), 2)
deallocate (indsym); Call memminus(KIND(indsym), SIZE(indsym), 1)
deallocate (nsym); Call memminus(KIND(nsym), SIZE(nsym), 1)
Call memminus(KIND(traint2), SIZE(traint2), 2); deallocate (traint2)
Call memminus(KIND(indsym), SIZE(indsym), 1); deallocate (indsym)
Call memminus(KIND(nsym), SIZE(nsym), 1); deallocate (nsym)

end subroutine intra_3_complex

Expand Down Expand Up @@ -1579,9 +1579,9 @@ SUBROUTINE intra_3_real(spi, spj, spk, spl, fname)
close (unit_int2_subspace)

if (rank == 0) print *, 'read and write file properly. filename : ', trim(fname)
deallocate (traint2); Call memminus(KIND(traint2), SIZE(traint2), 1)
deallocate (indsym); Call memminus(KIND(indsym), SIZE(indsym), 1)
deallocate (nsym); Call memminus(KIND(nsym), SIZE(nsym), 1)
Call memminus(KIND(traint2), SIZE(traint2), 1); deallocate (traint2)
Call memminus(KIND(indsym), SIZE(indsym), 1); deallocate (indsym)
Call memminus(KIND(nsym), SIZE(nsym), 1); deallocate (nsym)

end subroutine intra_3_real

Expand Down
Loading