Browse Source

feat(third_party): update cpuinfo

GitOrigin-RevId: 67c7b8e8cc
release-1.11.1
Megvii Engine Team 2 years ago
parent
commit
d977079212
1 changed files with 70 additions and 0 deletions
  1. +70
    -0
      dnn/test/arm_common/cpuinfo.cpp

+ 70
- 0
dnn/test/arm_common/cpuinfo.cpp View File

@@ -72,6 +72,8 @@ TEST(ARM_RUNTIME, CPUINFO_SDM8150) {


ASSERT_TRUE(cpuinfo_has_arm_neon_dot()); ASSERT_TRUE(cpuinfo_has_arm_neon_dot());


ASSERT_FALSE(cpuinfo_has_arm_i8mm());

for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) { for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
ASSERT_EQ(cpuinfo_get_core(i), cpuinfo_get_processor(i)->core); 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 test
} // namespace megdnn } // namespace megdnn
#endif #endif


Loading…
Cancel
Save