Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1040 commits
Select commit Hold shift + click to select a range
4d42b33
Stop deleting .git/ of cloned dependencies (@sbryngelson on #87)
henryleberre Mar 4, 2022
90b3755
Testing traceback & -o|--only option
henryleberre Mar 4, 2022
c9a5ba2
Testing traceback & -o|--only option
henryleberre Mar 4, 2022
c1df2f1
New hashing method & misc improvements
henryleberre Mar 4, 2022
7f2af9d
New hashing method & misc improvements
henryleberre Mar 4, 2022
57656c0
35/36 tests passing
henryleberre Mar 4, 2022
de2dcf9
35/36 tests passing
henryleberre Mar 4, 2022
a61716c
Update README
henryleberre Mar 4, 2022
3cfa0f1
Update README
henryleberre Mar 4, 2022
74ad074
Upload tests.
henryleberre Mar 4, 2022
1baef67
Upload tests.
henryleberre Mar 4, 2022
f6ebffa
Fix typo [skip ci]
henryleberre Mar 4, 2022
afcffba
Fix typo [skip ci]
henryleberre Mar 4, 2022
e3dfb80
More tests (w/ @anandrdbz) [skip ci]
henryleberre Mar 4, 2022
bf1cdc0
More tests (w/ @anandrdbz) [skip ci]
henryleberre Mar 4, 2022
db1829a
Fix small type errors [skip ci]
henryleberre Mar 4, 2022
6bb9392
Fix small type errors [skip ci]
henryleberre Mar 4, 2022
301a0b2
Fix boundary condition & dimension issue.
henryleberre Mar 6, 2022
b6b096c
Fix boundary condition & dimension issue.
henryleberre Mar 6, 2022
b3360ca
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 8, 2022
37dbf02
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 8, 2022
d2a1b86
Progress on ./mfc run
henryleberre Mar 9, 2022
564d52a
Progress on ./mfc run
henryleberre Mar 9, 2022
38618c5
Add tests [no ci]
henryleberre Mar 9, 2022
95737bf
Add tests [no ci]
henryleberre Mar 9, 2022
ebd3f04
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 9, 2022
20e9070
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 9, 2022
d7795a2
Testing: Check for NaNs
henryleberre Mar 9, 2022
bcc3844
Testing: Check for NaNs
henryleberre Mar 9, 2022
b18493f
Fix CI to match positional argument change to mfc.sh
henryleberre Mar 9, 2022
b919deb
Fix CI to match positional argument change to mfc.sh
henryleberre Mar 9, 2022
408c8af
Parse arguments from unused subparsers
henryleberre Mar 9, 2022
3186cd4
Parse arguments from unused subparsers
henryleberre Mar 9, 2022
36c270b
Update README
henryleberre Mar 9, 2022
88bca6e
Update README
henryleberre Mar 9, 2022
5296392
Temporary fix [no ci]
henryleberre Mar 9, 2022
2c5541c
Temporary fix [no ci]
henryleberre Mar 9, 2022
5db661b
Merge pull request #93 from henryleberre/master
sbryngelson Mar 9, 2022
5ed2bff
Merge pull request #93 from henryleberre/master
sbryngelson Mar 9, 2022
7c2a867
Fix LD_LIBRARY_PATH overwrite in batch script
henryleberre Mar 9, 2022
172f526
Fix LD_LIBRARY_PATH overwrite in batch script
henryleberre Mar 9, 2022
c8e66dc
Serial mfc.sh run [.py -> .inp]
henryleberre Mar 12, 2022
c6d5c3c
Serial mfc.sh run [.py -> .inp]
henryleberre Mar 12, 2022
25be6e9
Creating batch scripts
henryleberre Mar 12, 2022
cf74722
Creating batch scripts
henryleberre Mar 12, 2022
37404f5
Move run component to run.py
henryleberre Mar 12, 2022
94f28bc
Move run component to run.py
henryleberre Mar 12, 2022
33d2d19
Refactor bootstrap/internal/input_dicts.py
henryleberre Mar 12, 2022
6b6920a
Refactor bootstrap/internal/input_dicts.py
henryleberre Mar 12, 2022
9a32df2
Quickfix -j issue
henryleberre Mar 14, 2022
41062f4
Quickfix -j issue
henryleberre Mar 14, 2022
cc55e78
Add list of authors to README
henryleberre Mar 14, 2022
e32ab33
Add list of authors to README
henryleberre Mar 14, 2022
bf94664
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 14, 2022
1086bb0
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 14, 2022
42a3119
fix `rpath` problem when compiling hdf5 on certain computers
sbryngelson Mar 14, 2022
50c12e9
fix `rpath` problem when compiling hdf5 on certain computers
sbryngelson Mar 14, 2022
bfae9f6
Update mfc.dev.yaml
sbryngelson Mar 14, 2022
cd40d28
Update mfc.dev.yaml
sbryngelson Mar 14, 2022
229ffb7
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop
henryleberre Mar 14, 2022
d5bea13
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop
henryleberre Mar 14, 2022
74b7863
Revert README.md to @ 41062f4f37b489591612ed1f4cd7d1418cb80bc4
henryleberre Mar 14, 2022
a637cea
Revert README.md to @ 41062f4f37b489591612ed1f4cd7d1418cb80bc4
henryleberre Mar 14, 2022
35046eb
Update README.md
sbryngelson Mar 15, 2022
0f19270
Update README.md
sbryngelson Mar 15, 2022
3b4194e
Fix #83: expr: syntax error on macOS
henryleberre Mar 17, 2022
d9d212a
Fix #83: expr: syntax error on macOS
henryleberre Mar 17, 2022
c2ea659
Fix LLNL/Silo##248
henryleberre Mar 17, 2022
0ff9599
Fix LLNL/Silo##248
henryleberre Mar 17, 2022
09367c4
Fix LLNL/Silo#248
henryleberre Mar 17, 2022
aa2b3bb
Fix LLNL/Silo#248
henryleberre Mar 17, 2022
f4b4229
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 17, 2022
d9cfb8c
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 17, 2022
5e30585
Add modules for Richardson in misc/load.sh
henryleberre Mar 17, 2022
d3a1553
Add modules for Richardson in misc/load.sh
henryleberre Mar 17, 2022
8e1bd4d
Merge pull request #98 from henryleberre/master
sbryngelson Mar 18, 2022
d47c647
Merge pull request #98 from henryleberre/master
sbryngelson Mar 18, 2022
31bed14
load.sh: Visual Overhaul & Expanse Modules
henryleberre Mar 20, 2022
9e0bbff
load.sh: Visual Overhaul & Expanse Modules
henryleberre Mar 20, 2022
d034353
misc/load.sh: Add (some) CPU/GPU modules
henryleberre Mar 20, 2022
1ea0266
misc/load.sh: Add (some) CPU/GPU modules
henryleberre Mar 20, 2022
c607313
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop
henryleberre Mar 20, 2022
7f59016
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop
henryleberre Mar 20, 2022
441dffc
Summit CPU modules & ORNL name
henryleberre Mar 20, 2022
de517fc
Summit CPU modules & ORNL name
henryleberre Mar 20, 2022
c51bb6e
Fix boostrap.py error & Add ZFP
henryleberre Mar 24, 2022
0820103
Fix boostrap.py error & Add ZFP
henryleberre Mar 24, 2022
2b32886
Remove --clean-first
henryleberre Mar 24, 2022
4aa1372
Remove --clean-first
henryleberre Mar 24, 2022
9e5ccad
Making all test cases work
Mar 25, 2022
7b3bf39
Making all test cases work
Mar 25, 2022
748a6d5
Fix CMake compatibility issues
henryleberre Mar 26, 2022
e08d066
Fix CMake compatibility issues
henryleberre Mar 26, 2022
33c3944
Generate new golden files
henryleberre Mar 26, 2022
ea2ef89
Generate new golden files
henryleberre Mar 26, 2022
3543d0b
mfc.py: Reduce complexity
henryleberre Mar 26, 2022
b5b56de
mfc.py: Reduce complexity
henryleberre Mar 26, 2022
8673c72
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre Mar 29, 2022
ed9cf45
Update .gitlab-ci.yml file
sbryngelson Mar 29, 2022
b38ffd6
Update .gitlab-ci.yml file
sbryngelson Mar 29, 2022
6efae7f
Experimental CI script
henryleberre Mar 29, 2022
e1f99d2
Try using batch nodes
henryleberre Mar 29, 2022
5c20874
Add nobatch back [no ci]
henryleberre Mar 29, 2022
91085c4
Fix Ascent Modules
Mar 29, 2022
6cabcc3
Update .gitlab-ci.yml file
sbryngelson Mar 29, 2022
9aa2a1e
Experimental CI script
henryleberre Mar 29, 2022
bbf26c0
Try using batch nodes
henryleberre Mar 29, 2022
cb2292f
Add nobatch back [no ci]
henryleberre Mar 29, 2022
663f87c
Fix Ascent Modules
Mar 29, 2022
c409aaf
Merge branch 'master' of https://code.ornl.gov/ecpcitest/cfd154/MFC-d…
henryleberre Mar 30, 2022
4fb67fa
Load.sh: Ascent Modules & Command-Line params
henryleberre Mar 30, 2022
8700234
Remove Ascent CI from @master
henryleberre Mar 30, 2022
13f32df
Update m_global_parameters.f90
anandrdbz Apr 14, 2022
330d64c
Update AUTHORS
sbryngelson Apr 17, 2022
2e04771
Update AUTHORS
sbryngelson Apr 17, 2022
0fe76f0
Fixing the 2D/3D bug for bubbles on the master branch
Apr 25, 2022
42b82cc
Merge pull request #109 from MFlowCode/Anand-2/3D-bubbles-fix
anandrdbz Apr 25, 2022
7205ace
Resolving mom_sp reshape for qbmm
Apr 28, 2022
9b51c5d
Merge pull request #111 from MFlowCode/Anand-qbmm-2D-master
sbryngelson Apr 28, 2022
8a25399
Making the bubbles/qbmm cases match exactly
Apr 30, 2022
fe9f47a
Merge pull request #112 from MFlowCode/Anand-qbmm-2D-master
anandrdbz Apr 30, 2022
706550b
Testing Suite Complete for Bubbles/QBMM cases
Apr 30, 2022
ccd18d5
Merge pull request #114 from MFlowCode/Anand-bubbles-testing-master
sbryngelson May 1, 2022
cae3cff
CI Ascent (Squashed Commits)
henryleberre Mar 30, 2022
9eb9e09
mfc.sh refactor
henryleberre Apr 12, 2022
21e6cc0
Runner updates
henryleberre Apr 15, 2022
da2d424
run.py updates
henryleberre Apr 22, 2022
476f790
Attempt at running tests
henryleberre Apr 22, 2022
99ecc0d
Adding missing mfc.user.yaml changes
henryleberre Apr 22, 2022
7f3c98b
Tests passing on Bridges2
henryleberre Apr 22, 2022
d7c0496
CI: use -m instead of -c
henryleberre Apr 22, 2022
bbafb8d
Gitlab CI: Use -m instead of -c
henryleberre Apr 22, 2022
56dddd7
jsrun rs update
henryleberre Apr 23, 2022
d831423
Fix SLURM issue
henryleberre Apr 23, 2022
9eea6cc
Rename to use modes
henryleberre Apr 23, 2022
9765bc8
Add/Fix clean command
henryleberre Apr 24, 2022
1f0076f
Misc fixes
henryleberre Apr 25, 2022
14ea7a3
Fix mutliline test.py commands
henryleberre May 5, 2022
bf39b32
Fix build error after clean
henryleberre May 5, 2022
d821596
Fix #110
henryleberre May 5, 2022
cf610d0
Testing Suite Complete for Bubbles/QBMM cases
Apr 30, 2022
efc0656
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop
henryleberre May 6, 2022
b192b7f
Use -c for ppn in test.py
henryleberre May 6, 2022
4563226
Append newline to generated .inp input file
henryleberre May 6, 2022
dec097c
removing hard coding, phase 1
mrodrig6 May 8, 2022
e209a6e
merged with master, again
mrodrig6 May 8, 2022
284e11b
making code general, phase 1 still
mrodrig6 May 8, 2022
a9f1be7
added function pointer for the relaxation models
mrodrig6 May 9, 2022
ae73420
pointer for finite relaxation solver
mrodrig6 May 9, 2022
493bbf8
Making tests work with GCC
May 9, 2022
984b96e
Merge pull request #117 from MFlowCode/Anand-GCC-tests
sbryngelson May 9, 2022
722b0a8
test.py: Bug fixes & srun, mpirun & print case dir
henryleberre May 9, 2022
5d99a61
mfc.sh run documentation & complete case dicts
henryleberre May 9, 2022
87dfff6
Use -np & A imrpove/fix jsrun/srun
henryleberre May 9, 2022
90cd42f
Consistent test file with master branch
May 9, 2022
d17a748
Switch to single mode system
henryleberre May 9, 2022
96d2633
run.py: input validation
henryleberre May 9, 2022
8c1eb6f
Remove "mode" from mfc.user.yaml (per Spencer)
henryleberre May 9, 2022
7df69f3
Add mode warning
henryleberre May 9, 2022
01f03e6
Fix remaining bugs from removal of mode from user yaml
henryleberre May 10, 2022
d808aaa
Tests pass on Ascent
henryleberre May 10, 2022
f3a4cc0
Create boostrap/run folder
henryleberre May 10, 2022
0189767
run: Only add arguments to batch header when given
henryleberre May 10, 2022
ee55ed3
Bridges2 changes
henryleberre May 10, 2022
d7e3a1e
run: Add --flag argument
henryleberre May 10, 2022
683ec94
run: Require a unique target in parallel
henryleberre May 10, 2022
77bcd93
Working on Richardson
henryleberre May 11, 2022
6ee2116
Major fix: No longer delete batch script and input files
henryleberre May 11, 2022
bbca53d
Merge branch 'master' of https://code.ornl.gov/ecpcitest/cfd154/MFC-d…
henryleberre May 11, 2022
985fe06
Integrate load.sh into mfc.sh
henryleberre May 11, 2022
debcda8
updated todo list for the phase change module, will be adding finite …
mrodrig6 May 13, 2022
f13c26d
Ascent CI: Support simultanious CI (two branches)
henryleberre May 12, 2022
4a9db68
test.py: Multithreaded testing!
henryleberre May 12, 2022
6412d8d
test.py: Improve progress layout
henryleberre May 12, 2022
5fdaee3
Ascent CI: Attempt 64 threads instead of $(nproc)
henryleberre May 12, 2022
c3e4d7a
single-mode: make backward-compatible
henryleberre May 12, 2022
a519517
Apply lost b61ec98dd8df169689dae909423e5bdaae8b88ea
henryleberre May 12, 2022
2572870
Refactor mfc.sh test
henryleberre May 13, 2022
7962a78
run: Correct queue priority
henryleberre May 13, 2022
186f37d
Fix testing bugs
henryleberre May 13, 2022
5ed98bb
test.py: minor traceback update
henryleberre May 13, 2022
200daab
New tests
henryleberre May 13, 2022
71b9b25
Remove cuda flags from release-cpu
henryleberre May 14, 2022
159415e
Adding Sample input file + correction to mesh strecthed
JRChreim May 18, 2022
0d26140
Merge pull request #119 from JRChreim/master
sbryngelson May 18, 2022
84eda7e
Create CODE_OF_CONDUCT.md
sbryngelson May 18, 2022
820d3ba
Create ISSUE_TEMPLATE.md
sbryngelson May 18, 2022
76b875b
Delete ISSUE_TEMPLATE.md
sbryngelson May 18, 2022
104a639
Update issue templates
sbryngelson May 18, 2022
e54a613
Create pull_request_template.md
sbryngelson May 18, 2022
f1fdc04
Use "which" to detect commands
henryleberre May 17, 2022
95b1ef6
Add Cuda to LD_LIBRARY_PATH to fix runtime dynamic link error
henryleberre May 17, 2022
f22b46d
(Re)Load modules in batch script & misc fixes
henryleberre May 17, 2022
d4c314e
mfc run: Allow override of mpi binary selection
henryleberre May 18, 2022
969f424
loaded_modules: support modules with two digit ids
henryleberre May 18, 2022
4b57396
Update GPU sample cases & misc fixes
henryleberre May 19, 2022
346c5c7
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop
henryleberre May 19, 2022
43e7037
Remove ANSI escape codes & Unicode characters from batch file
henryleberre May 20, 2022
0306857
Add m_python_proxy.py for backwards compatibility
henryleberre May 20, 2022
1eecf2c
readme: detail mfc.sh run & update misc documentation
henryleberre May 19, 2022
448c576
Add missing f-string identifier in LD_LIBRARY_PATH
henryleberre May 19, 2022
6a4fad6
Remove master/cpu's dependency on Cuda
henryleberre May 20, 2022
e5b0296
Update README
henryleberre May 20, 2022
32067b0
Fix minor merge errors
henryleberre May 20, 2022
562558c
Update Bridges2 modules
henryleberre May 21, 2022
ff5da4c
Correctly detect PBS when bsub is aliased to qsub
henryleberre May 21, 2022
b82be66
Merge pull request #121 from henryleberre/master-henry-pull
sbryngelson May 21, 2022
0d9d6df
Fix #107 & Visual improvements
henryleberre May 21, 2022
82abb21
Refactor tests' pack
henryleberre May 22, 2022
e48364b
Refactor tests' thread(s)
henryleberre May 22, 2022
bc12f60
mfc.sh test: Improve abs & rel error management
henryleberre May 23, 2022
ad00a6a
Fix #84
henryleberre May 23, 2022
6ade418
Link dependencies statically (#90)
henryleberre May 23, 2022
9c1c9b5
Bug in compute viscous stress tensor
anandrdbz May 23, 2022
d74e714
Merge pull request #122 from MFlowCode/anandrdbz-patch-1
sbryngelson May 23, 2022
d448ec5
Add -ldl for ./configure to *find* HDF5 with the GNU toolchain
henryleberre May 23, 2022
39960fe
Simpler common::loaded_modules implementation
henryleberre May 23, 2022
f78a1eb
Add -ldl for post_process (GNU Toolchain Fix)
henryleberre May 23, 2022
bb60809
mfc.sh run: Load modules with Lmod when available
henryleberre May 23, 2022
508dcb0
Ascent CI tests: Use 8 threads to not overwhelm it
henryleberre May 23, 2022
5eea6dd
Improve run.sh doc & Change -c to -n and -n to -N
henryleberre May 23, 2022
40156c0
Small srun correction (noticed on Richardson)
henryleberre May 24, 2022
4d6f552
Use standard shell command -v & Support other modulefile(s) implement…
henryleberre May 24, 2022
837c824
Merge pull request #123 from henryleberre/master
sbryngelson May 24, 2022
5d597b0
mfc.sh test: detect nans & avoid name collision
henryleberre May 24, 2022
396aa99
Fix AverageError::push's nan check
henryleberre May 24, 2022
e6c2323
macOS CI
henryleberre May 24, 2022
b14e92b
Print test traceback upon error
henryleberre May 24, 2022
d3408bb
ZFP: Use nvc and nvc++
henryleberre May 24, 2022
399e5a5
Python compatibility Fix
henryleberre May 24, 2022
8b1b4f1
Add macOS CI back in
henryleberre May 24, 2022
02338cb
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre May 24, 2022
566dce3
Update @anandrdbz's tolerance settings after refactor
henryleberre May 24, 2022
bff6106
macOS: Close and reopen terminal instead of reset
henryleberre May 24, 2022
f32b205
Merge pull request #125 from henryleberre/master
sbryngelson May 25, 2022
89448bf
Merge branch 'master' of https://github.com/MFlowCode/MFC-develop int…
mrodrig6 May 25, 2022
9bcdb46
Make some symbols public
henryleberre May 26, 2022
5c97f69
Merge branch 'master' of https://github.com/henryleberre/MFC
henryleberre May 26, 2022
693f54e
Template-based batch submission
henryleberre May 26, 2022
17a8e14
Experimental CMake
henryleberre May 26, 2022
de4d1f3
Overhaul to mfc.sh run (-e parallel) using script templates
henryleberre May 26, 2022
a53eb56
Merge pull request #127 from henryleberre/master
sbryngelson May 26, 2022
29f9087
changed compile specific issues
mrodrig6 May 26, 2022
f7060e2
changes to run on Oscar, not working
mrodrig6 May 27, 2022
b5d0536
working merged with master - phase change code, SNH capable
mrodrig6 May 28, 2022
ad45562
Update m_startup.f90
JRChreim Jul 11, 2022
b568f11
palpha_eps and ptgalpha_eps to user-input level
JRChreim Jul 11, 2022
8c785ec
Merge branch 'phasechange' into phasechange
sbryngelson Jul 12, 2022
167c259
Update m_phase_change.f90
JRChreim Nov 15, 2022
d1466ec
Update m_phase_change.f90
JRChreim Mar 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Compile using
2. Run example
3. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment**
- OS: [e.g. MacOS Monterey]
- Compiler versions [e.g., gfortran 11.0.2 and open-mpi 4.1]

**Additional context**
Add any other context about the problem here.
35 changes: 35 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Description

Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.
Please also list any relevant details for your test configuration

- [ ] Test A
- [ ] Test B

**Test Configuration**:
* What computers and compilers did you use to test this:

# Checklist:

- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
117 changes: 117 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: CI

on:
push:
branches: [ master, GPU ]
paths:
- '**.f90'
- '**.fpp'
- '**.sh'
- '**.py'
- '**.yaml'
- '**.yml'
- 'golden.txt'
- 'Makefile'
- 'makefile'

pull_request:
branches: [ master, GPU ]

workflow_dispatch:

jobs:
CI:
strategy:
matrix:
include:
- os: ubuntu-latest
nvhpc: 22.3
cuda: 11.6
- os: macos-latest
gcc: 11
runs-on: ${{ matrix.os }}
steps:
- name: Clone MFC
uses: actions/checkout@v2

- name: Post-Clone Setup
run: |
chmod +x ./mfc.sh

- name: Setup & Environment Variables
if: matrix.os == 'macos-latest'
run: |
echo "HOMEBREW_CC=gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "HOMEBREW_CXX=g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "OMPI_MPICC=gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "OMPI_CXX=g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "OMPI_FC=gfortran-${{ matrix.gcc }}" >> $GITHUB_ENV

- name: Install Dependencies (via Aptitude)
if: matrix.os == 'ubuntu-latest'
run: >-
sudo apt install -y tar wget make cmake gcc g++ python3 openmpi-*
python python-dev python3-dev python3-venv libopenmpi-dev

- name: Install Nvidia HPC SDK
if: matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/GPU'
run: |
echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
sudo apt-get update -y
sudo apt-get install -y nvhpc-$(echo "${{ matrix.nvhpc }}" | tr '.' '-')
NVARCH=`uname -s`_`uname -m`
NVCOMPILERS="/opt/nvidia/hpc_sdk"
VERSION="${{ matrix.nvhpc }}"
CUDA_VERSION="${{ matrix.cuda }}"
echo "PATH=$NVCOMPILERS/$NVARCH/$VERSION/compilers/bin:$NVCOMPILERS/$NVARCH/$VERSION/comm_libs/mpi/bin:$PATH" >> $GITHUB_ENV
echo "CUDA_HOME=$NVCOMPILERS/$NVARCH/$VERSION/cuda/" >> $GITHUB_ENV
echo "CUDA_DIR=$NVCOMPILERS/$NVARCH/$VERSION/cuda/" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/$VERSION/cuda/$CUDA_VERSION/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV

- name: Install Dependencies (via Brew)
if: matrix.os == 'macos-latest'
run: |
brew install wget make python make cmake coreutils
brew install gcc@${{ matrix.gcc }}
brew install --build-from-source open-mpi

- name: Print MPI Configuration
run: |
mpif90 --version
mpif90 --showme
mpicc --version
mpicc --showme
mpicxx --version
mpicxx --showme

- name: Build MFC (CPU)
run: ./mfc.sh build -m release-cpu -j $(nproc)

- name: Test MFC (CPU)
run: ./mfc.sh test -j $(nproc)

- name: Print MPI Configuration
run: |
mpif90 --version
mpif90 --showme
mpicc --version
mpicc --showme
mpicxx --version
mpicxx --showme

- name: Build MFC (GPU)
if: github.ref == 'refs/heads/GPU'
run: ./mfc.sh build -m release-gpu -j $(nproc)

- name: Upload logs
uses: actions/upload-artifact@v2
if: always()
with:
name: ${{ matrix.os }}
path: |
build/**/*.log
tests/**/*.dat
tests/**/*.out
tests/**/*.inp
tests/**/*.txt
tests/*.txt
67 changes: 52 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,35 +1,72 @@
doc/Doxygen/*/html
doc/Doxygen/*logo*
doc/Doxygen/*icon*
build/
tags
src/*/tags

__pycache__

src/*/*.mod
src/*/*.o
src/pre_process_code/pre_process
src/simulation_code/simulation
src/post_process_code/post_process
src/master_scripts/*.pyc
src/*/.build
src/master_scripts/__*
make_doc.sh
cases/

.DS_Store

tests/*/D/*
tests/*/p*
tests/*/D_*
tests/*/*.inp
tests/*/*.inf
tests/*/*.inp
tests/*/*.dat
tests/*/silo*
tests/*/restart*
tests/*/*.out
tests/*/binary
example_cases/*/D/*
example_cases/*/p*
example_cases/*/D_*
example_cases/*/*.inf
example_cases/*/*.inp
example_cases/*/*.dat
example_cases/*/silo*
example_cases/*/restart*
example_cases/*/*.out
example_cases/*/binary
lib/fftw-3.3.8
lib/lapack-3.4.2
tests/**/*.log
tests/*.txt
tests/*/**
!**/golden.txt

samples/*batch/*/
samples/*/D/*
samples/*/p*
samples/*/D_*
samples/*/*.inf
samples/*/*.inp
samples/*/*.dat
samples/*/*.o*
samples/*/silo*
samples/*/restart*
samples/*/*.out
samples/*/binary
samples/*/pre_process.sh
samples/*/simulation.sh
samples/*/post_process.sh

doc/*/MFC_user_guide.bbl
doc/*/MFC_user_guide.blg
doc/*/MFC_user_guide.aux
doc/*/MFC_user_guide.toc
doc/*/MFC_user_guide.fls
doc/*/MFC_user_guide.synctex.gz
doc/*/MFC_user_guide.log
doc/*/MFC_user_guide.fdb_latexmk

doc/Doxygen/*/html
doc/Doxygen/*icon*
tests_hypoelastic/*/D/*
tests_hypoelastic/*/p*
tests_hypoelastic/*/D_*
tests_hypoelastic/*/*.inf
tests_hypoelastic/*/*.inp
tests_hypoelastic/*/*.dat
tests_hypoelastic/*/silo*
tests_hypoelastic/*/restart*
tests_hypoelastic/*/*.out
tests_hypoelastic/*/binary
93 changes: 93 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# CI Workflow for MFC running Ascent @ ORNL through GitLab.

# GitLab: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
# - User Set:
# - $GIT_STRATEGY: none -> Runner should not clone repository before executing script
# - User Read:
# - $CI_PROJECT_NAME -> e.g MFC, MFC-develop, ...
# - $CI_REPOSITORY_URL -> e.g https://gitlab-ci-token:[MASKED]@code.ornl.gov/ecpcitest/cfd154/MFC-develop.git
# - $CI_COMMIT_BRANCH -> e.g GPU, master, ...
# ORNL's Ascent:
# - User Set:
# - $SCHEDULER_PARAMETERS
# - User Read:
# - $MEMBERWORK -> e.g /gpfs/wolf/scratch/henrylb

stages:
- clone # Clone MFC after removing artifacts from previous run(s).
- cpu # Build MFC & Test it on/with CPUs
- gpu # Build MFC & Test it on/with GPUs

# Variables for all jobs
variables:
# Tell runner to not clone MFC
GIT_STRATEGY: none
# Ascent Job Scheduler parameters
SCHEDULER_PARAMETERS: "-P CFD154 -nnodes 1 -W 00:30"

# This script runs before each job's main script is executed.
# It defines useful environment variables used at runtime.
before_script:
# Check "$CI_PROJECT_NAME" contains "MFC" so we are sure
# we won't clone into or delete from an unsuspecting directory
# due to an unfortunate error.
- echo "[CI] Running fin $(pwd):"
- if [[ ! "$CI_PROJECT_NAME" == *"MFC"* ]]; then exit 1; fi;

# Define MFC directory path
- CI_MFC_DIR="$MEMBERWORK/cfd154/.ci/$CI_PROJECT_NAME/$CI_COMMIT_BRANCH"

# Clone MFC after removing artifacts from previous run(s).
clone-job:
stage: clone
script:
# Clean MFC directory if it exists (from a previous run)
- if [ -d "$CI_MFC_DIR" ]; then rm -rf "$CI_MFC_DIR"; fi
# Create empty MFC directory
- mkdir -p "$CI_MFC_DIR"

# Clone MFC into MFC directory & cd into it
- git clone --single-branch --branch "$CI_COMMIT_BRANCH" "$CI_REPOSITORY_URL" "$CI_MFC_DIR/"
- cd "$CI_MFC_DIR" && echo "[CI] Running in $(pwd):"
tags:
- nobatch

cpu-build-job:
stage: cpu
script:
- cd "$CI_MFC_DIR" && echo "[CI] Running in $(pwd):"
- . ./mfc.sh load -c a -m g
- ./mfc.sh build -j 8 -m release-cpu
tags:
- nobatch

cpu-test-job:
stage: cpu
needs:
- cpu-build-job
script:
- cd "$CI_MFC_DIR" && echo "[CI] Running in $(pwd):"
- . ./mfc.sh load -c a -m g
- ./mfc.sh test -j 8
tags:
- batch

gpu-build-job:
stage: gpu
script:
- cd "$CI_MFC_DIR" && echo "[CI] Running in $(pwd):"
- . ./mfc.sh load -c a -m g
- ./mfc.sh build -j 8 -m release-gpu
tags:
- nobatch

gpu-test-job:
stage: gpu
needs:
- gpu-build-job
script:
- cd "$CI_MFC_DIR" && echo "[CI] Running in $(pwd):"
- . ./mfc.sh load -c a -m g
- ./mfc.sh test -j 8
tags:
- batch
1 change: 1 addition & 0 deletions .mfc/___current___
Loading