Changes between Version 36 and Version 37 of Public/User_Guide/OmpSs-2


Ignore:
Timestamp:
Jun 14, 2019, 3:47:45 PM (5 years ago)
Author:
Pedro Martinez-Ferror
Comment:

Legend:

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

    v36 v37  
    77* [#QuickSetuponDEEPSystemforaPureOmpSs-2Application Quick Setup on DEEP System for a Pure OmpSs-2 Application]
    88* [#UsingtheRepositories Using the Repositories]
    9 * [#multisaxpybenchmarkOmpSs-2 multisaxpy benchmark (OmpSs-2)]
    10 * [#dot-productbenchmarkOmpSs-2 dot-product benchmark (OmpSs-2)]
    11 * [#mergesortbenchmarkOmpSs-2 mergesort benchmark (OmpSs-2)]
    12 * [#nqueensbenchmarkOmpSs-2 nqueens benchmark (OmpSs-2)]
    13 * [#matmulbenchmarkOmpSs-2 matmul benchmark (OmpSs-2)]
    14 * [#CholeskybenchmarkOmpSs-2MKL Cholesky benchmark (OmpSs-2+MKL)]
    15 * [#nbodybenchmarkMPI+OmpSs-2TAMPI nbody benchmark (MPI+OmpSs-2+TAMPI)]
    16 * [#heatbenchmarkMPI+OmpSs-2TAMPI heat benchmark (MPI+OmpSs-2+TAMPI)]
     9* Examples:
     10  * [#AStep-By-StepDetailedGuidetoExecutetheMultisaxpyBenchmark A Step-By-Step Detailed Guide to Execute the Multisaxpy Benchmark (OmpSs-2)]
     11  * [#Dot-productBenchmarkOmpSs-2 Dot-product Benchmark (OmpSs-2)]
     12  * [#MergesortBenchmarkOmpSs-2 Mergesort Benchmark (OmpSs-2)]
     13  * [#NqueensBenchmarkOmpSs-2 Nqueens Benchmark (OmpSs-2)]
     14  * [#MatmulBenchmarkOmpSs-2 Matmul Benchmark (OmpSs-2)]
     15  * [#CholeskyBenchmarkOmpSs-2MKL Cholesky Nenchmark (OmpSs-2+MKL)]
     16  * [#NbodyBenchmarkMPI+OmpSs-2TAMPI Nbody Nenchmark (MPI+OmpSs-2+TAMPI)]
     17  * [#HeatBenchmarkMPI+OmpSs-2TAMPI Heat Benchmark (MPI+OmpSs-2+TAMPI)]
    1718
    1819----
     
    9798All the examples shown here are publicly available at [https://pm.bsc.es/gitlab/ompss-2/examples].  Users must clone/download each example's repository and then transfer it to a DEEP working directory.
    9899
    99 == System configuration ==
     100== System Configuration ==
    100101
    101102Please refer to section [#QuickSetuponDEEPSystem Quick Setup on DEEP System] to get a functional version of !OmpSs-2 on DEEP. It is also recommended to run !OmpSs-2 via an interactive session on a cluster module (CM) node.
    102103
    103 == Building and running the examples ==
     104== Building and Running the Examples ==
    104105
    105106All the examples come with a Makefile already configured to build (e.g. `make`) and run (e.g. `make run`) them.  You can clean the directory with the command `make clean`.
    106107
    107 == Controlling available threads ==
     108== Controlling the Available Threads ==
    108109
    109110In 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:
     
    113114The example above will run **application** with 4 cores: 0, 2, 3, 4.
    114115
    115 == Dependency graphs ==
     116== Creating Dependency Graphs ==
    116117
    117118Nanos6 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**:
     
    125126The 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.
    126127
    127 == Obtaining statistics ==
     128== Obtaining Statistics ==
    128129
    129130Another equally interesting feature of Nanos6 is obtaining statistics. To do so, simply run the application as:
     
    148149----
    149150
    150 = multisaxpy benchmark (!OmpSs-2) =
     151= Multisaxpy Benchmark (!OmpSs-2) =
    151152
    152153Users 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.
     
    158159There are **7 implementations** of this benchmark.
    159160
    160 == Execution instructions ==
     161== Execution Instructions ==
    161162
    162163`./multisaxpy SIZE BLOCK_SIZE INTERATIONS`
     
    167168* `ITERATIONS` is the number of times the SAXPY operation is executed.
    168169
    169 == Example output ==
     170== Example Output ==
    170171
    171172{{{
     
    222223
    223224
    224 = dot-product benchmark (!OmpSs-2) =
     225= Dot-product Benchmark (!OmpSs-2) =
    225226
    226227Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/dot-product] and transfer it to a DEEP working directory.
     
    232233There are **3 implementations** of this benchmark.
    233234
    234 == Execution instructions ==
     235== Execution Instructions ==
    235236
    236237`./dot_product SIZE CHUNK_SIZE`
     
    248249
    249250
    250 = mergesort benchmark (!OmpSs-2) =
     251= Mergesort Benchmark (!OmpSs-2) =
    251252
    252253Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/mergesort] and transfer it to a DEEP working directory.
     
    258259There are **6 implementations** of this benchmark.
    259260
    260 == Execution instructions ==
     261== Execution Instructions ==
    261262
    262263`./mergesort N BLOCK_SIZE`
     
    275276
    276277
    277 = nqueens benchmark (!OmpSs-2) =
     278= Nqueens Benchmark (!OmpSs-2) =
    278279
    279280Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/nqueens] and transfer it to a DEEP working directory.
     
    287288There are **7 implementations** of this benchmark.
    288289
    289 == Execution instructions ==
     290== Execution Instructions ==
    290291
    291292`./n-queens N [threshold]`
     
    306307
    307308
    308 = matmul benchmark (!OmpSs-2) =
     309= Matmul Benchmark (!OmpSs-2) =
    309310
    310311Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/matmul] and transfer it to a DEEP working directory.
     
    317318There are **3 implementations** of this benchmark.
    318319
    319 == Execution instructions ==
     320== Execution Instructions ==
    320321
    321322`./matmul N M P BLOCK_SIZE`
     
    337338
    338339
    339 = Cholesky benchmark (!OmpSs-2+MKL) =
     340= Cholesky Benchmark (!OmpSs-2+MKL) =
    340341
    341342Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/cholesky] and transfer it to a DEEP working directory.
     
    357358For the graph instrumentation, it is recommended to view the resulting PDF in single page mode and to advance through the pages. This will show the actual instantiation and execution of the code. For the extrae instrumentation, extrae must be loaded and available at least through the `LD_LIBRARY_PATH` environment variable.
    358359
    359 == Execution instructions ==
     360== Execution Instructions ==
    360361
    361362`./cholesky SIZE BLOCK_SIZE`
     
    375376
    376377
    377 = nbody benchmark (MPI+!OmpSs-2+TAMPI) =
     378= Nbody Benchmark (MPI+!OmpSs-2+TAMPI) =
    378379
    379380Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/nbody] and transfer it to a DEEP working directory.
     
    390391The interoperability versions (MPI+!OmpSs-2+TAMPI) are compiled only if the environment variable `TAMPI_HOME` is set to the Task-Aware MPI (TAMPI) library's installation directory.
    391392
    392 == Execution instructions ==
     393== Execution Instructions ==
    393394
    394395The binaries accept several options. The most relevant options are the number
     
    409410
    410411
    411 = heat benchmark (MPI+!OmpSs-2+TAMPI) =
     412= Heat Benchmark (MPI+!OmpSs-2+TAMPI) =
    412413
    413414Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/heat] and transfer it to a DEEP working directory.
     
    424425The interoperability versions (MPI+!OmpSs-2+TAMPI) are compiled only if the environment variable `TAMPI_HOME` is set to the Task-Aware MPI (TAMPI) library's installation directory.
    425426
    426 == Execution instructions ==
     427== Execution Instructions ==
    427428
    428429The binaries accept several options. The most relevant options are the size
     
    445446----
    446447
    447 = krist benchmark (!OmpSs-2+CUDA) =
     448= Krist Benchmark (!OmpSs-2+CUDA) =
    448449
    449450Users must clone/download this example's repository from [https://pm.bsc.es/gitlab/ompss-2/examples/krist] and transfer it to a DEEP working directory.
     
    455456There are **2 implementations** of this benchmark, ''krist'' and ''krist-unified'' using regular and unified CUDA memory, repectively.
    456457
    457 == Execution instructions ==
     458== Execution Instructions ==
    458459
    459460`./krist N_A N_R`