27 lines
1.5 KiB
Bash
27 lines
1.5 KiB
Bash
# prain environment: the project venv with AMD's ROCm SDK wheels (TheRock) and a clang host
|
|
# toolchain tuned for this CPU. Source it from bash: . scripts/env.sh
|
|
# Overrides: PRAIN_GPU_ARCH (default gfx1032), PRAIN_JOBS (parallel build jobs, default 16).
|
|
PRAIN_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
|
export PRAIN_ROOT
|
|
export PRAIN_GPU_ARCH=${PRAIN_GPU_ARCH:-gfx1032}
|
|
export PRAIN_JOBS=${PRAIN_JOBS:-16}
|
|
export VIRTUAL_ENV=$PRAIN_ROOT/.venv
|
|
case ":$PATH:" in *":$VIRTUAL_ENV/bin:"*) ;; *) PATH=$VIRTUAL_ENV/bin:$PATH ;; esac
|
|
_site=$(echo "$VIRTUAL_ENV"/lib/python3*/site-packages)
|
|
if [ -d "$_site/_rocm_sdk_devel" ]; then
|
|
_dev=$_site/_rocm_sdk_devel
|
|
_core=$_site/_rocm_sdk_core
|
|
export ROCM_PATH=$_dev ROCM_HOME=$_dev HIP_PATH=$_dev CMAKE_PREFIX_PATH=$_dev
|
|
export HIP_CLANG_PATH=$_dev/lib/llvm/bin HIP_DEVICE_LIB_PATH=$_core/lib/llvm/amdgcn/bitcode
|
|
case ":${LD_LIBRARY_PATH:-}:" in *":$_dev/lib:"*) ;; *)
|
|
export LD_LIBRARY_PATH=$_dev/lib:$_dev/lib/rocm_sysdeps/lib:$_core/lib:$_core/lib/rocm_sysdeps/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ;;
|
|
esac
|
|
case ":$PATH:" in *":$_dev/bin:"*) ;; *) PATH=$_dev/bin:$PATH ;; esac
|
|
fi
|
|
export PATH
|
|
# Host C/C++: the system clang through wrappers (scripts/build.sh wrappers) that drop Gentoo's
|
|
# libc++/compiler-rt defaults: everything links libstdc++/libgcc like the ROCm libraries.
|
|
export CC=$PRAIN_ROOT/build/bin/clang CXX=$PRAIN_ROOT/build/bin/clang++
|
|
export CFLAGS="-march=native" CXXFLAGS="-march=native"
|
|
unset _site _dev _core
|