{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.C1oULqzK/b1/gromacs_2020.6-2_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.C1oULqzK/b2/gromacs_2020.6-2_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,11 +1,11 @@\n \n- d7a6daf0fafe0ee4b26989e55e9037a0 20581692 science optional gromacs-data_2020.6-2_all.deb\n+ 50164bf640ed8f67f30ac975730245e3 20582036 science optional gromacs-data_2020.6-2_all.deb\n 1962e74b4ffe4ed5b2a4540043bd0ab1 821244 debug optional gromacs-dbgsym_2020.6-2_amd64.deb\n c89e38b6950ccadd5950da44347a4e95 85051644 debug optional gromacs-mpich-dbgsym_2020.6-2_amd64.deb\n c10276216fd8d5c211ff981ea90314bd 6863660 science optional gromacs-mpich_2020.6-2_amd64.deb\n 45e24b56e214da9decae4ce992b99a61 85056096 debug optional gromacs-openmpi-dbgsym_2020.6-2_amd64.deb\n 69a3120096c8b4e8f8a75f8c3b807c5d 6868232 science optional gromacs-openmpi_2020.6-2_amd64.deb\n 8496a4d5dec5e62b2d623337032b1837 137236 science optional gromacs_2020.6-2_amd64.deb\n- da8a4a83080448769044fa5ab2ac0132 187296 libdevel optional libgromacs-dev_2020.6-2_amd64.deb\n+ ad6076d479a24414b446089d0e7c5784 187296 libdevel optional libgromacs-dev_2020.6-2_amd64.deb\n 44d7388f5311fde7d077081582da588b 121103916 debug optional libgromacs5-dbgsym_2020.6-2_amd64.deb\n 63983253290e5ee0f17bcfd917f6ba5f 11495956 libs optional libgromacs5_2020.6-2_amd64.deb\n"}, {"source1": "gromacs-data_2020.6-2_all.deb", "source2": "gromacs-data_2020.6-2_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2021-03-29 04:45:03.000000 debian-binary\n--rw-r--r-- 0 0 0 350104 2021-03-29 04:45:03.000000 control.tar.xz\n--rw-r--r-- 0 0 0 20231396 2021-03-29 04:45:03.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 350124 2021-03-29 04:45:03.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 20231720 2021-03-29 04:45:03.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/doc/gromacs/html/doxygen/html-lib/todo.xhtml", "source2": "./usr/share/doc/gromacs/html/doxygen/html-lib/todo.xhtml", "unified_diff": "@@ -63,75 +63,75 @@\n \n
Generalize this method to multiple data sets (e.g., for adding modules that only process a single data set).
\n-This method doesn't currently work in all cases with multipoint data or with multiple data sets. In particular, if the added module requests storage and uses getDataFrame(), it will behave unpredictably (most likely asserts).
\n+This method doesn't currently work in all cases with multipoint data or with multiple data sets. In particular, if the added module requests storage and uses getDataFrame(), it will behave unpredictably (most likely asserts).
\n+Generalize this method to multiple data sets (e.g., for adding modules that only process a single data set).
\nmodule
requests storage (addModule() has the same problem if called after data is started). Make it such that reset() is not necessary to call in code that repeatedly assigns the result of AnalysisNeighborhood::initSearch() to the same variable (see sm_distance.cpp).
\n-Consider removing minimumDistance(), as nearestPoint() already returns the distance.
\n+Consider removing minimumDistance(), as nearestPoint() already returns the distance.
\n+Make it such that reset() is not necessary to call in code that repeatedly assigns the result of AnalysisNeighborhood::initSearch() to the same variable (see sm_distance.cpp).
\nConsider making a composite object that also handles on-demand compilation, managing lifetime of PME FFT kernel programs to avoid exhausting resources and/or recompiling kernels previously used. See Redmine #2535.
\n-Consider implementing an appropriate flavor of the nifty counter idiom so that both static initialization and deinitialization can work in a fast, leak-free, and thread-safe way without imposing constraints on the calling code. See Redmine #2535.
\n+Consider implementing an appropriate flavor of the nifty counter idiom so that both static initialization and deinitialization can work in a fast, leak-free, and thread-safe way without imposing constraints on the calling code. See Redmine #2535.
\n+Consider making a composite object that also handles on-demand compilation, managing lifetime of PME FFT kernel programs to avoid exhausting resources and/or recompiling kernels previously used. See Redmine #2535.
\nLater we might need the concept of computeTasksOnThisRank, from which we construct gpuTasksOnThisRank.
\n-Later, this might become a loop over all registered modules relevant to the mdp inputs, to find those that have such tasks.
\n+Later, this might become a loop over all registered modules relevant to the mdp inputs, to find those that have such tasks.
\n+Later we might need the concept of computeTasksOnThisRank, from which we construct gpuTasksOnThisRank.
\nsearch
item is set multiple times. Modules in mdrun should acquire proper option handling so that all of these declarations and defaults are local to the modules.
\n \nPreparing logging and MPI contexts could probably be a higher-level responsibility, so that an Mdrunner would get made without needing to re-initialize these components (as currently happens always for the master rank, and differently for the spawned ranks with thread-MPI).
\n-Most of the attributes should be declared by specific modules as command-line options. Accordingly, they do not conform to the naming scheme, because that would make for a lot of noise in the diff, only to have it change again when the options move to their modules.
\n+Most of the attributes should be declared by specific modules as command-line options. Accordingly, they do not conform to the naming scheme, because that would make for a lot of noise in the diff, only to have it change again when the options move to their modules.
\n+Preparing logging and MPI contexts could probably be a higher-level responsibility, so that an Mdrunner would get made without needing to re-initialize these components (as currently happens always for the master rank, and differently for the spawned ranks with thread-MPI).
\ndocs/doxygen/lib/modularsimulator.md
? GpuManager
that holds gmx_device_info_t
* and PmeGpuProgramHandle
and perhaps other related things whose lifetime can/should exceed that of a task (or perhaps task manager). See Redmine #2522. docs/doxygen/lib/modularsimulator.md
? This method doesn't currently work in all cases with multipoint data or with multiple data sets. In particular, if the added module requests storage and uses getDataFrame(), it will behave unpredictably (most likely asserts).
\nGeneralize this method to multiple data sets (e.g., for adding modules that only process a single data set).
\n@@ -95,22 +93,18 @@\nMake it such that reset() is not necessary to call in code that repeatedly assigns the result of AnalysisNeighborhood::initSearch() to the same variable (see sm_distance.cpp).
\nConsider removing minimumDistance(), as nearestPoint() already returns the distance.
\nSupport for specifying that an option accepts, e.g., two to four selections. Currently, only a fixed count or any number of selections is possible.
\n \ndocs/doxygen/lib/modularsimulator.md
? docs/doxygen/lib/modularsimulator.md
? Mark Abraham, Berk Hess, David van der Spoel, and Erik Lindahl.
\n\u00a9 1991 \u2013 2000:
\n\n\n-Department of Biophysical Chemistry, University of Groningen.\n Nijenborgh 4, 9747 AG Groningen, The Netherlands.
\n
\u00a9 2001 \u2013 2025:
\n+\u00a9 2001 \u2013 2024:
\n\n\nThe GROMACS development teams at the Royal Institute of Technology and\n Uppsala University, Sweden.
\n
This manual is not complete and has no pretension to be so due\n to lack of time of the contributors \u2013 our first priority is to improve\n the software. It is worked on continuously,\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -25,15 +25,15 @@\n Meulenhoff, Teemu Murtola, Szil\u00c3\u00a1rd P\u00c3\u00a1ll, Sander Pronk, Roland Schulz, Michael\n Shirts, Alexey Shvetsov, Alfons Sijbers, Peter Tieleman, Teemu Virolainen,\n Christian Wennberg, Maarten Wolf, and Artem Zhmurov.\n Mark Abraham, Berk Hess, David van der Spoel, and Erik Lindahl.\n \u00c2\u00a9 1991 \u00e2\u0080\u0093 2000:\n Department of Biophysical Chemistry, University of Groningen.\n Nijenborgh 4, 9747 AG Groningen, The Netherlands.\n-\u00c2\u00a9 2001 \u00e2\u0080\u0093 2025:\n+\u00c2\u00a9 2001 \u00e2\u0080\u0093 2024:\n The GROMACS development teams at the Royal Institute of Technology\n and Uppsala University, Sweden.\n This manual is not complete and has no pretension to be so due to lack of time\n of the contributors \u00e2\u0080\u0093 our first priority is to improve the software. It is\n worked on continuously, which in some cases might mean the information is not\n entirely correct.\n Comments on form and content are welcome, please send them to one of the\n"}]}, {"source1": "./usr/share/doc/gromacs/html/searchindex.js", "source2": "./usr/share/doc/gromacs/html/searchindex.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -909,16 +909,16 @@\n \"2015\": [144, 145],\n \"2016\": [1, 145, 160, 161, 167, 168, 169, 170, 171, 178, 182],\n \"2017\": [36, 145, 157, 158, 160, 182, 194],\n \"2018\": [1, 25, 159, 176, 182, 183, 184, 185, 186, 187, 189, 191, 193, 201, 226],\n \"2019\": [2, 4, 28, 145, 171, 172, 173, 174, 191, 197, 198, 199, 200, 201, 226],\n \"2020\": [2, 24, 26, 36, 144, 187, 206],\n \"2021\": [198, 201, 202, 212],\n- \"2024\": 174,\n- \"2025\": [144, 155],\n+ \"2024\": [144, 174],\n+ \"2025\": 155,\n \"2026\": 181,\n \"2027\": 181,\n \"2028\": 181,\n \"2029\": 155,\n \"2031\": 174,\n \"2032\": [45, 145, 174],\n \"2033\": 155,\n"}]}]}]}]}, {"source1": "libgromacs-dev_2020.6-2_amd64.deb", "source2": "libgromacs-dev_2020.6-2_amd64.deb", "unified_diff": null, "details": [{"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -134,19 +134,19 @@\n -rw-r--r-- 0 root (0) root (0) 1722 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gmxapi/gmxapi-config-version.cmake\n -rw-r--r-- 0 root (0) root (0) 1181 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gmxapi/gmxapi-config.cmake\n -rw-r--r-- 0 root (0) root (0) 940 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gmxapi/gmxapi-release.cmake\n -rw-r--r-- 0 root (0) root (0) 3281 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gmxapi/gmxapi.cmake\n drwxr-xr-x 0 root (0) root (0) 0 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/\n -rw-r--r-- 0 root (0) root (0) 2025 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/gromacs-config-version.cmake\n -rw-r--r-- 0 root (0) root (0) 6217 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/gromacs-config.cmake\n--rw-r--r-- 0 root (0) root (0) 2319 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/gromacs-toolchain.cmake\n+-rw-r--r-- 0 root (0) root (0) 2312 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/gromacs-toolchain.cmake\n -rw-r--r-- 0 root (0) root (0) 855 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/libgromacs-release.cmake\n -rw-r--r-- 0 root (0) root (0) 3592 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs/libgromacs.cmake\n drwxr-xr-x 0 root (0) root (0) 0 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/\n--rw-r--r-- 0 root (0) root (0) 2319 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/gromacs-toolchain_d.cmake\n+-rw-r--r-- 0 root (0) root (0) 2312 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/gromacs-toolchain_d.cmake\n -rw-r--r-- 0 root (0) root (0) 2025 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/gromacs_d-config-version.cmake\n -rw-r--r-- 0 root (0) root (0) 6222 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/gromacs_d-config.cmake\n -rw-r--r-- 0 root (0) root (0) 861 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/libgromacs-release.cmake\n -rw-r--r-- 0 root (0) root (0) 3592 2021-03-29 04:45:03.000000 ./usr/share/gromacs/cmake/gromacs_d/libgromacs.cmake\n drwxr-xr-x 0 root (0) root (0) 0 2021-03-29 04:45:03.000000 ./usr/share/gromacs/template/\n -rw-r--r-- 0 root (0) root (0) 1851 2021-03-04 14:49:48.000000 ./usr/share/gromacs/template/CMakeLists.txt\n -rw-r--r-- 0 root (0) root (0) 1196 2021-03-04 14:49:48.000000 ./usr/share/gromacs/template/Makefile.pkg\n"}, {"source1": "./usr/share/gromacs/cmake/gromacs/gromacs-toolchain.cmake", "source2": "./usr/share/gromacs/cmake/gromacs/gromacs-toolchain.cmake", "unified_diff": "@@ -30,15 +30,15 @@\n # official version at http://www.gromacs.org.\n #\n # To help us fund GROMACS development, we humbly ask that you cite\n # the research papers on the package. Check out http://www.gromacs.org.\n \n # Setting CMAKE_SYSTEM_NAME tells CMake we are cross compiling.\n SET(CMAKE_SYSTEM_NAME \"Linux\")\n-SET(CMAKE_SYSTEM_VERSION \"6.5.0-0.deb12.4-amd64\")\n+SET(CMAKE_SYSTEM_VERSION \"6.1.0-17-amd64\")\n SET(CMAKE_C_COMPILER \"/usr/bin/cc\")\n SET(CMAKE_CXX_COMPILER \"/usr/bin/c++\")\n SET(CMAKE_LINKER \"/usr/bin/ld\")\n # The following are only relevant in Mac OS X environments.\n SET(CMAKE_OSX_DEPLOYMENT_TARGET \"\" CACHE STRING \"OS X Deployment target\" FORCE)\n SET(CMAKE_OSX_ARCHITECTURES \"\")\n # Ref: https://stackoverflow.com/questions/32414112/setting-sdk-on-cross-compilation-to-osx-in-cmake\n"}, {"source1": "./usr/share/gromacs/cmake/gromacs_d/gromacs-toolchain_d.cmake", "source2": "./usr/share/gromacs/cmake/gromacs_d/gromacs-toolchain_d.cmake", "unified_diff": "@@ -30,15 +30,15 @@\n # official version at http://www.gromacs.org.\n #\n # To help us fund GROMACS development, we humbly ask that you cite\n # the research papers on the package. Check out http://www.gromacs.org.\n \n # Setting CMAKE_SYSTEM_NAME tells CMake we are cross compiling.\n SET(CMAKE_SYSTEM_NAME \"Linux\")\n-SET(CMAKE_SYSTEM_VERSION \"6.5.0-0.deb12.4-amd64\")\n+SET(CMAKE_SYSTEM_VERSION \"6.1.0-17-amd64\")\n SET(CMAKE_C_COMPILER \"/usr/bin/cc\")\n SET(CMAKE_CXX_COMPILER \"/usr/bin/c++\")\n SET(CMAKE_LINKER \"/usr/bin/ld\")\n # The following are only relevant in Mac OS X environments.\n SET(CMAKE_OSX_DEPLOYMENT_TARGET \"\" CACHE STRING \"OS X Deployment target\" FORCE)\n SET(CMAKE_OSX_ARCHITECTURES \"\")\n # Ref: https://stackoverflow.com/questions/32414112/setting-sdk-on-cross-compilation-to-osx-in-cmake\n"}]}]}]}]}