![]() |
Cube GUI User Guide
(CubeGUI 4.5-release-preview, revision 18228)
Introduction in Cube GUI and its usage
|
Here user gets a rough overview of his code and finds a list of a possible optimisation candidates based on very basic metrics.
To perform Overview analyses Advisor defines series of tests which it evaluates. The range of values are defines from 0 to max, usualy it is 1, indicating the "goodness" or "badness" of some aspect.
There are basic tests and some, which do combine series of another tests as wighted average.
This test displays amount of time spend in the calls which are there solely for the communication of data between differnt calculation partners (ranks). These calls do not contribute to the precision of the problem calculation or improve the domain size of the problem, but unavoidable for the calculation.
Ideal calculation spends it runtime solely in useful calculation and not in the communication.
This test cannot be "missing"
This test displays amount of time spend in the calls which are there solely for the algorithm management, such as barriers, initializations, finalizations and similar. These calls do not contribute to the precision of the problem calculation or improve the domain size of the problem, but unavoidable for the calculation.
Ideal calculation spends it runtime solely in useful calculation and not in the algorithm management.
This test cannot be "missing"
This test estimates how far the non-computation (communication, management, etc.) code in selected call path is far from being perfectly balanced over the available system resources (threads)
0 indicates that the whole runtime has been spend by single thread, 1 - equaly distributed over all available threads.
This test cannot be "missing"
This test displays amount ot time spend doing IO operations, which by their nature are not a part of any usefull calculation but to initialize or finalize the actual computation.
Ideally an application should have as less IO as possible
This test cannot be "missing"
This test displays amount ot time spend performing some GPU operations, such as seinding data to the GPU memory or receiving it. Computation withing GPU is classified as a "computation" and doesn't comtribute to this test.
Ideally an application should have as less GPU management code as possible
This test cannot be "missing"
This test combines in a normalized average together "Non computation load balance", "Management overhead", "Communication overhead" "IO Overhead" and "GPU overhead".
This test will reach its maximal value (1) only if all basic tests are reaching 1.
Ideal application should try to minimae all four components.
This test cannot be "missing"
This test estimates how far the computation (useful user code) code in selected call path is far from being perfectly balanced over the available system resources (threads)
0 indicates that the whole runtime has been spend by single thread, 1 - equaly distributed over all available threads.
This test cannot be "missing"
This test combines all basic tests of the computation code. Currently it is only "Computation Load Balance" hence, it is identical.
This test cannot be "missing"
Advisor estimates an overall performance rating of the application by combining different tests, such as "Overall Computation Performance" and "Overall Management Performance"
Both aspects need to be maximized in order to get a maximum "Overall Performance" value.
This test cannot be "missing"
![]() |
Copyright © 1998–2017 Forschungszentrum Jülich GmbH,
Jülich Supercomputing Centre
Copyright © 2009–2015 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming |