Commit Graph

92 Commits

Author SHA1 Message Date
Illia Silin
11ce5b2508 disable the hipTensor test by default, only run once daily (#1321)
[ROCm/composable_kernel commit: 3fa7e2a6c4]
2024-06-03 14:07:30 -07:00
Illia Silin
237c390a30 Build CK library for all supported targets. (#1312)
* test library build for all supported targets

* increase the number of threads to build lib in CI to 64

[ROCm/composable_kernel commit: 34f3dfdd61]
2024-05-28 12:36:06 -07:00
Illia Silin
254758813f Code clean-up (#1285)
* code clean-up

* remove the profiling output samples

[ROCm/composable_kernel commit: 566b6480a2]
2024-05-10 09:41:39 -07:00
Illia Silin
c02ecc0cd1 [CI] Focus CI stages on MI200 nodes for resource optimization (#1273)
[ROCm/composable_kernel commit: f0bf1e3125]
2024-05-01 10:07:14 -07:00
Illia Silin
8e9c95c520 [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

[ROCm/composable_kernel commit: f6b3f4715d]
2024-04-30 14:44:30 -07:00
Illia Silin
433f7857d7 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

[ROCm/composable_kernel commit: 930f889c34]
2024-04-18 09:40:21 -07:00
Illia Silin
8986d38014 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

[ROCm/composable_kernel commit: caae537d8e]
2024-04-18 11:10:23 -05:00
Haocong WANG
ceaecc86ca [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>

[ROCm/composable_kernel commit: f83e9701e9]
2024-04-13 21:03:18 -05:00
Illia Silin
cb9b04b34a allow the CI to pass even if can't connect to db (#1214)
[ROCm/composable_kernel commit: cc1f733d0e]
2024-03-22 15:39:11 -07:00
Illia Silin
cbc9a5c809 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

[ROCm/composable_kernel commit: f52109531b]
2024-03-19 08:38:52 -07:00
Illia Silin
4844e407ee 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

[ROCm/composable_kernel commit: bdcd037428]
2024-03-18 09:48:29 -07:00
Paul Fultz II
871810b885 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>

[ROCm/composable_kernel commit: 8eff4d62b6]
2024-03-05 17:08:43 -08:00
Illia Silin
7241d5ad6a [CI] Add CI build and test stage on MI300. (#1185)
[ROCm/composable_kernel commit: cf86621170]
2024-03-05 10:42:16 -08:00
Illia Silin
baa25bcc4b add docker credentials before pushing image (#1165)
[ROCm/composable_kernel commit: a78be3f69e]
2024-02-12 16:11:32 -08:00
Illia Silin
6d7cc0a989 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

[ROCm/composable_kernel commit: f0dd1da088]
2024-02-05 10:34:47 -08:00
Illia Silin
a2bc19ab69 update the name of the compiler staging branch (#1148)
[ROCm/composable_kernel commit: 6651a124cc]
2024-01-30 13:55:31 -08:00
Illia Silin
94cb9d6d85 turn off performance tests in CI by default until the infrastructure is fixed (#1147)
[ROCm/composable_kernel commit: e7495e6bb7]
2024-01-30 13:14:58 -08:00
Illia Silin
8d92b8d30d fix CK path for hipTensor (#1143)
[ROCm/composable_kernel commit: 4a8297c28a]
2024-01-25 17:05:43 -08:00
Illia Silin
b5a3426d89 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

[ROCm/composable_kernel commit: 180e572076]
2024-01-24 13:47:48 -08:00
Illia Silin
4612139045 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

[ROCm/composable_kernel commit: e6d099c830]
2024-01-15 09:11:45 -08:00
Illia Silin
d33e0c1afc 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

[ROCm/composable_kernel commit: d89700201b]
2024-01-05 08:01:33 -08:00
Illia Silin
59101c1b74 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

[ROCm/composable_kernel commit: dcedf3632f]
2023-12-16 09:17:40 -08:00
Illia Silin
79814fa5f2 Switch from ROCmSoftwarePlatform to ROCm org (#1091)
* switch from ROCmSoftwarePlatform to ROCm org

* replace ROCmSoftwarePlatform with ROCm in few more places

[ROCm/composable_kernel commit: d939411dae]
2023-12-07 15:59:34 -08:00
Illia Silin
28a21c6dd6 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

[ROCm/composable_kernel commit: 6896c3b0ae]
2023-12-06 12:48:10 -08:00
Illia Silin
97632b8da5 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

[ROCm/composable_kernel commit: afe4622014]
2023-12-04 19:04:52 -08:00
Jun Liu
b6ede3d1da [CI] Update Jenkinsfile (#1073)
[ROCm/composable_kernel commit: c7d5c7727b]
2023-11-30 15:24:59 -08:00
Illia Silin
2aea02c7ea add linker script to QA builds (#1030)
[ROCm/composable_kernel commit: 68f2b5e7c7]
2023-11-08 17:53:45 -08:00
Illia Silin
3e6b98f1d0 switch the hipTensor testing from mainline to develop branch (#1025)
[ROCm/composable_kernel commit: b0568b728b]
2023-11-03 12:36:41 -07:00
Illia Silin
5873464913 handle the exception when cannot connect to redis server (#1019)
[ROCm/composable_kernel commit: 306fd506b1]
2023-11-01 09:43:10 -07:00
Illia Silin
762f0c0d11 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>

[ROCm/composable_kernel commit: 4e44a9e8da]
2023-10-30 13:16:29 -07:00
Illia Silin
6d30e20d44 Fix the DL kernel issues on Navi3x. (#998)
* apply the patch for dl kernels on gfx11

* build DL kernels on navi32 CI

[ROCm/composable_kernel commit: f7331c603b]
2023-10-19 09:34:39 -07:00
Illia Silin
030da9b574 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

[ROCm/composable_kernel commit: 707ad0025f]
2023-10-16 08:40:26 -07:00
Illia Silin
95ef7f577b add gfx942 target to the daily ckprofiler package (#955)
[ROCm/composable_kernel commit: 6b5f647371]
2023-09-29 08:55:25 -07:00
Illia Silin
828f8e5554 update to rocm5.7 by default (#925)
* update to rocm5.7 by default

* fix jenkinsfile syntax

[ROCm/composable_kernel commit: 718065ebd2]
2023-09-19 09:35:45 -07:00
Illia Silin
5b9d3268d7 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

[ROCm/composable_kernel commit: 74d32f0719]
2023-09-12 20:14:33 -05:00
Illia Silin
e885110f62 clean up the workspace after every stage (#909)
[ROCm/composable_kernel commit: 56c0279bbd]
2023-09-12 08:57:12 -07:00
Jun Liu
a2392f1887 [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

[ROCm/composable_kernel commit: c8a8385fdd]
2023-08-23 11:36:17 -07:00
Illia Silin
02fa65753c 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

[ROCm/composable_kernel commit: 6237bd1247]
2023-08-10 09:25:21 -07:00
Illia Silin
1d3917e60e add gfx941 to the ckProfiler package (#840)
[ROCm/composable_kernel commit: 9af519ee86]
2023-08-09 10:30:40 -07:00
Illia Silin
fe77d721fb Disable DL kernels by default. (#816)
[ROCm/composable_kernel commit: 9195435c77]
2023-07-26 11:06:45 -05:00
Illia Silin
67b2baf9c1 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

[ROCm/composable_kernel commit: 189ea3b9aa]
2023-07-17 18:02:42 -07:00
Illia Silin
04ea8b4ec2 change the build thread usage in CI (#787)
[ROCm/composable_kernel commit: 87f2bbcf5c]
2023-07-06 20:17:25 -05:00
Illia Silin
60fc996082 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

[ROCm/composable_kernel commit: 7797bd3d2b]
2023-06-30 08:06:54 -07:00
Illia Silin
e0c3506afe Add rocm5.6 RC4 and rocm5.7 to docker build options. (#770)
* upgrade to rocm5.6 rc4

* add rocm5.7 docker

[ROCm/composable_kernel commit: d3adc66581]
2023-06-28 08:58:28 -05:00
Illia Silin
a772a77abe do not build gfx941/942 targets during CI (#766)
[ROCm/composable_kernel commit: 3b18f1e38c]
2023-06-21 10:47:35 -07:00
Illia Silin
033da551a7 do not build gfx941/942 targets during daily QA runs (#758)
[ROCm/composable_kernel commit: d140bdc9fa]
2023-06-16 12:13:16 -07:00
Illia Silin
624a327663 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

[ROCm/composable_kernel commit: 027e46ee82]
2023-06-15 08:20:59 -07:00
Illia Silin
96dbe62907 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

[ROCm/composable_kernel commit: d821d1e54f]
2023-05-23 11:23:16 -05:00
Illia Silin
358f58f14b update daily build from rocm 5.4.3 to 5.5 (#693)
[ROCm/composable_kernel commit: 86e0190ec9]
2023-05-03 08:18:10 -07:00
Illia Silin
9ed5ad0f21 Switch to the new rocm5.6 compiler. (#681)
* switch to the new rocm5.6 compiler and docker

* fix syntax

[ROCm/composable_kernel commit: 9afa44d40b]
2023-04-21 07:59:26 -07:00