66class EngineMatcherUtilsTestSuite : public ::testing::Test {
77 protected:
88 const std::vector<std::string> cortex_llamacpp_variants{
9- " cortex.llamacpp-0.1.25-25.08.24-linux-amd64-avx-cuda-11-7.tar.gz " ,
10- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- avx-cuda-12-0 .tar.gz" ,
11- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- avx.tar.gz" ,
12- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64-avx2-cuda-11-7 .tar.gz" ,
13- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- avx2-cuda-12-0 .tar.gz" ,
14- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- avx2.tar.gz" ,
15- " cortex.llamacpp-0.1.25-25.08.24-linux-amd64-avx512-cuda-11-7 .tar.gz" ,
16- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- avx512-cuda-12-0 .tar.gz" ,
17- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- avx512.tar.gz" ,
18- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64-noavx-cuda-11-7 .tar.gz" ,
19- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- noavx-cuda-12-0 .tar.gz" ,
20- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64- noavx.tar.gz" ,
21- " cortex.llamacpp-0.1.25-25.08.24 -linux-amd64-vulkan .tar.gz" ,
22- " cortex.llamacpp-0.1.43-linux-arm64 .tar.gz" ,
23- " cortex.llamacpp-0.1.25-25.08.24-mac-amd64.tar.gz " ,
24- " cortex.llamacpp-0.1.25-25.08.24-mac-arm64.tar.gz " ,
25- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-avx-cuda-11-7.tar.gz" ,
26- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-avx-cuda-12-0.tar.gz" ,
27- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64- avx.tar.gz " ,
28- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-avx2-cuda-11-7.tar.gz" ,
29- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-avx2-cuda-12-0.tar.gz" ,
30- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64- avx2.tar.gz " ,
31- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-avx512-cuda-11-7.tar.gz" ,
32- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-avx512-cuda-12-0.tar.gz" ,
33- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64- avx512.tar.gz " ,
34- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-noavx-cuda-11-7.tar.gz" ,
35- " cortex.llamacpp-0.1.25-25.08.24 -windows-amd64-noavx-cuda-12-0.tar.gz" ,
36- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64- noavx.tar.gz " ,
37- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64- vulkan.tar.gz " ,
9+ " llama-b4920-bin-ubuntu-arm64.zip " ,
10+ " llama-b4920-bin -linux-avx-cuda-cu11.7-x64 .tar.gz" ,
11+ " llama-b4920-bin -linux-avx-cuda-cu12.0-x64 .tar.gz" ,
12+ " llama-b4920-bin -linux-avx-x64 .tar.gz" ,
13+ " llama-b4920-bin -linux-avx2-cuda-cu11.7-x64 .tar.gz" ,
14+ " llama-b4920-bin -linux-avx2-cuda-cu12.0-x64 .tar.gz" ,
15+ " llama-b4920-bin-ubuntu-x64 .tar.gz" ,
16+ " llama-b4920-bin -linux-avx512-cuda-cu11.7-x64 .tar.gz" ,
17+ " llama-b4920-bin -linux-avx512-cuda-cu12.0-x64 .tar.gz" ,
18+ " llama-b4920-bin -linux-avx512-x64 .tar.gz" ,
19+ " llama-b4920-bin -linux-noavx-cuda-cu11.7-x64 .tar.gz" ,
20+ " llama-b4920-bin -linux-noavx-cuda-cu12.0-x64 .tar.gz" ,
21+ " llama-b4920-bin -linux-noavx-x64 .tar.gz" ,
22+ " llama-b4920-bin-ubuntu-vulkan-x64 .tar.gz" ,
23+ " llama-b4920-bin-macos-arm64.zip " ,
24+ " llama-b4920-bin-macos-x64.zip " ,
25+ " llama-b4920-bin -windows-amd64-avx-cuda-11-7.tar.gz" ,
26+ " llama-b4920-bin -windows-amd64-avx-cuda-12-0.tar.gz" ,
27+ " llama-b4920-bin-win- avx-x64.zip " ,
28+ " llama-b4920-bin -windows-amd64-avx2-cuda-11-7.tar.gz" ,
29+ " llama-b4920-bin -windows-amd64-avx2-cuda-12-0.tar.gz" ,
30+ " llama-b4920-bin-win- avx2-x64.zip " ,
31+ " llama-b4920-bin -windows-amd64-avx512-cuda-11-7.tar.gz" ,
32+ " llama-b4920-bin -windows-amd64-avx512-cuda-12-0.tar.gz" ,
33+ " llama-b4920-bin-win- avx512-x64.zip " ,
34+ " llama-b4920-bin -windows-amd64-noavx-cuda-11-7.tar.gz" ,
35+ " llama-b4920-bin -windows-amd64-noavx-cuda-12-0.tar.gz" ,
36+ " llama-b4920-bin-win- noavx-x64.zip " ,
37+ " llama-b4920-bin-win- vulkan-x64.zip " ,
3838 };
39-
40- const std::vector<std::string> cortex_tensorrt_variants{
41- " cortex.tensorrt-llm-0.0.9-linux-cuda-12-4.tar.gz" ,
42- " cortex.tensorrt-llm-0.0.9-windows-cuda-12-4.tar.gz" };
43-
44- const std::vector<std::string> cortex_onnx_variants{
45- " cortex.onnx-0.1.7-windows-amd64.tar.gz" };
4639};
4740
48- TEST_F (EngineMatcherUtilsTestSuite, TestValidateOnnx) {
49-
50- {
51- auto expect_matched_variant = cortex_onnx_variants[0 ];
52- auto result = engine_matcher_utils::ValidateOnnx (cortex_onnx_variants,
53- " windows" , " amd64" );
54-
55- EXPECT_EQ (result, expect_matched_variant);
56- }
57-
58- {
59- // should return an empty variant because no variant matched
60- auto expect_matched_variant{" " };
61- auto windows_arm_result = engine_matcher_utils::ValidateOnnx (
62- cortex_onnx_variants, " windows" , " arm" );
63- auto mac_arm64_result = engine_matcher_utils::ValidateOnnx (
64- cortex_onnx_variants, " mac" , " arm64" );
65-
66- EXPECT_EQ (windows_arm_result, expect_matched_variant);
67- EXPECT_EQ (mac_arm64_result, expect_matched_variant);
68- }
69- }
70-
71- TEST_F (EngineMatcherUtilsTestSuite, TestValidateTensorrt) {
72-
73- {
74- auto windows_expect_matched_variant{cortex_tensorrt_variants[1 ]};
75- auto linux_expect_matched_variant{cortex_tensorrt_variants[0 ]};
76- auto windows{" windows" };
77- auto linux{" linux" };
78- auto cuda_version{" 12.4" };
79- auto windows_result = engine_matcher_utils::ValidateTensorrtLlm (
80- cortex_tensorrt_variants, windows, cuda_version);
81- auto linux_result = engine_matcher_utils::ValidateTensorrtLlm (
82- cortex_tensorrt_variants, linux, cuda_version);
83-
84- EXPECT_EQ (windows_result, windows_expect_matched_variant);
85- EXPECT_EQ (linux_result, linux_expect_matched_variant);
86- }
87-
88- { // macos is not supported
89- auto os = " mac" ;
90- auto cuda_version{" 12.4" };
91-
92- auto result = engine_matcher_utils::ValidateTensorrtLlm (
93- cortex_tensorrt_variants, os, cuda_version);
94- EXPECT_EQ (result, " " );
95- }
96- }
97-
9841TEST_F (EngineMatcherUtilsTestSuite, TestValidate) {
9942 {
100- auto os{" windows " };
43+ auto os{" win " };
10144 auto cpu_arch{" amd64" };
10245 auto suitable_avx{" avx2" };
10346 auto cuda_version{" 12.4" };
10447
10548 auto variant = engine_matcher_utils::Validate (
10649 cortex_llamacpp_variants, os, cpu_arch, suitable_avx, cuda_version);
10750
108- EXPECT_EQ (
109- variant,
110- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64-avx2-cuda-12-0.tar.gz" );
51+ EXPECT_EQ (variant, " llama-b4920-bin-windows-amd64-avx2-cuda-12-0.tar.gz" );
11152 }
11253
11354 {
11455 auto os{" mac" };
115- auto cpu_arch{" amd64 " };
56+ auto cpu_arch{" x64 " };
11657 auto suitable_avx{" " };
11758 auto cuda_version{" " };
11859
11960 auto variant = engine_matcher_utils::Validate (
12061 cortex_llamacpp_variants, os, cpu_arch, suitable_avx, cuda_version);
12162
122- EXPECT_EQ (variant, " cortex.llamacpp-0.1.25-25.08.24-mac-amd64.tar.gz " );
63+ EXPECT_EQ (variant, " llama-b4920-bin-macos-x64.zip " );
12364 }
12465
12566 {
126- auto os{" windows " };
127- auto cpu_arch{" amd64 " };
67+ auto os{" win " };
68+ auto cpu_arch{" x64 " };
12869 auto suitable_avx{" avx2" };
12970 auto cuda_version{" 10" };
13071
13172 auto variant = engine_matcher_utils::Validate (
13273 cortex_llamacpp_variants, os, cpu_arch, suitable_avx, cuda_version);
13374
13475 // fallback to no cuda version
135- EXPECT_EQ (variant,
136- " cortex.llamacpp-0.1.25-25.08.24-windows-amd64-avx2.tar.gz" );
76+ EXPECT_EQ (variant, " llama-b4920-bin-win-avx2-x64.zip" );
13777 }
13878
13979 {
@@ -145,30 +85,36 @@ TEST_F(EngineMatcherUtilsTestSuite, TestValidate) {
14585 auto variant = engine_matcher_utils::Validate (
14686 cortex_llamacpp_variants, os, cpu_arch, suitable_avx, cuda_version);
14787
148- EXPECT_EQ (variant, " cortex.llamacpp-0.1.43-linux- arm64.tar.gz " );
88+ EXPECT_EQ (variant, " llama-b4920-bin-ubuntu- arm64.zip " );
14989 }
15090}
15191
15292TEST_F (EngineMatcherUtilsTestSuite, TestGetVersionAndArch) {
15393 {
154- std::string variant =
155- " cortex.llamacpp-0.1.25-25.08.24-linux-amd64-avx-cuda-11-7.tar.gz" ;
94+ std::string variant = " llama-b4920-bin-linux-avx-cuda-cu11.7-x64.tar.gz" ;
95+ auto [version, arch] = engine_matcher_utils::GetVersionAndArch (variant);
96+ EXPECT_EQ (version, " b4920" );
97+ EXPECT_EQ (arch, " linux-avx-cuda-cu11.7-x64" );
98+ }
99+
100+ {
101+ std::string variant = " llama-b4920-bin-ubuntu-arm64.zip" ;
156102 auto [version, arch] = engine_matcher_utils::GetVersionAndArch (variant);
157- EXPECT_EQ (version, " v0.1.25-25.08.24 " );
158- EXPECT_EQ (arch, " linux-amd64-avx-cuda-11-7 " );
103+ EXPECT_EQ (version, " b4920 " );
104+ EXPECT_EQ (arch, " ubuntu-arm64 " );
159105 }
160106
161107 {
162- std::string variant = " cortex.llamacpp-0.1.25-windows-amd64 -avx2.tar.gz " ;
108+ std::string variant = " llama-b4920-bin-win -avx2-x64.zip " ;
163109 auto [version, arch] = engine_matcher_utils::GetVersionAndArch (variant);
164- EXPECT_EQ (version, " v0.1.25 " );
165- EXPECT_EQ (arch, " windows-amd64- avx2" );
110+ EXPECT_EQ (version, " b4920 " );
111+ EXPECT_EQ (arch, " win- avx2-x64 " );
166112 }
167113
168114 {
169- std::string variant = " cortex.llamacpp-0.1.25-25.08.24-mac-amd64 .tar.gz" ;
115+ std::string variant = " llama-b4920-bin-macos-x64 .tar.gz" ;
170116 auto [version, arch] = engine_matcher_utils::GetVersionAndArch (variant);
171- EXPECT_EQ (version, " v0.1.25-25.08.24 " );
172- EXPECT_EQ (arch, " mac-amd64 " );
117+ EXPECT_EQ (version, " b4920 " );
118+ EXPECT_EQ (arch, " macos-x64 " );
173119 }
174120}
0 commit comments