discopop 3.0.0__tar.gz → 3.1.1__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 (302) hide show
  1. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/__main__.py +3 -3
  2. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/ExecutionConfiguration.py +4 -4
  3. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/Suggestion.py +1 -1
  4. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/headless/headless_execution.py +5 -5
  5. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/execution.py +2 -2
  6. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/main.py +3 -3
  7. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/optimizer/binding.py +3 -2
  8. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/settings.py +1 -1
  9. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/suggestions/overview.py +4 -4
  10. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/wizard.py +8 -8
  11. {discopop-3.0.0 → discopop-3.1.1}/PKG-INFO +1 -1
  12. discopop-3.1.1/README.md +85 -0
  13. {discopop-3.0.0 → discopop-3.1.1}/discopop.egg-info/PKG-INFO +1 -1
  14. {discopop-3.0.0 → discopop-3.1.1}/discopop.egg-info/SOURCES.txt +71 -42
  15. {discopop-3.0.0 → discopop-3.1.1}/discopop.egg-info/entry_points.txt +3 -3
  16. {discopop-3.0.0 → discopop-3.1.1}/discopop.egg-info/requires.txt +2 -1
  17. discopop-3.1.1/discopop.egg-info/top_level.txt +5 -0
  18. discopop-3.0.0/discopop_explorer/PETGraphX.py → discopop-3.1.1/discopop_explorer/PEGraphX.py +59 -29
  19. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/__main__.py +10 -4
  20. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/discopop_explorer.py +11 -4
  21. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/generate_Data_CUInst.py +9 -9
  22. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/json_serializer.py +13 -3
  23. discopop-3.1.1/discopop_explorer/parallel_utils.py +34 -0
  24. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/parser.py +2 -0
  25. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detection.py +82 -72
  26. discopop-3.1.1/discopop_explorer/pattern_detectors/PatternBase.py +52 -0
  27. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/PatternInfo.py +21 -35
  28. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/CombinedGPURegions.py +7 -7
  29. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Dependency.py +1 -1
  30. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/EntryPoint.py +3 -3
  31. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/ExitPoint.py +3 -3
  32. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Update.py +5 -5
  33. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/combined_gpu_pattern_detector.py +2 -2
  34. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/prepare_metadata.py +2 -2
  35. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_1.py +3 -3
  36. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_2.py +5 -5
  37. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_3.py +2 -2
  38. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_4.py +9 -9
  39. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_5.py +2 -2
  40. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_6.py +6 -6
  41. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/utilities.py +4 -4
  42. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/device_updates.py +3 -3
  43. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/do_all_detector.py +9 -7
  44. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/geometric_decomposition_detector.py +7 -7
  45. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/pipeline_detector.py +6 -6
  46. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/reduction_detector.py +6 -6
  47. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/simple_gpu_patterns/GPULoop.py +14 -14
  48. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/simple_gpu_patterns/GPUMemory.py +6 -6
  49. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/simple_gpu_patterns/GPURegions.py +8 -8
  50. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/simple_gpu_patterns/gpu_pattern_detector.py +6 -6
  51. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/classes.py +2 -2
  52. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/filter.py +12 -12
  53. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/postprocessor.py +2 -2
  54. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/preprocessor.py +2 -2
  55. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/auxiliary.py +4 -4
  56. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/barriers.py +7 -7
  57. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/data_sharing_clauses.py +2 -2
  58. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/dependency_clauses.py +11 -11
  59. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/tasks.py +5 -5
  60. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/task_parallelism_detector.py +3 -3
  61. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/tp_utils.py +12 -12
  62. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/plugins/pipeline.py +5 -5
  63. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/utils.py +23 -16
  64. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/CodeGenerator/CodeGenerator.py +85 -1
  65. discopop-3.1.1/discopop_library/CodeGenerator/CodeGeneratorArguments.py +29 -0
  66. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/CodeGenerator/classes/UnpackedSuggestion.py +35 -7
  67. discopop-3.1.1/discopop_library/ConfigProvider/ConfigProviderArguments.py +26 -0
  68. discopop-3.1.1/discopop_library/ConfigProvider/__main__.py +49 -0
  69. discopop-3.1.1/discopop_library/ConfigProvider/assets/.gitignore +9 -0
  70. discopop-3.1.1/discopop_library/ConfigProvider/config_provider.py +24 -0
  71. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/JSONHandler/JSONHandler.py +2 -2
  72. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/MemoryRegions/utils.py +1 -1
  73. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/PatchApplicatorArguments.py +1 -0
  74. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/patch_applicator.py +4 -2
  75. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/rollback.py +6 -1
  76. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchGenerator/PatchGeneratorArguments.py +1 -0
  77. discopop-3.1.1/discopop_library/PatchGenerator/__main__.py +79 -0
  78. discopop-3.1.1/discopop_library/PatchGenerator/from_json_patterns.py +64 -0
  79. discopop-3.1.1/discopop_library/PatchGenerator/from_optimizer_output.py +101 -0
  80. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchGenerator/patch_generator.py +9 -35
  81. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PathManagement/PathManagement.py +5 -1
  82. discopop-3.1.1/discopop_library/PatternIdManagement/unique_pattern_id.py +15 -0
  83. discopop-3.1.1/discopop_library/__pycache__/__init__.cpython-38.pyc +0 -0
  84. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/CostModels/CostModel.py +1 -1
  85. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/CostModels/DataTransfer/DataTransferCosts.py +0 -1
  86. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/CostModels/utilities.py +28 -9
  87. discopop-3.1.1/discopop_library/discopop_optimizer/DataTransfers/DataTransfers.py +259 -0
  88. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/OptimizationGraph.py +6 -19
  89. discopop-3.1.1/discopop_library/discopop_optimizer/OptimizerArguments.py +46 -0
  90. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/PETParser/DataAccesses/FromCUs.py +2 -2
  91. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/PETParser/PETParser.py +348 -17
  92. discopop-3.1.1/discopop_library/discopop_optimizer/UpdateOptimization/LoopInitializationUpdates.py +63 -0
  93. discopop-3.1.1/discopop_library/discopop_optimizer/UpdateOptimization/RemoveDuplicatedUpdates.py +78 -0
  94. discopop-3.1.1/discopop_library/discopop_optimizer/UpdateOptimization/RemoveLoopIndexUpdates.py +53 -0
  95. discopop-3.1.1/discopop_library/discopop_optimizer/UpdateOptimization/main.py +59 -0
  96. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Variables/Experiment.py +23 -22
  97. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Variables/ExperimentUtils.py +101 -18
  98. discopop-3.1.1/discopop_library/discopop_optimizer/__main__.py +77 -0
  99. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/context/ContextObject.py +110 -39
  100. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/context/ContextObjectUtils.py +4 -0
  101. discopop-3.1.1/discopop_library/discopop_optimizer/classes/context/Update.py +104 -0
  102. discopop-3.1.1/discopop_library/discopop_optimizer/classes/edges/MutuallyExclusiveEdge.py +21 -0
  103. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/ContextMerge.py +15 -8
  104. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/ContextRestore.py +17 -13
  105. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/ContextSave.py +10 -1
  106. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/ContextSnapshot.py +12 -1
  107. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/ContextSnapshotPop.py +9 -2
  108. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/FunctionRoot.py +2 -2
  109. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/GenericNode.py +6 -1
  110. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/Loop.py +8 -2
  111. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/Workload.py +5 -4
  112. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/system/Network.py +21 -1
  113. discopop-3.1.1/discopop_library/discopop_optimizer/classes/system/System.py +170 -0
  114. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/system/devices/CPU.py +4 -0
  115. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/system/devices/Device.py +4 -0
  116. discopop-3.1.1/discopop_library/discopop_optimizer/classes/system/devices/DeviceTypeEnum.py +14 -0
  117. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/system/devices/GPU.py +4 -0
  118. discopop-3.1.1/discopop_library/discopop_optimizer/classes/system/system_utils.py +76 -0
  119. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/types/DataAccessType.py +13 -2
  120. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/gui/presentation/ChoiceDetails.py +2 -2
  121. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/gui/presentation/OptionTable.py +3 -20
  122. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/gui/queries/ValueTableQuery.py +3 -12
  123. discopop-3.1.1/discopop_library/discopop_optimizer/optimization/evaluate.py +125 -0
  124. discopop-3.1.1/discopop_library/discopop_optimizer/optimization/evaluate_all_decision_combinations.py +203 -0
  125. discopop-3.1.1/discopop_library/discopop_optimizer/optimization/evolutionary_algorithm.py +489 -0
  126. discopop-3.1.1/discopop_library/discopop_optimizer/optimization/validation.py +149 -0
  127. discopop-3.1.1/discopop_library/discopop_optimizer/optimizer.py +219 -0
  128. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/scheduling/workload_delta.py +1 -1
  129. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/suggestions/importers/do_all.py +30 -14
  130. discopop-3.1.1/discopop_library/discopop_optimizer/suggestions/importers/main.py +33 -0
  131. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/suggestions/importers/reduction.py +36 -5
  132. discopop-3.1.1/discopop_library/discopop_optimizer/suggestions/optimizers/loop_collapse.py +248 -0
  133. discopop-3.1.1/discopop_library/discopop_optimizer/suggestions/optimizers/main.py +17 -0
  134. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/utilities/MOGUtilities.py +265 -16
  135. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization/RandomSamples.py +1 -1
  136. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization/TopDown.py +3 -4
  137. discopop-3.1.1/discopop_library/discopop_optimizer/utilities/simple_utilities.py +20 -0
  138. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/utilities/visualization/plotting.py +5 -2
  139. discopop-3.1.1/discopop_library/discopop_optimizer/utilities/visualization/update_graph.py +209 -0
  140. discopop-3.1.1/discopop_library/global_data/__pycache__/__init__.cpython-38.pyc +0 -0
  141. discopop-3.1.1/discopop_library/global_data/version/VERSION +1 -0
  142. discopop-3.1.1/discopop_library/global_data/version/__pycache__/__init__.cpython-38.pyc +0 -0
  143. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/global_data/version/__pycache__/utils.cpython-38.pyc +0 -0
  144. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/result_classes/DetectionResult.py +13 -12
  145. discopop-3.1.1/discopop_library/result_classes/OptimizerOutputPattern.py +64 -0
  146. discopop-3.1.1/discopop_library/result_classes/PatternStorage.py +30 -0
  147. {discopop-3.0.0 → discopop-3.1.1}/requirements.txt +1 -2
  148. {discopop-3.0.0 → discopop-3.1.1}/setup.py +5 -4
  149. {discopop-3.0.0 → discopop-3.1.1}/test/do_all/daxpy/test.py +1 -1
  150. discopop-3.1.1/test/optimizer/loop_collapse/negative/simple_1/__init__.py +0 -0
  151. discopop-3.1.1/test/optimizer/loop_collapse/negative/simple_1/test.py +56 -0
  152. discopop-3.1.1/test/optimizer/loop_collapse/positive/__init__.py +0 -0
  153. discopop-3.1.1/test/optimizer/loop_collapse/positive/simple_1/__init__.py +0 -0
  154. discopop-3.1.1/test/optimizer/loop_collapse/positive/simple_1/test.py +60 -0
  155. discopop-3.1.1/test/utils/__init__.py +0 -0
  156. discopop-3.1.1/test/utils/validator_classes/__init__.py +0 -0
  157. discopop-3.0.0/README.md +0 -109
  158. discopop-3.0.0/discopop.egg-info/top_level.txt +0 -5
  159. discopop-3.0.0/discopop_library/CodeGenerator/__main__.py +0 -119
  160. discopop-3.0.0/discopop_library/PatchGenerator/__main__.py +0 -72
  161. discopop-3.0.0/discopop_library/__pycache__/__init__.cpython-38.pyc +0 -0
  162. discopop-3.0.0/discopop_library/discopop_optimizer/DataTransfers/DataTransfers.py +0 -125
  163. discopop-3.0.0/discopop_library/discopop_optimizer/__main__.py +0 -282
  164. discopop-3.0.0/discopop_library/discopop_optimizer/bindings/CodeGenerator.py +0 -331
  165. discopop-3.0.0/discopop_library/discopop_optimizer/bindings/CodeStorageObject.py +0 -33
  166. discopop-3.0.0/discopop_library/discopop_optimizer/classes/context/Update.py +0 -54
  167. discopop-3.0.0/discopop_library/discopop_optimizer/classes/system/System.py +0 -121
  168. discopop-3.0.0/discopop_library/discopop_optimizer/execution/stored_models.py +0 -273
  169. discopop-3.0.0/discopop_library/discopop_optimizer/requirements.txt +0 -11
  170. discopop-3.0.0/discopop_library/discopop_optimizer/suggestions/importers/base.py +0 -31
  171. discopop-3.0.0/discopop_library/global_data/__pycache__/__init__.cpython-38.pyc +0 -0
  172. discopop-3.0.0/discopop_library/global_data/version/VERSION +0 -1
  173. discopop-3.0.0/discopop_library/global_data/version/__pycache__/__init__.cpython-38.pyc +0 -0
  174. discopop-3.0.0/discopop_wizard/assets/icons/discoPoP_128x128.png +0 -0
  175. discopop-3.0.0/discopop_wizard/assets/profiling_container/Dockerfile +0 -46
  176. {discopop-3.0.0/discopop_profiler → discopop-3.1.1/DEPRECATED_discopop_profiler}/__init__.py +0 -0
  177. {discopop-3.0.0/discopop_profiler → discopop-3.1.1/DEPRECATED_discopop_profiler}/__main__.py +0 -0
  178. {discopop-3.0.0/discopop_profiler → discopop-3.1.1/DEPRECATED_discopop_profiler}/utils.py +0 -0
  179. {discopop-3.0.0/discopop_explorer → discopop-3.1.1/DEPRECATED_discopop_wizard}/__init__.py +0 -0
  180. {discopop-3.0.0/discopop_explorer/pattern_detectors/combined_gpu_patterns → discopop-3.1.1/DEPRECATED_discopop_wizard/assets}/__init__.py +0 -0
  181. {discopop-3.0.0/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes → discopop-3.1.1/DEPRECATED_discopop_wizard/assets/icons}/__init__.py +0 -0
  182. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/Arguments.py +0 -0
  183. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/CodePreview.py +0 -0
  184. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/Console.py +0 -0
  185. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/Pragma.py +0 -0
  186. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/ProfilingContainer.py +0 -0
  187. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/Settings.py +0 -0
  188. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/classes/TKVarStorage.py +0 -0
  189. {discopop-3.0.0/discopop_library/CodeGenerator → discopop-3.1.1/DEPRECATED_discopop_wizard/classes}/__init__.py +0 -0
  190. {discopop-3.0.0/discopop_library/CodeGenerator/classes → discopop-3.1.1/DEPRECATED_discopop_wizard/headless}/__init__.py +0 -0
  191. {discopop-3.0.0/discopop_library/JSONHandler → discopop-3.1.1/DEPRECATED_discopop_wizard/screens}/__init__.py +0 -0
  192. {discopop-3.0.0/discopop_library/LineMapping → discopop-3.1.1/DEPRECATED_discopop_wizard/screens/optimizer}/__init__.py +0 -0
  193. {discopop-3.0.0/discopop_library/MemoryRegions → discopop-3.1.1/DEPRECATED_discopop_wizard/screens/suggestions}/__init__.py +0 -0
  194. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/utils.py +0 -0
  195. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/screens/widgets/ScrollableText.py +0 -0
  196. {discopop-3.0.0/discopop_library/PatchApplicator → discopop-3.1.1/DEPRECATED_discopop_wizard/screens/widgets}/__init__.py +0 -0
  197. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/DEPRECATED_discopop_wizard}/utils.py +0 -0
  198. {discopop-3.0.0 → discopop-3.1.1}/LICENSE +0 -0
  199. {discopop-3.0.0 → discopop-3.1.1}/MANIFEST.in +0 -0
  200. {discopop-3.0.0 → discopop-3.1.1}/discopop.egg-info/dependency_links.txt +0 -0
  201. {discopop-3.0.0 → discopop-3.1.1}/discopop.egg-info/zip-safe +0 -0
  202. {discopop-3.0.0/discopop_library/PatchGenerator → discopop-3.1.1/discopop_explorer}/__init__.py +0 -0
  203. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/__init__.py +0 -0
  204. {discopop-3.0.0/discopop_library/PathManagement → discopop-3.1.1/discopop_explorer/pattern_detectors/combined_gpu_patterns}/__init__.py +0 -0
  205. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Aliases.py +0 -0
  206. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Enums.py +0 -0
  207. {discopop-3.0.0/discopop_library → discopop-3.1.1/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes}/__init__.py +0 -0
  208. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/simple_gpu_patterns/__init__.py +0 -0
  209. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/simple_gpu_patterns/utils.py +0 -0
  210. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/__init__.py +0 -0
  211. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/alias_detection.py +0 -0
  212. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/__init__.py +0 -0
  213. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/plugins/__init__.py +0 -0
  214. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/test/__init__.py +0 -0
  215. {discopop-3.0.0 → discopop-3.1.1}/discopop_explorer/variable.py +0 -0
  216. {discopop-3.0.0/discopop_library/discopop_optimizer/CostModels/DataTransfer → discopop-3.1.1/discopop_library/CodeGenerator}/__init__.py +0 -0
  217. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/CodeGenerator/classes/ContentBuffer.py +0 -0
  218. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/CodeGenerator/classes/Enums.py +0 -0
  219. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/CodeGenerator/classes/Line.py +0 -0
  220. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/CodeGenerator/classes/Pragma.py +0 -0
  221. {discopop-3.0.0/discopop_library/discopop_optimizer/CostModels → discopop-3.1.1/discopop_library/CodeGenerator/classes}/__init__.py +0 -0
  222. {discopop-3.0.0/discopop_library/discopop_optimizer/DataTransfers → discopop-3.1.1/discopop_library/JSONHandler}/__init__.py +0 -0
  223. {discopop-3.0.0/discopop_library/discopop_optimizer/Microbench → discopop-3.1.1/discopop_library/LineMapping}/__init__.py +0 -0
  224. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/LineMapping/diff_modifications.py +0 -0
  225. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/LineMapping/initialize.py +0 -0
  226. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/LineMapping/load.py +0 -0
  227. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/LineMapping/save.py +0 -0
  228. {discopop-3.0.0/discopop_library/discopop_optimizer/PETParser/DataAccesses → discopop-3.1.1/discopop_library/MemoryRegions}/__init__.py +0 -0
  229. {discopop-3.0.0/discopop_library/discopop_optimizer/PETParser → discopop-3.1.1/discopop_library/PatchApplicator}/__init__.py +0 -0
  230. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/__main__.py +0 -0
  231. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/apply.py +0 -0
  232. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/clear.py +0 -0
  233. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/list.py +0 -0
  234. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchApplicator/load.py +0 -0
  235. {discopop-3.0.0/discopop_library/discopop_optimizer/Variables → discopop-3.1.1/discopop_library/PatchGenerator}/__init__.py +0 -0
  236. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/PatchGenerator/diffs.py +0 -0
  237. {discopop-3.0.0/discopop_library/discopop_optimizer → discopop-3.1.1/discopop_library/PathManagement}/__init__.py +0 -0
  238. {discopop-3.0.0/discopop_library/discopop_optimizer/bindings → discopop-3.1.1/discopop_library}/__init__.py +0 -0
  239. {discopop-3.0.0/discopop_library/discopop_optimizer/classes → discopop-3.1.1/discopop_library/discopop_optimizer/CostModels/DataTransfer}/__init__.py +0 -0
  240. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/context → discopop-3.1.1/discopop_library/discopop_optimizer/CostModels}/__init__.py +0 -0
  241. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/edges → discopop-3.1.1/discopop_library/discopop_optimizer/DataTransfers}/__init__.py +0 -0
  242. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/DelaunayInterpolatedMicrobench.py +0 -0
  243. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/ExtrapInterpolatedMicrobench.py +0 -0
  244. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/Microbench.py +0 -0
  245. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/MicrobenchParser.py +0 -0
  246. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/MixedMicrobench.py +0 -0
  247. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/PureDataMicrobench.py +0 -0
  248. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/enums → discopop-3.1.1/discopop_library/discopop_optimizer/Microbench}/__init__.py +0 -0
  249. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/Microbench/utils.py +0 -0
  250. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/PETParser/DataAccesses/CalculateUpdates.py +0 -0
  251. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/nodes → discopop-3.1.1/discopop_library/discopop_optimizer/PETParser/DataAccesses}/__init__.py +0 -0
  252. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/system → discopop-3.1.1/discopop_library/discopop_optimizer/PETParser}/__init__.py +0 -0
  253. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/system/devices → discopop-3.1.1/discopop_library/discopop_optimizer/Variables}/__init__.py +0 -0
  254. {discopop-3.0.0/discopop_library/discopop_optimizer/classes/types → discopop-3.1.1/discopop_library/discopop_optimizer}/__init__.py +0 -0
  255. {discopop-3.0.0/discopop_library/discopop_optimizer/execution → discopop-3.1.1/discopop_library/discopop_optimizer/bindings}/__init__.py +0 -0
  256. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/bindings/utilities.py +0 -0
  257. {discopop-3.0.0/discopop_library/discopop_optimizer/gui → discopop-3.1.1/discopop_library/discopop_optimizer/classes}/__init__.py +0 -0
  258. {discopop-3.0.0/discopop_library/discopop_optimizer/gui/plotting → discopop-3.1.1/discopop_library/discopop_optimizer/classes/context}/__init__.py +0 -0
  259. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/ChildEdge.py +0 -0
  260. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/DataFlowEdge.py +0 -0
  261. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/GenericEdge.py +0 -0
  262. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/OptionEdge.py +0 -0
  263. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/RequirementEdge.py +0 -0
  264. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/SuccessorEdge.py +0 -0
  265. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/edges/TemporaryEdge.py +0 -0
  266. {discopop-3.0.0/discopop_library/discopop_optimizer/gui/presentation → discopop-3.1.1/discopop_library/discopop_optimizer/classes/edges}/__init__.py +0 -0
  267. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/enums/Distributions.py +0 -0
  268. {discopop-3.0.0/discopop_library/discopop_optimizer/gui/queries → discopop-3.1.1/discopop_library/discopop_optimizer/classes/enums}/__init__.py +0 -0
  269. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/nodes/ContextNode.py +0 -0
  270. {discopop-3.0.0/discopop_library/discopop_optimizer/gui/widgets → discopop-3.1.1/discopop_library/discopop_optimizer/classes/nodes}/__init__.py +0 -0
  271. {discopop-3.0.0/discopop_library/discopop_optimizer/scheduling → discopop-3.1.1/discopop_library/discopop_optimizer/classes/system}/__init__.py +0 -0
  272. {discopop-3.0.0/discopop_library/discopop_optimizer/suggestions → discopop-3.1.1/discopop_library/discopop_optimizer/classes/system/devices}/__init__.py +0 -0
  273. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/classes/types/Aliases.py +0 -0
  274. {discopop-3.0.0/discopop_library/discopop_optimizer/suggestions/importers → discopop-3.1.1/discopop_library/discopop_optimizer/classes/types}/__init__.py +0 -0
  275. {discopop-3.0.0/discopop_library/discopop_optimizer/utilities → discopop-3.1.1/discopop_library/discopop_optimizer/gui}/__init__.py +0 -0
  276. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/gui/plotting/CostModels.py +0 -0
  277. {discopop-3.0.0/discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization → discopop-3.1.1/discopop_library/discopop_optimizer/gui/plotting}/__init__.py +0 -0
  278. {discopop-3.0.0/discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization → discopop-3.1.1/discopop_library/discopop_optimizer/gui/presentation}/__init__.py +0 -0
  279. {discopop-3.0.0/discopop_library/discopop_optimizer/utilities/optimization → discopop-3.1.1/discopop_library/discopop_optimizer/gui/queries}/__init__.py +0 -0
  280. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/discopop_optimizer/gui/widgets/ScrollableFrame.py +0 -0
  281. {discopop-3.0.0/discopop_library/discopop_optimizer/utilities/visualization → discopop-3.1.1/discopop_library/discopop_optimizer/gui/widgets}/__init__.py +0 -0
  282. {discopop-3.0.0/discopop_library/global_data → discopop-3.1.1/discopop_library/discopop_optimizer/scheduling}/__init__.py +0 -0
  283. {discopop-3.0.0/discopop_library/global_data/version → discopop-3.1.1/discopop_library/discopop_optimizer/suggestions}/__init__.py +0 -0
  284. {discopop-3.0.0/discopop_library/result_classes → discopop-3.1.1/discopop_library/discopop_optimizer/suggestions/importers}/__init__.py +0 -0
  285. {discopop-3.0.0/discopop_wizard → discopop-3.1.1/discopop_library/discopop_optimizer/utilities}/__init__.py +0 -0
  286. {discopop-3.0.0/discopop_wizard/assets → discopop-3.1.1/discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization}/__init__.py +0 -0
  287. {discopop-3.0.0/discopop_wizard/assets/icons → discopop-3.1.1/discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization}/__init__.py +0 -0
  288. {discopop-3.0.0/discopop_wizard/classes → discopop-3.1.1/discopop_library/discopop_optimizer/utilities/optimization}/__init__.py +0 -0
  289. {discopop-3.0.0/discopop_wizard/headless → discopop-3.1.1/discopop_library/discopop_optimizer/utilities/visualization}/__init__.py +0 -0
  290. {discopop-3.0.0/discopop_wizard/screens → discopop-3.1.1/discopop_library/global_data}/__init__.py +0 -0
  291. {discopop-3.0.0/discopop_wizard/screens/optimizer → discopop-3.1.1/discopop_library/global_data/version}/__init__.py +0 -0
  292. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/global_data/version/utils.py +0 -0
  293. {discopop-3.0.0 → discopop-3.1.1}/discopop_library/py.typed +0 -0
  294. {discopop-3.0.0/discopop_wizard/screens/suggestions → discopop-3.1.1/discopop_library/result_classes}/__init__.py +0 -0
  295. {discopop-3.0.0 → discopop-3.1.1}/setup.cfg +0 -0
  296. {discopop-3.0.0/discopop_wizard/screens/widgets → discopop-3.1.1/test}/__init__.py +0 -0
  297. {discopop-3.0.0/test → discopop-3.1.1/test/do_all}/__init__.py +0 -0
  298. {discopop-3.0.0/test/do_all → discopop-3.1.1/test/do_all/daxpy}/__init__.py +0 -0
  299. {discopop-3.0.0/test/do_all/daxpy → discopop-3.1.1/test/optimizer}/__init__.py +0 -0
  300. {discopop-3.0.0/test/utils → discopop-3.1.1/test/optimizer/loop_collapse}/__init__.py +0 -0
  301. {discopop-3.0.0/test/utils/validator_classes → discopop-3.1.1/test/optimizer/loop_collapse/negative}/__init__.py +0 -0
  302. {discopop-3.0.0 → discopop-3.1.1}/test/utils/validator_classes/DoAllInfoForValidation.py +0 -0
@@ -10,12 +10,12 @@ import argparse
10
10
  import os
11
11
  from os.path import dirname
12
12
 
13
- from discopop_wizard.classes.Arguments import Arguments
14
- from discopop_wizard.headless.headless_execution import (
13
+ from DEPRECATED_discopop_wizard.classes.Arguments import Arguments
14
+ from DEPRECATED_discopop_wizard.headless.headless_execution import (
15
15
  execute_all_stored_configurations,
16
16
  execute_tag_filtered_configurations,
17
17
  )
18
- from discopop_wizard.wizard import main as wizard_main
18
+ from DEPRECATED_discopop_wizard.wizard import main as wizard_main
19
19
 
20
20
 
21
21
  def convert_args(namespace_args: argparse.Namespace) -> Arguments:
@@ -17,13 +17,13 @@ from typing import TextIO, List, Dict, Tuple, Any
17
17
 
18
18
  import jsons # type:ignore
19
19
 
20
- from discopop_wizard.screens.execution import ExecutionView
21
- from discopop_wizard.screens.optimizer.binding import create_optimizer_screen
22
- from discopop_wizard.screens.suggestions.overview import (
20
+ from DEPRECATED_discopop_wizard.screens.execution import ExecutionView
21
+ from DEPRECATED_discopop_wizard.screens.optimizer.binding import create_optimizer_screen
22
+ from DEPRECATED_discopop_wizard.screens.suggestions.overview import (
23
23
  show_suggestions_overview_screen,
24
24
  get_suggestion_objects,
25
25
  )
26
- from discopop_wizard.screens.utils import create_tool_tip
26
+ from DEPRECATED_discopop_wizard.screens.utils import create_tool_tip
27
27
 
28
28
 
29
29
  class ExecutionConfiguration(object):
@@ -14,7 +14,7 @@ from tkinter import ttk
14
14
  from typing import Any, Dict, List, Tuple
15
15
 
16
16
  from discopop_library.CodeGenerator.classes.UnpackedSuggestion import UnpackedSuggestion
17
- from discopop_wizard.classes.CodePreview import CodePreviewContentBuffer
17
+ from DEPRECATED_discopop_wizard.classes.CodePreview import CodePreviewContentBuffer
18
18
 
19
19
 
20
20
  class PragmaType(IntEnum):
@@ -9,11 +9,11 @@
9
9
  import os
10
10
  from typing import List, Tuple
11
11
 
12
- from discopop_wizard.classes.Arguments import Arguments
13
- from discopop_wizard.classes.ExecutionConfiguration import ExecutionConfiguration
14
- from discopop_wizard.classes.Settings import load_from_config_file, Settings
15
- from discopop_wizard.screens.execution import ExecutionView
16
- from discopop_wizard.wizard import DiscoPoPConfigurationWizard
12
+ from DEPRECATED_discopop_wizard.classes.Arguments import Arguments
13
+ from DEPRECATED_discopop_wizard.classes.ExecutionConfiguration import ExecutionConfiguration
14
+ from DEPRECATED_discopop_wizard.classes.Settings import load_from_config_file, Settings
15
+ from DEPRECATED_discopop_wizard.screens.execution import ExecutionView
16
+ from DEPRECATED_discopop_wizard.wizard import DiscoPoPConfigurationWizard
17
17
 
18
18
 
19
19
  def execute_all_stored_configurations(args: Arguments, source_dir: str):
@@ -10,8 +10,8 @@ import subprocess
10
10
  import tkinter as tk
11
11
  from typing import Optional, cast
12
12
 
13
- from discopop_wizard.classes.ProfilingContainer import ProfilingContainer
14
- from discopop_wizard.screens.suggestions.overview import show_suggestions_overview_screen
13
+ from DEPRECATED_discopop_wizard.classes.ProfilingContainer import ProfilingContainer
14
+ from DEPRECATED_discopop_wizard.screens.suggestions.overview import show_suggestions_overview_screen
15
15
 
16
16
 
17
17
  class ExecutionView(object):
@@ -10,9 +10,9 @@ import tkinter as tk
10
10
  from tkinter import ttk
11
11
  from typing import List
12
12
 
13
- from discopop_wizard.classes.ExecutionConfiguration import ExecutionConfiguration
14
- from discopop_wizard.screens.settings import show_settings_screen
15
- from discopop_wizard.utils import support_scrolling
13
+ from DEPRECATED_discopop_wizard.classes.ExecutionConfiguration import ExecutionConfiguration
14
+ from DEPRECATED_discopop_wizard.screens.settings import show_settings_screen
15
+ from DEPRECATED_discopop_wizard.utils import support_scrolling
16
16
 
17
17
 
18
18
  class MainScreen(object):
@@ -7,9 +7,9 @@
7
7
  # directory for details.
8
8
  import tkinter as tk
9
9
  from tkinter import filedialog
10
+ import warnings
10
11
 
11
12
  from discopop_library.PathManagement.PathManagement import get_path
12
- from discopop_library.discopop_optimizer.__main__ import start_optimizer
13
13
 
14
14
 
15
15
  def create_optimizer_screen(wizard, parent_frame, execution_configuration):
@@ -141,4 +141,5 @@ def __start_optimizer(
141
141
  for c in parent_frame.winfo_children():
142
142
  c.destroy()
143
143
 
144
- start_optimizer(arguments, parent_frame=parent_frame)
144
+ # start_optimizer(arguments, parent_frame=parent_frame)
145
+ warnings.warn("TODO: BINDING TO OPTIMIZER CURRENTLY NOT IMPLEMENTED!")
@@ -10,7 +10,7 @@ import tkinter as tk
10
10
  from tkinter import filedialog
11
11
  from tkinter import ttk
12
12
 
13
- from discopop_wizard.screens.utils import create_tool_tip
13
+ from DEPRECATED_discopop_wizard.screens.utils import create_tool_tip
14
14
 
15
15
 
16
16
  def show_settings_screen(wizard):
@@ -11,10 +11,10 @@ import tkinter as tk
11
11
  from tkinter import ttk
12
12
  from typing import List
13
13
 
14
- from discopop_wizard.classes.Suggestion import Suggestion
15
- from discopop_wizard.screens.utils import create_tool_tip
16
- from discopop_wizard.screens.widgets.ScrollableText import ScrollableTextWidget
17
- from discopop_wizard.utils import support_scrolling
14
+ from DEPRECATED_discopop_wizard.classes.Suggestion import Suggestion
15
+ from DEPRECATED_discopop_wizard.screens.utils import create_tool_tip
16
+ from DEPRECATED_discopop_wizard.screens.widgets.ScrollableText import ScrollableTextWidget
17
+ from DEPRECATED_discopop_wizard.utils import support_scrolling
18
18
 
19
19
 
20
20
  def show_suggestions_overview_screen(wizard, details_frame: tk.Frame, execution_configuration_obj):
@@ -17,17 +17,17 @@ from tkinter import messagebox, filedialog
17
17
  from tkinter import ttk
18
18
  from typing import Optional
19
19
 
20
- from discopop_wizard.classes.Arguments import Arguments
21
- from discopop_wizard.classes.Console import Console
22
- from discopop_wizard.classes.ProfilingContainer import ProfilingContainer
23
- from discopop_wizard.classes.Settings import Settings, load_from_config_file
24
- from discopop_wizard.classes.TKVarStorage import TKVarStorage
25
- from discopop_wizard.screens.main import MainScreen
20
+ from DEPRECATED_discopop_wizard.classes.Arguments import Arguments
21
+ from DEPRECATED_discopop_wizard.classes.Console import Console
22
+ from DEPRECATED_discopop_wizard.classes.ProfilingContainer import ProfilingContainer
23
+ from DEPRECATED_discopop_wizard.classes.Settings import Settings, load_from_config_file
24
+ from DEPRECATED_discopop_wizard.classes.TKVarStorage import TKVarStorage
25
+ from DEPRECATED_discopop_wizard.screens.main import MainScreen
26
26
 
27
27
  # todo add command line option to list available run configurations
28
28
  # todo add command line option to execute run configuration (by name)
29
- from discopop_wizard.screens.settings import show_settings_screen
30
- from discopop_wizard.utils import get_platform, Platform
29
+ from DEPRECATED_discopop_wizard.screens.settings import show_settings_screen
30
+ from DEPRECATED_discopop_wizard.utils import get_platform, Platform
31
31
 
32
32
 
33
33
  def main(arguments: Arguments):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: discopop
3
- Version: 3.0.0
3
+ Version: 3.1.1
4
4
  Summary: DiscoPoP is a tool that helps software developers parallelize their programs with threads. It discovers potential parallelism in a sequential program and makes recommendations on how to exploit it.
5
5
  Home-page: https://www.discopop.tu-darmstadt.de/
6
6
  Author: TU Darmstadt and Iowa State University
@@ -0,0 +1,85 @@
1
+ <!--
2
+ /*
3
+ * This file is part of the DiscoPoP software (http://www.discopop.tu-darmstadt.de)
4
+ *
5
+ * Copyright (c) 2020, Technische Universitaet Darmstadt, Germany
6
+ *
7
+ * This software may be modified and distributed under the terms of
8
+ * the 3-Clause BSD License. See the LICENSE file in the package base
9
+ * directory for details.
10
+ *
11
+ */
12
+ -->
13
+
14
+ # DiscoPoP - Discovery of Potential Parallelism
15
+ DiscoPoP is an open-source tool that helps software developers parallelize their programs with threads. It is a joint project of the [Laboratory for Parallel Programming @ TU Darmstadt](https://github.com/tuda-parallel) and the Iowa State University.
16
+
17
+ In a nutshell, DiscoPoP performs the following steps:
18
+ * detect parts of the code (computational units or CUs) with little to no internal parallelization potential,
19
+ * find data dependences among them,
20
+ * identify parallel patterns that can be used to parallelize a code region,
21
+ * and finally suggest corresponding OpenMP parallelization constructs and clauses to programmers.
22
+
23
+ DiscoPoP is built on top of LLVM. Therefore, DiscoPoP can perform the above-mentioned steps on any source code which can be transferred into the LLVM IR.
24
+
25
+ A more comprehensive overview of DiscoPoP can be found on our [project website](https://www.discopop.tu-darmstadt.de/).
26
+
27
+ ## Getting started
28
+ Follow the steps in [setup](https://discopop-project.github.io/discopop/setup/discopop/) to install DiscoPoP.
29
+ To setup the [Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=TUDarmstadt-LaboratoryforParallelProgramming.discopop) (recommended for general use of the framework), please follow [these steps](https://discopop-project.github.io/discopop/setup/vscx/).
30
+
31
+ For a brief introduction into the [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=TUDarmstadt-LaboratoryforParallelProgramming.discopop), please follow the [walk-through example](https://discopop-project.github.io/discopop/examples/walk_through_gui/).
32
+ For a brief introduction into the command line tools, please refer to the [tools overview](https://discopop-project.github.io/discopop/Tools) and follow the [command-line walk-through example](https://discopop-project.github.io/discopop/examples/walk_through/).
33
+
34
+ For detailed information on the gathered and stored data as well as the tools themselves, please refer to [data](https://discopop-project.github.io/discopop/Data) and the pages of the individual tools in the [tools overview](https://discopop-project.github.io/discopop/Tools).
35
+
36
+ ## TL;DR
37
+ This example installs DiscoPoP, instruments and builds the provided example, analyzes the results and prints the identified parallelization suggestions to the console.
38
+ In case any issues arise during the process, please refer to the detailed [setup instructions](https://discopop-project.github.io/discopop/Setup), contact us via GitHub messages, or get in contact by mail to [discopop-support@lists.parallel.informatik.tu-darmstadt.de](mailto:discopop-support@lists.parallel.informatik.tu-darmstadt.de).
39
+ ```
40
+ # setup DiscoPoP
41
+ git clone git@github.com:discopop-project/discopop.git
42
+ cd discopop
43
+ mkdir build && cd build
44
+ DP_BUILD=$(pwd)
45
+ cmake .. && make
46
+ # instrument and build the example code
47
+ cd ../example
48
+ mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=${DP_BUILD}/scripts/CXX_wrapper.sh .. && make
49
+ # execute instrumented code
50
+ ./cmake_example
51
+ # identify parallel patterns
52
+ cd .discopop
53
+ discopop_explorer
54
+ # create applicable patches from patterns
55
+ discopop_patch_generator
56
+ # print patches to the console
57
+ for f in $(find patch_generator -maxdepth 1 -type d); do
58
+ echo "SUGGESTION: $f"
59
+ cat $f/1.patch
60
+ echo ""
61
+ done
62
+ # apply patch with id 1
63
+ discopop_patch_applicator -a 1
64
+ # reset code to the original state
65
+ discopop_patch_applicator -C
66
+ ```
67
+
68
+
69
+ ## Exemplary output
70
+ The following is an automatically generated, exemplary output patch file generated and applicable as show in the provided [examples](https://discopop-project.github.io/discopop/Examples).
71
+ ```
72
+ --- /home/lukas/temp/discopop_tmp/discopop/example/example.cpp 2024-01-09 10:11:50.369555235 +0100
73
+ +++ /home/lukas/temp/discopop_tmp/discopop/example/example.cpp.discopop_patch_generator.temp 2024-01-09 11:14:20.904823624 +0100
74
+ @@ -20,6 +20,7 @@
75
+ Arr[i] = i % 13;
76
+ }
77
+
78
+ + #pragma omp parallel for shared(Arr,N) reduction(+:sum)
79
+ for(int i = 0; i < N; i++){
80
+ sum += Arr[i];
81
+ }
82
+ ```
83
+
84
+ ## License
85
+ © DiscoPoP is available under the terms of the BSD-3-Clause license, as specified in the LICENSE file.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: discopop
3
- Version: 3.0.0
3
+ Version: 3.1.1
4
4
  Summary: DiscoPoP is a tool that helps software developers parallelize their programs with threads. It discovers potential parallelism in a sequential program and makes recommendations on how to exploit it.
5
5
  Home-page: https://www.discopop.tu-darmstadt.de/
6
6
  Author: TU Darmstadt and Iowa State University
@@ -3,6 +3,38 @@ MANIFEST.in
3
3
  README.md
4
4
  requirements.txt
5
5
  setup.py
6
+ DEPRECATED_discopop_profiler/__init__.py
7
+ DEPRECATED_discopop_profiler/__main__.py
8
+ DEPRECATED_discopop_profiler/utils.py
9
+ DEPRECATED_discopop_wizard/__init__.py
10
+ DEPRECATED_discopop_wizard/__main__.py
11
+ DEPRECATED_discopop_wizard/utils.py
12
+ DEPRECATED_discopop_wizard/wizard.py
13
+ DEPRECATED_discopop_wizard/assets/__init__.py
14
+ DEPRECATED_discopop_wizard/assets/icons/__init__.py
15
+ DEPRECATED_discopop_wizard/classes/Arguments.py
16
+ DEPRECATED_discopop_wizard/classes/CodePreview.py
17
+ DEPRECATED_discopop_wizard/classes/Console.py
18
+ DEPRECATED_discopop_wizard/classes/ExecutionConfiguration.py
19
+ DEPRECATED_discopop_wizard/classes/Pragma.py
20
+ DEPRECATED_discopop_wizard/classes/ProfilingContainer.py
21
+ DEPRECATED_discopop_wizard/classes/Settings.py
22
+ DEPRECATED_discopop_wizard/classes/Suggestion.py
23
+ DEPRECATED_discopop_wizard/classes/TKVarStorage.py
24
+ DEPRECATED_discopop_wizard/classes/__init__.py
25
+ DEPRECATED_discopop_wizard/headless/__init__.py
26
+ DEPRECATED_discopop_wizard/headless/headless_execution.py
27
+ DEPRECATED_discopop_wizard/screens/__init__.py
28
+ DEPRECATED_discopop_wizard/screens/execution.py
29
+ DEPRECATED_discopop_wizard/screens/main.py
30
+ DEPRECATED_discopop_wizard/screens/settings.py
31
+ DEPRECATED_discopop_wizard/screens/utils.py
32
+ DEPRECATED_discopop_wizard/screens/optimizer/__init__.py
33
+ DEPRECATED_discopop_wizard/screens/optimizer/binding.py
34
+ DEPRECATED_discopop_wizard/screens/suggestions/__init__.py
35
+ DEPRECATED_discopop_wizard/screens/suggestions/overview.py
36
+ DEPRECATED_discopop_wizard/screens/widgets/ScrollableText.py
37
+ DEPRECATED_discopop_wizard/screens/widgets/__init__.py
6
38
  discopop.egg-info/PKG-INFO
7
39
  discopop.egg-info/SOURCES.txt
8
40
  discopop.egg-info/dependency_links.txt
@@ -10,16 +42,18 @@ discopop.egg-info/entry_points.txt
10
42
  discopop.egg-info/requires.txt
11
43
  discopop.egg-info/top_level.txt
12
44
  discopop.egg-info/zip-safe
13
- discopop_explorer/PETGraphX.py
45
+ discopop_explorer/PEGraphX.py
14
46
  discopop_explorer/__init__.py
15
47
  discopop_explorer/__main__.py
16
48
  discopop_explorer/discopop_explorer.py
17
49
  discopop_explorer/generate_Data_CUInst.py
18
50
  discopop_explorer/json_serializer.py
51
+ discopop_explorer/parallel_utils.py
19
52
  discopop_explorer/parser.py
20
53
  discopop_explorer/pattern_detection.py
21
54
  discopop_explorer/utils.py
22
55
  discopop_explorer/variable.py
56
+ discopop_explorer/pattern_detectors/PatternBase.py
23
57
  discopop_explorer/pattern_detectors/PatternInfo.py
24
58
  discopop_explorer/pattern_detectors/__init__.py
25
59
  discopop_explorer/pattern_detectors/device_updates.py
@@ -71,14 +105,18 @@ discopop_explorer/test/__init__.py
71
105
  discopop_library/__init__.py
72
106
  discopop_library/py.typed
73
107
  discopop_library/CodeGenerator/CodeGenerator.py
108
+ discopop_library/CodeGenerator/CodeGeneratorArguments.py
74
109
  discopop_library/CodeGenerator/__init__.py
75
- discopop_library/CodeGenerator/__main__.py
76
110
  discopop_library/CodeGenerator/classes/ContentBuffer.py
77
111
  discopop_library/CodeGenerator/classes/Enums.py
78
112
  discopop_library/CodeGenerator/classes/Line.py
79
113
  discopop_library/CodeGenerator/classes/Pragma.py
80
114
  discopop_library/CodeGenerator/classes/UnpackedSuggestion.py
81
115
  discopop_library/CodeGenerator/classes/__init__.py
116
+ discopop_library/ConfigProvider/ConfigProviderArguments.py
117
+ discopop_library/ConfigProvider/__main__.py
118
+ discopop_library/ConfigProvider/config_provider.py
119
+ discopop_library/ConfigProvider/assets/.gitignore
82
120
  discopop_library/JSONHandler/JSONHandler.py
83
121
  discopop_library/JSONHandler/__init__.py
84
122
  discopop_library/LineMapping/__init__.py
@@ -101,14 +139,18 @@ discopop_library/PatchGenerator/PatchGeneratorArguments.py
101
139
  discopop_library/PatchGenerator/__init__.py
102
140
  discopop_library/PatchGenerator/__main__.py
103
141
  discopop_library/PatchGenerator/diffs.py
142
+ discopop_library/PatchGenerator/from_json_patterns.py
143
+ discopop_library/PatchGenerator/from_optimizer_output.py
104
144
  discopop_library/PatchGenerator/patch_generator.py
105
145
  discopop_library/PathManagement/PathManagement.py
106
146
  discopop_library/PathManagement/__init__.py
147
+ discopop_library/PatternIdManagement/unique_pattern_id.py
107
148
  discopop_library/__pycache__/__init__.cpython-38.pyc
108
149
  discopop_library/discopop_optimizer/OptimizationGraph.py
150
+ discopop_library/discopop_optimizer/OptimizerArguments.py
109
151
  discopop_library/discopop_optimizer/__init__.py
110
152
  discopop_library/discopop_optimizer/__main__.py
111
- discopop_library/discopop_optimizer/requirements.txt
153
+ discopop_library/discopop_optimizer/optimizer.py
112
154
  discopop_library/discopop_optimizer/CostModels/CostModel.py
113
155
  discopop_library/discopop_optimizer/CostModels/__init__.py
114
156
  discopop_library/discopop_optimizer/CostModels/utilities.py
@@ -129,11 +171,13 @@ discopop_library/discopop_optimizer/PETParser/__init__.py
129
171
  discopop_library/discopop_optimizer/PETParser/DataAccesses/CalculateUpdates.py
130
172
  discopop_library/discopop_optimizer/PETParser/DataAccesses/FromCUs.py
131
173
  discopop_library/discopop_optimizer/PETParser/DataAccesses/__init__.py
174
+ discopop_library/discopop_optimizer/UpdateOptimization/LoopInitializationUpdates.py
175
+ discopop_library/discopop_optimizer/UpdateOptimization/RemoveDuplicatedUpdates.py
176
+ discopop_library/discopop_optimizer/UpdateOptimization/RemoveLoopIndexUpdates.py
177
+ discopop_library/discopop_optimizer/UpdateOptimization/main.py
132
178
  discopop_library/discopop_optimizer/Variables/Experiment.py
133
179
  discopop_library/discopop_optimizer/Variables/ExperimentUtils.py
134
180
  discopop_library/discopop_optimizer/Variables/__init__.py
135
- discopop_library/discopop_optimizer/bindings/CodeGenerator.py
136
- discopop_library/discopop_optimizer/bindings/CodeStorageObject.py
137
181
  discopop_library/discopop_optimizer/bindings/__init__.py
138
182
  discopop_library/discopop_optimizer/bindings/utilities.py
139
183
  discopop_library/discopop_optimizer/classes/__init__.py
@@ -144,6 +188,7 @@ discopop_library/discopop_optimizer/classes/context/__init__.py
144
188
  discopop_library/discopop_optimizer/classes/edges/ChildEdge.py
145
189
  discopop_library/discopop_optimizer/classes/edges/DataFlowEdge.py
146
190
  discopop_library/discopop_optimizer/classes/edges/GenericEdge.py
191
+ discopop_library/discopop_optimizer/classes/edges/MutuallyExclusiveEdge.py
147
192
  discopop_library/discopop_optimizer/classes/edges/OptionEdge.py
148
193
  discopop_library/discopop_optimizer/classes/edges/RequirementEdge.py
149
194
  discopop_library/discopop_optimizer/classes/edges/SuccessorEdge.py
@@ -165,15 +210,15 @@ discopop_library/discopop_optimizer/classes/nodes/__init__.py
165
210
  discopop_library/discopop_optimizer/classes/system/Network.py
166
211
  discopop_library/discopop_optimizer/classes/system/System.py
167
212
  discopop_library/discopop_optimizer/classes/system/__init__.py
213
+ discopop_library/discopop_optimizer/classes/system/system_utils.py
168
214
  discopop_library/discopop_optimizer/classes/system/devices/CPU.py
169
215
  discopop_library/discopop_optimizer/classes/system/devices/Device.py
216
+ discopop_library/discopop_optimizer/classes/system/devices/DeviceTypeEnum.py
170
217
  discopop_library/discopop_optimizer/classes/system/devices/GPU.py
171
218
  discopop_library/discopop_optimizer/classes/system/devices/__init__.py
172
219
  discopop_library/discopop_optimizer/classes/types/Aliases.py
173
220
  discopop_library/discopop_optimizer/classes/types/DataAccessType.py
174
221
  discopop_library/discopop_optimizer/classes/types/__init__.py
175
- discopop_library/discopop_optimizer/execution/__init__.py
176
- discopop_library/discopop_optimizer/execution/stored_models.py
177
222
  discopop_library/discopop_optimizer/gui/__init__.py
178
223
  discopop_library/discopop_optimizer/gui/plotting/CostModels.py
179
224
  discopop_library/discopop_optimizer/gui/plotting/__init__.py
@@ -184,15 +229,22 @@ discopop_library/discopop_optimizer/gui/queries/ValueTableQuery.py
184
229
  discopop_library/discopop_optimizer/gui/queries/__init__.py
185
230
  discopop_library/discopop_optimizer/gui/widgets/ScrollableFrame.py
186
231
  discopop_library/discopop_optimizer/gui/widgets/__init__.py
232
+ discopop_library/discopop_optimizer/optimization/evaluate.py
233
+ discopop_library/discopop_optimizer/optimization/evaluate_all_decision_combinations.py
234
+ discopop_library/discopop_optimizer/optimization/evolutionary_algorithm.py
235
+ discopop_library/discopop_optimizer/optimization/validation.py
187
236
  discopop_library/discopop_optimizer/scheduling/__init__.py
188
237
  discopop_library/discopop_optimizer/scheduling/workload_delta.py
189
238
  discopop_library/discopop_optimizer/suggestions/__init__.py
190
239
  discopop_library/discopop_optimizer/suggestions/importers/__init__.py
191
- discopop_library/discopop_optimizer/suggestions/importers/base.py
192
240
  discopop_library/discopop_optimizer/suggestions/importers/do_all.py
241
+ discopop_library/discopop_optimizer/suggestions/importers/main.py
193
242
  discopop_library/discopop_optimizer/suggestions/importers/reduction.py
243
+ discopop_library/discopop_optimizer/suggestions/optimizers/loop_collapse.py
244
+ discopop_library/discopop_optimizer/suggestions/optimizers/main.py
194
245
  discopop_library/discopop_optimizer/utilities/MOGUtilities.py
195
246
  discopop_library/discopop_optimizer/utilities/__init__.py
247
+ discopop_library/discopop_optimizer/utilities/simple_utilities.py
196
248
  discopop_library/discopop_optimizer/utilities/optimization/__init__.py
197
249
  discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization/RandomSamples.py
198
250
  discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization/__init__.py
@@ -200,6 +252,7 @@ discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization/Top
200
252
  discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization/__init__.py
201
253
  discopop_library/discopop_optimizer/utilities/visualization/__init__.py
202
254
  discopop_library/discopop_optimizer/utilities/visualization/plotting.py
255
+ discopop_library/discopop_optimizer/utilities/visualization/update_graph.py
203
256
  discopop_library/global_data/__init__.py
204
257
  discopop_library/global_data/__pycache__/__init__.cpython-38.pyc
205
258
  discopop_library/global_data/version/VERSION
@@ -208,45 +261,21 @@ discopop_library/global_data/version/utils.py
208
261
  discopop_library/global_data/version/__pycache__/__init__.cpython-38.pyc
209
262
  discopop_library/global_data/version/__pycache__/utils.cpython-38.pyc
210
263
  discopop_library/result_classes/DetectionResult.py
264
+ discopop_library/result_classes/OptimizerOutputPattern.py
265
+ discopop_library/result_classes/PatternStorage.py
211
266
  discopop_library/result_classes/__init__.py
212
- discopop_profiler/__init__.py
213
- discopop_profiler/__main__.py
214
- discopop_profiler/utils.py
215
- discopop_wizard/__init__.py
216
- discopop_wizard/__main__.py
217
- discopop_wizard/utils.py
218
- discopop_wizard/wizard.py
219
- discopop_wizard/assets/__init__.py
220
- discopop_wizard/assets/icons/__init__.py
221
- discopop_wizard/assets/icons/discoPoP_128x128.png
222
- discopop_wizard/assets/profiling_container/Dockerfile
223
- discopop_wizard/classes/Arguments.py
224
- discopop_wizard/classes/CodePreview.py
225
- discopop_wizard/classes/Console.py
226
- discopop_wizard/classes/ExecutionConfiguration.py
227
- discopop_wizard/classes/Pragma.py
228
- discopop_wizard/classes/ProfilingContainer.py
229
- discopop_wizard/classes/Settings.py
230
- discopop_wizard/classes/Suggestion.py
231
- discopop_wizard/classes/TKVarStorage.py
232
- discopop_wizard/classes/__init__.py
233
- discopop_wizard/headless/__init__.py
234
- discopop_wizard/headless/headless_execution.py
235
- discopop_wizard/screens/__init__.py
236
- discopop_wizard/screens/execution.py
237
- discopop_wizard/screens/main.py
238
- discopop_wizard/screens/settings.py
239
- discopop_wizard/screens/utils.py
240
- discopop_wizard/screens/optimizer/__init__.py
241
- discopop_wizard/screens/optimizer/binding.py
242
- discopop_wizard/screens/suggestions/__init__.py
243
- discopop_wizard/screens/suggestions/overview.py
244
- discopop_wizard/screens/widgets/ScrollableText.py
245
- discopop_wizard/screens/widgets/__init__.py
246
267
  test/__init__.py
247
268
  test/do_all/__init__.py
248
269
  test/do_all/daxpy/__init__.py
249
270
  test/do_all/daxpy/test.py
271
+ test/optimizer/__init__.py
272
+ test/optimizer/loop_collapse/__init__.py
273
+ test/optimizer/loop_collapse/negative/__init__.py
274
+ test/optimizer/loop_collapse/negative/simple_1/__init__.py
275
+ test/optimizer/loop_collapse/negative/simple_1/test.py
276
+ test/optimizer/loop_collapse/positive/__init__.py
277
+ test/optimizer/loop_collapse/positive/simple_1/__init__.py
278
+ test/optimizer/loop_collapse/positive/simple_1/test.py
250
279
  test/utils/__init__.py
251
280
  test/utils/validator_classes/DoAllInfoForValidation.py
252
281
  test/utils/validator_classes/__init__.py
@@ -1,9 +1,9 @@
1
1
  [console_scripts]
2
- discopop_code_generator = discopop_library.CodeGenerator.__main__:main
2
+ DEPRECATED_discopop_profiler = DEPRECATED_discopop_profiler.__main__:main
3
+ DEPRECATED_discopop_wizard = DEPRECATED_discopop_wizard.__main__:main
4
+ discopop_config_provider = discopop_library.ConfigProvider.__main__:main
3
5
  discopop_explorer = discopop_explorer.__main__:main
4
6
  discopop_optimizer = discopop_library.discopop_optimizer.__main__:main
5
7
  discopop_patch_applicator = discopop_library.PatchApplicator.__main__:main
6
8
  discopop_patch_generator = discopop_library.PatchGenerator.__main__:main
7
- discopop_profiler = discopop_profiler.__main__:main
8
- discopop_wizard = discopop_wizard.__main__:main
9
9
 
@@ -1,5 +1,5 @@
1
1
  contextlib2>=0.5.5
2
- docopt>=0.6.2
2
+ argparse
3
3
  extrap
4
4
  jsonpickle
5
5
  jsons
@@ -13,6 +13,7 @@ schema>=0.7.0
13
13
  sympy
14
14
  sympy_plot_backends
15
15
  alive_progress
16
+ filelock
16
17
 
17
18
  [ci]
18
19
  mypy
@@ -0,0 +1,5 @@
1
+ DEPRECATED_discopop_profiler
2
+ DEPRECATED_discopop_wizard
3
+ discopop_explorer
4
+ discopop_library
5
+ test