Defer CUDA selection to env.sh, also always create env.sh
This commit is contained in:
parent
2562e48b9d
commit
8bd1c57448
|
@ -44,6 +44,7 @@ test-stable-perf)
|
|||
Cargo.toml$ \
|
||||
ci/test-stable-perf.sh \
|
||||
ci/test-stable.sh \
|
||||
^fetch-perf-libs.sh \
|
||||
^programs/ \
|
||||
^sdk/ \
|
||||
|| {
|
||||
|
|
|
@ -26,23 +26,46 @@ if [[ ! -f target/perf-libs/.$PERF_LIBS_VERSION ]]; then
|
|||
rm -f solana-perf.tgz
|
||||
touch .$PERF_LIBS_VERSION
|
||||
)
|
||||
echo
|
||||
fi
|
||||
|
||||
|
||||
write_env() {
|
||||
rm -f target/perf-libs/env.sh
|
||||
cat >> target/perf-libs/env.sh <<EOF
|
||||
export CUDA_HOME="$CUDA_HOME"
|
||||
export SOLANA_PERF_LIBS_CUDA="$SOLANA_PERF_LIBS_CUDA"
|
||||
EOF
|
||||
cat >> target/perf-libs/env.sh <<'EOF'
|
||||
cat > target/perf-libs/env.sh <<'EOF'
|
||||
if [[ -n $SOLANA_PERF_LIBS ]]; then
|
||||
echo "solana-perf-libs version: $(cat $SOLANA_PERF_LIBS/solana-perf-HEAD.txt)"
|
||||
return
|
||||
fi
|
||||
SOLANA_PERF_LIBS="$(cd $(dirname "${BASH_SOURCE[0]}"); pwd)"
|
||||
|
||||
echo "solana-perf-libs version: $(cat $SOLANA_PERF_LIBS/solana-perf-HEAD.txt)"
|
||||
echo CUDA_HOME="$CUDA_HOME"
|
||||
SOLANA_PERF_LIBS_CUDA=
|
||||
for _supported_cuda in $(cd $SOLANA_PERF_LIBS; find . -maxdepth 1 -type d -regex './cuda-.*' | sort -r); do
|
||||
_supported_cuda=$(basename "$_supported_cuda")
|
||||
CUDA_HOME=/usr/local/$_supported_cuda
|
||||
[[ -d $CUDA_HOME ]] || {
|
||||
echo "$_supported_cuda not detected: $CUDA_HOME directory does not exist"
|
||||
continue
|
||||
}
|
||||
[[ -r $CUDA_HOME/version.txt ]] || {
|
||||
echo "$_supported_cuda not detected: $CUDA_HOME/version.txt does not exist"
|
||||
continue
|
||||
}
|
||||
echo
|
||||
cat "$CUDA_HOME/version.txt"
|
||||
echo "CUDA_HOME=$CUDA_HOME"
|
||||
SOLANA_PERF_LIBS_CUDA=$_supported_cuda
|
||||
export CUDA_HOME
|
||||
export SOLANA_PERF_LIBS_CUDA
|
||||
break
|
||||
done
|
||||
|
||||
echo LD_LIBRARY_PATH="$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH="$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
|
||||
if [[ -z $SOLANA_PERF_LIBS_CUDA ]]; then
|
||||
echo No supported CUDA versions detected
|
||||
echo
|
||||
echo LD_LIBRARY_PATH="$SOLANA_PERF_LIBS:$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH="$SOLANA_PERF_LIBS:$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
|
||||
else
|
||||
echo
|
||||
echo LD_LIBRARY_PATH="$SOLANA_PERF_LIBS:$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH="$SOLANA_PERF_LIBS:$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
|
||||
|
||||
echo PATH="$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/bin:$PATH"
|
||||
export PATH="$SOLANA_PERF_LIBS/$SOLANA_PERF_LIBS_CUDA:$CUDA_HOME/bin:$PATH"
|
||||
|
@ -61,31 +84,12 @@ else
|
|||
echo Warning: unable to validate CUDA version
|
||||
echo ==============================================
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
echo "solana-perf-libs version: $(cat $SOLANA_PERF_LIBS/solana-perf-HEAD.txt)"
|
||||
|
||||
EOF
|
||||
echo
|
||||
echo "source $PWD/target/perf-libs/env.sh to setup environment"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
for cuda in $(cd target/perf-libs; find . -maxdepth 1 -type d -regex './cuda-.*' | sort -r); do
|
||||
cuda=$(basename "$cuda")
|
||||
CUDA_HOME=/usr/local/$cuda
|
||||
SOLANA_PERF_LIBS_CUDA=$cuda
|
||||
[[ -d $CUDA_HOME ]] || {
|
||||
echo "$cuda not detected: $CUDA_HOME directory does not exist"
|
||||
continue
|
||||
}
|
||||
[[ -r $CUDA_HOME/version.txt ]] || {
|
||||
echo "$cuda not detected: $CUDA_HOME/version.txt does not exist"
|
||||
continue
|
||||
}
|
||||
echo
|
||||
cat "$CUDA_HOME/version.txt"
|
||||
echo "CUDA_HOME=$CUDA_HOME"
|
||||
write_env
|
||||
done
|
||||
|
||||
echo
|
||||
echo No supported CUDA versions detected
|
||||
|
||||
echo "Setup shell environment with:"
|
||||
echo " source $PWD/target/perf-libs/env.sh"
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue