-
Notifications
You must be signed in to change notification settings - Fork 18
6. FAQ
- What is the minimum version for GCC?
- Spack installation fails. What should I do?
- Does Spack install HDF5 VFD for Hermes?
- Will Google OR-Tools version 8.0 or above work?
- Can I run Hermes on Mac?
- Does Hermes run on Linux only?
- Can I run Hermes on Chameleon JupyterLab Server?
- Why do I get
mercury->fatal
error when I userpc_protocol = "ofi+verbs";
in configuration file? - Why does CTest fail for Test #39 hermes_mpiio_adapter_test2_async?
- Why does MPI Adapter fail to compile?
GCC 11. Hermes requires C++17 features that are only available since GCC 7.3. C++17 support is enabled by default in GCC 11; it can be explicitly selected in earlier versions with the -std=c++17
command-line flag or -std=gnu++17
to enable GNU extensions as well. See C++17 Support in GCC for the details. Use spack install gcc
first if your system has GCC 4. It will install GCC 12.2.0 by default. Then, run spack compiler find
to use the newly installed gcc.
If Python throws AttributeError: 'NoneType' object has no attribute 'version'
during spack installation,
- try add
-d
option forspack -d install hermes
. - try to remove these two packages:
- mochi-spack-packages/packages/flamestore
- mochi-spack-packages/packages/py-mochi-tmci
- try
spack install or-tools ^abseil-cpp@20200225.2
if OR-Tools installation fails.- gcc-11.2 can't build abseil-cpp@20200225.2.
If OFI is not available, try spack install hermes^mercury~ofi
.
Yes. To build it with Spack, use $spack install hermes+vfd
.
To use the latest 1.13 development version of HDF5, add ^hdf5@develop-1.13
(e.g., $spack install hermes+vfd ^hdf5@develop-1.13
).
No. macOS lacks several system calls that Hermes components use:
- fopen64 / fseeko64
- O_DIRECT / O_TMPFILE
- gethostbyname_r
- _STAT_VER
Yes. Hermes uses the fixed /proc
code:
inline std::string GetFilenameFromFD(int fd) {
char proclnk[kMaxPathLen];
char filename[kMaxPathLen];
snprintf(proclnk, kMaxPathLen, "/proc/self/fd/%d", fd);
size_t r = readlink(proclnk, filename, kMaxPathLen);
filename[r] = '\0';
return filename;
}
Maybe. However, installation with Spack will fail due to timeout. For older (< 0.8) Hermes, Google OR-Tools installation will fail.
Such error occurs when libfabric
is not compiled with verbs
support. Try spack install hermes ^libfabric fabrics=rxm,sockets,tcp,udp,verbs
.
Hermes supports both MPICH and OpenMPI.
Please make sure that you invoke the right MPI option.
option(HERMES_MPICH "Specify that this a MPICH build" OFF)
option(HERMES_OPENMPI "Specify that this a OpenMPI build" OFF)
For example, if you use -DHERMES_MPICH=ON
,
use spack install mpi ^mpich
to install mpi.
Load it with spack load mpi
.