discopop 3.2.0__tar.gz → 4.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {discopop-3.2.0/discopop.egg-info → discopop-4.0.0}/PKG-INFO +1 -1
- {discopop-3.2.0 → discopop-4.0.0/discopop.egg-info}/PKG-INFO +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop.egg-info/SOURCES.txt +244 -127
- {discopop-3.2.0 → discopop-4.0.0}/discopop.egg-info/entry_points.txt +1 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop.egg-info/requires.txt +1 -0
- discopop-4.0.0/discopop.egg-info/top_level.txt +3 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/__main__.py +8 -4
- discopop-4.0.0/discopop_explorer/aliases/LineID.py +27 -0
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/Arguments.py → discopop-4.0.0/discopop_explorer/aliases/MemoryRegion.py +6 -5
- discopop-4.0.0/discopop_explorer/aliases/NodeID.py +27 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/CUNode.py +31 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/Dependency.py +45 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/DummyNode.py +24 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/FunctionNode.py +169 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/LoopNode.py +86 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/Node.py +97 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/NodeT.py +15 -0
- discopop-4.0.0/discopop_explorer/classes/PEGraph/PEGraphX.py +548 -0
- {discopop-3.2.0/discopop_explorer/pattern_detectors → discopop-4.0.0/discopop_explorer/classes/patterns}/PatternBase.py +4 -2
- {discopop-3.2.0/discopop_explorer/pattern_detectors → discopop-4.0.0/discopop_explorer/classes/patterns}/PatternInfo.py +5 -5
- {discopop-3.2.0/discopop_explorer → discopop-4.0.0/discopop_explorer/classes}/variable.py +10 -7
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/discopop_explorer.py +132 -110
- discopop-4.0.0/discopop_explorer/enums/DepType.py +17 -0
- discopop-4.0.0/discopop_explorer/enums/EdgeType.py +19 -0
- discopop-4.0.0/discopop_explorer/enums/MWType.py +19 -0
- discopop-4.0.0/discopop_explorer/enums/NodeType.py +17 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/output/gephi.py +32 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/output/json.py +23 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/check_reachability.py +37 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/depends_ignore_readonly.py +75 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/is_loop_index.py +44 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/is_passed_by_reference.py +20 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/is_predecessor.py +52 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/is_readonly_inside_loop_body.py +53 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/is_reduction_var_by_name.py +23 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/properties/is_scalar_val.py +25 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/edges.py +49 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/memory_regions.py +26 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/nodes.py +32 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/paths.py +80 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/reductions.py +22 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/subtree.py +107 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/queries/variables.py +116 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/traversal/children.py +48 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/traversal/parent.py +43 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/traversal/successors.py +27 -0
- discopop-4.0.0/discopop_explorer/functions/PEGraph/unused/unused_functions.py +114 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/json_serializer.py +6 -7
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/parallel_utils.py +15 -7
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detection.py +56 -51
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/CombinedGPURegions.py +38 -24
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Dependency.py +3 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/EntryPoint.py +18 -11
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/ExitPoint.py +19 -11
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Update.py +36 -22
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/combined_gpu_pattern_detector.py +8 -4
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/prepare_metadata.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_1.py +21 -12
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_2.py +35 -27
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_3.py +16 -9
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_4.py +48 -40
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_5.py +5 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/step_6.py +80 -24
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/utilities.py +10 -9
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/device_updates.py +6 -6
- discopop-4.0.0/discopop_explorer/pattern_detectors/do_all_detector.py +516 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/geometric_decomposition_detector.py +36 -21
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/pipeline_detector.py +51 -39
- discopop-4.0.0/discopop_explorer/pattern_detectors/reduction_detector.py +410 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/simple_gpu_patterns/GPULoop.py +55 -44
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/simple_gpu_patterns/GPUMemory.py +13 -12
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/simple_gpu_patterns/GPURegions.py +32 -29
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/simple_gpu_patterns/gpu_pattern_detector.py +12 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/simple_gpu_patterns/utils.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/alias_detection.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/classes.py +26 -14
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/filter.py +32 -18
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/postprocessor.py +8 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/preprocessor.py +17 -14
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/auxiliary.py +7 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/barriers.py +22 -14
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/data_sharing_clauses.py +6 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/dependency_clauses.py +46 -36
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/tasks.py +34 -25
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/task_parallelism_detector.py +18 -10
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/tp_utils.py +37 -32
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/plugins/pipeline.py +28 -20
- discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction/PEGraphConstructionUtilities.py +168 -0
- discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction/ParserUtilities.py +16 -0
- discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction/classes/DependenceItem.py +22 -0
- discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction/classes/LoopData.py +18 -0
- {discopop-3.2.0/discopop_explorer → discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction}/parser.py +81 -35
- {discopop-3.2.0/discopop_explorer → discopop-4.0.0/discopop_explorer/utilities/general}/generate_Data_CUInst.py +30 -24
- discopop-4.0.0/discopop_explorer/utilities/statistics/collect_statistics.py +125 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/cyclomatic_complexity/boxplot.py +65 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/cyclomatic_complexity/cc_dictionary.py +60 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/cyclomatic_complexity/subtree.py +52 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/cyclomatic_complexity/total.py +32 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/maximum_call_path_depth.py +21 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/num_function_calls.py +24 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/output_statistics.py +259 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/suggestion_call_path_depths.py +23 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/suggestion_cyclomatic_complexity.py +39 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/suggestion_lines_of_code.py +56 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/utilities/call_path_depth.py +39 -0
- discopop-4.0.0/discopop_explorer/utilities/statistics/utilities/num_function_calls.py +34 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/utils.py +285 -96
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/CodeGenerator.py +8 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/CodeGeneratorArguments.py +3 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/classes/ContentBuffer.py +6 -6
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/classes/Line.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/classes/Pragma.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/classes/UnpackedSuggestion.py +29 -16
- discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/ArgumentClasses.py +39 -0
- discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/GEPDependencyRemover.py +56 -0
- discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/Types.py +9 -0
- discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/__main__.py +44 -0
- discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/utils.py +25 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/ConfigProvider/ConfigProviderArguments.py +4 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/ConfigProvider/__main__.py +3 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/ConfigProvider/config_provider.py +12 -0
- discopop-4.0.0/discopop_library/DependencyMetadata/compare_metadata.py +49 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/ArgumentClasses.py +49 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/Autotuner.py +302 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/Classes/CodeConfiguration.py +157 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/Classes/ExecutionResult.py +23 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/Statistics/StatisticsGraph.py +79 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/Types.py +9 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/__main__.py +52 -0
- discopop-4.0.0/discopop_library/EmpiricalAutotuning/utils.py +25 -0
- discopop-4.0.0/discopop_library/FolderStructure/setup.py +76 -0
- discopop-4.0.0/discopop_library/FolderStructure/teardown.py +64 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/GlobalLogger/setup.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/HostpotLoader/HotspotLoaderArguments.py +4 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/HostpotLoader/hostpot_loader.py +12 -15
- discopop-4.0.0/discopop_library/LineMapping/delete.py +16 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/LineMapping/diff_modifications.py +9 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/LineMapping/initialize.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/LineMapping/save.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/MemoryRegions/utils.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/PatchApplicatorArguments.py +2 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/patch_applicator.py +2 -12
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchGenerator/PatchGeneratorArguments.py +2 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchGenerator/__main__.py +11 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchGenerator/from_json_patterns.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchGenerator/from_optimizer_output.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchGenerator/patch_generator.py +4 -20
- discopop-4.0.0/discopop_library/__pycache__/__init__.cpython-38.pyc +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/CostModels/CostModel.py +29 -14
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/CostModels/utilities.py +2 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/DataTransfers/DataTransfers.py +13 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/DataTransfers/NewDataTransfers.py +9 -9
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/DataTransfers/calculate_configuration_data_movement.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/DelaunayInterpolatedMicrobench.py +18 -14
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/ExtrapInterpolatedMicrobench.py +19 -11
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/Microbench.py +3 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/MicrobenchParser.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/MixedMicrobench.py +6 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/PureDataMicrobench.py +14 -14
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/OptimizationGraph.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/OptimizerArguments.py +2 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/PETParser/DataAccesses/FromCUs.py +13 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/PETParser/PETParser.py +113 -78
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/UpdateOptimization/AddRangesToUpdates.py +13 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/UpdateOptimization/RemoveDuplicatedUpdates.py +6 -4
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/UpdateOptimization/RemoveLoopIndexUpdates.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Variables/Experiment.py +13 -9
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Variables/ExperimentUtils.py +8 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/__main__.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/context/ContextObject.py +17 -9
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/context/Update.py +3 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/ContextMerge.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/ContextNode.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/ContextRestore.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/ContextSave.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/ContextSnapshot.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/ContextSnapshotPop.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/DeviceSwitch.py +3 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/FunctionReturn.py +2 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/FunctionRoot.py +12 -4
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/GenericNode.py +19 -7
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/Loop.py +11 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/SynchronizationTrigger.py +3 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/nodes/Workload.py +23 -10
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/Network.py +8 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/System.py +13 -11
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/devices/CPU.py +4 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/devices/Device.py +5 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/devices/GPU.py +7 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/system_utils.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/types/DataAccessType.py +8 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/gui/plotting/CostModels.py +9 -9
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/gui/presentation/ChoiceDetails.py +2 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/gui/presentation/OptionTable.py +5 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/gui/queries/ValueTableQuery.py +3 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/gui/widgets/ScrollableFrame.py +5 -4
- {discopop-3.2.0/DEPRECATED_discopop_wizard/screens → discopop-4.0.0/discopop_library/discopop_optimizer/gui}/widgets/ScrollableText.py +5 -4
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/interactive/interactive_optimizer.py +9 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/optimization/evaluate_all_decision_combinations.py +9 -5
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/optimization/evolutionary_algorithm.py +38 -13
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/optimization/greedy.py +4 -4
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/optimization/validation.py +5 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/optimizer.py +8 -6
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/scheduling/workload_delta.py +12 -10
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/suggestions/importers/do_all.py +3 -3
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/suggestions/importers/reduction.py +6 -2
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/suggestions/optimizers/loop_collapse.py +17 -10
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/MOGUtilities.py +25 -22
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/insert_device_switch_nodes.py +1 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization/RandomSamples.py +7 -1
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/visualization/plotting.py +11 -10
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/visualization/update_graph.py +5 -5
- discopop-4.0.0/discopop_library/global_data/__pycache__/__init__.cpython-38.pyc +0 -0
- discopop-4.0.0/discopop_library/global_data/version/VERSION +1 -0
- discopop-4.0.0/discopop_library/global_data/version/__pycache__/__init__.cpython-38.pyc +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/global_data/version/__pycache__/utils.cpython-38.pyc +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/result_classes/DetectionResult.py +5 -12
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/result_classes/MergedPattern.py +2 -8
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/result_classes/OptimizerOutputPattern.py +6 -6
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/result_classes/PatternStorage.py +3 -3
- {discopop-3.2.0 → discopop-4.0.0}/requirements.txt +4 -4
- {discopop-3.2.0 → discopop-4.0.0}/setup.py +2 -2
- discopop-4.0.0/test/end_to_end/do_all/backwards_array_access/test.py +77 -0
- discopop-4.0.0/test/end_to_end/do_all/calls/above_nesting_level_3/test.py +77 -0
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/calls/allowing/test.py +25 -17
- {discopop-3.2.0/test/do_all/calls/second_order/allowing → discopop-4.0.0/test/end_to_end/do_all/calls/allowing_2}/test.py +25 -17
- discopop-4.0.0/test/end_to_end/do_all/calls/complex/test.py +78 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2/positive/inner_loop_doall → discopop-4.0.0/test/end_to_end/do_all/calls/complex_no_varname_duplicates}/test.py +5 -3
- {discopop-3.2.0/test/do_all/simple/not_nested/negative/minimal → discopop-4.0.0/test/end_to_end/do_all/calls/preventing/simple}/test.py +25 -17
- {discopop-3.2.0/test/do_all/calls/second_order/allowing_2 → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/allowing}/test.py +25 -17
- {discopop-3.2.0/test/do_all/stack_access/various/case_0 → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/allowing_2}/test.py +26 -18
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/calls/second_order/preventing/test.py +25 -17
- {discopop-3.2.0/test/do_all/calls/preventing/simple → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/preventing_2}/test.py +25 -17
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/daxpy/test.py +33 -31
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_struct → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_arrays}/test.py +26 -23
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_arrays → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_struct}/test.py +25 -23
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors/test.py +25 -23
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors_and_struct/test.py +27 -23
- {discopop-3.2.0/test/do_all/stack_access/nested/positive → discopop-4.0.0/test/end_to_end/do_all/simple/nested/depth_2/positive/both_loops_doall}/test.py +26 -19
- {discopop-3.2.0/test/do_all/calls/second_order/preventing_2 → discopop-4.0.0/test/end_to_end/do_all/simple/not_nested/negative/minimal}/test.py +28 -18
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/simple/not_nested/negative/stack_access/test.py +32 -18
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/do_all/simple/not_nested/positive/test.py +25 -17
- discopop-4.0.0/test/end_to_end/do_all/stack_access/nested/positive/test.py +86 -0
- discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_0/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_1/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_2/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_3/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_5/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/access_outside_struct/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/access_outside_struct/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/std_data_types/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/std_data_types/test.py +85 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/template_data_types/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/template_data_types/test.py +85 -0
- discopop-4.0.0/test/end_to_end/optimizer/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/optimizer/loop_collapse/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/optimizer/loop_collapse/positive/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/optimizer/loop_collapse/positive/simple_1/__init__.py +0 -0
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/optimizer/loop_collapse/positive/simple_1/test.py +15 -17
- discopop-4.0.0/test/end_to_end/reduction_pattern/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/reduction_pattern/negative/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/reduction_pattern/negative/case_1/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/reduction_pattern/negative/case_1/test.py +85 -0
- discopop-4.0.0/test/end_to_end/reduction_pattern/positive/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/reduction_pattern/positive/nested/OMPSCR/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/reduction_pattern/positive/nested/OMPSCR/c_Mandelbrot/__init__.py +0 -0
- {discopop-3.2.0/test → discopop-4.0.0/test/end_to_end}/reduction_pattern/positive/nested/OMPSCR/c_Mandelbrot/test.py +21 -20
- discopop-4.0.0/test/end_to_end/reduction_pattern/positive/nested/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/first_private/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/first_private/case_1/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/first_private/case_1/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/last_private/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/last_private/case_1/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/last_private/case_1/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/no_clause/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/no_clause/case_1/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/no_clause/case_1/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/private/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/private/case_1/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/private/case_1/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/private/case_2/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/private/case_2/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/case_1/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/case_1/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/case_2/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/case_2/test.py +82 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/case_3/__init__.py +0 -0
- discopop-4.0.0/test/end_to_end/sharing_clauses/do_all/shared/case_3/test.py +82 -0
- discopop-4.0.0/test/utils/__init__.py +0 -0
- discopop-4.0.0/test/utils/existence/__init__.py +0 -0
- discopop-4.0.0/test/utils/existence/existence_utils.py +25 -0
- discopop-4.0.0/test/utils/sharing_clauses/__init__.py +0 -0
- discopop-4.0.0/test/utils/sharing_clauses/clauses_utils.py +42 -0
- discopop-4.0.0/test/utils/validator_classes/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/simple/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/simple/nested/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/simple/nested/depth_2/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/simple/nested/depth_2/positive/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/simple/nested/depth_2/positive/inner_loop_doall/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2/positive/both_loops_doall → discopop-4.0.0/test/wip_end_to_end/do_all/simple/nested/depth_2/positive/inner_loop_doall}/test.py +26 -17
- discopop-4.0.0/test/wip_end_to_end/do_all/simple/nested/depth_2/positive/outer_loop_doall/__init__.py +0 -0
- {discopop-3.2.0/test → discopop-4.0.0/test/wip_end_to_end}/do_all/simple/nested/depth_2/positive/outer_loop_doall/test.py +26 -19
- discopop-4.0.0/test/wip_end_to_end/do_all/stack_access/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/stack_access/various/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/stack_access/various/case_4/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/do_all/stack_access/various/case_4/test.py +85 -0
- discopop-4.0.0/test/wip_end_to_end/reduction_pattern/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/reduction_pattern/negative/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/reduction_pattern/negative/case_2/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/reduction_pattern/negative/case_2/test.py +85 -0
- discopop-4.0.0/test/wip_end_to_end/sharing_clauses/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/sharing_clauses/do_all/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/sharing_clauses/do_all/first_private/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/sharing_clauses/do_all/first_private/case_2/__init__.py +0 -0
- discopop-4.0.0/test/wip_end_to_end/sharing_clauses/do_all/first_private/case_2/test.py +82 -0
- discopop-3.2.0/DEPRECATED_discopop_profiler/__init__.py +0 -85
- discopop-3.2.0/DEPRECATED_discopop_profiler/__main__.py +0 -91
- discopop-3.2.0/DEPRECATED_discopop_profiler/utils.py +0 -52
- discopop-3.2.0/DEPRECATED_discopop_wizard/__main__.py +0 -60
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/CodePreview.py +0 -109
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/Console.py +0 -65
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/ExecutionConfiguration.py +0 -468
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/Pragma.py +0 -27
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/ProfilingContainer.py +0 -149
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/Settings.py +0 -155
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/Suggestion.py +0 -216
- discopop-3.2.0/DEPRECATED_discopop_wizard/classes/TKVarStorage.py +0 -47
- discopop-3.2.0/DEPRECATED_discopop_wizard/headless/headless_execution.py +0 -65
- discopop-3.2.0/DEPRECATED_discopop_wizard/screens/execution.py +0 -105
- discopop-3.2.0/DEPRECATED_discopop_wizard/screens/main.py +0 -143
- discopop-3.2.0/DEPRECATED_discopop_wizard/screens/optimizer/binding.py +0 -145
- discopop-3.2.0/DEPRECATED_discopop_wizard/screens/settings.py +0 -180
- discopop-3.2.0/DEPRECATED_discopop_wizard/screens/suggestions/overview.py +0 -140
- discopop-3.2.0/DEPRECATED_discopop_wizard/screens/utils.py +0 -60
- discopop-3.2.0/DEPRECATED_discopop_wizard/utils.py +0 -65
- discopop-3.2.0/DEPRECATED_discopop_wizard/wizard.py +0 -187
- discopop-3.2.0/discopop.egg-info/top_level.txt +0 -5
- discopop-3.2.0/discopop_explorer/PEGraphX.py +0 -1700
- discopop-3.2.0/discopop_explorer/pattern_detectors/do_all_detector.py +0 -350
- discopop-3.2.0/discopop_explorer/pattern_detectors/reduction_detector.py +0 -231
- discopop-3.2.0/discopop_library/__pycache__/__init__.cpython-38.pyc +0 -0
- discopop-3.2.0/discopop_library/global_data/__pycache__/__init__.cpython-38.pyc +0 -0
- discopop-3.2.0/discopop_library/global_data/version/VERSION +0 -1
- discopop-3.2.0/discopop_library/global_data/version/__pycache__/__init__.cpython-38.pyc +0 -0
- discopop-3.2.0/test/do_all/backwards_array_access/test.py +0 -69
- discopop-3.2.0/test/do_all/stack_access/various/case_1/test.py +0 -69
- discopop-3.2.0/test/do_all/stack_access/various/case_2/test.py +0 -69
- discopop-3.2.0/test/do_all/stack_access/various/case_3/test.py +0 -69
- discopop-3.2.0/test/do_all/stack_access/various/case_4/test.py +0 -69
- discopop-3.2.0/test/do_all/stack_access/various/case_5/test.py +0 -69
- discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy/access_outside_struct/test.py +0 -75
- discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy/std_data_types/test.py +0 -75
- discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy/template_data_types/test.py +0 -75
- {discopop-3.2.0 → discopop-4.0.0}/LICENSE +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/MANIFEST.in +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/README.md +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop.egg-info/dependency_links.txt +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop.egg-info/zip-safe +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard → discopop-4.0.0/discopop_explorer}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/assets → discopop-4.0.0/discopop_explorer/aliases}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/assets/icons → discopop-4.0.0/discopop_explorer/classes/PEGraph}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard → discopop-4.0.0/discopop_explorer}/classes/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/headless → discopop-4.0.0/discopop_explorer/classes/patterns}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/screens → discopop-4.0.0/discopop_explorer/enums}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/screens/optimizer → discopop-4.0.0/discopop_explorer/functions/PEGraph}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/screens/suggestions → discopop-4.0.0/discopop_explorer/functions/PEGraph/output}/__init__.py +0 -0
- {discopop-3.2.0/DEPRECATED_discopop_wizard/screens/widgets → discopop-4.0.0/discopop_explorer/functions/PEGraph/properties}/__init__.py +0 -0
- {discopop-3.2.0/discopop_explorer → discopop-4.0.0/discopop_explorer/functions/PEGraph/queries}/__init__.py +0 -0
- {discopop-3.2.0/discopop_explorer/pattern_detectors/combined_gpu_patterns → discopop-4.0.0/discopop_explorer/functions/PEGraph/traversal}/__init__.py +0 -0
- {discopop-3.2.0/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes → discopop-4.0.0/discopop_explorer/functions/PEGraph/unused}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/CodeGenerator → discopop-4.0.0/discopop_explorer/functions}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/CodeGenerator/classes → discopop-4.0.0/discopop_explorer/pattern_detectors/combined_gpu_patterns}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Aliases.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes/Enums.py +0 -0
- {discopop-3.2.0/discopop_library/JSONHandler → discopop-4.0.0/discopop_explorer/pattern_detectors/combined_gpu_patterns/classes}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/simple_gpu_patterns/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/pattern_detectors/task_parallelism/suggesters/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/plugins/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_explorer/test/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/LineMapping → discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/MemoryRegions → discopop-4.0.0/discopop_explorer/utilities/PEGraphConstruction/classes}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/PatchApplicator → discopop-4.0.0/discopop_explorer/utilities}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/PatchGenerator → discopop-4.0.0/discopop_explorer/utilities/general}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/PathManagement → discopop-4.0.0/discopop_explorer/utilities/statistics}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library → discopop-4.0.0/discopop_explorer/utilities/statistics/cyclomatic_complexity}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/CostModels/DataTransfer → discopop-4.0.0/discopop_explorer/utilities/statistics/utilities}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/ArgumentClasses/GeneralArguments.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/CostModels → discopop-4.0.0/discopop_library/CodeGenerator}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/CodeGenerator/classes/Enums.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/DataTransfers → discopop-4.0.0/discopop_library/CodeGenerator/classes}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/Microbench → discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/PETParser/DataAccesses → discopop-4.0.0/discopop_library/Compatibility/LegacyDiscoPoP}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/ConfigProvider/assets/.gitignore +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/PETParser → discopop-4.0.0/discopop_library/EmpiricalAutotuning}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/Variables → discopop-4.0.0/discopop_library/FolderStructure}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/HostpotLoader/HotspotNodeType.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/HostpotLoader/HotspotType.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/JSONHandler/JSONHandler.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer → discopop-4.0.0/discopop_library/JSONHandler}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/bindings → discopop-4.0.0/discopop_library/LineMapping}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/LineMapping/load.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes → discopop-4.0.0/discopop_library/MemoryRegions}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/context → discopop-4.0.0/discopop_library/PatchApplicator}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/__main__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/apply.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/clear.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/list.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/load.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchApplicator/rollback.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/edges → discopop-4.0.0/discopop_library/PatchGenerator}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatchGenerator/diffs.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PathManagement/PathManagement.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/enums → discopop-4.0.0/discopop_library/PathManagement}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/PatternIdManagement/unique_pattern_id.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/nodes → discopop-4.0.0/discopop_library}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/CostModels/DataTransfer/DataTransferCosts.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/system → discopop-4.0.0/discopop_library/discopop_optimizer/CostModels/DataTransfer}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/system/devices → discopop-4.0.0/discopop_library/discopop_optimizer/CostModels}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/classes/types → discopop-4.0.0/discopop_library/discopop_optimizer/DataTransfers}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/DataTransfers/prepare_force_branch_end_data_movement.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/DataTransfers/prepare_forced_data_movement.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/DataTransfers/prepare_forced_data_movement_prior_to_call.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/gui → discopop-4.0.0/discopop_library/discopop_optimizer/Microbench}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/Microbench/utils.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/PETParser/DataAccesses/CalculateUpdates.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/gui/plotting → discopop-4.0.0/discopop_library/discopop_optimizer/PETParser/DataAccesses}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/gui/presentation → discopop-4.0.0/discopop_library/discopop_optimizer/PETParser}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/UpdateOptimization/LoopInitializationUpdates.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/UpdateOptimization/RemoveSameDeviceUpdates.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/UpdateOptimization/main.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/gui/queries → discopop-4.0.0/discopop_library/discopop_optimizer/Variables}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/gui/widgets → discopop-4.0.0/discopop_library/discopop_optimizer}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/scheduling → discopop-4.0.0/discopop_library/discopop_optimizer/bindings}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/bindings/utilities.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/suggestions → discopop-4.0.0/discopop_library/discopop_optimizer/classes}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/context/ContextObjectUtils.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/suggestions/importers → discopop-4.0.0/discopop_library/discopop_optimizer/classes/context}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/CallEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/ChildEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/DataFlowEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/GenericEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/MutuallyExclusiveEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/OptionEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/RequirementEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/SuccessorEdge.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/edges/TemporaryEdge.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/utilities → discopop-4.0.0/discopop_library/discopop_optimizer/classes/edges}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/enums/Distributions.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization → discopop-4.0.0/discopop_library/discopop_optimizer/classes/enums}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization → discopop-4.0.0/discopop_library/discopop_optimizer/classes/nodes}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/utilities/optimization → discopop-4.0.0/discopop_library/discopop_optimizer/classes/system}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/system/devices/DeviceTypeEnum.py +0 -0
- {discopop-3.2.0/discopop_library/discopop_optimizer/utilities/visualization → discopop-4.0.0/discopop_library/discopop_optimizer/classes/system/devices}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/classes/types/Aliases.py +0 -0
- {discopop-3.2.0/discopop_library/global_data → discopop-4.0.0/discopop_library/discopop_optimizer/classes/types}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/global_data/version → discopop-4.0.0/discopop_library/discopop_optimizer/gui}/__init__.py +0 -0
- {discopop-3.2.0/discopop_library/result_classes → discopop-4.0.0/discopop_library/discopop_optimizer/gui/plotting}/__init__.py +0 -0
- {discopop-3.2.0/test → discopop-4.0.0/discopop_library/discopop_optimizer/gui/presentation}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all → discopop-4.0.0/discopop_library/discopop_optimizer/gui/queries}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/backwards_array_access → discopop-4.0.0/discopop_library/discopop_optimizer/gui/widgets}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/optimization/evaluate.py +0 -0
- {discopop-3.2.0/test/do_all/calls → discopop-4.0.0/discopop_library/discopop_optimizer/scheduling}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/calls/allowing → discopop-4.0.0/discopop_library/discopop_optimizer/suggestions}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/calls/preventing → discopop-4.0.0/discopop_library/discopop_optimizer/suggestions/importers}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/suggestions/importers/main.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/suggestions/optimizers/main.py +0 -0
- {discopop-3.2.0/test/do_all/calls/preventing/simple → discopop-4.0.0/discopop_library/discopop_optimizer/utilities}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/calls/second_order → discopop-4.0.0/discopop_library/discopop_optimizer/utilities/optimization/GlobalOptimization}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization/TopDown.py +0 -0
- {discopop-3.2.0/test/do_all/calls/second_order/allowing → discopop-4.0.0/discopop_library/discopop_optimizer/utilities/optimization/LocalOptimization}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/calls/second_order/allowing_2 → discopop-4.0.0/discopop_library/discopop_optimizer/utilities/optimization}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/discopop_optimizer/utilities/simple_utilities.py +0 -0
- {discopop-3.2.0/test/do_all/calls/second_order/preventing → discopop-4.0.0/discopop_library/discopop_optimizer/utilities/visualization}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/calls/second_order/preventing_2 → discopop-4.0.0/discopop_library/global_data}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/daxpy → discopop-4.0.0/discopop_library/global_data/version}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/global_data/version/utils.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/discopop_library/py.typed +0 -0
- {discopop-3.2.0/test/do_all/negative → discopop-4.0.0/discopop_library/result_classes}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/setup.cfg +0 -0
- {discopop-3.2.0/test/do_all/negative/nested/OMPSCR → discopop-4.0.0/test}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/negative/nested → discopop-4.0.0/test/end_to_end}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple → discopop-4.0.0/test/end_to_end/do_all}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/global_vars → discopop-4.0.0/test/end_to_end/do_all/backwards_array_access}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy → discopop-4.0.0/test/end_to_end/do_all/calls}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_arrays → discopop-4.0.0/test/end_to_end/do_all/calls/above_nesting_level_3}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_struct → discopop-4.0.0/test/end_to_end/do_all/calls/allowing}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors → discopop-4.0.0/test/end_to_end/do_all/calls/allowing_2}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors_and_struct → discopop-4.0.0/test/end_to_end/do_all/calls/complex}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested → discopop-4.0.0/test/end_to_end/do_all/calls/complex_no_varname_duplicates}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2 → discopop-4.0.0/test/end_to_end/do_all/calls/preventing}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2/positive → discopop-4.0.0/test/end_to_end/do_all/calls/preventing/simple}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2/positive/both_loops_doall → discopop-4.0.0/test/end_to_end/do_all/calls/second_order}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2/positive/inner_loop_doall → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/allowing}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/nested/depth_2/positive/outer_loop_doall → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/allowing_2}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/not_nested → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/preventing}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/not_nested/negative → discopop-4.0.0/test/end_to_end/do_all/calls/second_order/preventing_2}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/not_nested/negative/minimal → discopop-4.0.0/test/end_to_end/do_all/daxpy}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/not_nested/negative/stack_access → discopop-4.0.0/test/end_to_end/do_all/negative}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/simple/not_nested/positive → discopop-4.0.0/test/end_to_end/do_all/negative/nested/OMPSCR}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access → discopop-4.0.0/test/end_to_end/do_all/negative/nested}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/nested → discopop-4.0.0/test/end_to_end/do_all/simple}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/nested/positive → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various/case_0 → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_arrays}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various/case_1 → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_struct}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various/case_2 → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various/case_3 → discopop-4.0.0/test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors_and_struct}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various/case_4 → discopop-4.0.0/test/end_to_end/do_all/simple/nested}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/stack_access/various/case_5 → discopop-4.0.0/test/end_to_end/do_all/simple/nested/depth_2}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/struct → discopop-4.0.0/test/end_to_end/do_all/simple/nested/depth_2/positive}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/struct/positive → discopop-4.0.0/test/end_to_end/do_all/simple/nested/depth_2/positive/both_loops_doall}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy → discopop-4.0.0/test/end_to_end/do_all/simple/not_nested}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy/access_outside_struct → discopop-4.0.0/test/end_to_end/do_all/simple/not_nested/negative}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy/std_data_types → discopop-4.0.0/test/end_to_end/do_all/simple/not_nested/negative/minimal}/__init__.py +0 -0
- {discopop-3.2.0/test/do_all/struct/positive/miniFE_CSRMatrix_proxy/template_data_types → discopop-4.0.0/test/end_to_end/do_all/simple/not_nested/negative/stack_access}/__init__.py +0 -0
- {discopop-3.2.0/test/optimizer → discopop-4.0.0/test/end_to_end/do_all/simple/not_nested/positive}/__init__.py +0 -0
- {discopop-3.2.0/test/optimizer/loop_collapse → discopop-4.0.0/test/end_to_end/do_all/stack_access}/__init__.py +0 -0
- {discopop-3.2.0/test/optimizer/loop_collapse/positive → discopop-4.0.0/test/end_to_end/do_all/stack_access/nested}/__init__.py +0 -0
- {discopop-3.2.0/test/optimizer/loop_collapse/positive/simple_1 → discopop-4.0.0/test/end_to_end/do_all/stack_access/nested/positive}/__init__.py +0 -0
- {discopop-3.2.0/test/reduction_pattern → discopop-4.0.0/test/end_to_end/do_all/stack_access/various}/__init__.py +0 -0
- {discopop-3.2.0/test/reduction_pattern/positive → discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_0}/__init__.py +0 -0
- {discopop-3.2.0/test/reduction_pattern/positive/nested/OMPSCR → discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_1}/__init__.py +0 -0
- {discopop-3.2.0/test/reduction_pattern/positive/nested/OMPSCR/c_Mandelbrot → discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_2}/__init__.py +0 -0
- {discopop-3.2.0/test/reduction_pattern/positive/nested → discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_3}/__init__.py +0 -0
- {discopop-3.2.0/test/utils → discopop-4.0.0/test/end_to_end/do_all/stack_access/various/case_5}/__init__.py +0 -0
- {discopop-3.2.0/test/utils/validator_classes → discopop-4.0.0/test/end_to_end/do_all/struct}/__init__.py +0 -0
- {discopop-3.2.0 → discopop-4.0.0}/test/utils/validator_classes/DoAllInfoForValidation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: discopop
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.0
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: discopop
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.0
|
|
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,38 +3,6 @@ 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
|
|
38
6
|
discopop.egg-info/PKG-INFO
|
|
39
7
|
discopop.egg-info/SOURCES.txt
|
|
40
8
|
discopop.egg-info/dependency_links.txt
|
|
@@ -42,19 +10,64 @@ discopop.egg-info/entry_points.txt
|
|
|
42
10
|
discopop.egg-info/requires.txt
|
|
43
11
|
discopop.egg-info/top_level.txt
|
|
44
12
|
discopop.egg-info/zip-safe
|
|
45
|
-
discopop_explorer/PEGraphX.py
|
|
46
13
|
discopop_explorer/__init__.py
|
|
47
14
|
discopop_explorer/__main__.py
|
|
48
15
|
discopop_explorer/discopop_explorer.py
|
|
49
|
-
discopop_explorer/generate_Data_CUInst.py
|
|
50
16
|
discopop_explorer/json_serializer.py
|
|
51
17
|
discopop_explorer/parallel_utils.py
|
|
52
|
-
discopop_explorer/parser.py
|
|
53
18
|
discopop_explorer/pattern_detection.py
|
|
54
19
|
discopop_explorer/utils.py
|
|
55
|
-
discopop_explorer/
|
|
56
|
-
discopop_explorer/
|
|
57
|
-
discopop_explorer/
|
|
20
|
+
discopop_explorer/aliases/LineID.py
|
|
21
|
+
discopop_explorer/aliases/MemoryRegion.py
|
|
22
|
+
discopop_explorer/aliases/NodeID.py
|
|
23
|
+
discopop_explorer/aliases/__init__.py
|
|
24
|
+
discopop_explorer/classes/__init__.py
|
|
25
|
+
discopop_explorer/classes/variable.py
|
|
26
|
+
discopop_explorer/classes/PEGraph/CUNode.py
|
|
27
|
+
discopop_explorer/classes/PEGraph/Dependency.py
|
|
28
|
+
discopop_explorer/classes/PEGraph/DummyNode.py
|
|
29
|
+
discopop_explorer/classes/PEGraph/FunctionNode.py
|
|
30
|
+
discopop_explorer/classes/PEGraph/LoopNode.py
|
|
31
|
+
discopop_explorer/classes/PEGraph/Node.py
|
|
32
|
+
discopop_explorer/classes/PEGraph/NodeT.py
|
|
33
|
+
discopop_explorer/classes/PEGraph/PEGraphX.py
|
|
34
|
+
discopop_explorer/classes/PEGraph/__init__.py
|
|
35
|
+
discopop_explorer/classes/patterns/PatternBase.py
|
|
36
|
+
discopop_explorer/classes/patterns/PatternInfo.py
|
|
37
|
+
discopop_explorer/classes/patterns/__init__.py
|
|
38
|
+
discopop_explorer/enums/DepType.py
|
|
39
|
+
discopop_explorer/enums/EdgeType.py
|
|
40
|
+
discopop_explorer/enums/MWType.py
|
|
41
|
+
discopop_explorer/enums/NodeType.py
|
|
42
|
+
discopop_explorer/enums/__init__.py
|
|
43
|
+
discopop_explorer/functions/__init__.py
|
|
44
|
+
discopop_explorer/functions/PEGraph/__init__.py
|
|
45
|
+
discopop_explorer/functions/PEGraph/output/__init__.py
|
|
46
|
+
discopop_explorer/functions/PEGraph/output/gephi.py
|
|
47
|
+
discopop_explorer/functions/PEGraph/output/json.py
|
|
48
|
+
discopop_explorer/functions/PEGraph/properties/__init__.py
|
|
49
|
+
discopop_explorer/functions/PEGraph/properties/check_reachability.py
|
|
50
|
+
discopop_explorer/functions/PEGraph/properties/depends_ignore_readonly.py
|
|
51
|
+
discopop_explorer/functions/PEGraph/properties/is_loop_index.py
|
|
52
|
+
discopop_explorer/functions/PEGraph/properties/is_passed_by_reference.py
|
|
53
|
+
discopop_explorer/functions/PEGraph/properties/is_predecessor.py
|
|
54
|
+
discopop_explorer/functions/PEGraph/properties/is_readonly_inside_loop_body.py
|
|
55
|
+
discopop_explorer/functions/PEGraph/properties/is_reduction_var_by_name.py
|
|
56
|
+
discopop_explorer/functions/PEGraph/properties/is_scalar_val.py
|
|
57
|
+
discopop_explorer/functions/PEGraph/queries/__init__.py
|
|
58
|
+
discopop_explorer/functions/PEGraph/queries/edges.py
|
|
59
|
+
discopop_explorer/functions/PEGraph/queries/memory_regions.py
|
|
60
|
+
discopop_explorer/functions/PEGraph/queries/nodes.py
|
|
61
|
+
discopop_explorer/functions/PEGraph/queries/paths.py
|
|
62
|
+
discopop_explorer/functions/PEGraph/queries/reductions.py
|
|
63
|
+
discopop_explorer/functions/PEGraph/queries/subtree.py
|
|
64
|
+
discopop_explorer/functions/PEGraph/queries/variables.py
|
|
65
|
+
discopop_explorer/functions/PEGraph/traversal/__init__.py
|
|
66
|
+
discopop_explorer/functions/PEGraph/traversal/children.py
|
|
67
|
+
discopop_explorer/functions/PEGraph/traversal/parent.py
|
|
68
|
+
discopop_explorer/functions/PEGraph/traversal/successors.py
|
|
69
|
+
discopop_explorer/functions/PEGraph/unused/__init__.py
|
|
70
|
+
discopop_explorer/functions/PEGraph/unused/unused_functions.py
|
|
58
71
|
discopop_explorer/pattern_detectors/__init__.py
|
|
59
72
|
discopop_explorer/pattern_detectors/device_updates.py
|
|
60
73
|
discopop_explorer/pattern_detectors/do_all_detector.py
|
|
@@ -102,6 +115,32 @@ discopop_explorer/pattern_detectors/task_parallelism/suggesters/tasks.py
|
|
|
102
115
|
discopop_explorer/plugins/__init__.py
|
|
103
116
|
discopop_explorer/plugins/pipeline.py
|
|
104
117
|
discopop_explorer/test/__init__.py
|
|
118
|
+
discopop_explorer/utilities/__init__.py
|
|
119
|
+
discopop_explorer/utilities/PEGraphConstruction/PEGraphConstructionUtilities.py
|
|
120
|
+
discopop_explorer/utilities/PEGraphConstruction/ParserUtilities.py
|
|
121
|
+
discopop_explorer/utilities/PEGraphConstruction/__init__.py
|
|
122
|
+
discopop_explorer/utilities/PEGraphConstruction/parser.py
|
|
123
|
+
discopop_explorer/utilities/PEGraphConstruction/classes/DependenceItem.py
|
|
124
|
+
discopop_explorer/utilities/PEGraphConstruction/classes/LoopData.py
|
|
125
|
+
discopop_explorer/utilities/PEGraphConstruction/classes/__init__.py
|
|
126
|
+
discopop_explorer/utilities/general/__init__.py
|
|
127
|
+
discopop_explorer/utilities/general/generate_Data_CUInst.py
|
|
128
|
+
discopop_explorer/utilities/statistics/__init__.py
|
|
129
|
+
discopop_explorer/utilities/statistics/collect_statistics.py
|
|
130
|
+
discopop_explorer/utilities/statistics/maximum_call_path_depth.py
|
|
131
|
+
discopop_explorer/utilities/statistics/num_function_calls.py
|
|
132
|
+
discopop_explorer/utilities/statistics/output_statistics.py
|
|
133
|
+
discopop_explorer/utilities/statistics/suggestion_call_path_depths.py
|
|
134
|
+
discopop_explorer/utilities/statistics/suggestion_cyclomatic_complexity.py
|
|
135
|
+
discopop_explorer/utilities/statistics/suggestion_lines_of_code.py
|
|
136
|
+
discopop_explorer/utilities/statistics/cyclomatic_complexity/__init__.py
|
|
137
|
+
discopop_explorer/utilities/statistics/cyclomatic_complexity/boxplot.py
|
|
138
|
+
discopop_explorer/utilities/statistics/cyclomatic_complexity/cc_dictionary.py
|
|
139
|
+
discopop_explorer/utilities/statistics/cyclomatic_complexity/subtree.py
|
|
140
|
+
discopop_explorer/utilities/statistics/cyclomatic_complexity/total.py
|
|
141
|
+
discopop_explorer/utilities/statistics/utilities/__init__.py
|
|
142
|
+
discopop_explorer/utilities/statistics/utilities/call_path_depth.py
|
|
143
|
+
discopop_explorer/utilities/statistics/utilities/num_function_calls.py
|
|
105
144
|
discopop_library/__init__.py
|
|
106
145
|
discopop_library/py.typed
|
|
107
146
|
discopop_library/ArgumentClasses/GeneralArguments.py
|
|
@@ -114,10 +153,30 @@ discopop_library/CodeGenerator/classes/Line.py
|
|
|
114
153
|
discopop_library/CodeGenerator/classes/Pragma.py
|
|
115
154
|
discopop_library/CodeGenerator/classes/UnpackedSuggestion.py
|
|
116
155
|
discopop_library/CodeGenerator/classes/__init__.py
|
|
156
|
+
discopop_library/Compatibility/LegacyDiscoPoP/__init__.py
|
|
157
|
+
discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/ArgumentClasses.py
|
|
158
|
+
discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/GEPDependencyRemover.py
|
|
159
|
+
discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/Types.py
|
|
160
|
+
discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/__init__.py
|
|
161
|
+
discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/__main__.py
|
|
162
|
+
discopop_library/Compatibility/LegacyDiscoPoP/GEPDependencyRemover/utils.py
|
|
117
163
|
discopop_library/ConfigProvider/ConfigProviderArguments.py
|
|
118
164
|
discopop_library/ConfigProvider/__main__.py
|
|
119
165
|
discopop_library/ConfigProvider/config_provider.py
|
|
120
166
|
discopop_library/ConfigProvider/assets/.gitignore
|
|
167
|
+
discopop_library/DependencyMetadata/compare_metadata.py
|
|
168
|
+
discopop_library/EmpiricalAutotuning/ArgumentClasses.py
|
|
169
|
+
discopop_library/EmpiricalAutotuning/Autotuner.py
|
|
170
|
+
discopop_library/EmpiricalAutotuning/Types.py
|
|
171
|
+
discopop_library/EmpiricalAutotuning/__init__.py
|
|
172
|
+
discopop_library/EmpiricalAutotuning/__main__.py
|
|
173
|
+
discopop_library/EmpiricalAutotuning/utils.py
|
|
174
|
+
discopop_library/EmpiricalAutotuning/Classes/CodeConfiguration.py
|
|
175
|
+
discopop_library/EmpiricalAutotuning/Classes/ExecutionResult.py
|
|
176
|
+
discopop_library/EmpiricalAutotuning/Statistics/StatisticsGraph.py
|
|
177
|
+
discopop_library/FolderStructure/__init__.py
|
|
178
|
+
discopop_library/FolderStructure/setup.py
|
|
179
|
+
discopop_library/FolderStructure/teardown.py
|
|
121
180
|
discopop_library/GlobalLogger/setup.py
|
|
122
181
|
discopop_library/HostpotLoader/HotspotLoaderArguments.py
|
|
123
182
|
discopop_library/HostpotLoader/HotspotNodeType.py
|
|
@@ -126,6 +185,7 @@ discopop_library/HostpotLoader/hostpot_loader.py
|
|
|
126
185
|
discopop_library/JSONHandler/JSONHandler.py
|
|
127
186
|
discopop_library/JSONHandler/__init__.py
|
|
128
187
|
discopop_library/LineMapping/__init__.py
|
|
188
|
+
discopop_library/LineMapping/delete.py
|
|
129
189
|
discopop_library/LineMapping/diff_modifications.py
|
|
130
190
|
discopop_library/LineMapping/initialize.py
|
|
131
191
|
discopop_library/LineMapping/load.py
|
|
@@ -245,6 +305,7 @@ discopop_library/discopop_optimizer/gui/presentation/__init__.py
|
|
|
245
305
|
discopop_library/discopop_optimizer/gui/queries/ValueTableQuery.py
|
|
246
306
|
discopop_library/discopop_optimizer/gui/queries/__init__.py
|
|
247
307
|
discopop_library/discopop_optimizer/gui/widgets/ScrollableFrame.py
|
|
308
|
+
discopop_library/discopop_optimizer/gui/widgets/ScrollableText.py
|
|
248
309
|
discopop_library/discopop_optimizer/gui/widgets/__init__.py
|
|
249
310
|
discopop_library/discopop_optimizer/interactive/interactive_optimizer.py
|
|
250
311
|
discopop_library/discopop_optimizer/optimization/evaluate.py
|
|
@@ -286,94 +347,150 @@ discopop_library/result_classes/OptimizerOutputPattern.py
|
|
|
286
347
|
discopop_library/result_classes/PatternStorage.py
|
|
287
348
|
discopop_library/result_classes/__init__.py
|
|
288
349
|
test/__init__.py
|
|
289
|
-
test/
|
|
290
|
-
test/do_all/
|
|
291
|
-
test/do_all/backwards_array_access/
|
|
292
|
-
test/do_all/
|
|
293
|
-
test/do_all/calls/
|
|
294
|
-
test/do_all/calls/
|
|
295
|
-
test/do_all/calls/
|
|
296
|
-
test/do_all/calls/
|
|
297
|
-
test/do_all/calls/
|
|
298
|
-
test/do_all/calls/
|
|
299
|
-
test/do_all/calls/
|
|
300
|
-
test/do_all/calls/
|
|
301
|
-
test/do_all/calls/
|
|
302
|
-
test/do_all/calls/
|
|
303
|
-
test/do_all/calls/
|
|
304
|
-
test/do_all/calls/
|
|
305
|
-
test/do_all/calls/
|
|
306
|
-
test/do_all/calls/
|
|
307
|
-
test/do_all/
|
|
308
|
-
test/do_all/
|
|
309
|
-
test/do_all/
|
|
310
|
-
test/do_all/
|
|
311
|
-
test/do_all/
|
|
312
|
-
test/do_all/
|
|
313
|
-
test/do_all/
|
|
314
|
-
test/do_all/
|
|
315
|
-
test/do_all/
|
|
316
|
-
test/do_all/
|
|
317
|
-
test/do_all/
|
|
318
|
-
test/do_all/
|
|
319
|
-
test/do_all/
|
|
320
|
-
test/do_all/
|
|
321
|
-
test/do_all/simple/
|
|
322
|
-
test/do_all/simple/global_vars/
|
|
323
|
-
test/do_all/simple/
|
|
324
|
-
test/do_all/simple/
|
|
325
|
-
test/do_all/simple/
|
|
326
|
-
test/do_all/simple/
|
|
327
|
-
test/do_all/simple/
|
|
328
|
-
test/do_all/simple/
|
|
329
|
-
test/do_all/simple/
|
|
330
|
-
test/do_all/simple/
|
|
331
|
-
test/do_all/simple/
|
|
332
|
-
test/do_all/simple/
|
|
333
|
-
test/do_all/simple/
|
|
334
|
-
test/do_all/simple/
|
|
335
|
-
test/do_all/simple/
|
|
336
|
-
test/do_all/simple/
|
|
337
|
-
test/do_all/simple/not_nested/
|
|
338
|
-
test/do_all/simple/not_nested/
|
|
339
|
-
test/do_all/simple/not_nested/
|
|
340
|
-
test/do_all/
|
|
341
|
-
test/do_all/stack_access/
|
|
342
|
-
test/do_all/
|
|
343
|
-
test/do_all/
|
|
344
|
-
test/do_all/
|
|
345
|
-
test/do_all/stack_access/
|
|
346
|
-
test/do_all/stack_access/
|
|
347
|
-
test/do_all/stack_access/
|
|
348
|
-
test/do_all/stack_access/
|
|
349
|
-
test/do_all/stack_access/various/
|
|
350
|
-
test/do_all/stack_access/various/
|
|
351
|
-
test/do_all/stack_access/various/
|
|
352
|
-
test/do_all/stack_access/various/
|
|
353
|
-
test/do_all/stack_access/various/
|
|
354
|
-
test/do_all/stack_access/various/
|
|
355
|
-
test/do_all/stack_access/various/
|
|
356
|
-
test/do_all/stack_access/various/
|
|
357
|
-
test/do_all/
|
|
358
|
-
test/do_all/
|
|
359
|
-
test/do_all/
|
|
360
|
-
test/do_all/struct/
|
|
361
|
-
test/do_all/struct/positive/
|
|
362
|
-
test/do_all/struct/positive/miniFE_CSRMatrix_proxy/
|
|
363
|
-
test/do_all/struct/positive/miniFE_CSRMatrix_proxy/
|
|
364
|
-
test/do_all/struct/positive/miniFE_CSRMatrix_proxy/
|
|
365
|
-
test/do_all/struct/positive/miniFE_CSRMatrix_proxy/
|
|
366
|
-
test/
|
|
367
|
-
test/
|
|
368
|
-
test/
|
|
369
|
-
test/optimizer/
|
|
370
|
-
test/optimizer/loop_collapse/
|
|
371
|
-
test/
|
|
372
|
-
test/
|
|
373
|
-
test/
|
|
374
|
-
test/reduction_pattern/
|
|
375
|
-
test/reduction_pattern/
|
|
376
|
-
test/reduction_pattern/
|
|
350
|
+
test/end_to_end/__init__.py
|
|
351
|
+
test/end_to_end/do_all/__init__.py
|
|
352
|
+
test/end_to_end/do_all/backwards_array_access/__init__.py
|
|
353
|
+
test/end_to_end/do_all/backwards_array_access/test.py
|
|
354
|
+
test/end_to_end/do_all/calls/__init__.py
|
|
355
|
+
test/end_to_end/do_all/calls/above_nesting_level_3/__init__.py
|
|
356
|
+
test/end_to_end/do_all/calls/above_nesting_level_3/test.py
|
|
357
|
+
test/end_to_end/do_all/calls/allowing/__init__.py
|
|
358
|
+
test/end_to_end/do_all/calls/allowing/test.py
|
|
359
|
+
test/end_to_end/do_all/calls/allowing_2/__init__.py
|
|
360
|
+
test/end_to_end/do_all/calls/allowing_2/test.py
|
|
361
|
+
test/end_to_end/do_all/calls/complex/__init__.py
|
|
362
|
+
test/end_to_end/do_all/calls/complex/test.py
|
|
363
|
+
test/end_to_end/do_all/calls/complex_no_varname_duplicates/__init__.py
|
|
364
|
+
test/end_to_end/do_all/calls/complex_no_varname_duplicates/test.py
|
|
365
|
+
test/end_to_end/do_all/calls/preventing/__init__.py
|
|
366
|
+
test/end_to_end/do_all/calls/preventing/simple/__init__.py
|
|
367
|
+
test/end_to_end/do_all/calls/preventing/simple/test.py
|
|
368
|
+
test/end_to_end/do_all/calls/second_order/__init__.py
|
|
369
|
+
test/end_to_end/do_all/calls/second_order/allowing/__init__.py
|
|
370
|
+
test/end_to_end/do_all/calls/second_order/allowing/test.py
|
|
371
|
+
test/end_to_end/do_all/calls/second_order/allowing_2/__init__.py
|
|
372
|
+
test/end_to_end/do_all/calls/second_order/allowing_2/test.py
|
|
373
|
+
test/end_to_end/do_all/calls/second_order/preventing/__init__.py
|
|
374
|
+
test/end_to_end/do_all/calls/second_order/preventing/test.py
|
|
375
|
+
test/end_to_end/do_all/calls/second_order/preventing_2/__init__.py
|
|
376
|
+
test/end_to_end/do_all/calls/second_order/preventing_2/test.py
|
|
377
|
+
test/end_to_end/do_all/daxpy/__init__.py
|
|
378
|
+
test/end_to_end/do_all/daxpy/test.py
|
|
379
|
+
test/end_to_end/do_all/negative/__init__.py
|
|
380
|
+
test/end_to_end/do_all/negative/nested/__init__.py
|
|
381
|
+
test/end_to_end/do_all/negative/nested/OMPSCR/__init__.py
|
|
382
|
+
test/end_to_end/do_all/simple/__init__.py
|
|
383
|
+
test/end_to_end/do_all/simple/global_vars/__init__.py
|
|
384
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/__init__.py
|
|
385
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_arrays/__init__.py
|
|
386
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_arrays/test.py
|
|
387
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_struct/__init__.py
|
|
388
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_struct/test.py
|
|
389
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors/__init__.py
|
|
390
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors/test.py
|
|
391
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors_and_struct/__init__.py
|
|
392
|
+
test/end_to_end/do_all/simple/global_vars/miniFE_CSRMatrix_proxy/global_vectors_and_struct/test.py
|
|
393
|
+
test/end_to_end/do_all/simple/nested/__init__.py
|
|
394
|
+
test/end_to_end/do_all/simple/nested/depth_2/__init__.py
|
|
395
|
+
test/end_to_end/do_all/simple/nested/depth_2/positive/__init__.py
|
|
396
|
+
test/end_to_end/do_all/simple/nested/depth_2/positive/both_loops_doall/__init__.py
|
|
397
|
+
test/end_to_end/do_all/simple/nested/depth_2/positive/both_loops_doall/test.py
|
|
398
|
+
test/end_to_end/do_all/simple/not_nested/__init__.py
|
|
399
|
+
test/end_to_end/do_all/simple/not_nested/negative/__init__.py
|
|
400
|
+
test/end_to_end/do_all/simple/not_nested/negative/minimal/__init__.py
|
|
401
|
+
test/end_to_end/do_all/simple/not_nested/negative/minimal/test.py
|
|
402
|
+
test/end_to_end/do_all/simple/not_nested/negative/stack_access/__init__.py
|
|
403
|
+
test/end_to_end/do_all/simple/not_nested/negative/stack_access/test.py
|
|
404
|
+
test/end_to_end/do_all/simple/not_nested/positive/__init__.py
|
|
405
|
+
test/end_to_end/do_all/simple/not_nested/positive/test.py
|
|
406
|
+
test/end_to_end/do_all/stack_access/__init__.py
|
|
407
|
+
test/end_to_end/do_all/stack_access/nested/__init__.py
|
|
408
|
+
test/end_to_end/do_all/stack_access/nested/positive/__init__.py
|
|
409
|
+
test/end_to_end/do_all/stack_access/nested/positive/test.py
|
|
410
|
+
test/end_to_end/do_all/stack_access/various/__init__.py
|
|
411
|
+
test/end_to_end/do_all/stack_access/various/case_0/__init__.py
|
|
412
|
+
test/end_to_end/do_all/stack_access/various/case_0/test.py
|
|
413
|
+
test/end_to_end/do_all/stack_access/various/case_1/__init__.py
|
|
414
|
+
test/end_to_end/do_all/stack_access/various/case_1/test.py
|
|
415
|
+
test/end_to_end/do_all/stack_access/various/case_2/__init__.py
|
|
416
|
+
test/end_to_end/do_all/stack_access/various/case_2/test.py
|
|
417
|
+
test/end_to_end/do_all/stack_access/various/case_3/__init__.py
|
|
418
|
+
test/end_to_end/do_all/stack_access/various/case_3/test.py
|
|
419
|
+
test/end_to_end/do_all/stack_access/various/case_5/__init__.py
|
|
420
|
+
test/end_to_end/do_all/stack_access/various/case_5/test.py
|
|
421
|
+
test/end_to_end/do_all/struct/__init__.py
|
|
422
|
+
test/end_to_end/do_all/struct/positive/__init__.py
|
|
423
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/__init__.py
|
|
424
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/access_outside_struct/__init__.py
|
|
425
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/access_outside_struct/test.py
|
|
426
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/std_data_types/__init__.py
|
|
427
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/std_data_types/test.py
|
|
428
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/template_data_types/__init__.py
|
|
429
|
+
test/end_to_end/do_all/struct/positive/miniFE_CSRMatrix_proxy/template_data_types/test.py
|
|
430
|
+
test/end_to_end/optimizer/__init__.py
|
|
431
|
+
test/end_to_end/optimizer/loop_collapse/__init__.py
|
|
432
|
+
test/end_to_end/optimizer/loop_collapse/positive/__init__.py
|
|
433
|
+
test/end_to_end/optimizer/loop_collapse/positive/simple_1/__init__.py
|
|
434
|
+
test/end_to_end/optimizer/loop_collapse/positive/simple_1/test.py
|
|
435
|
+
test/end_to_end/reduction_pattern/__init__.py
|
|
436
|
+
test/end_to_end/reduction_pattern/negative/__init__.py
|
|
437
|
+
test/end_to_end/reduction_pattern/negative/case_1/__init__.py
|
|
438
|
+
test/end_to_end/reduction_pattern/negative/case_1/test.py
|
|
439
|
+
test/end_to_end/reduction_pattern/positive/__init__.py
|
|
440
|
+
test/end_to_end/reduction_pattern/positive/nested/__init__.py
|
|
441
|
+
test/end_to_end/reduction_pattern/positive/nested/OMPSCR/__init__.py
|
|
442
|
+
test/end_to_end/reduction_pattern/positive/nested/OMPSCR/c_Mandelbrot/__init__.py
|
|
443
|
+
test/end_to_end/reduction_pattern/positive/nested/OMPSCR/c_Mandelbrot/test.py
|
|
444
|
+
test/end_to_end/sharing_clauses/__init__.py
|
|
445
|
+
test/end_to_end/sharing_clauses/do_all/__init__.py
|
|
446
|
+
test/end_to_end/sharing_clauses/do_all/first_private/__init__.py
|
|
447
|
+
test/end_to_end/sharing_clauses/do_all/first_private/case_1/__init__.py
|
|
448
|
+
test/end_to_end/sharing_clauses/do_all/first_private/case_1/test.py
|
|
449
|
+
test/end_to_end/sharing_clauses/do_all/last_private/__init__.py
|
|
450
|
+
test/end_to_end/sharing_clauses/do_all/last_private/case_1/__init__.py
|
|
451
|
+
test/end_to_end/sharing_clauses/do_all/last_private/case_1/test.py
|
|
452
|
+
test/end_to_end/sharing_clauses/do_all/no_clause/__init__.py
|
|
453
|
+
test/end_to_end/sharing_clauses/do_all/no_clause/case_1/__init__.py
|
|
454
|
+
test/end_to_end/sharing_clauses/do_all/no_clause/case_1/test.py
|
|
455
|
+
test/end_to_end/sharing_clauses/do_all/private/__init__.py
|
|
456
|
+
test/end_to_end/sharing_clauses/do_all/private/case_1/__init__.py
|
|
457
|
+
test/end_to_end/sharing_clauses/do_all/private/case_1/test.py
|
|
458
|
+
test/end_to_end/sharing_clauses/do_all/private/case_2/__init__.py
|
|
459
|
+
test/end_to_end/sharing_clauses/do_all/private/case_2/test.py
|
|
460
|
+
test/end_to_end/sharing_clauses/do_all/shared/__init__.py
|
|
461
|
+
test/end_to_end/sharing_clauses/do_all/shared/case_1/__init__.py
|
|
462
|
+
test/end_to_end/sharing_clauses/do_all/shared/case_1/test.py
|
|
463
|
+
test/end_to_end/sharing_clauses/do_all/shared/case_2/__init__.py
|
|
464
|
+
test/end_to_end/sharing_clauses/do_all/shared/case_2/test.py
|
|
465
|
+
test/end_to_end/sharing_clauses/do_all/shared/case_3/__init__.py
|
|
466
|
+
test/end_to_end/sharing_clauses/do_all/shared/case_3/test.py
|
|
377
467
|
test/utils/__init__.py
|
|
468
|
+
test/utils/existence/__init__.py
|
|
469
|
+
test/utils/existence/existence_utils.py
|
|
470
|
+
test/utils/sharing_clauses/__init__.py
|
|
471
|
+
test/utils/sharing_clauses/clauses_utils.py
|
|
378
472
|
test/utils/validator_classes/DoAllInfoForValidation.py
|
|
379
|
-
test/utils/validator_classes/__init__.py
|
|
473
|
+
test/utils/validator_classes/__init__.py
|
|
474
|
+
test/wip_end_to_end/__init__.py
|
|
475
|
+
test/wip_end_to_end/do_all/__init__.py
|
|
476
|
+
test/wip_end_to_end/do_all/simple/__init__.py
|
|
477
|
+
test/wip_end_to_end/do_all/simple/nested/__init__.py
|
|
478
|
+
test/wip_end_to_end/do_all/simple/nested/depth_2/__init__.py
|
|
479
|
+
test/wip_end_to_end/do_all/simple/nested/depth_2/positive/__init__.py
|
|
480
|
+
test/wip_end_to_end/do_all/simple/nested/depth_2/positive/inner_loop_doall/__init__.py
|
|
481
|
+
test/wip_end_to_end/do_all/simple/nested/depth_2/positive/inner_loop_doall/test.py
|
|
482
|
+
test/wip_end_to_end/do_all/simple/nested/depth_2/positive/outer_loop_doall/__init__.py
|
|
483
|
+
test/wip_end_to_end/do_all/simple/nested/depth_2/positive/outer_loop_doall/test.py
|
|
484
|
+
test/wip_end_to_end/do_all/stack_access/__init__.py
|
|
485
|
+
test/wip_end_to_end/do_all/stack_access/various/__init__.py
|
|
486
|
+
test/wip_end_to_end/do_all/stack_access/various/case_4/__init__.py
|
|
487
|
+
test/wip_end_to_end/do_all/stack_access/various/case_4/test.py
|
|
488
|
+
test/wip_end_to_end/reduction_pattern/__init__.py
|
|
489
|
+
test/wip_end_to_end/reduction_pattern/negative/__init__.py
|
|
490
|
+
test/wip_end_to_end/reduction_pattern/negative/case_2/__init__.py
|
|
491
|
+
test/wip_end_to_end/reduction_pattern/negative/case_2/test.py
|
|
492
|
+
test/wip_end_to_end/sharing_clauses/__init__.py
|
|
493
|
+
test/wip_end_to_end/sharing_clauses/do_all/__init__.py
|
|
494
|
+
test/wip_end_to_end/sharing_clauses/do_all/first_private/__init__.py
|
|
495
|
+
test/wip_end_to_end/sharing_clauses/do_all/first_private/case_2/__init__.py
|
|
496
|
+
test/wip_end_to_end/sharing_clauses/do_all/first_private/case_2/test.py
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
|
-
|
|
3
|
-
DEPRECATED_discopop_wizard = DEPRECATED_discopop_wizard.__main__:main
|
|
2
|
+
discopop_auto_tuner = discopop_library.EmpiricalAutotuning.__main__:main
|
|
4
3
|
discopop_config_provider = discopop_library.ConfigProvider.__main__:main
|
|
5
4
|
discopop_explorer = discopop_explorer.__main__:main
|
|
6
5
|
discopop_optimizer = discopop_library.discopop_optimizer.__main__:main
|
|
@@ -11,7 +11,7 @@ from pathlib import Path
|
|
|
11
11
|
from discopop_library.GlobalLogger.setup import setup_logger
|
|
12
12
|
|
|
13
13
|
from discopop_library.PathManagement.PathManagement import get_path, get_path_or_none
|
|
14
|
-
from .discopop_explorer import ExplorerArguments, run
|
|
14
|
+
from discopop_explorer.discopop_explorer import ExplorerArguments, run
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
def parse_args() -> ExplorerArguments:
|
|
@@ -69,8 +69,8 @@ def parse_args() -> ExplorerArguments:
|
|
|
69
69
|
help="Dump DetectionResult object to JSON file. If a path is given, the DetectionResult object is written to the given file, otherwise to detection_result_dump.json. Contents are equivalent to the json output. NOTE: This dump contains a dump of the PET Graph!",
|
|
70
70
|
)
|
|
71
71
|
parser.add_argument(
|
|
72
|
-
"--enable-patterns", type=str, nargs="?", default="
|
|
73
|
-
help="Specify comma-separated list of pattern types to be identified. Options: reduction,doall,pipeline,geodec,simplegpu. Default:
|
|
72
|
+
"--enable-patterns", type=str, nargs="?", default="reduction,doall,pipeline,geodec",
|
|
73
|
+
help="Specify comma-separated list of pattern types to be identified. Options: reduction,doall,pipeline,geodec,simplegpu. Default: reduction,doall,pipeline,geodec",
|
|
74
74
|
)
|
|
75
75
|
parser.add_argument("--load-existing-doall-and-reduction-patterns", action="store_true", help="Skip pattern detection and insert existing patterns.json contents into the created detection_result.json")
|
|
76
76
|
parser.add_argument("--log", type=str, default="WARNING", help="Specify log level: DEBUG, INFO, WARNING, ERROR, CRITICAL")
|
|
@@ -104,6 +104,9 @@ def parse_args() -> ExplorerArguments:
|
|
|
104
104
|
"--llvm-cxxfilt-path", type=str, default=None,
|
|
105
105
|
help="Path to llvm-cxxfilt executable. Required for task pattern detector if non-standard path should be used.",
|
|
106
106
|
)
|
|
107
|
+
experimental_parser.add_argument(
|
|
108
|
+
"--enable-statistics", action="store_true", help="Disable the calculation and storing of statistics for code and generated suggestions."
|
|
109
|
+
)
|
|
107
110
|
# fmt: on
|
|
108
111
|
|
|
109
112
|
arguments = parser.parse_args()
|
|
@@ -156,10 +159,11 @@ def parse_args() -> ExplorerArguments:
|
|
|
156
159
|
log_level=arguments.log.upper(),
|
|
157
160
|
write_log=arguments.write_log,
|
|
158
161
|
load_existing_doall_and_reduction_patterns=arguments.load_existing_doall_and_reduction_patterns,
|
|
162
|
+
collect_statistics=arguments.enable_statistics,
|
|
159
163
|
)
|
|
160
164
|
|
|
161
165
|
|
|
162
|
-
def main():
|
|
166
|
+
def main() -> None:
|
|
163
167
|
arguments = parse_args()
|
|
164
168
|
setup_logger(arguments)
|
|
165
169
|
run(arguments)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file is part of the DiscoPoP software (http://www.discopop.tu-darmstadt.de)
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2020, Technische Universitaet Darmstadt, Germany
|
|
4
|
+
#
|
|
5
|
+
# This software may be modified and distributed under the terms of
|
|
6
|
+
# the 3-Clause BSD License. See the LICENSE file in the package base
|
|
7
|
+
# directory for details.
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from typing import List
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class LineID(str):
|
|
14
|
+
# simpler but still strong typing alternative:
|
|
15
|
+
# LineID = NewType("LineID", str) or remove __init__
|
|
16
|
+
def __init__(self, id_string: str):
|
|
17
|
+
# check format of newly created LineID's
|
|
18
|
+
if ":" not in id_string:
|
|
19
|
+
raise ValueError("Mal-formatted LineID: ", id_string)
|
|
20
|
+
split_id: List[str] = id_string.split(":")
|
|
21
|
+
if len(split_id) != 2:
|
|
22
|
+
raise ValueError("Mal-formatted LineID: ", id_string)
|
|
23
|
+
try:
|
|
24
|
+
int(split_id[0])
|
|
25
|
+
int(split_id[1])
|
|
26
|
+
except ValueError:
|
|
27
|
+
raise ValueError("Mal-formatted LineID: ", id_string)
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
# This software may be modified and distributed under the terms of
|
|
6
6
|
# the 3-Clause BSD License. See the LICENSE file in the package base
|
|
7
7
|
# directory for details.
|
|
8
|
-
from
|
|
8
|
+
from __future__ import annotations
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
class MemoryRegion(str):
|
|
12
|
+
# simpler but still strong typing alternative:
|
|
13
|
+
def __init__(self, id_string: str):
|
|
14
|
+
super().__init__()
|
|
15
|
+
pass
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file is part of the DiscoPoP software (http://www.discopop.tu-darmstadt.de)
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2020, Technische Universitaet Darmstadt, Germany
|
|
4
|
+
#
|
|
5
|
+
# This software may be modified and distributed under the terms of
|
|
6
|
+
# the 3-Clause BSD License. See the LICENSE file in the package base
|
|
7
|
+
# directory for details.
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from typing import List
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class NodeID(str):
|
|
14
|
+
# simpler but still strong typing alternative:
|
|
15
|
+
# NodeID = NewType("NodeID", str) or remove __init__
|
|
16
|
+
def __init__(self, id_string: str):
|
|
17
|
+
# check format of newly created NodeID's
|
|
18
|
+
if ":" not in id_string:
|
|
19
|
+
raise ValueError("Mal-formatted NodeID: ", id_string)
|
|
20
|
+
split_id: List[str] = id_string.split(":")
|
|
21
|
+
if len(split_id) != 2:
|
|
22
|
+
raise ValueError("Mal-formatted NodeID: ", id_string)
|
|
23
|
+
try:
|
|
24
|
+
int(split_id[0])
|
|
25
|
+
int(split_id[1])
|
|
26
|
+
except ValueError:
|
|
27
|
+
raise ValueError("Mal-formatted NodeID: ", id_string)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# This file is part of the DiscoPoP software (http://www.discopop.tu-darmstadt.de)
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2020, Technische Universitaet Darmstadt, Germany
|
|
4
|
+
#
|
|
5
|
+
# This software may be modified and distributed under the terms of
|
|
6
|
+
# the 3-Clause BSD License. See the LICENSE file in the package base
|
|
7
|
+
# directory for details.
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from typing import TYPE_CHECKING, List
|
|
11
|
+
|
|
12
|
+
from discopop_explorer.classes.PEGraph.Node import Node
|
|
13
|
+
from discopop_explorer.enums.NodeType import NodeType
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from discopop_explorer.classes.variable import Variable
|
|
17
|
+
from discopop_explorer.aliases.NodeID import NodeID
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# Data.xml: type="0"
|
|
21
|
+
class CUNode(Node):
|
|
22
|
+
instructions_count: int = -1
|
|
23
|
+
basic_block_id = ""
|
|
24
|
+
return_instructions_count: int = -1
|
|
25
|
+
local_vars: List[Variable] = []
|
|
26
|
+
global_vars: List[Variable] = []
|
|
27
|
+
performs_file_io: bool = False
|
|
28
|
+
|
|
29
|
+
def __init__(self, node_id: NodeID):
|
|
30
|
+
super().__init__(node_id)
|
|
31
|
+
self.type = NodeType.CU
|