Skip to content

Commit 0e3d156

Browse files
author
MFC Action
committed
Docs @ 2d1de77
1 parent 00620a1 commit 0e3d156

File tree

1 file changed

+7
-54
lines changed

1 file changed

+7
-54
lines changed

documentation/md_getting-started.html

Lines changed: 7 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -156,28 +156,18 @@ <h1><a class="anchor" id="autotoc_md82"></a>
156156
</ul>
157157
<div class="fragment"><div class="line">sudo apt update</div>
158158
<div class="line">sudo apt upgrade</div>
159-
<div class="line">sudo apt install tar wget make cmake gcc g++ \</div>
160-
<div class="line"> python3 python3-dev \</div>
161-
<div class="line"> &quot;openmpi-*&quot; libopenmpi-dev \</div>
162-
<div class="line"> python3-venv</div>
163-
</div><!-- fragment --><ul>
164-
<li><b>Via Pacman (Arch):</b></li>
165-
</ul>
166-
<div class="fragment"><div class="line">sudo pacman -Syu</div>
167-
<div class="line">sudo pacman -S base-devel coreutils \</div>
168-
<div class="line"> git ninja gcc-fortran \</div>
169-
<div class="line"> cmake openmpi python3 \</div>
170-
<div class="line"> python-pip openssh \</div>
171-
<div class="line"> python-virtualenv vim \</div>
172-
<div class="line"> wget tree</div>
159+
<div class="line">sudo apt install tar wget make cmake gcc g++ \</div>
160+
<div class="line"> python3 python3-dev python3-venv \</div>
161+
<div class="line"> openmpi-bin libopenmpi-dev \</div>
162+
<div class="line"> libhdf5-dev libfftw3-dev</div>
173163
</div><!-- fragment --><p>If you wish to build MFC using <a href="https://developer.nvidia.com/hpc-sdk">NVidia's NVHPC SDK</a>, first follow the instructions <a href="https://developer.nvidia.com/nvidia-hpc-sdk-downloads">here</a>.</p>
174164
<p></p>
175165
</details>
176166
<details >
177167
<summary >
178168
Windows</summary>
179169
<p></p>
180-
<p>On Windows, you can either use Intel Compilers with the standard Microsoft toolchain, <a href="https://docs.docker.com/get-docker/">Docker</a> or the <a href="https://docs.microsoft.com/en-us/windows/wsl/">Windows Subsystem for Linux (WSL)</a> for a Linux experience.</p>
170+
<p>On Windows, you can either use Intel Compilers with the standard Microsoft toolchain, or the <a href="https://docs.microsoft.com/en-us/windows/wsl/">Windows Subsystem for Linux (WSL)</a> for a Linux experience.</p>
181171
<details >
182172
<summary >
183173
Windows + WSL (Recommended)</summary>
@@ -222,48 +212,11 @@ <h1><a class="anchor" id="autotoc_md82"></a>
222212
<summary >
223213
MacOS</summary>
224214
<p></p>
225-
<ul>
226-
<li><b>If you use [ZSH]</b> (Verify with <code>echo $SHELL</code>)</li>
227-
</ul>
228-
<div class="fragment"><div class="line">touch ~/.zshrc</div>
229-
<div class="line">open ~/.zshrc</div>
230-
</div><!-- fragment --><ul>
231-
<li><b>If you use [BASH]</b> (Verify with <code>echo $SHELL</code>)</li>
232-
</ul>
233-
<div class="fragment"><div class="line">touch ~/.bash_profile</div>
234-
<div class="line">open ~/.bash_profile</div>
235-
</div><!-- fragment --><p>An editor should open. Please paste the following lines into it before saving the file. Modify the first assignment if you wish to use a different version of GNU's GCC. These lines ensure that LLVM's Clang and Apple's modified version of GCC are not used to compile MFC. Further reading on <code>open-mpi</code> incompatibility with <code>clang</code>-based <code>gcc</code> on macOS: <a href="https://stackoverflow.com/questions/27930481/how-to-build-openmpi-with-homebrew-and-gcc-4-9">here</a>. We do <em>not</em> support <code>clang</code> due to conflicts with the Silo dependency.</p>
236-
<div class="fragment"><div class="line">export MFC_GCC_VER=13</div>
237-
<div class="line">export CC=gcc-$MFC_GCC_VER</div>
238-
<div class="line">export CXX=g++-$MFC_GCC_VER</div>
239-
<div class="line">export FC=gfortran-$MFC_GCC_VER</div>
240-
</div><!-- fragment --><p><b>Close the open editor and terminal window</b>. Open a <b>new terminal</b> window before executing the commands below.</p>
241-
<div class="fragment"><div class="line">brew install wget python cmake gcc@$MFC_GCC_VER mpich</div>
215+
<p>Using <a href="https://brew.sh/">Homebrew</a> you can install the necessary dependencies:</p>
216+
<div class="fragment"><div class="line">brew install coreutils python cmake fftw hdf5 gcc open-mpi</div>
242217
</div><!-- fragment --><p>They will download the dependencies MFC requires to build itself.</p>
243218
<p></p>
244219
</details>
245-
<details >
246-
<summary >
247-
Docker</summary>
248-
<p></p>
249-
<p>Docker is a lightweight, cross-platform, and performant alternative to Virtual Machines (VMs). We build a Docker Image that contains the packages required to build and run MFC on your local machine.</p>
250-
<p>First, install Docker and Git:</p><ul>
251-
<li>Windows: <a href="https://docs.docker.com/get-docker/">Docker</a> + <a href="https://git-scm.com/downloads">Git</a>.</li>
252-
<li>macOS: <code>brew install git docker</code> (requires <a href="https://brew.sh/">Homebrew</a>).</li>
253-
<li>Other systems: <div class="fragment"><div class="line">sudo apt install git docker # Debian / Ubuntu via Aptitude</div>
254-
<div class="line">sudo pacman -S git docker # Arch Linux via Pacman</div>
255-
</div><!-- fragment --></li>
256-
</ul>
257-
<p>Once Docker and Git are installed on your system, clone MFC with</p>
258-
<div class="fragment"><div class="line">git clone https://github.com/MFlowCode/MFC</div>
259-
<div class="line">cd MFC </div>
260-
</div><!-- fragment --><p>To fetch the prebuilt Docker image and enter an interactive bash session with the recommended settings applied, run</p>
261-
<div class="fragment"><div class="line">./mfc.sh docker # If on \*nix/macOS</div>
262-
<div class="line">.\mfc.bat docker # If on Windows</div>
263-
</div><!-- fragment --><p>We automatically mount and configure the proper permissions for you to access your local copy of MFC, available at <code>~/MFC</code>. You will be logged in as the <code>me</code> user with root permissions.</p>
264-
<p>:warning: The state of your container is entirely transient, except for the MFC mount. Thus, any modification outside of <code>~/MFC</code> should be considered permanently lost upon session exit.</p>
265-
<p></p>
266-
</details>
267220
<h1><a class="anchor" id="autotoc_md84"></a>
268221
Building MFC</h1>
269222
<p>MFC can be built with support for various (compile-time) features:</p>

0 commit comments

Comments
 (0)