-
Notifications
You must be signed in to change notification settings - Fork 101
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
Refactor batched serial pttrf implementation details and tests #2530
base: develop
Are you sure you want to change the base?
Refactor batched serial pttrf implementation details and tests #2530
Conversation
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.
Mostly good but I have a couple of questions, see below
@@ -270,13 +241,11 @@ void impl_test_batched_pttrf_quick_return(const int N, const int BlkSize) { | |||
EXPECT_EQ(info, 0); | |||
EXPECT_EQ(info2, expected_info2); | |||
|
|||
// this eps is about 10^-14 | |||
RealType eps = 1.0e3 * ats::epsilon(); |
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 is kind of bothering that there was no error analysis performed here to decide what the appropriate epsilon should be...
} | ||
|
||
inline int run() { | ||
using value_type = typename DViewType::non_const_value_type; | ||
using value_type = typename EViewType::non_const_value_type; |
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.
I am guessing that both D and E ViewType are actually storing the same scalars? Any reason why this needs to change?
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, E
can be real or complex while D
is always a real type. (see the implementation of zpttrf)
So, we need to use the value type of E
here
Signed-off-by: Yuuichi Asahi <y.asahi@nr.titech.ac.jp>
Signed-off-by: Yuuichi Asahi <y.asahi@nr.titech.ac.jp>
Signed-off-by: Yuuichi Asahi <y.asahi@nr.titech.ac.jp>
Signed-off-by: Yuuichi Asahi <y.asahi@nr.titech.ac.jp>
26a6dca
to
4b006d1
Compare
@lucbv To me, the error analysis is more relevant in gemm testing for fp16. |
This PR aims at improving the implementation and testing of serial
pttrf
.Impl
namespace.using namespace KokkosBatched
from the test codeTest_Batched_SerialPttrf_Real.hpp
andTest_Batched_SerialPttrf_Complex.hpp
intoTest_Batched_SerialPttrf.hpp
.Arg
template parameters