提交 d9770792 编写于 作者: M Megvii Engine Team

feat(third_party): update cpuinfo

GitOrigin-RevId: 67c7b8e8ccf764a101868ff446b49ee88c1bc6b1
上级 d27a4456
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册