ROCm / rocprofiler-compute

Advanced Profiling and Analytics for AMD Hardware
https://rocm.docs.amd.com/projects/omniperf/en/latest/
MIT License
135 stars 49 forks source link

Kernel no overwrite #303

Closed JoseSantosAMD closed 7 months ago

JoseSantosAMD commented 7 months ago

This PR removes kernel-vebose from profile. It now only shows up in analyze and database mode. Instead of overwriting names in existing csvs, it reads in the csvs to a dataframe and renames kernel names in those dataframes. In database mode these updated dataframes are used instead of the csvs,. They are uploaded with pymongo to upload to mongodb

coleramos425 commented 7 months ago

My test failed with:

$ omniperf profile -n mix_test -- ~/mixbench-hip-ro
  ___                  _                  __ 
 / _ \ _ __ ___  _ __ (_)_ __   ___ _ __ / _|
| | | | '_ ` _ \| '_ \| | '_ \ / _ \ '__| |_ 
| |_| | | | | | | | | | | |_) |  __/ |  |  _|
 \___/|_| |_| |_|_| |_|_| .__/ \___|_|  |_|  
                        |_|                  

Omniperf version: 2.0.0-Tech-Preview
Profiler choice: rocprofv1
Path: /home/colramos/GitHub/omniperf/workloads/mix_test/MI200
Target: MI200
Command: /home/colramos/mixbench-hip-ro
Kernel Selection: None
Dispatch Selection: None
IP Blocks: All
Traceback (most recent call last):
  File "./src/omniperf", line 51, in <module>
    main()
  File "./src/omniperf", line 40, in main
    omniperf.run_profiler()
  File "/home/colramos/GitHub/omniperf/src/utils/utils.py", line 45, in wrap_function
    result = function(*args, **kwargs)
  File "/home/colramos/GitHub/omniperf/src/omniperf_base.py", line 228, in run_profiler
    profiler.run_profiling(self.__version["ver"], config.prog)
  File "/home/colramos/GitHub/omniperf/src/utils/utils.py", line 45, in wrap_function
    result = function(*args, **kwargs)
  File "/home/colramos/GitHub/omniperf/src/omniperf_profile/profiler_rocprof_v1.py", line 75, in run_profiling
    super().run_profiling(version, prog)
  File "/home/colramos/GitHub/omniperf/src/omniperf_profile/profiler_base.py", line 333, in run_profiling
    if self.__args.kernel_verbose > 5:
AttributeError: 'Namespace' object has no attribute 'kernel_verbose'
JoseSantosAMD commented 7 months ago

This PR removes kernel-vebose from profile. It now only shows up in analyze and database mode. Instead of overwriting names in existing csvs, it reads in the csvs to a dataframe and renames kernel names in those dataframes. In database mode these updated dataframes are used instead of the csvs,. They are uploaded with pymongo to upload to mongodb

coleramos425 commented 7 months ago

Closes #193