Skip to content

Commit 350f37c

Browse files
committed
compiler: rename lang to langbb throughout for clarity
1 parent 5f89aed commit 350f37c

File tree

14 files changed

+92
-98
lines changed

14 files changed

+92
-98
lines changed

devito/core/operator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class BasicOperator(Operator):
7171

7272
SCALAR_MIN_TYPE = np.float16
7373
"""
74-
Minimum datatype for a scalar alias for a common sub-expression or CIRE temp.
74+
Minimum datatype for a scalar arising from a common sub-expression or CIRE temp.
7575
"""
7676

7777
PAR_COLLAPSE_NCORES = 4

devito/operator/operator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ def _lower(cls, expressions, **kwargs):
261261
# Create a symbol registry
262262
kwargs.setdefault('sregistry', SymbolRegistry())
263263
# Add lang-base kwargs
264-
kwargs.setdefault('langbb', cls._Target.lang())
264+
kwargs.setdefault('langbb', cls._Target.langbb())
265265
kwargs.setdefault('printer', cls._Target.Printer)
266266

267267
expressions = as_tuple(expressions)

devito/passes/iet/definitions.py

+32-32
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def map(self, key, site, k, v):
7070

7171
class DataManager:
7272

73-
lang = LangBB
73+
langbb = LangBB
7474
"""
7575
The language used to express data allocations, deletions, and host-device transfers.
7676
"""
@@ -127,13 +127,13 @@ def _alloc_array_on_global_mem(self, site, obj, storage):
127127
name = self.sregistry.make_name(prefix='init_global')
128128
nbytes = SizeOf(obj._C_typedata)*obj.size
129129
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)]
131131
efunc = make_callable(name, body)
132132
alloc = Call(name, efunc.parameters)
133133

134134
storage.update(obj, site, allocs=alloc, efuncs=efunc)
135135

136-
return self.lang['header-memcpy']
136+
return self.langbb['header-memcpy']
137137

138138
def _alloc_scalar_on_low_lat_mem(self, site, expr, storage):
139139
"""
@@ -150,9 +150,9 @@ def _alloc_host_array_on_high_bw_mem(self, site, obj, storage, *args):
150150
memptr = VOID(Byref(obj._C_symbol), '**')
151151
alignment = obj._data_alignment
152152
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)
154154

155-
free = self.lang['host-free'](obj._C_symbol)
155+
free = self.langbb['host-free'](obj._C_symbol)
156156

157157
storage.update(obj, site, allocs=(decl, alloc), frees=free)
158158

@@ -172,24 +172,24 @@ def _alloc_mapped_array_on_high_bw_mem(self, site, obj, storage, *args):
172172
memptr = VOID(Byref(obj._C_symbol), '**')
173173
alignment = obj._data_alignment
174174
nbytes = SizeOf(obj._C_typedata)
175-
allocs = [self.lang['host-alloc'](memptr, alignment, nbytes)]
175+
allocs = [self.langbb['host-alloc'](memptr, alignment, nbytes)]
176176

177177
nbytes_param = Symbol(name='nbytes', dtype=np.uint64, is_const=True)
178178
nbytes_arg = SizeOf(obj.indexed._C_typedata)*obj.size
179179

180180
# Allocate the underlying host data
181181
ffp0 = FieldFromPointer(obj._C_field_data, obj._C_symbol)
182182
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))
184184

185185
# Initialize the Array struct
186186
ffp1 = FieldFromPointer(obj._C_field_nbytes, obj._C_symbol)
187187
init0 = DummyExpr(ffp1, nbytes_param)
188188
ffp2 = FieldFromPointer(obj._C_field_size, obj._C_symbol)
189189
init1 = DummyExpr(ffp2, 0)
190190

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)]
193193

194194
# Allocate the underlying device data, if required by the backend
195195
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):
226226
memptr = VOID(Byref(obj._C_symbol), '**')
227227
alignment = obj._data_alignment
228228
nbytes = SizeOf(obj._C_typedata)
229-
alloc = self.lang['host-alloc'](memptr, alignment, nbytes)
229+
alloc = self.langbb['host-alloc'](memptr, alignment, nbytes)
230230

231231
nbytes_param = Symbol(name='nbytes', dtype=np.uint64, is_const=True)
232232
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):
237237
ffp2 = FieldFromPointer(obj._C_field_size, obj._C_symbol)
238238
init1 = DummyExpr(ffp2, 0)
239239

240-
free = self.lang['host-free'](obj._C_symbol)
240+
free = self.langbb['host-free'](obj._C_symbol)
241241

242242
ret = Return(obj._C_symbol)
243243

@@ -277,17 +277,17 @@ def _alloc_pointed_array_on_high_bw_mem(self, site, obj, storage):
277277
memptr = VOID(Byref(obj._C_symbol), '**')
278278
alignment = obj._data_alignment
279279
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)
281281

282-
free0 = self.lang['host-free'](obj._C_symbol)
282+
free0 = self.langbb['host-free'](obj._C_symbol)
283283

284284
# The pointee Array
285285
pobj = IndexedPointer(obj._C_symbol, obj.dim)
286286
memptr = VOID(Byref(pobj), '**')
287287
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)
289289

290-
free1 = self.lang['host-free'](pobj)
290+
free1 = self.langbb['host-free'](pobj)
291291

292292
# Dump
293293
if obj.dim is self.sregistry.threadid:
@@ -322,15 +322,15 @@ def _inject_definitions(self, iet, storage):
322322
allocs = as_list(cbody.allocs) + flatten(v.allocs)
323323
stacks = as_list(cbody.stacks) + flatten(v.stacks)
324324
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)
327327
allocs.append(Block(header=header, body=[init] + body))
328328

329329
# frees/pfrees
330330
frees = []
331331
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)
334334
frees.append(Block(header=header, body=[init] + body))
335335
frees.extend(as_list(cbody.frees) + flatten(v.frees))
336336

@@ -455,7 +455,7 @@ def place_casts(self, iet, **kwargs):
455455
bases = [i for i in bases if i.name != i.function._C_name]
456456

457457
# 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
459459
if i not in defines)
460460
if casts:
461461
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):
483483
"""
484484
Allocate a local Array in the device high bandwidth memory.
485485
"""
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']
489489

490490
nbytes = SizeOf(obj._C_typedata)*obj.size
491491
init = doalloc(nbytes, deviceid, retobj=obj)
@@ -503,8 +503,8 @@ def _map_array_on_high_bw_mem(self, site, obj, storage):
503503
if not obj._mem_mapped:
504504
return
505505

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)
508508

509509
storage.update(obj, site, maps=mmap, unmaps=unmap)
510510

@@ -521,22 +521,22 @@ def _map_function_on_high_bw_mem(self, site, obj, storage, devicerm, read_only=F
521521
"""
522522
if read_only is False:
523523
if is_gpu_create(obj, self.gpu_create):
524-
mmap = self.lang._map_alloc(obj)
524+
mmap = self.langbb._map_alloc(obj)
525525

526526
efuncs, init = make_zero_init(obj, self.rcompile, self.sregistry)
527527

528528
mmap = (mmap, init)
529529
else:
530-
mmap = self.lang._map_to(obj)
530+
mmap = self.langbb._map_to(obj)
531531
efuncs = ()
532532

533533
# 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))
536536
else:
537-
mmap = self.lang._map_to(obj)
537+
mmap = self.langbb._map_to(obj)
538538
efuncs = ()
539-
unmap = self.lang._map_delete(obj, devicerm=devicerm)
539+
unmap = self.langbb._map_delete(obj, devicerm=devicerm)
540540

541541
storage.update(obj, site, maps=mmap, unmaps=unmap, efuncs=efuncs)
542542

@@ -587,7 +587,7 @@ def place_devptr(self, iet, **kwargs):
587587
dmaps = [i for i in FindSymbols('basics').visit(iet)
588588
if isinstance(i, DeviceMap) and i not in defines]
589589

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]
591591
body = iet.body._rebuild(maps=iet.body.maps + tuple(maps))
592592
iet = iet._rebuild(body=body)
593593

devito/passes/iet/langbase.py

+17-17
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class LangTransformer(ABC):
154154
an IET for a certain target language (e.g., C, C+OpenMP).
155155
"""
156156

157-
lang = LangBB
157+
langbb = LangBB
158158
"""
159159
The constructs of the target language. To be specialized by a subclass.
160160
"""
@@ -205,19 +205,19 @@ def initialize(self, iet, options=None):
205205

206206
@property
207207
def Region(self):
208-
return self.lang.Region
208+
return self.langbb.Region
209209

210210
@property
211211
def HostIteration(self):
212-
return self.lang.HostIteration
212+
return self.langbb.HostIteration
213213

214214
@property
215215
def DeviceIteration(self):
216-
return self.lang.DeviceIteration
216+
return self.langbb.DeviceIteration
217217

218218
@property
219219
def Prodder(self):
220-
return self.lang.Prodder
220+
return self.langbb.Prodder
221221

222222

223223
class ShmTransformer(LangTransformer):
@@ -436,11 +436,11 @@ def _(iet):
436436
except AttributeError:
437437
pass
438438

439-
devicetype = as_list(self.lang[self.platform])
439+
devicetype = as_list(self.langbb[self.platform])
440440
deviceid = self.deviceid
441441

442442
try:
443-
lang_init = [self.lang['init'](devicetype)]
443+
lang_init = [self.langbb['init'](devicetype)]
444444
except TypeError:
445445
# Not all target languages need to be explicitly initialized
446446
lang_init = []
@@ -450,27 +450,27 @@ def _(iet):
450450
rank_decl = DummyExpr(rank, 0)
451451
rank_init = Call('MPI_Comm_rank', [objcomm, Byref(rank)])
452452

453-
ngpus, call_ngpus = self.lang._get_num_devices(self.platform)
453+
ngpus, call_ngpus = self.langbb._get_num_devices(self.platform)
454454

455-
osdd_then = self.lang['set-device']([deviceid] + devicetype)
456-
osdd_else = self.lang['set-device']([rank % ngpus] + devicetype)
455+
osdd_then = self.langbb['set-device']([deviceid] + devicetype)
456+
osdd_else = self.langbb['set-device']([rank % ngpus] + devicetype)
457457

458458
body = lang_init + [Conditional(
459459
CondNe(deviceid, -1),
460460
osdd_then,
461461
List(body=[rank_decl, rank_init, call_ngpus, osdd_else]),
462462
)]
463463

464-
header = c.Comment('Begin of %s+MPI setup' % self.lang['name'])
465-
footer = c.Comment('End of %s+MPI setup' % self.lang['name'])
464+
header = c.Comment('Begin of %s+MPI setup' % self.langbb['name'])
465+
footer = c.Comment('End of %s+MPI setup' % self.langbb['name'])
466466
else:
467467
body = lang_init + [Conditional(
468468
CondNe(deviceid, -1),
469-
self.lang['set-device']([deviceid] + devicetype)
469+
self.langbb['set-device']([deviceid] + devicetype)
470470
)]
471471

472-
header = c.Comment('Begin of %s setup' % self.lang['name'])
473-
footer = c.Comment('End of %s setup' % self.lang['name'])
472+
header = c.Comment('Begin of %s setup' % self.langbb['name'])
473+
footer = c.Comment('End of %s setup' % self.langbb['name'])
474474

475475
init = List(header=header, body=body, footer=footer)
476476
iet = iet._rebuild(body=iet.body._rebuild(init=init))
@@ -479,12 +479,12 @@ def _(iet):
479479

480480
@_initialize.register(AsyncCallable)
481481
def _(iet):
482-
devicetype = as_list(self.lang[self.platform])
482+
devicetype = as_list(self.langbb[self.platform])
483483
deviceid = self.deviceid
484484

485485
init = Conditional(
486486
CondNe(deviceid, -1),
487-
self.lang['set-device']([deviceid] + devicetype)
487+
self.langbb['set-device']([deviceid] + devicetype)
488488
)
489489
iet = iet._rebuild(body=iet.body._rebuild(init=init))
490490

devito/passes/iet/languages/C.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ class CBB(LangBB):
3131

3232

3333
class CDataManager(DataManager):
34-
lang = CBB
34+
langbb = CBB
3535

3636

3737
class COrchestrator(Orchestrator):
38-
lang = CBB
38+
langbb = CBB
3939

4040

4141
class CPrinter(BasePrinter, C99CodePrinter):

devito/passes/iet/languages/CXX.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class CXXBB(LangBB):
7171
'def-complex': std_arith(),
7272
# Allocs
7373
'header-memcpy': 'string.h',
74-
'header-algorithm': 'algorithm',
74+
'header-math': 'algorithm',
7575
'host-alloc': lambda i, j, k:
7676
Call('posix_memalign', (i, j, k)),
7777
'host-alloc-pin': lambda i, j, k:

devito/passes/iet/languages/openacc.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ def _map_update_device_async(cls, f, imask=None, qid=None):
162162

163163
class DeviceAccizer(PragmaDeviceAwareTransformer):
164164

165-
lang = AccBB
165+
langbb = AccBB
166166

167167
def _make_partree(self, candidates, nthreads=None):
168168
assert candidates
@@ -187,7 +187,7 @@ def _make_partree(self, candidates, nthreads=None):
187187

188188
class DeviceAccDataManager(DeviceAwareDataManager):
189189

190-
lang = AccBB
190+
langbb = AccBB
191191

192192
@iet_pass
193193
def place_devptr(self, iet, **kwargs):
@@ -235,7 +235,7 @@ def place_devptr(self, iet, **kwargs):
235235
init = DummyExpr(tdp, 0, init=True)
236236

237237
dpf = List(body=[
238-
self.lang.mapper['map-serial-present'](hp, tdp),
238+
self.langbb.mapper['map-serial-present'](hp, tdp),
239239
Block(body=DummyExpr(tdp, cast(tdp.dtype)(hp, reinterpret=True)))
240240
])
241241

@@ -262,7 +262,7 @@ def place_devptr(self, iet, **kwargs):
262262

263263

264264
class AccOrchestrator(Orchestrator):
265-
lang = AccBB
265+
langbb = AccBB
266266

267267

268268
class AccPrinter(CXXPrinter):

0 commit comments

Comments
 (0)