|
|
@@ -72,6 +72,8 @@ TEST(ARM_RUNTIME, CPUINFO_SDM8150) { |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_dot()); |
|
|
|
|
|
|
|
ASSERT_FALSE(cpuinfo_has_arm_i8mm()); |
|
|
|
|
|
|
|
for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) { |
|
|
|
ASSERT_EQ(cpuinfo_get_core(i), cpuinfo_get_processor(i)->core); |
|
|
|
} |
|
|
@@ -148,6 +150,74 @@ TEST(ARM_RUNTIME, CPUINFO_SDM660) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
TEST(ARM_RUNTIME, CPUINFO_TAISHAN) { |
|
|
|
ASSERT_TRUE(cpuinfo_initialize()); |
|
|
|
|
|
|
|
bool right_soc = |
|
|
|
cpuinfo_get_processors_count() == 96 && |
|
|
|
cpuinfo_get_processor(0)->core->uarch == cpuinfo_uarch_taishan_v110; |
|
|
|
if (right_soc) { |
|
|
|
ASSERT_TRUE(cpuinfo_get_processors()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_fp16()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_fma()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_dot()); |
|
|
|
|
|
|
|
ASSERT_FALSE(cpuinfo_has_arm_i8mm()); |
|
|
|
|
|
|
|
for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) { |
|
|
|
ASSERT_EQ(cpuinfo_get_core(i), cpuinfo_get_processor(i)->core); |
|
|
|
} |
|
|
|
|
|
|
|
for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) { |
|
|
|
ASSERT_EQ(cpuinfo_vendor_huawei, cpuinfo_get_core(i)->vendor); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
printf("detect soc: %s ,skip test.\n", cpuinfo_get_package(0)->name); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
TEST(ARM_RUNTIME, CPUINFO_SDM8GEN1) { |
|
|
|
ASSERT_TRUE(cpuinfo_initialize()); |
|
|
|
bool right_soc = |
|
|
|
cpuinfo_get_processors_count() == 8 && |
|
|
|
cpuinfo_get_processor(0)->core->uarch == cpuinfo_uarch_cortex_x2 && |
|
|
|
cpuinfo_get_processor(1)->core->uarch == cpuinfo_uarch_cortex_a710 && |
|
|
|
cpuinfo_get_processor(7)->core->uarch == cpuinfo_uarch_cortex_a510; |
|
|
|
|
|
|
|
if (right_soc) { |
|
|
|
ASSERT_TRUE(cpuinfo_get_processors()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_fp16()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_fma()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_neon_dot()); |
|
|
|
|
|
|
|
ASSERT_FALSE(cpuinfo_has_arm_sve2()); |
|
|
|
|
|
|
|
ASSERT_TRUE(cpuinfo_has_arm_i8mm()); |
|
|
|
|
|
|
|
for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) { |
|
|
|
ASSERT_EQ(cpuinfo_get_core(i), cpuinfo_get_processor(i)->core); |
|
|
|
} |
|
|
|
|
|
|
|
for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) { |
|
|
|
ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_get_core(i)->vendor); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
printf("detect soc: %s ,skip test.\n", cpuinfo_get_package(0)->name); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace test |
|
|
|
} // namespace megdnn |
|
|
|
#endif |
|
|
|