Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software . 2019
License: CC BY
Data sources: Datacite
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software . 2019
License: CC BY
Data sources: Datacite
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software . 2019
License: CC BY
Data sources: ZENODO
versions View all 2 versions
addClaim

[Artifact] BOLT: Optimizing OpenMP Parallel Regions with User-Level Threads

Authors: Shintaro Iwasaki; Abdelhalim Amer; Kenjiro Taura; Sangmin Seo; Pavan Balaji;

[Artifact] BOLT: Optimizing OpenMP Parallel Regions with User-Level Threads

Abstract

PACT '19: Artifact of BOLT This is the artifact of the following paper: Shintaro Iwasaki, Abdelhalim Amer, Kenjiro Taura, Sangmin Seo, and Pavan Balaji, "BOLT: Optimizing OpenMP Parallel Regions with User-Level Threads," in Proceedings of the 28th International Conference on Parallel Architectures and Compilation Techniques (PACT '19), Sept. 2019 Briefly speaking, the following commands can install, build, and run programs, and plot data. Every step will be explained in the following sections. ## on a compute/login node sh download.sh ## on Intel Skylake 8180 (or any machine that has AVX 512F) # need CMake > 3.4.3 and Intel C/C++ Compilers 2017.2.174 sh build.sh sh run.sh nested_loop sh run.sh kifmm # we did the following experiment on KNL, but it works on Skylake as well sh run.sh qbox_fftw ## on your laptop python plot/plot_nested_loop.py log/nested_loop/190101_0001_xxx.log python plot/plot_qbox_fftw.py log/qbox_fftw/190102_0001_yyy.log python plot/plot_kifmm.py log/kifmm/190103_0001_zzz.log We note that these scripts do not install any packages; all files created are in this experiment directory. Software Prerequisite - Basic Linux utilities - Including bash/make/gcc/g++/autotools/wget/git/tar - CMake >= 3.4.3 - Necessary to build Clang/LLVM 7.0 - Intel C/C++ Compiler 2017.2.174 (and MKL) - This test suite should work with (reasonably) recent Intel C/C++ Compilers EXCEPT KIFMM. KIFMM REQUIRES MKL 2017.2.174 AND INTEL SKYLAKE 8180; at least our current MKL trick does not work on Intel KNL 7210 as far as we checked; maybe the benchmark works with different versions, but we have not confirmed. - Python2 + matplotlib - Necessary to plot graphs Hardware Prerequisite - Connection to the Internet - download.sh obtains some files via external websites. - Intel CPU that has AVX512F - All benchmarks assume the existence of AVX512F. Please check if avx512f appears in /proc/cpuinfo. How to download all the necessary files? # Please check if the compute node (or the login node if the file system is shared) is connected to the Internet # All files are downloaded to archive/ sh download.sh If you want to download files on the local machine and then copy them to the remote nodes, please check Q&A “GCC is not properly installed. Why?”. How to build all the necessary programs? # Please check the availability of icc, icpc, and cmake > 3.4.3 # Please compile scripts on a compute node (e.g., not a login node) sh build.sh This does not install programs locally (e.g., /usr/bin). Consequently, no root permission is required. How to run experiments? # All log files are put in log/ sh run.sh nested_loop sh run.sh qbox_fftw # Please be sure that you run KIFMM on Skylake 8180 with MKL 2017.2.174; the # correct behavior is not guaranteed in other environments. sh run.sh kifmm How to plot data? # All outputs (pdfs) are placed in pdfs/ python plot/plot_nested_loop.py log/nested_loop/190101_0001_xxx.log python plot/plot_qbox_fftw.py log/qbox_fftw/190102_0001_yyy.log python plot/plot_kifmm.py log/kifmm/190103_0001_zzz.log Q&A Benchmarks do not run because of illegal instructions. Why? Although it is not critical to evaluate BOLT itself, all the benchmarks currently require AVX512F. Please check if your machine supports it. GCC was not properly installed. Why? It might happen if you copy the files to somewhere else. Please see the following issue: https://stackoverflow.com/questions/33278928/how-to-overcome-aclocal-1-15-is-missing-on-your-system-warning/33279062 KIFMM hangs with BOLT. Why? KIFMM requires Intel C/C++ + MKL 2017.2.174 and Intel Skylake 8180. In another environment, you might need to rewrite kifmm/fmm/mkl_yield.c properly. How to reproduce performance? Please check the paper for the detailed experimental environments. The turbo boost feature must be turned off. How to uninstall this artifact? Please just remove this folder. Our scripts do not specifically create files in /tmp, but some external packages might do so while installation process. Note that this script does not change environmental variables (unless you use source). How to customize experiments? Unfortunately, we do not have a portable interface. Please see scripts and change the values directly. Link Our experiments specifically are based on the following softwares. We thank all researchers and developers who develop and maintain them. Compilers/Runtimes – Clang/LLVM (https://llvm.org/) – GCC (https://gcc.gnu.org/) – Intel C/C++ Compilers and MKL (https://software.intel.com/en-us/compilers/) – LLVM OpenMP (https://openmp.llvm.org/) – MPC (http://mpc.hpcframework.paratools.com/) – OMPi/psthreads (http://paragroup.cse.uoi.gr/wpsite/software/ompi/) – OmpSs (https://pm.bsc.es/ompss/) – Argobots (https://www.argobots.org/) – BOLT (https://bolt-omp.org/) Applications/Libraries – FFTW3 (http://www.fftw.org/) – KIFMM (https://github.com/jeewhanchoi/kifmm–hybrid–double-only/) – Qbox (https://computation.llnl.gov/projects/qbox-computing-structures-quantum-level/) For the users’ convenience, this artifact includes some packages by default, but if you are interested in the latest version, please follow a link and download the latest package. Acknowledgment Please see the acknowledgment in the paper. We’d also like to thank all the paper and artifact reviewers. License Please check each software package. Primary Contact Shintaro Iwasaki (siwasaki@anl.gov / iwasaki@eidos.ic.i.u-tokyo.ac.jp)

Related Organizations
  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 5
  • 5
    views
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
0
Average
Average
Average
5