Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
551 commits
Select commit Hold shift + click to select a range
cf2047e
Merge pull request #194 from 2decomp-fft/mathrack-patch-1
slaizet May 10, 2023
d3caf49
Fix examples for single precision builds with dev flags
mathrack May 10, 2023
8528332
Merge pull request #196 from 2decomp-fft/fix_single_precision
pbartholomew08 May 10, 2023
2e1f04f
Update Build_all.yml
mathrack May 11, 2023
eb28bb1
Merge pull request #197 from 2decomp-fft/mathrack-patch-2
pbartholomew08 May 11, 2023
9d3b7f9
Add a list of contributors
mathrack May 11, 2023
cc8b192
Update D2D_MPI.cmake
mathrack May 12, 2023
e85638f
Update D2D_Compilers.cmake
mathrack May 12, 2023
480634c
Merge pull request #199 from 2decomp-fft/contributors
slaizet May 12, 2023
792fd4c
Some minor text changes to Contribute.md
pbartholomew08 May 23, 2023
87f4610
Merge pull request #200 from 2decomp-fft/contribute
pbartholomew08 May 23, 2023
576b9a1
Merge branch 'upstream-main' into update
pbartholomew08 May 24, 2023
f11041c
Merge branch 'main' into release-v2
rfj82982 May 25, 2023
11af245
Bug correction for CMake variable controlling CUDA architecture for GPU
rfj82982 May 25, 2023
bc3a45a
Move the transpose routines in dedicated submodules
mathrack May 27, 2023
4eac5d5
fprettify
mathrack May 27, 2023
86795ed
Merge pull request #204 from 2decomp-fft/submodule_for_transpose
pbartholomew08 May 27, 2023
5269b24
Revert "Move transpose subroutines in dedicated submodules"
pbartholomew08 May 27, 2023
e2eba92
Merge pull request #205 from 2decomp-fft/revert-204-submodule_for_tra…
pbartholomew08 May 27, 2023
ff9b587
Merge branch 'main' into release-v2
rfj82982 May 27, 2023
d728230
Increase the size of the log file
mathrack May 27, 2023
471b5e9
Merge pull request #207 from 2decomp-fft/mathrack-patch-2
pbartholomew08 May 27, 2023
dd4f7cf
Moving build details to INSTALL
pbartholomew08 May 28, 2023
25875fd
Merge branch 'release-v2' of github.com:2decomp-fft/2decomp-fft into …
pbartholomew08 May 28, 2023
bb91fb2
Merge pull request #186 from 2decomp-fft/release-v2
rfj82982 May 28, 2023
b355ee0
Correct error in reference value used in halo_test
pbartholomew08 Jun 1, 2023
811f7d9
Make div1,2,3 local to their test subroutines
pbartholomew08 Jun 1, 2023
5db5744
Add openACC data copies
pbartholomew08 Jun 1, 2023
3394db2
Update adios2_init to new interface
pbartholomew08 Jun 2, 2023
8879387
Minor update
mathrack Jun 5, 2023
fb92311
Merge branch 'main' into mathrackmain
mathrack Jun 5, 2023
078ad59
Testing ierr when checking variable%valid in adios2 is wrong
pbartholomew08 Jun 13, 2023
71332ee
Update io_test to run with ADIOS2
pbartholomew08 Jun 13, 2023
6bb6f82
Fix previous commit build failure
pbartholomew08 Jun 13, 2023
25a1c2a
Fix io_read in MPIIO
pbartholomew08 Jun 13, 2023
437bf02
Add safety check that the output directory exists for the io_read test
pbartholomew08 Jun 13, 2023
0d0230b
io_read passing ADIOS2
pbartholomew08 Jun 13, 2023
415d7d8
Update io_plane test case to run with ADIOS2
pbartholomew08 Jun 13, 2023
8fcd659
Fix read-back section of io_plane_test for MPIIO
pbartholomew08 Jun 13, 2023
cd5a342
If compiler wrapper doesn't give MPI name try to use -show
pbartholomew08 Jun 13, 2023
ba111cf
Silence errors when MPI compiler doesn't support -show
pbartholomew08 Jun 13, 2023
247ca0f
Silence Cray warning about multiple module uses (#210)
pbartholomew08 Jun 14, 2023
0c05eeb
Remove some double comments and fprettify
mathrack Jun 14, 2023
6a90549
Remove unused variable
pbartholomew08 Jun 14, 2023
e41f78c
Add missing copy of ADIOS2 config file for io_test
rfj82982 Jun 15, 2023
81e91e7
Add target link with ADIOS2 for the IO examples
rfj82982 Jun 20, 2023
6f5f518
Enable C and CXX languages at the beginning of the build
rfj82982 Jun 20, 2023
4f4ebf5
Update target link for ADIOS2 as PUBLIC
rfj82982 Jun 20, 2023
202be18
Merge pull request #208 from 2decomp-fft/fix-halo_test
rfj82982 Jun 20, 2023
8f03a32
Merge pull request #195 from mathrack/main
rfj82982 Jun 20, 2023
9170109
Safety check on io_read test pointing to file existance rather than d…
rfj82982 Jun 22, 2023
fc64650
Differentiate the flags between new IntelLLVM and old Intel ifort
rfj82982 Jun 22, 2023
c5503f9
Update find factor function to cast int as double and not real. Intel…
rfj82982 Jun 22, 2023
06ced3c
Activate C and CXX languages only in case of ADIOS2.
rfj82982 Jun 22, 2023
dd6da96
Remove unnecessary print
rfj82982 Jun 23, 2023
09e1892
Extend output check for io_read test
pbartholomew08 Jun 23, 2023
5da5371
Update INSTALL.md to include installation information for Intel
rfj82982 Jun 23, 2023
7ad1e9a
Update INSTALL.md
pbartholomew08 Jun 23, 2023
a7304f8
Merge pull request #212 from 2decomp-fft/FixIntel
pbartholomew08 Jun 23, 2023
89f196d
Try using a different NVHPC version
pbartholomew08 Jun 23, 2023
1a83f90
Try a different value of nvhpc
pbartholomew08 Jun 23, 2023
bdc13fb
Update Build_all.yml
pbartholomew08 Jun 23, 2023
5893b21
Merge pull request #213 from 2decomp-fft/pbartholomew08-patch-1
rfj82982 Jun 23, 2023
ba2c94b
Merge branch 'main' into 164-determining-the-mpi-compiler-is-not-robust
rfj82982 Jun 23, 2023
78b5db5
Merge pull request #209 from 2decomp-fft/164-determining-the-mpi-comp…
rfj82982 Jun 23, 2023
d827f8e
Fix issue 214 adding the implicit procedure/interface only with generic
rfj82982 Jun 24, 2023
ddb1967
First Test for GitLab CI/CD
rfj82982 Jun 26, 2023
f069b70
Merge pull request #215 from 2decomp-fft/214_fix_implicit
slaizet Jun 26, 2023
844b9eb
Merge branch '2decomp-fft:main' into main
rfj82982 Jun 26, 2023
58826dc
Remove the GitLab YML from main
rfj82982 Jul 3, 2023
88ec52e
Merge branch 'main' of github.com:rfj82982/2decomp-fft into main
rfj82982 Jul 3, 2023
4e8e676
Add YML file for local runner
rfj82982 Jul 4, 2023
bd8511a
Update Runnel YML file
rfj82982 Jul 4, 2023
62ff812
Test Build_Runner.yml
rfj82982 Jul 4, 2023
37a8d63
Add sourcing of local .bashrc
rfj82982 Jul 4, 2023
dfe681a
Add sourcing of local .bashrc
rfj82982 Jul 4, 2023
e9db7d4
Add sourcing of local .bashrc test 2
rfj82982 Jul 4, 2023
7a96601
Add sourcing of local .bashrc test 3
rfj82982 Jul 4, 2023
1f07b95
Add sourcing of local .bashrc test 4
rfj82982 Jul 4, 2023
058ad18
Add sourcing of local .bashrc test 5
rfj82982 Jul 4, 2023
fe5f1f9
Move the YML file to use git actions
rfj82982 Jul 4, 2023
55ee28b
Move the YML file to use git actions test 2
rfj82982 Jul 4, 2023
2b5dbf2
Move the YML file to use git actions test 6
rfj82982 Jul 4, 2023
026751a
Move the YML file to use git actions test 7
rfj82982 Jul 4, 2023
04cf22e
Bug correction
rfj82982 Jul 4, 2023
3d34a1d
Test the global bash
rfj82982 Jul 4, 2023
8ca5c03
Source profile instead of bashrc
rfj82982 Jul 4, 2023
333c58f
Add messages to source profile
rfj82982 Jul 4, 2023
955102f
Add LMOD command
rfj82982 Jul 4, 2023
acf14d2
Add direct invoke of LMOD
rfj82982 Jul 4, 2023
65a4019
Try with new local github profile
rfj82982 Jul 4, 2023
0f1e292
Update the module
rfj82982 Jul 4, 2023
828a813
Load NVHPC within runner
rfj82982 Jul 4, 2023
dc6e51f
Add all testing in single run
rfj82982 Jul 4, 2023
090c3b1
Use the correct CMake in CI and update policy to have at least CMake …
rfj82982 Jul 4, 2023
21a5227
Update CMake building
rfj82982 Jul 4, 2023
5a10443
Add parallel test on larger mesh
rfj82982 Jul 4, 2023
ad80fea
Add GPU build for NVHPC
rfj82982 Jul 4, 2023
73a802e
Use pointers to share real and complex CPU transpose buffers (#218)
mathrack Jul 7, 2023
b6b2c70
CICD for NVHPC covering all options
rfj82982 Jul 10, 2023
e200f61
CICD for NVHPC: bug correction on ADIOS2 build
rfj82982 Jul 10, 2023
aa9b041
CICD for GNU with FFTW
rfj82982 Jul 10, 2023
b67281e
CICD for GNU with FFTW: add ADIOS2
rfj82982 Jul 10, 2023
e24ed9b
CICD for GNU with FFTW: add Caliper
rfj82982 Jul 10, 2023
dcf4220
CICD for Intel and MKL
rfj82982 Jul 10, 2023
25cc0cd
Merge pull request #6 from 2decomp-fft/main
rfj82982 Jul 10, 2023
fdb8ee7
Add ADIOS2 with IntelLLVM
rfj82982 Jul 13, 2023
f1dfe15
Add ADIOS2 with IntelLLVM: correct addition of the full YML
rfj82982 Jul 13, 2023
3286321
Rename of the Runner YML file
rfj82982 Jul 13, 2023
fc9c194
Perform the full CI only on pull request
rfj82982 Jul 13, 2023
6785acc
Add fast CI for Configure/Build/Test on PR
rfj82982 Jul 13, 2023
00c74ca
Give different names to the workflows running on Runner
rfj82982 Jul 13, 2023
0865406
Merge pull request #223 from 2decomp-fft/SplitGitHubRunner
slaizet Jul 14, 2023
c2b5141
Set D2D_RELEASE to .true.
pbartholomew08 Jul 17, 2023
a9572a0
Move checking to subroutine in io_test
pbartholomew08 Jul 22, 2023
355a258
Add multifield read/write test (for checkpointing)
pbartholomew08 Jul 22, 2023
2fe0b86
Update the mutifield per file (checkpoint) test to run under ADIOS2
pbartholomew08 Jul 22, 2023
54e73de
Remove debugging print statements
pbartholomew08 Jul 22, 2023
7f6ed40
Remove spelling mistake in CI
rfj82982 Jul 24, 2023
c94fd24
Merge pull request #226 from 2decomp-fft/test-restarts
rfj82982 Jul 24, 2023
f0f5046
Update documentation to be consistent with website
rfj82982 Jul 26, 2023
420f318
Merge pull request #230 from 2decomp-fft/UpdateDocumentation
slaizet Jul 26, 2023
10e6e49
Update Contribute.md
rfj82982 Jul 26, 2023
08e0c3b
Update the licence statement in all files. Use SPDX
rfj82982 Jul 26, 2023
bccc1f5
Merge pull request #233 from 2decomp-fft/UpdateLicence
slaizet Jul 26, 2023
e49351c
Update LICENSE
pbartholomew08 Jul 27, 2023
63499b0
Merge pull request #237 from 2decomp-fft/pbartholomew08-patch-1
slaizet Aug 1, 2023
1dee8c1
fprettify
mathrack Aug 6, 2023
55ef7f9
Merge pull request #240 from 2decomp-fft/main_fprettify
pbartholomew08 Aug 15, 2023
5034f3a
Timing examples (#244)
rfj82982 Aug 23, 2023
74744be
Update the README for the examples
rfj82982 Aug 30, 2023
1944924
Merge pull request #249 from 2decomp-fft/UpdateREADMEExample
slaizet Aug 30, 2023
d7ec603
Create visualisation example
pbartholomew08 Sep 3, 2023
cbf782a
Fix broken commit
pbartholomew08 Sep 5, 2023
6bc5c5a
visu test output real/imaginary fields for complex tests
pbartholomew08 Sep 5, 2023
9061647
Correct halo test - use local, not global variable
pbartholomew08 Sep 12, 2023
4fc5d8c
Correcting halo test
pbartholomew08 Sep 12, 2023
e340f19
Merge pull request #266 from 2decomp-fft/fix--halo_test
rfj82982 Oct 9, 2023
c55347b
Merge branch 'main' into visu-example
rfj82982 Oct 16, 2023
3ce989d
Update the visu example to support only real and use GPU
rfj82982 Oct 16, 2023
fc4ef2a
fprettify the commit
rfj82982 Oct 16, 2023
cef2479
Bug correction for folder name
rfj82982 Oct 16, 2023
f395b8e
Bug correction for GPU: add scalar for end index loops
rfj82982 Oct 16, 2023
9b0c7a0
Update ADIOS2 config for visu example
pbartholomew08 Oct 16, 2023
e34445e
Use BP4 also for the io_visu test to avoid using HDF5
rfj82982 Oct 23, 2023
90e9bbc
Merge pull request #263 from 2decomp-fft/visu-example
rfj82982 Oct 23, 2023
a8ebaa5
Rename all README file for the examples as MarkDown files
rfj82982 Oct 24, 2023
ce91332
Update heading for README
rfj82982 Oct 24, 2023
6fdcdef
New version of the README for example FFT
rfj82982 Oct 24, 2023
1320f7b
Update all README for example folder
rfj82982 Oct 24, 2023
d427fc4
Add link into main README to the Contribution file
rfj82982 Oct 24, 2023
f171d15
Update the README and add the HOWTO use the library file
rfj82982 Oct 24, 2023
7dfd3ae
Minor update in HOWTO.md
mathrack Oct 24, 2023
aa4e467
Typo in INSTALL.md
mathrack Oct 24, 2023
5475353
Typo README.md
mathrack Oct 24, 2023
d99fd52
Minor update in README.md
mathrack Oct 24, 2023
756ccaf
Minor update in HOWTO.md
mathrack Oct 25, 2023
b1f9778
Further spell corrections
rfj82982 Oct 25, 2023
3950619
Further spell corrections
rfj82982 Oct 25, 2023
b092562
Update Intro of HOWTO
rfj82982 Oct 25, 2023
c61dc4b
Minor edits in HOWTO.md
pbartholomew08 Oct 25, 2023
aef63b5
Update HOWTO.md
pbartholomew08 Oct 25, 2023
7518ff4
Correct typo
pbartholomew08 Oct 25, 2023
5a68edc
Minor typo
pbartholomew08 Oct 26, 2023
eca2a2b
Add test for deferred writes
pbartholomew08 Nov 5, 2023
bac7c99
Add missing deallocations in io_tmp_test
pbartholomew08 Nov 5, 2023
9e68519
Add description of deferred writes operation
pbartholomew08 Nov 5, 2023
644b2b8
Merge pull request #281 from 2decomp-fft/test--deferred-writes-v2
rfj82982 Nov 5, 2023
6f4c072
Update HOWTO.md for text corrections
rfj82982 Nov 6, 2023
c5dc76f
Merge branch 'UpdateMainForJOSSsubmission' of github.com:2decomp-fft/…
rfj82982 Nov 6, 2023
b239fe2
Update READMEs for text corrections
rfj82982 Nov 6, 2023
2bc0295
Merge pull request #277 from 2decomp-fft/UpdateMainForJOSSsubmission
rfj82982 Nov 6, 2023
71f33a0
Add the 2d grad test
rfj82982 Nov 6, 2023
fb1e0a8
Merge branch 'main' into UpdateMainForJOSSsubmission
rfj82982 Nov 6, 2023
14f8a88
Add visualisation to grad3d example
rfj82982 Nov 7, 2023
ee4c043
Remove unused variable
rfj82982 Nov 7, 2023
cbd856c
Typos correction for grad3d example
rfj82982 Nov 7, 2023
cf09575
Correct typo
pbartholomew08 Nov 7, 2023
6ee1748
Correct analytical solution adding domain lenght
rfj82982 Nov 7, 2023
c35b724
Merge branch 'UpdateMainForJOSSsubmission' of github.com:2decomp-fft/…
rfj82982 Nov 7, 2023
b38f9f1
Update adios2_config.xml for grad3d test
pbartholomew08 Nov 7, 2023
02f2caa
Add io initialisation to grad3d
pbartholomew08 Nov 7, 2023
f7fde73
Correct typo
pbartholomew08 Nov 7, 2023
549761c
Update HOWTO.md
pbartholomew08 Nov 7, 2023
413f414
Fix Comment
rfj82982 Nov 7, 2023
491392d
Merge pull request #283 from 2decomp-fft/UpdateMainForJOSSsubmission
slaizet Nov 7, 2023
b699dc8
Add output2D definition for xdmf output in grad3d example
rfj82982 Nov 7, 2023
e6a7508
Change intent for gradient in test routines under the grad3d example
rfj82982 Nov 8, 2023
a4a4168
Add Grad3d test to list of example and perform fprettify
rfj82982 Nov 8, 2023
686c3e4
Merge pull request #289 from 2decomp-fft/BugCorrectionGrad3D
slaizet Nov 8, 2023
1778965
Add reduction to openACC check tests
rfj82982 Dec 10, 2023
8840ea3
Add cudaStreamSyncronize for NCCL transpose
rfj82982 Dec 10, 2023
c76fc25
Add test on precision for FFT examples
rfj82982 Dec 11, 2023
01c6862
Change precision to 1e-12 for FFT tests
rfj82982 Dec 11, 2023
f909497
Remove unnessary variables added by mistake
rfj82982 Dec 11, 2023
649d238
Merge pull request #306 from 2decomp-fft/FixNVHPC23_NCCL
mathrack Dec 13, 2023
f311c90
Backport support for AOCC (#307)
pbartholomew08 Dec 20, 2023
5a38c00
Backport replace profiler enum with integer parameters (#309)
pbartholomew08 Dec 21, 2023
417e428
Run fprettify
pbartholomew08 Feb 20, 2024
25c946d
Raise error if pencil passed to halo is out of range
pbartholomew08 Feb 20, 2024
7f27993
Add short versions of halo exchanges - eliminate decomp info copies
pbartholomew08 Feb 20, 2024
f7c636e
Remove duplicate CMake code
pbartholomew08 Feb 20, 2024
232de05
Update Intel flags and correct bugs related to: halo, check on single…
rfj82982 Mar 11, 2024
f6fed87
Add description of HALO_GLOBAL in INSTALL.md
mathrack Mar 12, 2024
78e6f93
Update Fast Runner for main
rfj82982 Mar 12, 2024
467cca2
Update Fast Runner for main
rfj82982 Mar 12, 2024
d95ddaf
Update Fast Runner for main
rfj82982 Mar 12, 2024
066fe89
Update Fast Runner for main
rfj82982 Mar 12, 2024
22bf243
Update Fast Runner for main
rfj82982 Mar 12, 2024
49b6f44
Update Fast Runner for main
rfj82982 Mar 12, 2024
25ce356
Update Fast Runner for main
rfj82982 Mar 12, 2024
383d4c0
Update Fast Runner for main
rfj82982 Mar 12, 2024
b3039fd
Add comments for PH deallocation with Intel compiler
rfj82982 Mar 12, 2024
0ffb896
Remove unnecessary deallocate(ph) statement
rfj82982 Mar 12, 2024
eb7e7c0
Update the Runner with the full CI
rfj82982 Mar 12, 2024
0443799
Update the Runner with the full CI
rfj82982 Mar 12, 2024
771d1aa
Update the Runner with the full CI
rfj82982 Mar 12, 2024
b646aaf
Add additional libraries to Fast Runner
rfj82982 Mar 13, 2024
43f117b
Add additional libraries to Full Runner
rfj82982 Mar 15, 2024
49239d9
Add additional libraries to Full Runner
rfj82982 Mar 15, 2024
3faf24b
Add additional libraries to Full Runner
rfj82982 Mar 15, 2024
16ab7db
Add additional libraries to Full Runner
rfj82982 Mar 15, 2024
00544a3
Add additional libraries to Full Runner. For NVHPC Dev revert to 23.9
rfj82982 Mar 15, 2024
d145471
Merge pull request #321 from 2decomp-fft/main_update4intel
slaizet Mar 15, 2024
8c9e505
Fix memory leak introduced in https://github.com/2decomp-fft/2decomp-…
mathrack Mar 16, 2024
3d3de19
Apply the fix to fft_fftw3_f03
mathrack Mar 16, 2024
17d0bc3
Avoid unused variables
mathrack Mar 16, 2024
e0d56aa
fprettify
mathrack Mar 16, 2024
e399a9c
Merge pull request #323 from 2decomp-fft/fix_memory_leak
rfj82982 Mar 18, 2024
74ca344
Update README.md
rfj82982 Mar 22, 2024
86168ef
Update INSTALL.md
rfj82982 Mar 22, 2024
ded2345
Update CMakeLists.txt
rfj82982 Mar 22, 2024
81dffa5
cherry-pick PR #325 (#326)
mathrack Apr 4, 2024
7bd46f4
Fix 3D c2c FFT for the MKL backend
mathrack Apr 22, 2024
4ff8f79
Merge pull request #342 from 2decomp-fft/mathrack-patch-1
rfj82982 Apr 23, 2024
708a6fe
Merge branch 'main' into update
pbartholomew08 Aug 21, 2024
5428973
The exchange routines need the device attribute
pbartholomew08 Oct 8, 2024
d55b666
Fix IO for reduced precision and 3D array in y / z pencil
mathrack Nov 8, 2024
7d4b986
Update RunnerFullCI.yml
rfj82982 Nov 8, 2024
057cf94
Update RunnerFastCI.yml
rfj82982 Nov 8, 2024
de95084
Update RunnerFullCI.yml
rfj82982 Nov 8, 2024
7c43c86
Update RunnerFullCI.yml
rfj82982 Nov 8, 2024
ed8fc33
Merge pull request #355 from 2decomp-fft/mathrack-patch-1
rfj82982 Nov 8, 2024
1169674
Fix main (#359)
rfj82982 Jan 13, 2025
80ccc0d
Fix main (#360)
rfj82982 Jan 14, 2025
01d268a
Fix caliper CI
mathrack Jan 14, 2025
701dd13
Merge pull request #361 from 2decomp-fft/mathrack-patch-1
rfj82982 Jan 14, 2025
959c2ff
Update version number in CMake file (#363)
rfj82982 Jan 14, 2025
24f3a4d
Correct logic error in checking for invalid ipencil input for halos
pbartholomew08 Feb 5, 2025
ca805c2
Merge branch 'update' into udales--upstream
pbartholomew08 Feb 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,23 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Runs a single command using the runners shell
- name: Install requirements
run: |
sudo apt-get update
sudo apt-get install -y gfortran openmpi-bin libopenmpi-dev
sudo apt-get install -y gfortran openmpi-bin libopenmpi-dev cmake

# Runs a set of commands using the runners shell
- name: Compile
run: make BUILD=dev
run: |
export FC=mpif90
cmake -S . -B build -DCMAKE_BUILD_TYPE=dev -DBUILD_TESTING=ON
cmake --build build --target decomp2d

- name: Examples
run: make examples
run: |
export FC=mpif90
cmake -S . -B build -DCMAKE_BUILD_TYPE=dev -DBUILD_TESTING=ON
cmake --build build
151 changes: 100 additions & 51 deletions .github/workflows/Build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,52 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Runs a single command using the runners shell
- name: Install requirements
run: |
sudo apt-get update
sudo apt-get install -y gfortran openmpi-bin libopenmpi-dev
sudo apt-get install -y gfortran openmpi-bin libopenmpi-dev cmake

# Runs a set of commands using the runners shell
- name: Compile
run: make BUILD=dev && make examples
run: |
export FC=mpif90.openmpi
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON
cmake --build build --verbose

# Runs a set of commands using the runners shell
- name: Single precision
run: |
export FC=mpif90.openmpi
rm -rf ./build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON -DDOUBLE_PRECISION=OFF
cmake --build build --verbose

# Runs a set of commands using the runners shell
- name: Double precision with single precision IO
run: |
export FC=mpif90.openmpi
rm -rf ./build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON -DSINGLE_PRECISION_OUTPUT=ON
cmake --build build --verbose

# Runs a set of commands using the runners shell
- name: Padded alltoall transpose operations
run: |
export FC=mpif90.openmpi
rm -rf ./build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON -DEVEN=ON
cmake --build build --verbose

# Runs a set of commands using the runners shell
- name: Debug flag for halo operations
run: |
export FC=mpif90.openmpi
rm -rf ./build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON -DHALO_DEBUG=ON
cmake --build build --verbose

bld_gnu_mpich:
# The type of runner that the job will run on
Expand All @@ -37,45 +72,46 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Runs a single command using the runners shell
- name: Install requirements
run: |
sudo apt-get update
sudo apt-get install -y gfortran mpich libmpich-dev
sudo apt-get install -y gfortran mpich libmpich-dev cmake

# Runs a set of commands using the runners shell
- name: Compile
run: make BUILD=dev && make examples

### bld_nvidia:
### # The type of runner that the job will run on
### runs-on: ubuntu-latest
### env:
### TMP: /opt/nvidia/hpc_sdk/Linux_x86_64/22.7/comm_libs/mpi/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/22.7/compilers/bin
###
### # Steps represent a sequence of tasks that will be executed as part of the job
### steps:
### # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
### - uses: actions/checkout@v3
###
### # Add Nvidia HPC SDK
### - name: setup repo
### run: |
### echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
### # Install dependencies
### - name: install
### run: |
### sudo apt-get update -y
### sudo apt-get install -y nvhpc-22-7-cuda-multi
###
### # Runs a set of commands using the runners shell
### - name: CPU version
### run: |
### PATH=$TMP:$PATH make CMP=nvhpc BUILD=debug
### PATH=$TMP:$PATH make examples
###
run: |
export FC=mpif90.mpich
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON
cmake --build build --verbose

bld_nvidia:
# The type of runner that the job will run on
runs-on: ubuntu-latest
env:
TMP: /opt/nvidia/hpc_sdk/Linux_x86_64/24.11/comm_libs/mpi/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/24.11/compilers/bin
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4

# Add Nvidia HPC SDK
- name: setup repo
run: |
echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
# Install dependencies
- name: install
run: |
sudo apt-get update -y
sudo apt-get install -y nvhpc-24-11
# Runs a set of commands using the runners shell
- name: CPU version
run: |
PATH=$TMP:$PATH FC=mpif90 cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON
PATH=$TMP:$PATH cmake --build build --verbose

### - name: GPU version
### run: |
### PATH=$TMP:$PATH make clean
Expand All @@ -88,7 +124,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Add Intel OneApi
- name: setup repo
Expand All @@ -98,15 +134,25 @@ jobs:
- name: install
run: |
sudo apt-get update
sudo apt-get install -y intel-oneapi-common-vars intel-oneapi-compiler-fortran intel-oneapi-mkl intel-oneapi-mkl-devel intel-oneapi-mpi intel-oneapi-mpi-devel
sudo apt-get install -y intel-oneapi-common-vars intel-oneapi-compiler-fortran intel-oneapi-mkl intel-oneapi-mkl-devel intel-oneapi-mpi intel-oneapi-mpi-devel cmake

# Runs a set of commands using the runners shell
- name: Compile
run: source /opt/intel/oneapi/setvars.sh && make CMP=intel BUILD=debug && make examples
run: |
source /opt/intel/oneapi/setvars.sh
export FC=mpiifx
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON
cmake --build build --verbose

# Runs a set of commands using the runners shell
- name: Compile
run: source /opt/intel/oneapi/setvars.sh && make clean && make CMP=intel FFT=mkl BUILD=debug && make examples
run: |
source /opt/intel/oneapi/setvars.sh
export FC=mpiifx
export MKL_DIR=${MKLROOT}/lib/cmake/mkl
rm -rf ./build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DFFT_Choice=mkl -DBUILD_TESTING=ON
cmake --build build --verbose

bld_fftw3:
# The type of runner that the job will run on
Expand All @@ -115,7 +161,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Runs a single command using the runners shell
- name: Install requirements
Expand All @@ -126,15 +172,16 @@ jobs:
# Runs a set of commands using the runners shell
- name: Regular FFTW3
run: |
make clean
make BUILD=dev FFT=fftw3 FFTW3_PATH_INCLUDE=/usr/include FFTW3_PATH_LIB=/usr/lib/x86_64-linux-gnu
make examples
export FC=mpif90
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DFFT_Choice=fftw -DBUILD_TESTING=ON
cmake --build build --verbose

- name: New FFTW3
run: |
make clean
make BUILD=dev FFT=fftw3_f03 FFTW3_PATH_INCLUDE=/usr/include FFTW3_PATH_LIB=/usr/lib/x86_64-linux-gnu
make examples
export FC=mpif90
rm -rf ./build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DFFT_Choice=fftw_f03 -DBUILD_TESTING=ON
cmake --build build --verbose

bld_caliper:
# The type of runner that the job will run on
Expand All @@ -143,7 +190,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Runs a single command using the runners shell
- name: Install requirements
Expand All @@ -154,14 +201,16 @@ jobs:
# Runs a set of commands using the runners shell
- name: Compile caliper
run: |
wget --no-check-certificate https://github.com/LLNL/Caliper/archive/refs/tags/v2.8.0.tar.gz
tar xzf v2.8.0.tar.gz && cd Caliper-2.8.0
wget --no-check-certificate https://github.com/LLNL/Caliper/archive/refs/tags/v2.12.1.tar.gz
tar xzf v2.12.1.tar.gz && cd Caliper-2.12.1
mkdir build && cd build
cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_INSTALL_PREFIX=../../Caliper-2.8.0_bld -DWITH_FORTRAN=yes -DWITH_MPI=yes ../
echo ${PWD}
cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_INSTALL_PREFIX=${HOME}/Caliper-2.12.1_bld -DWITH_FORTRAN=yes -DWITH_MPI=yes ../
make -j && make install
cd ../../

- name: Compile
run: |
make clean
make BUILD=dev PROFILER=caliper CALIPER_PATH=./Caliper-2.8.0_bld
export caliper_DIR=${HOME}/Caliper-2.12.1_bld/share/cmake/caliper
FC=mpif90 cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DENABLE_PROFILER=caliper -DBUILD_TESTING=ON
cmake --build build --verbose
92 changes: 92 additions & 0 deletions .github/workflows/RunnerFastCI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# This is a basic workflow to help you get started with Actions
name: FastCI4Push

defaults:
run:
shell: bash

# Controls when the action will run. Triggers the workflow on pull request
# events but only for the master branch
on: [push, fork]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a job called "bld_gnu_ompi"
Full_CI_workflow:
# The type of runner that the job will run on
runs-on: [self-hosted, linux, x64]

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
with:
clean: true

# Configure-Build-Run-Run on 4 cores
- name: Compile NHVHPC CPU
run: |
ls -ltr ~/.bashrc
source /etc/profile.d/lmod.sh
source ~/.bash_aliases
module load nvhpc
export FC=mpif90
cmake -S . -B build -DBUILD_TESTING=ON
cmake -S . -B build -DMPIEXEC_MAX_NUMPROCS=4
cmake --build build -j 4
cmake --install build
ctest --test-dir build
rm -rf build

# Configure-Build-Run
- name: Compile NHVHPC GPU NCCL
run: |
ls -ltr ~/.bashrc
source /etc/profile.d/lmod.sh
source ~/.bash_aliases
module load nvhpc
export FC=mpif90
cmake -S . -B build -DBUILD_TESTING=ON -DBUILD_TARGET=gpu -DENABLE_NCCL=yes
cmake --build build -j 4
cmake --install build
ctest --test-dir build
rm -rf build

# Configure-Build-Run-Run on 4 cores
- name: Compile GNU_Dev openMPI FFTW_F03 ADIOS2 CPU
run: |
ls -ltr ~/.bashrc
source /etc/profile.d/lmod.sh
source ~/.bash_aliases
module load foss
export FC=mpif90
export CC=mpicc
export CXX=mpicxx
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON -DIO_BACKEND=adios2 -Dadios2_DIR=~/GIT/ADIOS2/build/build_foss2023b/opt/lib/cmake/adios2 -DFFT_Choice=fftw_f03
cmake -S . -B build -DMPIEXEC_MAX_NUMPROCS=4
cmake --build build -j 4
cmake --install build
ctest --test-dir build
rm -rf build

# Configure-Build-Run-Run on 4 cores
- name: Compile IntelLLVM MKL CPU
run: |
ls -ltr ~/.bashrc
source /etc/profile.d/lmod.sh
source ~/.bash_aliases
ml tbb
ml compiler-rt
ml umf
ml compiler
ml mpi
ml mkl
export FC=mpiifx
export MKL_DIR=${MKLROOT}/lib/cmake/mkl
cmake -S . -B build -DCMAKE_BUILD_TYPE=Dev -DBUILD_TESTING=ON -DFFT_Choice=mkl
cmake -S . -B build -DMPIEXEC_MAX_NUMPROCS=4
cmake --build build -j 4
cmake --install build
ctest --test-dir build
rm -rf build

Loading