Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
composable_kernel
Commits
1e86333e
Commit
1e86333e
authored
Sep 28, 2022
by
wangshaojie6
Browse files
Merge branch 'develop' into groupnorm_check
parents
863f2009
b8825547
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
34 deletions
+51
-34
Dockerfile
Dockerfile
+18
-2
Jenkinsfile
Jenkinsfile
+31
-32
dev-requirements.txt
dev-requirements.txt
+2
-0
No files found.
Dockerfile
View file @
1e86333e
...
...
@@ -2,6 +2,7 @@ FROM ubuntu:20.04
ARG
ROCMVERSION=5.2.3
ARG
compiler_version
ARG
compiler_commit
RUN
set
-xe
...
...
@@ -12,7 +13,6 @@ RUN apt-get install -y wget gnupg
RUN
wget
-qO
- http://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
RUN
sh
-c
"echo deb [arch=amd64]
$DEB_ROCM_REPO
ubuntu main > /etc/apt/sources.list.d/rocm.list"
RUN
wget
--no-check-certificate
-qO
- https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
#RUN sh -c "echo deb https://apt.kitware.com/ubuntu/ bionic main | tee -a /etc/apt/sources.list"
RUN
sh
-c
"echo deb http://mirrors.kernel.org/ubuntu focal main universe | tee -a /etc/apt/sources.list"
# Install dependencies
...
...
@@ -79,9 +79,16 @@ RUN git clone -b master https://github.com/RadeonOpenCompute/rocm-cmake.git &&
WORKDIR
/
ENV
compiler_version=$compiler_version
ENV
compiler_commit=$compiler_commit
RUN
sh
-c
"echo compiler version = '
$compiler_version
'"
RUN
sh
-c
"echo compiler commit = '
$compiler_commit
'"
RUN
--mount
=
type
=
ssh
if
[
"
$compiler_version
"
!=
"release"
]
;
then
\
RUN
--mount
=
type
=
ssh
if
[
"
$compiler_version
"
=
"amd-stg-open"
]
;
then
\
sed
-i
'/$HIP_CLANG_TARGET = chomp($HIP_CLANG_TARGET);/c\ chomp($HIP_CLANG_TARGET);'
/opt/rocm/hip/bin/hipcc.pl
&&
\
sed
-i
'/$HIP_CLANG_TARGET = chomp($HIP_CLANG_TARGET);/c\ chomp($HIP_CLANG_TARGET);'
/opt/rocm/bin/hipcc.pl
;
\
fi
RUN
--mount
=
type
=
ssh
if
[
"
$compiler_version
"
!=
"release"
]
&&
[
"
$compiler_commit
"
=
""
]
;
then
\
git clone
-b
"
$compiler_version
"
https://github.com/RadeonOpenCompute/llvm-project.git
&&
\
cd
llvm-project
&&
mkdir
build
&&
cd
build
&&
\
cmake
-DCMAKE_INSTALL_PREFIX
=
/opt/rocm/llvm
-DCMAKE_BUILD_TYPE
=
Release
-DLLVM_ENABLE_ASSERTIONS
=
1
-DLLVM_TARGETS_TO_BUILD
=
"AMDGPU;X86"
-DLLVM_ENABLE_PROJECTS
=
"clang;lld;compiler-rt"
../llvm
&&
\
...
...
@@ -89,5 +96,14 @@ RUN --mount=type=ssh if [ "$compiler_version" != "release" ]; then \
else
echo
"using the release compiler"
;
\
fi
RUN
--mount
=
type
=
ssh
if
[
"
$compiler_version
"
!=
"release"
]
&&
[
"
$compiler_commit
"
!=
""
]
;
then
\
git clone
-b
"
$compiler_version
"
https://github.com/RadeonOpenCompute/llvm-project.git
&&
\
cd
llvm-project
&&
git checkout
"
$compiler_commit
"
&&
echo
"checking out commit
$compiler_commit
"
&&
mkdir
build
&&
cd
build
&&
\
cmake
-DCMAKE_INSTALL_PREFIX
=
/opt/rocm/llvm
-DCMAKE_BUILD_TYPE
=
Release
-DLLVM_ENABLE_ASSERTIONS
=
1
-DLLVM_TARGETS_TO_BUILD
=
"AMDGPU;X86"
-DLLVM_ENABLE_PROJECTS
=
"clang;lld;compiler-rt"
../llvm
&&
\
make
-j
8
;
\
else
echo
"using the release compiler"
;
\
fi
#ENV HIP_CLANG_PATH='/llvm-project/build/bin'
#RUN sh -c "echo HIP_CLANG_PATH = '$HIP_CLANG_PATH'"
Jenkinsfile
View file @
1e86333e
...
...
@@ -19,7 +19,7 @@ def runShell(String command){
}
def
getDockerImageName
(){
def
img
=
"${env.CK_
IMAGE_URL
}:ck_ub20.04_rocm5.2.3_${params.COMPILER_VERSION}"
def
img
=
"${env.CK_
DOCKERHUB
}:ck_ub20.04_rocm5.2.3_${params.COMPILER_VERSION}"
return
img
}
...
...
@@ -43,7 +43,7 @@ def getDockerImage(Map conf=[:]){
env
.
DOCKER_BUILDKIT
=
1
def
prefixpath
=
conf
.
get
(
"prefixpath"
,
"/opt/rocm"
)
// prefix:/opt/rocm
def
no_cache
=
conf
.
get
(
"no_cache"
,
false
)
def
dockerArgs
=
"--build-arg BUILDKIT_INLINE_CACHE=1 --build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}' "
def
dockerArgs
=
"--build-arg BUILDKIT_INLINE_CACHE=1 --build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}'
--build-arg compiler_commit='${params.COMPILER_COMMIT}'
"
if
(
env
.
CCACHE_HOST
)
{
def
check_host
=
sh
(
script:
"""(printf "PING\r\n";) | nc -N ${env.CCACHE_HOST} 6379 """
,
returnStdout:
true
).
trim
()
...
...
@@ -86,7 +86,7 @@ def buildDocker(install_prefix){
checkout
scm
def
image_name
=
getDockerImageName
()
echo
"Building Docker for ${image_name}"
def
dockerArgs
=
"--build-arg BUILDKIT_INLINE_CACHE=1 --build-arg PREFIX=${install_prefix} --build-arg compiler_version='${params.COMPILER_VERSION}' "
def
dockerArgs
=
"--build-arg BUILDKIT_INLINE_CACHE=1 --build-arg PREFIX=${install_prefix} --build-arg compiler_version='${params.COMPILER_VERSION}'
--build-arg compiler_commit='${params.COMPILER_COMMIT}'
"
if
(
env
.
CCACHE_HOST
)
{
def
check_host
=
sh
(
script:
"""(printf "PING\\r\\n";) | nc -N ${env.CCACHE_HOST} 6379 """
,
returnStdout:
true
).
trim
()
...
...
@@ -105,9 +105,17 @@ def buildDocker(install_prefix){
echo
"Build Args: ${dockerArgs}"
try
{
echo
"Checking for image: ${image_name}"
sh
"docker manifest inspect --insecure ${image_name}"
echo
"Image: ${image_name} found!! Skipping building image"
if
(
params
.
BUILD_DOCKER
){
//force building the new docker if that parameter is true
echo
"Building image: ${image_name}"
retimage
=
docker
.
build
(
"${image_name}"
,
dockerArgs
+
' .'
)
retimage
.
push
()
}
else
{
echo
"Checking for image: ${image_name}"
sh
"docker manifest inspect --insecure ${image_name}"
echo
"Image: ${image_name} found!! Skipping building image"
}
}
catch
(
Exception
ex
){
echo
"Unable to locate image: ${image_name}. Building image now"
...
...
@@ -202,7 +210,7 @@ def buildHipClangJob(Map conf=[:]){
if
(
conf
.
get
(
"enforce_xnack_on"
,
false
))
{
dockerOpts
=
dockerOpts
+
" --env HSA_XNACK=1 "
}
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}' "
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}'
--build-arg compiler_commit='${params.COMPILER_COMMIT}'
"
if
(
params
.
COMPILER_VERSION
!=
"release"
){
dockerOpts
=
dockerOpts
+
" --env HIP_CLANG_PATH='/llvm-project/build/bin' "
}
...
...
@@ -213,7 +221,6 @@ def buildHipClangJob(Map conf=[:]){
gitStatusWrapper
(
credentialsId:
"${status_wrapper_creds}"
,
gitHubContext:
"Jenkins - ${variant}"
,
account:
'ROCmSoftwarePlatform'
,
repo:
'composable_kernel'
)
{
try
{
//retimage = docker.build("${image}", dockerArgs + '.')
(
retimage
,
image
)
=
getDockerImage
(
conf
)
withDockerContainer
(
image:
image
,
args:
dockerOpts
)
{
timeout
(
time:
5
,
unit:
'MINUTES'
){
...
...
@@ -290,7 +297,7 @@ def runCKProfiler(Map conf=[:]){
if
(
conf
.
get
(
"enforce_xnack_on"
,
false
))
{
dockerOpts
=
dockerOpts
+
" --env HSA_XNACK=1 "
}
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}' "
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}'
--build-arg compiler_commit='${params.COMPILER_COMMIT}'
"
if
(
params
.
COMPILER_VERSION
!=
"release"
){
dockerOpts
=
dockerOpts
+
" --env HIP_CLANG_PATH='/llvm-project/build/bin' "
}
...
...
@@ -423,7 +430,7 @@ def Build_CK(Map conf=[:]){
if
(
conf
.
get
(
"enforce_xnack_on"
,
false
))
{
dockerOpts
=
dockerOpts
+
" --env HSA_XNACK=1 "
}
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}' "
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='${params.COMPILER_VERSION}'
--build-arg compiler_commit='${params.COMPILER_COMMIT}'
"
if
(
params
.
COMPILER_VERSION
!=
"release"
){
dockerOpts
=
dockerOpts
+
" --env HIP_CLANG_PATH='/llvm-project/build/bin' "
}
...
...
@@ -508,7 +515,6 @@ def process_results(Map conf=[:]){
if
(
conf
.
get
(
"enforce_xnack_on"
,
false
))
{
dockerOpts
=
dockerOpts
+
" --env HSA_XNACK=1 "
}
def
dockerArgs
=
"--build-arg PREFIX=${prefixpath} --build-arg compiler_version='release' "
def
variant
=
env
.
STAGE_NAME
def
retimage
...
...
@@ -574,12 +580,16 @@ pipeline {
parameters
{
booleanParam
(
name:
"BUILD_DOCKER"
,
defaultValue:
tru
e
,
description:
"Force building docker image (default:
tru
e)"
)
defaultValue:
fals
e
,
description:
"Force building docker image (default:
fals
e)"
)
string
(
name:
'COMPILER_VERSION'
,
defaultValue:
'release'
,
description:
'Specify which version of compiler to use: ck-9110, release (default), or amd-stg-open.'
)
defaultValue:
'amd-stg-open'
,
description:
'Specify which version of compiler to use: ck-9110, release, or amd-stg-open (default).'
)
string
(
name:
'COMPILER_COMMIT'
,
defaultValue:
'8a82e4eb7ba28521ba9a9424a0315a8a16590424'
,
description:
'Specify which commit of compiler branch to use: leave empty to use the latest commit, or use 10738 commit (default).'
)
string
(
name:
'BUILD_COMPILER'
,
defaultValue:
'hipcc'
,
...
...
@@ -588,10 +598,6 @@ pipeline {
name:
"RUN_FULL_QA"
,
defaultValue:
false
,
description:
"Select whether to run small set of performance tests (default) or full QA"
)
booleanParam
(
name:
"TEST_NODE_PERFORMANCE"
,
defaultValue:
false
,
description:
"Test the node GPU performance (default: false)"
)
}
environment
{
dbuser
=
"${dbuser}"
...
...
@@ -606,9 +612,10 @@ pipeline {
}
stages
{
stage
(
"Build Docker"
){
when
{
expression
{
params
.
BUILD_DOCKER
.
toBoolean
()
}
}
//when {
// beforeAgent true
// expression { params.BUILD_DOCKER.toBoolean() }
//}
parallel
{
stage
(
'Docker /opt/rocm'
){
agent
{
label
rocmnode
(
"nogpu"
)
}
...
...
@@ -619,10 +626,6 @@ pipeline {
}
}
stage
(
"Static checks"
)
{
when
{
beforeAgent
true
expression
{
!
params
.
TEST_NODE_PERFORMANCE
.
toBoolean
()
}
}
parallel
{
// enable after we move from hipcc to hip-clang
// stage('Tidy') {
...
...
@@ -679,10 +682,6 @@ pipeline {
//once we have some tests to run in this stage, we can enable it again.
stage("Client App")
{
when {
beforeAgent true
expression { !params.TEST_NODE_PERFORMANCE.toBoolean() }
}
parallel
{
stage("Run Client App")
...
...
@@ -707,7 +706,7 @@ pipeline {
{
when {
beforeAgent true
expression { !params.RUN_FULL_QA.toBoolean()
&& !params.TEST_NODE_PERFORMANCE.toBoolean()
}
expression { !params.RUN_FULL_QA.toBoolean() }
}
options { retry(2) }
agent{ label rocmnode("gfx908 || gfx90a")}
...
...
@@ -722,7 +721,7 @@ pipeline {
{
when {
beforeAgent true
expression { params.RUN_FULL_QA.toBoolean()
|| params.TEST_NODE_PERFORMANCE.toBoolean()
}
expression { params.RUN_FULL_QA.toBoolean() }
}
options { retry(2) }
agent{ label rocmnode("gfx90a")}
...
...
dev-requirements.txt
View file @
1e86333e
ROCmSoftwarePlatform/rocm-recipes
RadeonOpenCompute/rocm-cmake@04f694df2a8dc9d7e35fa4dee4ba5fa407ec04f8
--build
# 1.90+
danmar/cppcheck@dd05839a7e63ef04afd34711cb3e1e0ef742882f
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment