Skip to content

Commit caa51db

Browse files
committed
Merge Conflict
2 parents ec4af46 + c933e72 commit caa51db

38 files changed

+923
-885
lines changed

.fortls.json

Lines changed: 0 additions & 94 deletions
This file was deleted.

.fortlsrc

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
"pp_suffixes": [".fpp"],
2727
"pp_defs": {
2828
"MFC": 1,
29-
"MFC_DOUBLE_PRECISION": 1
29+
"MFC_SINGLE_PRECISION": 1,
30+
"MFC_OPENACC": 1,
31+
"MFC_MPI": 1
3032
},
3133
"lowercase_intrinsics": true,
3234
"debug_log": false,
@@ -60,26 +62,11 @@
6062
"disable_diagnostics_for_external_modules": true,
6163
"max_line_length": -1,
6264
"max_comment_line_length": -1,
63-
"symbol_skip_mem": [
64-
"mpi_*"
65-
],
6665
"disable_var_diagnostics": false,
6766
"disable_fypp": false,
6867
"fypp_strict": false,
69-
"error_suppression_list": [
70-
"include-not-found",
71-
"mod-not-found",
72-
"module-not-found",
73-
"declared-twice",
74-
"no-matching-declaration",
75-
"invalid-parent",
76-
"parsing-error",
77-
"fypp-error",
78-
"preprocessor-error",
79-
"implicit-type"
80-
],
8168
"incremental_sync": false,
82-
"debug_parser": false,
69+
"debug_parser": true,
8370
"skip_parse_errors": true,
8471
"disable_parser": [
8572
"src/post_process/m_data_output.fpp",

.github/workflows/frontier/submit.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ sbatch <<EOT
3333
#SBATCH -A CFD154 # charge account
3434
#SBATCH -N 1 # Number of nodes required
3535
$sbatch_device_opts
36-
#SBATCH -t 02:59:00 # Duration of the job (Ex: 15 mins)
36+
#SBATCH -t 03:59:00 # Duration of the job (Ex: 15 mins)
3737
#SBATCH -o$job_slug.out # Combined output and error messages file
3838
#SBATCH -p extended # Extended partition for shorter queues
3939
#SBATCH -W # Do not exit until the submitted job terminates.

CMakeLists.txt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -479,17 +479,6 @@ function(MFC_SETUP_TARGET)
479479
"-foffload-options=-lgfortran\ -lm"
480480
"-fno-exceptions")
481481
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC" OR CMAKE_Fortran_COMPILER_ID STREQUAL "PGI")
482-
find_package(cuTENSOR)
483-
if (NOT cuTENSOR_FOUND)
484-
message(WARNING
485-
"Failed to locate the NVIDIA cuTENSOR library. MFC will be "
486-
"built without support for it, disallowing the use of "
487-
"cu_tensor=T. This can result in degraded performance.")
488-
else()
489-
target_link_libraries (${a_target} PRIVATE cuTENSOR::cuTENSOR)
490-
target_compile_definitions(${a_target} PRIVATE MFC_cuTENSOR)
491-
endif()
492-
493482
foreach (cc ${MFC_CUDA_CC})
494483
target_compile_options(${a_target}
495484
PRIVATE -gpu=cc${cc}

README.md

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55
</p>
66

77
<p align="center">
8-
<a href="http://dx.doi.org/10.1016/j.cpc.2020.107396" target="_blank">
9-
<img src="https://zenodo.org/badge/doi/10.1016/j.cpc.2020.107396.svg" />
10-
</a>
118
<a href="https://github.com/MFlowCode/MFC/actions">
12-
<img src="https://github.com/MFlowCode/MFC/actions/workflows/test.yml/badge.svg" />
9+
<img src="https://img.shields.io/github/actions/workflow/status/mflowcode/mfc/test.yml?style=flat&label=Tests&color=slateblue%09"/>
10+
</a>
11+
<a href="https://github.com/MFlowCode/MFC/blob/master/.github/CONTRIBUTING.md">
12+
<img src="https://img.shields.io/github/contributors-anon/mflowcode/mfc?style=flat&color=darkslategrey%09" />
1313
</a>
1414
<a href="https://join.slack.com/t/mflowcode/shared_invite/zt-y75wibvk-g~zztjknjYkK1hFgCuJxVw">
1515
<img src="https://img.shields.io/badge/slack-MFC-purple.svg?logo=slack" />
1616
</a>
1717
<a href="https://lbesson.mit-license.org/">
18-
<img src="https://img.shields.io/badge/License-MIT-blue.svg" />
18+
<img src="https://img.shields.io/badge/License-MIT-crimson.svg" />
1919
</a>
2020
<a href="https://codecov.io/github/MFlowCode/MFC" target="_blank">
2121
<img src="https://codecov.io/github/MFlowCode/MFC/graph/badge.svg?token=8SY043QND4">
@@ -25,12 +25,35 @@
2525
</a>
2626
</p>
2727

28-
Welcome to the home of MFC!
29-
MFC simulates compressible multi-component and multi-phase flows, [amongst other things](#what-else-can-this-thing-do).
30-
MFC is written in Fortran and uses metaprogramming to keep the code short (about 20K lines).
28+
**Welcome!**
29+
MFC simulates compressible multi-phase flows, [among other things](#what-else-can-this-thing-do).
30+
It uses metaprogramming to stay short and portable (~20K lines).
31+
MFC conducted the largest known, open CFD simulation at <a href="https://arxiv.org/abs/2505.07392" target="_blank">101 trillion grid points</a> (as of July 2025).
32+
33+
<p align="center">
34+
<a href="https://doi.org/10.48550/arXiv.2503.07953" target="_blank">
35+
<img src="https://img.shields.io/badge/DOI-10.48550/arXiv.2503.07953-thistle.svg"/>
36+
</a>
37+
<a href="https://github.com/MFlowCode/MFC/stargazers" target="_blank">
38+
<img src="https://img.shields.io/github/stars/MFlowCode/MFC?style=flat&color=maroon"/>
39+
</a>
40+
41+
</br>
42+
Is MFC useful for you? Consider citing it or giving a star!
43+
</p>
44+
45+
```bibtex
46+
@article{Wilfong_2025,
47+
author = {Wilfong, Benjamin and {Le Berre}, Henry and Radhakrishnan, Anand and Gupta, Ansh and Vaca-Revelo, Diego and Adam, Dimitrios and Yu, Haocheng and Lee, Hyeoksu and Chreim, Jose Rodolfo and {Carcana Barbosa}, Mirelys and Zhang, Yanjun and Cisneros-Garibay, Esteban and Gnanaskandan, Aswin and {Rodriguez Jr.}, Mauro and Budiardja, Reuben D. and Abbott, Stephen and Colonius, Tim and Bryngelson, Spencer H.},
48+
title = {{MFC 5.0: A}n exascale many-physics flow solver},
49+
journal = {arXiv preprint arXiv:2503.07953},
50+
year = {2025},
51+
doi = {10.48550/arXiv.2503.07953}
52+
}
53+
```
3154

3255
MFC is used on the latest leadership-class supercomputers.
33-
It scales <b>ideally to exascale</b>; [tens of thousands of GPUs on NVIDIA- and AMD-GPU machines](#is-this-really-exascale) on Oak Ridge Summit and Frontier.
56+
It scales <b>ideally to exascale</b>; [tens of thousands of GPUs on NVIDIA- and AMD-GPU machines](#is-this-really-exascale) on Oak Ridge Frontier, LLNL El Capitan, CSCS Alps, among others.
3457
MFC is a SPEChpc benchmark candidate, part of the JSC JUPITER Early Access Program, and used OLCF Frontier and LLNL El Capitan early access systems.
3558

3659
Get in touch with <a href="mailto:[email protected]">Spencer</a> if you have questions!

docs/documentation/gpuDebugging.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ OMP_DISPLAY_AFFINITY=TRUE
3333
```bash
3434
CRAY_ACC_DEBUG: 0 (off), 1, 2, 3 (very noisy)
3535
```
36-
- Dumps a time-stamped log line (`"ACC: ...`) for every allocation, data transfer, kernel launch, wait, etc. Great first stop when "nothing seems to run on the GPU.
3736

38-
- Outputs on STDERR by default. Can be changed by setting `CRAY_ACC_DEBUG_FILE`.
37+
- Dumps a time-stamped log line (`ACC: ...`) for every allocation, data transfer, kernel launch, wait, etc. Great first stop when "nothing seems to run on the GPU".
38+
- Outputs on STDERR by default. Can be changed by setting `CRAY_ACC_DEBUG_FILE`.
3939
- Recognizes `stderr`, `stdout`, and `process`.
4040
- `process` automatically generates a new file based on `pid` (each MPI process will have a different file)
41-
4241
- While this environment variable specifies ACC, it can be used for both OpenACC and OpenMP
4342

4443
```bash
4544
CRAY_ACC_FORCE_EARLY_INIT=1
4645
```
46+
4747
- Force full GPU initialization at program start so you can see start-up hangs immediately
4848
- Default behavior without an environment variable is to defer initialization on first use
4949
- Device initialization includes initializing the GPU vendor’s low-level device runtime library (e.g., libcuda for NVIDIA GPUs) and establishing all necessary software contexts for interacting with the device
@@ -150,7 +150,7 @@ LIBOMPTARGET_JIT_SKIP_OPT=1
150150
- [Cray & OpenACC Docs](https://cpe.ext.hpe.com/docs/24.11/cce/man7/intro_openacc.7.html#environment-variables)
151151
- [NVHPC & OpenACC Docs](https://docs.nvidia.com/hpc-sdk/compilers/hpc-compilers-user-guide/index.html?highlight=NVCOMPILER_#environment-variables)
152152
- [NVHPC & OpenMP Docs](https://docs.nvidia.com/hpc-sdk/compilers/hpc-compilers-user-guide/index.html?highlight=NVCOMPILER_#id2)
153-
- [LLVM & OpenMP Docs] (https://openmp.llvm.org/design/Runtimes.html)
153+
- [LLVM & OpenMP Docs](https://openmp.llvm.org/design/Runtimes.html)
154154
- NVHPC is built on top of LLVM
155155
- [OpenMP Docs](https://www.openmp.org/spec-html/5.1/openmp.html)
156156
- [OpenACC Docs](https://www.openacc.org/sites/default/files/inline-files/OpenACC.2.7.pdf)

0 commit comments

Comments
 (0)