@@ -70,7 +70,7 @@ def map(self, key, site, k, v):
70
70
71
71
class DataManager :
72
72
73
- lang = LangBB
73
+ langbb = LangBB
74
74
"""
75
75
The language used to express data allocations, deletions, and host-device transfers.
76
76
"""
@@ -127,13 +127,13 @@ def _alloc_array_on_global_mem(self, site, obj, storage):
127
127
name = self .sregistry .make_name (prefix = 'init_global' )
128
128
nbytes = SizeOf (obj ._C_typedata )* obj .size
129
129
body = [Definition (src ),
130
- self .lang ['alloc-global-symbol' ](obj .indexed , src .indexed , nbytes )]
130
+ self .langbb ['alloc-global-symbol' ](obj .indexed , src .indexed , nbytes )]
131
131
efunc = make_callable (name , body )
132
132
alloc = Call (name , efunc .parameters )
133
133
134
134
storage .update (obj , site , allocs = alloc , efuncs = efunc )
135
135
136
- return self .lang ['header-memcpy' ]
136
+ return self .langbb ['header-memcpy' ]
137
137
138
138
def _alloc_scalar_on_low_lat_mem (self , site , expr , storage ):
139
139
"""
@@ -150,9 +150,9 @@ def _alloc_host_array_on_high_bw_mem(self, site, obj, storage, *args):
150
150
memptr = VOID (Byref (obj ._C_symbol ), '**' )
151
151
alignment = obj ._data_alignment
152
152
nbytes = SizeOf (obj ._C_typedata )* obj .size
153
- alloc = self .lang ['host-alloc' ](memptr , alignment , nbytes )
153
+ alloc = self .langbb ['host-alloc' ](memptr , alignment , nbytes )
154
154
155
- free = self .lang ['host-free' ](obj ._C_symbol )
155
+ free = self .langbb ['host-free' ](obj ._C_symbol )
156
156
157
157
storage .update (obj , site , allocs = (decl , alloc ), frees = free )
158
158
@@ -172,24 +172,24 @@ def _alloc_mapped_array_on_high_bw_mem(self, site, obj, storage, *args):
172
172
memptr = VOID (Byref (obj ._C_symbol ), '**' )
173
173
alignment = obj ._data_alignment
174
174
nbytes = SizeOf (obj ._C_typedata )
175
- allocs = [self .lang ['host-alloc' ](memptr , alignment , nbytes )]
175
+ allocs = [self .langbb ['host-alloc' ](memptr , alignment , nbytes )]
176
176
177
177
nbytes_param = Symbol (name = 'nbytes' , dtype = np .uint64 , is_const = True )
178
178
nbytes_arg = SizeOf (obj .indexed ._C_typedata )* obj .size
179
179
180
180
# Allocate the underlying host data
181
181
ffp0 = FieldFromPointer (obj ._C_field_data , obj ._C_symbol )
182
182
memptr = VOID (Byref (ffp0 ), '**' )
183
- allocs .append (self .lang ['host-alloc-pin' ](memptr , alignment , nbytes_param ))
183
+ allocs .append (self .langbb ['host-alloc-pin' ](memptr , alignment , nbytes_param ))
184
184
185
185
# Initialize the Array struct
186
186
ffp1 = FieldFromPointer (obj ._C_field_nbytes , obj ._C_symbol )
187
187
init0 = DummyExpr (ffp1 , nbytes_param )
188
188
ffp2 = FieldFromPointer (obj ._C_field_size , obj ._C_symbol )
189
189
init1 = DummyExpr (ffp2 , 0 )
190
190
191
- frees = [self .lang ['host-free-pin' ](ffp0 ),
192
- self .lang ['host-free' ](obj ._C_symbol )]
191
+ frees = [self .langbb ['host-free-pin' ](ffp0 ),
192
+ self .langbb ['host-free' ](obj ._C_symbol )]
193
193
194
194
# Allocate the underlying device data, if required by the backend
195
195
alloc , free = self ._make_dmap_allocfree (obj , nbytes_param )
@@ -226,7 +226,7 @@ def _alloc_bundle_struct_on_high_bw_mem(self, site, obj, storage):
226
226
memptr = VOID (Byref (obj ._C_symbol ), '**' )
227
227
alignment = obj ._data_alignment
228
228
nbytes = SizeOf (obj ._C_typedata )
229
- alloc = self .lang ['host-alloc' ](memptr , alignment , nbytes )
229
+ alloc = self .langbb ['host-alloc' ](memptr , alignment , nbytes )
230
230
231
231
nbytes_param = Symbol (name = 'nbytes' , dtype = np .uint64 , is_const = True )
232
232
nbytes_arg = SizeOf (obj .indexed ._C_typedata )* obj .size
@@ -237,7 +237,7 @@ def _alloc_bundle_struct_on_high_bw_mem(self, site, obj, storage):
237
237
ffp2 = FieldFromPointer (obj ._C_field_size , obj ._C_symbol )
238
238
init1 = DummyExpr (ffp2 , 0 )
239
239
240
- free = self .lang ['host-free' ](obj ._C_symbol )
240
+ free = self .langbb ['host-free' ](obj ._C_symbol )
241
241
242
242
ret = Return (obj ._C_symbol )
243
243
@@ -277,17 +277,17 @@ def _alloc_pointed_array_on_high_bw_mem(self, site, obj, storage):
277
277
memptr = VOID (Byref (obj ._C_symbol ), '**' )
278
278
alignment = obj ._data_alignment
279
279
nbytes = SizeOf (obj ._C_typedata , stars = '*' )* obj .dim .symbolic_size
280
- alloc0 = self .lang ['host-alloc' ](memptr , alignment , nbytes )
280
+ alloc0 = self .langbb ['host-alloc' ](memptr , alignment , nbytes )
281
281
282
- free0 = self .lang ['host-free' ](obj ._C_symbol )
282
+ free0 = self .langbb ['host-free' ](obj ._C_symbol )
283
283
284
284
# The pointee Array
285
285
pobj = IndexedPointer (obj ._C_symbol , obj .dim )
286
286
memptr = VOID (Byref (pobj ), '**' )
287
287
nbytes = SizeOf (obj ._C_typedata )* obj .array .size
288
- alloc1 = self .lang ['host-alloc' ](memptr , alignment , nbytes )
288
+ alloc1 = self .langbb ['host-alloc' ](memptr , alignment , nbytes )
289
289
290
- free1 = self .lang ['host-free' ](pobj )
290
+ free1 = self .langbb ['host-free' ](pobj )
291
291
292
292
# Dump
293
293
if obj .dim is self .sregistry .threadid :
@@ -322,15 +322,15 @@ def _inject_definitions(self, iet, storage):
322
322
allocs = as_list (cbody .allocs ) + flatten (v .allocs )
323
323
stacks = as_list (cbody .stacks ) + flatten (v .stacks )
324
324
for tid , body in as_mapper (v .pallocs , itemgetter (0 ), itemgetter (1 )).items ():
325
- header = self .lang .Region ._make_header (tid .symbolic_size )
326
- init = self .lang ['thread-num' ](retobj = tid )
325
+ header = self .langbb .Region ._make_header (tid .symbolic_size )
326
+ init = self .langbb ['thread-num' ](retobj = tid )
327
327
allocs .append (Block (header = header , body = [init ] + body ))
328
328
329
329
# frees/pfrees
330
330
frees = []
331
331
for tid , body in as_mapper (v .pfrees , itemgetter (0 ), itemgetter (1 )).items ():
332
- header = self .lang .Region ._make_header (tid .symbolic_size )
333
- init = self .lang ['thread-num' ](retobj = tid )
332
+ header = self .langbb .Region ._make_header (tid .symbolic_size )
333
+ init = self .langbb ['thread-num' ](retobj = tid )
334
334
frees .append (Block (header = header , body = [init ] + body ))
335
335
frees .extend (as_list (cbody .frees ) + flatten (v .frees ))
336
336
@@ -455,7 +455,7 @@ def place_casts(self, iet, **kwargs):
455
455
bases = [i for i in bases if i .name != i .function ._C_name ]
456
456
457
457
# Create and attach the type casts
458
- casts = tuple (self .lang .PointerCast (i .function , obj = i ) for i in bases
458
+ casts = tuple (self .langbb .PointerCast (i .function , obj = i ) for i in bases
459
459
if i not in defines )
460
460
if casts :
461
461
iet = iet ._rebuild (body = iet .body ._rebuild (casts = casts + iet .body .casts ))
@@ -483,9 +483,9 @@ def _alloc_local_array_on_high_bw_mem(self, site, obj, storage):
483
483
"""
484
484
Allocate a local Array in the device high bandwidth memory.
485
485
"""
486
- deviceid = DefFunction (self .lang ['device-get' ].name )
487
- doalloc = self .lang ['device-alloc' ]
488
- dofree = self .lang ['device-free' ]
486
+ deviceid = DefFunction (self .langbb ['device-get' ].name )
487
+ doalloc = self .langbb ['device-alloc' ]
488
+ dofree = self .langbb ['device-free' ]
489
489
490
490
nbytes = SizeOf (obj ._C_typedata )* obj .size
491
491
init = doalloc (nbytes , deviceid , retobj = obj )
@@ -503,8 +503,8 @@ def _map_array_on_high_bw_mem(self, site, obj, storage):
503
503
if not obj ._mem_mapped :
504
504
return
505
505
506
- mmap = self .lang ._map_alloc (obj )
507
- unmap = self .lang ._map_delete (obj )
506
+ mmap = self .langbb ._map_alloc (obj )
507
+ unmap = self .langbb ._map_delete (obj )
508
508
509
509
storage .update (obj , site , maps = mmap , unmaps = unmap )
510
510
@@ -521,22 +521,22 @@ def _map_function_on_high_bw_mem(self, site, obj, storage, devicerm, read_only=F
521
521
"""
522
522
if read_only is False :
523
523
if is_gpu_create (obj , self .gpu_create ):
524
- mmap = self .lang ._map_alloc (obj )
524
+ mmap = self .langbb ._map_alloc (obj )
525
525
526
526
efuncs , init = make_zero_init (obj , self .rcompile , self .sregistry )
527
527
528
528
mmap = (mmap , init )
529
529
else :
530
- mmap = self .lang ._map_to (obj )
530
+ mmap = self .langbb ._map_to (obj )
531
531
efuncs = ()
532
532
533
533
# Copy back to host memory, release device memory
534
- unmap = (self .lang ._map_update (obj ),
535
- self .lang ._map_release (obj , devicerm = devicerm ))
534
+ unmap = (self .langbb ._map_update (obj ),
535
+ self .langbb ._map_release (obj , devicerm = devicerm ))
536
536
else :
537
- mmap = self .lang ._map_to (obj )
537
+ mmap = self .langbb ._map_to (obj )
538
538
efuncs = ()
539
- unmap = self .lang ._map_delete (obj , devicerm = devicerm )
539
+ unmap = self .langbb ._map_delete (obj , devicerm = devicerm )
540
540
541
541
storage .update (obj , site , maps = mmap , unmaps = unmap , efuncs = efuncs )
542
542
@@ -587,7 +587,7 @@ def place_devptr(self, iet, **kwargs):
587
587
dmaps = [i for i in FindSymbols ('basics' ).visit (iet )
588
588
if isinstance (i , DeviceMap ) and i not in defines ]
589
589
590
- maps = [self .lang .PointerCast (i .function , obj = i ) for i in dmaps ]
590
+ maps = [self .langbb .PointerCast (i .function , obj = i ) for i in dmaps ]
591
591
body = iet .body ._rebuild (maps = iet .body .maps + tuple (maps ))
592
592
iet = iet ._rebuild (body = body )
593
593
0 commit comments