Skip to content

AIWC: OpenCL-based Architecture Independent Workload Characterization -- artefact for reproducibility

Notifications You must be signed in to change notification settings

BeauJoh/aiwc-opencl-based-architecture-independent-workload-characterization-artefact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIWC: OpenCL-based Architecture Independent Workload Characterization Artefact

This artefact now uses binder -- automatic cloud hosting of Jupyter workbooks with support for docker. So if you want to avoid all the steps mentioned below, simply click the binder badge.

Binder

Installation

This project uses Docker to facilitate reproducibility. As such, it has the following dependencies:

  • Docker -- available here

Optional Dependencies:

  • Cuda 9.0 Runtime -- available here
  • nvidia-docker2, install instructions found here
  • Docker nvidia container, installed with: sudo apt install nvidia-container-runtime

Build

To generate a docker image named aiwc-evaluation, run:

docker build -t aiwc-evaluation .

Run

To start the docker image run:

docker run --runtime=nvidia -it --mount src=pwd,target=/aiwc-evaluation,type=bind -p 8888:8888 --net=host aiwc-evaluation

For reproducibility, BeakerX has also been added for replicating results and for the transparency of analysis. To evaluate the artefact, launch jupyter with:

beakerx --allow-root

from within the container and following the prompts to access it from the website front-end.

Note that if this node is accessed from an ssh session local ssh port forwarding is required and is achieved with the following:

ssh -N -f -L localhost:8888:localhost:8888 <node-name>

Investigation

If you wanted to run Oclgrind -- and AIWC -- on some fresh codes, the binary is located in /oclgrind/bin/oclgrind and the Extended OpenDwarfs Benchmark suite is located in /OpenDwarfs/build/ AIWC specific source-code can be found in: /oclgrind-source/src/plugins/WorkloadCharacterisation.cpp and /oclgrind-source/src/plugins/WorkloadCharacterisation.h To run AIWC on any OpenCL code simply prepend the following to your OpenCL program binary with:

cd /OpenDwarfs/build
$OCLGRIND_BIN --workload-characterisation ./csr -i ../test/sparse-linear-algebra/SPMV/tiny
cd /aiwc-evaluation

About

AIWC: OpenCL-based Architecture Independent Workload Characterization -- artefact for reproducibility

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published