added kernel only compilation feature for hipcc
1. Added hipgenisa.sh file to compile kernel code to hsa code object
2. Changed hipcc to call hipgenisa.sh, making hipcc compiling the kernels
Change-Id: I976459c1ebb24343e1b1fe38b4c3a203f1adffa9
[ROCm/clr commit: 2f8b2fca6b]
このコミットが含まれているのは:
1 親
df6f400a8e
コミット
f97eec0d3b
2ファイル変更
+37
検索条件に一致するファイルはありません
@@ -157,6 +157,16 @@ if ($HIP_PLATFORM eq "hcc") {
|
||||
exit (-1);
|
||||
}
|
||||
|
||||
my $ISACMD="hipgenisa.sh ";
|
||||
$ISACMD .= $ROCM_PATH;
|
||||
if($ARGV[0] eq "--genisa"){
|
||||
foreach $isaarg (@ARGV){
|
||||
$ISACMD .= " ";
|
||||
$ISACMD .= $isaarg;
|
||||
}
|
||||
system($ISACMD);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
# Add paths to common HIP includes:
|
||||
$HIPCXXFLAGS .= " -I$HIP_PATH/include" ;
|
||||
@@ -178,6 +188,7 @@ if ($verbose & 0x4) {
|
||||
}
|
||||
|
||||
my $toolArgs = ""; # arguments to pass to the hcc or nvcc tool
|
||||
|
||||
foreach $arg (@ARGV)
|
||||
{
|
||||
my $swallowArg = 0;
|
||||
|
||||
実行可能ファイル
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $1 = " " ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
ROCM_PATH=$1
|
||||
GEN_ISA=$3
|
||||
FILE_NAMES=$4
|
||||
OUT=$5
|
||||
OUTPUT_FILE=$6
|
||||
TARGET=""
|
||||
if [ ${GEN_ISA:0:12} = "--target-isa" ]
|
||||
then
|
||||
TARGET=${GEN_ISA:13:12}
|
||||
fi
|
||||
|
||||
export KMDUMPISA=1
|
||||
export KMDUMPLLVM=1
|
||||
hipcc $FILE_NAMES -o /tmp/hipgenisa/a.out
|
||||
mv dump.* /tmp/hipgenisa/
|
||||
${ROCM_PATH}/hcc-lc/bin/llvm-mc -arch=amdgcn -mcpu=$TARGET -filetype=obj /tmp/hipgenisa/dump.isa -o /tmp/hipgenisa/dump.o
|
||||
${ROCM_PATH}/llvm/bin/clang -target amdgcn--amdhsa /tmp/hipgenisa/dump.o -o $OUTPUT_FILE
|
||||
export KMDUMPISA=0
|
||||
export KMDUMPLLVM=0
|
||||
新しいイシューから参照
ユーザーをブロックする