blob: 8f4fd10a6cde8b13c3fb1ed38e9f0461776b78c9 [file] [log] [blame]
#!/usr/bin/bash
#-------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#-------------------------------------------------------------
jars='systemds-*-extra.jar'
# N = Number of images, C = number of channels, H = height, W = width
# F = number of filters, Hf = filter height, Wf = filter width
N=5
C=3
H=28
W=28
F=32
Hf=3
Wf=3
for sparsity in 0.1 0.2 0.5 0.6 0.9
do
# Generating the data
$SPARK_HOME/bin/spark-submit SystemDS.jar -f gen_conv2d.dml -nvargs sp=$sparsity N=$N C=$C H=$H W=$W F=$F Hf=$Hf Wf=$Wf
for stride in 1 2 3
do
for pad in 0 1 2
do
# Running a test in CPU mode
$SPARK_HOME/bin/spark-submit SystemDS.jar -f test_conv2d.dml -nvargs stride=$stride pad=$pad out=out_cp.csv N=$N C=$C H=$H W=$W F=$F Hf=$Hf Wf=$Wf
# Running a test in GPU mode
$SPARK_HOME/bin/spark-submit --jars $jars SystemDS.jar -f test_conv2d.dml -stats -gpu force -nvargs stride=$stride pad=$pad out=out_gpu.csv N=$N C=$C H=$H W=$W F=$F Hf=$Hf Wf=$Wf
# Comparing the CPU vs GPU results to make sure they are the same
$SPARK_HOME/bin/spark-submit SystemDS.jar -f compare.dml -args out_cp.csv out_gpu.csv "conv2d:stride="$stride",pad="$pad",sparsity="$sparsity
rm -rf out_cp.csv out_gpu.csv out_cp.csv.mtd out_gpu.csv.mtd
done
done
rm -rf input.mtx input.mtx.mtd
done