Shard gemm reference templates into multiple TUs for parallel compilation (#1043)
* Split apart gemm reference templates into multiple TUs for parallel compilation * remove old files * better balancing of ref kernels across TUs * remove 3 new added refcheck kernels and some un-necessary fp8 library instances to reduce lib size * remove auto fp8 kernels * remove some redundant kernels
This commit is contained in:
@@ -42,8 +42,21 @@
|
||||
namespace cutlass {
|
||||
namespace library {
|
||||
|
||||
void initialize_gemm_reference_operations(Manifest &manifest);
|
||||
void initialize_gemm_fp8_reference_operations(Manifest &manifest);
|
||||
// note: init methods for the same op-class may be split into multiple to parallelize compilation
|
||||
void initialize_gemm_reference_operations_int4(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_int8_interleaved_32(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_int8_interleaved_64(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_int8_canonical(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_e4m3a_e4m3out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_e5m2a_e4m3out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_e4m3a_e5m2out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_e5m2a_e5m2out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_fp8in_fp16out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_fp8in_bf16out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_fp8in_fp32out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_fp32out(Manifest &manifest);
|
||||
void initialize_gemm_reference_operations_fp_other(Manifest &manifest);
|
||||
|
||||
void initialize_conv2d_reference_operations(Manifest &manifest);
|
||||
void initialize_conv3d_reference_operations(Manifest &manifest);
|
||||
|
||||
@@ -52,8 +65,23 @@ void initialize_conv3d_reference_operations(Manifest &manifest);
|
||||
void initialize_reference_operations(Manifest &manifest) {
|
||||
initialize_conv2d_reference_operations(manifest);
|
||||
initialize_conv3d_reference_operations(manifest);
|
||||
initialize_gemm_reference_operations(manifest);
|
||||
initialize_gemm_fp8_reference_operations(manifest);
|
||||
|
||||
initialize_gemm_reference_operations_int4(manifest);
|
||||
|
||||
initialize_gemm_reference_operations_int8_interleaved_32(manifest);
|
||||
initialize_gemm_reference_operations_int8_interleaved_64(manifest);
|
||||
initialize_gemm_reference_operations_int8_canonical(manifest);
|
||||
|
||||
initialize_gemm_reference_operations_e4m3a_e4m3out(manifest);
|
||||
initialize_gemm_reference_operations_e5m2a_e4m3out(manifest);
|
||||
initialize_gemm_reference_operations_e4m3a_e5m2out(manifest);
|
||||
initialize_gemm_reference_operations_e5m2a_e5m2out(manifest);
|
||||
initialize_gemm_reference_operations_fp8in_fp16out(manifest);
|
||||
initialize_gemm_reference_operations_fp8in_bf16out(manifest);
|
||||
initialize_gemm_reference_operations_fp8in_fp32out(manifest);
|
||||
|
||||
initialize_gemm_reference_operations_fp32out(manifest);
|
||||
initialize_gemm_reference_operations_fp_other(manifest);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user