build script updating to support hip/vdi

Change-Id: I7f398bd5f57aedb4ba0aeae3be4e6f051c011f5a


[ROCm/rocprofiler commit: 59f557cb5c]
このコミットが含まれているのは:
Evgeny
2020-04-22 12:02:21 -05:00
コミット 5f963072c9
+26 -11
ファイルの表示
@@ -1,4 +1,5 @@
#!/bin/sh -x
SO_EXT="hsaco"
TEST_NAME=$1
DST_DIR=$2
@@ -7,9 +8,10 @@ TGT_LIST=$4
if [ -z "$TEST_NAME" ] ; then
echo "Usage: $0 <test name> <dst dir>"
echo " Will look for <test name>.cl and will build <test name>.so dynamic object library"
echo " Will look for <test name>.cl and will build <test name>.$SO_EXT dynamic code object library"
exit 1
fi
OBJ_NAME=$(echo "_$(basename $TEST_NAME)" | sed -e 's/_./\U&\E/g' -e 's/_//g')
if [ -z "$DST_DIR" ] ; then
DST_DIR=$(dirname TEST_NAME)
@@ -29,21 +31,34 @@ if [ -z "$TGT_LIST" ] ; then
fi
OCL_VER="2.0"
OCL_DIR=$ROCM_DIR/opencl
LLVM_DIR=$ROCM_DIR/hcc
CLANG=$LLVM_DIR/bin/clang
if [ -e $ROCM_DIR/llvm ] ; then
LLVM_DIR=$ROCM_DIR/llvm
LIB_DIR=$ROCM_DIR/lib/bitcode
else
LLVM_DIR=$ROCM_DIR/hcc
LIB_DIR=$LLVM_DIR/lib
fi
CLANG_ROOT=$LLVM_DIR/lib/clang
CLANG_DIR=`ls -d $CLANG_ROOT/* | head -n 1`
if [ "$CLANG_DIR" = "" ] ; then
echo "Error: LLVM clang library was not found"
exit 1
fi
BIN_DIR=$LLVM_DIR/bin
INC_DIR=$CLANG_DIR/include
BITCODE_OPTS="\
-Xclang -mlink-bitcode-file -Xclang $LLVM_DIR/lib/opencl.amdgcn.bc \
-Xclang -mlink-bitcode-file -Xclang $LLVM_DIR/lib/ockl.amdgcn.bc \
-Xclang -mlink-bitcode-file -Xclang $LLVM_DIR/lib/ocml.amdgcn.bc"
-Xclang -mlink-bitcode-file -Xclang $LIB_DIR/opencl.amdgcn.bc \
-Xclang -mlink-bitcode-file -Xclang $LIB_DIR/ockl.amdgcn.bc \
-Xclang -mlink-bitcode-file -Xclang $LIB_DIR/ocml.amdgcn.bc"
for GFXIP in $TGT_LIST ; do
OBJ_PREF=$GFXIP
OBJ_NAME=$(echo "_$(basename $TEST_NAME)" | sed -e 's/_./\U&\E/g' -e 's/_//g')
OBJ_FILE=${OBJ_PREF}_${OBJ_NAME}.hsaco
$CLANG -cl-std=CL$OCL_VER -include $OCL_DIR/include/opencl-c.h $BITCODE_OPTS -target amdgcn-amd-amdhsa -mcpu=$GFXIP -mno-code-object-v3 $TEST_NAME.cl -o $DST_DIR/$OBJ_FILE
echo "'$OBJ_FILE' is generated for '$GFXIP'"
OBJ_FILE="${OBJ_PREF}_${OBJ_NAME}.$SO_EXT"
$BIN_DIR/clang -cl-std=CL$OCL_VER -include $INC_DIR/opencl-c.h $BITCODE_OPTS -target amdgcn-amd-amdhsa -mcpu=$GFXIP -mno-code-object-v3 $TEST_NAME.cl -o $DST_DIR/$OBJ_FILE
echo "'$OBJ_FILE' generated"
done
exit 0