Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
schmidt-ju committed Feb 14, 2023
2 parents 6d6a24b + 40c968b commit b8ea3a3
Showing 1 changed file with 26 additions and 26 deletions.
52 changes: 26 additions & 26 deletions script/create_dev_conda_env.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

CUDA_VERSIONS="10.2,11.3,11.6,11.7"
TORCH_VERSION="1.12.0"
readonly CUDA_VERSIONS="10.2,11.3,11.6,11.7"
readonly TORCH_VERSION="1.12.0"

usage() {
cat << EOF
Expand All @@ -10,21 +10,21 @@ examples:
bash $0 -c
bash $0 -g 11.7
Created a developement environment for DGL developers.
Create a developement environment for DGL developers.
OPTIONS:
-h Show this message.
-c Create dev environment in CPU mode.
-g Create dev environment in GPU mode with specified CUDA version,
supported: $CUDA_VERSIONS.
supported: ${CUDA_VERSIONS}.
EOF
}

validate() {
values=$(echo "$1" | tr "," "\n")
for value in $values
for value in ${values}
do
if [[ "$value" == $2 ]]; then
if [[ "${value}" == $2 ]]; then
return 0
fi
done
Expand All @@ -34,18 +34,18 @@ validate() {
confirm() {
echo "Continue? [yes/no]:"
read confirm
if [[ ! $confirm == "yes" ]]; then
if [[ ! ${confirm} == "yes" ]]; then
exit 0
fi
}

# Parsing flags.
# Parse flags.
while getopts "cg:h" flag; do
if [[ $flag == "c" ]]; then
if [[ ${flag} == "c" ]]; then
cpu=1
elif [[ $flag == "g" ]]; then
gpu=$OPTARG
elif [[ $flag == "h" ]]; then
elif [[ ${flag} == "g" ]]; then
gpu=${OPTARG}
elif [[ ${flag} == "h" ]]; then
usage
exit 0
else
Expand All @@ -54,24 +54,24 @@ while getopts "cg:h" flag; do
fi
done

if [[ -n $gpu && $cpu -eq 1 ]]; then
if [[ -n ${gpu} && ${cpu} -eq 1 ]]; then
echo "Only one mode can be specified."
exit 1
fi

if [[ -z $gpu && -z $cpu ]]; then
if [[ -z ${gpu} && -z ${cpu} ]]; then
usage
exit 1
fi

# Set up CPU mode.
if [[ $cpu -eq 1 ]]; then
if [[ ${cpu} -eq 1 ]]; then
torchversion=${TORCH_VERSION}"+cpu"
name="dgl-dev-cpu"
fi

# Set up GPU mode.
if [[ -n $gpu ]]; then
if [[ -n ${gpu} ]]; then
if ! validate ${CUDA_VERSIONS} ${gpu}; then
echo "Error: Invalid CUDA version."
usage
Expand All @@ -86,27 +86,27 @@ if [[ -n $gpu ]]; then
fi

echo "Confirm you are excuting the script from your DGL root directory."
echo "Current working directory: $PWD"
echo "Current working directory: ${PWD}"
confirm

# Prepare the conda environment yaml file.
rand=$(echo "$RANDOM" | md5sum | head -c 20)
mkdir -p /tmp/$rand
cp script/dgl_dev.yml.template /tmp/$rand/dgl_dev.yml
sed -i "s|__NAME__|$name|g" /tmp/$rand/dgl_dev.yml
sed -i "s|__TORCH_VERSION__|$torchversion|g" /tmp/$rand/dgl_dev.yml
sed -i "s|__DGL_HOME__|$PWD|g" /tmp/$rand/dgl_dev.yml
rand=$(echo "${RANDOM}" | md5sum | head -c 20)
mkdir -p /tmp/${rand}
cp script/dgl_dev.yml.template /tmp/${rand}/dgl_dev.yml
sed -i "s|__NAME__|${name}|g" /tmp/${rand}/dgl_dev.yml
sed -i "s|__TORCH_VERSION__|${torchversion}|g" /tmp/${rand}/dgl_dev.yml
sed -i "s|__DGL_HOME__|${PWD}|g" /tmp/${rand}/dgl_dev.yml

# Ask for final confirmation.
echo "--------------------------------------------------"
cat /tmp/$rand/dgl_dev.yml
cat /tmp/${rand}/dgl_dev.yml
echo "--------------------------------------------------"
echo "Create a conda enviroment with the config?"
confirm

# Create conda environment.
conda env create -f /tmp/$rand/dgl_dev.yml
conda env create -f /tmp/${rand}/dgl_dev.yml

# Clean up created tmp conda environment yaml file.
rm -rf /tmp/$rand
rm -rf /tmp/${rand}
exit 0

0 comments on commit b8ea3a3

Please sign in to comment.