Changes between Version 24 and Version 25 of Public/User_Guide/OmpSs-2


Ignore:
Timestamp:
Jun 11, 2019, 5:10:07 PM (5 years ago)
Author:
Pedro Martinez-Ferror
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Public/User_Guide/OmpSs-2

    v24 v25  
    7575
    7676System affinity can be used to specify, for example, the ratio of MPI and OmpSs-2 processes for a hybrid application and can be modified by user request in different ways:
    77 * Via SLURM. However, if the affinity does not correspond to the resources requested like in the previous example, it should be reported to system admins.
     77* Via SLURM. However, if the affinity does not correspond to the resources requested like in the previous example, it should be reported to the system administrators.
    7878* Via the command `numactl`.
    7979* Via the command `taskset`.
     
    9494== Controlling available threads ==
    9595
    96 In order to limit or constraint the available threads for an application, the Unix ''taskset'' tool can be used to launch applications with a given thread affinity.  In order to use taskset, simply precede the application's binary with ''taskset'' followed by a list of CPU IDs specifying the desired affinity:
     96In order to limit or constraint the available threads for an application, the Unix **taskset** tool can be used to launch applications with a given thread affinity.  In order to use taskset, simply precede the application's binary with taskset followed by a list of CPU IDs specifying the desired affinity:
    9797
    9898`taskset -c 0,2-4 ./application`
    9999
    100 The example above will run ''application'' with 4 cores: 0, 2, 3, 4.
     100The example above will run **application** with 4 cores: 0, 2, 3, 4.
    101101
    102102== Dependency graphs ==
    103103
    104 Nanos6 allows for a graphical representation of data dependencies to be extracted. In order to generate said graph, run the application with the ''NANOS6'' environment variable set to ''graph'':
     104Nanos6 allows for a graphical representation of data dependencies to be extracted. In order to generate said graph, run the application with the **NANOS6** environment variable set to **graph**:
    105105
    106106`NANOS6=graph ./application`
     
    110110`NANOS6_GRAPH_SHORTEN_FILENAMES=1`
    111111
    112 The result will be a PDF file with several pages, each representing the graph at a certain point in time. For best results, we suggest to display the PDF with ''single page'' view, showing a full page and to advance page by page.
     112The result will be a PDF file with several pages, each representing the graph at a certain point in time. For best results, we suggest to display the PDF with **single page** view, showing a full page and to advance page by page.
    113113
    114114== Obtaining statistics ==
     
    116116Another equally interesting feature of Nanos6 is obtaining statistics. To do so, simply run the application as:
    117117
    118 `NANOS6=stats ./application` or `NANOS6=stats-papi ./application`
     118`NANOS6=stats ./application` or also `NANOS6=stats-papi ./application`
    119119
    120120The first collects timing statistics while the second also records hardware counters (compilation with PAPI is needed for the second). By default, the statistics are emitted standard error when the program ends.
     
    122122== Tracing with Extrae ==
    123123
    124 A ''trace.sh'' file can be used to include all the environment variables needed to get an instrumentation trace of the execution. The content of this file is as follows:
     124A **trace.sh** file can be used to include all the environment variables needed to get an instrumentation trace of the execution. The content of this file is as follows:
    125125
    126126{{{
     
    131131}}}
    132132
    133 Additionally, you will need to change your running script in order to invoke the program through this ''trace.sh'' script. Although you can also edit your running script adding all the environment variables related with the instrumentation, it is preferable to use this extra script to easily change between instrumented and non-instrumented executions. When in need to instrument your execution, simply include ''trace.sh'' before the program invocation. Note that the ‘’extrae.xml’’ file, which is used to configure the Extrae library to get a Paraver trace, is also needed.
     133Additionally, you will need to change your running script in order to invoke the program through this trace.sh script. Although you can also edit your running script adding all the environment variables related with the instrumentation, it is preferable to use this extra script to easily change between instrumented and non-instrumented executions. When in need to instrument your execution, simply include trace.sh before the program invocation. Note that the **extrae.xml** file, which is used to configure the Extrae library to get a Paraver trace, is also needed.
    134134
    135135= Example: Multisaxpy =
    136 
    137 The examples shown here are publicly available at [https://pm.bsc.es/gitlab/ompss-2/examples].
    138136
    139137Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/multisaxpy] and transfer it to a DEEP working directory.