Multiple python versions (#42)

* Support multiple Python versions in single build

* RPATH + Split up config into config and runtime

* pybind11 submodule

* Docker build updates
This commit is contained in:
Jonathan R. Madsen
2022-04-21 21:36:07 -05:00
committed by GitHub
parent d98e60a17f
commit 4db6ba3d28
37 changed files with 1554 additions and 870 deletions
+36 -27
View File
@@ -1,27 +1,16 @@
#!/usr/bin/env bash
if [ ! -f CMakeLists.txt ]; then
echo "Error! Execute script from source directory"
exit 1
if [ ! -f ../CMakeLists.txt ]; then
echo "Error! Execute script from source directory"
exit 1
else
cd ..
fi
fi
set -e
build-release()
{
CONTAINER=$1
OS=$2
ROCM_VERSION=$3
CODE_VERSION=$4
MPI=$4
docker run -it --rm -v ${PWD}:/home/omnitrace --env DISTRO=${OS} --env ROCM_VERSION=${ROCM_VERSION} --env VERSION=${CODE_VERSION} --env MPI=${MPI} ${CONTAINER} /home/omnitrace/scripts/build-release.sh
}
: ${DISTRO:=ubuntu}
: ${VERSIONS:=20.04 18.04}
: ${ROCM_VERSIONS:=5.0 4.5 4.3}
: ${MPI:=0}
send-error()
{
echo -e "\nError: ${@}"
@@ -34,6 +23,25 @@ verbose-run()
eval $@
}
build-release()
{
CONTAINER=$1
OS=$2
ROCM_VERSION=$3
CODE_VERSION=$4
shift
shift
shift
shift
verbose-run docker run -it --rm -v ${PWD}:/home/omnitrace --env DISTRO=${OS} --env ROCM_VERSION=${ROCM_VERSION} --env VERSION=${CODE_VERSION} --env PYTHON_VERSIONS=\"${PYTHON_VERSIONS}\" ${CONTAINER} /home/omnitrace/scripts/build-release.sh ${@}
}
: ${DISTRO:=ubuntu}
: ${VERSIONS:=20.04 18.04}
: ${ROCM_VERSIONS:=5.0 4.5 4.3}
: ${MPI:=0}
: ${PYTHON_VERSIONS:=6 7 8 9}
n=0
while [[ $# -gt 0 ]]
do
@@ -50,16 +58,17 @@ do
shift
ROCM_VERSIONS=${1}
;;
"--python-versions")
shift
PYTHON_VERSIONS=${1}
;;
"--")
shift
SCRIPT_ARGS=${@}
break
;;
*)
if [ "${n}" -eq 0 ]; then
DISTRO=${1}
elif [ "${n}" -eq 1 ]; then
VERSIONS=${1}
elif [ "${n}" -eq 2 ]; then
ROCM_VERSIONS=${1}
else
send-error "Unsupported argument at position $((${n} + 1)) :: ${1}"
fi
send-error "Unsupported argument at position $((${n} + 1)) :: ${1}"
;;
esac
n=$((${n} + 1))
@@ -73,6 +82,6 @@ do
TAG=${DISTRO}-${VERSION}
for ROCM_VERSION in ${ROCM_VERSIONS}
do
build-release jrmadsen/omnitrace-${TAG}-rocm-${ROCM_VERSION} ${DISTRO}-${VERSION} ${ROCM_VERSION} ${CODE_VERSION} ${MPI}
build-release jrmadsen/omnitrace-${TAG}-rocm-${ROCM_VERSION} ${DISTRO}-${VERSION} ${ROCM_VERSION} ${CODE_VERSION} ${SCRIPT_ARGS}
done
done