13
13
import os
14
14
import subprocess
15
15
from pathlib import Path
16
+ from .track import track
16
17
17
18
18
19
@dataclass
@@ -207,6 +208,7 @@ def get_split_barrier_scope(opt):
207
208
return split_barriers_scope
208
209
209
210
@staticmethod
211
+ @track
210
212
def make_ttir (mod , metadata , opt ):
211
213
pm = ir .pass_manager (mod .context )
212
214
pm .enable_debug ()
@@ -226,6 +228,7 @@ def make_ttir(mod, metadata, opt):
226
228
return mod
227
229
228
230
@staticmethod
231
+ @track
229
232
def make_ttgir (mod , metadata , opt , properties ):
230
233
cluster_info = intel .ClusterInfo ()
231
234
if opt .cluster_dims is not None :
@@ -303,6 +306,7 @@ def gluon_to_ttgir(self, src, metadata, options):
303
306
return mod
304
307
305
308
@staticmethod
309
+ @track
306
310
def make_llir (src , metadata , options ):
307
311
mod = src
308
312
# TritonGPU -> LLVM-IR (MLIR)
@@ -340,7 +344,9 @@ def make_llir(src, metadata, options):
340
344
paths = [path for (name , path ) in options .extern_libs ]
341
345
llvm .link_extern_libs (llvm_mod , paths )
342
346
343
- intel .optimize_module (llvm_mod , llvm .OPTIMIZE_O3 )
347
+ with track ("optimize_module" ) as tr :
348
+ intel .optimize_module (llvm_mod , llvm .OPTIMIZE_O3 , tr .callback ("passes" ))
349
+
344
350
intel .post_process_llir (llvm_mod )
345
351
346
352
# Get some metadata
@@ -357,6 +363,7 @@ def make_llir(src, metadata, options):
357
363
return ret
358
364
359
365
@staticmethod
366
+ @track
360
367
def make_spv (src , metadata , options , device_arch ):
361
368
spirv , name = intel .translate_to_spirv (src )
362
369
metadata ["name" ] = name
@@ -384,7 +391,7 @@ def make_spv(src, metadata, options, device_arch):
384
391
metadata ["generate_native_code" ] = options .generate_native_code
385
392
386
393
if options .generate_native_code :
387
- with tempfile .TemporaryDirectory () as temp_dir :
394
+ with track ( "generate_native_code" ), tempfile .TemporaryDirectory () as temp_dir :
388
395
with tempfile .NamedTemporaryFile (mode = 'wb' , suffix = '.spv' , dir = temp_dir , delete = False ) as fsrc :
389
396
fsrc .write (spirv )
390
397
fbin = fsrc .name + '.o'
0 commit comments