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

Introduce a cmake option to enable python code coverage. #197

Closed koomie closed 1 year ago

github-actions[bot] commented 1 year ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
analysis_base.py11110%25, 27–30, 33–34, 37, 39–40, 43
analysis_cli.py10100%25–27, 29, 32–33, 36, 38–39, 42
analysis_webui.py10100%25–27, 29, 32–33, 36, 38–39, 42
common.py572654%42–43, 45, 47, 49–51, 54, 57–60, 62, 71–73, 84–85, 90–96, 98
omniperf39432517%62, 68, 75–76, 79–81, 84–85, 88, 90–93, 96–97, 99, 102–103, 105, 109, 111–119, 121–123, 136–137, 140, 146–147, 149–150, 152–154, 156–157, 160, 165–166, 169–175, 178–182, 184–186, 196, 205, 214–223, 226–228, 230–231, 233–234, 239, 241–243, 249–250, 253–254, 257–262, 265, 268–273, 276–281, 284–285, 290, 294–295, 297–300, 302–306, 308–311, 313–314, 320–321, 323, 325–326, 328–329, 333, 335–337, 339, 351–353, 355, 368–373, 375–378, 381, 384, 387–388, 391, 393–394, 403, 406–407, 416–419, 421, 424, 426, 428, 430, 432, 441–444, 455–458, 461–463, 469, 471–472, 475–477, 492, 505, 511–512, 515–520, 522–523, 525–527, 529, 532–533, 535–536, 539, 542, 545–546, 548–549, 551–556, 558–560, 569–572, 575–576, 578–581, 583–588, 590–592, 601–604, 607–608, 610–611, 614, 616–617, 626, 629–630, 639–642, 644, 648, 650, 652, 654, 657, 660, 662–665, 667, 678–679, 683, 685, 695, 719, 727–728, 730, 732–733, 738, 741–744, 750, 752, 757–758, 760–761, 763, 765, 769–770, 777–781, 785–786, 789, 791–793, 799, 804–805, 809, 814–815, 819, 821, 823, 835, 840, 889
omniperf_base.py1051050%25–29, 32–38, 40–41, 44–45, 48–49, 52, 55, 58, 61–64, 67–77, 79–80, 82, 84–85, 87–91, 93–94, 96–98, 101–109, 111–112, 114–115, 117–119, 121–123, 125, 128–136, 138–139, 145–148, 150, 152–154, 156–157, 159, 161, 163–168, 170, 176–178, 180
parser.py85396%126, 135, 144
profiler_base.py14140%25, 28–31, 34–35, 38, 40–41, 44, 46–47, 50
profiler_rocprof.py14140%25–27, 29, 32–33, 36–37, 39–40, 43, 45–46, 49
profiler_rocprof_v2.py14140%25–27, 29, 32–33, 36–37, 39–40, 43, 45–46, 49
profiler_rocscope.py14140%25–27, 29, 32–33, 36–39, 42–44, 47
soc_base.py10100%25, 27–29, 32–33, 36, 38–39, 42
soc_gfx90a.py13130%25–27, 29–32, 35–36, 39, 41–42, 45
soc_gfx906.py13130%25–27, 29–32, 35–36, 39, 41–42, 45
soc_gfx908.py13130%25–27, 29–32, 35–36, 39, 41–42, 45
omniperf_analyze
   omniperf_analyze.py1404369%103–104, 113–114, 118–120, 122, 126, 169–171, 173, 175–176, 183, 186, 188, 196, 209–210, 212, 214, 260–261, 264–266, 268–275, 313–314, 319–320, 326, 329–330
omniperf_analyze/utils
   file_io.py1082378%79, 133–134, 178–179, 181–182, 206, 217, 219–224, 235–237, 239, 241, 243, 258, 262
   parser.py3456880%119, 126, 130, 134–135, 137, 144, 149, 158, 163, 170, 193, 203, 260, 315, 508, 561–562, 593–597, 612–618, 624, 627–629, 632, 635–636, 646–648, 651–653, 656–659, 663, 666, 668–669, 682–683, 687, 689–690, 728, 745–747, 758–759, 761–762, 769–772
   roofline_calc.py21217816%75, 84–89, 91, 99, 101–102, 104, 106–108, 110–111, 114, 116–119, 121–122, 124, 128–129, 131–133, 136–137, 139–140, 143–145, 147–149, 155, 157–159, 161–165, 168, 171–173, 175–179, 181, 189, 191–192, 194, 210, 212–214, 216, 221–222, 224, 226–228, 261–266, 289–292, 294–303, 305–306, 311–314, 316–321, 323–324, 330–335, 341–344, 346, 348, 350, 352–353, 372–373, 378, 396–397, 416, 434, 437–440, 442–444, 449, 454, 459, 464, 466, 468–471, 473–478, 480–481, 484, 486, 490, 494, 497–507, 509–510, 512–515, 523, 528, 532
   schema.py240100% 
   tty.py932375%107, 111, 115, 122–125, 127, 134, 143, 147–148, 153–154, 160–161, 184–190
omniperf_analyze/utils/gui_components
   roofline.py716015%40–41, 43, 49–54, 59–60, 62, 64–65, 82–83, 100–101, 103–104, 123–124, 134, 144, 155, 161–162, 164, 177–179, 182, 188, 194, 197–199, 201–204, 206, 209, 212, 215, 224, 233, 235–236, 238–239, 242, 244–245, 247–248, 251–253, 255
utils
   __init__.py00100% 
   csv_processor.py14012014%49–53, 55, 57–60, 62, 64, 68–69, 72–73, 75, 80–81, 84–87, 89–90, 92–96, 98–99, 101–103, 106–107, 109, 111–118, 120–122, 124, 126, 130–132, 137, 139–141, 146–149, 151, 156–158, 160–161, 163, 166–168, 170, 172–175, 177–178, 180, 182–183, 185, 187–191, 193, 195, 197–198, 200, 209, 214, 225–230, 232–239, 250–253, 255–261
   gfx_perfmon_builder.py1891890%25, 32, 40–42, 46–48, 56, 70, 76–77, 79–80, 83–85, 87, 89, 92, 96–100, 102, 104–106, 108–110, 113, 120–121, 123–126, 128–131, 133–136, 139–142, 144–147, 152–154, 156–159, 164–165, 167–168, 170–174, 176–177, 179, 182–185, 187, 189, 191, 193, 195–201, 203, 205, 209–210, 213–214, 217, 219–220, 222–224, 226–227, 230, 233, 236, 239–240, 242–245, 248–252, 254–256, 258–259, 261, 265–266, 268–269, 272, 275–276, 279, 281–283, 286–288, 290, 292, 294, 296–297, 299–300, 302, 304, 306–309, 312–314, 316–318, 322, 325, 327, 329, 331–332, 335–338, 340, 342–345, 348, 350–353, 363, 368–371, 380, 383–385, 388, 391, 393, 396
   perfagg.py2332186%92, 98–103, 105–106, 108–116, 120–121, 123–124, 127, 130, 139–140, 143–148, 153–155, 157–161, 165, 197, 213–217, 219–225, 227–228, 230–233, 235, 237–241, 243, 247–248, 251–253, 255–257, 260–262, 265–270, 272, 275, 284–286, 289–291, 306–307, 309, 311–312, 314, 316–321, 323, 326–327, 329–330, 332, 334–335, 339–340, 342–343, 347, 350, 352–353, 356, 358, 360–362, 366, 369–370, 385–386, 389–390, 392, 394–396, 399–401, 404, 407–408, 413–418, 421–422, 424, 430, 437, 439–440, 446, 449–451, 453, 455–456, 458, 461–466, 469–470, 472, 474–475, 479, 482–484, 486–488, 490–494, 496, 500–501, 505–506, 508, 510, 512–513, 516–519, 521–527, 529, 533, 536–537, 541, 543–544, 546, 548, 551, 554–555
   remove_workload.py272314%42–44, 46–50, 52, 54–55, 58–59, 61, 63, 71, 83, 86, 90–93, 95
   resources.py770%25–26, 29–31, 34–35
   specs.py1339826%62, 89, 91–94, 96–97, 99–104, 106–109, 111–114, 116–119, 121–124, 126–129, 131–134, 136–139, 141–144, 146, 150–154, 158–161, 165–168, 170, 181–187, 189, 191–193, 197, 199–201, 205–206, 208, 220, 222, 224–230, 232, 234–237, 239–241, 243, 266
   utils.py10100%25, 27–33, 35–36
TOTAL2509165534% 

Tests Skipped Failures Errors Time
47 0 :zzz: 0 :x: 0 :fire: 8m 36s :stopwatch:
coleramos425 commented 12 months ago

This comment is coming a bit late but per my observation in the latest PR (below)

https://github.com/AMDResearch/omniperf/pull/204#issuecomment-1791575753

It occurs to me that instead of keeping these directories static, we may create a separate build step so that if Python dependencies change we don't need to update those libs manually

https://github.com/AMDResearch/omniperf/blob/df4d508a03e114d89c47b4e67888dc4273bcff3c/.github/workflows/mi100.yml#L19-L21