mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-04 13:41:24 +00:00
Enabling diff datatypes for tile_engine and build with more granularity (#2392)
* merging recent changes to universal gemm to tile_engine * Reducing Linking time by generating less intermediate files * make small libs to build faster * Reducing the instances * reducing instances * Restoring default config * Restoring default config * warp_n reverted in default config * Adding diff json files for fp8 and fp16, cmake changes for fp8 * Restructure the CMake File * Added more granularity for build and some debugging code * removed some of debugging statements * added fp8 instances * tahe datatype from command line to enable both type of json files * updated README file * code cleanup * code cleanup * updated jenkinsfile * enable tile_engine daily builds * updating cmake file * updated CMakeLists.txt * Updating CMake code fixing gfx12 build * Updating CMake code fixing gfx12 build * Fix CMake file null checks * fixed traces of rebase * Update tile_engine/ops/gemm/README.md Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com> * Update tile_engine/ops/gemm/README.md Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com> * Update tile_engine/ops/gemm/README.md Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com> * fixing rebase issue --------- Co-authored-by: khushbu <khuagarw@gmail.com> Co-authored-by: ThomasNing <thomas.ning@amd.com> Co-authored-by: illsilin_amdeng <Illia.Silin@amd.com> Co-authored-by: AviralGoelAMD <aviral.goel@amd.com> Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
This commit is contained in:
@@ -118,7 +118,7 @@ class GemmConfig:
|
||||
trait_config: TraitConfig
|
||||
|
||||
@classmethod
|
||||
def from_json(cls: Type["GemmConfig"], filepath: str) -> "GemmConfig":
|
||||
def from_json(cls: Type["GemmConfig"], filepath: str, datatype: str) -> "GemmConfig":
|
||||
"""JSON configuration loader with validation controls"""
|
||||
config_path = Path(filepath)
|
||||
|
||||
@@ -129,18 +129,24 @@ class GemmConfig:
|
||||
with config_path.open("r") as f:
|
||||
config_dict = json.load(f)
|
||||
|
||||
a_type = datatype
|
||||
b_type = datatype
|
||||
c_type = datatype
|
||||
if b_type == 'int4':
|
||||
a_type = "fp16"
|
||||
if b_type in ['bf8', 'fp8', 'int4']:
|
||||
c_type = "fp16"
|
||||
|
||||
# Parse problem config
|
||||
#TODO: Not reading datatype information from json file.
|
||||
problem = ProblemConfig(
|
||||
datatypes=(
|
||||
EnumConfigParam(
|
||||
values=config_dict["problem"]["datatype_a"]["values"]
|
||||
),
|
||||
values=[a_type]),
|
||||
EnumConfigParam(
|
||||
values=config_dict["problem"]["datatype_b"]["values"]
|
||||
),
|
||||
values=[b_type]),
|
||||
EnumConfigParam(
|
||||
values=config_dict["problem"]["datatype_c"]["values"]
|
||||
),
|
||||
values=[c_type])
|
||||
),
|
||||
layouts=(
|
||||
EnumConfigParam(
|
||||
|
||||
Reference in New Issue
Block a user