From 19138eaf10c38139a5a1395a171f0d97e25fca75 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 28 Jul 2023 03:22:08 +0000 Subject: [PATCH 1/2] Test: add a parallel script for parallel_2d_test --- source/module_basis/module_ao/test/CMakeLists.txt | 7 +++++++ .../module_ao/test/parallel_2d_test.cpp | 6 ++++++ .../module_basis/module_ao/test/parallel_2d_test.sh | 13 +++++++++++++ 3 files changed, 26 insertions(+) create mode 100755 source/module_basis/module_ao/test/parallel_2d_test.sh diff --git a/source/module_basis/module_ao/test/CMakeLists.txt b/source/module_basis/module_ao/test/CMakeLists.txt index baddcfa0529..f198a934d14 100644 --- a/source/module_basis/module_ao/test/CMakeLists.txt +++ b/source/module_basis/module_ao/test/CMakeLists.txt @@ -114,6 +114,13 @@ AddTest( LIBS ${math_libs} device base ) +install(FILES parallel_2d_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +find_program(BASH bash) +add_test(NAME parallel_2d_test_para4 + COMMAND ${BASH} parallel_2d_test.sh + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) + install(DIRECTORY lcao_H2O DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) install(DIRECTORY lcao_H2O DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../../tests) diff --git a/source/module_basis/module_ao/test/parallel_2d_test.cpp b/source/module_basis/module_ao/test/parallel_2d_test.cpp index eb8a836cb76..df386e6da57 100644 --- a/source/module_basis/module_ao/test/parallel_2d_test.cpp +++ b/source/module_basis/module_ao/test/parallel_2d_test.cpp @@ -175,12 +175,18 @@ TEST_F(test_para2d, Serial) //1. set dim0 and dim1 p2d.set_proc_dim(1); EXPECT_EQ(p2d.dim0 * p2d.dim1, 1); + EXPECT_EQ(p2d.dim0, 1); + EXPECT_EQ(p2d.dim1, 1); //2. set_serial p2d.set_serial(gr, gc); EXPECT_EQ(p2d.get_row_size(), gr); EXPECT_EQ(p2d.get_col_size(), gc); EXPECT_EQ(p2d.get_local_size(), gr * gc); + for (int i = 0; i < gr; ++i) + EXPECT_EQ(p2d.local2global_row(i), i); + for (int i = 0; i < gc; ++i) + EXPECT_EQ(p2d.local2global_col(i), i); //3. set_global2local p2d.set_global2local(gr, gc, false, ofs_running); diff --git a/source/module_basis/module_ao/test/parallel_2d_test.sh b/source/module_basis/module_ao/test/parallel_2d_test.sh new file mode 100755 index 00000000000..2b4b4338293 --- /dev/null +++ b/source/module_basis/module_ao/test/parallel_2d_test.sh @@ -0,0 +1,13 @@ +#!/bin/bash -e + +np=`cat /proc/cpuinfo | grep "cpu cores" | uniq| awk '{print $NF}'` +echo "nprocs in this machine is $np" + +for i in 4;do + if [[ $i -gt $np ]];then + continue + fi + echo "TEST in parallel, nprocs=$i" + mpirun -np $i ./parallel_2d_test + break +done From a764044c857b596da6df95d5e8b4ea6272230b28 Mon Sep 17 00:00:00 2001 From: Peng Xingliang <91927439+pxlxingliang@users.noreply.github.com> Date: Wed, 2 Aug 2023 11:21:03 +0800 Subject: [PATCH 2/2] Update source/module_basis/module_ao/test/parallel_2d_test.sh --- source/module_basis/module_ao/test/parallel_2d_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/module_basis/module_ao/test/parallel_2d_test.sh b/source/module_basis/module_ao/test/parallel_2d_test.sh index 2b4b4338293..94c60d40009 100755 --- a/source/module_basis/module_ao/test/parallel_2d_test.sh +++ b/source/module_basis/module_ao/test/parallel_2d_test.sh @@ -3,7 +3,7 @@ np=`cat /proc/cpuinfo | grep "cpu cores" | uniq| awk '{print $NF}'` echo "nprocs in this machine is $np" -for i in 4;do +for i in 2 3 4; do if [[ $i -gt $np ]];then continue fi