filter out input scripts for testing, remove concurrent (matrix) testing
This commit is contained in:
30
.github/workflows/kokkos-regression.yaml
vendored
30
.github/workflows/kokkos-regression.yaml
vendored
@ -16,10 +16,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
||||||
strategy:
|
|
||||||
max-parallel: 4
|
|
||||||
matrix:
|
|
||||||
style: [ 'pair', 'fix', 'compute', 'misc' ]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@ -73,6 +69,7 @@ jobs:
|
|||||||
-D PKG_PYTHON=on \
|
-D PKG_PYTHON=on \
|
||||||
-D PKG_QEQ=on \
|
-D PKG_QEQ=on \
|
||||||
-D PKG_REAXFF=on \
|
-D PKG_REAXFF=on \
|
||||||
|
-D PKG_REPLICA=on \
|
||||||
-D BUILD_OMP=yes \
|
-D BUILD_OMP=yes \
|
||||||
-G Ninja
|
-G Ninja
|
||||||
cmake --build build
|
cmake --build build
|
||||||
@ -82,32 +79,23 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
source linuxenv/bin/activate
|
source linuxenv/bin/activate
|
||||||
python3 tools/regression-tests/get_kokkos_input.py --examples-top-level=examples
|
python3 tools/regression-tests/get_kokkos_input.py --examples-top-level=examples --filter-out="balance;mdi;mliap;pace;prd;pour;python;snap"
|
||||||
|
|
||||||
python3 tools/regression-tests/run_tests.py \
|
python3 tools/regression-tests/run_tests.py \
|
||||||
--lmp-bin=build/lmp \
|
--lmp-bin=build/lmp \
|
||||||
--config-file=tools/regression-tests/config_kokkos_openmp.yaml \
|
--config-file=tools/regression-tests/config_kokkos_openmp.yaml \
|
||||||
--list-input=input-list-${{ matrix.style }}-kk.txt \
|
--list-input=input-list-pair-kk.txt \
|
||||||
--output-file=output-${{ matrix.style }}.xml \
|
--output-file=output-pair.xml \
|
||||||
--progress-file=progress-${{ matrix.style }}.yaml \
|
--progress-file=progress-pair.yaml \
|
||||||
--log-file=run-${{ matrix.style }}.log \
|
--log-file=run-pair.log \
|
||||||
--verbose
|
--verbose
|
||||||
|
|
||||||
tar -cvf kokkos-regression-test-${{ matrix.style }}.tar run-${{ matrix.style }}.log progress-${{ matrix.style }}.yaml output-${{ matrix.style }}.xml
|
tar -cvf kokkos-regression-test-pair.tar run-pair.log progress-pair.yaml output-pair.xml
|
||||||
|
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: kokkos-regression-test-artifact-${{ matrix.style }}
|
name: kokkos-regression-test-artifact
|
||||||
path: kokkos-regression-test-${{ matrix.style }}.tar
|
path: kokkos-regression-test.tar
|
||||||
|
|
||||||
merge:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build
|
|
||||||
steps:
|
|
||||||
- name: Merge Artifacts
|
|
||||||
uses: actions/upload-artifact/merge@v4
|
|
||||||
with:
|
|
||||||
name: merged-kokkos-regresssion-artifact
|
|
||||||
pattern: kokkos-regression-test-artifact-*
|
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
# in_style = fix, pair, compute, angle, bond, dihedral, improper, min
|
# in_style = fix, pair, compute, angle, bond, dihedral, improper, min
|
||||||
def generate_list(in_style, example_toplevel, output_list):
|
def generate_list(in_style, example_toplevel, filter_out, output_list):
|
||||||
|
|
||||||
# find all the pair styles with the kokkos suffix
|
# find all the pair styles with the kokkos suffix
|
||||||
cmd_str = f"ls {example_toplevel}/../src/KOKKOS | grep {in_style} | grep .cpp"
|
cmd_str = f"ls {example_toplevel}/../src/KOKKOS | grep {in_style} | grep .cpp"
|
||||||
@ -40,21 +40,31 @@ def generate_list(in_style, example_toplevel, output_list):
|
|||||||
#print(f"There are {len(input_list)} input files that contains {in_style} {style}")
|
#print(f"There are {len(input_list)} input files that contains {in_style} {style}")
|
||||||
for input in input_list:
|
for input in input_list:
|
||||||
if input != "":
|
if input != "":
|
||||||
output_list.append(input)
|
skip = False
|
||||||
|
for filter in filter_out:
|
||||||
|
if filter in input:
|
||||||
|
skip = True
|
||||||
|
break
|
||||||
|
if skip == True:
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
output_list.append(input)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser()
|
||||||
parser.add_argument("--examples-top-level", dest="example_toplevel", default="", help="Examples top-level")
|
parser.add_argument("--examples-top-level", dest="example_toplevel", default="", help="Examples top-level")
|
||||||
|
parser.add_argument("--filter-out", dest="filter_out", default="", help="Filter out input scripts that contain strings")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
example_toplevel = args.example_toplevel
|
example_toplevel = args.example_toplevel
|
||||||
|
filter_out = args.filter_out.split(";")
|
||||||
|
|
||||||
# print the list of the input scripts that has each feature to a separate file
|
# print the list of the input scripts that has each feature to a separate file
|
||||||
features = [ 'pair', 'fix', 'compute' ]
|
features = [ 'pair', 'fix', 'compute' ]
|
||||||
for feature in features:
|
for feature in features:
|
||||||
input_list = []
|
input_list = []
|
||||||
generate_list(feature, example_toplevel, input_list)
|
generate_list(feature, example_toplevel, filter_out, input_list)
|
||||||
with open(f"input-list-{feature}-kk.txt", "w") as f:
|
with open(f"input-list-{feature}-kk.txt", "w") as f:
|
||||||
for input in input_list:
|
for input in input_list:
|
||||||
if input != "":
|
if input != "":
|
||||||
@ -64,7 +74,7 @@ if __name__ == "__main__":
|
|||||||
features = [ 'angle', 'bond', 'dihedral', 'improper', 'min' ]
|
features = [ 'angle', 'bond', 'dihedral', 'improper', 'min' ]
|
||||||
input_list = []
|
input_list = []
|
||||||
for feature in features:
|
for feature in features:
|
||||||
generate_list(feature, example_toplevel, input_list)
|
generate_list(feature, example_toplevel, filter_out, input_list)
|
||||||
|
|
||||||
with open(f"input-list-misc-kk.txt", "w") as f:
|
with open(f"input-list-misc-kk.txt", "w") as f:
|
||||||
for input in input_list:
|
for input in input_list:
|
||||||
|
|||||||
Reference in New Issue
Block a user