@@ -67,8 +67,8 @@ def get_group_range(self, dim):
6767 def get_group_linear_range (self ):
6868 """Return the total number of work-groups in the nd_range."""
6969 num_wg = 1
70- for ext in self ._group_range :
71- num_wg *= ext
70+ for i in range ( self .dimensions ) :
71+ num_wg *= self . get_group_range ( i )
7272
7373 return num_wg
7474
@@ -82,8 +82,8 @@ def get_local_range(self, dim):
8282 def get_local_linear_range (self ):
8383 """Return the total number of work-items in the work-group."""
8484 num_wi = 1
85- for ext in self ._local_range :
86- num_wi *= ext
85+ for i in range ( self .dimensions ) :
86+ num_wi *= self . get_local_range ( i )
8787
8888 return num_wi
8989
@@ -152,6 +152,14 @@ def get_id(self, idx):
152152 """
153153 return self ._index [idx ]
154154
155+ def get_linear_range (self ):
156+ """Return the total number of work-items in the work-group."""
157+ num_wi = 1
158+ for i in range (self .dimensions ):
159+ num_wi *= self .get_range (i )
160+
161+ return num_wi
162+
155163 def get_range (self , idx ):
156164 """Get the range size for a specific dimension.
157165
@@ -268,6 +276,22 @@ def get_local_range(self, idx):
268276 """
269277 return self ._local_item .get_range (idx )
270278
279+ def get_local_linear_range (self ):
280+ """Return the total number of work-items in the work-group."""
281+ num_wi = 1
282+ for i in range (self .dimensions ):
283+ num_wi *= self .get_local_range (i )
284+
285+ return num_wi
286+
287+ def get_global_linear_range (self ):
288+ """Return the total number of work-items in the work-group."""
289+ num_wi = 1
290+ for i in range (self .dimensions ):
291+ num_wi *= self .get_global_range (i )
292+
293+ return num_wi
294+
271295 def get_group (self ):
272296 """Returns the group.
273297
0 commit comments