Commit Graph

73 Commits

Author SHA1 Message Date
Illia Silin
e6d099c830 Add cppcheck to CK CI. (#1125)
* add cppcheck to the CK CI

* fix the path to CK source for cppcheck

* fix the path to CK source for cppcheck one more time

* fix the path to CK source for cppcheck third time

* change the path to ck_cppcheck.log

* install latest cppcheck from source

* fix bug in ck.hpp and use 20 threads for cppcheck

* create a switch to turn cppckeck on and off in CI
2024-01-15 09:11:45 -08:00
Illia Silin
d89700201b Add a docker for testing CK with rocm6.0.1 RC1. (#1119)
* add docker for rocm6.0.1 rc1

* modify the path to clang for test compilers in CI

* fix the hipcc/clang path for test compilers in CI

* fix the dockerfile for older rocm versions
2024-01-05 08:01:33 -08:00
Illia Silin
dcedf3632f Upgrade the default compiler to ROCm6.0 release. (#1103)
* upgrade to rocm6.0 compiler

* move rocm6.0 from private to public repo

* switch to testing hipTensor mainline in CI
2023-12-16 09:17:40 -08:00
Illia Silin
d939411dae Switch from ROCmSoftwarePlatform to ROCm org (#1091)
* switch from ROCmSoftwarePlatform to ROCm org

* replace ROCmSoftwarePlatform with ROCm in few more places
2023-12-07 15:59:34 -08:00
Illia Silin
6896c3b0ae Fix the CI builds using clang++ directly. (#1087)
* turn on -O3 compiler flag explicitly

* change cmake syntax for CI

* modify cmake line breaks in jenkinsfile
2023-12-06 12:48:10 -08:00
Illia Silin
afe4622014 Add daily run with mainline compiler. (#1075)
* add daily build with mainline compiler

* fix the compiler paths for ci

* remove the -flto flag

* build with clang by default
2023-12-04 19:04:52 -08:00
Jun Liu
c7d5c7727b [CI] Update Jenkinsfile (#1073) 2023-11-30 15:24:59 -08:00
Illia Silin
68f2b5e7c7 add linker script to QA builds (#1030) 2023-11-08 17:53:45 -08:00
Illia Silin
b0568b728b switch the hipTensor testing from mainline to develop branch (#1025) 2023-11-03 12:36:41 -07:00
Illia Silin
306fd506b1 handle the exception when cannot connect to redis server (#1019) 2023-11-01 09:43:10 -07:00
Illia Silin
4e44a9e8da Enable sccache in the default docker and CI. (#1009)
* replace ccache with sccache, pin package versions

* put ccache back temporarily to avoid breaking other CI jobs

* add sccashe_wrapper.sh script

* fix the package version syntax

* fix the pymysql package issue

* run sccache_wrapper before build if ccache server found

* set the paths before calling the sccache_wrapper

* use /tmp instead of /usr/local for cache

* try using sccache --start-server instead of wrapper

* try using redis server with sccache

* define SCCACHE_REDIS

* add redis and ping packages, and redis port

* use the new sccache redis server

* do not use sccache with staging compiler

* fix the condition syntax

* add stunnel to redis

* add tunnel verification

* separate caches for different architectures

* fix syntax for the cache tag

* quse double brackets for conditions

* add bash line to the script

* add a switch for sccache and only use it in build stage

* run check_host function when enabling sccache

* fix the invocation tags for sccache

* fix groovy syntax

* set the invocation tag in groovy

* disable sccache in clang-format stage

* try another syntax for invocation tags

* use local sccache server if can't connect to redis

* fix script syntax

* update README

* refresh readme

* readme updates

* remove the timing and verification caveat from readme

---------

Co-authored-by: Lisa Delaney <lisa.delaney@amd.com>
2023-10-30 13:16:29 -07:00
Illia Silin
f7331c603b Fix the DL kernel issues on Navi3x. (#998)
* apply the patch for dl kernels on gfx11

* build DL kernels on navi32 CI
2023-10-19 09:34:39 -07:00
Illia Silin
707ad0025f Add hipTensor build and test to CK CI. (#990)
* add a hipTensor test to CI

* use jenkins git plugin

* change hipTensor folder location in CI

* change the git method for hipTensor

* run tests usign ctest

* check the hipTensor contents

* only build hipTensor on MI100/200

* pull hipTensor as zip archive

* fix jenkins syntax

* add path to the CK installation

* combine build commands into one shell

* change jenkins syntax for CK installer path

* try different syntax

* allow unzip overwrite

* fix jenkins file syntax

* remove any old versions of hipTensor before building

* add option to select hipTensor branch for testing
2023-10-16 08:40:26 -07:00
Illia Silin
6b5f647371 add gfx942 target to the daily ckprofiler package (#955) 2023-09-29 08:55:25 -07:00
Illia Silin
718065ebd2 update to rocm5.7 by default (#925)
* update to rocm5.7 by default

* fix jenkinsfile syntax
2023-09-19 09:35:45 -07:00
Illia Silin
74d32f0719 Add a switch to build DL kernels and build them with staging compiler. (#907)
* enable building DL kernels with the daily staging compiler

* move the DL_KERNELS flag to another function
2023-09-12 20:14:33 -05:00
Illia Silin
56c0279bbd clean up the workspace after every stage (#909) 2023-09-12 08:57:12 -07:00
Jun Liu
c8a8385fdd [HotFix] add config and version files to pass on build info (#856)
* experiment with config file

* experiment with version.h config

* add more info to version.h

* minor updates

* minor updates

* fix case where DTYPE is not used

* large amount of files but minor changes

* remove white space

* minor changes to add more MACROs

* fix cmakedefine01

* fix issue with CK internal conflict

* fix define and define value

* fix clang-format

* fix formatting issue

* experiment with cmake

* clang format v12 to be consistent with miopen

* avoid clang-format for config file
2023-08-23 11:36:17 -07:00
Illia Silin
6237bd1247 Add the rocm5.7 RC1 compiler and use it for QA builds. (#842)
* add docker for rocm5.7 RC1

* fix rocm5.7 rc1 build

* build QA with rocm5.7 rc1 compiler
2023-08-10 09:25:21 -07:00
Illia Silin
9af519ee86 add gfx941 to the ckProfiler package (#840) 2023-08-09 10:30:40 -07:00
Illia Silin
9195435c77 Disable DL kernels by default. (#816) 2023-07-26 11:06:45 -05:00
Illia Silin
189ea3b9aa Add mechanism to build CK for select data types, add Navi3x CI. (#790)
* allow building CK for specific data types

* add CI build and test stage on Naiv3x without some int8 instances

* add missing gemm fp16 instances

* add the changes to the missed cmake file

* add empty lines at end of source files

* Do not build quantization client example on navi3 in CI

* disable batched_gemm_multi_d_int8 instances with DTYPES

* disable device_conv2d_bwd_data_instance with DTYPES

* fix ckprofiler for conv_bwd_data for int8

* properly isolate the conv_bwd_data int8 instances

* remove empty line
2023-07-17 18:02:42 -07:00
Illia Silin
87f2bbcf5c change the build thread usage in CI (#787) 2023-07-06 20:17:25 -05:00
Illia Silin
7797bd3d2b Upgrade default docker to ROCM5.6 release. (#778)
* upgrade default compiler to rocm5.6 release

* do daily runs with rocm5.6 instead of 5.5
2023-06-30 08:06:54 -07:00
Illia Silin
d3adc66581 Add rocm5.6 RC4 and rocm5.7 to docker build options. (#770)
* upgrade to rocm5.6 rc4

* add rocm5.7 docker
2023-06-28 08:58:28 -05:00
Illia Silin
3b18f1e38c do not build gfx941/942 targets during CI (#766) 2023-06-21 10:47:35 -07:00
Illia Silin
d140bdc9fa do not build gfx941/942 targets during daily QA runs (#758) 2023-06-16 12:13:16 -07:00
Illia Silin
027e46ee82 Enable gfx941 and gfx942 architectures. (#752)
* enable gfx941/942 targets

* fix clang format

* fix the cmake logic for multiple targets

* fix cmake syntax for looping over targets

* add gfx941/942 support for gemm_xdl instances
2023-06-15 08:20:59 -07:00
Illia Silin
d821d1e54f Enable gemm_dl and other kernels on Navi3x. (#714)
* enable dl kernels on navi3

* do not build xdl tests and examples on Navi

* run tests before building everything on jenkins

* disable gemm_bilinear on gfx1030

* add gpu targets to installer on Navi

* put tests in the same order as before

* reduce the number of navi targets in CI

* build CI installed for gfx940 as well

* only build for MI300 during QA runs
2023-05-23 11:23:16 -05:00
Illia Silin
86e0190ec9 update daily build from rocm 5.4.3 to 5.5 (#693) 2023-05-03 08:18:10 -07:00
Illia Silin
9afa44d40b Switch to the new rocm5.6 compiler. (#681)
* switch to the new rocm5.6 compiler and docker

* fix syntax
2023-04-21 07:59:26 -07:00
Illia Silin
bb0b772da9 Allow using ROCm release candidate compilers. (#679)
* enable use of rocm5.5 release candidate 4

* upgrade to ROCM5.5 RC5

* try fix the PUB_KEY error, remove the cmake-data package

* upgrade to latest cmake version

* use private dockerhub repo for rocm5.5 rc5

* add missing bracket
2023-04-18 09:22:49 -07:00
Haocong WANG
087e310589 [Navi3x] Multiple issue fix (#612)
* Change gridwise gemm mD blockwise gemm to naive

* RRR Gemm fix

* Fix RCR gemm bug

* Isolate wmma instructions

* Update amd_inline_asm.hpp

* Update amd_wmma.hpp

* Update amd_wmma.hpp

* fix syntax and update Jenkinsfile

---------

Co-authored-by: zjing14 <zhangjing14@gmail.com>
Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com>
Co-authored-by: illsilin <Illia.Silin@amd.com>
2023-03-10 17:04:28 -06:00
Illia Silin
0ccecc7c31 [gfx110x] support Navi3x architectures. (#628)
* enable building on Nav31

* fix syntax

* replace GPU_TARGETS with offload-arch

* add gfx1102 rachitecture

* fix typo

* update changelog
2023-03-09 07:56:40 -06:00
Illia Silin
e6cda9f8ff Change the CI workflow. (#611)
* add new parallel stage on navi node

* dont run performance tests on navi, get rid of 9110 compiler

* only run navi build when not doing QA

* fix syntax

* use navi21 label

* dont stash profiler on navi nodes, scp deb package to ginger

* disable tests on navi nodes

* test posting a binary to ginger

* add sshpass and use it to copy deb package

* fix the scp example

* fix syntax

* debug the scp issues

* add jenkins user to docker

* dont try whoami

* change jenkins uid and add user with uid=1002

* try scp from the last stage on micimaster

* rename and stash the package, scp from micimaster
2023-03-02 11:24:31 -06:00
Illia Silin
59cbb20c7c Suppress reserved-identifier warning and catch all warnings. (#608)
* suppress the reserved-identifier warnings

* keep BUILD_DEV=On and use -Werror by default
2023-03-01 12:08:13 -06:00
Illia Silin
bef0cb20db fix a bug when building for gfx1030 target. (#591)
* fix a bug while building for gfx1030 and add gfx1030 to targets

* fix syntax
2023-02-16 13:54:08 -06:00
Illia Silin
584d233cfe Build and archive deb packages. (#590)
* build and archive deb packages

* fix syntax

* run QA to test building packages

* apply cron to develop branch again
2023-02-16 13:11:23 -06:00
Illia Silin
bb3d9546f1 Fix a couple more CI issues. (#578)
* test the QA cron parameter for compiler commit

* create separate dockers for latest and fixed amd-stg-open compiler versions

* change groovy syntax

* apply cron timers back to develop branch
2023-02-08 11:50:09 -06:00
Illia Silin
f73574ffdd Fix CI issues. (#572)
* switch to recent staging compiler as default for CI

* fix the baseline query

* roll back sqlalchemy to version 1.4.46
2023-02-06 13:15:45 -06:00
Illia Silin
d072790fe2 Fix CI error. (#530)
* ignore .git folder when doing clang-format

* fix syntax

* add backslashes before quotes

* add path filter for several extensions
2022-12-06 15:09:51 -06:00
Illia Silin
39abb4704a Fix build issue and schedule daily tests with latest staging compiler version. (#470)
* run branch once a day, with release and staging compilers

* add GetDockerImage in Clang stage

* apply the new triggers to the develop branch
2022-10-11 12:06:36 -05:00
Illia Silin
7fc3ed761a Allow setting ROCM version, activate cchache, etc. (#462)
* enable ccache and decouple it from MIOpen ccache use

* fix the ccache check script

* use another method to get server name

* fix syntax

* add quotes around the server name variable

* use check_host as function

* change syntax

* fix syntax

* test if server name is parsed correctly

* try different syntax

* check the env var value

* test new check node function

* add ROCMVERSION parameter and fix script syntax

* fix script syntax

* add missing instances of rocm version

* install ccache in the docker image

* do not check GPU in clang format stage, clean up old code

* update defaults and clean up
2022-10-01 18:48:19 -05:00
Illia Silin
b882554758 Fix build issues, set new compiler default, etc. (#451)
* add an option to select specific compiler commit

* change the logic of forcing building a docker

* add check for compiler commit in dockerfile

* compiler check syntax fix

* change compiler selection logic

* fix the new compiler build issue

* set new compiler as default, update dev-requirements

* fix jenkins syntax

* fix docker syntax

* get rid of hipcc.pl editing in jenkinsfile

* fix the hipcc.pl in both places

* try to fix the 10738 compiler linking bug

* fix syntax

* use dockerhub to store images

* use newer amd-stg-open commit as default
2022-09-27 15:26:56 -05:00
Illia Silin
aa0b05156f Replace the obsolete offload-arch flags with GPU_TARGETS and fix a bug. (#437)
* replace obsolete offload-arch flags with GPU_TARGETS

* fix a build error for client app

* replace commma with semicolon in GPU_TARGETS
2022-09-22 09:32:25 -05:00
Illia Silin
85b0920dc8 Build the CK targets only once. (#433)
* build CK only once, use deb package in all subsequent stages

* update jenkins file

* change prefix for build_CK stage

* update writing deb metadata to control file

* update ubuntu source for docker, script syntax for deb package metadata

* try different way to create deb metadata

* clean up DEBIAN before creating one

* fix the CI folder names, fix splitK qa

* use correct docker in all stages, separate tests for splitK verification and performance

* clean old comments, change dir before packaging

* use different package syntax

* change packaging syntax

* package with cmake

* remove unnecessary build prefix

* get rid of unnecessary paths

* change paths during unpacking

* change script syntax while unpacking

* get rid of unneccesary steps

* get rid of comments in the scripts

* use double quotes for scripts

* add ccache during build, try dpkg -x

* pull and install each package separately

* use full package names

* try to use stashing for packages

* change stash/unstash syntax

* move unstash out of shell, run tests on any gpu node

* unpack each package separately

* try re-using existing workspace

* merge the build and test stages, only stash ckProfiler

* merge the build and test stages, only stash zipped ckProfiler

* fix syntax

* add GPU check before build and test, rename docker to usual name
2022-09-21 14:30:13 -05:00
Illia Silin
9f7c193064 use rocm5.2 compiler as default, use same flags for amd-stg-open as for release (#426) 2022-09-20 11:08:09 -05:00
Illia Silin
b22ebd4485 Upgrade the OS and ROCM versions. (#411)
* upgrade the OS and ROCM versions in CK docker

* add cxx flags to link code with rocm5.2 and ck-9110 compiler

* rename the docker image

* run ONNX gemms using init=1
2022-09-13 10:39:14 -05:00
Illia Silin
ce74cea407 Add stderr to QA logfiles, process splitK and ONNX gemm kernels (#402)
* add processing for the onng_gemm and splitK_gemm

* add profile_onnx_gemm.sh

* add stderr to logfiles, add splitK and onnx gemm parsing

* enable splitK gemm wresults posting to db
2022-09-07 13:59:44 -05:00
Illia Silin
1e5b59df22 Add an option to build CK with clang directly (#387)
* replace hipcc compiler with clang++

* build client app with hipcc

* build client app with clang

* add an option to build with hipcc ro clang

* fix the environment for client app

* fix setting up compiler in cmake_build

* change the way the compiler is set
2022-08-26 12:51:39 -05:00