Commit Graph

89 Commits

Author SHA1 Message Date
Illia Silin
f0bf1e3125 [CI] Focus CI stages on MI200 nodes for resource optimization (#1273) 2024-05-01 10:07:14 -07:00
Illia Silin
f6b3f4715d [CI][Tests] Add a daily cron job to build CK instances for gfx9;gfx10;gfx11. (#1271)
* add a daily build for instances for gfx9;gfx10;gfx11

* fix jenkins logic for instances only build

* fix the path for instance_only build

* reduce the number of build threads to 32
2024-04-30 14:44:30 -07:00
Illia Silin
930f889c34 Make daily cron jobs use the rocm6.1 compiler. (#1253)
* add rocm6.1 docker and make it default for CI

* fix typo

* move the rocm6.1 image into public dockerhub repo

* upgrade daily cron jobs to use rocm6.1
2024-04-18 09:40:21 -07:00
Illia Silin
caae537d8e Upgrade to ROCm6.1 and turn on the -enable-post-misched=0 compiler flag. (#1250)
* add rocm6.1 docker and make it default for CI

* fix typo

* move the rocm6.1 image into public dockerhub repo
2024-04-18 11:10:23 -05:00
Haocong WANG
f83e9701e9 [GEMM] Gemm universal device operation (#1154)
* Optimize GEMM on MI200/300:
1. Add new blockwise gemm pipeline
2. Add irregular splitk intances

* clang format + typo fix

* Fix a bug

* initial commit

* Add more instances to irregular splitk

* blkgemm pipeline v1~4 prototype

* Sanity Checked. Known issue:
1. Poor performance of splitk
2. Register spill on blkgemmpipeline v3

* Sanity and Performance fix:
1. fix a bug related to sanity in grouped b2c mapping
2. fix a bug related to sanity and performance in splitk offset

* Sanity and API update:
1. Remove prefetch stage
2. Fix valid check bug
3, Add first gemm_universal instance into ckProfiler

* Add NN instances for gemm universal

* 1. Add NT instances for gemm_universal
2. Fix a bug about Kpadding in gemm_universal

* Fix a bug regarding padding Odd K number

* remove kernel print

* Fix KPadding bug...

* Update safety check

* another try to fix kpadding..

* Sanity checked

* new instances..

* clang format+typo fix

* remove clang format script's change

* Add non-hotloop compile option

* 1. Add fp16xfp8 example
2. pull packed convert f8 from pr1150

* Some miscs.. opt and fix

* Add pipeline description docs

* Split universal gemm instance library to cut profiler compiling time

* uncomment cmakefile

* Fix a bug caused by blockwise_gemm_pipe_v2

* reduce default splitk to 1

* Add 224x256x64 tile size

* update, including:
1. Experiment pipeline 5~7
2. Optimization for pipeline 4
3. Organized instance library

* temp save

* temp save

* Permuted lds layout, sanity and function checked

* clang format

* Move OOB check from RunRead to RunWrite, for better software pipeline.
TODO: agpr spill when NN layout

* clangformat

* A/B splitpipe scheduler for v3

* Fix two bugs

* bug fix

* fix a bug in oob check

* Example for mixed fp16_fp8 gemm

* Clean experimental code blocks

* Add mixed precision gemm into profiler

* tempsave

* optimize m/n major lds layout

* Add RRR GEMM  mixed precision instances

* Optimize f8 matrix transpose

* Add test_gemm_universal

* A/B spilt schedule for blkpip v5

* Take ds_read2 into iglp scheduling scheme

* format

* fixed cmake

* Add llvm-option into CI cmake flag

---------

Co-authored-by: Jing Zhang <jizhan@amd.com>
2024-04-13 21:03:18 -05:00
Illia Silin
cc1f733d0e allow the CI to pass even if can't connect to db (#1214) 2024-03-22 15:39:11 -07:00
Illia Silin
f52109531b Fix a couple of docker issues. (#1206)
* do not install sccache by default, only install rocm-llvm-dev for rocm6.1

* add sccache flag to docker build options
2024-03-19 08:38:52 -07:00
Illia Silin
bdcd037428 Re-enable the performance tracking in CI. (#1203)
* test CK with rocm6.1 RC2

* add docker credentials for pull

* update the performance db name

* use environment variable for db name

* add rocm-llvm-dev package to ck docker

* turn off verification for daily performance runs

* do not stash ckProfiler on MI300 node

* add processing of mixed gemms to qa, fix parsing of splitk gemm logs

* fix the splitk gemm log file name

* turn the timing on for splitk gemm performance
2024-03-18 09:48:29 -07:00
Paul Fultz II
8eff4d62b6 Add host lib (#1134)
* Format

* Format

* Format

* Remove const

* Use the right template

* Format

* Format

* add row/col instances

* Add missing file

* fixed

* Format

* Updates

* Format

* fixed rrr layout

* Format

* Update test and embed modules

* Restore older version

* Update year

* Set -fPIC

* Format

* Use double for isnan

* rename host folder to codegen + minor fix

* add codegen CI test

* add option to build components without building CK

* fix the groovy syntax

* fix typo

* use the correct function for the codegen stage

---------

Co-authored-by: Jing Zhang <jizha@amd.com>
Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com>
Co-authored-by: illsilin <Illia.Silin@amd.com>
2024-03-05 17:08:43 -08:00
Illia Silin
cf86621170 [CI] Add CI build and test stage on MI300. (#1185) 2024-03-05 10:42:16 -08:00
Illia Silin
a78be3f69e add docker credentials before pushing image (#1165) 2024-02-12 16:11:32 -08:00
Illia Silin
f0dd1da088 Delete any dangling images after building a new one. (#1155)
* delete dangling docker images

* fix groovy syntax

* fix groovy syntax again

* try a different way to delete dangling images
2024-02-05 10:34:47 -08:00
Illia Silin
6651a124cc update the name of the compiler staging branch (#1148) 2024-01-30 13:55:31 -08:00
Illia Silin
e7495e6bb7 turn off performance tests in CI by default until the infrastructure is fixed (#1147) 2024-01-30 13:14:58 -08:00
Illia Silin
4a8297c28a fix CK path for hipTensor (#1143) 2024-01-25 17:05:43 -08:00
Illia Silin
180e572076 Fixing most of the cppcheck errors. (#1142)
* fix cppcheck errors, first pass

* fix format

* fix returned value in examples

* add macro definitions for cppcheck

* fix the profile_gemm logic

* update the gemm profiler logic

* add more difinitions to cppcheck, fix couple more errors

* replace runtime error with message in device function

* fix a couple of int4 issues

* no return for fill function

* fix errors in data_types.hpp

* fix format

* fix few remaining errors

* fix errors in data_types.hpp

* fix last couple of errors in datat_types.hpp
2024-01-24 13:47:48 -08:00
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