Giter VIP home page Giter VIP logo

memxct-cpu's Introduction

SC20 SCC Reproducibility Challenge Instructions

All work based off of this SC19 paper

Compile

Make Sure Dependencies are Installed

  1. C++ Compiler
  2. MPI Compiler

Modify Makefile

There are Makefiles for ALCF Theta (Intel KNL) and OLCF Summit (IBM POWER9) systems. You should use one of these to modify according to your system.

Download Datasets

We provide the challenge datasets over Box. Dimensions (Theta x Rho) and corresponding application memory footprints are given below.

Test Datasest:

  • ADS1 (360x256): 512 MB
  • ADS2 (750x512): 3.6 GB
  • ADS3 (1500x1024): 28 GB
  • ADS3 (2400x2048): 180 GB

Challenge Datasets: TBA

Each dataset requires a theta file and a sinogram file. Use the code below to directly download datasets to your cluster.

wget https://uofi.box.com/shared/static/ql76fxfrnec1jdl8dc4f2g4ihwekn9oj -O ADS1_theta.bin
wget https://uofi.box.com/shared/static/zmt3vq5k0jaqgcay4a7yscv2a0viyxlc -O ADS1_sinogram.bin

wget https://uofi.box.com/shared/static/yrsr9brzl6q03bmnunfk65k33ykvfr8o -O ADS2_theta.bin
wget https://uofi.box.com/shared/static/wssrib7ud9na1k5zxxjm3kabd2bcrjwu -O ADS2_sinogram.bin

wget https://uofi.box.com/shared/static/vi1uiecpqqiz7rjtty6fbxxwn1feoib0 -O ADS3_theta.bin
wget https://uofi.box.com/shared/static/icxtknbrndv8i2d83mc87ppjxepty8jz -O ADS3_sinogram.bin

wget https://uofi.box.com/shared/static/tbjk9dksog7qqick66nbcnq4ngais1yd -O ADS4_theta.bin
wget https://uofi.box.com/shared/static/ki7smuurh34cleayvwfxhjfn9mgsnega -O ADS4_sinogram.bin

Run

Edit input parameters and run the application using run.sh

#DOMAIN INFORMATION
export NUMTHE= Number of Rotations (according to the input dataset)
export NUMRHO= Number of Channels (according to the input dataset)
export PIXSIZE= Pixel Size (should be 1)
#SOLVER DATA
export NUMITER= Number of Iterations (should be 24)
#TILE SIZE (MUST BE POWER OF TWO)
export SPATSIZE= Spatial Tile Size (tuning parameter, must be a power of two)
export SPECSIZE= Spectral Tile Size (tuning parameter, must be a power of two)
#BLOCK SIZE
export PROJBLOCK= Projection Block Size (tuning parameter)
export BACKBLOCK= Backprojection Block Size (tuning parameter)
#BUFFER SIZE
export PROJBUFF= Projection Buffer Size (tuning parameter)
export BACKBUFF= Backprojection Buffer Size (tuning parameter)
#I/O FILES
export THEFILE= input theta file path
export SINFILE= input sinogram file path
export OUTFILE= output image file path

You should see residual error drops in each iteration.

Verify

Download Fiji open source, lightweight, standalone scientific visualization tool. Import the raw image file and inspect the image to verify the code. If you did it correctly you will see these images that correspond to the input datasets.

ADS1

recon_ADS1

ADS2

recon_ADS2

ADS3

recon_ADS3

ADS4

recon_ADS4

memxct-cpu's People

Contributors

merthidayetoglu avatar stephenlienharrell avatar

Watchers

James Cloos avatar

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.