Project

General

Profile

Task #2341

assess the state of building and using GROMACS on Windows

Added by Szilárd Páll almost 2 years ago. Updated 3 months ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
documentation
Target version:
Difficulty:
simple
Close

Description

With the new WSL building and running GROMACS on Windows will likely become easier, no cygwin will be necessary (nor using pre-built fftw libraries?).

If time allows it would be good to assess the state of GROMACS on WSL and if it indeed makes things a lot easier, consider adding brief suggestions to the user-guide (or detailed instruction if somebody contributes it :).

History

#1 Updated by Erik Lindahl almost 2 years ago

  • Tracker changed from Bug to Task
  • Affected version deleted (2018-beta1)

Changed to task. Let's keep the "bug" tracker reserved for things that are actual bugs (in the sense of code that does not work the way it should) and require our attention to fix.

#2 Updated by Mark Abraham almost 2 years ago

Anecdotal, but my twitter feed suggests there is no GPU support available yet.

#3 Updated by Mark Abraham almost 2 years ago

  • Target version changed from 2018 to 2019

I don't think anybody can prioritize this for the 2018 release.

#4 Updated by Mark Abraham about 1 year ago

  • Target version changed from 2019 to future

#5 Updated by Vedran Miletic 3 months ago

It would be nice if MinGW was supported, it would make it possible to cross-compile on Linux and deploy on Windows, which would (at least for me, but hopefully not only) ease the deployment at the university for teaching purposes in Windows-powered classrooms.

The good news regarding MinGW is that, ignoring the warnings, we're not that far from compiling (the following is on Fedora 30, GCC 8.3.0 64-bit, static FFTW):

$ ninja -k 100
[2/15] Building CXX object src/gromacs...s/libgromacs.dir/imd/imdsocket.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/imd/imdsocket.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/imd/imdsocket.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/imd/imdsocket.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/imd/imdsocket.cpp.obj -c ../src/gromacs/imd/imdsocket.cpp
In file included from ../src/gromacs/imd/imdsocket.cpp:51:
../src/gromacs/imd/imdsocket.h:59:12: fatal error: Winsock.h: No such file or directory
   #include <Winsock.h>
            ^~~~~~~~~~~
compilation terminated.
[3/15] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/imd/imd.cpp.ob
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/imd/imd.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/imd/imd.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/imd/imd.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/imd/imd.cpp.obj -c ../src/gromacs/imd/imd.cpp
In file included from ../src/gromacs/imd/imd.cpp:50:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[4/15] Building CXX object src/gromacs...libgromacs.dir/utility/sysinfo.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/utility/sysinfo.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/utility/sysinfo.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/utility/sysinfo.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/utility/sysinfo.cpp.obj -c ../src/gromacs/utility/sysinfo.cpp
../src/gromacs/utility/sysinfo.cpp:58:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[5/15] Building CXX object src/gromacs...es/libgromacs.dir/utility/path.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/utility/path.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/utility/path.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/utility/path.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/utility/path.cpp.obj -c ../src/gromacs/utility/path.cpp
../src/gromacs/utility/path.cpp:62:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[6/15] Building CXX object src/gromacs.../libgromacs.dir/mdlib/sim_util.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/mdlib/sim_util.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/mdlib/sim_util.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/mdlib/sim_util.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/mdlib/sim_util.cpp.obj -c ../src/gromacs/mdlib/sim_util.cpp
In file included from ../src/gromacs/mdlib/sim_util.cpp:63:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[7/15] Building CXX object src/gromacs...ibgromacs.dir/domdec/partition.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/domdec/partition.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/domdec/partition.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/domdec/partition.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/domdec/partition.cpp.obj -c ../src/gromacs/domdec/partition.cpp
In file included from ../src/gromacs/domdec/partition.cpp:66:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[8/15] Building CXX object src/gromacs...omacs.dir/gmxpreprocess/grompp.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/grompp.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/grompp.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/grompp.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/grompp.cpp.obj -c ../src/gromacs/gmxpreprocess/grompp.cpp
In file included from ../src/gromacs/gmxpreprocess/grompp.cpp:73:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[9/15] Building CXX object src/gromacs...eFiles/libgromacs.dir/mdrun/md.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/mdrun/md.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/mdrun/md.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/mdrun/md.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/mdrun/md.cpp.obj -c ../src/gromacs/mdrun/md.cpp
In file included from ../src/gromacs/mdrun/md.cpp:69:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[10/15] Building CXX object src/gromac.../libgromacs.dir/mdrun/minimize.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/mdrun/minimize.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/mdrun/minimize.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/mdrun/minimize.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/mdrun/minimize.cpp.obj -c ../src/gromacs/mdrun/minimize.cpp
In file included from ../src/gromacs/mdrun/minimize.cpp:66:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[11/15] Building CXX object src/gromac...les/libgromacs.dir/mdrun/rerun.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/mdrun/rerun.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/mdrun/rerun.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/mdrun/rerun.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/mdrun/rerun.cpp.obj -c ../src/gromacs/mdrun/rerun.cpp
In file included from ../src/gromacs/mdrun/rerun.cpp:69:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
[12/15] Building CXX object src/gromac...les/libgromacs.dir/mdrun/mimic.cpp.obj
FAILED: src/gromacs/CMakeFiles/libgromacs.dir/mdrun/mimic.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++  -DGMX_DOUBLE=0 -DGMX_HAVE_WINSOCK -DHAVE_CONFIG_H -DNOMINMAX -DUSE_STD_INTTYPES_H -Isrc -I../src -I../src/external/lmfit -isystem ../src/external/thread_mpi/include -isystem ../src/external/tng_io/include -isystem tng/include -std=c++11  -Wstringop-truncation -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wmissing-declarations -Wall -Wno-unknown-pragmas  -O2 -DNDEBUG -funroll-all-loops -fexcess-precision=fast  -Wno-array-bounds -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/mdrun/mimic.cpp.obj -MF src/gromacs/CMakeFiles/libgromacs.dir/mdrun/mimic.cpp.obj.d -o src/gromacs/CMakeFiles/libgromacs.dir/mdrun/mimic.cpp.obj -c ../src/gromacs/mdrun/mimic.cpp
In file included from ../src/gromacs/mdrun/mimic.cpp:68:
../src/gromacs/imd/imd.h:72:10: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
          ^~~~~~~~~~~
compilation terminated.
ninja: build stopped: cannot make progress due to previous errors.

Also available in: Atom PDF