@@ -36,6 +36,7 @@ TEST(auto_configure, simple) {
36
36
#define VERSIONIDSTRINGIFY (x ) #x
37
37
#define VERSIONIDTOSTR (x ) VERSIONIDSTRINGIFY(x)
38
38
#define DEVICE_FIELDS " 23"
39
+ #define DEVICE_FIELDS_DEV_GLOBAL " 30"
39
40
#define DEVICE_FIELDS_OLD " 18"
40
41
#define BOARDNAME " de4_gen2x4_swdimm"
41
42
#define BOARDNAME2 " pcie385_a7"
@@ -96,24 +97,31 @@ TEST(auto_configure, simple) {
96
97
#define IS_SYCL_COMPILE " 1"
97
98
#define IS_NOT_SYCL_COMPILE " 0"
98
99
100
+ // Device global autodiscovery entries
101
+ #define NUM_DEV_GLOBAL " 2"
102
+ #define NUM_DEV_GLOBAL_FIELD " 3" // containing dev_globa_name, address, size
103
+ #define DEV_GLOBAL_1 \
104
+ " kernel15_dev_global 4096 2048" // in format of dev_globa_name, address, size
105
+ #define DEV_GLOBAL_2 " kernel15_dev_global2 2048 1024"
106
+
99
107
int parsed;
100
108
std::string err_str;
101
- ACL_LOCKED (
102
- parsed = acl_load_device_def_from_str (
103
- std::string (
104
- VERSIONIDTOSTR (ACL_AUTO_CONFIGURE_VERSIONID)
105
- DEVICE_FIELDS RANDOM_HASH
106
- " " BOARDNAME IS_NOT_BIG_ENDIAN MEM HOSTPIPE KERNEL_ARG_INFO_NONE
107
- " 1 82 foo " KERNEL_CRA KERNEL_FAST_LAUNCH_DEPTH KERNEL_PERF_MON
108
- KERNEL_WORKGROUP_VARIANT KERNEL_WORKITEM_VARIANT
109
- KERNEL_NUM_VECTOR_LANES1 KERNEL_PROFILE_SCANCHAIN_LENGTH
110
- ARGS_LOCAL_GLOBAL_LONG_PROF KERNEL_PRINTF_FORMATSTRINGS
111
- LD_1024 KERNEL_REQD_WORK_GROUP_SIZE_NONE
112
- KERNEL_MAX_WORK_GROUP_SIZE_NONE
113
- KERNEL_MAX_GLOBAL_WORK_DIM_NONE
114
- KERNEL_USES_GLOBAL_WORK_OFFSET_ENABLED
115
- IS_SYCL_COMPILE),
116
- m_device_def.autodiscovery_def , err_str));
109
+ std::string autodiscovery = std::string (
110
+ VERSIONIDTOSTR (ACL_AUTO_CONFIGURE_VERSIONID)
111
+ DEVICE_FIELDS_DEV_GLOBAL RANDOM_HASH
112
+ " " BOARDNAME IS_NOT_BIG_ENDIAN MEM HOSTPIPE KERNEL_ARG_INFO_NONE
113
+ NUM_DEV_GLOBAL NUM_DEV_GLOBAL_FIELD DEV_GLOBAL_1 DEV_GLOBAL_2
114
+ " 1 82 foo " KERNEL_CRA KERNEL_FAST_LAUNCH_DEPTH KERNEL_PERF_MON
115
+ KERNEL_WORKGROUP_VARIANT KERNEL_WORKITEM_VARIANT
116
+ KERNEL_NUM_VECTOR_LANES1 KERNEL_PROFILE_SCANCHAIN_LENGTH
117
+ ARGS_LOCAL_GLOBAL_LONG_PROF KERNEL_PRINTF_FORMATSTRINGS
118
+ LD_1024 KERNEL_REQD_WORK_GROUP_SIZE_NONE
119
+ KERNEL_MAX_WORK_GROUP_SIZE_NONE
120
+ KERNEL_MAX_GLOBAL_WORK_DIM_NONE
121
+ KERNEL_USES_GLOBAL_WORK_OFFSET_ENABLED
122
+ IS_SYCL_COMPILE);
123
+ ACL_LOCKED (parsed = acl_load_device_def_from_str (
124
+ autodiscovery, m_device_def.autodiscovery_def , err_str));
117
125
CHECK_EQUAL (1 , parsed);
118
126
119
127
CHECK_EQUAL (1 , m_device_def.autodiscovery_def .num_global_mem_systems );
@@ -261,6 +269,23 @@ TEST(auto_configure, simple) {
261
269
(int )m_device_def.autodiscovery_def .accel [0 ].max_work_group_size );
262
270
CHECK_EQUAL (1 , (int )m_device_def.autodiscovery_def .accel [0 ].is_sycl_compile );
263
271
272
+ // Checks for device global entry.
273
+ CHECK_EQUAL (2 , m_device_def.autodiscovery_def .device_global_mem_defs .size ());
274
+ const auto kernel15_dev_global =
275
+ m_device_def.autodiscovery_def .device_global_mem_defs .find (
276
+ " kernel15_dev_global" );
277
+ const auto kernel15_dev_global2 =
278
+ m_device_def.autodiscovery_def .device_global_mem_defs .find (
279
+ " kernel15_dev_global2" );
280
+ CHECK (kernel15_dev_global !=
281
+ m_device_def.autodiscovery_def .device_global_mem_defs .end ());
282
+ CHECK (kernel15_dev_global2 !=
283
+ m_device_def.autodiscovery_def .device_global_mem_defs .end ());
284
+ CHECK_EQUAL (4096 , kernel15_dev_global->second .address );
285
+ CHECK_EQUAL (2048 , kernel15_dev_global->second .size );
286
+ CHECK_EQUAL (2048 , kernel15_dev_global2->second .address );
287
+ CHECK_EQUAL (1024 , kernel15_dev_global2->second .size );
288
+
264
289
// Check a second parsing.
265
290
// It should allocate a new string for the name.
266
291
ACL_LOCKED (
@@ -460,8 +485,8 @@ TEST(auto_configure, many_ok_forward_compatibility) {
460
485
ACL_AUTO_CONFIGURE_VERSIONID) " 28 "
461
486
" sample40byterandomhash000000000000000000 "
462
487
" a10gx 0 1 15 DDR 2 1 6 0 2147483648 100 "
463
- " 100 100 100 200 200 200 200 0 0 0 0 400 "
464
- " 400 400 400 400 47 "
488
+ " 100 100 100 200 200 200 200 0 0 0 0 2 "
489
+ " 1 name1 1 name2 47 "
465
490
" 40 external_sort_stage_0 0 128 1 0 0 1 0 "
466
491
" 1 0 1 10 0 0 4 1 0 0 500 500 500 500 0 0 "
467
492
" 0 0 1 1 1 3 1 1 1 3 1 800 800 800 800 800 "
@@ -1175,7 +1200,7 @@ TEST(auto_configure, hostpipe) {
1175
1200
" 200 "
1176
1201
" 2 9 host_to_dev 1 0 32 32768 300 300 300 "
1177
1202
" 300 dev_to_host 0 1 32 32768 300 300 300 "
1178
- " 300 400 400 400 400 400 0 "
1203
+ " 300 400 1 3 name3 400 0 "
1179
1204
" 1 29 foo 0 128 1 0 0 1 0 1 0 0 0 0 0 0 1 "
1180
1205
" 1 1 3 1 1 1 3 1 800 800 800 800 800 900 "
1181
1206
" 900"
0 commit comments