Nothing Special   »   [go: up one dir, main page]

skip to main content
10.6084/m9.figshare.5673880.v1artifactsShow Digital ObjectDigital ObjectsSoftware

Description

This is the artifact for the paper titled “POKER: Permutation-based SIMD Execution of Intensive Tree Search by Path EncodingÝ accepted at CGO 2018. This artifact helps reproduce the results presented in Figures 7 - 9 and Tables 2 - 3 in Section 4. For more information on how to use it, please refer to our paper and the README.txt file in this package. Please note that POKER is a work in progress. This artifact is a snapshot of this work and thus is only applicable under the experimental settings described in this paper. Please feel free to contact the authors if you have any questions.


Instructions

General Installation

Software Dependencies:

The GNU Standard C++ Library (libstdc++) is needed for both single- and multi-threaded runs, and the Intel Openmp runtime library (libiomp5.so) is additionally required for multi-threaded runs. To inspect the experimental results in a visually pleasing manner, the following software tools are also needed: - python (version 2.7.12), - matplotlib (version 1.5.3), - numpy (version 1.13.0), and - texlive (version 6.2.1), including the pdfcrop tool.

Hardware Dependencies:

All the approaches are evaluated on an Intel Broadwell 8-core processor that supports both 128-bit SSE and 256-bit AVX2 SIMD extensions. The page size is 4KB. For all three levels of cache available, the cache line size is 64B. For a single-threaded run (Figures 7 - 8 and Tables 2 - 3), about 10GB of memory is required. For a multi-threaded run (Figure 9), about 50GB of memory is required, in which case, Intel Hyper-Threading and Turbo Boost (if supported) need to be disabled, and in addition, distinct Openmp threads need to be bound to distinct cores.

General Installation:

Copy all the downloaded executables, scripts and data to the machine where the artifact will be evaluated.

Experimental Installation

Work Flows:

We have provided scripts to run all the executables and generated the results in the PDF format as follows: 1. Specify the number of runs: This is determined by a variable named run_cnt in the following file: vim cgo18_ae/set_global_env.sh The execution time of a program is computed as the average of these runs. Each run will take about 10 hours. 2. Run the script: cd cgo18_ae ./generate_all.sh 3. Observe the results: All the results are generated in the following PDF file: cgo18_ae/latex/artifact_evaluation.pdf

Evaluation:

The generated PDF file includes: - Figure 7: single-threaded speedups - Figure 8: Gather vs. Poker - Figure 9: multi-threaded speedups - Table 2: benchmark characteristics - Table 3: speedups for different data types


Comments

Please enable JavaScript to view thecomments powered by Disqus.