From 61ac4b3d81f74ac58c254298de5befda5d065db2 Mon Sep 17 00:00:00 2001 From: adrianogarcia Date: Tue, 30 Nov 2021 10:43:09 -0300 Subject: [PATCH] Multiple source info --- docs/source/how_to_run.rst | 286 ------------------------------------- docs/source/index.rst | 4 + docs/source/install.rst | 2 +- 3 files changed, 5 insertions(+), 287 deletions(-) diff --git a/docs/source/how_to_run.rst b/docs/source/how_to_run.rst index d403e6c..eb1eccb 100644 --- a/docs/source/how_to_run.rst +++ b/docs/source/how_to_run.rst @@ -30,292 +30,6 @@ Basic concepts - PPI: It stands for Parallel Programming Interface, which means any library, framework, language, etc. that leverages parallelism. -SPBench CLI commands --------------------- - -Install -~~~~~~~ - -**Description:** - It install the dependencies for the SPBench benchmarks. - -**Optional arguments:** - - ``-app `` - Install dependencies only for the seleted application. - -Register -~~~~~~~~ - -**Description:** - It automatically sets the paths and generates new makefiles for all benchmarks. - -**Usage example:** - ``./spbench register`` - -New -~~~ - -**Description:** - It allows for creating a new benchmark based on a SPBench application. - This command will create a fresh copy of the selected application. - -**Required arguments:** - - ``-bench `` - Set a name for your new benchmark. - - - ``-app `` - You must insert an application ID. See (**applications page link**) for more details. - - - ``-ppi `` - We recommend inserting a name for the PPI you will use here. But you are free to insert any identification word. - -**Optional arguments:** - - ``-from `` (Optional) - Use this option to create your new benchmark as a copy of an existent benchmark. Insert the name of the benchmark you want to copy from - - - ``-nsources`` - Use this option to create a new benchmark with support for multiple sources - -**Usage example:** - - ``./spbench new -bench my_new_ferret_bench -app ferret -ppi stdthreads`` - - -Edit -~~~~~~~~ - -**Description:** - It opens a choosen benchmark for editing the source code. - -**Required arguments:** - - ``-bench `` - -**Optional arguments:** - - ``-editor `` (Default: nano) - You can select a different text editor available in your machine. - -**Usage example:** - ``./spbench edit -bench ferret_sequential -editor vim`` - -Configure -~~~~~~~~ - -**Description:** - It allows users to add compiling dependencies for a benchmark. - It opens a JSON configuration file for users to write the required dependencies. - -**Required arguments:** - - ``-bench `` - -**Optional arguments:** - - ``-editor `` (Default: nano) - You can select a different text editor available in your machine. - -**Usage example:** - ``./spbench configure -bench ferret_sequential -editor vim`` - -Exec -~~~~ - -**Description:** - -**Required arguments:** - - ``-bench `` - Name of the benchmark to execute. - - - ``-input `` - Insert an input ID (run ``./spbench list-inputs``). - You can also insert multiple inputs for multiple source benchmarks. - -**Optional arguments:** - - - ``-batch `` - It can be used to change the batch size (default: 1). - - - ``-frequency `` (microsecond) - Items will be generated in a constant frequency at source. - You must indicate a time interval in MICROseconds, e.g. 1000 (= 1 millisecond). - The minimum frequency you can set is 0 microsecond. - However, the actual minimum limit will be defined by your system's memory access speed. - E.g., the command ``-frequency 0`` is equivalent to ``-in-memory``. - - - ``-nthreads `` - A global variable that can be used to change the number of threads for the parallel benchmarks. - - - ``-in_memory`` - It runs the application in in-memory mode. - - - ``-latency`` - Print average latency results at the end of the execution. - - - ``-throughput`` - Print the average throughput at the end of the execution. - - - ``-resource-usage`` - It prints the global memory and CPU usage at the end of the execution. - - - ``-monitor `` (millisecond) - Use this option to monitor latency, throughput, CPU and memory usage. - You must indicate a monitoring time interval in milliseconds (e.g. 250). - - - ``-latency-monitor`` - It monitors latency per stage and per item and generates a log file. - - - ``-user-arg `` - User custom argument. Allow users to pass one or more arguments to use inside the benchmarks. - Single argument: [-user-arg single_argument] or [-user-arg "single argument"]. - Multiple arguments: [-user-arg two arguments] or [-user-arg two -user-args arguments]. - - - ``-test-result`` - This option will run a correctness test on the output (when available) after the benchmark execution. - - - ``-d`` (Bzip2 only) - Enables decompress mode for Bzip2 benchmarks. - -**Usage example:** - - - ``./spbench exec -bench ferret_tbb_farm -input small -nthreads 8`` - Simple run. - - - ``./spbench exec -bench lane_sequential -input medium -latency -throughput -resource-usage -test-result`` - Running with basic metrics and result testing. - - - ``./spbench exec -bench bzip2_ff_farm -d -input large -nth 6 -latency-monitor -monitor 300`` - Running Bzip2 in decompress mode with monitoring metrics enabled. - - - ``./spbench exec -bench person_seq_ns -input large -input my_custom_input -in-memory`` - Running multiple source Person Recognition benchmark with two inputs and in-memory enabled. - - - ``./spbench exec -bench my_custom_bench -input small -batch 4 -frequency 50000 -user-arg "My awesome argument"`` - Running a custom benchmark with batch size = 4 and inter-item delay of 50 ms, plus a custom argument. - - -List -~~~~ - -**Description:** - This command lists all SPBench benchmarks, including user's custom benchmarks. - -**Optional arguments:** - - ``-app `` - Lists only benchmarks based on the given application. - -**Usage example:** - ``./spbench list`` - -Delete -~~~~~~ - -**Description:** - It completely deletes a given benchmark. - -**Required arguments:** - - ``-bench `` - Name of the benchmark to delete. - -**Usage example:** - ``./spbench delete -bench my_not_so_awesome_bench`` - -New-input -~~~~~~~~~ - -**Description:** - It allows for adding an alias for a custom input. - The chosen alias will be registered for future uses. - You must use this option to run the benchmarks using other workloads than the ones provided by SPBench. - -**Required arguments:** - - ``-id `` - Set a name for your new input (existent entries will be replaced) - - - ``-app `` - Insert an application from the SPBench suite. - - - ``-input ""`` - You must insert the input string (e.g., "/home/user/my_input_file ...") - -**Optional arguments:** - - ``-md5 `` - SPBench uses the associated md5 hash to check the correctness of the result for this input (Optional). - ATTENTION: do not insert the input file resulting md5 hash here. - You must insert the md5 hash regarding the output file. - See the respective documentation for more details (LINK)(FORTHCOMING) - -**Usage example:** - ``./spbench new-input -id immensely_large -app bzip2 -input "/home/me/awesome_songs/never_gonna_give_you_up-remix.mp3"`` - -Delete-input -~~~~~~~~~~~~ - -**Description:** - Delete a given input ID from the SPBench inputs registry. - It does not delete the associated files. - -**Required arguments:** - - ``-id `` - Insert the ID of the input to delete. - - - ``-app `` - Insert the associated app for the given input. - -**Usage example:** - ``./spbench delete-input -id my_super_extra_medium_input -app lane_detection`` - -Rename -~~~~~~ - -**Description:** - This command can be used to change the name of a given benchmark inside SPBench. - -**Required arguments:** - - ``-old-name `` - Insert the old and existent benchmark ID. - - - ``-new-name `` - Insert the new ID. - -**Usage example:** - ``./spbench -old my_certainly_working_bench -new my_bench-v0.1-alpha`` - -List-inputs -~~~~~~~~~~~ - -**Description:** - This command lists all application's inputs provided by SPBench, including users custom ones. - -**Optional arguments:** - - ``-app `` - Lists only inputs based on the given application. - -**Usage example:** - ``./spbench list-inputs`` - - -Download-inputs -~~~~~~~~~~~~~~~ - -**Description:** - Download the inputs for the SPBench benchmarks. - -**Optional arguments:** - - ``-app `` - Use this option for downloading inputs for a specific application. - - - ``-class `` (It applies only for Bzip2) - You can insert the class of workload you want to download (leave it empty to download all classes). - Possible options: all, small, medium, large. - - - ``-force`` - Use this option to delete any respective input file and download it again. - - -**Usage example:** - - ``./spbench download-inputs`` (recommended) - It will download everything. - - - ``./spbench download-inputs -app bzip2 -class small -force`` - Bzip2 has some large files to download, so users can use this option to avoid downloading everything. - How to use ---------- diff --git a/docs/source/index.rst b/docs/source/index.rst index d4be361..b7f85d3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -59,6 +59,10 @@ Contents .. toctree:: install + basic_concepts + SPBench_benchmarks + CLI + workloads how_to_run copying usage diff --git a/docs/source/install.rst b/docs/source/install.rst index 6b2c480..47fd6cb 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -29,7 +29,7 @@ Or choose a specific application: .. code-block:: bash - ./spbench install -app + ./spbench install -app Run ``./spbench install -h`` for more info. -- GitLab