@@ -200,17 +200,24 @@ TEST(Raft, GemmCublasLt136WorkaroundPredicate)
200200
201201TEST (Raft, GemmCublasLt136WorkaroundHeuristicArgs)
202202{
203- const detail::matmul_key_t transposed{134217728 , 1 , 2 , 16 , 1 , 134217728 , true , true };
204- const auto transposed_query = detail::get_cublaslt_13_6_heuristic_args (transposed);
205- EXPECT_EQ (transposed_query.m , transposed.m );
206- EXPECT_EQ (transposed_query.lda , transposed.lda + 1 );
207- EXPECT_EQ (transposed_query.ldc , transposed.ldc );
208-
209- const detail::matmul_key_t non_transposed{2 , 1 , 134217728 , 2 , 134217728 , 2 , false , false };
210- const auto non_transposed_query = detail::get_cublaslt_13_6_heuristic_args (non_transposed);
211- EXPECT_EQ (non_transposed_query.m , non_transposed.m );
212- EXPECT_EQ (non_transposed_query.lda , non_transposed.lda + 1 );
213- EXPECT_EQ (non_transposed_query.ldc , non_transposed.ldc );
203+ const auto query_lda = [](uint64_t lda) {
204+ const detail::matmul_key_t args{134217728 , 1 , 2 , lda, 1 , 134217728 , true , true };
205+ return detail::get_cublaslt_13_6_heuristic_args (args).lda ;
206+ };
207+
208+ EXPECT_EQ (query_lda (12 ), 13 );
209+ EXPECT_EQ (query_lda (15 ), 15 );
210+ EXPECT_EQ (query_lda (16 ), 17 );
211+
212+ const detail::matmul_key_t args{134217728 , 1 , 2 , 16 , 1 , 134217728 , true , true };
213+ const auto heuristic_args = detail::get_cublaslt_13_6_heuristic_args (args);
214+ EXPECT_EQ (heuristic_args.m , args.m );
215+ EXPECT_EQ (heuristic_args.n , args.n );
216+ EXPECT_EQ (heuristic_args.k , args.k );
217+ EXPECT_EQ (heuristic_args.ldb , args.ldb );
218+ EXPECT_EQ (heuristic_args.ldc , args.ldc );
219+ EXPECT_EQ (heuristic_args.trans_a , args.trans_a );
220+ EXPECT_EQ (heuristic_args.trans_b , args.trans_b );
214221}
215222
216223} // namespace raft::linalg
0 commit comments