Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add parallel_reduce #34

Merged
merged 12 commits into from
Sep 12, 2020
Merged

add parallel_reduce #34

merged 12 commits into from
Sep 12, 2020

Conversation

tcclevenger
Copy link
Contributor

Motivation

ExeSpaceUtils::parallel_reduce() discussed in Issue #32. Allows for a serial implementation for parallel_reduce() for the purpose of matching bfb to fortran.

ExeSpaceUtils::reduce_add() discussed in Issue #26. Provides a function which gives the sum over an ekat::Pack. Also allows for a serial implementation for the purpose of matching bfb to fortran.

Testing

I created 2 tests in tests/kokkos/kokkos_utils_tests.cpp: parallel_reduce and reduce_add, which compare some simple serial computation done in for loops (like in fortran) with the serialized version of the implemented functions. Each test, when tested on the GPU, passes only when serialize=true. On the CPU, parallel_reduce passes with serialize=false, but that may be expected.

Additional Information

A few comments/questions:

  • Ideally bool serialize would be a template parameter in both functions, however for parallel_reduce() I was unsure how I would call the function given that I do not know the explicit Lambda type and am relying on the compiler to detect it for me. Also, the src directory does not seem to know the correct value of EKAT_TEST_STRICT_FP, so I couldn't use that as in this example (line 321). Open to suggestions.
  • For both functions, I basically have a completely identical copy for Cuda and CPU implementation. Is there a way I can avoid this?
  • In reduce_add(), I'm guessing that PackType::nreturn the potential size of the pack, and does not account for garbage if it is not completely full? Which could be an issue if I'm summing up all entries.. From here, they were able to access ColInfo<LENGTH>::LastPackLen to test if the final pack was full. Do I have something similar available here?
  • I'm open to all suggestions, criticisms, etc. Let me know too if the formatting/indenting is acceptable.

@welcome
Copy link

welcome bot commented Sep 9, 2020

Thanks for opening this pull request! Please check out our contributing guidelines.

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 23
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 20
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 24
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Using Repos:

Repo: EKAT (E3SM-Project/EKAT)
  • Branch: bfb_parallel_reduce
  • SHA: 5c6748c
  • Mode: TEST_REPO

Pull Request Author: tcclevenger

Kokkos::parallel_reduce(Kokkos::TeamThreadRange(team, begin, end), lambda, result);
}

template<typename PackType, typename ValueType, bool Serialize=false>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't address the primary need. Luca suggested looking at https://github.com/E3SM-Project/E3SM/blob/b7b269b3cfaca869e861fa01e6d65e201dc588a3/components/homme/src/share/cxx/ColumnOps.hpp#L474, and I agree that's the best approach. The minor issue of providing a reduction over a single pack can wait for a future PR, and when it's done, it will live in ekat_pack.hpp, since it has nothing to do with Kokkos.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, yes I wasn't sure since the suggestion in the issue listed only the single pack version, but I will implement this tomorrow.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see #26 (comment) and subsequent comments.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is being moved to a new PR

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 4 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 23
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 20
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 24
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Blake # 23 (click to expand)

[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostSpace.cpp.o
[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostSpace_deepcopy.cpp.o
[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Profiling_Interface.cpp.o
[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Serial_Task.cpp.o
[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Stacktrace.cpp.o
[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_SharedAlloc.cpp.o
[ 47%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Spinwait.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/OpenMP/Kokkos_OpenMP_Task.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_hwloc.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/OpenMP/Kokkos_OpenMP_Exec.cpp.o
[ 49%] Linking CXX static library libkokkoscore.a
[ 49%] Built target kokkoscore
Scanning dependencies of target kokkoscontainers
[ 50%] Building CXX object externals/kokkos/containers/src/CMakeFiles/kokkoscontainers.dir/impl/Kokkos_UnorderedMap_impl.cpp.o
[ 51%] Linking CXX static library libkokkoscontainers.a
[ 51%] Built target kokkoscontainers
[ 52%] Linking CXX static library libyaml-cppd.a
[ 52%] Built target yaml-cpp
Scanning dependencies of target ekat
[ 54%] Building Fortran object src/ekat/CMakeFiles/ekat.dir/util/ekat_array_io_mod.f90.o
[ 54%] Building CXX object src/ekat/CMakeFiles/ekat.dir/mpi/ekat_comm.cpp.o
[ 55%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_assert.cpp.o
[ 56%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_session.cpp.o
[ 57%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_parameter_list.cpp.o
[ 60%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_array_io.cpp.o
[ 60%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_parse_yaml_file.cpp.o
[ 60%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_string_utils.cpp.o
[ 62%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_arch.cpp.o
[ 62%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_test_utils.cpp.o
[ 63%] Linking CXX static library libekat.a
[ 63%] Built target ekat
Scanning dependencies of target ekat_test_session
[ 64%] Building CXX object src/ekat/CMakeFiles/ekat_test_session.dir/util/ekat_test_session.cpp.o
Scanning dependencies of target kernel_assert
[ 65%] Linking CXX static library libekat_test_session.a
[ 67%] Building CXX object tests/utils/CMakeFiles/kernel_assert.dir/kernel_assert.cpp.o
Scanning dependencies of target ekat_test_main
[ 68%] Building CXX object src/ekat/CMakeFiles/ekat_test_main.dir/util/ekat_catch_main.cpp.o
[ 68%] Built target ekat_test_session
Scanning dependencies of target tridiag
[ 69%] Building Fortran object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_bfb_mod.F90.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests.cpp.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_bfb.cpp.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_performance.cpp.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_correctness.cpp.o
[ 74%] Linking CXX executable kernel_assert
[ 74%] Built target kernel_assert
[ 75%] Linking CXX static library libekat_test_main.a
[ 76%] Linking CXX executable tridiag
[ 76%] Built target ekat_test_main
Scanning dependencies of target debug_tools
Scanning dependencies of target yaml_parser
Scanning dependencies of target units
[ 77%] Building CXX object tests/utils/CMakeFiles/debug_tools.dir/debug_tools_tests.cpp.o
[ 78%] Building CXX object tests/io/CMakeFiles/yaml_parser.dir/yaml_parser.cpp.o
[ 79%] Building CXX object tests/units/CMakeFiles/units.dir/units.cpp.o
Scanning dependencies of target lin_interp
[ 80%] Building Fortran object tests/algorithm/CMakeFiles/lin_interp.dir/lin_interp_ref.f90.o
[ 81%] Building CXX object tests/algorithm/CMakeFiles/lin_interp.dir/lin_interp_test.cpp.o
Scanning dependencies of target upper_bound
Scanning dependencies of target util_cxx
Scanning dependencies of target kokkos_utils
Scanning dependencies of target wsm
Scanning dependencies of target array_io
Scanning dependencies of target packs
[ 83%] Building CXX object tests/utils/CMakeFiles/upper_bound.dir/upper_bound_test.cpp.o
[ 83%] Building CXX object tests/utils/CMakeFiles/util_cxx.dir/util_tests.cpp.o
[ 84%] Building Fortran object tests/io/CMakeFiles/array_io.dir/array_io_tests.f90.o
[ 86%] Building CXX object tests/kokkos/CMakeFiles/wsm.dir/workspace_tests.cpp.o
[ 86%] Building CXX object tests/kokkos/CMakeFiles/kokkos_utils.dir/kokkos_utils_tests.cpp.o
[ 87%] Building CXX object tests/io/CMakeFiles/array_io.dir/array_io_tests.cpp.o
[ 89%] Building CXX object tests/pack/CMakeFiles/packs.dir/pack_kokkos_tests.cpp.o
[ 89%] Building CXX object tests/pack/CMakeFiles/packs.dir/pack_tests.cpp.o
[ 90%] Linking CXX executable units
[ 91%] Linking CXX executable yaml_parser
[ 92%] Linking CXX executable array_io
[ 92%] Built target tridiag
[ 93%] Linking CXX executable upper_bound
[ 94%] Linking CXX executable util_cxx
[ 95%] Linking CXX executable lin_interp
[ 96%] Linking CXX executable wsm
[ 97%] Linking CXX executable kokkos_utils
[ 97%] Built target units
[ 97%] Built target array_io
[ 97%] Built target yaml_parser
[ 97%] Built target upper_bound
[ 97%] Built target util_cxx
[ 97%] Built target lin_interp
[ 97%] Built target wsm
[ 97%] Built target kokkos_utils
[ 98%] Linking CXX executable debug_tools
[100%] Linking CXX executable packs
[100%] Built target packs
[100%] Built target debug_tools
+ '[' 0 -ne 0 ']'
+ srun ctest --output-on-failure
srun: fatal: Invalid user id: 114754
Build step 'Execute shell' marked build as failure
Sending e-mails to: lbertag@sandia.gov
Finished: FAILURE

Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Bowman # 20 (click to expand)

      Start 14: lin_interp_ut_np1_omp14
14/56 Test #14: lin_interp_ut_np1_omp14 ..........   Passed   10.45 sec
      Start 15: lin_interp_ut_np1_omp15
15/56 Test #15: lin_interp_ut_np1_omp15 ..........   Passed   10.73 sec
      Start 16: lin_interp_ut_np1_omp16
16/56 Test #16: lin_interp_ut_np1_omp16 ..........   Passed   11.50 sec
      Start 17: tridiag_ut_np1_omp16
17/56 Test #17: tridiag_ut_np1_omp16 .............   Passed  229.98 sec
      Start 18: array_io_ut_np1_omp1
18/56 Test #18: array_io_ut_np1_omp1 .............   Passed    1.52 sec
      Start 19: yaml_parser_ut_np1_omp1
19/56 Test #19: yaml_parser_ut_np1_omp1 ..........   Passed    1.40 sec
      Start 20: kokkos_utils_ut_np1_omp1
20/56 Test #20: kokkos_utils_ut_np1_omp1 .........   Passed    1.28 sec
      Start 21: kokkos_utils_ut_np1_omp2
21/56 Test #21: kokkos_utils_ut_np1_omp2 .........   Passed    1.18 sec
      Start 22: kokkos_utils_ut_np1_omp3
22/56 Test #22: kokkos_utils_ut_np1_omp3 .........   Passed    1.22 sec
      Start 23: kokkos_utils_ut_np1_omp4
23/56 Test #23: kokkos_utils_ut_np1_omp4 .........   Passed    1.25 sec
      Start 24: kokkos_utils_ut_np1_omp5
24/56 Test #24: kokkos_utils_ut_np1_omp5 .........   Passed    1.28 sec
      Start 25: kokkos_utils_ut_np1_omp6
25/56 Test #25: kokkos_utils_ut_np1_omp6 .........   Passed    1.23 sec
      Start 26: kokkos_utils_ut_np1_omp7
26/56 Test #26: kokkos_utils_ut_np1_omp7 .........   Passed    1.36 sec
      Start 27: kokkos_utils_ut_np1_omp8
27/56 Test #27: kokkos_utils_ut_np1_omp8 .........   Passed    1.65 sec
      Start 28: kokkos_utils_ut_np1_omp9
28/56 Test #28: kokkos_utils_ut_np1_omp9 .........   Passed    1.48 sec
      Start 29: kokkos_utils_ut_np1_omp10
29/56 Test #29: kokkos_utils_ut_np1_omp10 ........   Passed    1.56 sec
      Start 30: kokkos_utils_ut_np1_omp11
30/56 Test #30: kokkos_utils_ut_np1_omp11 ........   Passed    1.87 sec
      Start 31: kokkos_utils_ut_np1_omp12
31/56 Test #31: kokkos_utils_ut_np1_omp12 ........   Passed    1.70 sec
      Start 32: kokkos_utils_ut_np1_omp13
32/56 Test #32: kokkos_utils_ut_np1_omp13 ........   Passed    2.17 sec
      Start 33: kokkos_utils_ut_np1_omp14
33/56 Test #33: kokkos_utils_ut_np1_omp14 ........   Passed    2.31 sec
      Start 34: kokkos_utils_ut_np1_omp15
34/56 Test #34: kokkos_utils_ut_np1_omp15 ........   Passed    2.49 sec
      Start 35: kokkos_utils_ut_np1_omp16
35/56 Test #35: kokkos_utils_ut_np1_omp16 ........   Passed    2.51 sec
      Start 36: wsm_ut_np1_omp1
36/56 Test #36: wsm_ut_np1_omp1 ..................   Passed    1.28 sec
      Start 37: wsm_ut_np1_omp2
37/56 Test #37: wsm_ut_np1_omp2 ..................   Passed    1.55 sec
      Start 38: wsm_ut_np1_omp3
38/56 Test #38: wsm_ut_np1_omp3 ..................   Passed    1.26 sec
      Start 39: wsm_ut_np1_omp4
39/56 Test #39: wsm_ut_np1_omp4 ..................   Passed    1.30 sec
      Start 40: wsm_ut_np1_omp5
40/56 Test #40: wsm_ut_np1_omp5 ..................   Passed    1.34 sec
      Start 41: wsm_ut_np1_omp6
41/56 Test #41: wsm_ut_np1_omp6 ..................   Passed    1.35 sec
      Start 42: wsm_ut_np1_omp7
42/56 Test #42: wsm_ut_np1_omp7 ..................   Passed    1.61 sec
      Start 43: wsm_ut_np1_omp8
43/56 Test #43: wsm_ut_np1_omp8 ..................   Passed    1.68 sec
      Start 44: wsm_ut_np1_omp9
44/56 Test #44: wsm_ut_np1_omp9 ..................   Passed    1.49 sec
      Start 45: wsm_ut_np1_omp10
45/56 Test #45: wsm_ut_np1_omp10 .................   Passed    1.49 sec
      Start 46: wsm_ut_np1_omp11
46/56 Test #46: wsm_ut_np1_omp11 .................   Passed    1.63 sec
      Start 47: wsm_ut_np1_omp12
47/56 Test #47: wsm_ut_np1_omp12 .................   Passed    1.81 sec
      Start 48: wsm_ut_np1_omp13
48/56 Test #48: wsm_ut_np1_omp13 .................   Passed    1.40 sec
      Start 49: wsm_ut_np1_omp14
49/56 Test #49: wsm_ut_np1_omp14 .................   Passed    1.60 sec
      Start 50: wsm_ut_np1_omp15
50/56 Test #50: wsm_ut_np1_omp15 .................   Passed    1.61 sec
      Start 51: wsm_ut_np1_omp16
51/56 Test #51: wsm_ut_np1_omp16 .................   Passed    1.92 sec
      Start 52: packs_ut_np1_omp1
52/56 Test #52: packs_ut_np1_omp1 ................   Passed    1.29 sec
      Start 53: units_ut_np1_omp1
53/56 Test #53: units_ut_np1_omp1 ................   Passed    1.22 sec
      Start 54: debug_tools_ut_np1_omp1
54/56 Test #54: debug_tools_ut_np1_omp1 ..........   Passed    1.23 sec
      Start 55: util_cxx_ut_np1_omp1
55/56 Test #55: util_cxx_ut_np1_omp1 .............   Passed    1.24 sec
      Start 56: upper_bound_ut_np1_omp1
56/56 Test #56: upper_bound_ut_np1_omp1 ..........   Passed    2.63 sec

100% tests passed, 0 tests failed out of 56

Total Test time (real) = 396.16 sec

  • '[' 0 -ne 0 ']'
  • cd /home/e3sm-jenkins/bowman/workspace/EKAT_PullRequest_Autotester_Bowman
  • '[' 0 -ne 0
    /tmp/jenkins9067336038344386602.sh: line 101: [: missing `]'
  • '[' 0 -ne 0
    /tmp/jenkins9067336038344386602.sh: line 106: [: missing `]'
  • '[' 0 -ne 0 ']'
  • '[' 0 -ne 0 ']'
  • exit 0
    Finished: SUCCESS
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Weaver # 24 (click to expand)

-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_ErrorReporter.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_Functional.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_OffsetView.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_ScatterView.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_StaticCrsGraph.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_UnorderedMap.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_Vector.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Bitset_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Functional_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_StaticCrsGraph_factory.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_UnorderedMap_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libyaml-cppd.a
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/anchor.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/binary.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib/anchordict.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib/graphbuilder.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/dll.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitfromevents.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitter.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitterdef.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emittermanip.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitterstyle.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/eventhandler.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/exceptions.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/mark.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/convert.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/impl.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator_fwd.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/memory.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_data.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_ref.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/emit.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/impl.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/node.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/parse.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/ptr.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/type.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/noexcept.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/null.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/ostream_wrapper.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/parser.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/stlemitter.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/traits.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/yaml.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets-debug.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config-version.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/pkgconfig/yaml-cpp.pc
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_pack.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_parse_yaml_file.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_workspace.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_pack_kokkos.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_scalar_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_workspace_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_assert.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_parameter_list.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_session.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_macros.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_type_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_meta.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_types.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_utils.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/mpi/ekat_comm.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_any.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_enable_shared_from_this.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_type_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_utils.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat_test_main.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat_test_session.a
+ '[' 0 -ne 0 ']'
+ cd /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver
+ '[' 0 -ne 0
/tmp/jenkins3428636201947303841.sh: line 101: [: missing `]'
+ '[' 0 -ne 0
/tmp/jenkins3428636201947303841.sh: line 106: [: missing `]'
+ '[' 0 -ne 0 ']'
+ '[' 0 -ne 0 ']'
+ exit 0
Finished: SUCCESS

Copy link
Contributor

@bartgol bartgol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The implementations look good, but I have a few requests. Feel free to push back on what you disagree.

src/ekat/kokkos/ekat_kokkos_utils.hpp Outdated Show resolved Hide resolved
src/ekat/kokkos/ekat_kokkos_utils.hpp Outdated Show resolved Hide resolved
src/ekat/kokkos/ekat_kokkos_utils.hpp Outdated Show resolved Hide resolved

template<typename PackType, typename ValueType, bool Serialize=false>
static KOKKOS_INLINE_FUNCTION
void reduce_add (const PackType& p,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be in the ekat_pack.hpp file. I would also add it as a method of the pack class, actually, but free function is probably ok.

Copy link
Contributor Author

@tcclevenger tcclevenger Sep 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll implement this in ekat_pack.hpp (is it ok as part of this pull request?) and then add the column_reduce() function here as discussed here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can go both ways (single PR vs two PRs). Multiple PRs make code review faster, but I don't feel strongly either way.

Copy link
Contributor Author

@tcclevenger tcclevenger Sep 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is being moved to a new PR

else
{
typename PackType::scalar sum = p[0];
vector_simd for (int i = 1; i < PackType::n; ++i) sum += p[i];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be interesting to write a micro reproducer for a simd reduction (without ekat, just plain cpp), and check if vector_simd vectorizes. If not, try with something like

#define vector_simd_reduce(op,result) _Pragma("omp simd reduction(op:result)")

(if openmp is enabled, and expand to nothing otherwise). I suspect vector_simd might not always vectorize, while the omp simd reduction will. Or, at least, the latter will vectorize more times.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to a new PR

ekat::ExeSpaceUtils<ExeSpace>::parallel_reduce(team, begin, end,
[&] (const int k, Scalar& reduction_value) {
reduction_value += data[k];
}, true/*serialize*/, team_result);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might consider adding a short "fake" test for serialize=false. Not to check the answer (will be non deterministic), but to check stuff compiles and runs without issues.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On this test, I added a template parameter for whether or not the REQUIRE(results_h(0) == serial_result); is run based on EKAT_TEST_STRICT_FP. So on a non-bfb run the test runs just without the failing assertion. Is this acceptable? I'm can definitely change this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is outdated now. I will run a test with both Serialize=true/false and only test values when true.

Copy link
Contributor

@bartgol bartgol Sep 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not a fan of EKAT_TEST_STRICT_FP. Ekat offers some features, that should work (perhaps following different code paths) regardless. We should test both a "strict" code flow, as well as a "release" code flow. Obviously, the checks that need to occur are different (like you suggested, not running the REQUIRE clause if not a strict run).

That said, I don't see where the extra tepmlate parameter is. Maybe you haven't pushed yet? Either way, let's make sure that the function is executed with both serialize true and false (and also check results for the true case).

}

ekat::ExeSpaceUtils<ExeSpace>::reduce_add<PackType,Scalar,true/*serialize*/>(pack,reduce_add_result);
REQUIRE(reduce_add_result == serial_result);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should test both serialize and not serialize. However, is the vector reduction guaranteed to give the same result if serialize=false? I suspect not. However, if your input contains powers of two only (of not too different exponents), then the floating point ops are commutative. You could for instance check that a pack containing [1, 0.5, 0.25, ..., 0.5^N-1] sums up to (1-0.5^N)/(1-0.5) (I hope I didn't mess up the math formula, but you get the gist). This sum should always be exact (at least in single/double precision, if we ever add half precision, we may have to limit pack size N to something like 10).

{
for (int i = 0; i < PackType::n; ++i)
result += p[i];
}
Copy link
Contributor

@bartgol bartgol Sep 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is me being pedantic (read: feel free to ignore this), but in the rest of scream/ekat, we put opening braces on the same level of the if/for statements, and else statements appear as } else { (one line).

Not a big deal, feel free to disregard.

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 24
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 21
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 25
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Using Repos:

Repo: EKAT (E3SM-Project/EKAT)
  • Branch: bfb_parallel_reduce
  • SHA: 5c6748c
  • Mode: TEST_REPO

Pull Request Author: tcclevenger

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 4 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 24
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 21
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 25
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Blake # 24 (click to expand)

[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostThreadTeam.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_MemoryPool.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Profiling_Interface.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/OpenMP/Kokkos_OpenMP_Exec.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Serial_Task.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Spinwait.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_hwloc.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_SharedAlloc.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Stacktrace.cpp.o
[ 48%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/OpenMP/Kokkos_OpenMP_Task.cpp.o
[ 49%] Linking CXX static library libyaml-cppd.a
[ 49%] Built target yaml-cpp
[ 50%] Linking CXX static library libkokkoscore.a
[ 50%] Built target kokkoscore
Scanning dependencies of target kokkoscontainers
[ 51%] Building CXX object externals/kokkos/containers/src/CMakeFiles/kokkoscontainers.dir/impl/Kokkos_UnorderedMap_impl.cpp.o
[ 52%] Linking CXX static library libkokkoscontainers.a
[ 52%] Built target kokkoscontainers
Scanning dependencies of target ekat
[ 53%] Building Fortran object src/ekat/CMakeFiles/ekat.dir/util/ekat_array_io_mod.f90.o
[ 55%] Building CXX object src/ekat/CMakeFiles/ekat.dir/mpi/ekat_comm.cpp.o
[ 55%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_assert.cpp.o
[ 56%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_session.cpp.o
[ 57%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_parameter_list.cpp.o
[ 58%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_parse_yaml_file.cpp.o
[ 60%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_array_io.cpp.o
[ 62%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_string_utils.cpp.o
[ 62%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_arch.cpp.o
[ 62%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_test_utils.cpp.o
[ 63%] Linking CXX static library libekat.a
[ 63%] Built target ekat
Scanning dependencies of target ekat_test_session
[ 64%] Building CXX object src/ekat/CMakeFiles/ekat_test_session.dir/util/ekat_test_session.cpp.o
[ 65%] Linking CXX static library libekat_test_session.a
Scanning dependencies of target kernel_assert
Scanning dependencies of target ekat_test_main
[ 67%] Building CXX object tests/utils/CMakeFiles/kernel_assert.dir/kernel_assert.cpp.o
[ 68%] Building CXX object src/ekat/CMakeFiles/ekat_test_main.dir/util/ekat_catch_main.cpp.o
[ 68%] Built target ekat_test_session
Scanning dependencies of target tridiag
[ 69%] Building Fortran object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_bfb_mod.F90.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests.cpp.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_correctness.cpp.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_bfb.cpp.o
[ 73%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_performance.cpp.o
[ 74%] Linking CXX executable kernel_assert
[ 74%] Built target kernel_assert
[ 75%] Linking CXX executable tridiag
[ 76%] Linking CXX static library libekat_test_main.a
[ 76%] Built target tridiag
[ 76%] Built target ekat_test_main
Scanning dependencies of target units
Scanning dependencies of target yaml_parser
Scanning dependencies of target debug_tools
[ 79%] Building CXX object tests/units/CMakeFiles/units.dir/units.cpp.o
[ 79%] Building CXX object tests/io/CMakeFiles/yaml_parser.dir/yaml_parser.cpp.o
[ 79%] Building CXX object tests/utils/CMakeFiles/debug_tools.dir/debug_tools_tests.cpp.o
Scanning dependencies of target wsm
Scanning dependencies of target util_cxx
Scanning dependencies of target kokkos_utils
Scanning dependencies of target upper_bound
Scanning dependencies of target array_io
Scanning dependencies of target lin_interp
Scanning dependencies of target packs
[ 85%] Building CXX object tests/utils/CMakeFiles/util_cxx.dir/util_tests.cpp.o
[ 85%] Building CXX object tests/kokkos/CMakeFiles/wsm.dir/workspace_tests.cpp.o
[ 85%] Building CXX object tests/kokkos/CMakeFiles/kokkos_utils.dir/kokkos_utils_tests.cpp.o
[ 85%] Building CXX object tests/utils/CMakeFiles/upper_bound.dir/upper_bound_test.cpp.o
[ 85%] Building Fortran object tests/io/CMakeFiles/array_io.dir/array_io_tests.f90.o
[ 85%] Building Fortran object tests/algorithm/CMakeFiles/lin_interp.dir/lin_interp_ref.f90.o
[ 86%] Building CXX object tests/io/CMakeFiles/array_io.dir/array_io_tests.cpp.o
[ 89%] Building CXX object tests/pack/CMakeFiles/packs.dir/pack_tests.cpp.o
[ 89%] Building CXX object tests/algorithm/CMakeFiles/lin_interp.dir/lin_interp_test.cpp.o
[ 89%] Building CXX object tests/pack/CMakeFiles/packs.dir/pack_kokkos_tests.cpp.o
[ 90%] Linking CXX executable debug_tools
[ 91%] Linking CXX executable yaml_parser
[ 92%] Linking CXX executable array_io
[ 93%] Linking CXX executable upper_bound
[ 94%] Linking CXX executable util_cxx
[ 95%] Linking CXX executable lin_interp
[ 96%] Linking CXX executable wsm
[ 97%] Linking CXX executable kokkos_utils
[ 97%] Built target debug_tools
[ 97%] Built target array_io
[ 97%] Built target upper_bound
[ 97%] Built target yaml_parser
[ 97%] Built target util_cxx
[ 97%] Built target wsm
[ 97%] Built target kokkos_utils
[ 97%] Built target lin_interp
[ 98%] Linking CXX executable units
[100%] Linking CXX executable packs
[100%] Built target packs
[100%] Built target units
+ '[' 0 -ne 0 ']'
+ srun ctest --output-on-failure
srun: fatal: Invalid user id: 114754
Build step 'Execute shell' marked build as failure
Sending e-mails to: lbertag@sandia.gov
Finished: FAILURE

Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Bowman # 21 (click to expand)

      Start 14: lin_interp_ut_np1_omp14
14/56 Test #14: lin_interp_ut_np1_omp14 ..........   Passed    9.93 sec
      Start 15: lin_interp_ut_np1_omp15
15/56 Test #15: lin_interp_ut_np1_omp15 ..........   Passed   10.59 sec
      Start 16: lin_interp_ut_np1_omp16
16/56 Test #16: lin_interp_ut_np1_omp16 ..........   Passed   11.56 sec
      Start 17: tridiag_ut_np1_omp16
17/56 Test #17: tridiag_ut_np1_omp16 .............   Passed  227.34 sec
      Start 18: array_io_ut_np1_omp1
18/56 Test #18: array_io_ut_np1_omp1 .............   Passed    1.34 sec
      Start 19: yaml_parser_ut_np1_omp1
19/56 Test #19: yaml_parser_ut_np1_omp1 ..........   Passed    1.24 sec
      Start 20: kokkos_utils_ut_np1_omp1
20/56 Test #20: kokkos_utils_ut_np1_omp1 .........   Passed    1.22 sec
      Start 21: kokkos_utils_ut_np1_omp2
21/56 Test #21: kokkos_utils_ut_np1_omp2 .........   Passed    1.18 sec
      Start 22: kokkos_utils_ut_np1_omp3
22/56 Test #22: kokkos_utils_ut_np1_omp3 .........   Passed    1.26 sec
      Start 23: kokkos_utils_ut_np1_omp4
23/56 Test #23: kokkos_utils_ut_np1_omp4 .........   Passed    1.23 sec
      Start 24: kokkos_utils_ut_np1_omp5
24/56 Test #24: kokkos_utils_ut_np1_omp5 .........   Passed    1.27 sec
      Start 25: kokkos_utils_ut_np1_omp6
25/56 Test #25: kokkos_utils_ut_np1_omp6 .........   Passed    1.31 sec
      Start 26: kokkos_utils_ut_np1_omp7
26/56 Test #26: kokkos_utils_ut_np1_omp7 .........   Passed    1.33 sec
      Start 27: kokkos_utils_ut_np1_omp8
27/56 Test #27: kokkos_utils_ut_np1_omp8 .........   Passed    1.42 sec
      Start 28: kokkos_utils_ut_np1_omp9
28/56 Test #28: kokkos_utils_ut_np1_omp9 .........   Passed    1.48 sec
      Start 29: kokkos_utils_ut_np1_omp10
29/56 Test #29: kokkos_utils_ut_np1_omp10 ........   Passed    1.56 sec
      Start 30: kokkos_utils_ut_np1_omp11
30/56 Test #30: kokkos_utils_ut_np1_omp11 ........   Passed    1.88 sec
      Start 31: kokkos_utils_ut_np1_omp12
31/56 Test #31: kokkos_utils_ut_np1_omp12 ........   Passed    2.02 sec
      Start 32: kokkos_utils_ut_np1_omp13
32/56 Test #32: kokkos_utils_ut_np1_omp13 ........   Passed    1.89 sec
      Start 33: kokkos_utils_ut_np1_omp14
33/56 Test #33: kokkos_utils_ut_np1_omp14 ........   Passed    2.25 sec
      Start 34: kokkos_utils_ut_np1_omp15
34/56 Test #34: kokkos_utils_ut_np1_omp15 ........   Passed    2.18 sec
      Start 35: kokkos_utils_ut_np1_omp16
35/56 Test #35: kokkos_utils_ut_np1_omp16 ........   Passed    2.35 sec
      Start 36: wsm_ut_np1_omp1
36/56 Test #36: wsm_ut_np1_omp1 ..................   Passed    1.29 sec
      Start 37: wsm_ut_np1_omp2
37/56 Test #37: wsm_ut_np1_omp2 ..................   Passed    1.56 sec
      Start 38: wsm_ut_np1_omp3
38/56 Test #38: wsm_ut_np1_omp3 ..................   Passed    1.40 sec
      Start 39: wsm_ut_np1_omp4
39/56 Test #39: wsm_ut_np1_omp4 ..................   Passed    1.31 sec
      Start 40: wsm_ut_np1_omp5
40/56 Test #40: wsm_ut_np1_omp5 ..................   Passed    1.34 sec
      Start 41: wsm_ut_np1_omp6
41/56 Test #41: wsm_ut_np1_omp6 ..................   Passed    1.36 sec
      Start 42: wsm_ut_np1_omp7
42/56 Test #42: wsm_ut_np1_omp7 ..................   Passed    1.40 sec
      Start 43: wsm_ut_np1_omp8
43/56 Test #43: wsm_ut_np1_omp8 ..................   Passed    1.43 sec
      Start 44: wsm_ut_np1_omp9
44/56 Test #44: wsm_ut_np1_omp9 ..................   Passed    1.48 sec
      Start 45: wsm_ut_np1_omp10
45/56 Test #45: wsm_ut_np1_omp10 .................   Passed    1.70 sec
      Start 46: wsm_ut_np1_omp11
46/56 Test #46: wsm_ut_np1_omp11 .................   Passed    1.55 sec
      Start 47: wsm_ut_np1_omp12
47/56 Test #47: wsm_ut_np1_omp12 .................   Passed    1.56 sec
      Start 48: wsm_ut_np1_omp13
48/56 Test #48: wsm_ut_np1_omp13 .................   Passed    1.86 sec
      Start 49: wsm_ut_np1_omp14
49/56 Test #49: wsm_ut_np1_omp14 .................   Passed    1.74 sec
      Start 50: wsm_ut_np1_omp15
50/56 Test #50: wsm_ut_np1_omp15 .................   Passed    1.62 sec
      Start 51: wsm_ut_np1_omp16
51/56 Test #51: wsm_ut_np1_omp16 .................   Passed    1.92 sec
      Start 52: packs_ut_np1_omp1
52/56 Test #52: packs_ut_np1_omp1 ................   Passed    1.30 sec
      Start 53: units_ut_np1_omp1
53/56 Test #53: units_ut_np1_omp1 ................   Passed    1.23 sec
      Start 54: debug_tools_ut_np1_omp1
54/56 Test #54: debug_tools_ut_np1_omp1 ..........   Passed    1.23 sec
      Start 55: util_cxx_ut_np1_omp1
55/56 Test #55: util_cxx_ut_np1_omp1 .............   Passed    1.23 sec
      Start 56: upper_bound_ut_np1_omp1
56/56 Test #56: upper_bound_ut_np1_omp1 ..........   Passed    2.63 sec

100% tests passed, 0 tests failed out of 56

Total Test time (real) = 392.02 sec

  • '[' 0 -ne 0 ']'
  • cd /home/e3sm-jenkins/bowman/workspace/EKAT_PullRequest_Autotester_Bowman
  • '[' 0 -ne 0
    /tmp/jenkins3493804809994534945.sh: line 101: [: missing `]'
  • '[' 0 -ne 0
    /tmp/jenkins3493804809994534945.sh: line 106: [: missing `]'
  • '[' 0 -ne 0 ']'
  • '[' 0 -ne 0 ']'
  • exit 0
    Finished: SUCCESS
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Weaver # 25 (click to expand)

-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_ErrorReporter.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_Functional.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_OffsetView.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_ScatterView.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_StaticCrsGraph.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_UnorderedMap.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_Vector.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Bitset_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Functional_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_StaticCrsGraph_factory.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_UnorderedMap_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libyaml-cppd.a
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/anchor.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/binary.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib/anchordict.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib/graphbuilder.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/dll.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitfromevents.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitter.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitterdef.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emittermanip.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitterstyle.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/eventhandler.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/exceptions.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/mark.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/convert.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/impl.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator_fwd.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/memory.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_data.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_ref.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/emit.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/impl.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/node.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/parse.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/ptr.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/type.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/noexcept.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/null.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/ostream_wrapper.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/parser.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/stlemitter.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/traits.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/yaml.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets-debug.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config-version.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/pkgconfig/yaml-cpp.pc
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_pack.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_parse_yaml_file.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_workspace.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_pack_kokkos.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_scalar_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_workspace_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_assert.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_parameter_list.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_session.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_macros.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_type_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_meta.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_types.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_utils.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/mpi/ekat_comm.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_any.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_enable_shared_from_this.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_type_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_utils.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat_test_main.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat_test_session.a
+ '[' 0 -ne 0 ']'
+ cd /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver
+ '[' 0 -ne 0
/tmp/jenkins7791002033767307870.sh: line 101: [: missing `]'
+ '[' 0 -ne 0
/tmp/jenkins7791002033767307870.sh: line 106: [: missing `]'
+ '[' 0 -ne 0 ']'
+ '[' 0 -ne 0 ']'
+ exit 0
Finished: SUCCESS

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 25
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 22
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 26
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Using Repos:

Repo: EKAT (E3SM-Project/EKAT)
  • Branch: bfb_parallel_reduce
  • SHA: 5c6748c
  • Mode: TEST_REPO

Pull Request Author: tcclevenger

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 4 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 25
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 22
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 26
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 5c6748c
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Blake # 25 (click to expand)

Setting http proxy: wwwproxy.sandia.gov:80
 > /home/projects/x86-64/git/2.9.4/bin/git fetch --tags --progress -- https://github.com/E3SM-Project/EKAT.git +refs/heads/master:refs/remotes/origin/master +refs/pull/34/head:refs/heads/pr/34 # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git rev-parse pr/34^{commit} # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git rev-parse refs/remotes/origin/pr/34^{commit} # timeout=10
Checking out Revision 5c6748cb8baceabcdb2577ce94a621c3f8f82568 (pr/34)
 > /home/projects/x86-64/git/2.9.4/bin/git config core.sparsecheckout # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git checkout -f 5c6748cb8baceabcdb2577ce94a621c3f8f82568 # timeout=10
Commit message: "add reduce_add parallel_reduce"
 > /home/projects/x86-64/git/2.9.4/bin/git rev-list --no-walk 5c6748cb8baceabcdb2577ce94a621c3f8f82568 # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git remote # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git submodule init # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git submodule sync # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config --get remote.origin.url # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git submodule init # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config --get submodule.extern/kokkos.url # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git remote # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config --get remote.origin.url # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config -f .gitmodules --get submodule.extern/kokkos.path # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config --get submodule.extern/yaml-cpp.url # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git remote # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config --get remote.origin.url # timeout=10
 > /home/projects/x86-64/git/2.9.4/bin/git config -f .gitmodules --get submodule.extern/yaml-cpp.path # timeout=10
using GIT_SSH to set credentials jgfouca github key
 > /home/projects/x86-64/git/2.9.4/bin/git submodule update --init --recursive extern/kokkos # timeout=5
using GIT_SSH to set credentials jgfouca github key
 > /home/projects/x86-64/git/2.9.4/bin/git submodule update --init --recursive extern/yaml-cpp # timeout=5
hudson.plugins.git.GitException: Command "/home/projects/x86-64/git/2.9.4/bin/git submodule update --init --recursive extern/yaml-cpp" returned status code 1:
stdout: 
stderr: Cloning into '/home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-src/extern/yaml-cpp'...
load_public_identity_files: getpwuid failed
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:SNLComputation/yaml-cpp.git' into submodule path '/home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-src/extern/yaml-cpp' failed

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2450)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2051)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:84)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$7.lambda$execute$0(CliGitAPIImpl.java:1460)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)
at org.jenkinsci.plugins.gitclient.cgit.GitCommandsExecutor.submitRemainingCommand(GitCommandsExecutor.java:75)
at org.jenkinsci.plugins.gitclient.cgit.GitCommandsExecutor.invokeAll(GitCommandsExecutor.java:69)

Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to blake
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:998)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
at com.sun.proxy.$Proxy67.execute(Unknown Source)
at hudson.plugins.git.extensions.impl.SubmoduleOption.onCheckoutCompleted(SubmoduleOption.java:159)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1259)
at org.jenkinsci.plugins.multiplescms.MultiSCM.checkout(MultiSCM.java:143)
at hudson.scm.SCM.checkout(SCM.java:505)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1206)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1880)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:428)
Caused: hudson.plugins.git.GitException
at org.jenkinsci.plugins.gitclient.cgit.GitCommandsExecutor.checkResult(GitCommandsExecutor.java:87)
at org.jenkinsci.plugins.gitclient.cgit.GitCommandsExecutor.invokeAll(GitCommandsExecutor.java:68)
at org.jenkinsci.plugins.gitclient.cgit.GitCommandsExecutor.invokeAll(GitCommandsExecutor.java:47)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$7.execute(CliGitAPIImpl.java:1463)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:161)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:154)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:369)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused: java.io.IOException: Could not perform submodule update
at hudson.plugins.git.extensions.impl.SubmoduleOption.onCheckoutCompleted(SubmoduleOption.java:164)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1259)
at org.jenkinsci.plugins.multiplescms.MultiSCM.checkout(MultiSCM.java:143)
at hudson.scm.SCM.checkout(SCM.java:505)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1206)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1880)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:428)
Sending e-mails to: lbertag@sandia.gov
Finished: FAILURE

Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Bowman # 22 (click to expand)

      Start 14: lin_interp_ut_np1_omp14
14/56 Test #14: lin_interp_ut_np1_omp14 ..........   Passed    9.73 sec
      Start 15: lin_interp_ut_np1_omp15
15/56 Test #15: lin_interp_ut_np1_omp15 ..........   Passed   10.70 sec
      Start 16: lin_interp_ut_np1_omp16
16/56 Test #16: lin_interp_ut_np1_omp16 ..........   Passed   11.29 sec
      Start 17: tridiag_ut_np1_omp16
17/56 Test #17: tridiag_ut_np1_omp16 .............   Passed  227.69 sec
      Start 18: array_io_ut_np1_omp1
18/56 Test #18: array_io_ut_np1_omp1 .............   Passed    1.39 sec
      Start 19: yaml_parser_ut_np1_omp1
19/56 Test #19: yaml_parser_ut_np1_omp1 ..........   Passed    1.28 sec
      Start 20: kokkos_utils_ut_np1_omp1
20/56 Test #20: kokkos_utils_ut_np1_omp1 .........   Passed    1.22 sec
      Start 21: kokkos_utils_ut_np1_omp2
21/56 Test #21: kokkos_utils_ut_np1_omp2 .........   Passed    1.14 sec
      Start 22: kokkos_utils_ut_np1_omp3
22/56 Test #22: kokkos_utils_ut_np1_omp3 .........   Passed    1.16 sec
      Start 23: kokkos_utils_ut_np1_omp4
23/56 Test #23: kokkos_utils_ut_np1_omp4 .........   Passed    1.33 sec
      Start 24: kokkos_utils_ut_np1_omp5
24/56 Test #24: kokkos_utils_ut_np1_omp5 .........   Passed    1.19 sec
      Start 25: kokkos_utils_ut_np1_omp6
25/56 Test #25: kokkos_utils_ut_np1_omp6 .........   Passed    1.25 sec
      Start 26: kokkos_utils_ut_np1_omp7
26/56 Test #26: kokkos_utils_ut_np1_omp7 .........   Passed    1.25 sec
      Start 27: kokkos_utils_ut_np1_omp8
27/56 Test #27: kokkos_utils_ut_np1_omp8 .........   Passed    1.29 sec
      Start 28: kokkos_utils_ut_np1_omp9
28/56 Test #28: kokkos_utils_ut_np1_omp9 .........   Passed    1.35 sec
      Start 29: kokkos_utils_ut_np1_omp10
29/56 Test #29: kokkos_utils_ut_np1_omp10 ........   Passed    1.49 sec
      Start 30: kokkos_utils_ut_np1_omp11
30/56 Test #30: kokkos_utils_ut_np1_omp11 ........   Passed    1.48 sec
      Start 31: kokkos_utils_ut_np1_omp12
31/56 Test #31: kokkos_utils_ut_np1_omp12 ........   Passed    1.56 sec
      Start 32: kokkos_utils_ut_np1_omp13
32/56 Test #32: kokkos_utils_ut_np1_omp13 ........   Passed    1.92 sec
      Start 33: kokkos_utils_ut_np1_omp14
33/56 Test #33: kokkos_utils_ut_np1_omp14 ........   Passed    1.81 sec
      Start 34: kokkos_utils_ut_np1_omp15
34/56 Test #34: kokkos_utils_ut_np1_omp15 ........   Passed    2.27 sec
      Start 35: kokkos_utils_ut_np1_omp16
35/56 Test #35: kokkos_utils_ut_np1_omp16 ........   Passed    2.32 sec
      Start 36: wsm_ut_np1_omp1
36/56 Test #36: wsm_ut_np1_omp1 ..................   Passed    1.24 sec
      Start 37: wsm_ut_np1_omp2
37/56 Test #37: wsm_ut_np1_omp2 ..................   Passed    1.52 sec
      Start 38: wsm_ut_np1_omp3
38/56 Test #38: wsm_ut_np1_omp3 ..................   Passed    1.60 sec
      Start 39: wsm_ut_np1_omp4
39/56 Test #39: wsm_ut_np1_omp4 ..................   Passed    1.68 sec
      Start 40: wsm_ut_np1_omp5
40/56 Test #40: wsm_ut_np1_omp5 ..................   Passed    1.29 sec
      Start 41: wsm_ut_np1_omp6
41/56 Test #41: wsm_ut_np1_omp6 ..................   Passed    1.25 sec
      Start 42: wsm_ut_np1_omp7
42/56 Test #42: wsm_ut_np1_omp7 ..................   Passed    1.27 sec
      Start 43: wsm_ut_np1_omp8
43/56 Test #43: wsm_ut_np1_omp8 ..................   Passed    1.30 sec
      Start 44: wsm_ut_np1_omp9
44/56 Test #44: wsm_ut_np1_omp9 ..................   Passed    1.40 sec
      Start 45: wsm_ut_np1_omp10
45/56 Test #45: wsm_ut_np1_omp10 .................   Passed    1.33 sec
      Start 46: wsm_ut_np1_omp11
46/56 Test #46: wsm_ut_np1_omp11 .................   Passed    1.35 sec
      Start 47: wsm_ut_np1_omp12
47/56 Test #47: wsm_ut_np1_omp12 .................   Passed    1.47 sec
      Start 48: wsm_ut_np1_omp13
48/56 Test #48: wsm_ut_np1_omp13 .................   Passed    1.38 sec
      Start 49: wsm_ut_np1_omp14
49/56 Test #49: wsm_ut_np1_omp14 .................   Passed    1.41 sec
      Start 50: wsm_ut_np1_omp15
50/56 Test #50: wsm_ut_np1_omp15 .................   Passed    1.73 sec
      Start 51: wsm_ut_np1_omp16
51/56 Test #51: wsm_ut_np1_omp16 .................   Passed    1.43 sec
      Start 52: packs_ut_np1_omp1
52/56 Test #52: packs_ut_np1_omp1 ................   Passed    1.26 sec
      Start 53: units_ut_np1_omp1
53/56 Test #53: units_ut_np1_omp1 ................   Passed    1.19 sec
      Start 54: debug_tools_ut_np1_omp1
54/56 Test #54: debug_tools_ut_np1_omp1 ..........   Passed    1.18 sec
      Start 55: util_cxx_ut_np1_omp1
55/56 Test #55: util_cxx_ut_np1_omp1 .............   Passed    1.18 sec
      Start 56: upper_bound_ut_np1_omp1
56/56 Test #56: upper_bound_ut_np1_omp1 ..........   Passed    2.62 sec

100% tests passed, 0 tests failed out of 56

Total Test time (real) = 386.70 sec

  • '[' 0 -ne 0 ']'
  • cd /home/e3sm-jenkins/bowman/workspace/EKAT_PullRequest_Autotester_Bowman
  • '[' 0 -ne 0
    /tmp/jenkins5442373053960558079.sh: line 101: [: missing `]'
  • '[' 0 -ne 0
    /tmp/jenkins5442373053960558079.sh: line 106: [: missing `]'
  • '[' 0 -ne 0 ']'
  • '[' 0 -ne 0 ']'
  • exit 0
    Finished: SUCCESS
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Weaver # 26 (click to expand)

-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_ErrorReporter.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_Functional.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_OffsetView.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_ScatterView.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_StaticCrsGraph.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_UnorderedMap.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/Kokkos_Vector.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Bitset_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Functional_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_StaticCrsGraph_factory.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_UnorderedMap_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib64/libyaml-cppd.a
-- Up-to-date: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/anchor.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/binary.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib/anchordict.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/contrib/graphbuilder.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/dll.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitfromevents.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitter.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitterdef.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emittermanip.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/emitterstyle.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/eventhandler.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/exceptions.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/mark.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/convert.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/impl.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator_fwd.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/memory.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_data.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_ref.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/emit.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/impl.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/iterator.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/node.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/parse.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/ptr.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/node/type.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/noexcept.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/null.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/ostream_wrapper.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/parser.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/stlemitter.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/traits.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/yaml-cpp/yaml.h
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets-debug.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config-version.cmake
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/share/pkgconfig/yaml-cpp.pc
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_pack.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_parse_yaml_file.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_workspace.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_pack_kokkos.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_scalar_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_workspace_impl.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_assert.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_parameter_list.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_session.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_macros.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/ekat_type_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_meta.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_types.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_utils.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/mpi/ekat_comm.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_any.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_enable_shared_from_this.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_type_traits.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_utils.hpp
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat_test_main.a
-- Installing: /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-install/ekat-dp/lib/libekat_test_session.a
+ '[' 0 -ne 0 ']'
+ cd /home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver
+ '[' 0 -ne 0
/tmp/jenkins5962685281858671590.sh: line 101: [: missing `]'
+ '[' 0 -ne 0
/tmp/jenkins5962685281858671590.sh: line 106: [: missing `]'
+ '[' 0 -ne 0 ']'
+ '[' 0 -ne 0 ']'
+ exit 0
Finished: SUCCESS

@tcclevenger tcclevenger changed the title add reduce_add and parallel_reduce [WIP] add reduce_add and parallel_reduce Sep 10, 2020
@tcclevenger tcclevenger changed the title [WIP] add reduce_add and parallel_reduce add parallel_reduce Sep 10, 2020
@tcclevenger
Copy link
Contributor Author

@bartgol @ambrad: Talking with Luca, I decided to move the column reduction to a new PR (I will make later today). This is now only for parallel_reduce(). I've taken your comments into account. The test now passes on GPU and CPU, and only when serialize=true (the test also runs serialize=false, but has no REQUIRE() call). Let me know if you have any other comments.

ambrad
ambrad previously approved these changes Sep 10, 2020
jeff-cohere
jeff-cohere previously approved these changes Sep 10, 2020
Copy link
Contributor

@jeff-cohere jeff-cohere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I'm late to the party on this one. I didn't have much to add to what Andrew and Luca already said. Nice work.

bartgol
bartgol previously approved these changes Sep 10, 2020
@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ bartgol jeff-cohere ambrad ]!

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR...

@tcclevenger
Copy link
Contributor Author

@bartgol @ambrad @jeff-cohere I decided to make Serialize an template parameter of ExeSpaceUtils since I think this will make using these functions in scream the simplest (Luca's #ifdef example above). A lot more files are now changed since everyone who calls the struct needs a new template.

The only issue is that, because the ExeSpace template is defaulted, Serialize had to come first. Is this acceptable, or should I put Serialize 2nd with a default value?

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 28
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 32611a9
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 25
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 32611a9
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 29
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 32611a9
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Using Repos:

Repo: EKAT (E3SM-Project/EKAT)
  • Branch: bfb_parallel_reduce
  • SHA: 32611a9
  • Mode: TEST_REPO

Pull Request Author: tcclevenger

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 4 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 28
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 32611a9
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 25
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 32611a9
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 29
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 32611a9
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Blake # 28 (click to expand)

-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_ErrorReporter.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_Functional.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_OffsetView.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_ScatterView.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_StaticCrsGraph.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_UnorderedMap.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/Kokkos_Vector.hpp
-- Up-to-date: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/impl
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Bitset_impl.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_Functional_impl.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_StaticCrsGraph_factory.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/kokkos/impl/Kokkos_UnorderedMap_impl.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Up-to-date: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/lib64/libkokkoscontainers.a
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Up-to-date: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/Kokkos_Random.hpp
-- Up-to-date: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/Kokkos_Sort.hpp
-- Up-to-date: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/KokkosAlgorithms_config.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/lib64/libyaml-cppd.a
-- Up-to-date: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/anchor.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/binary.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/contrib
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/contrib/anchordict.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/contrib/graphbuilder.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/dll.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/emitfromevents.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/emitter.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/emitterdef.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/emittermanip.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/emitterstyle.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/eventhandler.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/exceptions.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/mark.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/convert.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/impl.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/iterator_fwd.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/memory.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_data.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_iterator.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/detail/node_ref.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/emit.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/impl.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/iterator.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/node.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/parse.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/ptr.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/node/type.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/noexcept.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/null.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/ostream_wrapper.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/parser.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/stlemitter.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/traits.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/yaml-cpp/yaml.h
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets.cmake
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-targets-debug.cmake
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config.cmake
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/share/cmake/yaml-cpp/yaml-cpp-config-version.cmake
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/share/pkgconfig/yaml-cpp.pc
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/lib/libekat.a
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_pack.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_parse_yaml_file.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_workspace.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_pack_kokkos.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_scalar_traits.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_workspace_impl.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_assert.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_parameter_list.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_session.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_macros.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/ekat_type_traits.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_meta.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_types.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/kokkos/ekat_kokkos_utils.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/mpi/ekat_comm.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_any.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_enable_shared_from_this.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_type_traits.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/include/ekat/std_meta/ekat_std_utils.hpp
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/lib/libekat_test_main.a
-- Installing: /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake/ekat-install/ekat-dp/lib/libekat_test_session.a
+ '[' 0 -ne 0 ']'
+ cd /home/e3sm-jenkins/blake/workspace/EKAT_PullRequest_Autotester_Blake
+ '[' 0 -ne 0
/tmp/jenkins7049498257078141005.sh: line 107: [: missing `]'
+ '[' 0 -ne 0
/tmp/jenkins7049498257078141005.sh: line 112: [: missing `]'
+ '[' 0 -ne 0 ']'
+ '[' 0 -ne 0 ']'
+ exit 0
Finished: SUCCESS

Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Bowman # 25 (click to expand)

      Start 14: lin_interp_ut_np1_omp14
14/56 Test #14: lin_interp_ut_np1_omp14 ..........   Passed   10.11 sec
      Start 15: lin_interp_ut_np1_omp15
15/56 Test #15: lin_interp_ut_np1_omp15 ..........   Passed   10.89 sec
      Start 16: lin_interp_ut_np1_omp16
16/56 Test #16: lin_interp_ut_np1_omp16 ..........   Passed   11.55 sec
      Start 17: tridiag_ut_np1_omp16
17/56 Test #17: tridiag_ut_np1_omp16 .............   Passed  228.47 sec
      Start 18: array_io_ut_np1_omp1
18/56 Test #18: array_io_ut_np1_omp1 .............   Passed    1.58 sec
      Start 19: yaml_parser_ut_np1_omp1
19/56 Test #19: yaml_parser_ut_np1_omp1 ..........   Passed    1.33 sec
      Start 20: kokkos_utils_ut_np1_omp1
20/56 Test #20: kokkos_utils_ut_np1_omp1 .........   Passed    1.25 sec
      Start 21: kokkos_utils_ut_np1_omp2
21/56 Test #21: kokkos_utils_ut_np1_omp2 .........   Passed    1.34 sec
      Start 22: kokkos_utils_ut_np1_omp3
22/56 Test #22: kokkos_utils_ut_np1_omp3 .........   Passed    1.20 sec
      Start 23: kokkos_utils_ut_np1_omp4
23/56 Test #23: kokkos_utils_ut_np1_omp4 .........   Passed    1.24 sec
      Start 24: kokkos_utils_ut_np1_omp5
24/56 Test #24: kokkos_utils_ut_np1_omp5 .........   Passed    1.45 sec
      Start 25: kokkos_utils_ut_np1_omp6
25/56 Test #25: kokkos_utils_ut_np1_omp6 .........   Passed    1.32 sec
      Start 26: kokkos_utils_ut_np1_omp7
26/56 Test #26: kokkos_utils_ut_np1_omp7 .........   Passed    1.38 sec
      Start 27: kokkos_utils_ut_np1_omp8
27/56 Test #27: kokkos_utils_ut_np1_omp8 .........   Passed    1.43 sec
      Start 28: kokkos_utils_ut_np1_omp9
28/56 Test #28: kokkos_utils_ut_np1_omp9 .........   Passed    1.49 sec
      Start 29: kokkos_utils_ut_np1_omp10
29/56 Test #29: kokkos_utils_ut_np1_omp10 ........   Passed    1.56 sec
      Start 30: kokkos_utils_ut_np1_omp11
30/56 Test #30: kokkos_utils_ut_np1_omp11 ........   Passed    1.68 sec
      Start 31: kokkos_utils_ut_np1_omp12
31/56 Test #31: kokkos_utils_ut_np1_omp12 ........   Passed    1.77 sec
      Start 32: kokkos_utils_ut_np1_omp13
32/56 Test #32: kokkos_utils_ut_np1_omp13 ........   Passed    2.01 sec
      Start 33: kokkos_utils_ut_np1_omp14
33/56 Test #33: kokkos_utils_ut_np1_omp14 ........   Passed    2.02 sec
      Start 34: kokkos_utils_ut_np1_omp15
34/56 Test #34: kokkos_utils_ut_np1_omp15 ........   Passed    2.18 sec
      Start 35: kokkos_utils_ut_np1_omp16
35/56 Test #35: kokkos_utils_ut_np1_omp16 ........   Passed    2.45 sec
      Start 36: wsm_ut_np1_omp1
36/56 Test #36: wsm_ut_np1_omp1 ..................   Passed    1.43 sec
      Start 37: wsm_ut_np1_omp2
37/56 Test #37: wsm_ut_np1_omp2 ..................   Passed    1.57 sec
      Start 38: wsm_ut_np1_omp3
38/56 Test #38: wsm_ut_np1_omp3 ..................   Passed    1.38 sec
      Start 39: wsm_ut_np1_omp4
39/56 Test #39: wsm_ut_np1_omp4 ..................   Passed    1.41 sec
      Start 40: wsm_ut_np1_omp5
40/56 Test #40: wsm_ut_np1_omp5 ..................   Passed    1.33 sec
      Start 41: wsm_ut_np1_omp6
41/56 Test #41: wsm_ut_np1_omp6 ..................   Passed    1.39 sec
      Start 42: wsm_ut_np1_omp7
42/56 Test #42: wsm_ut_np1_omp7 ..................   Passed    1.39 sec
      Start 43: wsm_ut_np1_omp8
43/56 Test #43: wsm_ut_np1_omp8 ..................   Passed    1.43 sec
      Start 44: wsm_ut_np1_omp9
44/56 Test #44: wsm_ut_np1_omp9 ..................   Passed    2.27 sec
      Start 45: wsm_ut_np1_omp10
45/56 Test #45: wsm_ut_np1_omp10 .................   Passed    1.56 sec
      Start 46: wsm_ut_np1_omp11
46/56 Test #46: wsm_ut_np1_omp11 .................   Passed    1.78 sec
      Start 47: wsm_ut_np1_omp12
47/56 Test #47: wsm_ut_np1_omp12 .................   Passed    1.56 sec
      Start 48: wsm_ut_np1_omp13
48/56 Test #48: wsm_ut_np1_omp13 .................   Passed    1.57 sec
      Start 49: wsm_ut_np1_omp14
49/56 Test #49: wsm_ut_np1_omp14 .................   Passed    1.63 sec
      Start 50: wsm_ut_np1_omp15
50/56 Test #50: wsm_ut_np1_omp15 .................   Passed    1.63 sec
      Start 51: wsm_ut_np1_omp16
51/56 Test #51: wsm_ut_np1_omp16 .................   Passed    2.03 sec
      Start 52: packs_ut_np1_omp1
52/56 Test #52: packs_ut_np1_omp1 ................   Passed    2.49 sec
      Start 53: units_ut_np1_omp1
53/56 Test #53: units_ut_np1_omp1 ................   Passed    2.44 sec
      Start 54: debug_tools_ut_np1_omp1
54/56 Test #54: debug_tools_ut_np1_omp1 ..........   Passed    1.99 sec
      Start 55: util_cxx_ut_np1_omp1
55/56 Test #55: util_cxx_ut_np1_omp1 .............   Passed    2.39 sec
      Start 56: upper_bound_ut_np1_omp1
56/56 Test #56: upper_bound_ut_np1_omp1 ..........   Passed    3.71 sec

100% tests passed, 0 tests failed out of 56

Total Test time (real) = 400.60 sec

  • '[' 0 -ne 0 ']'
  • cd /home/e3sm-jenkins/bowman/workspace/EKAT_PullRequest_Autotester_Bowman
  • '[' 0 -ne 0
    /tmp/jenkins1895444436510135684.sh: line 101: [: missing `]'
  • '[' 0 -ne 0
    /tmp/jenkins1895444436510135684.sh: line 106: [: missing `]'
  • '[' 0 -ne 0 ']'
  • '[' 0 -ne 0 ']'
  • exit 0
    Finished: SUCCESS
Console Output (last 100 lines) : EKAT_PullRequest_Autotester_Weaver # 29 (click to expand)

[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/nodeevents.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/null.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/exp.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/regex_yaml.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/stream.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scanner.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/ostream_wrapper.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/node_data.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/singledocparser.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/parser.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/emitterstate.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/simplekey.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scanscalar.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scantoken.cpp.o
[ 30%] Building CXX object externals/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/tag.cpp.o
Scanning dependencies of target kokkoscore
[ 31%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_CPUDiscovery.cpp.o
[ 36%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Core.cpp.o
[ 36%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostBarrier.cpp.o
[ 36%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_ExecPolicy.cpp.o
[ 36%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Error.cpp.o
[ 39%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostSpace_deepcopy.cpp.o
[ 39%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_MemoryPool.cpp.o
[ 39%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Profiling_Interface.cpp.o
[ 40%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostSpace.cpp.o
[ 45%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_HostThreadTeam.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Serial.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/Cuda/Kokkos_CudaSpace.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Spinwait.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/Cuda/Kokkos_Cuda_Instance.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Serial_Task.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_Stacktrace.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/Cuda/Kokkos_Cuda_Task.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_SharedAlloc.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/Cuda/Kokkos_Cuda_Locks.cpp.o
[ 50%] Building CXX object externals/kokkos/core/src/CMakeFiles/kokkoscore.dir/impl/Kokkos_hwloc.cpp.o
[ 51%] Linking CXX static library libyaml-cppd.a
[ 51%] Built target yaml-cpp
[ 52%] Linking CXX static library libkokkoscore.a
[ 52%] Built target kokkoscore
Scanning dependencies of target kokkoscontainers
[ 53%] Building CXX object externals/kokkos/containers/src/CMakeFiles/kokkoscontainers.dir/impl/Kokkos_UnorderedMap_impl.cpp.o
[ 54%] Linking CXX static library libkokkoscontainers.a
[ 54%] Built target kokkoscontainers
Scanning dependencies of target ekat
[ 56%] Building Fortran object src/ekat/CMakeFiles/ekat.dir/util/ekat_array_io_mod.f90.o
[ 56%] Building CXX object src/ekat/CMakeFiles/ekat.dir/mpi/ekat_comm.cpp.o
[ 57%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_assert.cpp.o
[ 58%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_session.cpp.o
[ 59%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_parameter_list.cpp.o
[ 60%] Building CXX object src/ekat/CMakeFiles/ekat.dir/ekat_parse_yaml_file.cpp.o
[ 62%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_string_utils.cpp.o
[ 63%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_arch.cpp.o
[ 64%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_array_io.cpp.o
[ 64%] Building CXX object src/ekat/CMakeFiles/ekat.dir/util/ekat_test_utils.cpp.o
[ 65%] Linking CXX static library libekat.a
[ 65%] Built target ekat
Scanning dependencies of target ekat_test_session
[ 66%] Building CXX object src/ekat/CMakeFiles/ekat_test_session.dir/util/ekat_test_session.cpp.o
Scanning dependencies of target kernel_assert
[ 67%] Building CXX object tests/utils/CMakeFiles/kernel_assert.dir/kernel_assert.cpp.o
Scanning dependencies of target ekat_test_main
[ 68%] Building CXX object src/ekat/CMakeFiles/ekat_test_main.dir/util/ekat_catch_main.cpp.o
[ 69%] Linking CXX static library libekat_test_session.a
[ 69%] Built target ekat_test_session
Scanning dependencies of target tridiag
[ 70%] Building Fortran object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_bfb_mod.F90.o
[ 74%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests.cpp.o
[ 74%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_bfb.cpp.o
[ 74%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_correctness.cpp.o
[ 74%] Building CXX object tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_performance.cpp.o
/home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-src/src/ekat/kokkos/ekat_kokkos_utils.hpp(147): error: type name is not allowed

/home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-src/src/ekat/kokkos/ekat_kokkos_utils.hpp(146): warning: constant "Serialize" is not used in or cannot be deduced from the template argument list of class template "ekat::ExeSpaceUtils<, Kokkos::DefaultExecutionSpace>"

/home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-src/src/ekat/kokkos/ekat_kokkos_utils.hpp(147): error: type name is not allowed

/home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-src/src/ekat/kokkos/ekat_kokkos_utils.hpp(146): warning: constant "Serialize" is not used in or cannot be deduced from the template argument list of class template "ekat::ExeSpaceUtils<, Kokkos::DefaultExecutionSpace>"

[ 75%] Linking CXX executable kernel_assert
[ 75%] Built target kernel_assert
/home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-src/src/ekat/kokkos/ekat_kokkos_utils.hpp(147): error: type name is not allowed

/home/e3sm-jenkins/weaver/workspace/EKAT_PullRequest_Autotester_Weaver/ekat-src/src/ekat/kokkos/ekat_kokkos_utils.hpp(146): warning: constant "Serialize" is not used in or cannot be deduced from the template argument list of class template "ekat::ExeSpaceUtils<, Kokkos::DefaultExecutionSpace>"

1 error detected in the compilation of "/tmp/tmpxft_0001ac40_00000000-6_tridiag_tests_performance.cpp1.ii".
make[2]: *** [tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_performance.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error detected in the compilation of "/tmp/tmpxft_0001ac42_00000000-6_tridiag_tests_correctness.cpp1.ii".
make[2]: *** [tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests_correctness.cpp.o] Error 1
1 error detected in the compilation of "/tmp/tmpxft_0001ac43_00000000-6_tridiag_tests.cpp1.ii".
make[2]: *** [tests/algorithm/CMakeFiles/tridiag.dir/tridiag_tests.cpp.o] Error 1
make[1]: *** [tests/algorithm/CMakeFiles/tridiag.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 76%] Linking CXX static library libekat_test_main.a
[ 76%] Built target ekat_test_main
make: *** [all] Error 2
Build step 'Execute shell' marked build as failure
Sending e-mails to: lbertag@sandia.gov
Finished: FAILURE

@ambrad
Copy link
Member

ambrad commented Sep 10, 2020

@tcclevenger I like this.

  1. @bartgol, what do you think if we default Serialize=false? That would let us provide the user-expected default w/o yet making a decision on EKAT's support for BFB flags. It would also mean, for example, that all these additional file changes wouldn't be needed.
  2. I think putting Serialize first relative to ExecSpace is fine, regardless of 1.

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 29
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 3fe76ca
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 26
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 3fe76ca
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 30
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 3fe76ca
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Using Repos:

Repo: EKAT (E3SM-Project/EKAT)
  • Branch: bfb_parallel_reduce
  • SHA: 3fe76ca
  • Mode: TEST_REPO

Pull Request Author: tcclevenger

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: EKAT_PullRequest_Autotester_Blake

  • Build Num: 29
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 3fe76ca
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Bowman

  • Build Num: 26
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 3fe76ca
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

Build Information

Test Name: EKAT_PullRequest_Autotester_Weaver

  • Build Num: 30
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
EKAT_SOURCE_BRANCH bfb_parallel_reduce
EKAT_SOURCE_REPO https://github.com/E3SM-Project/EKAT
EKAT_SOURCE_SHA 3fe76ca
EKAT_TARGET_BRANCH master
EKAT_TARGET_REPO https://github.com/E3SM-Project/EKAT
EKAT_TARGET_SHA 652c6d0
PR_LABELS
PULLREQUESTNUM 34
TEST_REPO_ALIAS EKAT

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
THE LAST COMMIT TO THIS PULL REQUEST HAS NOT BEEN REVIEWED YET!

@E3SM-Autotester
Copy link
Collaborator

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

@bartgol
Copy link
Contributor

bartgol commented Sep 11, 2020

I don't have a strong opinion on defaulting Serialize to false. It is definitely the safest default, I guess, but it would not solve the problem of downstream apps having to specify the argument everywhere, or, at least, in every use case that will be part of a BFB test, no? I mean, if you are using ExecSpaceUtils in a function that needs to undergo BFB testing, you cannot rely on the default, but need to explicitly select its value. It would help for those use cases that we don't foresee ever needing BFB tests, but I'm not sure they are many.

Besides, given the current feedback on having EKAT_BFB_DEFAULTS (or similar), I think we will end up with a default that is set at config-time.

Imho, let's leave no default now, and probably bring configurable default in soon in another PR.

@tcclevenger
Copy link
Contributor Author

Sounds good. It looks like the it needs to be approved again before being able to merge.

Also, do you like to squash your commits, or it good as is?

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ ambrad ]!

@E3SM-Autotester
Copy link
Collaborator

Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR...

@tcclevenger tcclevenger added the AT: AUTOMERGE Inform the autotester (AT) that it can merge this PR if reviewers approved, and tests pass label Sep 12, 2020
@tcclevenger tcclevenger merged commit 8ad0a40 into master Sep 12, 2020
@welcome
Copy link

welcome bot commented Sep 12, 2020

Congrats on merging your first pull request! We hope this is only the first of many to come.

@tcclevenger tcclevenger deleted the bfb_parallel_reduce branch September 12, 2020 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AT: AUTOMERGE Inform the autotester (AT) that it can merge this PR if reviewers approved, and tests pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants