summaryrefslogtreecommitdiff
path: root/setup_environment
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2025-02-10 17:35:31 -0800
committerGitHub <[email protected]>2025-02-10 17:35:31 -0800
commit0e39753a623978eb37bf044b21fde1a5909bff03 (patch)
tree13416ab3a165dde580fe847b06bde7c966482088 /setup_environment
parent6b244a5d3be7811f16c312905c1c7fee137ac7a4 (diff)
parent48af0c94ca6d7b05f800f535b3de4cefafcfa655 (diff)
Merge pull request #313 from accel-sim/dev
Purdue Updates Merging
Diffstat (limited to 'setup_environment')
-rw-r--r--setup_environment72
1 files changed, 41 insertions, 31 deletions
diff --git a/setup_environment b/setup_environment
index d3ff840..2fac1b9 100644
--- a/setup_environment
+++ b/setup_environment
@@ -7,7 +7,7 @@ export GPGPUSIM_ROOT="$( cd "$( dirname "$BASH_SOURCE" )" && pwd )"
GPGPUSIM_VERSION_STRING=`cat $GPGPUSIM_ROOT/version | awk '/Version/ {print $8}'`
#Detect Git branch and commit #
-GIT_COMMIT=`git --git-dir=$GPGPUSIM_ROOT/.git log -n 1 | head -1 | sed -re 's/commit (.*)/\1/'`
+GIT_COMMIT=`git --git-dir=$GPGPUSIM_ROOT/.git log --abbrev-commit -n 1 | head -1 | sed -re 's/commit (.*)/\1/'`
GIT_FILES_CHANGED=`git --git-dir=$GPGPUSIM_ROOT/.git diff --numstat | wc | sed -re 's/^\s+([0-9]+).*/\1./'`
GIT_FILES_CHANGED+=`git --git-dir=$GPGPUSIM_ROOT/.git diff --numstat --cached | wc | sed -re 's/^\s+([0-9]+).*/\1/'`
GPGPUSIM_BUILD_STRING="gpgpu-sim_git-commit-$GIT_COMMIT-modified_$GIT_FILES_CHANGED"
@@ -16,17 +16,17 @@ echo -n "GPGPU-Sim version $GPGPUSIM_VERSION_STRING (build $GPGPUSIM_BUILD_STRIN
if [ ! -n "$CUDA_INSTALL_PATH" ]; then
echo "ERROR ** Install CUDA Toolkit and set CUDA_INSTALL_PATH.";
- return;
+ return 1;
fi
if [ ! -d "$CUDA_INSTALL_PATH" ]; then
echo "ERROR ** CUDA_INSTALL_PATH=$CUDA_INSTALL_PATH invalid (directory does not exist)";
- return;
+ return 1;
fi
if [ ! `uname` = "Linux" -a ! `uname` = "Darwin" ]; then
echo "ERROR ** Unsupported platform: GPGPU-Sim $GPGPUSIM_VERSION_STRING developed and tested on Linux."
- return;
+ return 1;
fi
export PATH=`echo $PATH | sed "s#$GPGPUSIM_ROOT/bin:$CUDA_INSTALL_PATH/bin:##"`
@@ -41,17 +41,17 @@ if [ $? = 1 ]; then
echo " Try adding $CUDA_INSTALL_PATH/bin/ to your PATH environment variable.";
echo " Please also be sure to read the README file if you have not done so.";
echo "";
- return;
+ return 1;
fi
-CC_VERSION=`gcc --version | head -1 | awk '{for(i=1;i<=NF;i++){ if(match($i,/^[0-9]\.[0-9]\.[0-9]$/)) {print $i; exit 0}}}'`
+CC_VERSION=$(gcc --version | head -1 | awk '{for(i=1;i<=NF;i++){ if(match($i,/^[0-9]+\.[0-9]+\.[0-9]+$/)) {print $i; exit 0}}}')
CUDA_VERSION_STRING=`$CUDA_INSTALL_PATH/bin/nvcc --version | awk '/release/ {print $5;}' | sed 's/,//'`;
export CUDA_VERSION_NUMBER=`echo $CUDA_VERSION_STRING | sed 's/\./ /' | awk '{printf("%02u%02u", 10*int($1), 10*$2);}'`
if [ $CUDA_VERSION_NUMBER -gt 11100 -o $CUDA_VERSION_NUMBER -lt 2030 ]; then
echo "ERROR ** GPGPU-Sim version $GPGPUSIM_VERSION_STRING not tested with CUDA version $CUDA_VERSION_STRING (please see README)";
echo $CUDA_VERSION_NUMBER
- return
+ return 1;
fi
if [ $CUDA_VERSION_NUMBER -ge 6000 ]; then
@@ -60,13 +60,18 @@ if [ $CUDA_VERSION_NUMBER -ge 6000 ]; then
export CUOBJDUMP_SIM_FILE=jj
fi
+# Simple configure, loop through all positional arguments
+# Default config
+export GPGPUSIM_CONFIG=gcc-$CC_VERSION/cuda-$CUDA_VERSION_NUMBER/release
-if [ $# = '1' ] ;
-then
- export GPGPUSIM_CONFIG=gcc-$CC_VERSION/cuda-$CUDA_VERSION_NUMBER/$1
-else
- export GPGPUSIM_CONFIG=gcc-$CC_VERSION/cuda-$CUDA_VERSION_NUMBER/release
-fi
+for opt in $@
+do
+ if [[ $opt == 'debug' ]] ; then
+ # Debug mode
+ echo -n "enabled debug mode "
+ export GPGPUSIM_CONFIG=gcc-$CC_VERSION/cuda-$CUDA_VERSION_NUMBER/$1
+ fi
+done
export QTINC=/usr/include
@@ -121,7 +126,7 @@ fi
if [ -d $GPGPUSIM_ROOT/src/accelwattch/ ]; then
if [ ! -f $GPGPUSIM_ROOT/src/accelwattch/gpgpu_sim.verify ]; then
echo "ERROR ** gpgpu_sim.verify not found in $GPGPUSIM_ROOT/src/accelwattch";
- return;
+ return 1;
fi
export GPGPUSIM_POWER_MODEL=$GPGPUSIM_ROOT/src/accelwattch/;
echo "configured with AccelWattch.";
@@ -129,13 +134,13 @@ elif [ -n "$GPGPUSIM_POWER_MODEL" ]; then
if [ ! -f $GPGPUSIM_POWER_MODEL/gpgpu_sim.verify ]; then
echo "";
echo "ERROR ** gpgpu_sim.verify not found in $GPGPUSIM_ROOT/src/accelwattch/ - Either incorrect directory or incorrect McPAT version";
- return;
+ return 1;
fi
echo "configure with power model in $GPGPUSIM_POWER_MODEL.";
elif [ ! -d $GPGPUSIM_POWER_MODEL ]; then
echo "";
echo "ERROR ** GPGPUSIM_POWER_MODEL ($GPGPUSIM_POWER_MODEL) does not exist... Please set this to the gpgpusim_mcpat directory or unset this environment variable.";
- return;
+ return 1;
else
echo "configured without a power model.";
fi
@@ -143,21 +148,26 @@ fi
if [ -z "$PTXAS_CUDA_INSTALL_PATH" ]; then
export PTXAS_CUDA_INSTALL_PATH=$CUDA_INSTALL_PATH;
fi
-echo "";
-echo "----------------------------------------------------------------------------";
-echo "INFO - If you only care about PTX execution, ignore this message. GPGPU-Sim supports PTX execution in modern CUDA."
-echo "If you want to run PTXPLUS (sm_1x SASS) with a modern card configuration - set the envronment variable"
-echo "\$PTXAS_CUDA_INSTALL_PATH to point a CUDA version compabible with your card configurations (i.e. 8+ for PASCAL, 9+ for VOLTA etc..)"
-echo "For example: \"export \$PTXAS_CUDA_INSTALL_PATH=/usr/local/cuda-9.1\""
-echo ""
-echo "The following text describes why:";
-echo "If you are using PTXPLUS, only sm_1x is supported and it requires that the app and simulator binaries are compiled in CUDA 4.2 or less.";
-echo "The simulator requires it since CUDA headers desribe struct sizes in the exec which change from gen to gen.";
-echo "The apps require 4.2 because new versions of CUDA tools have dropped parsing support for generating sm_1x";
-echo "When running using modern config (i.e. volta) and PTXPLUS with CUDA 4.2, the \$PTXAS_CUDA_INSTALL_PATH env variable is required to get proper register usage"
-echo "(and hence occupancy) using a version of CUDA that knows the register usage on the real card."
-echo "";
-echo "----------------------------------------------------------------------------";
+
+# I am not sure PTXPlus really makes sense anymore and this verbose print to describe
+# how to use it is probably not aging well. The info in here is good though if you care
+# about PTXPlus, so I will leave it as a comment.
+#
+#echo "";
+#echo "----------------------------------------------------------------------------";
+#echo "INFO - If you only care about PTX execution or trace-based SASS execution, ignore this message."
+#echo "If you want to run PTXPLUS (sm_1x SASS) with a modern card configuration - set the envronment variable"
+#echo "\$PTXAS_CUDA_INSTALL_PATH to point a CUDA version compabible with your card configurations (i.e. 8+ for PASCAL, 9+ for VOLTA etc..)"
+#echo "For example: \"export \$PTXAS_CUDA_INSTALL_PATH=/usr/local/cuda-9.1\""
+#echo ""
+#echo "The following text describes why:";
+#echo "If you are using PTXPLUS, only sm_1x is supported and it requires that the app and simulator binaries are compiled in CUDA 4.2 or less.";
+#echo "The simulator requires it since CUDA headers desribe struct sizes in the exec which change from gen to gen.";
+#echo "The apps require 4.2 because new versions of CUDA tools have dropped parsing support for generating sm_1x";
+#echo "When running using modern config (i.e. volta) and PTXPLUS with CUDA 4.2, the \$PTXAS_CUDA_INSTALL_PATH env variable is required to get proper register usage"
+#echo "(and hence occupancy) using a version of CUDA that knows the register usage on the real card."
+#echo "";
+#echo "----------------------------------------------------------------------------";
echo "setup_environment succeeded";