Commit Graph

104 Commits

Author SHA1 Message Date
Illia Silin
c53d851c22 Enable daily ninja build traces. (#1487)
* add ninja trace to CI builds

* fix ninja trace logic

* update the ninja trace logic in jenkins file

* limit the number of threads to run ninja build

* use ninja for installation after build

* update the path to ninjatracing tool

* use ninja to run check when using build trace

* fix jenkins logic

* fix typos

* set proper setup_args for all stages

* fix ninja syntax

* replace ninja check with ninja test

* enable ninja tracing with mainline and staging compilers

[ROCm/composable_kernel commit: 19d22e60c1]
2024-08-26 13:27:01 -07:00
Bartłomiej Kocot
0f7c45915c Add performance and large tensor tests for grouped conv (#1456)
* Add performance and large tensor tests for grouped conv

* Resize tests

* Resize tests

* update the python script to parse the grouped_conv results

* Remove int8 tests

* change bwd wei layout

---------

Co-authored-by: illsilin <Illia.Silin@amd.com>

[ROCm/composable_kernel commit: 2581727d2a]
2024-08-16 07:48:30 -07:00
arai713
576bdcc359 Codegen build w/CK (#1428)
* initial push

* cleaned up compiler errors

* removed commented code

* build codegen folder only for gfx9 targets

* remove separate stage for codegen tests from CI

* removed commented code from CMake

---------

Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com>
Co-authored-by: illsilin <Illia.Silin@amd.com>

[ROCm/composable_kernel commit: da214a5a58]
2024-08-09 08:15:06 -07:00
Illia Silin
2b8bd9450a Enable CI on gfx12. (#1454)
* enable CI build and test on gfx1201

* skip DL kernels in CI for gfx12

* only run CI on gfx12 if rocm version >= 6.2

* remove the rocm version check for CI on gfx12

* add a switch for CI builds on gfx12

[ROCm/composable_kernel commit: 4a5ab67871]
2024-08-08 16:29:15 -07:00
Illia Silin
b8eddc3771 upgrade to rocm6.2 as new default compiler (#1448)
[ROCm/composable_kernel commit: 5df10432d8]
2024-08-07 09:38:43 -07:00
Illia Silin
b18480eab1 Run CK_TILE FMHA benchmarks and collect the performance data. (#1447)
* run ck_tile benchmarks after the smoke tests and store logs

* change the path of fmha benchmark logs

* change the way of stashig ck_tile fmha logs

* prevent the errors in stages where no logs are generated

* fix the ck_tile fmha log names and headers

* generate the fmha performance logs in the root folder

* change jenkins scrip arguments format

* use exact file names for stashing

* modify scripts to process FMHA performance results

* unstash FMHA logs before parsing them

[ROCm/composable_kernel commit: 12c1f68dd9]
2024-08-07 08:18:26 -07:00
Illia Silin
a5c15d2b51 [CI][Jenkins] delete CI docker container upon exit (#1437)
[ROCm/composable_kernel commit: f31ba04afc]
2024-08-05 08:13:56 -07:00
Illia Silin
4cfc157a28 Add compiler flags for ROCm versions 6.2+ (#1429)
* add compiler flags to fix compiler issues

* fix typo.

* disable test_smfmac_op on all devices except gfx942

* specify full path to compiler in CI

[ROCm/composable_kernel commit: d311c95396]
2024-08-01 08:27:52 -07:00
Illia Silin
4488950d01 Add CK_TILE tests to daily CI builds. (#1381)
* add ck_tile tests to CI

* build and run ck_tile tests on gfx90a and gfx942 in parallel

* fix groovy syntax

* turn ck_tile tests OFF by default

* skip creating the build folder

* build ck_tile examples with 64 threads

* build ck_tile examples with cmake-ck-dev.sh script

* add video group to docker on mi300

* do not retry to rebuild the early CI stages

* help prevent jenkins false failure

* restore cron trigger

[ROCm/composable_kernel commit: 98a01bbc72]
2024-07-11 13:22:40 -07:00
Illia Silin
3b49b68660 [Jenkins] restore cron jobs (#1380)
* test the cron trigger

* fix the cron jobs

* restore the list of cron jobs

[ROCm/composable_kernel commit: f914c228c6]
2024-07-11 10:28:11 -07:00
Jun Liu
fa73739812 Fix issue with multiple targets and remove smfmac tests from unsupported test targets (#1372)
[ROCm/composable_kernel commit: 959073842c]
2024-07-03 23:34:38 -07:00
Illia Silin
57ae3ae99f Merging the gfx12 code into public repo. (#1362)
[ROCm/composable_kernel commit: 941d1f7ce0]
2024-06-27 00:33:34 -07:00
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