Skip to content

Latest commit

 

History

History
87 lines (59 loc) · 2.85 KB

README.md

File metadata and controls

87 lines (59 loc) · 2.85 KB

TAC: Optimizing Error-Bounded Lossy Compression for Three-Dimensional Adaptive Mesh Refinement Simulations

Step 1 Download SZ

Download and install SZ into SZDir followed by the instructions provided by SZ's repo.

export SZ_HOME=SZDir
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SZ_HOME/lib

Step 2: Download Data

Download and unzip data or use example data

Method 1: Download all datasets using gdown

  • gdown can be easily installed by pip or pip3 install, e.g., pip install gdown.
  • Run download-data.sh bash script.
cd data
./download-data.sh

Method 2: Download separate datasets directly from Google Drive

Step 3.1: Build Our Compressor

cd src
g++ amrcompressor.cpp -o amrcompressor -I $SZ_HOME/include/ -L $SZ_HOME/lib/ -lSZ -lzstd -lzlib -O3

Step 3.2: Build Baseline & zMesh

cd baseline
g++ naive1D.cpp -o naive1D -I $SZ_HOME/include/ -L $SZ_HOME/lib/ -lSZ -lzstd -lzlib -O3
g++ 3dBaseline.cpp -o 3dBaseline -I $SZ_HOME/include/ -L $SZ_HOME/lib/ -lSZ -lzstd -lzlib -O3
g++ zMesh.cpp -o zMesh -I $SZ_HOME/include/ -L $SZ_HOME/lib/ -lSZ -lzstd -lzlib -O3

Step 4.1: Test Our Compressor & Baseline

./amrcompressor ../data/run2_t3.bin $SZ_HOME/example/sz.config eb_level_0 eb_level_1 eb_level_2 eb_level_3

For example, all AMR levels with the same absolute error bound of 5E+9 for the example Nyx data:

./amrcompressor ../data/run2_t3.bin $SZ_HOME/example/sz.config 5E+9 5E+9 5E+9 5E+9

Step 4.2: Test zMesh

zMesh can only be run on Run1, will be modified for Run2 later.

./zMesh ../data/grid_z10.bin order256.bin $SZ_HOME/example/sz.config eb_level_0 eb_level_1 eb_level_2 eb_level_3

For example, all AMR levels with the same absolute error bound of 5E+9 for the Run1_Z10:

./zMesh ../data/grid_z10.bin order256.bin $SZ_HOME/example/sz.config 5E+9 5E+9 5E+9 5E+9

Results of Run1:

Results of Run2: