83 lines
2.1 KiB
Bash
Executable File
83 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#!/bin/bash
|
|
if [ -z $AC_HOME ]
|
|
then
|
|
echo "ASTAROTH_HOME environment variable not set, run \"source ./sourceme.sh\" in Astaroth home directory"
|
|
exit 1
|
|
fi
|
|
OUTPUT_DIR=${PWD}
|
|
|
|
KERNEL_DIR=${AC_HOME}"/src/core/kernels"
|
|
ACC_DIR=${AC_HOME}"/acc"
|
|
ACC_DEFAULT_SAS="mhd_solver/stencil_assembly.sas"
|
|
ACC_DEFAULT_SPS="mhd_solver/stencil_process.sps"
|
|
ACC_DEFAULT_HEADER="mhd_solver/stencil_definition.sdh"
|
|
ACC_DEFAULT_INCLUDE_DIR="mhd_solver"
|
|
|
|
${ACC_DIR}/clean.sh
|
|
${ACC_DIR}/build_acc.sh
|
|
|
|
ACC_SAS=${ACC_DEFAULT_SAS}
|
|
ACC_SPS=${ACC_DEFAULT_SPS}
|
|
ACC_HEADER=${ACC_DEFAULT_HEADER}
|
|
ACC_INCLUDE_DIR=${ACC_DEFAULT_INCLUDE_DIR}
|
|
|
|
while [ "$#" -gt 0 ]
|
|
do
|
|
case $1 in
|
|
-h|--help)
|
|
echo "This script will help to compile DSL to CUDA code."
|
|
echo "The resulting kernels will be stored to $OUTPUT_DIR."
|
|
echo "You can set a custom files for DSL under the path $AC_DIR/"
|
|
echo "Example:"
|
|
echo "compile_acc.sh -a custom_setup/custom_assembly.sas -p custom_setup/custom_process.sps --header custom_setup/custom_header.h"
|
|
exit 0
|
|
;;
|
|
-I|--include)
|
|
shift
|
|
ACC_INCLUDE_DIR=${1}
|
|
shift
|
|
echo "CUSTOM include dir!"
|
|
;;
|
|
--header)
|
|
shift
|
|
ACC_HEADER=${1}
|
|
shift
|
|
echo "CUSTOM Header file!"
|
|
;;
|
|
-a|--assembly)
|
|
shift
|
|
ACC_SAS=${1}
|
|
shift
|
|
echo "CUSTOM Assembly file!"
|
|
;;
|
|
-p|--process)
|
|
shift
|
|
ACC_SPS=${1}
|
|
shift
|
|
echo "CUSTOM Process file!"
|
|
;;
|
|
*)
|
|
break
|
|
esac
|
|
done
|
|
|
|
echo "Header file:" ${ACC_DIR}/${ACC_HEADER}
|
|
echo "Assembly file: ${ACC_DIR}/${ACC_SAS}"
|
|
echo "Process file: ${ACC_DIR}/${ACC_SPS}"
|
|
|
|
cd ${ACC_DIR}/${ACC_INCLUDE_DIR}
|
|
echo ${PWD}
|
|
${ACC_DIR}/compile.sh ${ACC_DIR}/${ACC_SAS}
|
|
${ACC_DIR}/compile.sh ${ACC_DIR}/${ACC_SPS}
|
|
${ACC_DIR}/compile.sh ${ACC_DIR}/${ACC_HEADER}
|
|
|
|
echo "Moving stencil_assembly.cuh -> ${OUTPUT_DIR}"
|
|
mv stencil_assembly.cuh ${OUTPUT_DIR}
|
|
|
|
echo "Moving stencil_process.cuh -> ${OUTPUT_DIR}"
|
|
mv stencil_process.cuh ${OUTPUT_DIR}
|
|
|
|
echo "Moving stencil_defines.cuh -> ${OUTPUT_DIR}"
|
|
mv stencil_defines.h ${OUTPUT_DIR}
|