Skip to content

Commit 59b3eda

Browse files
jskortelahojukka5
authored andcommitted
Update README.md file
Heavily modified the original README.md file by adding all the main required third party packages and some details for compiling the framework.
1 parent 51d6b0b commit 59b3eda

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

README.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,34 @@ The project documentation can be found from
7777

7878
Requirements:
7979

80-
- Compiler supporting C++17 standard. C++17 features [are
80+
- **Compiler supporting C++17 standard**: C++17 features [are
8181
available](https://gcc.gnu.org/projects/cxx-status.html) since GCC 5. Check
8282
your version number with `g++ --version`. The default compiler might be
8383
relatively old, and a more recent version needs to be loaded with `module load
8484
gcc`. Do not try to compile with GCC 4.8.5. It will not work. At least GCC
8585
versions 9.4.0 (coming with Ubuntu 20.04) and 11.2 are working.
86-
- [OpenMPI](https://www.open-mpi.org/). All recent versions should work. Tested
87-
with OpenMPI version 2.1.3. Again, you might need to load the proper OpenMPI
88-
version with `module load openmpi/2.1.3`, for instance. Additionally, if CMake
89-
is not able to find proper OpenMPI installation, assistance might be needed by
90-
setting `MPI_ROOT`, e.g. `export MPI_ROOT=/share/apps/OpenMPI/2.1.3`.
91-
- FFTW. Probably all versions will work. Tested with FFTW versions 3.3.2 and
92-
3.3.10. Again, CMake might need some assistance to find the libraries, which
93-
can be controlled with the environment variable `FFTW_ROOT`. Depending on how
94-
FFTW is installed in the system, it might be in a non-standard location, and
95-
`module load fftw` is needed. You can use commands like `whereis fftw` or
96-
`ldconfig -p | grep fftw` to locate your FFTW installation, if needed.
86+
- **[CMake](https://cmake.org/)**: Version 3.15 or later should be used. Your
87+
system may already contain CMake, but if not, it can most likely be installed
88+
with the package manager.
89+
- **[OpenMPI](https://www.open-mpi.org/)**: All recent versions should work.
90+
Tested with OpenMPI version 2.1.3. Again, you might need to load proper
91+
OpenMPI version with `module load openmpi/2.1.3`, for instance. Additionally,
92+
if CMake is not able to find proper OpenMPI installation, assistance might be
93+
needed by setting `MPI_ROOT`, e.g. `export
94+
MPI_ROOT=/share/apps/OpenMPI/2.1.3`.
95+
- **[FFTW](https://www.fftw.org/)**: Probably all versions will work. Tested
96+
with FFTW versions 3.3.2 and 3.3.10. Again, CMake might need some assistance
97+
to find the libraries, which can be controlled with environment variable
98+
`FFTW_ROOT`. Depending how FFTW is installed to system, it might be in
99+
non-standard location and `module load fftw` is needed. You can use commands
100+
like `whereis fftw` or `ldconfig -p | grep fftw` to locate your FFTW
101+
installation, if needed.
102+
- **[Niels Lohmann's JSON for Modern C++
103+
library](https://github.com/nlohmann/json)**: All recent versions should work.
104+
Tested with version 3.11.2. If you do not have the JSON library installed,
105+
CMake for OpenPFC will download the library for you.
106+
- **[HeFFTe](https://github.com/icl-utk-edu/heffte)**: All recent versions
107+
should work. Tested with version 2.3.0.
97108

98109
Typically in clusters, these are already installed and can be loaded with an
99110
on-liner

0 commit comments

Comments
 (0)