#define REC_PATH NE_BINDIR "/testdata/triv2.4_nodlp_284.rec"
#define DLP_REC_PATH NE_BINDIR "/testdata/triv2.4_dlp_284_485.rec"
+#define REC_PATH_23 NE_BINDIR "/testdata/triv2.3_13.rec"
/**
* @brief check mergeProfile
ASSERT_GT (num_devices, 0);
auto api = DriverAPI::createDriverAPI (NPUCOND_TRIV2_CONN_SOCIP, 0);
- ModelProfiler *profiler = new ModelProfiler (api.get ());
ASSERT_NE (api.get (), nullptr);
+ std::unique_ptr<ModelProfiler> profiler (new ModelProfiler (api.get ()));
+
npu_profile profile = {0};
- if (!std::ifstream (REC_PATH)) {
- printf ("no rec file %s found\n", REC_PATH);
- return;
- }
+ ASSERT_TRUE (std::ifstream (REC_PATH)) << "no rec file " << REC_PATH << " found";
ret = profiler->getProfile (1, opt_visa, &profile, REC_PATH);
ASSERT_EQ (ret, 0);
npu_profile profile_dlp = {0};
- if (!std::ifstream (DLP_REC_PATH)) {
- printf ("no rec file %s found\n", DLP_REC_PATH);
- return;
- }
+ ASSERT_TRUE (std::ifstream (DLP_REC_PATH)) << "no rec file " << DLP_REC_PATH << " found";
ret = profiler->getProfile (1, opt_visa, &profile_dlp, DLP_REC_PATH);
ASSERT_EQ (ret, 0);
}
/**
- * @brief check mergeProfile
+ * @brief check PROFILE_LEVEL_VISA_DLP
*/
TEST (ne_core_profiler_test, profile_level_visa_dlp) {
const npu_profile_opt opt_dlp = {.level = PROFILE_LEVEL_VISA_DLP};
ASSERT_GT (num_devices, 0);
auto api = DriverAPI::createDriverAPI (NPUCOND_TRIV2_CONN_SOCIP, 0);
- ModelProfiler *profiler = new ModelProfiler (api.get ());
ASSERT_NE (api.get (), nullptr);
+ std::unique_ptr<ModelProfiler> profiler (new ModelProfiler (api.get ()));
+
npu_profile profile_dlp = {0};
npu_profile profile_visa = {0};
- if (!std::ifstream (DLP_REC_PATH)) {
- printf ("no rec file %s found\n", DLP_REC_PATH);
- return;
- }
+ ASSERT_TRUE (std::ifstream (DLP_REC_PATH)) << "no rec file " << DLP_REC_PATH << " found";
ret = profiler->getProfile (1, opt_dlp, &profile_dlp, DLP_REC_PATH);
ASSERT_EQ (ret, 0);
ASSERT_EQ (profile_dlp.num_layers, 485);
ret = profiler->getProfile (1, opt_visa, &profile_visa, DLP_REC_PATH);
- ASSERT_EQ (ret, 0);
- ASSERT_EQ (profile_visa.num_layers, 284);
+ EXPECT_EQ (ret, 0);
+ EXPECT_EQ (profile_visa.num_layers, 284);
+}
+
+/**
+ * @brief check triv 2.3 profile
+ */
+TEST (ne_core_profiler_test, profile_TRIV23) {
+ const npu_profile_opt opt_visa = {.level = PROFILE_LEVEL_VISA};
+
+ int ret, num_devices = DriverAPI::getNumDevices (NPUCOND_TRIV2_CONN_SOCIP);
+ ASSERT_GT (num_devices, 0);
+
+ auto api = DriverAPI::createDriverAPI (NPUCOND_TRIV2_CONN_SOCIP, 0);
+ ASSERT_NE (api.get (), nullptr);
+
+ std::unique_ptr<ModelProfiler> profiler (new ModelProfiler (api.get ()));
+
+ npu_profile profile_visa = {0};
+
+ ASSERT_TRUE (std::ifstream (REC_PATH_23)) << "no rec file " << REC_PATH_23 << " found";
+
+ ret = profiler->getProfile (1, opt_visa, &profile_visa, REC_PATH_23);
+ EXPECT_EQ (ret, 0);
+ EXPECT_EQ (profile_visa.num_layers, 13);
}
/**