diff --git a/.github/workflows/kokkos-regression.yaml b/.github/workflows/kokkos-regression.yaml index 4c482a67cc..95117aa206 100644 --- a/.github/workflows/kokkos-regression.yaml +++ b/.github/workflows/kokkos-regression.yaml @@ -16,10 +16,6 @@ jobs: runs-on: ubuntu-latest env: CCACHE_DIR: ${{ github.workspace }}/.ccache - strategy: - max-parallel: 4 - matrix: - style: [ 'pair', 'fix', 'compute', 'misc' ] steps: - name: Checkout repository @@ -73,6 +69,7 @@ jobs: -D PKG_PYTHON=on \ -D PKG_QEQ=on \ -D PKG_REAXFF=on \ + -D PKG_REPLICA=on \ -D BUILD_OMP=yes \ -G Ninja cmake --build build @@ -82,32 +79,23 @@ jobs: shell: bash run: | 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 \ --lmp-bin=build/lmp \ --config-file=tools/regression-tests/config_kokkos_openmp.yaml \ - --list-input=input-list-${{ matrix.style }}-kk.txt \ - --output-file=output-${{ matrix.style }}.xml \ - --progress-file=progress-${{ matrix.style }}.yaml \ - --log-file=run-${{ matrix.style }}.log \ + --list-input=input-list-pair-kk.txt \ + --output-file=output-pair.xml \ + --progress-file=progress-pair.yaml \ + --log-file=run-pair.log \ --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 uses: actions/upload-artifact@v4 with: - name: kokkos-regression-test-artifact-${{ matrix.style }} - path: kokkos-regression-test-${{ matrix.style }}.tar + name: kokkos-regression-test-artifact + 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-* diff --git a/tools/regression-tests/get_kokkos_input.py b/tools/regression-tests/get_kokkos_input.py index 12697a8b1c..6f6781abb9 100644 --- a/tools/regression-tests/get_kokkos_input.py +++ b/tools/regression-tests/get_kokkos_input.py @@ -11,7 +11,7 @@ import subprocess import sys # 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 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}") for input in input_list: 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__": parser = ArgumentParser() 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() 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 features = [ 'pair', 'fix', 'compute' ] for feature in features: 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: for input in input_list: if input != "": @@ -64,7 +74,7 @@ if __name__ == "__main__": features = [ 'angle', 'bond', 'dihedral', 'improper', 'min' ] input_list = [] 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: for input in input_list: