Coder Social home page Coder Social logo

sc20-memxct's Introduction

Reproducibility: Performance Evaluation of MemXCT on Azure CycleCloud Platform

Specification

Compile

  • To compile the code, first use spack to load the Intel parallel studio 2019.5 compiler, then run make in the released code folder.

Figure

  • preprocessing script

    • The script process_logs.py can be run by python process_logs.py log_folder_name output_file_name, the log_folder_name is where we save logs of experiments, and the output_file_name is a json file, including parameters, times and results from every experiment.
  • visualization script

    • Each visualization script specifies a data source(json file generated by preprocessing), and a result directory where the figure would be saved
    • The sciprt fig9_single_cpu_gpu_barplot.py reproduce figure 9 from the MemXCT paper, and can be run using command python fig9_single_cpu_gpu_barplot.py
    • The sciprt fig10_tune_param_heatmap.py reproduce figure 10 from the MemXCT paper, and can be run using command python fig10_tune_param_heatmap.py
    • The script fig11_strong_scaling_lineplot.py and fig11_strong_scaling_lineplot_multinode.py generate figures for strong scaling on a single node(change number of processors) and multiple node(change number of nodes), they reproduce figure 11 from the MemXCT paper, and can be run using command python fig11_strong_scaling_lineplot.py
    • We use python packages matplotlib and seaborn in above scripts to generate figures.

Run

  • The shell script run.sh runs the MemXCT algorithm on a specified dataset and can be executed using command run.sh [arguments...] DATASET [-- MPI_ARGS...] [-- PROGRAM_ARGS...], more details can be found by executing ./run.sh -h.
  • The shell script calc_dataset_size.sh specifies size of a dataset, command ./calc_dataset_size.sh DATASET will output size of it, in M $\times$ N format.
  • Shell scripts for tuning the parameters on CPU and GPU, comparing performance on single CPU and GPU, and test scalability of weak scaling and strong scaling are put in the run/script folder separately.
  • To run the script, e.g. the script run_tune_params.sh, one can execute command ./run_tune_params.sh. Each result of specific parameters are saved in a log file in the run/output folder.

Publication

This reproducibility experimental result was performed during the Student Cluster Competition 2020 (SC-20) by the GeekPie_HPC team from ShanghaiTech University. We thank our shepherds and the reviewers for their constructive feedback. We thank the support from ShanghaiTech University. We also want to thank our co-advisor, Mr. Yingdong Zhang from the Library and Information Technology Center, ShanghaiTech University.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.