compilersutra-perf 0.2.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/PKG-INFO +20 -20
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/README.md +14 -11
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Runtime/Process.cpp +14 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/pyproject.toml +29 -9
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/setup.py +13 -5
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/PKG-INFO +20 -20
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/SOURCES.txt +24 -0
- compilersutra_perf-0.3.0/src/compilersutra_perf.egg-info/entry_points.txt +5 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/requires.txt +3 -3
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/__init__.py +7 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/backends/registry.py +22 -2
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/cli.py +272 -417
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/cli_output.py +28 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/config.py +36 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/detector.py +2 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/backends/amd_cpu.py +7 -7
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/manager.py +4 -4
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/parsing.py +25 -4
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/__init__.py +6 -1
- compilersutra_perf-0.3.0/src/csperf/execution/base.py +58 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/cpu.py +159 -126
- compilersutra_perf-0.3.0/src/csperf/execution/qemu_user.py +269 -0
- compilersutra_perf-0.3.0/src/csperf/execution/runners.py +920 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/experiments/apply.py +2 -2
- compilersutra_perf-0.3.0/src/csperf/experiments/registry.py +94 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/hardware.py +17 -3
- compilersutra_perf-0.3.0/src/csperf/integration/__init__.py +5 -0
- compilersutra_perf-0.3.0/src/csperf/integration/csrun.py +603 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/models.py +43 -1
- compilersutra_perf-0.3.0/src/csperf/plugins/__init__.py +44 -0
- compilersutra_perf-0.3.0/src/csperf/plugins/contracts.py +88 -0
- compilersutra_perf-0.3.0/src/csperf/plugins/loader.py +68 -0
- compilersutra_perf-0.3.0/src/csperf/plugins/toolchains.py +95 -0
- compilersutra_perf-0.3.0/src/csperf/plugins/visualizers.py +66 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/power/collect.py +2 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profile_summary.py +104 -6
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/collectors/macos.py +52 -23
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/papi_support.py +2 -1
- compilersutra_perf-0.3.0/src/csperf/profiler/gpu.py +94 -0
- compilersutra_perf-0.3.0/src/csperf/provenance.py +230 -0
- compilersutra_perf-0.3.0/src/csperf/report/exporters/__init__.py +15 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/formatting.py +7 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/sections.py +11 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/results.py +10 -5
- compilersutra_perf-0.3.0/src/csperf/runner_meta.py +189 -0
- compilersutra_perf-0.3.0/src/csperf/schema_export.py +141 -0
- compilersutra_perf-0.3.0/tests/test_backend_runners.py +59 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_cli_functional.py +12 -14
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_cli_smoke.py +12 -4
- compilersutra_perf-0.3.0/tests/test_cpu_arena.py +86 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_cpu_measurement.py +18 -14
- compilersutra_perf-0.3.0/tests/test_cross_platform_matrix.py +67 -0
- compilersutra_perf-0.3.0/tests/test_csrun_integration.py +495 -0
- compilersutra_perf-0.3.0/tests/test_diff_significance.py +181 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_doctor.py +66 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_issue51_validation.py +5 -2
- compilersutra_perf-0.3.0/tests/test_measurement_validity.py +243 -0
- compilersutra_perf-0.3.0/tests/test_milestone3_gaps.py +120 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_milestone_reliability.py +34 -2
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_opencl_measure.py +1 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_optimize_diff.py +11 -2
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_papi_collector.py +3 -3
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_papi_fallback.py +9 -9
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_papi_native.py +3 -3
- compilersutra_perf-0.3.0/tests/test_plugins_loader.py +109 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_power_collect.py +4 -0
- compilersutra_perf-0.3.0/tests/test_provenance.py +147 -0
- compilersutra_perf-0.3.0/tests/test_qemu_user_riscv.py +66 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_results_csv.py +1 -1
- compilersutra_perf-0.3.0/tests/test_runner_meta.py +77 -0
- compilersutra_perf-0.2.0/src/compilersutra_perf.egg-info/entry_points.txt +0 -2
- compilersutra_perf-0.2.0/src/csperf/execution/base.py +0 -23
- compilersutra_perf-0.2.0/src/csperf/experiments/registry.py +0 -45
- compilersutra_perf-0.2.0/src/csperf/report/exporters/__init__.py +0 -4
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/CMakeLists.txt +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/LICENSE +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/MANIFEST.in +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/NOTICE +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/CMakeLists.txt +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/native/NativeApplication.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/native/NativeArgumentParser.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/native/NativeOptions.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/native/NativeRunner.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/native/PapiCounters.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLApplication.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLArgumentParser.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLDeviceCatalog.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLDevicePolicy.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLKernelExecutor.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLSupport.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/opencl/OpenCLTypes.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/runtime/Application.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/runtime/Process.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/support/Debug.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/support/JSON.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanApplication.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanArgumentParser.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanDeviceCatalog.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanDevicePolicy.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanLibraryPolicy.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanLoader.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanOptions.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanQueueFamilyPolicy.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanShaderValidator.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/csperf/vulkan/VulkanSupport.hpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/include/runtime.h +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Native/NativeApplication.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Native/NativeArgumentParser.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Native/NativeRunner.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Native/PapiCounters.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/OpenCL/OpenCLApplication.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/OpenCL/OpenCLArgumentParser.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/OpenCL/OpenCLDeviceCatalog.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/OpenCL/OpenCLDevicePolicy.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/OpenCL/OpenCLKernelExecutor.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/OpenCL/OpenCLSupport.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Runtime/Application.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Runtime/RuntimeInfo.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Support/JSON.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanApplication.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanArgumentParser.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanDeviceCatalog.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanDevicePolicy.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanLibraryPolicy.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanLoader.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanQueueFamilyPolicy.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanShaderValidator.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Vulkan/VulkanSupport.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/tools/csperf-native-runner/main.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/tools/csperf-opencl-runner/main.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/tools/csperf-vulkan-runner/main.cpp +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/setup.cfg +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/dependency_links.txt +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/top_level.txt +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/backends/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/backends/base.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/backends/cpu.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/backends/gpu.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/dashboard_app.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/doctor.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/backends/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/backends/amd_gpu.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/backends/macos_cpu.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/backends/stubs.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/base.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/orchestrate.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/registry.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/energy/result.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/build.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/compile_flags.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/gpu.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/hip.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/opencl.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/utils.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/execution/vulkan.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/experiments/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/lit/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/lit/runner.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/optimize_diff.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/perf_env.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/pipelines/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/pipelines/base.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/pipelines/factory.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/power/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/base.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/affinity.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/base.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/collectors/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/collectors/base.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/collectors/linux.py +1 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/collectors/papi.py +1 -1
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/collectors/registry.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/detectors/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/detectors/architecture.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/detectors/platform.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/detectors/vendor.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/factory.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/metrics/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/metrics/definitions.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/metrics/events.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/metrics/mapping.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/profiler/cpu/metrics/registry.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/quickstart.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/__init__.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/build.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/charts.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/comparison.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/components.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/constants.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/export.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/exporters/html.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/exporters/pdf.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/model.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/quality.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/registry.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/render.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/reproduction.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/sections_plugins.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/report/template.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/toolutils.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/csperf/visualize.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_bundled_runners.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_cli_helpers.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_cli_output.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_collector_registry.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_compile_flags.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_cpu_affinity_collect.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_detector.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_diff_profiler_warnings.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_energy_framework.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_experiments_apply.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_hip_mocked.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_lit_runner.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_macos_collector.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_opencl_inference.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_papi_support.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_perf_env.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_perf_events.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_perf_fallback.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_process_timeout.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_profile_summary_security.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_quickstart.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_registry.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_report_components.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_report_export.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_report_reproduction.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_toolutils.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_visualize.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_vulkaninfo_parse.py +0 -0
- {compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/tests/test_workload_manifest.py +0 -0
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: compilersutra-perf
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Alpha CLI for compiler and GPU performance experiments — compile, profile, diff, and export JSON/CSV results
|
|
5
5
|
Author-email: Priya Pandey <osc@compilersutra.com>, CompilerSutra <osc@compilersutra.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://
|
|
8
|
-
Project-URL: Documentation, https://
|
|
9
|
-
Project-URL: Repository, https://github.com/compilersutra/CompilerSutraPerfTool
|
|
10
|
-
Project-URL: Issues, https://github.com/compilersutra/CompilerSutraPerfTool/issues
|
|
11
|
-
Project-URL: Changelog, https://github.com/compilersutra/CompilerSutraPerfTool/blob/main/CHANGELOG.md
|
|
7
|
+
Project-URL: Homepage, https://www.compilersutra.com
|
|
8
|
+
Project-URL: Documentation, https://www.compilersutra.com/docs/project/compilersutra-perf/getting-started/
|
|
12
9
|
Project-URL: Author, https://www.linkedin.com/in/priya-pandey-54a5a22aa/
|
|
13
10
|
Keywords: benchmarking,compiler,gpu,hip,llvm,opencl,performance,profiling,systems,vulkan
|
|
14
11
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -39,19 +36,19 @@ Requires-Dist: pip-audit>=2.7; extra == "dev"
|
|
|
39
36
|
Requires-Dist: urllib3>=2.7; extra == "dev"
|
|
40
37
|
Requires-Dist: click>=8.3.3; extra == "dev"
|
|
41
38
|
Requires-Dist: cryptography>=50.0.0; extra == "dev"
|
|
42
|
-
Requires-Dist: GitPython>=3.1.
|
|
39
|
+
Requires-Dist: GitPython>=3.1.59; extra == "dev"
|
|
43
40
|
Requires-Dist: idna>=3.15; extra == "dev"
|
|
44
41
|
Requires-Dist: Pillow>=12.3.0; extra == "dev"
|
|
45
42
|
Requires-Dist: Pygments>=2.20.0; extra == "dev"
|
|
46
43
|
Requires-Dist: requests>=2.33.0; extra == "dev"
|
|
47
|
-
Requires-Dist: tornado>=6.5.
|
|
44
|
+
Requires-Dist: tornado>=6.5.8; extra == "dev"
|
|
48
45
|
Provides-Extra: excel
|
|
49
46
|
Requires-Dist: openpyxl>=3.1; extra == "excel"
|
|
50
47
|
Provides-Extra: visualize
|
|
51
48
|
Requires-Dist: streamlit>=1.33; extra == "visualize"
|
|
52
49
|
Requires-Dist: plotly>=5.20; extra == "visualize"
|
|
53
50
|
Provides-Extra: pdf
|
|
54
|
-
Requires-Dist: weasyprint>=
|
|
51
|
+
Requires-Dist: weasyprint>=70.0; extra == "pdf"
|
|
55
52
|
Provides-Extra: track
|
|
56
53
|
Requires-Dist: mlflow>=2.11; extra == "track"
|
|
57
54
|
Provides-Extra: tune
|
|
@@ -74,6 +71,8 @@ Compile, run, profile, compare, and export structured JSON/CSV/XLSX artifacts
|
|
|
74
71
|
|
|
75
72
|
**Status:** Alpha MVP (0.2.0). Suitable for local experimentation; not yet validated for production CI regression gates. See [limitations](#limitations) and [docs/METHODOLOGY.md](docs/METHODOLOGY.md).
|
|
76
73
|
|
|
74
|
+
**Research goal:** a unified CPU/GPU hardware & compiler observatory layer — orchestrate existing toolchains, normalize results, and keep static vs measured evidence honest. See [docs/OBSERVATORY.md](docs/OBSERVATORY.md).
|
|
75
|
+
|
|
77
76
|
---
|
|
78
77
|
|
|
79
78
|
## Install
|
|
@@ -93,7 +92,7 @@ pip install 'compilersutra-perf[dev]' # pytest
|
|
|
93
92
|
|
|
94
93
|
**Requirements:** Python 3.11+. Linux wheels ship prebuilt native runners for CPU (and Vulkan, where available), so CPU workloads run out of the box. Other platforms (or exotic Python builds) fall back to building the runner on demand, which needs a C/C++ toolchain and `cmake` on `PATH`; `perf` is also recommended for full CPU profiling on Linux. GPU backends need their respective runtimes (ROCm, OpenCL, Vulkan) installed separately.
|
|
95
94
|
|
|
96
|
-
**Platform wheels and old distributions:** wheels
|
|
95
|
+
**Platform wheels and old distributions:** release wheels use a `manylinux` tag (e.g. `manylinux_2_39_x86_64`) for the glibc they were built on, so a wheel built on Ubuntu 24.04 may fail to load its bundled runner on Ubuntu 22.04 or older (newer glibc). The loader probes the bundled runner at startup and automatically falls back to an on-demand local build, so only an older toolchain is needed there. Hardware counter events are probed per-CPU, so vendor-specific events never break collection on other vendors (Intel vs AMD).
|
|
97
96
|
|
|
98
97
|
**Native Windows:** not yet supported. The runner uses POSIX APIs (`fork`, `sched_setaffinity`) and won't build on Windows natively — use [WSL2](docs/WINDOWS_WSL2.md). Result artifacts (JSON/CSV/XLSX/HTML reports) open fine on Windows.
|
|
99
98
|
|
|
@@ -101,17 +100,16 @@ Check that every system tool csperf needs is present, and install whatever is mi
|
|
|
101
100
|
|
|
102
101
|
```bash
|
|
103
102
|
csperf quickstart --output-dir results/quickstart # doctor + example + report
|
|
104
|
-
csperf doctor # report missing tools
|
|
103
|
+
csperf doctor # report missing tools; exit 1 if a required tool is missing
|
|
105
104
|
csperf doctor --install # install missing required tools (apt/dnf/pacman/apk/brew)
|
|
106
105
|
csperf doctor --install --all # also install optional GPU/profiling tools
|
|
107
106
|
```
|
|
108
107
|
|
|
109
108
|
See [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) for perf, energy, and GPU fixes.
|
|
110
109
|
|
|
111
|
-
Develop from source:
|
|
110
|
+
Develop from source (private checkout if you have access):
|
|
112
111
|
|
|
113
112
|
```bash
|
|
114
|
-
git clone https://github.com/compilersutra/CompilerSutraPerfTool.git
|
|
115
113
|
cd CompilerSutraPerfTool
|
|
116
114
|
python3 -m venv .venv && source .venv/bin/activate
|
|
117
115
|
pip install -e '.[dev]'
|
|
@@ -155,7 +153,7 @@ Each `run` writes `results/<name>.json`, `.csv`, and `.xlsx` (when `openpyxl` is
|
|
|
155
153
|
| **CPU** | Execute + profile | Native C++ runner, LLVM IR (clang), Linux `perf` counters, warmup/repeat, optional `--cpu-affinity` |
|
|
156
154
|
| **HIP** | Execute + profile | `hipcc` compile-and-run, ROCm devices, `rocprofv3` (then v2/v1) |
|
|
157
155
|
| **OpenCL** | Execute | Native kernel launch, device selection, warmup/repeat |
|
|
158
|
-
| **Vulkan** |
|
|
156
|
+
| **Vulkan** | Execute via csrun / validate | Prefer CompilerSutraRun YAML execute (`CSRUN_BIN`); else GLSL → SPIR-V + module validation |
|
|
159
157
|
| **`gpu` alias** | Auto-route | `.hip` → HIP, `.cl` → OpenCL, shaders → Vulkan |
|
|
160
158
|
| **CUDA / Metal** | Planned | Listed in registry but not executable |
|
|
161
159
|
| **macOS CPU** | Experimental | Execution works; profiling uses `powermetrics` (needs passwordless `sudo`) |
|
|
@@ -303,11 +301,11 @@ Read these before trusting numbers in papers or CI:
|
|
|
303
301
|
- **Alpha** — methodology and backend coverage are still evolving.
|
|
304
302
|
- CPU runs support `--execution-timeout` to bound workload execution.
|
|
305
303
|
- CPU runs support repeated `--program-arg` values and `--stdin-file`; manifests can define the same settings.
|
|
306
|
-
- **`--experiment` / `--opt-config`** — apply compile macros and optional extra flags; plugin entry points remain
|
|
304
|
+
- **`--experiment` / `--opt-config`** — apply compile macros and optional extra flags; plugin entry points remain planned for 0.3.0.
|
|
307
305
|
- Optional extras `track`, `tune`, and `distributed` are reserved for later releases and are not wired into the CLI.
|
|
308
|
-
- **OpenCL** — program may recompile each trial; interpret kernel times carefully
|
|
306
|
+
- **OpenCL** — program may recompile each trial; interpret kernel times carefully.
|
|
309
307
|
- **CUDA / Metal** — not implemented despite registry entries.
|
|
310
|
-
- **Native runners** —
|
|
308
|
+
- **Native runners** — Linux wheels bundle prebuilt native runners; other platforms build on demand from the bundled sources (needs a C/C++ toolchain and `cmake`).
|
|
311
309
|
|
|
312
310
|
Best supported today: **Linux CPU** compile/run/profile with `perf` configured, plus HIP/OpenCL exploration with manual interpretation.
|
|
313
311
|
|
|
@@ -315,7 +313,11 @@ Best supported today: **Linux CPU** compile/run/profile with `perf` configured,
|
|
|
315
313
|
|
|
316
314
|
## Documentation
|
|
317
315
|
|
|
318
|
-
|
|
316
|
+
Public getting started guide:
|
|
317
|
+
|
|
318
|
+
https://www.compilersutra.com/docs/project/compilersutra-perf/getting-started/
|
|
319
|
+
|
|
320
|
+
In-tree guides (source checkout):
|
|
319
321
|
|
|
320
322
|
| Doc | Topic |
|
|
321
323
|
| --- | --- |
|
|
@@ -329,8 +331,6 @@ Full guides live in the repository:
|
|
|
329
331
|
| [CONTRIBUTING.md](CONTRIBUTING.md) | Contributions |
|
|
330
332
|
| [CHANGELOG.md](CHANGELOG.md) | Release notes |
|
|
331
333
|
|
|
332
|
-
Repository: https://github.com/compilersutra/CompilerSutraPerfTool
|
|
333
|
-
|
|
334
334
|
---
|
|
335
335
|
|
|
336
336
|
## License
|
|
@@ -10,6 +10,8 @@ Compile, run, profile, compare, and export structured JSON/CSV/XLSX artifacts
|
|
|
10
10
|
|
|
11
11
|
**Status:** Alpha MVP (0.2.0). Suitable for local experimentation; not yet validated for production CI regression gates. See [limitations](#limitations) and [docs/METHODOLOGY.md](docs/METHODOLOGY.md).
|
|
12
12
|
|
|
13
|
+
**Research goal:** a unified CPU/GPU hardware & compiler observatory layer — orchestrate existing toolchains, normalize results, and keep static vs measured evidence honest. See [docs/OBSERVATORY.md](docs/OBSERVATORY.md).
|
|
14
|
+
|
|
13
15
|
---
|
|
14
16
|
|
|
15
17
|
## Install
|
|
@@ -29,7 +31,7 @@ pip install 'compilersutra-perf[dev]' # pytest
|
|
|
29
31
|
|
|
30
32
|
**Requirements:** Python 3.11+. Linux wheels ship prebuilt native runners for CPU (and Vulkan, where available), so CPU workloads run out of the box. Other platforms (or exotic Python builds) fall back to building the runner on demand, which needs a C/C++ toolchain and `cmake` on `PATH`; `perf` is also recommended for full CPU profiling on Linux. GPU backends need their respective runtimes (ROCm, OpenCL, Vulkan) installed separately.
|
|
31
33
|
|
|
32
|
-
**Platform wheels and old distributions:** wheels
|
|
34
|
+
**Platform wheels and old distributions:** release wheels use a `manylinux` tag (e.g. `manylinux_2_39_x86_64`) for the glibc they were built on, so a wheel built on Ubuntu 24.04 may fail to load its bundled runner on Ubuntu 22.04 or older (newer glibc). The loader probes the bundled runner at startup and automatically falls back to an on-demand local build, so only an older toolchain is needed there. Hardware counter events are probed per-CPU, so vendor-specific events never break collection on other vendors (Intel vs AMD).
|
|
33
35
|
|
|
34
36
|
**Native Windows:** not yet supported. The runner uses POSIX APIs (`fork`, `sched_setaffinity`) and won't build on Windows natively — use [WSL2](docs/WINDOWS_WSL2.md). Result artifacts (JSON/CSV/XLSX/HTML reports) open fine on Windows.
|
|
35
37
|
|
|
@@ -37,17 +39,16 @@ Check that every system tool csperf needs is present, and install whatever is mi
|
|
|
37
39
|
|
|
38
40
|
```bash
|
|
39
41
|
csperf quickstart --output-dir results/quickstart # doctor + example + report
|
|
40
|
-
csperf doctor # report missing tools
|
|
42
|
+
csperf doctor # report missing tools; exit 1 if a required tool is missing
|
|
41
43
|
csperf doctor --install # install missing required tools (apt/dnf/pacman/apk/brew)
|
|
42
44
|
csperf doctor --install --all # also install optional GPU/profiling tools
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
See [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) for perf, energy, and GPU fixes.
|
|
46
48
|
|
|
47
|
-
Develop from source:
|
|
49
|
+
Develop from source (private checkout if you have access):
|
|
48
50
|
|
|
49
51
|
```bash
|
|
50
|
-
git clone https://github.com/compilersutra/CompilerSutraPerfTool.git
|
|
51
52
|
cd CompilerSutraPerfTool
|
|
52
53
|
python3 -m venv .venv && source .venv/bin/activate
|
|
53
54
|
pip install -e '.[dev]'
|
|
@@ -91,7 +92,7 @@ Each `run` writes `results/<name>.json`, `.csv`, and `.xlsx` (when `openpyxl` is
|
|
|
91
92
|
| **CPU** | Execute + profile | Native C++ runner, LLVM IR (clang), Linux `perf` counters, warmup/repeat, optional `--cpu-affinity` |
|
|
92
93
|
| **HIP** | Execute + profile | `hipcc` compile-and-run, ROCm devices, `rocprofv3` (then v2/v1) |
|
|
93
94
|
| **OpenCL** | Execute | Native kernel launch, device selection, warmup/repeat |
|
|
94
|
-
| **Vulkan** |
|
|
95
|
+
| **Vulkan** | Execute via csrun / validate | Prefer CompilerSutraRun YAML execute (`CSRUN_BIN`); else GLSL → SPIR-V + module validation |
|
|
95
96
|
| **`gpu` alias** | Auto-route | `.hip` → HIP, `.cl` → OpenCL, shaders → Vulkan |
|
|
96
97
|
| **CUDA / Metal** | Planned | Listed in registry but not executable |
|
|
97
98
|
| **macOS CPU** | Experimental | Execution works; profiling uses `powermetrics` (needs passwordless `sudo`) |
|
|
@@ -239,11 +240,11 @@ Read these before trusting numbers in papers or CI:
|
|
|
239
240
|
- **Alpha** — methodology and backend coverage are still evolving.
|
|
240
241
|
- CPU runs support `--execution-timeout` to bound workload execution.
|
|
241
242
|
- CPU runs support repeated `--program-arg` values and `--stdin-file`; manifests can define the same settings.
|
|
242
|
-
- **`--experiment` / `--opt-config`** — apply compile macros and optional extra flags; plugin entry points remain
|
|
243
|
+
- **`--experiment` / `--opt-config`** — apply compile macros and optional extra flags; plugin entry points remain planned for 0.3.0.
|
|
243
244
|
- Optional extras `track`, `tune`, and `distributed` are reserved for later releases and are not wired into the CLI.
|
|
244
|
-
- **OpenCL** — program may recompile each trial; interpret kernel times carefully
|
|
245
|
+
- **OpenCL** — program may recompile each trial; interpret kernel times carefully.
|
|
245
246
|
- **CUDA / Metal** — not implemented despite registry entries.
|
|
246
|
-
- **Native runners** —
|
|
247
|
+
- **Native runners** — Linux wheels bundle prebuilt native runners; other platforms build on demand from the bundled sources (needs a C/C++ toolchain and `cmake`).
|
|
247
248
|
|
|
248
249
|
Best supported today: **Linux CPU** compile/run/profile with `perf` configured, plus HIP/OpenCL exploration with manual interpretation.
|
|
249
250
|
|
|
@@ -251,7 +252,11 @@ Best supported today: **Linux CPU** compile/run/profile with `perf` configured,
|
|
|
251
252
|
|
|
252
253
|
## Documentation
|
|
253
254
|
|
|
254
|
-
|
|
255
|
+
Public getting started guide:
|
|
256
|
+
|
|
257
|
+
https://www.compilersutra.com/docs/project/compilersutra-perf/getting-started/
|
|
258
|
+
|
|
259
|
+
In-tree guides (source checkout):
|
|
255
260
|
|
|
256
261
|
| Doc | Topic |
|
|
257
262
|
| --- | --- |
|
|
@@ -265,8 +270,6 @@ Full guides live in the repository:
|
|
|
265
270
|
| [CONTRIBUTING.md](CONTRIBUTING.md) | Contributions |
|
|
266
271
|
| [CHANGELOG.md](CHANGELOG.md) | Release notes |
|
|
267
272
|
|
|
268
|
-
Repository: https://github.com/compilersutra/CompilerSutraPerfTool
|
|
269
|
-
|
|
270
273
|
---
|
|
271
274
|
|
|
272
275
|
## License
|
{compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/native/runtime/lib/Runtime/Process.cpp
RENAMED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
#include <sstream>
|
|
14
14
|
#include <stdexcept>
|
|
15
15
|
#include <string>
|
|
16
|
-
#include <sys/ptrace.h>
|
|
17
16
|
#include <sys/types.h>
|
|
18
17
|
#include <sys/wait.h>
|
|
19
18
|
#include <thread>
|
|
@@ -22,6 +21,7 @@
|
|
|
22
21
|
|
|
23
22
|
#if defined(__linux__)
|
|
24
23
|
#include <sched.h>
|
|
24
|
+
#include <sys/ptrace.h>
|
|
25
25
|
#endif
|
|
26
26
|
|
|
27
27
|
namespace csperf::runtime {
|
|
@@ -51,6 +51,7 @@ bool wait_for_stop(pid_t pid, int* status) {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
#if defined(__linux__)
|
|
54
55
|
bool stop_child_at_exec(pid_t pid) {
|
|
55
56
|
if (ptrace(PTRACE_SETOPTIONS, pid, nullptr, PTRACE_O_TRACEEXEC) != 0) {
|
|
56
57
|
return false;
|
|
@@ -81,6 +82,16 @@ void resume_child(pid_t pid, bool traced) {
|
|
|
81
82
|
}
|
|
82
83
|
kill(pid, SIGCONT);
|
|
83
84
|
}
|
|
85
|
+
#else
|
|
86
|
+
// macOS / BSD: no Linux PTRACE_O_TRACEEXEC. Pause with SIGSTOP only.
|
|
87
|
+
bool stop_child_at_exec(pid_t /*pid*/) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
void resume_child(pid_t pid, bool /*traced*/) {
|
|
92
|
+
kill(pid, SIGCONT);
|
|
93
|
+
}
|
|
94
|
+
#endif
|
|
84
95
|
|
|
85
96
|
} // namespace
|
|
86
97
|
|
|
@@ -133,7 +144,9 @@ ProcessResult run_binary(
|
|
|
133
144
|
}
|
|
134
145
|
argv.push_back(nullptr);
|
|
135
146
|
if (pause_for_parent) {
|
|
147
|
+
#if defined(__linux__)
|
|
136
148
|
ptrace(PTRACE_TRACEME, 0, nullptr, nullptr);
|
|
149
|
+
#endif
|
|
137
150
|
raise(SIGSTOP);
|
|
138
151
|
}
|
|
139
152
|
execv(binary_path.c_str(), argv.data());
|
|
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
|
|
|
8
8
|
|
|
9
9
|
[project]
|
|
10
10
|
name = "compilersutra-perf"
|
|
11
|
-
version = "0.
|
|
11
|
+
version = "0.3.0"
|
|
12
12
|
description = "Alpha CLI for compiler and GPU performance experiments — compile, profile, diff, and export JSON/CSV results"
|
|
13
13
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
14
14
|
requires-python = ">=3.11"
|
|
@@ -48,11 +48,8 @@ classifiers = [
|
|
|
48
48
|
dependencies = []
|
|
49
49
|
|
|
50
50
|
[project.urls]
|
|
51
|
-
Homepage = "https://
|
|
52
|
-
Documentation = "https://
|
|
53
|
-
Repository = "https://github.com/compilersutra/CompilerSutraPerfTool"
|
|
54
|
-
Issues = "https://github.com/compilersutra/CompilerSutraPerfTool/issues"
|
|
55
|
-
Changelog = "https://github.com/compilersutra/CompilerSutraPerfTool/blob/main/CHANGELOG.md"
|
|
51
|
+
Homepage = "https://www.compilersutra.com"
|
|
52
|
+
Documentation = "https://www.compilersutra.com/docs/project/compilersutra-perf/getting-started/"
|
|
56
53
|
Author = "https://www.linkedin.com/in/priya-pandey-54a5a22aa/"
|
|
57
54
|
|
|
58
55
|
[project.optional-dependencies]
|
|
@@ -67,16 +64,16 @@ dev = [
|
|
|
67
64
|
"urllib3>=2.7",
|
|
68
65
|
"click>=8.3.3",
|
|
69
66
|
"cryptography>=50.0.0",
|
|
70
|
-
"GitPython>=3.1.
|
|
67
|
+
"GitPython>=3.1.59",
|
|
71
68
|
"idna>=3.15",
|
|
72
69
|
"Pillow>=12.3.0",
|
|
73
70
|
"Pygments>=2.20.0",
|
|
74
71
|
"requests>=2.33.0",
|
|
75
|
-
"tornado>=6.5.
|
|
72
|
+
"tornado>=6.5.8",
|
|
76
73
|
]
|
|
77
74
|
excel = ["openpyxl>=3.1"]
|
|
78
75
|
visualize = ["streamlit>=1.33", "plotly>=5.20"]
|
|
79
|
-
pdf = ["weasyprint>=
|
|
76
|
+
pdf = ["weasyprint>=70.0"]
|
|
80
77
|
track = ["mlflow>=2.11"] # reserved; not wired into the CLI
|
|
81
78
|
tune = ["optuna>=3.5", "nevergrad>=1.0.5"] # reserved; not wired into the CLI
|
|
82
79
|
distributed = ["ray>=2.10", "dask>=2024.3.1"] # reserved; not wired into the CLI
|
|
@@ -84,6 +81,25 @@ distributed = ["ray>=2.10", "dask>=2024.3.1"] # reserved; not wired into the CL
|
|
|
84
81
|
[project.scripts]
|
|
85
82
|
csperf = "csperf.cli:main"
|
|
86
83
|
|
|
84
|
+
[project.entry-points."csperf.experiments"]
|
|
85
|
+
# Built-in experiments remain in csperf.experiments.registry; third-party
|
|
86
|
+
# packages register additional names here (see examples/hello_csperf_plugin).
|
|
87
|
+
|
|
88
|
+
[project.entry-points."csperf.backends"]
|
|
89
|
+
# Executable BackendRunner factories register here (see csperf.execution.runners).
|
|
90
|
+
|
|
91
|
+
[project.entry-points."csperf.report_exporters"]
|
|
92
|
+
# Optional out-of-tree report exporters.
|
|
93
|
+
|
|
94
|
+
[project.entry-points."csperf.gpu_profilers"]
|
|
95
|
+
# Optional GPU profiler plugins.
|
|
96
|
+
|
|
97
|
+
[project.entry-points."csperf.visualizers"]
|
|
98
|
+
# Optional visualizer / dashboard plugins.
|
|
99
|
+
|
|
100
|
+
[project.entry-points."csperf.toolchains"]
|
|
101
|
+
system = "csperf.plugins.toolchains:SystemToolchainProvider"
|
|
102
|
+
|
|
87
103
|
[tool.setuptools]
|
|
88
104
|
package-dir = {"" = "src"}
|
|
89
105
|
|
|
@@ -92,6 +108,10 @@ where = ["src"]
|
|
|
92
108
|
|
|
93
109
|
[tool.pytest.ini_options]
|
|
94
110
|
testpaths = ["tests"]
|
|
111
|
+
markers = [
|
|
112
|
+
"hardware: requires perf and a supported CPU PMU (skipped on hosts without perf)",
|
|
113
|
+
"slow: takes more than a few seconds to run",
|
|
114
|
+
]
|
|
95
115
|
|
|
96
116
|
[tool.ruff]
|
|
97
117
|
line-length = 100
|
|
@@ -19,8 +19,8 @@ from pathlib import Path
|
|
|
19
19
|
from shutil import copy2, copytree
|
|
20
20
|
|
|
21
21
|
from setuptools import setup
|
|
22
|
-
from setuptools.command.build_py import build_py as _build_py
|
|
23
22
|
from setuptools.command.bdist_wheel import bdist_wheel as _bdist_wheel
|
|
23
|
+
from setuptools.command.build_py import build_py as _build_py
|
|
24
24
|
|
|
25
25
|
BUILD_TOOL = "cmake"
|
|
26
26
|
RUNNER_TARGETS = (
|
|
@@ -73,10 +73,18 @@ class build_py(_build_py):
|
|
|
73
73
|
raise RuntimeError("CSPERF_BUNDLE_NATIVE=1 requires cmake on PATH")
|
|
74
74
|
build_dir = Path(os.environ.get("CSPERF_NATIVE_BUILD_DIR", "build-native-wheel"))
|
|
75
75
|
build_dir.mkdir(parents=True, exist_ok=True)
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
76
|
+
# Keep wheel binaries baseline x86-64 so auditwheel/manylinux can repair
|
|
77
|
+
# them (GH runners often default to x86_64_v3 otherwise).
|
|
78
|
+
cmake_cmd = [BUILD_TOOL, "-S", str(project_root), "-B", str(build_dir)]
|
|
79
|
+
machine = platform.machine().lower()
|
|
80
|
+
if machine in {"x86_64", "amd64"}:
|
|
81
|
+
cmake_cmd.extend(
|
|
82
|
+
[
|
|
83
|
+
"-DCMAKE_C_FLAGS=-march=x86-64 -mtune=generic",
|
|
84
|
+
"-DCMAKE_CXX_FLAGS=-march=x86-64 -mtune=generic",
|
|
85
|
+
]
|
|
86
|
+
)
|
|
87
|
+
subprocess.run(cmake_cmd, check=True)
|
|
80
88
|
for target in RUNNER_TARGETS:
|
|
81
89
|
binary = build_dir / "bin" / target
|
|
82
90
|
if target == "csperf_opencl_runner" and not _runner_built(build_dir, target):
|
{compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/PKG-INFO
RENAMED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: compilersutra-perf
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Alpha CLI for compiler and GPU performance experiments — compile, profile, diff, and export JSON/CSV results
|
|
5
5
|
Author-email: Priya Pandey <osc@compilersutra.com>, CompilerSutra <osc@compilersutra.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://
|
|
8
|
-
Project-URL: Documentation, https://
|
|
9
|
-
Project-URL: Repository, https://github.com/compilersutra/CompilerSutraPerfTool
|
|
10
|
-
Project-URL: Issues, https://github.com/compilersutra/CompilerSutraPerfTool/issues
|
|
11
|
-
Project-URL: Changelog, https://github.com/compilersutra/CompilerSutraPerfTool/blob/main/CHANGELOG.md
|
|
7
|
+
Project-URL: Homepage, https://www.compilersutra.com
|
|
8
|
+
Project-URL: Documentation, https://www.compilersutra.com/docs/project/compilersutra-perf/getting-started/
|
|
12
9
|
Project-URL: Author, https://www.linkedin.com/in/priya-pandey-54a5a22aa/
|
|
13
10
|
Keywords: benchmarking,compiler,gpu,hip,llvm,opencl,performance,profiling,systems,vulkan
|
|
14
11
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -39,19 +36,19 @@ Requires-Dist: pip-audit>=2.7; extra == "dev"
|
|
|
39
36
|
Requires-Dist: urllib3>=2.7; extra == "dev"
|
|
40
37
|
Requires-Dist: click>=8.3.3; extra == "dev"
|
|
41
38
|
Requires-Dist: cryptography>=50.0.0; extra == "dev"
|
|
42
|
-
Requires-Dist: GitPython>=3.1.
|
|
39
|
+
Requires-Dist: GitPython>=3.1.59; extra == "dev"
|
|
43
40
|
Requires-Dist: idna>=3.15; extra == "dev"
|
|
44
41
|
Requires-Dist: Pillow>=12.3.0; extra == "dev"
|
|
45
42
|
Requires-Dist: Pygments>=2.20.0; extra == "dev"
|
|
46
43
|
Requires-Dist: requests>=2.33.0; extra == "dev"
|
|
47
|
-
Requires-Dist: tornado>=6.5.
|
|
44
|
+
Requires-Dist: tornado>=6.5.8; extra == "dev"
|
|
48
45
|
Provides-Extra: excel
|
|
49
46
|
Requires-Dist: openpyxl>=3.1; extra == "excel"
|
|
50
47
|
Provides-Extra: visualize
|
|
51
48
|
Requires-Dist: streamlit>=1.33; extra == "visualize"
|
|
52
49
|
Requires-Dist: plotly>=5.20; extra == "visualize"
|
|
53
50
|
Provides-Extra: pdf
|
|
54
|
-
Requires-Dist: weasyprint>=
|
|
51
|
+
Requires-Dist: weasyprint>=70.0; extra == "pdf"
|
|
55
52
|
Provides-Extra: track
|
|
56
53
|
Requires-Dist: mlflow>=2.11; extra == "track"
|
|
57
54
|
Provides-Extra: tune
|
|
@@ -74,6 +71,8 @@ Compile, run, profile, compare, and export structured JSON/CSV/XLSX artifacts
|
|
|
74
71
|
|
|
75
72
|
**Status:** Alpha MVP (0.2.0). Suitable for local experimentation; not yet validated for production CI regression gates. See [limitations](#limitations) and [docs/METHODOLOGY.md](docs/METHODOLOGY.md).
|
|
76
73
|
|
|
74
|
+
**Research goal:** a unified CPU/GPU hardware & compiler observatory layer — orchestrate existing toolchains, normalize results, and keep static vs measured evidence honest. See [docs/OBSERVATORY.md](docs/OBSERVATORY.md).
|
|
75
|
+
|
|
77
76
|
---
|
|
78
77
|
|
|
79
78
|
## Install
|
|
@@ -93,7 +92,7 @@ pip install 'compilersutra-perf[dev]' # pytest
|
|
|
93
92
|
|
|
94
93
|
**Requirements:** Python 3.11+. Linux wheels ship prebuilt native runners for CPU (and Vulkan, where available), so CPU workloads run out of the box. Other platforms (or exotic Python builds) fall back to building the runner on demand, which needs a C/C++ toolchain and `cmake` on `PATH`; `perf` is also recommended for full CPU profiling on Linux. GPU backends need their respective runtimes (ROCm, OpenCL, Vulkan) installed separately.
|
|
95
94
|
|
|
96
|
-
**Platform wheels and old distributions:** wheels
|
|
95
|
+
**Platform wheels and old distributions:** release wheels use a `manylinux` tag (e.g. `manylinux_2_39_x86_64`) for the glibc they were built on, so a wheel built on Ubuntu 24.04 may fail to load its bundled runner on Ubuntu 22.04 or older (newer glibc). The loader probes the bundled runner at startup and automatically falls back to an on-demand local build, so only an older toolchain is needed there. Hardware counter events are probed per-CPU, so vendor-specific events never break collection on other vendors (Intel vs AMD).
|
|
97
96
|
|
|
98
97
|
**Native Windows:** not yet supported. The runner uses POSIX APIs (`fork`, `sched_setaffinity`) and won't build on Windows natively — use [WSL2](docs/WINDOWS_WSL2.md). Result artifacts (JSON/CSV/XLSX/HTML reports) open fine on Windows.
|
|
99
98
|
|
|
@@ -101,17 +100,16 @@ Check that every system tool csperf needs is present, and install whatever is mi
|
|
|
101
100
|
|
|
102
101
|
```bash
|
|
103
102
|
csperf quickstart --output-dir results/quickstart # doctor + example + report
|
|
104
|
-
csperf doctor # report missing tools
|
|
103
|
+
csperf doctor # report missing tools; exit 1 if a required tool is missing
|
|
105
104
|
csperf doctor --install # install missing required tools (apt/dnf/pacman/apk/brew)
|
|
106
105
|
csperf doctor --install --all # also install optional GPU/profiling tools
|
|
107
106
|
```
|
|
108
107
|
|
|
109
108
|
See [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) for perf, energy, and GPU fixes.
|
|
110
109
|
|
|
111
|
-
Develop from source:
|
|
110
|
+
Develop from source (private checkout if you have access):
|
|
112
111
|
|
|
113
112
|
```bash
|
|
114
|
-
git clone https://github.com/compilersutra/CompilerSutraPerfTool.git
|
|
115
113
|
cd CompilerSutraPerfTool
|
|
116
114
|
python3 -m venv .venv && source .venv/bin/activate
|
|
117
115
|
pip install -e '.[dev]'
|
|
@@ -155,7 +153,7 @@ Each `run` writes `results/<name>.json`, `.csv`, and `.xlsx` (when `openpyxl` is
|
|
|
155
153
|
| **CPU** | Execute + profile | Native C++ runner, LLVM IR (clang), Linux `perf` counters, warmup/repeat, optional `--cpu-affinity` |
|
|
156
154
|
| **HIP** | Execute + profile | `hipcc` compile-and-run, ROCm devices, `rocprofv3` (then v2/v1) |
|
|
157
155
|
| **OpenCL** | Execute | Native kernel launch, device selection, warmup/repeat |
|
|
158
|
-
| **Vulkan** |
|
|
156
|
+
| **Vulkan** | Execute via csrun / validate | Prefer CompilerSutraRun YAML execute (`CSRUN_BIN`); else GLSL → SPIR-V + module validation |
|
|
159
157
|
| **`gpu` alias** | Auto-route | `.hip` → HIP, `.cl` → OpenCL, shaders → Vulkan |
|
|
160
158
|
| **CUDA / Metal** | Planned | Listed in registry but not executable |
|
|
161
159
|
| **macOS CPU** | Experimental | Execution works; profiling uses `powermetrics` (needs passwordless `sudo`) |
|
|
@@ -303,11 +301,11 @@ Read these before trusting numbers in papers or CI:
|
|
|
303
301
|
- **Alpha** — methodology and backend coverage are still evolving.
|
|
304
302
|
- CPU runs support `--execution-timeout` to bound workload execution.
|
|
305
303
|
- CPU runs support repeated `--program-arg` values and `--stdin-file`; manifests can define the same settings.
|
|
306
|
-
- **`--experiment` / `--opt-config`** — apply compile macros and optional extra flags; plugin entry points remain
|
|
304
|
+
- **`--experiment` / `--opt-config`** — apply compile macros and optional extra flags; plugin entry points remain planned for 0.3.0.
|
|
307
305
|
- Optional extras `track`, `tune`, and `distributed` are reserved for later releases and are not wired into the CLI.
|
|
308
|
-
- **OpenCL** — program may recompile each trial; interpret kernel times carefully
|
|
306
|
+
- **OpenCL** — program may recompile each trial; interpret kernel times carefully.
|
|
309
307
|
- **CUDA / Metal** — not implemented despite registry entries.
|
|
310
|
-
- **Native runners** —
|
|
308
|
+
- **Native runners** — Linux wheels bundle prebuilt native runners; other platforms build on demand from the bundled sources (needs a C/C++ toolchain and `cmake`).
|
|
311
309
|
|
|
312
310
|
Best supported today: **Linux CPU** compile/run/profile with `perf` configured, plus HIP/OpenCL exploration with manual interpretation.
|
|
313
311
|
|
|
@@ -315,7 +313,11 @@ Best supported today: **Linux CPU** compile/run/profile with `perf` configured,
|
|
|
315
313
|
|
|
316
314
|
## Documentation
|
|
317
315
|
|
|
318
|
-
|
|
316
|
+
Public getting started guide:
|
|
317
|
+
|
|
318
|
+
https://www.compilersutra.com/docs/project/compilersutra-perf/getting-started/
|
|
319
|
+
|
|
320
|
+
In-tree guides (source checkout):
|
|
319
321
|
|
|
320
322
|
| Doc | Topic |
|
|
321
323
|
| --- | --- |
|
|
@@ -329,8 +331,6 @@ Full guides live in the repository:
|
|
|
329
331
|
| [CONTRIBUTING.md](CONTRIBUTING.md) | Contributions |
|
|
330
332
|
| [CHANGELOG.md](CHANGELOG.md) | Release notes |
|
|
331
333
|
|
|
332
|
-
Repository: https://github.com/compilersutra/CompilerSutraPerfTool
|
|
333
|
-
|
|
334
334
|
---
|
|
335
335
|
|
|
336
336
|
## License
|
{compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/SOURCES.txt
RENAMED
|
@@ -77,8 +77,11 @@ src/csperf/models.py
|
|
|
77
77
|
src/csperf/optimize_diff.py
|
|
78
78
|
src/csperf/perf_env.py
|
|
79
79
|
src/csperf/profile_summary.py
|
|
80
|
+
src/csperf/provenance.py
|
|
80
81
|
src/csperf/quickstart.py
|
|
81
82
|
src/csperf/results.py
|
|
83
|
+
src/csperf/runner_meta.py
|
|
84
|
+
src/csperf/schema_export.py
|
|
82
85
|
src/csperf/toolutils.py
|
|
83
86
|
src/csperf/visualize.py
|
|
84
87
|
src/csperf/backends/__init__.py
|
|
@@ -106,20 +109,30 @@ src/csperf/execution/cpu.py
|
|
|
106
109
|
src/csperf/execution/gpu.py
|
|
107
110
|
src/csperf/execution/hip.py
|
|
108
111
|
src/csperf/execution/opencl.py
|
|
112
|
+
src/csperf/execution/qemu_user.py
|
|
113
|
+
src/csperf/execution/runners.py
|
|
109
114
|
src/csperf/execution/utils.py
|
|
110
115
|
src/csperf/execution/vulkan.py
|
|
111
116
|
src/csperf/experiments/__init__.py
|
|
112
117
|
src/csperf/experiments/apply.py
|
|
113
118
|
src/csperf/experiments/registry.py
|
|
119
|
+
src/csperf/integration/__init__.py
|
|
120
|
+
src/csperf/integration/csrun.py
|
|
114
121
|
src/csperf/lit/__init__.py
|
|
115
122
|
src/csperf/lit/runner.py
|
|
116
123
|
src/csperf/pipelines/__init__.py
|
|
117
124
|
src/csperf/pipelines/base.py
|
|
118
125
|
src/csperf/pipelines/factory.py
|
|
126
|
+
src/csperf/plugins/__init__.py
|
|
127
|
+
src/csperf/plugins/contracts.py
|
|
128
|
+
src/csperf/plugins/loader.py
|
|
129
|
+
src/csperf/plugins/toolchains.py
|
|
130
|
+
src/csperf/plugins/visualizers.py
|
|
119
131
|
src/csperf/power/__init__.py
|
|
120
132
|
src/csperf/power/collect.py
|
|
121
133
|
src/csperf/profiler/__init__.py
|
|
122
134
|
src/csperf/profiler/base.py
|
|
135
|
+
src/csperf/profiler/gpu.py
|
|
123
136
|
src/csperf/profiler/cpu/__init__.py
|
|
124
137
|
src/csperf/profiler/cpu/affinity.py
|
|
125
138
|
src/csperf/profiler/cpu/base.py
|
|
@@ -159,6 +172,7 @@ src/csperf/report/template.py
|
|
|
159
172
|
src/csperf/report/exporters/__init__.py
|
|
160
173
|
src/csperf/report/exporters/html.py
|
|
161
174
|
src/csperf/report/exporters/pdf.py
|
|
175
|
+
tests/test_backend_runners.py
|
|
162
176
|
tests/test_bundled_runners.py
|
|
163
177
|
tests/test_cli_functional.py
|
|
164
178
|
tests/test_cli_helpers.py
|
|
@@ -167,9 +181,13 @@ tests/test_cli_smoke.py
|
|
|
167
181
|
tests/test_collector_registry.py
|
|
168
182
|
tests/test_compile_flags.py
|
|
169
183
|
tests/test_cpu_affinity_collect.py
|
|
184
|
+
tests/test_cpu_arena.py
|
|
170
185
|
tests/test_cpu_measurement.py
|
|
186
|
+
tests/test_cross_platform_matrix.py
|
|
187
|
+
tests/test_csrun_integration.py
|
|
171
188
|
tests/test_detector.py
|
|
172
189
|
tests/test_diff_profiler_warnings.py
|
|
190
|
+
tests/test_diff_significance.py
|
|
173
191
|
tests/test_doctor.py
|
|
174
192
|
tests/test_energy_framework.py
|
|
175
193
|
tests/test_experiments_apply.py
|
|
@@ -177,6 +195,8 @@ tests/test_hip_mocked.py
|
|
|
177
195
|
tests/test_issue51_validation.py
|
|
178
196
|
tests/test_lit_runner.py
|
|
179
197
|
tests/test_macos_collector.py
|
|
198
|
+
tests/test_measurement_validity.py
|
|
199
|
+
tests/test_milestone3_gaps.py
|
|
180
200
|
tests/test_milestone_reliability.py
|
|
181
201
|
tests/test_opencl_inference.py
|
|
182
202
|
tests/test_opencl_measure.py
|
|
@@ -188,15 +208,19 @@ tests/test_papi_support.py
|
|
|
188
208
|
tests/test_perf_env.py
|
|
189
209
|
tests/test_perf_events.py
|
|
190
210
|
tests/test_perf_fallback.py
|
|
211
|
+
tests/test_plugins_loader.py
|
|
191
212
|
tests/test_power_collect.py
|
|
192
213
|
tests/test_process_timeout.py
|
|
193
214
|
tests/test_profile_summary_security.py
|
|
215
|
+
tests/test_provenance.py
|
|
216
|
+
tests/test_qemu_user_riscv.py
|
|
194
217
|
tests/test_quickstart.py
|
|
195
218
|
tests/test_registry.py
|
|
196
219
|
tests/test_report_components.py
|
|
197
220
|
tests/test_report_export.py
|
|
198
221
|
tests/test_report_reproduction.py
|
|
199
222
|
tests/test_results_csv.py
|
|
223
|
+
tests/test_runner_meta.py
|
|
200
224
|
tests/test_toolutils.py
|
|
201
225
|
tests/test_visualize.py
|
|
202
226
|
tests/test_vulkaninfo_parse.py
|
{compilersutra_perf-0.2.0 → compilersutra_perf-0.3.0}/src/compilersutra_perf.egg-info/requires.txt
RENAMED
|
@@ -10,12 +10,12 @@ pip-audit>=2.7
|
|
|
10
10
|
urllib3>=2.7
|
|
11
11
|
click>=8.3.3
|
|
12
12
|
cryptography>=50.0.0
|
|
13
|
-
GitPython>=3.1.
|
|
13
|
+
GitPython>=3.1.59
|
|
14
14
|
idna>=3.15
|
|
15
15
|
Pillow>=12.3.0
|
|
16
16
|
Pygments>=2.20.0
|
|
17
17
|
requests>=2.33.0
|
|
18
|
-
tornado>=6.5.
|
|
18
|
+
tornado>=6.5.8
|
|
19
19
|
|
|
20
20
|
[distributed]
|
|
21
21
|
ray>=2.10
|
|
@@ -25,7 +25,7 @@ dask>=2024.3.1
|
|
|
25
25
|
openpyxl>=3.1
|
|
26
26
|
|
|
27
27
|
[pdf]
|
|
28
|
-
weasyprint>=
|
|
28
|
+
weasyprint>=70.0
|
|
29
29
|
|
|
30
30
|
[track]
|
|
31
31
|
mlflow>=2.11
|
|
@@ -13,7 +13,13 @@ __all__ = ["__version__"]
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def _project_version() -> str:
|
|
16
|
-
"""Read the canonical version from
|
|
16
|
+
"""Read the canonical version from pyproject.toml.
|
|
17
|
+
|
|
18
|
+
Installed metadata can lag behind the source tree (e.g. an editable
|
|
19
|
+
install from an older release), so pyproject.toml is the single source
|
|
20
|
+
of truth. Only fall back to installed metadata when pyproject.toml is
|
|
21
|
+
unavailable (e.g. a wheel installed without the source tree).
|
|
22
|
+
"""
|
|
17
23
|
|
|
18
24
|
project_file = Path(__file__).resolve().parents[2] / "pyproject.toml"
|
|
19
25
|
try:
|