-
Notifications
You must be signed in to change notification settings - Fork 99
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
unit-test: refactor infrastructure to remove most *.cpp #906
Conversation
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Failure: Timed out waiting for job KokkosKernels_PullRequest_GCC720 to start: Total Wait = 1803
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Possibly you could clean up the foreach
just a bit, but just nitpicking.
unit_test/CMakeLists.txt
Outdated
string(REPLACE "Test_${COMP}_" "" COMP_TEST ${COMP_NAME}) | ||
message(STATUS " ${COMP_TEST}") | ||
string(COMPARE EQUAL ${COMP_TEST} float128 CHECK_FLOAT) | ||
if(${CHECK_FLOAT}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can do this as:
if ("${COMP_TEST}" STREQUAL float128)
...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I have been very very careful to perform each step explicitly to help with debugging, at some point I was printing every single variable I created x)
I will make things more compact as suggested.
unit_test/CMakeLists.txt
Outdated
if(KOKKOS_ENABLE_${BACKEND_UPPER}) | ||
foreach(COMP_FILE ${COMP_CPP}) | ||
get_filename_component(COMP_NAME ${COMP_FILE} NAME_WE) | ||
string(REPLACE "Test_${COMP}_" "" COMP_TEST ${COMP_NAME}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like you only really use COMP_TEST
in the float128 check. You could probably avoid the replace and just work with COMP_NAME
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I would rather try to skip COMP_NAME
than COMP_TEST
, COMP_TEST
makes it really easy to write the path, filename and file content on line 69. If I use COMP_NAME
instead I will have to do more complex string manipulation to generate the correct path, filename and content. It seems more prone to error to me, what do you think?
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 minor things: one might be a copy-paste error, the other is just to delete a commented out line
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @lucbv. This looks great. We had discussed removing TEST_F
, SetUpTestCase
, and TearDownTestCase
-- will that be part of this PR too?
@@ -0,0 +1,38 @@ | |||
#include "Test_Blas_gesv.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great. From a maintainability perspective, this is a step in the right direction; all the developer has to do is write the Test_Blas_KERN.hpp
file and include it here.
unit_test/blas/Test_Blas3_gemm.hpp
Outdated
template<class ViewTypeA, class ViewTypeB, class ViewTypeC, class ExecutionSpace> | ||
struct VanillaGEMM { | ||
bool A_t, B_t, A_c, B_c; | ||
int N,K; | ||
ViewTypeA A; | ||
ViewTypeB B; | ||
ViewTypeC C; | ||
|
||
typedef typename ViewTypeA::value_type ScalarA; | ||
typedef typename ViewTypeB::value_type ScalarB; | ||
typedef typename ViewTypeC::value_type ScalarC; | ||
typedef Kokkos::Details::ArithTraits<ScalarC> APT; | ||
typedef typename APT::mag_type mag_type; | ||
ScalarA alpha; | ||
ScalarC beta; | ||
|
||
KOKKOS_INLINE_FUNCTION | ||
void operator() (const typename Kokkos::TeamPolicy<ExecutionSpace>::member_type& team) const { | ||
// GNU COMPILER BUG WORKAROUND | ||
#if defined(KOKKOS_COMPILER_GNU) && !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__) | ||
int i = team.league_rank(); | ||
#else | ||
const int i = team.league_rank(); | ||
#endif | ||
Kokkos::parallel_for(Kokkos::TeamThreadRange(team,N), [&] (const int& j) { | ||
ScalarC C_ij = 0.0; | ||
|
||
// GNU 5.3, 5.4 and 6.1 (and maybe more) crash with another nested lambda here | ||
|
||
#if defined(KOKKOS_COMPILER_GNU) && !defined(KOKKOS_COMPILER_NVCC) | ||
for(int k=0; k<K; k++) { | ||
ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
C_ij += A_ik*B_kj; | ||
} | ||
#else | ||
Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,K), [&] (const int& k, ScalarC& lsum) { | ||
ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
lsum += A_ik*B_kj; | ||
},C_ij); | ||
#endif | ||
|
||
C(i,j) = beta*C(i,j) + alpha*C_ij; | ||
}); | ||
} | ||
}; | ||
// template<class ViewTypeA, class ViewTypeB, class ViewTypeC, class ExecutionSpace> | ||
// struct VanillaGEMM { | ||
// bool A_t, B_t, A_c, B_c; | ||
// int N,K; | ||
// ViewTypeA A; | ||
// ViewTypeB B; | ||
// ViewTypeC C; | ||
|
||
// typedef typename ViewTypeA::value_type ScalarA; | ||
// typedef typename ViewTypeB::value_type ScalarB; | ||
// typedef typename ViewTypeC::value_type ScalarC; | ||
// typedef Kokkos::Details::ArithTraits<ScalarC> APT; | ||
// typedef typename APT::mag_type mag_type; | ||
// ScalarA alpha; | ||
// ScalarC beta; | ||
|
||
// KOKKOS_INLINE_FUNCTION | ||
// void operator() (const typename Kokkos::TeamPolicy<ExecutionSpace>::member_type& team) const { | ||
// // GNU COMPILER BUG WORKAROUND | ||
// #if defined(KOKKOS_COMPILER_GNU) && !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__) | ||
// int i = team.league_rank(); | ||
// #else | ||
// const int i = team.league_rank(); | ||
// #endif | ||
// Kokkos::parallel_for(Kokkos::TeamThreadRange(team,N), [&] (const int& j) { | ||
// ScalarC C_ij = 0.0; | ||
|
||
// // GNU 5.3, 5.4 and 6.1 (and maybe more) crash with another nested lambda here | ||
|
||
// #if defined(KOKKOS_COMPILER_GNU) && !defined(KOKKOS_COMPILER_NVCC) | ||
// for(int k=0; k<K; k++) { | ||
// ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
// ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
// C_ij += A_ik*B_kj; | ||
// } | ||
// #else | ||
// Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,K), [&] (const int& k, ScalarC& lsum) { | ||
// ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
// ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
// lsum += A_ik*B_kj; | ||
// },C_ij); | ||
// #endif | ||
|
||
// C(i,j) = beta*C(i,j) + alpha*C_ij; | ||
// }); | ||
// } | ||
// }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be removed. VanillaGemm
was moved to common code in KokkosKernels_TestUtils.hpp
.
unit_test/blas/Test_Blas3_trmm.hpp
Outdated
template<class ViewTypeA, class ViewTypeB, class ViewTypeC, class ExecutionSpace> | ||
struct VanillaGEMM { | ||
bool A_t, B_t, A_c, B_c; | ||
int N,K; | ||
ViewTypeA A; | ||
ViewTypeB B; | ||
ViewTypeC C; | ||
|
||
typedef typename ViewTypeA::value_type ScalarA; | ||
typedef typename ViewTypeB::value_type ScalarB; | ||
typedef typename ViewTypeC::value_type ScalarC; | ||
typedef Kokkos::Details::ArithTraits<ScalarC> APT; | ||
typedef typename APT::mag_type mag_type; | ||
ScalarA alpha; | ||
ScalarC beta; | ||
|
||
KOKKOS_INLINE_FUNCTION | ||
void operator() (const typename Kokkos::TeamPolicy<ExecutionSpace>::member_type& team) const { | ||
// GNU COMPILER BUG WORKAROUND | ||
#if defined(KOKKOS_COMPILER_GNU) && !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__) | ||
int i = team.league_rank(); | ||
#else | ||
const int i = team.league_rank(); | ||
#endif | ||
Kokkos::parallel_for(Kokkos::TeamThreadRange(team,N), [&] (const int& j) { | ||
ScalarC C_ij = 0.0; | ||
|
||
// GNU 5.3, 5.4 and 6.1 (and maybe more) crash with another nested lambda here | ||
|
||
#if defined(KOKKOS_COMPILER_GNU) && !defined(KOKKOS_COMPILER_NVCC) | ||
for(int k=0; k<K; k++) { | ||
ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
C_ij += A_ik*B_kj; | ||
} | ||
#else | ||
Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,K), [&] (const int& k, ScalarC& lsum) { | ||
ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
lsum += A_ik*B_kj; | ||
},C_ij); | ||
#endif | ||
|
||
C(i,j) = beta*C(i,j) + alpha*C_ij; | ||
}); | ||
} | ||
}; | ||
// template<class ViewTypeA, class ViewTypeB, class ViewTypeC, class ExecutionSpace> | ||
// struct VanillaGEMM { | ||
// bool A_t, B_t, A_c, B_c; | ||
// int N,K; | ||
// ViewTypeA A; | ||
// ViewTypeB B; | ||
// ViewTypeC C; | ||
|
||
// typedef typename ViewTypeA::value_type ScalarA; | ||
// typedef typename ViewTypeB::value_type ScalarB; | ||
// typedef typename ViewTypeC::value_type ScalarC; | ||
// typedef Kokkos::Details::ArithTraits<ScalarC> APT; | ||
// typedef typename APT::mag_type mag_type; | ||
// ScalarA alpha; | ||
// ScalarC beta; | ||
|
||
// KOKKOS_INLINE_FUNCTION | ||
// void operator() (const typename Kokkos::TeamPolicy<ExecutionSpace>::member_type& team) const { | ||
// // GNU COMPILER BUG WORKAROUND | ||
// #if defined(KOKKOS_COMPILER_GNU) && !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__) | ||
// int i = team.league_rank(); | ||
// #else | ||
// const int i = team.league_rank(); | ||
// #endif | ||
// Kokkos::parallel_for(Kokkos::TeamThreadRange(team,N), [&] (const int& j) { | ||
// ScalarC C_ij = 0.0; | ||
|
||
// // GNU 5.3, 5.4 and 6.1 (and maybe more) crash with another nested lambda here | ||
|
||
// #if defined(KOKKOS_COMPILER_GNU) && !defined(KOKKOS_COMPILER_NVCC) | ||
// for(int k=0; k<K; k++) { | ||
// ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
// ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
// C_ij += A_ik*B_kj; | ||
// } | ||
// #else | ||
// Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,K), [&] (const int& k, ScalarC& lsum) { | ||
// ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
// ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
// lsum += A_ik*B_kj; | ||
// },C_ij); | ||
// #endif | ||
|
||
// C(i,j) = beta*C(i,j) + alpha*C_ij; | ||
// }); | ||
// } | ||
// }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
unit_test/blas/Test_Blas3_trsm.hpp
Outdated
template<class ViewTypeA, class ViewTypeB, class ViewTypeC, class ExecutionSpace> | ||
struct VanillaGEMM { | ||
bool A_t, B_t, A_c, B_c; | ||
int N,K; | ||
ViewTypeA A; | ||
ViewTypeB B; | ||
ViewTypeC C; | ||
|
||
typedef typename ViewTypeA::value_type ScalarA; | ||
typedef typename ViewTypeB::value_type ScalarB; | ||
typedef typename ViewTypeC::value_type ScalarC; | ||
typedef Kokkos::Details::ArithTraits<ScalarC> APT; | ||
typedef typename APT::mag_type mag_type; | ||
ScalarA alpha; | ||
ScalarC beta; | ||
|
||
KOKKOS_INLINE_FUNCTION | ||
void operator() (const typename Kokkos::TeamPolicy<ExecutionSpace>::member_type& team) const { | ||
// GNU COMPILER BUG WORKAROUND | ||
#if defined(KOKKOS_COMPILER_GNU) && !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__) | ||
|
||
int i = team.league_rank(); | ||
#else | ||
const int i = team.league_rank(); | ||
#endif | ||
Kokkos::parallel_for(Kokkos::TeamThreadRange(team,N), [&] (const int& j) { | ||
ScalarC C_ij = 0.0; | ||
|
||
// GNU 5.3, 5.4 and 6.1 (and maybe more) crash with another nested lambda here | ||
|
||
#if defined(KOKKOS_COMPILER_GNU) && !defined(KOKKOS_COMPILER_NVCC) | ||
for(int k=0; k<K; k++) { | ||
ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
C_ij += A_ik*B_kj; | ||
} | ||
#else | ||
Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,K), [&] (const int& k, ScalarC& lsum) { | ||
ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
lsum += A_ik*B_kj; | ||
},C_ij); | ||
#endif | ||
|
||
C(i,j) = beta*C(i,j) + alpha*C_ij; | ||
}); | ||
} | ||
}; | ||
// template<class ViewTypeA, class ViewTypeB, class ViewTypeC, class ExecutionSpace> | ||
// struct VanillaGEMM { | ||
// bool A_t, B_t, A_c, B_c; | ||
// int N,K; | ||
// ViewTypeA A; | ||
// ViewTypeB B; | ||
// ViewTypeC C; | ||
|
||
// typedef typename ViewTypeA::value_type ScalarA; | ||
// typedef typename ViewTypeB::value_type ScalarB; | ||
// typedef typename ViewTypeC::value_type ScalarC; | ||
// typedef Kokkos::Details::ArithTraits<ScalarC> APT; | ||
// typedef typename APT::mag_type mag_type; | ||
// ScalarA alpha; | ||
// ScalarC beta; | ||
|
||
// KOKKOS_INLINE_FUNCTION | ||
// void operator() (const typename Kokkos::TeamPolicy<ExecutionSpace>::member_type& team) const { | ||
// // GNU COMPILER BUG WORKAROUND | ||
// #if defined(KOKKOS_COMPILER_GNU) && !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__) | ||
|
||
// int i = team.league_rank(); | ||
// #else | ||
// const int i = team.league_rank(); | ||
// #endif | ||
// Kokkos::parallel_for(Kokkos::TeamThreadRange(team,N), [&] (const int& j) { | ||
// ScalarC C_ij = 0.0; | ||
|
||
// // GNU 5.3, 5.4 and 6.1 (and maybe more) crash with another nested lambda here | ||
|
||
// #if defined(KOKKOS_COMPILER_GNU) && !defined(KOKKOS_COMPILER_NVCC) | ||
// for(int k=0; k<K; k++) { | ||
// ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
// ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
// C_ij += A_ik*B_kj; | ||
// } | ||
// #else | ||
// Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,K), [&] (const int& k, ScalarC& lsum) { | ||
// ScalarA A_ik = A_t?(A_c?APT::conj(A(k,i)):A(k,i)):A(i,k); | ||
// ScalarB B_kj = B_t?(B_c?APT::conj(B(j,k)):B(j,k)):B(k,j); | ||
// lsum += A_ik*B_kj; | ||
// },C_ij); | ||
// #endif | ||
|
||
// C(i,j) = beta*C(i,j) + alpha*C_ij; | ||
// }); | ||
// } | ||
// }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
using namespace KokkosBatched; | ||
|
||
namespace Test { | ||
namespace Gemv { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider placing batched tests in a Test_Batched
namespace or Test_Batched_KERN
namespace. Similarly, consider placing common code, such as the code in KokkosKernels_TestUtils.hpp
in a TestUtils
namespace.
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False |
#endif | ||
|
||
#if defined(KOKKOSKERNELS_CUDA_SPARSE_TESTS) && defined(KOKKOSKERNELS_ENABLE_TPL_CUSPARSE) | ||
#include "Test_Sparse_Utils_cusparse.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucbv: Consider moving the ifdef
within Test_Sparse_Utils_cusparse.hpp
unit_test/batched/Test_Batched.hpp
Outdated
@@ -77,9 +77,11 @@ | |||
|
|||
|
|||
// Vector Kernels | |||
#if !defined(KOKKOSKERNELS_CUDA_BATCHED_TESTS) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucbv What errors are you seeing without this ifdef
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tests include the following static assertion:
static_assert(Kokkos::Impl::SpaceAccessibility<DeviceType,Kokkos::HostSpace >::accessible,
"vector datatype is only tested on host space");
which causes problems if building with a Cuda
device...
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False |
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False |
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False |
@brian-kelley @e10harvey @srajama1 |
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Using Repos:
Pull Request Author: lucbv |
Status Flag 'Pull Request AutoTester' - Error: Jenkins Jobs - Timed out waiting for ALL builds to complete: Total Wait = 3660; Max Timeout = 3600 |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. 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 InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Console Output (last 100 lines) : KokkosKernels_PullRequest_GCC720 # 156 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_GCC720 # 149 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_INTEL18 # 135 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_GCC720_Light # 170 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_CUDA10 # 134 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_CUDA9 # 130 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_GCC720_GCC740 # 128 (click to expand)
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Using Repos:
Pull Request Author: lucbv |
Status Flag 'Pull Request AutoTester' - Error: Jenkins Jobs - Timed out waiting for ALL builds to complete: Total Wait = 3660; Max Timeout = 3600 |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. 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 InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Console Output (last 100 lines) : KokkosKernels_PullRequest_GCC720 # 157 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_GCC720 # 150 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_INTEL18 # 136 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_GCC720_Light # 171 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_CUDA10 # 135 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_CUDA9 # 131 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_GCC720_GCC740 # 129 (click to expand)
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Using Repos:
Pull Request Author: lucbv |
Status Flag 'Pull Request AutoTester' - Error: Jenkins Jobs - Timed out waiting for ALL builds to complete: Total Wait = 3660; Max Timeout = 3600 |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. 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 InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Console Output (last 100 lines) : KokkosKernels_PullRequest_GCC720 # 158 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_GCC720 # 151 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_INTEL18 # 137 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_GCC720_Light # 172 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_CUDA10 # 136 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_CUDA9 # 132 (click to expand)
Console Output (last 100 lines) : KokkosKernels_PullRequest_Tpls_GCC720_GCC740 # 130 (click to expand)
|
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
Using Repos:
Pull Request Author: lucbv |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL18
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC720_Light
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_CUDA9
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GCC720_GCC740
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
@brian-kelley @e10harvey @srajama1 |
Can we make sure we didn't increase compile times a lot ? Otherwise looks good to me. |
@srajama1 looking at the PR auto-tester history, this did not increase or decrease the time it takes to build with GCC, Intel or CUDA, it's pretty much average, I don't think there was any build time impact. |
@lucbv Thank you ! |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ brian-kelley ]! |
Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucbv: Can you confirm that the same number of unit tests are being run for each backend?
@@ -1,5 +1,13 @@ | |||
/// \author Kyungjoo Kim ([email protected]) | |||
|
|||
// Note: Luc Berger-Vergiat 04/14/21 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
@e10harvey yes, I double checked and same numbers of tests are running with gcc, intel, cuda and hip. |
this is a proof of concept that works of the combination of
Serial/OpenMP and Common tests, it could be expended further
but we should review this before more time is invested down
that road...