Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake - Load dependency check from requirements.txt #204

Merged
merged 5 commits into from
Nov 17, 2023
Merged

Conversation

coleramos425
Copy link
Collaborator

I noticed this issue when submitting #200 which added a new Python module. I found that in our CMakeLists.txt, we're hardcoding a list of modules for the build script to check for
https://github.com/AMDResearch/omniperf/blob/df4d508a03e114d89c47b4e67888dc4273bcff3c/CMakeLists.txt#L74-L88

This PR changes that logic s.t. we now pull from the requirements.txt file. My CMake experience is scarce, so I'm open to suggestions if there's a better way to do this

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
@coleramos425
Copy link
Collaborator Author

Looks like pyyaml module is missing, causing mi100 build to fail
image

@koomie
Copy link
Collaborator

koomie commented Nov 17, 2023

The pyyaml error is a but subtle; the issue there is that that package name is pyyaml, but the module load on import is yaml. Added some additional logic in cmake config to allow for additional mapping info.

Copy link

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.py571868%45, 50–51, 54, 60, 71–73, 84–85, 90–96, 98
omniperf39419351%62, 113, 116–119, 121–122, 140, 156–157, 160, 217, 220–223, 239, 241–243, 250, 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, 492, 512, 527, 533, 549, 551–556, 558–560, 569–572, 575–576, 578–579, 581, 583–588, 590–592, 601–604, 607–608, 610–611, 642, 662–665, 667, 678–679, 683, 685, 719, 733, 744, 752, 758, 765, 777–781, 785–786, 789, 791–793, 799, 804–805, 809, 814–815, 819, 821, 823, 835, 840, 859, 871, 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.py1404567%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, 304, 309, 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.py3454985%119, 126, 130, 134–135, 137, 144, 149, 158, 163, 170, 193, 203, 260, 315, 508, 561–562, 593–597, 628–629, 632, 635–636, 658–659, 663, 666, 668–669, 682–683, 687, 689–690, 715–716, 728, 745–747, 758–759, 761–762
   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.py93693%125, 148, 153–154, 160–161
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.py1406652%53, 96, 113–115, 132, 137, 148–149, 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.py2333684%102–103, 105–106, 120–121, 140, 148, 153–155, 240–241, 243, 286, 290–291, 306–307, 356, 360–361, 453, 486–488, 496, 508, 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.py1331787%62, 97, 152–153, 191–193, 197, 199–201, 205–206, 230, 237, 241, 266
   utils.py10100%25, 27–33, 35–36
TOTAL2509116453% 

Tests Skipped Failures Errors Time
49 0 💤 0 ❌ 0 🔥 30m 37s ⏱️

@koomie koomie merged commit f100ef8 into 2.x Nov 17, 2023
4 checks passed
@koomie koomie deleted the cmake-enhancement branch November 17, 2023 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants