wafer-core 0.1.39__tar.gz → 0.1.41__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.
Files changed (760) hide show
  1. {wafer_core-0.1.39 → wafer_core-0.1.41}/PKG-INFO +1 -1
  2. {wafer_core-0.1.39 → wafer_core-0.1.41}/pyproject.toml +1 -1
  3. wafer_core-0.1.41/wafer_core/tools/compile/benchmark.py +636 -0
  4. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/compiler.py +63 -76
  5. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/modal_compile.py +129 -119
  6. {wafer_core-0.1.39 → wafer_core-0.1.41}/.gitignore +0 -0
  7. {wafer_core-0.1.39 → wafer_core-0.1.41}/README.md +0 -0
  8. {wafer_core-0.1.39 → wafer_core-0.1.41}/pyproject.toml.bak +0 -0
  9. {wafer_core-0.1.39 → wafer_core-0.1.41}/run_cuda_grep.py +0 -0
  10. {wafer_core-0.1.39 → wafer_core-0.1.41}/test_gpu_e2e.py +0 -0
  11. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/__init__.py +0 -0
  12. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/perfetto/README.md +0 -0
  13. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/perfetto/__init__.py +0 -0
  14. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/perfetto/test_perfetto_integration.py +0 -0
  15. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/perfetto/test_perfetto_tool.py +0 -0
  16. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/perfetto/test_trace_manager.py +0 -0
  17. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/perfetto/test_trace_processor.py +0 -0
  18. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_async_ssh_upload.py +0 -0
  19. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_capture_tool.py +0 -0
  20. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_config.py +0 -0
  21. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_eval_interrupt_resume.py +0 -0
  22. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_isa_analysis_tools.py +0 -0
  23. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_kernel_scope.py +0 -0
  24. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_nested_progress.py +0 -0
  25. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_reward_hack_defenses.py +0 -0
  26. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_rocprof_tools.py +0 -0
  27. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_rocprofiler_compute.py +0 -0
  28. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_roofline.py +0 -0
  29. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_sandbox.py +0 -0
  30. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/test_tracelens_tools.py +0 -0
  31. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/trace_compare/__init__.py +0 -0
  32. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/trace_compare/benchmark_trace_compare.py +0 -0
  33. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/trace_compare/expected_output_amd_llama.json +0 -0
  34. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/trace_compare/generate_golden_file.py +0 -0
  35. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/trace_compare/test_trace_compare_correctness.py +0 -0
  36. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/tracelens/__init__.py +0 -0
  37. {wafer_core-0.1.39 → wafer_core-0.1.41}/tests/tracelens/test_finder.py +0 -0
  38. {wafer_core-0.1.39 → wafer_core-0.1.41}/uv.lock +0 -0
  39. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/__init__.py +0 -0
  40. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/async_ssh.py +0 -0
  41. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/auth.py +0 -0
  42. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/config/__init__.py +0 -0
  43. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/config/loader.py +0 -0
  44. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/config/schema.py +0 -0
  45. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/environments/__init__.py +0 -0
  46. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/environments/coding.py +0 -0
  47. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/environments/gpumode.py +0 -0
  48. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/gpu.py +0 -0
  49. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/gpu_detect.py +0 -0
  50. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/__init__.py +0 -0
  51. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/__init__.py +0 -0
  52. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/amdgcn/__init__.py +0 -0
  53. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/amdgcn/analyzer.py +0 -0
  54. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/amdgcn/instruction_db.py +0 -0
  55. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/amdgcn/parser.py +0 -0
  56. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/amdgcn/types.py +0 -0
  57. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/api.py +0 -0
  58. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/correlation/__init__.py +0 -0
  59. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/correlation/mapper.py +0 -0
  60. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/llvm_ir/__init__.py +0 -0
  61. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/llvm_ir/analyzer.py +0 -0
  62. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/llvm_ir/parser.py +0 -0
  63. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/llvm_ir/types.py +0 -0
  64. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/metrics/__init__.py +0 -0
  65. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/metrics/occupancy.py +0 -0
  66. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/targets/__init__.py +0 -0
  67. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/targets/specs.py +0 -0
  68. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/ttgir/__init__.py +0 -0
  69. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/ttgir/analyzer.py +0 -0
  70. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/ttgir/parser.py +0 -0
  71. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/kernel_scope/ttgir/types.py +0 -0
  72. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/__init__.py +0 -0
  73. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/analysis.py +0 -0
  74. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/discovery.py +0 -0
  75. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/export.py +0 -0
  76. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/extraction.py +0 -0
  77. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/main.py +0 -0
  78. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/nsys/parsing.py +0 -0
  79. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/perfetto/__init__.py +0 -0
  80. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/perfetto/build_trace_processor.py +0 -0
  81. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/perfetto/perfetto_tool.py +0 -0
  82. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/perfetto/trace_manager.py +0 -0
  83. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/perfetto/trace_processor.py +0 -0
  84. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/__init__.py +0 -0
  85. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/__init__.py +0 -0
  86. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/analyzer.py +0 -0
  87. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/finder.py +0 -0
  88. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/VERSION +0 -0
  89. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/__init__.py +0 -0
  90. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/__main__.py +0 -0
  91. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/analysis_base.py +0 -0
  92. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/analysis_webui.py +0 -0
  93. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/default.css +0 -0
  94. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/favicon.ico +0 -0
  95. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/css/font-awesome.css +0 -0
  96. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/css/font-awesome.min.css +0 -0
  97. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  98. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  99. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -0
  100. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  101. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  102. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/bordered-pulled.less +0 -0
  103. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/core.less +0 -0
  104. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/fixed-width.less +0 -0
  105. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/font-awesome.less +0 -0
  106. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/icons.less +0 -0
  107. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/larger.less +0 -0
  108. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/list.less +0 -0
  109. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/mixins.less +0 -0
  110. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/path.less +0 -0
  111. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/rotated-flipped.less +0 -0
  112. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/spinning.less +0 -0
  113. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/stacked.less +0 -0
  114. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/less/variables.less +0 -0
  115. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_bordered-pulled.scss +0 -0
  116. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_core.scss +0 -0
  117. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_fixed-width.scss +0 -0
  118. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_icons.scss +0 -0
  119. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_larger.scss +0 -0
  120. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_list.scss +0 -0
  121. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_mixins.scss +0 -0
  122. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_path.scss +0 -0
  123. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_rotated-flipped.scss +0 -0
  124. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_spinning.scss +0 -0
  125. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_stacked.scss +0 -0
  126. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/_variables.scss +0 -0
  127. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/font-awesome/scss/font-awesome.scss +0 -0
  128. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/css/animation.css +0 -0
  129. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/css/fontello-codes.css +0 -0
  130. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/css/fontello-embedded.css +0 -0
  131. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/css/fontello-ie7-codes.css +0 -0
  132. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/css/fontello-ie7.css +0 -0
  133. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/css/fontello.css +0 -0
  134. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/font/fontello.eot +0 -0
  135. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/font/fontello.svg +0 -0
  136. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/font/fontello.ttf +0 -0
  137. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fontello/font/fontello.woff +0 -0
  138. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot +0 -0
  139. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg +0 -0
  140. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf +0 -0
  141. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff +0 -0
  142. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot +0 -0
  143. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg +0 -0
  144. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf +0 -0
  145. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff +0 -0
  146. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot +0 -0
  147. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg +0 -0
  148. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf +0 -0
  149. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff +0 -0
  150. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Bold-webfont.eot +0 -0
  151. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Bold-webfont.svg +0 -0
  152. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Bold-webfont.ttf +0 -0
  153. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Bold-webfont.woff +0 -0
  154. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot +0 -0
  155. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg +0 -0
  156. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf +0 -0
  157. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff +0 -0
  158. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot +0 -0
  159. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg +0 -0
  160. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf +0 -0
  161. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff +0 -0
  162. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  163. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg +0 -0
  164. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  165. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  166. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Italic-webfont.eot +0 -0
  167. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Italic-webfont.svg +0 -0
  168. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Italic-webfont.ttf +0 -0
  169. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Italic-webfont.woff +0 -0
  170. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Light-webfont.eot +0 -0
  171. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Light-webfont.svg +0 -0
  172. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Light-webfont.ttf +0 -0
  173. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Light-webfont.woff +0 -0
  174. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot +0 -0
  175. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg +0 -0
  176. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf +0 -0
  177. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff +0 -0
  178. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Regular-webfont.eot +0 -0
  179. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Regular-webfont.svg +0 -0
  180. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Regular-webfont.ttf +0 -0
  181. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Regular-webfont.woff +0 -0
  182. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Semibold-webfont.eot +0 -0
  183. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Semibold-webfont.svg +0 -0
  184. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf +0 -0
  185. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-Semibold-webfont.woff +0 -0
  186. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot +0 -0
  187. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg +0 -0
  188. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  189. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff +0 -0
  190. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/fonts.css +0 -0
  191. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/layout.css +0 -0
  192. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/magnific-popup.css +0 -0
  193. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/assets/media-queries.css +0 -0
  194. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/config.py +0 -0
  195. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/launcher.py +0 -0
  196. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0000_top_stats.yaml +0 -0
  197. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0100_system_info.yaml +0 -0
  198. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0200_system-speed-of-light.yaml +0 -0
  199. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0300_mem_chart.yaml +0 -0
  200. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0500_command-processor.yaml +0 -0
  201. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0600_shader-processor-input.yaml +0 -0
  202. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/0700_wavefront-launch.yaml +0 -0
  203. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1000_compute-unit-instruction-mix.yaml +0 -0
  204. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1100_compute-unit-compute-pipeline.yaml +0 -0
  205. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1200_lds.yaml +0 -0
  206. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1300_instruction-cache.yaml +0 -0
  207. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1400_constant-cache.yaml +0 -0
  208. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1500_TA_and_TD.yaml +0 -0
  209. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1600_L1_cache.yaml +0 -0
  210. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1700_L2_cache.yaml +0 -0
  211. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/1800_L2_cache_per_channel.yaml +0 -0
  212. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx908/2100_pc_sampling.yaml +0 -0
  213. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0000_top_stats.yaml +0 -0
  214. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0100_system_info.yaml +0 -0
  215. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0200_system-speed-of-light.yaml +0 -0
  216. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0300_mem_chart.yaml +0 -0
  217. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0400_roofline_info.yaml +0 -0
  218. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0500_command-processor.yaml +0 -0
  219. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0600_shader-processor-input.yaml +0 -0
  220. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/0700_wavefront-launch.yaml +0 -0
  221. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1000_compute-unit-instruction-mix.yaml +0 -0
  222. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1100_compute-unit-compute-pipeline.yaml +0 -0
  223. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1200_lds.yaml +0 -0
  224. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1300_instruction-cache.yaml +0 -0
  225. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1400_constant-cache.yaml +0 -0
  226. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1500_TA_and_TD.yaml +0 -0
  227. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1600_L1_cache.yaml +0 -0
  228. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1700_L2_cache.yaml +0 -0
  229. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/1800_L2_cache_per_channel.yaml +0 -0
  230. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx90a/2100_pc_sampling.yaml +0 -0
  231. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0000_top_stats.yaml +0 -0
  232. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0100_system_info.yaml +0 -0
  233. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0200_system-speed-of-light.yaml +0 -0
  234. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0300_mem_chart.yaml +0 -0
  235. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0400_roofline_info.yaml +0 -0
  236. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0500_command-processor.yaml +0 -0
  237. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0600_shader-processor-input.yaml +0 -0
  238. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/0700_wavefront-launch.yaml +0 -0
  239. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1000_compute-unit-instruction-mix.yaml +0 -0
  240. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1100_compute-unit-compute-pipeline.yaml +0 -0
  241. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1200_lds.yaml +0 -0
  242. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1300_instruction-cache.yaml +0 -0
  243. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1400_constant-cache.yaml +0 -0
  244. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1500_TA_and_TD.yaml +0 -0
  245. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1600_L1_cache.yaml +0 -0
  246. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1700_L2_cache.yaml +0 -0
  247. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/1800_L2_cache_per_channel.yaml +0 -0
  248. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx940/2100_pc_sampling.yaml +0 -0
  249. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0000_top_stats.yaml +0 -0
  250. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0100_system_info.yaml +0 -0
  251. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0200_system-speed-of-light.yaml +0 -0
  252. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0300_mem_chart.yaml +0 -0
  253. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0400_roofline_info.yaml +0 -0
  254. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0500_command-processor.yaml +0 -0
  255. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0600_shader-processor-input.yaml +0 -0
  256. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/0700_wavefront-launch.yaml +0 -0
  257. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1000_compute-unit-instruction-mix.yaml +0 -0
  258. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1100_compute-unit-compute-pipeline.yaml +0 -0
  259. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1200_lds.yaml +0 -0
  260. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1300_instruction-cache.yaml +0 -0
  261. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1400_constant-cache.yaml +0 -0
  262. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1500_TA_and_TD.yaml +0 -0
  263. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1600_L1_cache.yaml +0 -0
  264. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1700_L2_cache.yaml +0 -0
  265. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/1800_L2_cache_per_channel.yaml +0 -0
  266. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx941/2100_pc_sampling.yaml +0 -0
  267. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0000_top_stats.yaml +0 -0
  268. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0100_system_info.yaml +0 -0
  269. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0200_system-speed-of-light.yaml +0 -0
  270. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0300_mem_chart.yaml +0 -0
  271. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0400_roofline_info.yaml +0 -0
  272. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0500_command-processor.yaml +0 -0
  273. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0600_shader-processor-input.yaml +0 -0
  274. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/0700_wavefront-launch.yaml +0 -0
  275. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1000_compute-unit-instruction-mix.yaml +0 -0
  276. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1100_compute-unit-compute-pipeline.yaml +0 -0
  277. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1200_lds.yaml +0 -0
  278. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1300_instruction-cache.yaml +0 -0
  279. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1400_constant-cache.yaml +0 -0
  280. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1500_TA_and_TD.yaml +0 -0
  281. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1600_L1_cache.yaml +0 -0
  282. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1700_L2_cache.yaml +0 -0
  283. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/1800_L2_cache_per_channel.yaml +0 -0
  284. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx942/2100_pc_sampling.yaml +0 -0
  285. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0000_top_stats.yaml +0 -0
  286. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0100_system_info.yaml +0 -0
  287. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0200_system-speed-of-light.yaml +0 -0
  288. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0300_mem_chart.yaml +0 -0
  289. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0400_roofline_info.yaml +0 -0
  290. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0500_command-processor.yaml +0 -0
  291. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0600_shader-processor-input.yaml +0 -0
  292. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/0700_wavefront-launch.yaml +0 -0
  293. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1000_compute-unit-instruction-mix.yaml +0 -0
  294. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1100_compute-unit-compute-pipeline.yaml +0 -0
  295. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1200_lds.yaml +0 -0
  296. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1300_instruction-cache.yaml +0 -0
  297. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1400_constant-cache.yaml +0 -0
  298. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1500_TA_and_TD.yaml +0 -0
  299. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1600_L1_cache.yaml +0 -0
  300. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1700_L2_cache.yaml +0 -0
  301. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/1800_L2_cache_per_channel.yaml +0 -0
  302. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/gfx950/2100_pc_sampling.yaml +0 -0
  303. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/analysis_configs/panel_config_template.yaml +0 -0
  304. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_base.py +0 -0
  305. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_gfx908.py +0 -0
  306. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_gfx90a.py +0 -0
  307. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_gfx940.py +0 -0
  308. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_gfx941.py +0 -0
  309. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_gfx942.py +0 -0
  310. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/rocprof_compute_soc/soc_gfx950.py +0 -0
  311. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/__init__.py +0 -0
  312. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/db_connector.py +0 -0
  313. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/file_io.py +0 -0
  314. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/gui.py +0 -0
  315. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/gui_components/__init__.py +0 -0
  316. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/gui_components/header.py +0 -0
  317. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/gui_components/memchart.py +0 -0
  318. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/kernel_name_shortener.py +0 -0
  319. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/logger.py +0 -0
  320. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/mem_chart.py +0 -0
  321. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/mi_gpu_spec.py +0 -0
  322. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/mi_gpu_spec.yaml +0 -0
  323. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/parser.py +0 -0
  324. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/roofline.py +0 -0
  325. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/roofline_calc.py +0 -0
  326. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/schema.py +0 -0
  327. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/specs.py +0 -0
  328. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/tty.py +0 -0
  329. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui/utils/utils.py +0 -0
  330. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/gui_server.py +0 -0
  331. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/profiler.py +0 -0
  332. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/compute/types.py +0 -0
  333. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/sdk/__init__.py +0 -0
  334. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/sdk/analyzer.py +0 -0
  335. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/sdk/finder.py +0 -0
  336. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/sdk/parser.py +0 -0
  337. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/sdk/profiler.py +0 -0
  338. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/sdk/types.py +0 -0
  339. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/__init__.py +0 -0
  340. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/avail/__init__.py +0 -0
  341. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/avail/query.py +0 -0
  342. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/finder.py +0 -0
  343. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/instrument/__init__.py +0 -0
  344. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/instrument/profiler.py +0 -0
  345. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/parsers/__init__.py +0 -0
  346. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/parsers/json_parser.py +0 -0
  347. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/parsers/text_parser.py +0 -0
  348. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/run/__init__.py +0 -0
  349. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/run/analyzer.py +0 -0
  350. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/run/profiler.py +0 -0
  351. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/sample/__init__.py +0 -0
  352. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/sample/profiler.py +0 -0
  353. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/rocprofiler/systems/types.py +0 -0
  354. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/PERFORMANCE.md +0 -0
  355. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/__init__.py +0 -0
  356. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/aligner.py +0 -0
  357. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/analyzer.py +0 -0
  358. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/api.py +0 -0
  359. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/architecture.py +0 -0
  360. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/classifier.py +0 -0
  361. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/formatter.py +0 -0
  362. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/fusion_analyzer.py +0 -0
  363. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/kernel_registry.yaml +0 -0
  364. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/layer_segmentation.py +0 -0
  365. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/loader.py +0 -0
  366. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/same_kernel_analyzer.py +0 -0
  367. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/trace_compare/warnings.py +0 -0
  368. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/tracelens/__init__.py +0 -0
  369. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/tracelens/comparator.py +0 -0
  370. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/tracelens/finder.py +0 -0
  371. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/tracelens/report_generator.py +0 -0
  372. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/lib/tracelens/types.py +0 -0
  373. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/logging/__init__.py +0 -0
  374. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/logging/bridge.py +0 -0
  375. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/logging/color_formatter.py +0 -0
  376. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/logging/json_formatter.py +0 -0
  377. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/logging/logging_config.py +0 -0
  378. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/problem_config.py +0 -0
  379. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/remote_env.py +0 -0
  380. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/remote_jobs.py +0 -0
  381. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/retry.py +0 -0
  382. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/__init__.py +0 -0
  383. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/__main__.py +0 -0
  384. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_logging/__init__.py +0 -0
  385. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_logging/color_formatter.py +0 -0
  386. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_logging/json_formatter.py +0 -0
  387. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_logging/logging_config.py +0 -0
  388. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_logging/sample_handler.py +0 -0
  389. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/__init__.py +0 -0
  390. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/app.py +0 -0
  391. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/console.py +0 -0
  392. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/renderer.py +0 -0
  393. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/spinner.py +0 -0
  394. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/terminal.py +0 -0
  395. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/text.py +0 -0
  396. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_pytui/theme.py +0 -0
  397. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_rate_limit.py +0 -0
  398. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/_retry.py +0 -0
  399. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/README.md +0 -0
  400. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/__init__.py +0 -0
  401. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/base_preset.py +0 -0
  402. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/gpt_5_1_codex_04_04.py +0 -0
  403. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/gpt_5_2_03_03.py +0 -0
  404. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/loader.py +0 -0
  405. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/opus_4_01_01.py +0 -0
  406. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/rlm_01_01.py +0 -0
  407. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/sonnet_4_02_02.py +0 -0
  408. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agent_presets/sonnet_4_subagent_03_02.py +0 -0
  409. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/agents.py +0 -0
  410. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/cli.py +0 -0
  411. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/cli_agents.py +0 -0
  412. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/config/README.md +0 -0
  413. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/config/__init__.py +0 -0
  414. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/config/base.py +0 -0
  415. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/config/loader.py +0 -0
  416. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/config/protocols.py +0 -0
  417. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/datasets/__init__.py +0 -0
  418. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/datasets/lichess_puzzles.py +0 -0
  419. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/deploy.py +0 -0
  420. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/docs/ASYNC_RUNTIME.md +0 -0
  421. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/dtypes.py +0 -0
  422. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/__init__.py +0 -0
  423. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/_formatting.py +0 -0
  424. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/_subprocess.py +0 -0
  425. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/ask_user.py +0 -0
  426. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/base.py +0 -0
  427. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/binary_search.py +0 -0
  428. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/browsing.py +0 -0
  429. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/calculator.py +0 -0
  430. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/chess_puzzle.py +0 -0
  431. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/compose.py +0 -0
  432. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/cuda_grep.py +0 -0
  433. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/git_worktree.py +0 -0
  434. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/handoff.py +0 -0
  435. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/localfs.py +0 -0
  436. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/no_tools.py +0 -0
  437. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/oracle.py +0 -0
  438. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/repl.py +0 -0
  439. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/screenspot.py +0 -0
  440. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/swe_grep.py +0 -0
  441. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/environments/terminal_bench.py +0 -0
  442. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/eval_helpers.py +0 -0
  443. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/evaluation.py +0 -0
  444. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/__init__.py +0 -0
  445. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/config_all_tools.py +0 -0
  446. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/config_grep_glob.py +0 -0
  447. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/config_search_only.py +0 -0
  448. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/cuda_questions.jsonl +0 -0
  449. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/eval_cuda_grep.py +0 -0
  450. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/examples/eval/cuda_grep/scoring.py +0 -0
  451. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/export.py +0 -0
  452. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/feedback.py +0 -0
  453. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/fingerprint.py +0 -0
  454. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/DESIGN.md +0 -0
  455. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/README.md +0 -0
  456. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/REFACTOR_PLAN.md +0 -0
  457. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/UI_IMPROVEMENTS.md +0 -0
  458. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/__init__.py +0 -0
  459. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/__main__.py +0 -0
  460. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/dev.sh +0 -0
  461. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/index.html +0 -0
  462. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/index_old.html +0 -0
  463. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/run.py +0 -0
  464. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontend/server.py +0 -0
  465. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/__init__.py +0 -0
  466. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/headless_json.py +0 -0
  467. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/json_frontend.py +0 -0
  468. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/none.py +0 -0
  469. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/protocol.py +0 -0
  470. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/runner.py +0 -0
  471. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/textual_frontend.py +0 -0
  472. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/INTEGRATION.md +0 -0
  473. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/README.md +0 -0
  474. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/REFACTOR_DESIGN.md +0 -0
  475. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/TUI_TODO.md +0 -0
  476. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/__init__.py +0 -0
  477. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/agent_renderer.py +0 -0
  478. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/__init__.py +0 -0
  479. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/assistant_message.py +0 -0
  480. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/error_display.py +0 -0
  481. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/input.py +0 -0
  482. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/loader.py +0 -0
  483. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/loader_container.py +0 -0
  484. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/markdown.py +0 -0
  485. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/question_selector.py +0 -0
  486. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/spacer.py +0 -0
  487. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/status_line.py +0 -0
  488. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/system_message.py +0 -0
  489. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/text.py +0 -0
  490. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/tool_execution.py +0 -0
  491. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/components/user_message.py +0 -0
  492. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/control_flow_types.py +0 -0
  493. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/demo.py +0 -0
  494. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/example_usage.py +0 -0
  495. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/interactive_agent.py +0 -0
  496. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/oauth.py +0 -0
  497. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/slash_commands.py +0 -0
  498. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/terminal.py +0 -0
  499. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/test_rendering.py +0 -0
  500. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/theme.py +0 -0
  501. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/tui.py +0 -0
  502. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui/utils.py +0 -0
  503. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/frontends/tui_frontend.py +0 -0
  504. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/import_cc.py +0 -0
  505. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/__init__.py +0 -0
  506. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/__init__.py +0 -0
  507. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/config.py +0 -0
  508. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/example.py +0 -0
  509. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/flex_backend.py +0 -0
  510. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/layer.py +0 -0
  511. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/mask.py +0 -0
  512. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/attention/protocol.py +0 -0
  513. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/backends/__init__.py +0 -0
  514. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/backends/generate.py +0 -0
  515. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/backends/tokenize.py +0 -0
  516. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/cache/__init__.py +0 -0
  517. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/cache/paged.py +0 -0
  518. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/cache/protocol.py +0 -0
  519. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/cache/radix.py +0 -0
  520. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/context.py +0 -0
  521. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/engine.py +0 -0
  522. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/sampling.py +0 -0
  523. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/scheduler.py +0 -0
  524. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/testing.py +0 -0
  525. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/inference/types.py +0 -0
  526. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/integrations/__init__.py +0 -0
  527. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/logging_utils.py +0 -0
  528. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/models.py +0 -0
  529. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/paths.py +0 -0
  530. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/pipeline.py +0 -0
  531. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/progress.py +0 -0
  532. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/progress_app.py +0 -0
  533. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt.py +0 -0
  534. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/__init__.py +0 -0
  535. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/adapter.py +0 -0
  536. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/adapters/__init__.py +0 -0
  537. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/adapters/system_prompt.py +0 -0
  538. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/adapters/system_user_prompt.py +0 -0
  539. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/adapters/terminal_bench.py +0 -0
  540. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/evaluation.py +0 -0
  541. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/evolutionary.py +0 -0
  542. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/formatting.py +0 -0
  543. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/operations.py +0 -0
  544. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/reflective.py +0 -0
  545. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/state.py +0 -0
  546. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/prompt_optimization/types.py +0 -0
  547. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/__init__.py +0 -0
  548. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/anthropic.py +0 -0
  549. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/base.py +0 -0
  550. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/google.py +0 -0
  551. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/openai_completions.py +0 -0
  552. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/openai_responses.py +0 -0
  553. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers/sglang.py +0 -0
  554. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/providers.py +0 -0
  555. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/remote.py +0 -0
  556. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/scoring.py +0 -0
  557. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/search.py +0 -0
  558. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/skills.py +0 -0
  559. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/slice.py +0 -0
  560. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/store.py +0 -0
  561. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/templates/__init__.py +0 -0
  562. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/templates/base.py +0 -0
  563. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/templates/loader.py +0 -0
  564. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tests/test_slice.py +0 -0
  565. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/__init__.py +0 -0
  566. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/decorator.py +0 -0
  567. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/__init__.py +0 -0
  568. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/analysis_tools.py +0 -0
  569. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/config.py +0 -0
  570. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/configs/__init__.py +0 -0
  571. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/configs/qwen3_0_6b.py +0 -0
  572. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/configs/qwen3_next_80b.py +0 -0
  573. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_mask.py +0 -0
  574. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_qwen.py +0 -0
  575. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_qwen3_next.py +0 -0
  576. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_sdpa.py +0 -0
  577. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_swa.py +0 -0
  578. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_toolkit.py +0 -0
  579. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/debug_with_tools.py +0 -0
  580. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/explore_gemma.py +0 -0
  581. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/explore_qwen.py +0 -0
  582. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/explore_qwen3_dense.py +0 -0
  583. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/explore_qwen3_next.py +0 -0
  584. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/llama_functional.py +0 -0
  585. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/qwen3_next_functional.py +0 -0
  586. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/qwen_functional.py +0 -0
  587. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/test_llama.py +0 -0
  588. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/test_qwen.py +0 -0
  589. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/test_template.py +0 -0
  590. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/tools.py +0 -0
  591. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/trace_hf.py +0 -0
  592. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/functional_extractor/verify.py +0 -0
  593. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tools/oracle.py +0 -0
  594. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/__init__.py +0 -0
  595. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/agent_integration.py +0 -0
  596. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/__init__.py +0 -0
  597. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/fsdp.py +0 -0
  598. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/jax_backend.py +0 -0
  599. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/protocol.py +0 -0
  600. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/pytorch.py +0 -0
  601. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/pytorch_factory.py +0 -0
  602. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/torch_func.py +0 -0
  603. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/backends/torchax_backend.py +0 -0
  604. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/datasets/__init__.py +0 -0
  605. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/datasets/data_buffer.py +0 -0
  606. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/datasets/dataset_loaders.py +0 -0
  607. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/datasets/sft.py +0 -0
  608. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/distributed_utils.py +0 -0
  609. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/filters.py +0 -0
  610. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/grpo.py +0 -0
  611. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/loops/__init__.py +0 -0
  612. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/loops/rl_loop.py +0 -0
  613. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/loops/sft_loop.py +0 -0
  614. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/losses.py +0 -0
  615. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/metrics.py +0 -0
  616. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/rollout_gen/__init__.py +0 -0
  617. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/rollout_gen/async_rollout_manager.py +0 -0
  618. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/rollout_gen/rollout_generation.py +0 -0
  619. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/rollout_gen/rollout_manager.py +0 -0
  620. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/types.py +0 -0
  621. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/weight_sync.py +0 -0
  622. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/training/worker.py +0 -0
  623. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/transform_messages.py +0 -0
  624. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/DESIGN.md +0 -0
  625. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/__init__.py +0 -0
  626. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/__main__.py +0 -0
  627. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/demo.py +0 -0
  628. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/monitor.py +0 -0
  629. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/remote_runner.py +0 -0
  630. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/terminal.py +0 -0
  631. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/tui/traces.py +0 -0
  632. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/rollouts/upload.py +0 -0
  633. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/roofline/__init__.py +0 -0
  634. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/roofline/analysis.py +0 -0
  635. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/roofline/gpu_specs.py +0 -0
  636. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sandbox/__init__.py +0 -0
  637. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sandbox/executor.py +0 -0
  638. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sandbox/landlock.py +0 -0
  639. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sandbox/policy.py +0 -0
  640. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sandbox/seatbelt.py +0 -0
  641. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sessions/__init__.py +0 -0
  642. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sessions/agent.py +0 -0
  643. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sessions/dtypes.py +0 -0
  644. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/sessions/hooks.py +0 -0
  645. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/ssh.py +0 -0
  646. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/__init__.py +0 -0
  647. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/digitalocean.py +0 -0
  648. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/pool.py +0 -0
  649. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/probe.py +0 -0
  650. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/providers/__init__.py +0 -0
  651. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/providers/baremetal.py +0 -0
  652. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/providers/digitalocean.py +0 -0
  653. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/providers/runpod.py +0 -0
  654. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/reconcile.py +0 -0
  655. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/runpod.py +0 -0
  656. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/spec_store.py +0 -0
  657. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/state_cache.py +0 -0
  658. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/targets/types.py +0 -0
  659. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/__init__.py +0 -0
  660. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/BENCHMARKING.md +0 -0
  661. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/__init__.py +0 -0
  662. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/aggregation.py +0 -0
  663. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/core.py +0 -0
  664. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/dtypes.py +0 -0
  665. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/metrics.py +0 -0
  666. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/scoring.py +0 -0
  667. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/search.py +0 -0
  668. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/storage.py +0 -0
  669. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/streaming.py +0 -0
  670. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/tests/__init__.py +0 -0
  671. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/autotuner/tests/test_autotuner.py +0 -0
  672. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/bash_tool.py +0 -0
  673. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/__init__.py +0 -0
  674. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/artifacts.py +0 -0
  675. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/context.py +0 -0
  676. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/core.py +0 -0
  677. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/dtypes.py +0 -0
  678. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/executor.py +0 -0
  679. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/capture_tool/metrics.py +0 -0
  680. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/__init__.py +0 -0
  681. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/tests/__init__.py +0 -0
  682. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/tests/test_compiler.py +0 -0
  683. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/tests/test_data/utils.cuh +0 -0
  684. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/tests/test_data/vector_add.cu +0 -0
  685. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/tests/test_data/with_header.cu +0 -0
  686. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/tests/test_modal_integration.py +0 -0
  687. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/compile/types.py +0 -0
  688. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/__init__.py +0 -0
  689. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/analyzer.py +0 -0
  690. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/client.py +0 -0
  691. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/codegen.py +0 -0
  692. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/dtypes.py +0 -0
  693. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/executor.py +0 -0
  694. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/dispatch_baseline/roofline.py +0 -0
  695. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/__init__.py +0 -0
  696. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/edit_tool.py +0 -0
  697. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/glob_tool.py +0 -0
  698. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/grep_tool.py +0 -0
  699. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/read_tool.py +0 -0
  700. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/utils.py +0 -0
  701. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/file_tools/write_tool.py +0 -0
  702. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/glob_tool.py +0 -0
  703. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/grep_tool.py +0 -0
  704. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/isa_analysis_tools/__init__.py +0 -0
  705. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/isa_analysis_tools/isa_analysis_tool.py +0 -0
  706. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/isa_analysis_tools/types.py +0 -0
  707. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/nsys_tools/__init__.py +0 -0
  708. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/nsys_tools/discovery.py +0 -0
  709. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/nsys_tools/models.py +0 -0
  710. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/nsys_tools/parser.py +0 -0
  711. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_compute_tools/__init__.py +0 -0
  712. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_compute_tools/rocprof_compute_analyze_tool.py +0 -0
  713. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_compute_tools/rocprof_compute_profile_tool.py +0 -0
  714. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_sdk_tools/__init__.py +0 -0
  715. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_sdk_tools/rocprof_sdk_analyze_tool.py +0 -0
  716. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_sdk_tools/rocprof_sdk_profile_tool.py +0 -0
  717. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_systems_tools/__init__.py +0 -0
  718. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_systems_tools/rocprof_systems_instrument_tool.py +0 -0
  719. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_systems_tools/rocprof_systems_profile_tool.py +0 -0
  720. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_systems_tools/rocprof_systems_query_tool.py +0 -0
  721. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/rocprof_systems_tools/rocprof_systems_sample_tool.py +0 -0
  722. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/skill_tool.py +0 -0
  723. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/tracelens_tools/__init__.py +0 -0
  724. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/tracelens_tools/tracelens_collective_tool.py +0 -0
  725. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/tracelens_tools/tracelens_compare_tool.py +0 -0
  726. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/tracelens_tools/tracelens_report_tool.py +0 -0
  727. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/wafer_tool.py +0 -0
  728. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/tools/write_kernel_tool.py +0 -0
  729. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/__init__.py +0 -0
  730. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/backend.py +0 -0
  731. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/code_validation.py +0 -0
  732. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/environment_serialization.py +0 -0
  733. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/exceptions.py +0 -0
  734. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/execution_types.py +0 -0
  735. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/gpu_environment_utils.py +0 -0
  736. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/__init__.py +0 -0
  737. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/backends.py +0 -0
  738. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/defense.py +0 -0
  739. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/deployment.py +0 -0
  740. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/evaluate.py +0 -0
  741. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/gpu_validation.py +0 -0
  742. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/reference_cache.py +0 -0
  743. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/results.py +0 -0
  744. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/static_checker.py +0 -0
  745. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/targets/__init__.py +0 -0
  746. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/targets/config.py +0 -0
  747. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/targets/execution.py +0 -0
  748. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/targets/selection.py +0 -0
  749. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/task.py +0 -0
  750. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/test_reward_hacks.py +0 -0
  751. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/kernel_utils/utils.py +0 -0
  752. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/modal_execution/__init__.py +0 -0
  753. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/modal_execution/modal_app.py +0 -0
  754. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/modal_execution/modal_config.py +0 -0
  755. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/modal_execution/modal_execution.py +0 -0
  756. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/modal_execution/test_modal.py +0 -0
  757. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/ncu_profile_tools.py +0 -0
  758. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/path_utils.py +0 -0
  759. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/remote_execution.py +0 -0
  760. {wafer_core-0.1.39 → wafer_core-0.1.41}/wafer_core/utils/submission_selection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wafer-core
3
- Version: 0.1.39
3
+ Version: 0.1.41
4
4
  Summary: Core utilities and environments for Wafer GPU kernel optimization
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: aiohttp>=3.9.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "wafer-core"
3
- version = "0.1.39"
3
+ version = "0.1.41"
4
4
  description = "Core utilities and environments for Wafer GPU kernel optimization"
5
5
  requires-python = ">=3.10"
6
6
  dependencies = [
@@ -0,0 +1,636 @@
1
+ """Benchmark script for CUDA compilation performance.
2
+
3
+ This script measures compilation time for kernels of different sizes
4
+ to track performance improvements from optimizations.
5
+
6
+ Usage:
7
+ python -m wafer_core.tools.compile.benchmark
8
+
9
+ # Or with specific test:
10
+ python -m wafer_core.tools.compile.benchmark --kernel simple
11
+ python -m wafer_core.tools.compile.benchmark --kernel medium
12
+ python -m wafer_core.tools.compile.benchmark --kernel complex
13
+ """
14
+
15
+ import argparse
16
+ import statistics
17
+ import time
18
+ from typing import NamedTuple
19
+
20
+ # ============================================================================
21
+ # Test Kernels
22
+ # ============================================================================
23
+
24
+ SIMPLE_KERNEL = """\
25
+ // Simple vector addition kernel (~20 lines)
26
+ __global__ void vector_add(float* a, float* b, float* c, int n) {
27
+ int idx = blockIdx.x * blockDim.x + threadIdx.x;
28
+ if (idx < n) {
29
+ c[idx] = a[idx] + b[idx];
30
+ }
31
+ }
32
+ """
33
+
34
+ MEDIUM_KERNEL = """\
35
+ // Medium complexity kernel with shared memory (~100 lines)
36
+ #include <cuda_runtime.h>
37
+
38
+ #define TILE_SIZE 16
39
+
40
+ __global__ void tiled_matmul(
41
+ const float* __restrict__ A,
42
+ const float* __restrict__ B,
43
+ float* __restrict__ C,
44
+ int M, int N, int K
45
+ ) {
46
+ __shared__ float As[TILE_SIZE][TILE_SIZE];
47
+ __shared__ float Bs[TILE_SIZE][TILE_SIZE];
48
+
49
+ int bx = blockIdx.x, by = blockIdx.y;
50
+ int tx = threadIdx.x, ty = threadIdx.y;
51
+
52
+ int row = by * TILE_SIZE + ty;
53
+ int col = bx * TILE_SIZE + tx;
54
+
55
+ float sum = 0.0f;
56
+
57
+ for (int t = 0; t < (K + TILE_SIZE - 1) / TILE_SIZE; t++) {
58
+ // Load tile from A
59
+ if (row < M && t * TILE_SIZE + tx < K) {
60
+ As[ty][tx] = A[row * K + t * TILE_SIZE + tx];
61
+ } else {
62
+ As[ty][tx] = 0.0f;
63
+ }
64
+
65
+ // Load tile from B
66
+ if (t * TILE_SIZE + ty < K && col < N) {
67
+ Bs[ty][tx] = B[(t * TILE_SIZE + ty) * N + col];
68
+ } else {
69
+ Bs[ty][tx] = 0.0f;
70
+ }
71
+
72
+ __syncthreads();
73
+
74
+ // Compute partial dot product
75
+ #pragma unroll
76
+ for (int k = 0; k < TILE_SIZE; k++) {
77
+ sum = fmaf(As[ty][k], Bs[k][tx], sum);
78
+ }
79
+
80
+ __syncthreads();
81
+ }
82
+
83
+ if (row < M && col < N) {
84
+ C[row * N + col] = sum;
85
+ }
86
+ }
87
+
88
+ // Reduction kernel
89
+ __global__ void reduce_sum(const float* input, float* output, int n) {
90
+ extern __shared__ float sdata[];
91
+
92
+ unsigned int tid = threadIdx.x;
93
+ unsigned int i = blockIdx.x * blockDim.x * 2 + threadIdx.x;
94
+
95
+ float mySum = (i < n) ? input[i] : 0.0f;
96
+ if (i + blockDim.x < n) {
97
+ mySum += input[i + blockDim.x];
98
+ }
99
+ sdata[tid] = mySum;
100
+ __syncthreads();
101
+
102
+ for (unsigned int s = blockDim.x / 2; s > 32; s >>= 1) {
103
+ if (tid < s) {
104
+ sdata[tid] = mySum = mySum + sdata[tid + s];
105
+ }
106
+ __syncthreads();
107
+ }
108
+
109
+ if (tid < 32) {
110
+ volatile float* smem = sdata;
111
+ smem[tid] = mySum = mySum + smem[tid + 32];
112
+ smem[tid] = mySum = mySum + smem[tid + 16];
113
+ smem[tid] = mySum = mySum + smem[tid + 8];
114
+ smem[tid] = mySum = mySum + smem[tid + 4];
115
+ smem[tid] = mySum = mySum + smem[tid + 2];
116
+ smem[tid] = mySum = mySum + smem[tid + 1];
117
+ }
118
+
119
+ if (tid == 0) {
120
+ output[blockIdx.x] = sdata[0];
121
+ }
122
+ }
123
+ """
124
+
125
+ COMPLEX_KERNEL = """\
126
+ // Complex kernel with multiple features (~500 lines)
127
+ #include <cuda_runtime.h>
128
+ #include <cooperative_groups.h>
129
+
130
+ namespace cg = cooperative_groups;
131
+
132
+ // Constants
133
+ constexpr int BLOCK_SIZE = 256;
134
+ constexpr int TILE_SIZE = 16;
135
+
136
+ // ============================================================================
137
+ // Kernel 1: Vector operations with shared memory and reduction
138
+ // ============================================================================
139
+ template <typename T, int BlockSize>
140
+ __global__ void reduceSum(const T* __restrict__ input, T* __restrict__ output, int N) {
141
+ __shared__ T sdata[BlockSize];
142
+
143
+ unsigned int tid = threadIdx.x;
144
+ unsigned int i = blockIdx.x * (blockDim.x * 2) + threadIdx.x;
145
+
146
+ T mySum = (i < N) ? input[i] : T(0);
147
+ if (i + blockDim.x < N) {
148
+ mySum += input[i + blockDim.x];
149
+ }
150
+ sdata[tid] = mySum;
151
+ __syncthreads();
152
+
153
+ #pragma unroll
154
+ for (unsigned int s = blockDim.x / 2; s > 32; s >>= 1) {
155
+ if (tid < s) {
156
+ sdata[tid] = mySum = mySum + sdata[tid + s];
157
+ }
158
+ __syncthreads();
159
+ }
160
+
161
+ if (tid < 32) {
162
+ volatile T* smem = sdata;
163
+ if (BlockSize >= 64) mySum += smem[tid + 32];
164
+ smem[tid] = mySum;
165
+ if (BlockSize >= 32) mySum += smem[tid + 16];
166
+ smem[tid] = mySum;
167
+ if (BlockSize >= 16) mySum += smem[tid + 8];
168
+ smem[tid] = mySum;
169
+ if (BlockSize >= 8) mySum += smem[tid + 4];
170
+ smem[tid] = mySum;
171
+ if (BlockSize >= 4) mySum += smem[tid + 2];
172
+ smem[tid] = mySum;
173
+ if (BlockSize >= 2) mySum += smem[tid + 1];
174
+ smem[tid] = mySum;
175
+ }
176
+
177
+ if (tid == 0) {
178
+ output[blockIdx.x] = sdata[0];
179
+ }
180
+ }
181
+
182
+ // ============================================================================
183
+ // Kernel 2: Matrix transpose with shared memory
184
+ // ============================================================================
185
+ __global__ void matrixTranspose(const float* __restrict__ input,
186
+ float* __restrict__ output,
187
+ int width, int height) {
188
+ __shared__ float tile[TILE_SIZE][TILE_SIZE + 1];
189
+
190
+ int xIndex = blockIdx.x * TILE_SIZE + threadIdx.x;
191
+ int yIndex = blockIdx.y * TILE_SIZE + threadIdx.y;
192
+
193
+ if (xIndex < width && yIndex < height) {
194
+ tile[threadIdx.y][threadIdx.x] = input[yIndex * width + xIndex];
195
+ }
196
+
197
+ __syncthreads();
198
+
199
+ xIndex = blockIdx.y * TILE_SIZE + threadIdx.x;
200
+ yIndex = blockIdx.x * TILE_SIZE + threadIdx.y;
201
+
202
+ if (xIndex < height && yIndex < width) {
203
+ output[yIndex * height + xIndex] = tile[threadIdx.x][threadIdx.y];
204
+ }
205
+ }
206
+
207
+ // ============================================================================
208
+ // Kernel 3: Softmax with cooperative groups
209
+ // ============================================================================
210
+ __global__ void softmaxKernel(const float* __restrict__ input,
211
+ float* __restrict__ output,
212
+ int N, int stride) {
213
+ cg::thread_block block = cg::this_thread_block();
214
+ cg::thread_block_tile<32> warp = cg::tiled_partition<32>(block);
215
+
216
+ extern __shared__ float shared[];
217
+
218
+ int row = blockIdx.x;
219
+ const float* rowInput = input + row * stride;
220
+ float* rowOutput = output + row * stride;
221
+
222
+ float maxVal = -INFINITY;
223
+ for (int i = threadIdx.x; i < N; i += blockDim.x) {
224
+ maxVal = fmaxf(maxVal, rowInput[i]);
225
+ }
226
+
227
+ for (int offset = warp.size() / 2; offset > 0; offset /= 2) {
228
+ maxVal = fmaxf(maxVal, warp.shfl_down(maxVal, offset));
229
+ }
230
+
231
+ if (warp.thread_rank() == 0) {
232
+ shared[threadIdx.x / 32] = maxVal;
233
+ }
234
+ block.sync();
235
+
236
+ if (threadIdx.x < blockDim.x / 32) {
237
+ maxVal = shared[threadIdx.x];
238
+ } else {
239
+ maxVal = -INFINITY;
240
+ }
241
+
242
+ for (int offset = 16; offset > 0; offset /= 2) {
243
+ maxVal = fmaxf(maxVal, __shfl_down_sync(0xffffffff, maxVal, offset));
244
+ }
245
+ maxVal = __shfl_sync(0xffffffff, maxVal, 0);
246
+
247
+ float sum = 0.0f;
248
+ for (int i = threadIdx.x; i < N; i += blockDim.x) {
249
+ float val = expf(rowInput[i] - maxVal);
250
+ rowOutput[i] = val;
251
+ sum += val;
252
+ }
253
+
254
+ for (int offset = warp.size() / 2; offset > 0; offset /= 2) {
255
+ sum += warp.shfl_down(sum, offset);
256
+ }
257
+
258
+ if (warp.thread_rank() == 0) {
259
+ shared[threadIdx.x / 32] = sum;
260
+ }
261
+ block.sync();
262
+
263
+ if (threadIdx.x < blockDim.x / 32) {
264
+ sum = shared[threadIdx.x];
265
+ } else {
266
+ sum = 0.0f;
267
+ }
268
+
269
+ for (int offset = 16; offset > 0; offset /= 2) {
270
+ sum += __shfl_down_sync(0xffffffff, sum, offset);
271
+ }
272
+ sum = __shfl_sync(0xffffffff, sum, 0);
273
+
274
+ float invSum = 1.0f / sum;
275
+ for (int i = threadIdx.x; i < N; i += blockDim.x) {
276
+ rowOutput[i] *= invSum;
277
+ }
278
+ }
279
+
280
+ // ============================================================================
281
+ // Kernel 4: Fused multiply-add with vectorized loads
282
+ // ============================================================================
283
+ __global__ void fusedMulAddVec4(const float4* __restrict__ A,
284
+ const float4* __restrict__ B,
285
+ float4* __restrict__ C,
286
+ float alpha, float beta, int N) {
287
+ int idx = blockIdx.x * blockDim.x + threadIdx.x;
288
+
289
+ if (idx < N) {
290
+ float4 a = A[idx];
291
+ float4 b = B[idx];
292
+ float4 c;
293
+
294
+ c.x = fmaf(alpha, a.x, beta * b.x);
295
+ c.y = fmaf(alpha, a.y, beta * b.y);
296
+ c.z = fmaf(alpha, a.z, beta * b.z);
297
+ c.w = fmaf(alpha, a.w, beta * b.w);
298
+
299
+ C[idx] = c;
300
+ }
301
+ }
302
+
303
+ // ============================================================================
304
+ // Kernel 5: Simple GEMM with shared memory tiling
305
+ // ============================================================================
306
+ __global__ void matmulTiled(const float* __restrict__ A,
307
+ const float* __restrict__ B,
308
+ float* __restrict__ C,
309
+ int M, int N, int K) {
310
+ __shared__ float As[TILE_SIZE][TILE_SIZE];
311
+ __shared__ float Bs[TILE_SIZE][TILE_SIZE];
312
+
313
+ int row = blockIdx.y * TILE_SIZE + threadIdx.y;
314
+ int col = blockIdx.x * TILE_SIZE + threadIdx.x;
315
+
316
+ float sum = 0.0f;
317
+
318
+ for (int t = 0; t < (K + TILE_SIZE - 1) / TILE_SIZE; t++) {
319
+ int tiledCol = t * TILE_SIZE + threadIdx.x;
320
+ int tiledRow = t * TILE_SIZE + threadIdx.y;
321
+
322
+ As[threadIdx.y][threadIdx.x] = (row < M && tiledCol < K) ?
323
+ A[row * K + tiledCol] : 0.0f;
324
+ Bs[threadIdx.y][threadIdx.x] = (tiledRow < K && col < N) ?
325
+ B[tiledRow * N + col] : 0.0f;
326
+
327
+ __syncthreads();
328
+
329
+ #pragma unroll
330
+ for (int k = 0; k < TILE_SIZE; k++) {
331
+ sum = fmaf(As[threadIdx.y][k], Bs[k][threadIdx.x], sum);
332
+ }
333
+
334
+ __syncthreads();
335
+ }
336
+
337
+ if (row < M && col < N) {
338
+ C[row * N + col] = sum;
339
+ }
340
+ }
341
+
342
+ // ============================================================================
343
+ // Device helper functions
344
+ // ============================================================================
345
+ __device__ __forceinline__ float warpReduceSum(float val) {
346
+ for (int offset = 16; offset > 0; offset /= 2) {
347
+ val += __shfl_down_sync(0xffffffff, val, offset);
348
+ }
349
+ return val;
350
+ }
351
+
352
+ __device__ __forceinline__ float blockReduceSum(float val) {
353
+ __shared__ float shared[32];
354
+
355
+ int lane = threadIdx.x % 32;
356
+ int wid = threadIdx.x / 32;
357
+
358
+ val = warpReduceSum(val);
359
+
360
+ if (lane == 0) shared[wid] = val;
361
+ __syncthreads();
362
+
363
+ val = (threadIdx.x < blockDim.x / 32) ? shared[lane] : 0.0f;
364
+
365
+ if (wid == 0) val = warpReduceSum(val);
366
+
367
+ return val;
368
+ }
369
+
370
+ // ============================================================================
371
+ // Kernel 6: Layer normalization
372
+ // ============================================================================
373
+ __global__ void layerNorm(const float* __restrict__ input,
374
+ const float* __restrict__ gamma,
375
+ const float* __restrict__ beta,
376
+ float* __restrict__ output,
377
+ int N, float eps) {
378
+ int row = blockIdx.x;
379
+ const float* rowInput = input + row * N;
380
+ float* rowOutput = output + row * N;
381
+
382
+ float sum = 0.0f;
383
+ for (int i = threadIdx.x; i < N; i += blockDim.x) {
384
+ sum += rowInput[i];
385
+ }
386
+ sum = blockReduceSum(sum);
387
+
388
+ __shared__ float s_mean, s_var;
389
+ if (threadIdx.x == 0) {
390
+ s_mean = sum / N;
391
+ }
392
+ __syncthreads();
393
+
394
+ float var = 0.0f;
395
+ for (int i = threadIdx.x; i < N; i += blockDim.x) {
396
+ float diff = rowInput[i] - s_mean;
397
+ var += diff * diff;
398
+ }
399
+ var = blockReduceSum(var);
400
+
401
+ if (threadIdx.x == 0) {
402
+ s_var = rsqrtf(var / N + eps);
403
+ }
404
+ __syncthreads();
405
+
406
+ for (int i = threadIdx.x; i < N; i += blockDim.x) {
407
+ float normalized = (rowInput[i] - s_mean) * s_var;
408
+ rowOutput[i] = fmaf(normalized, gamma[i], beta[i]);
409
+ }
410
+ }
411
+ """
412
+
413
+
414
+ # ============================================================================
415
+ # Benchmark Results
416
+ # ============================================================================
417
+
418
+ class BenchmarkResult(NamedTuple):
419
+ """Result of a single benchmark run."""
420
+ kernel_name: str
421
+ kernel_lines: int
422
+ compile_time_ms: int
423
+ success: bool
424
+ ptx_lines: int | None
425
+ sass_lines: int | None
426
+ error: str | None
427
+
428
+
429
+ def count_lines(code: str) -> int:
430
+ """Count non-empty lines in code."""
431
+ return len([line for line in code.split('\n') if line.strip()])
432
+
433
+
434
+ def run_benchmark(
435
+ kernel_name: str,
436
+ kernel_code: str,
437
+ arch: str = "sm_90a",
438
+ output_formats: list[str] | None = None,
439
+ num_runs: int = 3,
440
+ ) -> list[BenchmarkResult]:
441
+ """Run benchmark for a kernel.
442
+
443
+ Args:
444
+ kernel_name: Name of the kernel for reporting
445
+ kernel_code: CUDA source code
446
+ arch: Target architecture
447
+ output_formats: Output formats to request (default: ["ptx", "sass"])
448
+ num_runs: Number of benchmark runs
449
+
450
+ Returns:
451
+ List of BenchmarkResult for each run
452
+ """
453
+ import modal
454
+
455
+ if output_formats is None:
456
+ output_formats = ["ptx", "sass"]
457
+
458
+ # Get the deployed function
459
+ compile_fn = modal.Function.from_name("cuda-compile", "compile_cuda")
460
+
461
+ kernel_lines = count_lines(kernel_code)
462
+ results: list[BenchmarkResult] = []
463
+
464
+ for run in range(num_runs):
465
+ print(f" Run {run + 1}/{num_runs}...", end=" ", flush=True)
466
+
467
+ start_time = time.time()
468
+
469
+ try:
470
+ result = compile_fn.remote({
471
+ "files": {"kernel.cu": kernel_code},
472
+ "arch": arch,
473
+ "flags": ["-O3", "-lineinfo"],
474
+ "output": output_formats,
475
+ })
476
+
477
+ elapsed_ms = int((time.time() - start_time) * 1000)
478
+
479
+ if result["success"]:
480
+ ptx_lines = count_lines(result["ptx"]) if result.get("ptx") else None
481
+ sass_lines = count_lines(result["sass"]) if result.get("sass") else None
482
+
483
+ results.append(BenchmarkResult(
484
+ kernel_name=kernel_name,
485
+ kernel_lines=kernel_lines,
486
+ compile_time_ms=elapsed_ms,
487
+ success=True,
488
+ ptx_lines=ptx_lines,
489
+ sass_lines=sass_lines,
490
+ error=None,
491
+ ))
492
+ print(f"{elapsed_ms}ms")
493
+ else:
494
+ results.append(BenchmarkResult(
495
+ kernel_name=kernel_name,
496
+ kernel_lines=kernel_lines,
497
+ compile_time_ms=elapsed_ms,
498
+ success=False,
499
+ ptx_lines=None,
500
+ sass_lines=None,
501
+ error=result.get("stderr", "Unknown error"),
502
+ ))
503
+ print(f"FAILED ({elapsed_ms}ms)")
504
+
505
+ except Exception as e:
506
+ elapsed_ms = int((time.time() - start_time) * 1000)
507
+ results.append(BenchmarkResult(
508
+ kernel_name=kernel_name,
509
+ kernel_lines=kernel_lines,
510
+ compile_time_ms=elapsed_ms,
511
+ success=False,
512
+ ptx_lines=None,
513
+ sass_lines=None,
514
+ error=str(e),
515
+ ))
516
+ print(f"ERROR: {e}")
517
+
518
+ return results
519
+
520
+
521
+ def print_summary(results: list[BenchmarkResult]) -> None:
522
+ """Print benchmark summary."""
523
+ successful = [r for r in results if r.success]
524
+
525
+ if not successful:
526
+ print("\n No successful runs!")
527
+ if results:
528
+ print(f" Error: {results[0].error}")
529
+ return
530
+
531
+ times = [r.compile_time_ms for r in successful]
532
+ mean_time = statistics.mean(times)
533
+
534
+ if len(times) > 1:
535
+ stdev = statistics.stdev(times)
536
+ min_time = min(times)
537
+ max_time = max(times)
538
+ print(f"\n Results: {mean_time:.0f}ms avg (min: {min_time}ms, max: {max_time}ms, stdev: {stdev:.0f}ms)")
539
+ else:
540
+ print(f"\n Results: {mean_time:.0f}ms")
541
+
542
+ # Show output sizes
543
+ if successful[0].ptx_lines:
544
+ print(f" PTX output: {successful[0].ptx_lines} lines")
545
+ if successful[0].sass_lines:
546
+ print(f" SASS output: {successful[0].sass_lines} lines")
547
+
548
+
549
+ def run_all_benchmarks(num_runs: int = 3) -> dict[str, list[BenchmarkResult]]:
550
+ """Run benchmarks for all kernel sizes."""
551
+ print("=" * 60)
552
+ print("CUDA Compilation Benchmark")
553
+ print("=" * 60)
554
+
555
+ kernels = [
556
+ ("simple", SIMPLE_KERNEL),
557
+ ("medium", MEDIUM_KERNEL),
558
+ ("complex", COMPLEX_KERNEL),
559
+ ]
560
+
561
+ all_results: dict[str, list[BenchmarkResult]] = {}
562
+
563
+ for name, code in kernels:
564
+ lines = count_lines(code)
565
+ print(f"\n{name.upper()} KERNEL ({lines} lines)")
566
+ print("-" * 40)
567
+
568
+ results = run_benchmark(name, code, num_runs=num_runs)
569
+ all_results[name] = results
570
+ print_summary(results)
571
+
572
+ # Print final summary
573
+ print("\n" + "=" * 60)
574
+ print("SUMMARY")
575
+ print("=" * 60)
576
+
577
+ for name in ["simple", "medium", "complex"]:
578
+ results = all_results.get(name, [])
579
+ successful = [r for r in results if r.success]
580
+ if successful:
581
+ avg_time = statistics.mean([r.compile_time_ms for r in successful])
582
+ print(f" {name:10s}: {avg_time:6.0f}ms ({results[0].kernel_lines} lines)")
583
+ else:
584
+ print(f" {name:10s}: FAILED")
585
+
586
+ return all_results
587
+
588
+
589
+ def main() -> None:
590
+ """Main entry point."""
591
+ parser = argparse.ArgumentParser(description="Benchmark CUDA compilation")
592
+ parser.add_argument(
593
+ "--kernel",
594
+ choices=["simple", "medium", "complex", "all"],
595
+ default="all",
596
+ help="Which kernel to benchmark",
597
+ )
598
+ parser.add_argument(
599
+ "--runs",
600
+ type=int,
601
+ default=3,
602
+ help="Number of benchmark runs per kernel",
603
+ )
604
+ parser.add_argument(
605
+ "--arch",
606
+ default="sm_90a",
607
+ help="Target GPU architecture",
608
+ )
609
+
610
+ args = parser.parse_args()
611
+
612
+ if args.kernel == "all":
613
+ run_all_benchmarks(num_runs=args.runs)
614
+ else:
615
+ kernel_map = {
616
+ "simple": SIMPLE_KERNEL,
617
+ "medium": MEDIUM_KERNEL,
618
+ "complex": COMPLEX_KERNEL,
619
+ }
620
+ code = kernel_map[args.kernel]
621
+ lines = count_lines(code)
622
+
623
+ print(f"\n{args.kernel.upper()} KERNEL ({lines} lines)")
624
+ print("-" * 40)
625
+
626
+ results = run_benchmark(
627
+ args.kernel,
628
+ code,
629
+ arch=args.arch,
630
+ num_runs=args.runs,
631
+ )
632
+ print_summary(results)
633
+
634
+
635
+ if __name__ == "__main__":
636
+ main()