From 7e04c6933d0b92cc2440d1967f5bf1e57e491a07 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 2 May 2021 22:04:27 -0400 Subject: [PATCH 1/7] update opencl-loader library to be compatible with mingw 8 and later --- cmake/Modules/OpenCLLoader.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index 2066b6667e..80a1a76099 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -1,6 +1,6 @@ message(STATUS "Downloading and building OpenCL loader library") -set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.04.29.tar.gz" CACHE STRING "URL for OpenCL loader tarball") -set(OPENCL_LOADER_MD5 "bd0bcd6c0989bffc24c76c2e0d67d2c6" CACHE STRING "MD5 checksum of OpenCL loader tarball") +set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.05.02.tar.gz" CACHE STRING "URL for OpenCL loader tarball") +set(OPENCL_LOADER_MD5 "d06bae306c3a0fd672caec07d8a79314" CACHE STRING "MD5 checksum of OpenCL loader tarball") mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) From 16964e12bc7bdde0119edcf09a04aaef96c2aebc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 2 May 2021 22:06:08 -0400 Subject: [PATCH 2/7] remove fragile OpenMP thread checks --- unittest/cplusplus/test_lammps_class.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index 0e9c6aa9ab..4bf2fb05b5 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -99,7 +99,6 @@ TEST_F(LAMMPS_plain, InitMembers) EXPECT_STREQ(LAMMPS::git_branch, "(unknown)"); EXPECT_STREQ(LAMMPS::git_descriptor, "(unknown)"); } - EXPECT_EQ(lmp->comm->nthreads, 1); } TEST_F(LAMMPS_plain, TestStyles) @@ -234,9 +233,6 @@ TEST_F(LAMMPS_omp, InitMembers) EXPECT_STREQ(LAMMPS::git_branch, "(unknown)"); EXPECT_STREQ(LAMMPS::git_descriptor, "(unknown)"); } -#if 0 // temporarily disabled. MacOS behaves different from Linux here. - EXPECT_EQ(lmp->comm->nthreads, 2); -#endif } // test fixture for Kokkos tests @@ -326,7 +322,6 @@ TEST_F(LAMMPS_kokkos, InitMembers) } } -// check if Comm::nthreads is initialized to either 1 or 2 (from the previous tests) TEST(LAMMPS_init, OpenMP) { if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); From 37cd51f3e41e8371a5522dd65f2fe98e9525dc97 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 2 May 2021 23:30:02 -0400 Subject: [PATCH 3/7] tar file was updated one more time --- cmake/Modules/OpenCLLoader.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index 80a1a76099..f5b25b1915 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -1,6 +1,6 @@ message(STATUS "Downloading and building OpenCL loader library") set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.05.02.tar.gz" CACHE STRING "URL for OpenCL loader tarball") -set(OPENCL_LOADER_MD5 "d06bae306c3a0fd672caec07d8a79314" CACHE STRING "MD5 checksum of OpenCL loader tarball") +set(OPENCL_LOADER_MD5 "75fd4b7cb2dd46b4d27f3e2956292c92" CACHE STRING "MD5 checksum of OpenCL loader tarball") mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) From 8cf2cd5875b42a56d3b5fde5ea2f017ed41a5723 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 3 May 2021 11:38:41 -0400 Subject: [PATCH 4/7] update for 32-bit MinGW64 compatibility --- cmake/Modules/OpenCLLoader.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index f5b25b1915..ea83f8e447 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -1,6 +1,6 @@ message(STATUS "Downloading and building OpenCL loader library") set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.05.02.tar.gz" CACHE STRING "URL for OpenCL loader tarball") -set(OPENCL_LOADER_MD5 "75fd4b7cb2dd46b4d27f3e2956292c92" CACHE STRING "MD5 checksum of OpenCL loader tarball") +set(OPENCL_LOADER_MD5 "29180b05056578afda92f0d394c3a373" CACHE STRING "MD5 checksum of OpenCL loader tarball") mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) From 8e2ecbc7ac68571f972d8674e4c59b02d92b6ea9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 3 May 2021 12:12:15 -0400 Subject: [PATCH 5/7] detect Linux distribution, if possible and include in OS info output --- src/info.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/info.cpp b/src/info.cpp index 099a4582dc..512858b9f2 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -39,6 +39,7 @@ #include "pair.h" #include "pair_hybrid.h" #include "region.h" +#include "text_file_reader.h" #include "update.h" #include "variable.h" @@ -1261,7 +1262,25 @@ std::string Info::get_os_info() #else struct utsname ut; uname(&ut); - buf = fmt::format("{} {} on {}", ut.sysname, ut.release, ut.machine); + + // try to get OS distribution name, if available + std::string distro = ut.sysname; + if (utils::file_is_readable("/etc/os-release")) { + try { + TextFileReader reader("/etc/os-release",""); + while (1) { + auto words = reader.next_values(0,"="); + if ((words.count() > 1) && (words.next_string() == "PRETTY_NAME")) { + distro += " " + utils::trim(words.next_string()); + break; + } + } + } catch (std::exception &e) { + ; // EOF but keyword not found + } + } + + buf = fmt::format("{} {} on {}", distro, ut.release, ut.machine); #endif return buf; } From 69224ea6829aa41ca87c7134fe43300187920816 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 3 May 2021 15:30:48 -0400 Subject: [PATCH 6/7] must skip this test if USER-OMP is installed but OpenMP not enabled --- unittest/cplusplus/test_lammps_class.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/unittest/cplusplus/test_lammps_class.cpp b/unittest/cplusplus/test_lammps_class.cpp index 4bf2fb05b5..04ad403db6 100644 --- a/unittest/cplusplus/test_lammps_class.cpp +++ b/unittest/cplusplus/test_lammps_class.cpp @@ -325,6 +325,7 @@ TEST_F(LAMMPS_kokkos, InitMembers) TEST(LAMMPS_init, OpenMP) { if (!LAMMPS::is_installed_pkg("USER-OMP")) GTEST_SKIP(); + if (Info::get_openmp_info() == "OpenMP not enabled") GTEST_SKIP(); FILE *fp = fopen("in.lammps_empty", "w"); fputs("\n", fp); From 199e750eb193dc9f14e04609cafdbb3d3c83346c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 3 May 2021 16:33:04 -0400 Subject: [PATCH 7/7] small tweaks to pass unit tests on FreeBSD --- unittest/force-styles/tests/dihedral-table_cut_linear.yaml | 2 +- unittest/force-styles/tests/dihedral-table_cut_spline.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/force-styles/tests/dihedral-table_cut_linear.yaml b/unittest/force-styles/tests/dihedral-table_cut_linear.yaml index c34c6269de..7b4c429c96 100644 --- a/unittest/force-styles/tests/dihedral-table_cut_linear.yaml +++ b/unittest/force-styles/tests/dihedral-table_cut_linear.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Mar 2021 date_generated: Tue Mar 23 08:05:02 202 -epsilon: 1e-14 +epsilon: 2e-14 prerequisites: ! | atom full dihedral table/cut diff --git a/unittest/force-styles/tests/dihedral-table_cut_spline.yaml b/unittest/force-styles/tests/dihedral-table_cut_spline.yaml index 9148e0a80d..40437ebbbb 100644 --- a/unittest/force-styles/tests/dihedral-table_cut_spline.yaml +++ b/unittest/force-styles/tests/dihedral-table_cut_spline.yaml @@ -1,7 +1,7 @@ --- lammps_version: 10 Mar 2021 date_generated: Tue Mar 23 08:06:45 202 -epsilon: 1e-14 +epsilon: 2e-14 prerequisites: ! | atom full dihedral table/cut