1- [ ![ Build Status] ( https://travis-ci.org/UIUC-PPL/projections.svg?branch=master )] ( https://travis-ci.org/UIUC-PPL/projections )
1+ # Projections
2+
3+ ![ Projections CI] ( https://github.com/UIUC-PPL/projections/workflows/Projections%20CI/badge.svg?event=push )
4+ [ ![ Documentation Status] ( https://readthedocs.org/projects/charm/badge/?version=latest )] ( https://charm.readthedocs.io/en/latest/projections/manual.html )
5+ [ ![ DOI] ( https://zenodo.org/badge/86751036.svg )] ( https://zenodo.org/badge/latestdoi/86751036 )
6+
27
38Projections is a tool to visusalize execution traces of Charm++ and AMPI applications.
49
5- # Compiling Projections
10+ ## Compiling Projections
611
7121 ) Make sure the JDK commands ` java ` , ` javac ` and ` jar `
8- are in your path. You should use at least Java version 1.6 ,
13+ are in your path. You should use at least Java version 8 ,
914 and your java and javac should be of the same version.
1015 You also need [ ` gradle ` ] ( https://gradle.org/ ) and, optionally,
1116 the GNU tool ` make ` .
@@ -21,11 +26,11 @@ Projections is a tool to visusalize execution traces of Charm++ and AMPI applica
2126 ` projections.jar ` : archive of all the java and image files
2227
2328
24- # Running Projections
29+ ## Running Projections
2530
2631Run ` $ ./bin/projections ` from the root of the Projections directory.
2732
28- # Using Projections
33+ ## Using Projections
2934
3035Projections is a visualization tool to help you understand and analyze what it
3136happening in your parallel (Charm++) program. To use Projections, you first
737818 . Streaming CCS
747919 . Memory Usage
7580
76- ## Tool descriptions
81+ ### Tool descriptions
7782
78- ### 1. Timelines
83+ #### 1. Timelines
7984
8085The Timelines window lets you look at what a specific processor is doing at
8186each moment of the program.
@@ -183,7 +188,7 @@ The Timeline Window consists of two parts:
183188 into the selected area or reload the selected area.
184189
185190
186- ### 2. Usage Profile:
191+ #### 2. Usage Profile:
187192
188193The Usage Profile window lets you see percentage-wise what each processor
189194spends its time on during a specified period.
@@ -207,23 +212,23 @@ portion of the bar, a pop-up window will appear telling you the name of the
207212item, what percent of the usage it has, and the processor it is on.
208213
209214
210- ### 3. Communication Per Processor:
215+ #### 3. Communication Per Processor:
211216
212217This tool shows communication over the interval per selected
213218PE. This view is in the processor domain. It can show the number of
214219messages or bytes sent or received, depending on the option
215220selected at the bottom of the window.
216221
217222
218- ### 4. Communication Over Time:
223+ #### 4. Communication Over Time:
219224
220225This tool shows communication over time across all selected PEs.
221226This view is in the time domain. It can show the number of messages
222227or bytes sent or received, depending on the option selected at the
223228bottom of the window.
224229
225230
226- ### 5. Call Table:
231+ #### 5. Call Table:
227232
228233This tool shows all the entry methods invoked by other entry
229234methods. The left aligned entry method name indicates the current
@@ -234,22 +239,22 @@ or the number of total messages received, bytes received, and
234239statistics on the received bytes, respectively.
235240
236241
237- ### 6. View Log Files:
242+ #### 6. View Log Files:
238243
239244This tool shows raw log files for the selected PEs and time
240245interval. The log files are parsed by Projections and event types,
241246entry method names, etc. are printed rather than the raw integers
242247of the actual logs.
243248
244249
245- ### 7. Histograms:
250+ #### 7. Histograms:
246251
247252This tool creates histograms for various properties of the program,
248253execution time, accumulated execution time, message size, and idle
249254percentage.
250255
251256
252- ### 8. Overview:
257+ #### 8. Overview:
253258
254259This tool shows a high level overview of execution across the
255260selected PEs and time interval. It displays a dense, quantized view
@@ -258,7 +263,7 @@ or utilization. Essentially, it provides a coarser view of the
258263same information as Timeline (see #1 ).
259264
260265
261- ### 9. Animations:
266+ #### 9. Animations:
262267
263268This window animates the processor usage by displaying
264269different colors for different amount of usage.
@@ -267,7 +272,7 @@ The left box allows you to select the real time between frames;
267272the right box the processor time between frames.
268273
269274
270- ### 10. Time Profile:
275+ #### 10. Time Profile:
271276
272277This tool shows execution across the selected PEs and time
273278interval. This view is in the time domain. This tool shows a high
@@ -278,71 +283,71 @@ Essentially, it provides a coarser view of the same information as
278283Timeline (see #1 ).
279284
280285
281- ### 11. Performance Counters:
286+ #### 11. Performance Counters:
282287
283288This tool shows the values of performance counters per entry point
284289and PE. This option is disabled unless Charm++ was compiled with
285290support for PAPI counters.
286291
287292
288- ### 12. User Events:
293+ #### 12. User Events:
289294
290295This tool shows the summation of bracketed user events per PE
291296across the selected PEs and time interval.
292297
293298
294- ### 13. User Stats Over Time:
299+ #### 13. User Stats Over Time:
295300
296301This tool shows the values of user stats over the program execution
297302across the selected PEs and time interval. This view is in the
298303time domain.
299304
300305
301- ### 14. User Stats Per Processor:
306+ #### 14. User Stats Per Processor:
302307
303308This tool shows the values of user stats per PE
304309across the selected PEs and time interval. This view is in the
305310PE domain.
306311
307312
308- ### 15. Extrema Analysis:
313+ #### 15. Extrema Analysis:
309314
310315This tool identifies extreme clusters of particular attributes
311316through the execution. The attribute, activity, extrema threshold,
312317and number of clusters are customizable when selecting a time range.
313318
314319
315- ### 16. Multirun Analysis:
320+ #### 16. Multirun Analysis:
316321
317322This tool compares multiple executions of a program to each other,
318323showing how time spent in entry methods changes across the
319324execution. Currently, this view only works with summary data due to
320325memory constraints.
321326
322327
323- ### 17. Noise Miner:
328+ #### 17. Noise Miner:
324329
325330This tool identifies abnormally long entry methods to detect
326331symptoms consistent with computational noise. Long events are
327332filtered and clustered to provide a summary of such occurrences.
328333
329334
330- ### 18. Streaming CCS:
335+ #### 18. Streaming CCS:
331336
332337This tool uses the Converse Client Server feature of Charm++ to
333338stream performance data from running programs. To use it, the
334339Charm++ program must be compiled with ` -tracemode utilization ` , and
335340executed with ` ++server ++server-port <port number> ` .
336341
337342
338- ### 19. Memory Usage:
343+ #### 19. Memory Usage:
339344
340345This tool provides a view of memory utilization in the application
341346when it is linked with the memory tracing module.
342347
343348
344349
345- # Notes
350+ ## Notes
346351
347352Charts in some tools are produced by JFreeChart.
348353Image output is performed by FreeHEP.
0 commit comments