#pragma once #include "logging.h" #include "device_functions-generated.h" #include "model_interface.h" #include "raii_wrapper.h" #include "model.h" #include "macros.h" #include "jagged.h" #include #include #include #include #include #include #include #include void conv2d_bias_few_channels_0( void*, void*, void*, void*, uint8_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int, int, int, int, int, int, cudaStream_t ); void invoke_fused_elementwise_507(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); cudaError_t layernorm_3(void* output, void* input, const void* gamma, const void* beta, int m, int n, const float eps, cudaStream_t stream); void gemm_rcr_bias_permute_5( void*, void*, void*, void*, uint8_t*, int, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, cudaStream_t ); void split_7( void *[] /*outputs*/, int64_t **[] /*output_shapes*/, const bool [] /*output_masks*/, const void * /*input*/, const int64_t * /*input_shape*/, int64_t /*real_num_splits*/, int64_t /*all_num_splits*/, int64_t [] /*split_sizes*/, int64_t /*split_dim*/, int64_t /*rank*/, cudaStream_t stream ); void ait_reshape_8( int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t* ); void mem_eff_attention_11(void* output, void* query, void* key, void* value, int64_t* batch_size, int64_t* seq_len_kv, int64_t* seq_len_q, int num_heads, int head_size, int head_size_v, float p_dropout, float softmax_scale, bool is_causal, bool fixed_seq_length_kv, int32_t* lengths_kv, bool fixed_seq_length_q, int32_t* lengths_q, void* workspace, cudaStream_t stream); void gemm_rcr_bias_add_13( void*, void*, void*, void*, void*, uint8_t*, int, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, cudaStream_t ); void invoke_fused_elementwise_508(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void gemm_rcr_bias_gelu_17( void*, void*, void*, void*, uint8_t*, int, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, cudaStream_t ); void gemm_rcr_bias_18( void*, void*, void*, void*, uint8_t*, int, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, cudaStream_t ); void invoke_fused_elementwise_509(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_510(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_511(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_512(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_513(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_514(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_515(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_516(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_517(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_518(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_519(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_520(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_521(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_522(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_523(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_524(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_525(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_526(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_527(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_528(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_529(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_530(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_531(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_532(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_533(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_534(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_535(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_536(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_537(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_538(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_539(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_540(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_541(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_542(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_543(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_544(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_545(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_546(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_547(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_548(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_549(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_550(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_551(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_552(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_553(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_554(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_555(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_556(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_557(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_558(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_559(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_560(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_561(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); void invoke_fused_elementwise_562(void* output0, const void* input0,const void* input1, int64_t n_elements, cudaStream_t stream); namespace ait { // Model is the class that actually performs inference. It owns memory for // intermediate tensors and dynamic dimensions. Constants are owned by // the model's owning container object, and input/output memory is owned // by the user. // Once an inference run has started, it is not safe to re-use the Model // until the run has finished! class Model : public ModelBase { public: Model( size_t blob_size, size_t workspace_size, size_t unique_workspace_size, size_t num_inputs, size_t num_outputs, size_t num_unbound_constants, uint8_t* constants, AITemplateAllocator& allocator) : ModelBase( blob_size, workspace_size, unique_workspace_size, num_inputs, num_outputs, num_unbound_constants, constants, allocator) { constant_name_to_ptr_["patch_embed_proj_weight"] = const_cast(reinterpret_cast(&patch_embed_proj_weight)); constant_name_to_ptr_["patch_embed_proj_bias"] = const_cast(reinterpret_cast(&patch_embed_proj_bias)); constant_name_to_ptr_["pos_emb_pos_emb"] = const_cast(reinterpret_cast(&pos_emb_pos_emb)); constant_name_to_ptr_["encoder_layers_0_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_0_ln1_weight)); constant_name_to_ptr_["encoder_layers_0_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_0_ln1_bias)); constant_name_to_ptr_["encoder_layers_0_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_0_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_0_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_0_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_0_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_0_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_0_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_0_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_0_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_0_ln2_weight)); constant_name_to_ptr_["encoder_layers_0_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_0_ln2_bias)); constant_name_to_ptr_["encoder_layers_0_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_0_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_0_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_0_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_0_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_0_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_0_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_0_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_1_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_1_ln1_weight)); constant_name_to_ptr_["encoder_layers_1_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_1_ln1_bias)); constant_name_to_ptr_["encoder_layers_1_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_1_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_1_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_1_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_1_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_1_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_1_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_1_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_1_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_1_ln2_weight)); constant_name_to_ptr_["encoder_layers_1_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_1_ln2_bias)); constant_name_to_ptr_["encoder_layers_1_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_1_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_1_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_1_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_1_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_1_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_1_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_1_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_2_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_2_ln1_weight)); constant_name_to_ptr_["encoder_layers_2_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_2_ln1_bias)); constant_name_to_ptr_["encoder_layers_2_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_2_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_2_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_2_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_2_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_2_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_2_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_2_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_2_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_2_ln2_weight)); constant_name_to_ptr_["encoder_layers_2_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_2_ln2_bias)); constant_name_to_ptr_["encoder_layers_2_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_2_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_2_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_2_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_2_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_2_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_2_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_2_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_3_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_3_ln1_weight)); constant_name_to_ptr_["encoder_layers_3_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_3_ln1_bias)); constant_name_to_ptr_["encoder_layers_3_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_3_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_3_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_3_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_3_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_3_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_3_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_3_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_3_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_3_ln2_weight)); constant_name_to_ptr_["encoder_layers_3_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_3_ln2_bias)); constant_name_to_ptr_["encoder_layers_3_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_3_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_3_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_3_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_3_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_3_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_3_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_3_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_4_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_4_ln1_weight)); constant_name_to_ptr_["encoder_layers_4_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_4_ln1_bias)); constant_name_to_ptr_["encoder_layers_4_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_4_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_4_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_4_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_4_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_4_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_4_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_4_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_4_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_4_ln2_weight)); constant_name_to_ptr_["encoder_layers_4_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_4_ln2_bias)); constant_name_to_ptr_["encoder_layers_4_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_4_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_4_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_4_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_4_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_4_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_4_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_4_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_5_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_5_ln1_weight)); constant_name_to_ptr_["encoder_layers_5_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_5_ln1_bias)); constant_name_to_ptr_["encoder_layers_5_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_5_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_5_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_5_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_5_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_5_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_5_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_5_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_5_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_5_ln2_weight)); constant_name_to_ptr_["encoder_layers_5_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_5_ln2_bias)); constant_name_to_ptr_["encoder_layers_5_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_5_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_5_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_5_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_5_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_5_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_5_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_5_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_6_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_6_ln1_weight)); constant_name_to_ptr_["encoder_layers_6_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_6_ln1_bias)); constant_name_to_ptr_["encoder_layers_6_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_6_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_6_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_6_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_6_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_6_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_6_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_6_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_6_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_6_ln2_weight)); constant_name_to_ptr_["encoder_layers_6_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_6_ln2_bias)); constant_name_to_ptr_["encoder_layers_6_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_6_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_6_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_6_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_6_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_6_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_6_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_6_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_7_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_7_ln1_weight)); constant_name_to_ptr_["encoder_layers_7_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_7_ln1_bias)); constant_name_to_ptr_["encoder_layers_7_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_7_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_7_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_7_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_7_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_7_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_7_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_7_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_7_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_7_ln2_weight)); constant_name_to_ptr_["encoder_layers_7_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_7_ln2_bias)); constant_name_to_ptr_["encoder_layers_7_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_7_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_7_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_7_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_7_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_7_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_7_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_7_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_8_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_8_ln1_weight)); constant_name_to_ptr_["encoder_layers_8_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_8_ln1_bias)); constant_name_to_ptr_["encoder_layers_8_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_8_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_8_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_8_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_8_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_8_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_8_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_8_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_8_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_8_ln2_weight)); constant_name_to_ptr_["encoder_layers_8_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_8_ln2_bias)); constant_name_to_ptr_["encoder_layers_8_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_8_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_8_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_8_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_8_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_8_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_8_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_8_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_9_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_9_ln1_weight)); constant_name_to_ptr_["encoder_layers_9_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_9_ln1_bias)); constant_name_to_ptr_["encoder_layers_9_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_9_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_9_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_9_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_9_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_9_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_9_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_9_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_9_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_9_ln2_weight)); constant_name_to_ptr_["encoder_layers_9_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_9_ln2_bias)); constant_name_to_ptr_["encoder_layers_9_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_9_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_9_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_9_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_9_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_9_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_9_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_9_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_10_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_10_ln1_weight)); constant_name_to_ptr_["encoder_layers_10_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_10_ln1_bias)); constant_name_to_ptr_["encoder_layers_10_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_10_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_10_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_10_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_10_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_10_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_10_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_10_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_10_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_10_ln2_weight)); constant_name_to_ptr_["encoder_layers_10_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_10_ln2_bias)); constant_name_to_ptr_["encoder_layers_10_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_10_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_10_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_10_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_10_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_10_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_10_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_10_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_11_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_11_ln1_weight)); constant_name_to_ptr_["encoder_layers_11_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_11_ln1_bias)); constant_name_to_ptr_["encoder_layers_11_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_11_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_11_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_11_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_11_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_11_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_11_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_11_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_11_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_11_ln2_weight)); constant_name_to_ptr_["encoder_layers_11_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_11_ln2_bias)); constant_name_to_ptr_["encoder_layers_11_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_11_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_11_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_11_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_11_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_11_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_11_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_11_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_12_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_12_ln1_weight)); constant_name_to_ptr_["encoder_layers_12_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_12_ln1_bias)); constant_name_to_ptr_["encoder_layers_12_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_12_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_12_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_12_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_12_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_12_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_12_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_12_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_12_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_12_ln2_weight)); constant_name_to_ptr_["encoder_layers_12_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_12_ln2_bias)); constant_name_to_ptr_["encoder_layers_12_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_12_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_12_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_12_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_12_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_12_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_12_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_12_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_13_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_13_ln1_weight)); constant_name_to_ptr_["encoder_layers_13_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_13_ln1_bias)); constant_name_to_ptr_["encoder_layers_13_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_13_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_13_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_13_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_13_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_13_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_13_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_13_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_13_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_13_ln2_weight)); constant_name_to_ptr_["encoder_layers_13_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_13_ln2_bias)); constant_name_to_ptr_["encoder_layers_13_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_13_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_13_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_13_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_13_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_13_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_13_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_13_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_14_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_14_ln1_weight)); constant_name_to_ptr_["encoder_layers_14_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_14_ln1_bias)); constant_name_to_ptr_["encoder_layers_14_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_14_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_14_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_14_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_14_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_14_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_14_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_14_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_14_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_14_ln2_weight)); constant_name_to_ptr_["encoder_layers_14_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_14_ln2_bias)); constant_name_to_ptr_["encoder_layers_14_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_14_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_14_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_14_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_14_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_14_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_14_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_14_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_15_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_15_ln1_weight)); constant_name_to_ptr_["encoder_layers_15_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_15_ln1_bias)); constant_name_to_ptr_["encoder_layers_15_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_15_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_15_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_15_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_15_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_15_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_15_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_15_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_15_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_15_ln2_weight)); constant_name_to_ptr_["encoder_layers_15_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_15_ln2_bias)); constant_name_to_ptr_["encoder_layers_15_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_15_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_15_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_15_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_15_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_15_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_15_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_15_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_16_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_16_ln1_weight)); constant_name_to_ptr_["encoder_layers_16_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_16_ln1_bias)); constant_name_to_ptr_["encoder_layers_16_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_16_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_16_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_16_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_16_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_16_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_16_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_16_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_16_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_16_ln2_weight)); constant_name_to_ptr_["encoder_layers_16_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_16_ln2_bias)); constant_name_to_ptr_["encoder_layers_16_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_16_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_16_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_16_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_16_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_16_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_16_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_16_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_17_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_17_ln1_weight)); constant_name_to_ptr_["encoder_layers_17_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_17_ln1_bias)); constant_name_to_ptr_["encoder_layers_17_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_17_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_17_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_17_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_17_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_17_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_17_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_17_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_17_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_17_ln2_weight)); constant_name_to_ptr_["encoder_layers_17_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_17_ln2_bias)); constant_name_to_ptr_["encoder_layers_17_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_17_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_17_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_17_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_17_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_17_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_17_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_17_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_18_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_18_ln1_weight)); constant_name_to_ptr_["encoder_layers_18_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_18_ln1_bias)); constant_name_to_ptr_["encoder_layers_18_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_18_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_18_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_18_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_18_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_18_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_18_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_18_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_18_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_18_ln2_weight)); constant_name_to_ptr_["encoder_layers_18_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_18_ln2_bias)); constant_name_to_ptr_["encoder_layers_18_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_18_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_18_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_18_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_18_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_18_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_18_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_18_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_19_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_19_ln1_weight)); constant_name_to_ptr_["encoder_layers_19_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_19_ln1_bias)); constant_name_to_ptr_["encoder_layers_19_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_19_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_19_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_19_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_19_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_19_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_19_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_19_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_19_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_19_ln2_weight)); constant_name_to_ptr_["encoder_layers_19_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_19_ln2_bias)); constant_name_to_ptr_["encoder_layers_19_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_19_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_19_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_19_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_19_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_19_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_19_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_19_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_20_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_20_ln1_weight)); constant_name_to_ptr_["encoder_layers_20_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_20_ln1_bias)); constant_name_to_ptr_["encoder_layers_20_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_20_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_20_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_20_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_20_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_20_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_20_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_20_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_20_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_20_ln2_weight)); constant_name_to_ptr_["encoder_layers_20_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_20_ln2_bias)); constant_name_to_ptr_["encoder_layers_20_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_20_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_20_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_20_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_20_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_20_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_20_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_20_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_21_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_21_ln1_weight)); constant_name_to_ptr_["encoder_layers_21_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_21_ln1_bias)); constant_name_to_ptr_["encoder_layers_21_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_21_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_21_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_21_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_21_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_21_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_21_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_21_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_21_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_21_ln2_weight)); constant_name_to_ptr_["encoder_layers_21_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_21_ln2_bias)); constant_name_to_ptr_["encoder_layers_21_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_21_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_21_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_21_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_21_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_21_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_21_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_21_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_22_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_22_ln1_weight)); constant_name_to_ptr_["encoder_layers_22_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_22_ln1_bias)); constant_name_to_ptr_["encoder_layers_22_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_22_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_22_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_22_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_22_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_22_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_22_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_22_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_22_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_22_ln2_weight)); constant_name_to_ptr_["encoder_layers_22_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_22_ln2_bias)); constant_name_to_ptr_["encoder_layers_22_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_22_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_22_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_22_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_22_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_22_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_22_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_22_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_23_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_23_ln1_weight)); constant_name_to_ptr_["encoder_layers_23_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_23_ln1_bias)); constant_name_to_ptr_["encoder_layers_23_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_23_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_23_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_23_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_23_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_23_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_23_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_23_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_23_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_23_ln2_weight)); constant_name_to_ptr_["encoder_layers_23_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_23_ln2_bias)); constant_name_to_ptr_["encoder_layers_23_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_23_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_23_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_23_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_23_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_23_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_23_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_23_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_24_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_24_ln1_weight)); constant_name_to_ptr_["encoder_layers_24_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_24_ln1_bias)); constant_name_to_ptr_["encoder_layers_24_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_24_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_24_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_24_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_24_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_24_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_24_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_24_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_24_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_24_ln2_weight)); constant_name_to_ptr_["encoder_layers_24_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_24_ln2_bias)); constant_name_to_ptr_["encoder_layers_24_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_24_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_24_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_24_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_24_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_24_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_24_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_24_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_25_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_25_ln1_weight)); constant_name_to_ptr_["encoder_layers_25_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_25_ln1_bias)); constant_name_to_ptr_["encoder_layers_25_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_25_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_25_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_25_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_25_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_25_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_25_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_25_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_25_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_25_ln2_weight)); constant_name_to_ptr_["encoder_layers_25_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_25_ln2_bias)); constant_name_to_ptr_["encoder_layers_25_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_25_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_25_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_25_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_25_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_25_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_25_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_25_mlp_fc2_bias)); constant_name_to_ptr_["encoder_layers_26_ln1_weight"] = const_cast(reinterpret_cast(&encoder_layers_26_ln1_weight)); constant_name_to_ptr_["encoder_layers_26_ln1_bias"] = const_cast(reinterpret_cast(&encoder_layers_26_ln1_bias)); constant_name_to_ptr_["encoder_layers_26_mha_qkv_weight"] = const_cast(reinterpret_cast(&encoder_layers_26_mha_qkv_weight)); constant_name_to_ptr_["encoder_layers_26_mha_qkv_bias"] = const_cast(reinterpret_cast(&encoder_layers_26_mha_qkv_bias)); constant_name_to_ptr_["encoder_layers_26_mha_proj_weight"] = const_cast(reinterpret_cast(&encoder_layers_26_mha_proj_weight)); constant_name_to_ptr_["encoder_layers_26_mha_proj_bias"] = const_cast(reinterpret_cast(&encoder_layers_26_mha_proj_bias)); constant_name_to_ptr_["encoder_layers_26_ln2_weight"] = const_cast(reinterpret_cast(&encoder_layers_26_ln2_weight)); constant_name_to_ptr_["encoder_layers_26_ln2_bias"] = const_cast(reinterpret_cast(&encoder_layers_26_ln2_bias)); constant_name_to_ptr_["encoder_layers_26_mlp_fc1_weight"] = const_cast(reinterpret_cast(&encoder_layers_26_mlp_fc1_weight)); constant_name_to_ptr_["encoder_layers_26_mlp_fc1_bias"] = const_cast(reinterpret_cast(&encoder_layers_26_mlp_fc1_bias)); constant_name_to_ptr_["encoder_layers_26_mlp_fc2_weight"] = const_cast(reinterpret_cast(&encoder_layers_26_mlp_fc2_weight)); constant_name_to_ptr_["encoder_layers_26_mlp_fc2_bias"] = const_cast(reinterpret_cast(&encoder_layers_26_mlp_fc2_bias)); constant_name_to_ptr_["encoder_ln_weight"] = const_cast(reinterpret_cast(&encoder_ln_weight)); constant_name_to_ptr_["encoder_ln_bias"] = const_cast(reinterpret_cast(&encoder_ln_bias)); constant_name_to_ptr_["pool_mha_proj_weight"] = const_cast(reinterpret_cast(&pool_mha_proj_weight)); constant_name_to_ptr_["pool_mha_proj_bias"] = const_cast(reinterpret_cast(&pool_mha_proj_bias)); constant_name_to_ptr_["pool_ln_weight"] = const_cast(reinterpret_cast(&pool_ln_weight)); constant_name_to_ptr_["pool_ln_bias"] = const_cast(reinterpret_cast(&pool_ln_bias)); constant_name_to_ptr_["pool_mlp_fc1_weight"] = const_cast(reinterpret_cast(&pool_mlp_fc1_weight)); constant_name_to_ptr_["pool_mlp_fc1_bias"] = const_cast(reinterpret_cast(&pool_mlp_fc1_bias)); constant_name_to_ptr_["pool_mlp_fc2_weight"] = const_cast(reinterpret_cast(&pool_mlp_fc2_weight)); constant_name_to_ptr_["pool_mlp_fc2_bias"] = const_cast(reinterpret_cast(&pool_mlp_fc2_bias)); auto* blob_ptr = static_cast(blob_.get()); conv2d_bias_few_channels_0_0 = reinterpret_cast(blob_ptr + 0); elementwise_2_0 = reinterpret_cast(blob_ptr + 401614848); layernorm_3_0 = reinterpret_cast(blob_ptr + 509110272); reshape_6_0 = reinterpret_cast(blob_ptr + 0); split_7_0 = reinterpret_cast(blob_ptr + 831596544); split_7_1 = reinterpret_cast(blob_ptr + 616605696); split_7_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_11_0 = reinterpret_cast(blob_ptr + 0); reshape_14_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_15_0 = reinterpret_cast(blob_ptr + 0); layernorm_16_0 = reinterpret_cast(blob_ptr + 509110272); gemm_rcr_bias_gelu_17_0 = reinterpret_cast(blob_ptr + 0); reshape_19_0 = reinterpret_cast(blob_ptr + 509110272); elementwise_20_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_21_0 = reinterpret_cast(blob_ptr + 322486272); reshape_24_0 = reinterpret_cast(blob_ptr + 0); split_25_0 = reinterpret_cast(blob_ptr + 831596544); split_25_1 = reinterpret_cast(blob_ptr + 724101120); split_25_2 = reinterpret_cast(blob_ptr + 429981696); mem_eff_attention_29_0 = reinterpret_cast(blob_ptr + 0); reshape_32_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_33_0 = reinterpret_cast(blob_ptr + 0); layernorm_34_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_35_0 = reinterpret_cast(blob_ptr + 0); reshape_37_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_38_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_39_0 = reinterpret_cast(blob_ptr + 322486272); reshape_42_0 = reinterpret_cast(blob_ptr + 0); split_43_0 = reinterpret_cast(blob_ptr + 616605696); split_43_1 = reinterpret_cast(blob_ptr + 831596544); split_43_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_47_0 = reinterpret_cast(blob_ptr + 0); reshape_50_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_51_0 = reinterpret_cast(blob_ptr + 0); layernorm_52_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_53_0 = reinterpret_cast(blob_ptr + 0); reshape_55_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_56_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_57_0 = reinterpret_cast(blob_ptr + 322486272); reshape_60_0 = reinterpret_cast(blob_ptr + 0); split_61_0 = reinterpret_cast(blob_ptr + 429981696); split_61_1 = reinterpret_cast(blob_ptr + 724101120); split_61_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_65_0 = reinterpret_cast(blob_ptr + 0); reshape_68_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_69_0 = reinterpret_cast(blob_ptr + 0); layernorm_70_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_71_0 = reinterpret_cast(blob_ptr + 0); reshape_73_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_74_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_75_0 = reinterpret_cast(blob_ptr + 322486272); reshape_78_0 = reinterpret_cast(blob_ptr + 0); split_79_0 = reinterpret_cast(blob_ptr + 724101120); split_79_1 = reinterpret_cast(blob_ptr + 616605696); split_79_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_83_0 = reinterpret_cast(blob_ptr + 0); reshape_86_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_87_0 = reinterpret_cast(blob_ptr + 0); layernorm_88_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_89_0 = reinterpret_cast(blob_ptr + 0); reshape_91_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_92_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_93_0 = reinterpret_cast(blob_ptr + 322486272); reshape_96_0 = reinterpret_cast(blob_ptr + 0); split_97_0 = reinterpret_cast(blob_ptr + 724101120); split_97_1 = reinterpret_cast(blob_ptr + 429981696); split_97_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_101_0 = reinterpret_cast(blob_ptr + 0); reshape_104_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_105_0 = reinterpret_cast(blob_ptr + 0); layernorm_106_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_107_0 = reinterpret_cast(blob_ptr + 0); reshape_109_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_110_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_111_0 = reinterpret_cast(blob_ptr + 322486272); reshape_114_0 = reinterpret_cast(blob_ptr + 0); split_115_0 = reinterpret_cast(blob_ptr + 724101120); split_115_1 = reinterpret_cast(blob_ptr + 831596544); split_115_2 = reinterpret_cast(blob_ptr + 616605696); mem_eff_attention_119_0 = reinterpret_cast(blob_ptr + 0); reshape_122_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_123_0 = reinterpret_cast(blob_ptr + 0); layernorm_124_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_125_0 = reinterpret_cast(blob_ptr + 0); reshape_127_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_128_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_129_0 = reinterpret_cast(blob_ptr + 322486272); reshape_132_0 = reinterpret_cast(blob_ptr + 0); split_133_0 = reinterpret_cast(blob_ptr + 724101120); split_133_1 = reinterpret_cast(blob_ptr + 831596544); split_133_2 = reinterpret_cast(blob_ptr + 429981696); mem_eff_attention_137_0 = reinterpret_cast(blob_ptr + 0); reshape_140_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_141_0 = reinterpret_cast(blob_ptr + 0); layernorm_142_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_143_0 = reinterpret_cast(blob_ptr + 0); reshape_145_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_146_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_147_0 = reinterpret_cast(blob_ptr + 322486272); reshape_150_0 = reinterpret_cast(blob_ptr + 0); split_151_0 = reinterpret_cast(blob_ptr + 616605696); split_151_1 = reinterpret_cast(blob_ptr + 724101120); split_151_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_155_0 = reinterpret_cast(blob_ptr + 0); reshape_158_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_159_0 = reinterpret_cast(blob_ptr + 0); layernorm_160_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_161_0 = reinterpret_cast(blob_ptr + 0); reshape_163_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_164_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_165_0 = reinterpret_cast(blob_ptr + 322486272); reshape_168_0 = reinterpret_cast(blob_ptr + 0); split_169_0 = reinterpret_cast(blob_ptr + 429981696); split_169_1 = reinterpret_cast(blob_ptr + 724101120); split_169_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_173_0 = reinterpret_cast(blob_ptr + 0); reshape_176_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_177_0 = reinterpret_cast(blob_ptr + 0); layernorm_178_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_179_0 = reinterpret_cast(blob_ptr + 0); reshape_181_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_182_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_183_0 = reinterpret_cast(blob_ptr + 322486272); reshape_186_0 = reinterpret_cast(blob_ptr + 0); split_187_0 = reinterpret_cast(blob_ptr + 831596544); split_187_1 = reinterpret_cast(blob_ptr + 616605696); split_187_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_191_0 = reinterpret_cast(blob_ptr + 0); reshape_194_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_195_0 = reinterpret_cast(blob_ptr + 0); layernorm_196_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_197_0 = reinterpret_cast(blob_ptr + 0); reshape_199_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_200_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_201_0 = reinterpret_cast(blob_ptr + 322486272); reshape_204_0 = reinterpret_cast(blob_ptr + 0); split_205_0 = reinterpret_cast(blob_ptr + 831596544); split_205_1 = reinterpret_cast(blob_ptr + 429981696); split_205_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_209_0 = reinterpret_cast(blob_ptr + 0); reshape_212_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_213_0 = reinterpret_cast(blob_ptr + 0); layernorm_214_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_215_0 = reinterpret_cast(blob_ptr + 0); reshape_217_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_218_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_219_0 = reinterpret_cast(blob_ptr + 322486272); reshape_222_0 = reinterpret_cast(blob_ptr + 0); split_223_0 = reinterpret_cast(blob_ptr + 831596544); split_223_1 = reinterpret_cast(blob_ptr + 616605696); split_223_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_227_0 = reinterpret_cast(blob_ptr + 0); reshape_230_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_231_0 = reinterpret_cast(blob_ptr + 0); layernorm_232_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_233_0 = reinterpret_cast(blob_ptr + 0); reshape_235_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_236_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_237_0 = reinterpret_cast(blob_ptr + 322486272); reshape_240_0 = reinterpret_cast(blob_ptr + 0); split_241_0 = reinterpret_cast(blob_ptr + 724101120); split_241_1 = reinterpret_cast(blob_ptr + 429981696); split_241_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_245_0 = reinterpret_cast(blob_ptr + 0); reshape_248_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_249_0 = reinterpret_cast(blob_ptr + 0); layernorm_250_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_251_0 = reinterpret_cast(blob_ptr + 0); reshape_253_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_254_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_255_0 = reinterpret_cast(blob_ptr + 322486272); reshape_258_0 = reinterpret_cast(blob_ptr + 0); split_259_0 = reinterpret_cast(blob_ptr + 831596544); split_259_1 = reinterpret_cast(blob_ptr + 616605696); split_259_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_263_0 = reinterpret_cast(blob_ptr + 0); reshape_266_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_267_0 = reinterpret_cast(blob_ptr + 0); layernorm_268_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_269_0 = reinterpret_cast(blob_ptr + 0); reshape_271_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_272_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_273_0 = reinterpret_cast(blob_ptr + 322486272); reshape_276_0 = reinterpret_cast(blob_ptr + 0); split_277_0 = reinterpret_cast(blob_ptr + 429981696); split_277_1 = reinterpret_cast(blob_ptr + 831596544); split_277_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_281_0 = reinterpret_cast(blob_ptr + 0); reshape_284_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_285_0 = reinterpret_cast(blob_ptr + 0); layernorm_286_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_287_0 = reinterpret_cast(blob_ptr + 0); reshape_289_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_290_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_291_0 = reinterpret_cast(blob_ptr + 322486272); reshape_294_0 = reinterpret_cast(blob_ptr + 0); split_295_0 = reinterpret_cast(blob_ptr + 724101120); split_295_1 = reinterpret_cast(blob_ptr + 831596544); split_295_2 = reinterpret_cast(blob_ptr + 616605696); mem_eff_attention_299_0 = reinterpret_cast(blob_ptr + 0); reshape_302_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_303_0 = reinterpret_cast(blob_ptr + 0); layernorm_304_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_305_0 = reinterpret_cast(blob_ptr + 0); reshape_307_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_308_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_309_0 = reinterpret_cast(blob_ptr + 322486272); reshape_312_0 = reinterpret_cast(blob_ptr + 0); split_313_0 = reinterpret_cast(blob_ptr + 429981696); split_313_1 = reinterpret_cast(blob_ptr + 724101120); split_313_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_317_0 = reinterpret_cast(blob_ptr + 0); reshape_320_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_321_0 = reinterpret_cast(blob_ptr + 0); layernorm_322_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_323_0 = reinterpret_cast(blob_ptr + 0); reshape_325_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_326_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_327_0 = reinterpret_cast(blob_ptr + 322486272); reshape_330_0 = reinterpret_cast(blob_ptr + 0); split_331_0 = reinterpret_cast(blob_ptr + 724101120); split_331_1 = reinterpret_cast(blob_ptr + 831596544); split_331_2 = reinterpret_cast(blob_ptr + 616605696); mem_eff_attention_335_0 = reinterpret_cast(blob_ptr + 0); reshape_338_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_339_0 = reinterpret_cast(blob_ptr + 0); layernorm_340_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_341_0 = reinterpret_cast(blob_ptr + 0); reshape_343_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_344_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_345_0 = reinterpret_cast(blob_ptr + 322486272); reshape_348_0 = reinterpret_cast(blob_ptr + 0); split_349_0 = reinterpret_cast(blob_ptr + 831596544); split_349_1 = reinterpret_cast(blob_ptr + 724101120); split_349_2 = reinterpret_cast(blob_ptr + 429981696); mem_eff_attention_353_0 = reinterpret_cast(blob_ptr + 0); reshape_356_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_357_0 = reinterpret_cast(blob_ptr + 0); layernorm_358_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_359_0 = reinterpret_cast(blob_ptr + 0); reshape_361_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_362_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_363_0 = reinterpret_cast(blob_ptr + 322486272); reshape_366_0 = reinterpret_cast(blob_ptr + 0); split_367_0 = reinterpret_cast(blob_ptr + 616605696); split_367_1 = reinterpret_cast(blob_ptr + 831596544); split_367_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_371_0 = reinterpret_cast(blob_ptr + 0); reshape_374_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_375_0 = reinterpret_cast(blob_ptr + 0); layernorm_376_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_377_0 = reinterpret_cast(blob_ptr + 0); reshape_379_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_380_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_381_0 = reinterpret_cast(blob_ptr + 322486272); reshape_384_0 = reinterpret_cast(blob_ptr + 0); split_385_0 = reinterpret_cast(blob_ptr + 831596544); split_385_1 = reinterpret_cast(blob_ptr + 429981696); split_385_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_389_0 = reinterpret_cast(blob_ptr + 0); reshape_392_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_393_0 = reinterpret_cast(blob_ptr + 0); layernorm_394_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_395_0 = reinterpret_cast(blob_ptr + 0); reshape_397_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_398_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_399_0 = reinterpret_cast(blob_ptr + 322486272); reshape_402_0 = reinterpret_cast(blob_ptr + 0); split_403_0 = reinterpret_cast(blob_ptr + 724101120); split_403_1 = reinterpret_cast(blob_ptr + 831596544); split_403_2 = reinterpret_cast(blob_ptr + 616605696); mem_eff_attention_407_0 = reinterpret_cast(blob_ptr + 0); reshape_410_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_411_0 = reinterpret_cast(blob_ptr + 0); layernorm_412_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_413_0 = reinterpret_cast(blob_ptr + 0); reshape_415_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_416_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_417_0 = reinterpret_cast(blob_ptr + 322486272); reshape_420_0 = reinterpret_cast(blob_ptr + 0); split_421_0 = reinterpret_cast(blob_ptr + 724101120); split_421_1 = reinterpret_cast(blob_ptr + 429981696); split_421_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_425_0 = reinterpret_cast(blob_ptr + 0); reshape_428_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_429_0 = reinterpret_cast(blob_ptr + 0); layernorm_430_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_431_0 = reinterpret_cast(blob_ptr + 0); reshape_433_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_434_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_435_0 = reinterpret_cast(blob_ptr + 322486272); reshape_438_0 = reinterpret_cast(blob_ptr + 0); split_439_0 = reinterpret_cast(blob_ptr + 831596544); split_439_1 = reinterpret_cast(blob_ptr + 616605696); split_439_2 = reinterpret_cast(blob_ptr + 724101120); mem_eff_attention_443_0 = reinterpret_cast(blob_ptr + 0); reshape_446_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_447_0 = reinterpret_cast(blob_ptr + 0); layernorm_448_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_449_0 = reinterpret_cast(blob_ptr + 0); reshape_451_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_452_0 = reinterpret_cast(blob_ptr + 616605696); layernorm_453_0 = reinterpret_cast(blob_ptr + 322486272); reshape_456_0 = reinterpret_cast(blob_ptr + 0); split_457_0 = reinterpret_cast(blob_ptr + 429981696); split_457_1 = reinterpret_cast(blob_ptr + 724101120); split_457_2 = reinterpret_cast(blob_ptr + 831596544); mem_eff_attention_461_0 = reinterpret_cast(blob_ptr + 0); reshape_464_0 = reinterpret_cast(blob_ptr + 429981696); elementwise_465_0 = reinterpret_cast(blob_ptr + 0); layernorm_466_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_467_0 = reinterpret_cast(blob_ptr + 0); reshape_469_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_470_0 = reinterpret_cast(blob_ptr + 509110272); layernorm_471_0 = reinterpret_cast(blob_ptr + 322486272); reshape_474_0 = reinterpret_cast(blob_ptr + 0); split_475_0 = reinterpret_cast(blob_ptr + 724101120); split_475_1 = reinterpret_cast(blob_ptr + 831596544); split_475_2 = reinterpret_cast(blob_ptr + 616605696); mem_eff_attention_479_0 = reinterpret_cast(blob_ptr + 0); reshape_482_0 = reinterpret_cast(blob_ptr + 107495424); elementwise_483_0 = reinterpret_cast(blob_ptr + 0); layernorm_484_0 = reinterpret_cast(blob_ptr + 401614848); gemm_rcr_bias_gelu_485_0 = reinterpret_cast(blob_ptr + 0); reshape_487_0 = reinterpret_cast(blob_ptr + 401614848); elementwise_488_0 = reinterpret_cast(blob_ptr + 0); layernorm_489_0 = reinterpret_cast(blob_ptr + 107495424); mem_eff_attention_498_0 = reinterpret_cast(constants + 7971840); reshape_501_0 = reinterpret_cast(blob_ptr + 401614848); layernorm_502_0 = reinterpret_cast(blob_ptr + 509110272); gemm_rcr_bias_gelu_503_0 = reinterpret_cast(blob_ptr + 0); reshape_505_0 = reinterpret_cast(blob_ptr + 509110272); params_[2].shape_ptrs = {ParamDim(1, 1, &pool_probe_dim_0), ParamDim(1, 1, &pool_probe_dim_1), ParamDim(1152, 1152, &pool_probe_dim_2)}; params_[3].shape_ptrs = {ParamDim(3456, 3456, &pool_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &pool_mha_qkv_weight_dim_1)}; params_[4].shape_ptrs = {ParamDim(3456, 3456, &pool_mha_qkv_bias_dim_0)}; params_[0].shape_ptrs = {ParamDim(64, 64, &input0_dim_0), ParamDim(384, 384, &input0_dim_1), ParamDim(384, 384, &input0_dim_2), ParamDim(3, 3, &input0_dim_3)}; params_[5].shape_ptrs = {ParamDim(1152, 1152, &patch_embed_proj_weight_dim_0), ParamDim(14, 14, &patch_embed_proj_weight_dim_1), ParamDim(14, 14, &patch_embed_proj_weight_dim_2), ParamDim(3, 3, &patch_embed_proj_weight_dim_3)}; params_[6].shape_ptrs = {ParamDim(1152, 1152, &patch_embed_proj_bias_dim_0)}; params_[7].shape_ptrs = {ParamDim(1, 1, &pos_emb_pos_emb_dim_0), ParamDim(729, 729, &pos_emb_pos_emb_dim_1), ParamDim(1152, 1152, &pos_emb_pos_emb_dim_2)}; params_[8].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_ln1_weight_dim_0)}; params_[9].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_ln1_bias_dim_0)}; params_[10].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_0_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_0_mha_qkv_weight_dim_1)}; params_[11].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_0_mha_qkv_bias_dim_0)}; params_[12].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_0_mha_proj_weight_dim_1)}; params_[13].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_mha_proj_bias_dim_0)}; params_[14].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_ln2_weight_dim_0)}; params_[15].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_ln2_bias_dim_0)}; params_[16].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_0_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_0_mlp_fc1_weight_dim_1)}; params_[17].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_0_mlp_fc1_bias_dim_0)}; params_[18].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_0_mlp_fc2_weight_dim_1)}; params_[19].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_0_mlp_fc2_bias_dim_0)}; params_[20].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_ln1_weight_dim_0)}; params_[21].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_ln1_bias_dim_0)}; params_[22].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_1_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_1_mha_qkv_weight_dim_1)}; params_[23].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_1_mha_qkv_bias_dim_0)}; params_[24].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_1_mha_proj_weight_dim_1)}; params_[25].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_mha_proj_bias_dim_0)}; params_[26].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_ln2_weight_dim_0)}; params_[27].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_ln2_bias_dim_0)}; params_[28].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_1_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_1_mlp_fc1_weight_dim_1)}; params_[29].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_1_mlp_fc1_bias_dim_0)}; params_[30].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_1_mlp_fc2_weight_dim_1)}; params_[31].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_1_mlp_fc2_bias_dim_0)}; params_[32].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_ln1_weight_dim_0)}; params_[33].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_ln1_bias_dim_0)}; params_[34].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_2_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_2_mha_qkv_weight_dim_1)}; params_[35].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_2_mha_qkv_bias_dim_0)}; params_[36].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_2_mha_proj_weight_dim_1)}; params_[37].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_mha_proj_bias_dim_0)}; params_[38].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_ln2_weight_dim_0)}; params_[39].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_ln2_bias_dim_0)}; params_[40].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_2_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_2_mlp_fc1_weight_dim_1)}; params_[41].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_2_mlp_fc1_bias_dim_0)}; params_[42].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_2_mlp_fc2_weight_dim_1)}; params_[43].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_2_mlp_fc2_bias_dim_0)}; params_[44].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_ln1_weight_dim_0)}; params_[45].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_ln1_bias_dim_0)}; params_[46].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_3_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_3_mha_qkv_weight_dim_1)}; params_[47].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_3_mha_qkv_bias_dim_0)}; params_[48].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_3_mha_proj_weight_dim_1)}; params_[49].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_mha_proj_bias_dim_0)}; params_[50].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_ln2_weight_dim_0)}; params_[51].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_ln2_bias_dim_0)}; params_[52].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_3_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_3_mlp_fc1_weight_dim_1)}; params_[53].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_3_mlp_fc1_bias_dim_0)}; params_[54].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_3_mlp_fc2_weight_dim_1)}; params_[55].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_3_mlp_fc2_bias_dim_0)}; params_[56].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_ln1_weight_dim_0)}; params_[57].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_ln1_bias_dim_0)}; params_[58].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_4_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_4_mha_qkv_weight_dim_1)}; params_[59].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_4_mha_qkv_bias_dim_0)}; params_[60].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_4_mha_proj_weight_dim_1)}; params_[61].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_mha_proj_bias_dim_0)}; params_[62].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_ln2_weight_dim_0)}; params_[63].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_ln2_bias_dim_0)}; params_[64].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_4_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_4_mlp_fc1_weight_dim_1)}; params_[65].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_4_mlp_fc1_bias_dim_0)}; params_[66].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_4_mlp_fc2_weight_dim_1)}; params_[67].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_4_mlp_fc2_bias_dim_0)}; params_[68].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_ln1_weight_dim_0)}; params_[69].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_ln1_bias_dim_0)}; params_[70].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_5_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_5_mha_qkv_weight_dim_1)}; params_[71].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_5_mha_qkv_bias_dim_0)}; params_[72].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_5_mha_proj_weight_dim_1)}; params_[73].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_mha_proj_bias_dim_0)}; params_[74].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_ln2_weight_dim_0)}; params_[75].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_ln2_bias_dim_0)}; params_[76].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_5_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_5_mlp_fc1_weight_dim_1)}; params_[77].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_5_mlp_fc1_bias_dim_0)}; params_[78].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_5_mlp_fc2_weight_dim_1)}; params_[79].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_5_mlp_fc2_bias_dim_0)}; params_[80].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_ln1_weight_dim_0)}; params_[81].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_ln1_bias_dim_0)}; params_[82].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_6_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_6_mha_qkv_weight_dim_1)}; params_[83].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_6_mha_qkv_bias_dim_0)}; params_[84].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_6_mha_proj_weight_dim_1)}; params_[85].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_mha_proj_bias_dim_0)}; params_[86].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_ln2_weight_dim_0)}; params_[87].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_ln2_bias_dim_0)}; params_[88].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_6_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_6_mlp_fc1_weight_dim_1)}; params_[89].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_6_mlp_fc1_bias_dim_0)}; params_[90].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_6_mlp_fc2_weight_dim_1)}; params_[91].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_6_mlp_fc2_bias_dim_0)}; params_[92].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_ln1_weight_dim_0)}; params_[93].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_ln1_bias_dim_0)}; params_[94].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_7_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_7_mha_qkv_weight_dim_1)}; params_[95].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_7_mha_qkv_bias_dim_0)}; params_[96].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_7_mha_proj_weight_dim_1)}; params_[97].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_mha_proj_bias_dim_0)}; params_[98].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_ln2_weight_dim_0)}; params_[99].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_ln2_bias_dim_0)}; params_[100].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_7_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_7_mlp_fc1_weight_dim_1)}; params_[101].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_7_mlp_fc1_bias_dim_0)}; params_[102].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_7_mlp_fc2_weight_dim_1)}; params_[103].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_7_mlp_fc2_bias_dim_0)}; params_[104].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_ln1_weight_dim_0)}; params_[105].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_ln1_bias_dim_0)}; params_[106].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_8_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_8_mha_qkv_weight_dim_1)}; params_[107].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_8_mha_qkv_bias_dim_0)}; params_[108].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_8_mha_proj_weight_dim_1)}; params_[109].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_mha_proj_bias_dim_0)}; params_[110].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_ln2_weight_dim_0)}; params_[111].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_ln2_bias_dim_0)}; params_[112].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_8_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_8_mlp_fc1_weight_dim_1)}; params_[113].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_8_mlp_fc1_bias_dim_0)}; params_[114].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_8_mlp_fc2_weight_dim_1)}; params_[115].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_8_mlp_fc2_bias_dim_0)}; params_[116].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_ln1_weight_dim_0)}; params_[117].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_ln1_bias_dim_0)}; params_[118].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_9_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_9_mha_qkv_weight_dim_1)}; params_[119].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_9_mha_qkv_bias_dim_0)}; params_[120].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_9_mha_proj_weight_dim_1)}; params_[121].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_mha_proj_bias_dim_0)}; params_[122].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_ln2_weight_dim_0)}; params_[123].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_ln2_bias_dim_0)}; params_[124].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_9_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_9_mlp_fc1_weight_dim_1)}; params_[125].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_9_mlp_fc1_bias_dim_0)}; params_[126].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_9_mlp_fc2_weight_dim_1)}; params_[127].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_9_mlp_fc2_bias_dim_0)}; params_[128].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_ln1_weight_dim_0)}; params_[129].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_ln1_bias_dim_0)}; params_[130].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_10_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_10_mha_qkv_weight_dim_1)}; params_[131].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_10_mha_qkv_bias_dim_0)}; params_[132].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_10_mha_proj_weight_dim_1)}; params_[133].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_mha_proj_bias_dim_0)}; params_[134].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_ln2_weight_dim_0)}; params_[135].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_ln2_bias_dim_0)}; params_[136].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_10_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_10_mlp_fc1_weight_dim_1)}; params_[137].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_10_mlp_fc1_bias_dim_0)}; params_[138].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_10_mlp_fc2_weight_dim_1)}; params_[139].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_10_mlp_fc2_bias_dim_0)}; params_[140].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_ln1_weight_dim_0)}; params_[141].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_ln1_bias_dim_0)}; params_[142].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_11_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_11_mha_qkv_weight_dim_1)}; params_[143].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_11_mha_qkv_bias_dim_0)}; params_[144].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_11_mha_proj_weight_dim_1)}; params_[145].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_mha_proj_bias_dim_0)}; params_[146].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_ln2_weight_dim_0)}; params_[147].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_ln2_bias_dim_0)}; params_[148].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_11_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_11_mlp_fc1_weight_dim_1)}; params_[149].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_11_mlp_fc1_bias_dim_0)}; params_[150].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_11_mlp_fc2_weight_dim_1)}; params_[151].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_11_mlp_fc2_bias_dim_0)}; params_[152].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_ln1_weight_dim_0)}; params_[153].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_ln1_bias_dim_0)}; params_[154].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_12_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_12_mha_qkv_weight_dim_1)}; params_[155].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_12_mha_qkv_bias_dim_0)}; params_[156].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_12_mha_proj_weight_dim_1)}; params_[157].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_mha_proj_bias_dim_0)}; params_[158].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_ln2_weight_dim_0)}; params_[159].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_ln2_bias_dim_0)}; params_[160].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_12_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_12_mlp_fc1_weight_dim_1)}; params_[161].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_12_mlp_fc1_bias_dim_0)}; params_[162].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_12_mlp_fc2_weight_dim_1)}; params_[163].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_12_mlp_fc2_bias_dim_0)}; params_[164].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_ln1_weight_dim_0)}; params_[165].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_ln1_bias_dim_0)}; params_[166].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_13_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_13_mha_qkv_weight_dim_1)}; params_[167].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_13_mha_qkv_bias_dim_0)}; params_[168].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_13_mha_proj_weight_dim_1)}; params_[169].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_mha_proj_bias_dim_0)}; params_[170].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_ln2_weight_dim_0)}; params_[171].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_ln2_bias_dim_0)}; params_[172].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_13_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_13_mlp_fc1_weight_dim_1)}; params_[173].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_13_mlp_fc1_bias_dim_0)}; params_[174].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_13_mlp_fc2_weight_dim_1)}; params_[175].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_13_mlp_fc2_bias_dim_0)}; params_[176].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_ln1_weight_dim_0)}; params_[177].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_ln1_bias_dim_0)}; params_[178].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_14_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_14_mha_qkv_weight_dim_1)}; params_[179].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_14_mha_qkv_bias_dim_0)}; params_[180].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_14_mha_proj_weight_dim_1)}; params_[181].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_mha_proj_bias_dim_0)}; params_[182].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_ln2_weight_dim_0)}; params_[183].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_ln2_bias_dim_0)}; params_[184].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_14_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_14_mlp_fc1_weight_dim_1)}; params_[185].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_14_mlp_fc1_bias_dim_0)}; params_[186].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_14_mlp_fc2_weight_dim_1)}; params_[187].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_14_mlp_fc2_bias_dim_0)}; params_[188].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_ln1_weight_dim_0)}; params_[189].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_ln1_bias_dim_0)}; params_[190].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_15_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_15_mha_qkv_weight_dim_1)}; params_[191].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_15_mha_qkv_bias_dim_0)}; params_[192].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_15_mha_proj_weight_dim_1)}; params_[193].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_mha_proj_bias_dim_0)}; params_[194].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_ln2_weight_dim_0)}; params_[195].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_ln2_bias_dim_0)}; params_[196].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_15_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_15_mlp_fc1_weight_dim_1)}; params_[197].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_15_mlp_fc1_bias_dim_0)}; params_[198].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_15_mlp_fc2_weight_dim_1)}; params_[199].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_15_mlp_fc2_bias_dim_0)}; params_[200].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_ln1_weight_dim_0)}; params_[201].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_ln1_bias_dim_0)}; params_[202].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_16_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_16_mha_qkv_weight_dim_1)}; params_[203].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_16_mha_qkv_bias_dim_0)}; params_[204].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_16_mha_proj_weight_dim_1)}; params_[205].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_mha_proj_bias_dim_0)}; params_[206].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_ln2_weight_dim_0)}; params_[207].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_ln2_bias_dim_0)}; params_[208].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_16_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_16_mlp_fc1_weight_dim_1)}; params_[209].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_16_mlp_fc1_bias_dim_0)}; params_[210].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_16_mlp_fc2_weight_dim_1)}; params_[211].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_16_mlp_fc2_bias_dim_0)}; params_[212].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_ln1_weight_dim_0)}; params_[213].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_ln1_bias_dim_0)}; params_[214].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_17_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_17_mha_qkv_weight_dim_1)}; params_[215].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_17_mha_qkv_bias_dim_0)}; params_[216].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_17_mha_proj_weight_dim_1)}; params_[217].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_mha_proj_bias_dim_0)}; params_[218].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_ln2_weight_dim_0)}; params_[219].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_ln2_bias_dim_0)}; params_[220].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_17_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_17_mlp_fc1_weight_dim_1)}; params_[221].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_17_mlp_fc1_bias_dim_0)}; params_[222].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_17_mlp_fc2_weight_dim_1)}; params_[223].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_17_mlp_fc2_bias_dim_0)}; params_[224].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_ln1_weight_dim_0)}; params_[225].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_ln1_bias_dim_0)}; params_[226].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_18_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_18_mha_qkv_weight_dim_1)}; params_[227].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_18_mha_qkv_bias_dim_0)}; params_[228].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_18_mha_proj_weight_dim_1)}; params_[229].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_mha_proj_bias_dim_0)}; params_[230].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_ln2_weight_dim_0)}; params_[231].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_ln2_bias_dim_0)}; params_[232].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_18_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_18_mlp_fc1_weight_dim_1)}; params_[233].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_18_mlp_fc1_bias_dim_0)}; params_[234].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_18_mlp_fc2_weight_dim_1)}; params_[235].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_18_mlp_fc2_bias_dim_0)}; params_[236].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_ln1_weight_dim_0)}; params_[237].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_ln1_bias_dim_0)}; params_[238].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_19_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_19_mha_qkv_weight_dim_1)}; params_[239].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_19_mha_qkv_bias_dim_0)}; params_[240].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_19_mha_proj_weight_dim_1)}; params_[241].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_mha_proj_bias_dim_0)}; params_[242].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_ln2_weight_dim_0)}; params_[243].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_ln2_bias_dim_0)}; params_[244].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_19_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_19_mlp_fc1_weight_dim_1)}; params_[245].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_19_mlp_fc1_bias_dim_0)}; params_[246].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_19_mlp_fc2_weight_dim_1)}; params_[247].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_19_mlp_fc2_bias_dim_0)}; params_[248].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_ln1_weight_dim_0)}; params_[249].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_ln1_bias_dim_0)}; params_[250].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_20_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_20_mha_qkv_weight_dim_1)}; params_[251].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_20_mha_qkv_bias_dim_0)}; params_[252].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_20_mha_proj_weight_dim_1)}; params_[253].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_mha_proj_bias_dim_0)}; params_[254].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_ln2_weight_dim_0)}; params_[255].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_ln2_bias_dim_0)}; params_[256].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_20_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_20_mlp_fc1_weight_dim_1)}; params_[257].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_20_mlp_fc1_bias_dim_0)}; params_[258].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_20_mlp_fc2_weight_dim_1)}; params_[259].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_20_mlp_fc2_bias_dim_0)}; params_[260].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_ln1_weight_dim_0)}; params_[261].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_ln1_bias_dim_0)}; params_[262].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_21_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_21_mha_qkv_weight_dim_1)}; params_[263].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_21_mha_qkv_bias_dim_0)}; params_[264].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_21_mha_proj_weight_dim_1)}; params_[265].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_mha_proj_bias_dim_0)}; params_[266].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_ln2_weight_dim_0)}; params_[267].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_ln2_bias_dim_0)}; params_[268].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_21_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_21_mlp_fc1_weight_dim_1)}; params_[269].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_21_mlp_fc1_bias_dim_0)}; params_[270].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_21_mlp_fc2_weight_dim_1)}; params_[271].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_21_mlp_fc2_bias_dim_0)}; params_[272].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_ln1_weight_dim_0)}; params_[273].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_ln1_bias_dim_0)}; params_[274].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_22_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_22_mha_qkv_weight_dim_1)}; params_[275].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_22_mha_qkv_bias_dim_0)}; params_[276].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_22_mha_proj_weight_dim_1)}; params_[277].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_mha_proj_bias_dim_0)}; params_[278].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_ln2_weight_dim_0)}; params_[279].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_ln2_bias_dim_0)}; params_[280].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_22_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_22_mlp_fc1_weight_dim_1)}; params_[281].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_22_mlp_fc1_bias_dim_0)}; params_[282].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_22_mlp_fc2_weight_dim_1)}; params_[283].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_22_mlp_fc2_bias_dim_0)}; params_[284].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_ln1_weight_dim_0)}; params_[285].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_ln1_bias_dim_0)}; params_[286].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_23_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_23_mha_qkv_weight_dim_1)}; params_[287].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_23_mha_qkv_bias_dim_0)}; params_[288].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_23_mha_proj_weight_dim_1)}; params_[289].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_mha_proj_bias_dim_0)}; params_[290].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_ln2_weight_dim_0)}; params_[291].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_ln2_bias_dim_0)}; params_[292].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_23_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_23_mlp_fc1_weight_dim_1)}; params_[293].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_23_mlp_fc1_bias_dim_0)}; params_[294].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_23_mlp_fc2_weight_dim_1)}; params_[295].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_23_mlp_fc2_bias_dim_0)}; params_[296].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_ln1_weight_dim_0)}; params_[297].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_ln1_bias_dim_0)}; params_[298].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_24_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_24_mha_qkv_weight_dim_1)}; params_[299].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_24_mha_qkv_bias_dim_0)}; params_[300].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_24_mha_proj_weight_dim_1)}; params_[301].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_mha_proj_bias_dim_0)}; params_[302].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_ln2_weight_dim_0)}; params_[303].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_ln2_bias_dim_0)}; params_[304].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_24_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_24_mlp_fc1_weight_dim_1)}; params_[305].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_24_mlp_fc1_bias_dim_0)}; params_[306].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_24_mlp_fc2_weight_dim_1)}; params_[307].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_24_mlp_fc2_bias_dim_0)}; params_[308].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_ln1_weight_dim_0)}; params_[309].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_ln1_bias_dim_0)}; params_[310].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_25_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_25_mha_qkv_weight_dim_1)}; params_[311].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_25_mha_qkv_bias_dim_0)}; params_[312].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_25_mha_proj_weight_dim_1)}; params_[313].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_mha_proj_bias_dim_0)}; params_[314].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_ln2_weight_dim_0)}; params_[315].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_ln2_bias_dim_0)}; params_[316].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_25_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_25_mlp_fc1_weight_dim_1)}; params_[317].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_25_mlp_fc1_bias_dim_0)}; params_[318].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_25_mlp_fc2_weight_dim_1)}; params_[319].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_25_mlp_fc2_bias_dim_0)}; params_[320].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_ln1_weight_dim_0)}; params_[321].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_ln1_bias_dim_0)}; params_[322].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_26_mha_qkv_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_26_mha_qkv_weight_dim_1)}; params_[323].shape_ptrs = {ParamDim(3456, 3456, &encoder_layers_26_mha_qkv_bias_dim_0)}; params_[324].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_mha_proj_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_26_mha_proj_weight_dim_1)}; params_[325].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_mha_proj_bias_dim_0)}; params_[326].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_ln2_weight_dim_0)}; params_[327].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_ln2_bias_dim_0)}; params_[328].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_26_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &encoder_layers_26_mlp_fc1_weight_dim_1)}; params_[329].shape_ptrs = {ParamDim(4304, 4304, &encoder_layers_26_mlp_fc1_bias_dim_0)}; params_[330].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &encoder_layers_26_mlp_fc2_weight_dim_1)}; params_[331].shape_ptrs = {ParamDim(1152, 1152, &encoder_layers_26_mlp_fc2_bias_dim_0)}; params_[332].shape_ptrs = {ParamDim(1152, 1152, &encoder_ln_weight_dim_0)}; params_[333].shape_ptrs = {ParamDim(1152, 1152, &encoder_ln_bias_dim_0)}; params_[334].shape_ptrs = {ParamDim(1152, 1152, &pool_mha_proj_weight_dim_0), ParamDim(1152, 1152, &pool_mha_proj_weight_dim_1)}; params_[335].shape_ptrs = {ParamDim(1152, 1152, &pool_mha_proj_bias_dim_0)}; params_[336].shape_ptrs = {ParamDim(1152, 1152, &pool_ln_weight_dim_0)}; params_[337].shape_ptrs = {ParamDim(1152, 1152, &pool_ln_bias_dim_0)}; params_[338].shape_ptrs = {ParamDim(4304, 4304, &pool_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &pool_mlp_fc1_weight_dim_1)}; params_[339].shape_ptrs = {ParamDim(4304, 4304, &pool_mlp_fc1_bias_dim_0)}; params_[340].shape_ptrs = {ParamDim(1152, 1152, &pool_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &pool_mlp_fc2_weight_dim_1)}; params_[341].shape_ptrs = {ParamDim(1152, 1152, &pool_mlp_fc2_bias_dim_0)}; params_[1].shape_ptrs = {ParamDim(64, 64, &reshape_501_0_dim_0), ParamDim(729, 729, &reshape_501_0_dim_1), ParamDim(1152, 1152, &reshape_501_0_dim_2)}; } ~Model() { } void SetUpInputsOutputs() { input0 = static_cast(params_[0].ptr); if (input0 == nullptr) { throw std::runtime_error("Constant input0 was not set! Set the value with set_constant."); } if (patch_embed_proj_weight == nullptr) { throw std::runtime_error("Constant patch_embed_proj_weight was not set! Set the value with set_constant."); } if (patch_embed_proj_bias == nullptr) { throw std::runtime_error("Constant patch_embed_proj_bias was not set! Set the value with set_constant."); } if (pos_emb_pos_emb == nullptr) { throw std::runtime_error("Constant pos_emb_pos_emb was not set! Set the value with set_constant."); } if (encoder_layers_0_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_0_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_0_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_0_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_0_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_0_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_0_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_0_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_0_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_0_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_0_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_0_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_0_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_0_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_0_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_0_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_0_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_1_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_1_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_1_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_1_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_1_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_1_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_1_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_1_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_1_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_1_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_1_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_1_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_1_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_1_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_1_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_1_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_1_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_2_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_2_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_2_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_2_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_2_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_2_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_2_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_2_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_2_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_2_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_2_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_2_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_2_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_2_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_2_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_2_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_2_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_3_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_3_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_3_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_3_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_3_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_3_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_3_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_3_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_3_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_3_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_3_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_3_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_3_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_3_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_3_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_3_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_3_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_4_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_4_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_4_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_4_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_4_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_4_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_4_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_4_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_4_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_4_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_4_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_4_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_4_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_4_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_4_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_4_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_4_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_5_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_5_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_5_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_5_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_5_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_5_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_5_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_5_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_5_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_5_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_5_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_5_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_5_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_5_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_5_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_5_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_5_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_6_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_6_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_6_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_6_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_6_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_6_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_6_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_6_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_6_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_6_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_6_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_6_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_6_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_6_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_6_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_6_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_6_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_7_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_7_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_7_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_7_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_7_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_7_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_7_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_7_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_7_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_7_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_7_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_7_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_7_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_7_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_7_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_7_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_7_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_8_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_8_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_8_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_8_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_8_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_8_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_8_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_8_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_8_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_8_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_8_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_8_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_8_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_8_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_8_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_8_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_8_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_9_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_9_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_9_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_9_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_9_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_9_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_9_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_9_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_9_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_9_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_9_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_9_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_9_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_9_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_9_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_9_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_9_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_10_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_10_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_10_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_10_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_10_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_10_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_10_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_10_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_10_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_10_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_10_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_10_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_10_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_10_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_10_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_10_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_10_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_11_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_11_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_11_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_11_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_11_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_11_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_11_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_11_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_11_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_11_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_11_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_11_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_11_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_11_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_11_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_11_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_11_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_12_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_12_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_12_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_12_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_12_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_12_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_12_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_12_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_12_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_12_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_12_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_12_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_12_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_12_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_12_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_12_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_12_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_13_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_13_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_13_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_13_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_13_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_13_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_13_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_13_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_13_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_13_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_13_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_13_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_13_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_13_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_13_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_13_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_13_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_14_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_14_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_14_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_14_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_14_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_14_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_14_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_14_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_14_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_14_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_14_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_14_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_14_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_14_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_14_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_14_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_14_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_15_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_15_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_15_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_15_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_15_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_15_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_15_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_15_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_15_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_15_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_15_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_15_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_15_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_15_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_15_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_15_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_15_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_16_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_16_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_16_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_16_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_16_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_16_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_16_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_16_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_16_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_16_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_16_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_16_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_16_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_16_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_16_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_16_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_16_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_17_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_17_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_17_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_17_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_17_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_17_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_17_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_17_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_17_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_17_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_17_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_17_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_17_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_17_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_17_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_17_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_17_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_18_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_18_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_18_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_18_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_18_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_18_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_18_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_18_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_18_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_18_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_18_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_18_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_18_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_18_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_18_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_18_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_18_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_19_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_19_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_19_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_19_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_19_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_19_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_19_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_19_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_19_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_19_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_19_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_19_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_19_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_19_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_19_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_19_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_19_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_20_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_20_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_20_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_20_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_20_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_20_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_20_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_20_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_20_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_20_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_20_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_20_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_20_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_20_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_20_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_20_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_20_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_21_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_21_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_21_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_21_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_21_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_21_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_21_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_21_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_21_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_21_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_21_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_21_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_21_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_21_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_21_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_21_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_21_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_22_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_22_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_22_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_22_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_22_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_22_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_22_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_22_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_22_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_22_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_22_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_22_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_22_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_22_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_22_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_22_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_22_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_23_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_23_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_23_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_23_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_23_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_23_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_23_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_23_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_23_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_23_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_23_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_23_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_23_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_23_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_23_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_23_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_23_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_24_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_24_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_24_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_24_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_24_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_24_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_24_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_24_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_24_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_24_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_24_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_24_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_24_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_24_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_24_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_24_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_24_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_25_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_25_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_25_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_25_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_25_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_25_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_25_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_25_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_25_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_25_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_25_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_25_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_25_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_25_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_25_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_25_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_25_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_layers_26_ln1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_26_ln1_weight was not set! Set the value with set_constant."); } if (encoder_layers_26_ln1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_26_ln1_bias was not set! Set the value with set_constant."); } if (encoder_layers_26_mha_qkv_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mha_qkv_weight was not set! Set the value with set_constant."); } if (encoder_layers_26_mha_qkv_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mha_qkv_bias was not set! Set the value with set_constant."); } if (encoder_layers_26_mha_proj_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mha_proj_weight was not set! Set the value with set_constant."); } if (encoder_layers_26_mha_proj_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mha_proj_bias was not set! Set the value with set_constant."); } if (encoder_layers_26_ln2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_26_ln2_weight was not set! Set the value with set_constant."); } if (encoder_layers_26_ln2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_26_ln2_bias was not set! Set the value with set_constant."); } if (encoder_layers_26_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mlp_fc1_weight was not set! Set the value with set_constant."); } if (encoder_layers_26_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mlp_fc1_bias was not set! Set the value with set_constant."); } if (encoder_layers_26_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mlp_fc2_weight was not set! Set the value with set_constant."); } if (encoder_layers_26_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant encoder_layers_26_mlp_fc2_bias was not set! Set the value with set_constant."); } if (encoder_ln_weight == nullptr) { throw std::runtime_error("Constant encoder_ln_weight was not set! Set the value with set_constant."); } if (encoder_ln_bias == nullptr) { throw std::runtime_error("Constant encoder_ln_bias was not set! Set the value with set_constant."); } if (pool_mha_proj_weight == nullptr) { throw std::runtime_error("Constant pool_mha_proj_weight was not set! Set the value with set_constant."); } if (pool_mha_proj_bias == nullptr) { throw std::runtime_error("Constant pool_mha_proj_bias was not set! Set the value with set_constant."); } if (pool_ln_weight == nullptr) { throw std::runtime_error("Constant pool_ln_weight was not set! Set the value with set_constant."); } if (pool_ln_bias == nullptr) { throw std::runtime_error("Constant pool_ln_bias was not set! Set the value with set_constant."); } if (pool_mlp_fc1_weight == nullptr) { throw std::runtime_error("Constant pool_mlp_fc1_weight was not set! Set the value with set_constant."); } if (pool_mlp_fc1_bias == nullptr) { throw std::runtime_error("Constant pool_mlp_fc1_bias was not set! Set the value with set_constant."); } if (pool_mlp_fc2_weight == nullptr) { throw std::runtime_error("Constant pool_mlp_fc2_weight was not set! Set the value with set_constant."); } if (pool_mlp_fc2_bias == nullptr) { throw std::runtime_error("Constant pool_mlp_fc2_bias was not set! Set the value with set_constant."); } reshape_8_0 = split_7_0; reshape_9_0 = split_7_1; reshape_10_0 = split_7_2; reshape_26_0 = split_25_0; reshape_27_0 = split_25_1; reshape_28_0 = split_25_2; reshape_44_0 = split_43_0; reshape_45_0 = split_43_1; reshape_46_0 = split_43_2; reshape_62_0 = split_61_0; reshape_63_0 = split_61_1; reshape_64_0 = split_61_2; reshape_80_0 = split_79_0; reshape_81_0 = split_79_1; reshape_82_0 = split_79_2; reshape_98_0 = split_97_0; reshape_99_0 = split_97_1; reshape_100_0 = split_97_2; reshape_116_0 = split_115_0; reshape_117_0 = split_115_1; reshape_118_0 = split_115_2; reshape_134_0 = split_133_0; reshape_135_0 = split_133_1; reshape_136_0 = split_133_2; reshape_152_0 = split_151_0; reshape_153_0 = split_151_1; reshape_154_0 = split_151_2; reshape_170_0 = split_169_0; reshape_171_0 = split_169_1; reshape_172_0 = split_169_2; reshape_188_0 = split_187_0; reshape_189_0 = split_187_1; reshape_190_0 = split_187_2; reshape_206_0 = split_205_0; reshape_207_0 = split_205_1; reshape_208_0 = split_205_2; reshape_224_0 = split_223_0; reshape_225_0 = split_223_1; reshape_226_0 = split_223_2; reshape_242_0 = split_241_0; reshape_243_0 = split_241_1; reshape_244_0 = split_241_2; reshape_260_0 = split_259_0; reshape_261_0 = split_259_1; reshape_262_0 = split_259_2; reshape_278_0 = split_277_0; reshape_279_0 = split_277_1; reshape_280_0 = split_277_2; reshape_296_0 = split_295_0; reshape_297_0 = split_295_1; reshape_298_0 = split_295_2; reshape_314_0 = split_313_0; reshape_315_0 = split_313_1; reshape_316_0 = split_313_2; reshape_332_0 = split_331_0; reshape_333_0 = split_331_1; reshape_334_0 = split_331_2; reshape_350_0 = split_349_0; reshape_351_0 = split_349_1; reshape_352_0 = split_349_2; reshape_368_0 = split_367_0; reshape_369_0 = split_367_1; reshape_370_0 = split_367_2; reshape_386_0 = split_385_0; reshape_387_0 = split_385_1; reshape_388_0 = split_385_2; reshape_404_0 = split_403_0; reshape_405_0 = split_403_1; reshape_406_0 = split_403_2; reshape_422_0 = split_421_0; reshape_423_0 = split_421_1; reshape_424_0 = split_421_2; reshape_440_0 = split_439_0; reshape_441_0 = split_439_1; reshape_442_0 = split_439_2; reshape_458_0 = split_457_0; reshape_459_0 = split_457_1; reshape_460_0 = split_457_2; reshape_476_0 = split_475_0; reshape_477_0 = split_475_1; reshape_478_0 = split_475_2; output_0 = static_cast(params_[1].ptr); if (output_0 == nullptr) { throw std::runtime_error("Constant output_0 was not set! Set the value with set_constant."); } } void ResetConstants(uint8_t* constants) { /* * This can be called if we want to use a different piece of memory * for the constants to be consumed. */ mem_eff_attention_498_0 = reinterpret_cast(constants + 7971840); } void DeviceToDeviceCopies(StreamType stream) { } /////////////////////////////////////////////////////////////////////////// // default RunImpl implemenation void RunImpl(StreamType stream) { conv2d_bias_few_channels_0( input0, patch_embed_proj_weight, conv2d_bias_few_channels_0_0, patch_embed_proj_bias, global_workspace_, &input0_dim_0, &patch_embed_proj_weight_dim_0, &input0_dim_3, &patch_embed_proj_weight_dim_1, &patch_embed_proj_weight_dim_2, &input0_dim_1, &input0_dim_2, &input0_dim_0, &conv2d_bias_few_channels_0_0_dim_1, &conv2d_bias_few_channels_0_0_dim_2, 14, 1, 0, 14, 1, 0, stream ); DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_507_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_507(elementwise_2_0, conv2d_bias_few_channels_0_0,pos_emb_pos_emb, fused_elementwise_507_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_1_0_dim_0; M *= reshape_1_0_dim_1; int64_t N = 1; N *= reshape_1_0_dim_2; layernorm_3( layernorm_3_0, elementwise_2_0, encoder_layers_0_ln1_weight, encoder_layers_0_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_3_0, encoder_layers_0_mha_qkv_weight, encoder_layers_0_mha_qkv_bias, reshape_6_0, global_workspace_, 1, &reshape_4_0_dim_0, &reshape_4_0_dim_1, &encoder_layers_0_mha_qkv_weight_dim_0, &encoder_layers_0_mha_qkv_weight_dim_1, &reshape_4_0_dim_0, &encoder_layers_0_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_7_1, split_7_2, split_7_0 }; int64_t *split_7_1_shape[] = { &split_7_1_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4 }; int64_t *split_7_2_shape[] = { &split_7_2_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4 }; int64_t *split_7_0_shape[] = { &split_7_0_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4 }; int64_t **output_shapes[] = { split_7_1_shape, split_7_2_shape, split_7_0_shape }; const int64_t reshape_6_0_shape[] = { reshape_6_0_dim_0, reshape_6_0_dim_1, reshape_6_0_dim_2, reshape_6_0_dim_3, reshape_6_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_6_0, reshape_6_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_7_0_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4, &reshape_8_0_dim_0, &reshape_8_0_dim_1, &reshape_8_0_dim_2, &reshape_8_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_7_1_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4, &reshape_9_0_dim_0, &reshape_9_0_dim_1, &reshape_9_0_dim_2, &reshape_9_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_7_2_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4, &reshape_10_0_dim_0, &reshape_10_0_dim_1, &reshape_10_0_dim_2, &reshape_10_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_11_0, reshape_9_0, reshape_10_0, reshape_8_0, &reshape_9_0_dim_0, &reshape_8_0_dim_2, &reshape_9_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_11_0, encoder_layers_0_mha_proj_weight, encoder_layers_0_mha_proj_bias, layernorm_3_0, reshape_14_0, global_workspace_, 1, &reshape_12_0_dim_0, &reshape_12_0_dim_1, &encoder_layers_0_mha_proj_weight_dim_0, &encoder_layers_0_mha_proj_weight_dim_1, &reshape_12_0_dim_0, &encoder_layers_0_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_508_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_508(elementwise_15_0, elementwise_2_0,reshape_14_0, fused_elementwise_508_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_1_0_dim_0; M *= reshape_1_0_dim_1; int64_t N = 1; N *= reshape_1_0_dim_2; layernorm_3( layernorm_16_0, elementwise_15_0, encoder_layers_0_ln2_weight, encoder_layers_0_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_16_0, encoder_layers_0_mlp_fc1_weight, encoder_layers_0_mlp_fc1_bias, gemm_rcr_bias_gelu_17_0, global_workspace_, 1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &reshape_1_0_dim_2, &encoder_layers_0_mlp_fc1_weight_dim_0, &encoder_layers_0_mlp_fc1_weight_dim_1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &encoder_layers_0_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_17_0, encoder_layers_0_mlp_fc2_weight, encoder_layers_0_mlp_fc2_bias, reshape_19_0, global_workspace_, 1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &encoder_layers_0_mlp_fc1_weight_dim_0, &encoder_layers_0_mlp_fc2_weight_dim_0, &encoder_layers_0_mlp_fc2_weight_dim_1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &encoder_layers_0_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_509_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_509(elementwise_20_0, reshape_19_0,elementwise_2_0, fused_elementwise_509_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_19_0_dim_0; M *= reshape_19_0_dim_1; int64_t N = 1; N *= reshape_19_0_dim_2; layernorm_3( layernorm_21_0, elementwise_20_0, encoder_layers_1_ln1_weight, encoder_layers_1_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_21_0, encoder_layers_1_mha_qkv_weight, encoder_layers_1_mha_qkv_bias, reshape_24_0, global_workspace_, 1, &reshape_22_0_dim_0, &reshape_22_0_dim_1, &encoder_layers_1_mha_qkv_weight_dim_0, &encoder_layers_1_mha_qkv_weight_dim_1, &reshape_22_0_dim_0, &encoder_layers_1_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_25_2, split_25_1, split_25_0 }; int64_t *split_25_2_shape[] = { &split_25_2_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4 }; int64_t *split_25_1_shape[] = { &split_25_1_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4 }; int64_t *split_25_0_shape[] = { &split_25_0_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4 }; int64_t **output_shapes[] = { split_25_2_shape, split_25_1_shape, split_25_0_shape }; const int64_t reshape_24_0_shape[] = { reshape_24_0_dim_0, reshape_24_0_dim_1, reshape_24_0_dim_2, reshape_24_0_dim_3, reshape_24_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_24_0, reshape_24_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_25_0_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4, &reshape_26_0_dim_0, &reshape_26_0_dim_1, &reshape_26_0_dim_2, &reshape_26_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_25_1_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4, &reshape_27_0_dim_0, &reshape_27_0_dim_1, &reshape_27_0_dim_2, &reshape_27_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_25_2_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4, &reshape_28_0_dim_0, &reshape_28_0_dim_1, &reshape_28_0_dim_2, &reshape_28_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_29_0, reshape_28_0, reshape_27_0, reshape_26_0, &reshape_28_0_dim_0, &reshape_26_0_dim_2, &reshape_28_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_29_0, encoder_layers_1_mha_proj_weight, encoder_layers_1_mha_proj_bias, layernorm_21_0, reshape_32_0, global_workspace_, 1, &reshape_30_0_dim_0, &reshape_30_0_dim_1, &encoder_layers_1_mha_proj_weight_dim_0, &encoder_layers_1_mha_proj_weight_dim_1, &reshape_30_0_dim_0, &encoder_layers_1_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_510_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_510(elementwise_33_0, elementwise_20_0,reshape_32_0, fused_elementwise_510_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_19_0_dim_0; M *= reshape_19_0_dim_1; int64_t N = 1; N *= reshape_19_0_dim_2; layernorm_3( layernorm_34_0, elementwise_33_0, encoder_layers_1_ln2_weight, encoder_layers_1_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_34_0, encoder_layers_1_mlp_fc1_weight, encoder_layers_1_mlp_fc1_bias, gemm_rcr_bias_gelu_35_0, global_workspace_, 1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &reshape_19_0_dim_2, &encoder_layers_1_mlp_fc1_weight_dim_0, &encoder_layers_1_mlp_fc1_weight_dim_1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_35_0, encoder_layers_1_mlp_fc2_weight, encoder_layers_1_mlp_fc2_bias, reshape_37_0, global_workspace_, 1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mlp_fc1_weight_dim_0, &encoder_layers_1_mlp_fc2_weight_dim_0, &encoder_layers_1_mlp_fc2_weight_dim_1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_511_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_511(elementwise_38_0, reshape_37_0,elementwise_20_0, fused_elementwise_511_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_37_0_dim_0; M *= reshape_37_0_dim_1; int64_t N = 1; N *= reshape_37_0_dim_2; layernorm_3( layernorm_39_0, elementwise_38_0, encoder_layers_2_ln1_weight, encoder_layers_2_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_39_0, encoder_layers_2_mha_qkv_weight, encoder_layers_2_mha_qkv_bias, reshape_42_0, global_workspace_, 1, &reshape_40_0_dim_0, &reshape_40_0_dim_1, &encoder_layers_2_mha_qkv_weight_dim_0, &encoder_layers_2_mha_qkv_weight_dim_1, &reshape_40_0_dim_0, &encoder_layers_2_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_43_0, split_43_2, split_43_1 }; int64_t *split_43_0_shape[] = { &split_43_0_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4 }; int64_t *split_43_2_shape[] = { &split_43_2_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4 }; int64_t *split_43_1_shape[] = { &split_43_1_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4 }; int64_t **output_shapes[] = { split_43_0_shape, split_43_2_shape, split_43_1_shape }; const int64_t reshape_42_0_shape[] = { reshape_42_0_dim_0, reshape_42_0_dim_1, reshape_42_0_dim_2, reshape_42_0_dim_3, reshape_42_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_42_0, reshape_42_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_43_0_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4, &reshape_44_0_dim_0, &reshape_44_0_dim_1, &reshape_44_0_dim_2, &reshape_44_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_43_1_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4, &reshape_45_0_dim_0, &reshape_45_0_dim_1, &reshape_45_0_dim_2, &reshape_45_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_43_2_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4, &reshape_46_0_dim_0, &reshape_46_0_dim_1, &reshape_46_0_dim_2, &reshape_46_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_47_0, reshape_44_0, reshape_46_0, reshape_45_0, &reshape_44_0_dim_0, &reshape_45_0_dim_2, &reshape_44_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_47_0, encoder_layers_2_mha_proj_weight, encoder_layers_2_mha_proj_bias, layernorm_39_0, reshape_50_0, global_workspace_, 1, &reshape_48_0_dim_0, &reshape_48_0_dim_1, &encoder_layers_2_mha_proj_weight_dim_0, &encoder_layers_2_mha_proj_weight_dim_1, &reshape_48_0_dim_0, &encoder_layers_2_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_512_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_512(elementwise_51_0, elementwise_38_0,reshape_50_0, fused_elementwise_512_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_37_0_dim_0; M *= reshape_37_0_dim_1; int64_t N = 1; N *= reshape_37_0_dim_2; layernorm_3( layernorm_52_0, elementwise_51_0, encoder_layers_2_ln2_weight, encoder_layers_2_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_52_0, encoder_layers_2_mlp_fc1_weight, encoder_layers_2_mlp_fc1_bias, gemm_rcr_bias_gelu_53_0, global_workspace_, 1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &reshape_37_0_dim_2, &encoder_layers_2_mlp_fc1_weight_dim_0, &encoder_layers_2_mlp_fc1_weight_dim_1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &encoder_layers_2_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_53_0, encoder_layers_2_mlp_fc2_weight, encoder_layers_2_mlp_fc2_bias, reshape_55_0, global_workspace_, 1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &encoder_layers_2_mlp_fc1_weight_dim_0, &encoder_layers_2_mlp_fc2_weight_dim_0, &encoder_layers_2_mlp_fc2_weight_dim_1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &encoder_layers_2_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_513_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_513(elementwise_56_0, reshape_55_0,elementwise_38_0, fused_elementwise_513_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_55_0_dim_0; M *= reshape_55_0_dim_1; int64_t N = 1; N *= reshape_55_0_dim_2; layernorm_3( layernorm_57_0, elementwise_56_0, encoder_layers_3_ln1_weight, encoder_layers_3_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_57_0, encoder_layers_3_mha_qkv_weight, encoder_layers_3_mha_qkv_bias, reshape_60_0, global_workspace_, 1, &reshape_58_0_dim_0, &reshape_58_0_dim_1, &encoder_layers_3_mha_qkv_weight_dim_0, &encoder_layers_3_mha_qkv_weight_dim_1, &reshape_58_0_dim_0, &encoder_layers_3_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_61_0, split_61_1, split_61_2 }; int64_t *split_61_0_shape[] = { &split_61_0_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4 }; int64_t *split_61_1_shape[] = { &split_61_1_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4 }; int64_t *split_61_2_shape[] = { &split_61_2_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4 }; int64_t **output_shapes[] = { split_61_0_shape, split_61_1_shape, split_61_2_shape }; const int64_t reshape_60_0_shape[] = { reshape_60_0_dim_0, reshape_60_0_dim_1, reshape_60_0_dim_2, reshape_60_0_dim_3, reshape_60_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_60_0, reshape_60_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_61_0_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4, &reshape_62_0_dim_0, &reshape_62_0_dim_1, &reshape_62_0_dim_2, &reshape_62_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_61_1_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4, &reshape_63_0_dim_0, &reshape_63_0_dim_1, &reshape_63_0_dim_2, &reshape_63_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_61_2_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4, &reshape_64_0_dim_0, &reshape_64_0_dim_1, &reshape_64_0_dim_2, &reshape_64_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_65_0, reshape_62_0, reshape_63_0, reshape_64_0, &reshape_62_0_dim_0, &reshape_64_0_dim_2, &reshape_62_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_65_0, encoder_layers_3_mha_proj_weight, encoder_layers_3_mha_proj_bias, layernorm_57_0, reshape_68_0, global_workspace_, 1, &reshape_66_0_dim_0, &reshape_66_0_dim_1, &encoder_layers_3_mha_proj_weight_dim_0, &encoder_layers_3_mha_proj_weight_dim_1, &reshape_66_0_dim_0, &encoder_layers_3_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_514_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_514(elementwise_69_0, elementwise_56_0,reshape_68_0, fused_elementwise_514_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_55_0_dim_0; M *= reshape_55_0_dim_1; int64_t N = 1; N *= reshape_55_0_dim_2; layernorm_3( layernorm_70_0, elementwise_69_0, encoder_layers_3_ln2_weight, encoder_layers_3_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_70_0, encoder_layers_3_mlp_fc1_weight, encoder_layers_3_mlp_fc1_bias, gemm_rcr_bias_gelu_71_0, global_workspace_, 1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &reshape_55_0_dim_2, &encoder_layers_3_mlp_fc1_weight_dim_0, &encoder_layers_3_mlp_fc1_weight_dim_1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &encoder_layers_3_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_71_0, encoder_layers_3_mlp_fc2_weight, encoder_layers_3_mlp_fc2_bias, reshape_73_0, global_workspace_, 1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &encoder_layers_3_mlp_fc1_weight_dim_0, &encoder_layers_3_mlp_fc2_weight_dim_0, &encoder_layers_3_mlp_fc2_weight_dim_1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &encoder_layers_3_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_515_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_515(elementwise_74_0, reshape_73_0,elementwise_56_0, fused_elementwise_515_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_73_0_dim_0; M *= reshape_73_0_dim_1; int64_t N = 1; N *= reshape_73_0_dim_2; layernorm_3( layernorm_75_0, elementwise_74_0, encoder_layers_4_ln1_weight, encoder_layers_4_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_75_0, encoder_layers_4_mha_qkv_weight, encoder_layers_4_mha_qkv_bias, reshape_78_0, global_workspace_, 1, &reshape_76_0_dim_0, &reshape_76_0_dim_1, &encoder_layers_4_mha_qkv_weight_dim_0, &encoder_layers_4_mha_qkv_weight_dim_1, &reshape_76_0_dim_0, &encoder_layers_4_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_79_1, split_79_0, split_79_2 }; int64_t *split_79_1_shape[] = { &split_79_1_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4 }; int64_t *split_79_0_shape[] = { &split_79_0_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4 }; int64_t *split_79_2_shape[] = { &split_79_2_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4 }; int64_t **output_shapes[] = { split_79_1_shape, split_79_0_shape, split_79_2_shape }; const int64_t reshape_78_0_shape[] = { reshape_78_0_dim_0, reshape_78_0_dim_1, reshape_78_0_dim_2, reshape_78_0_dim_3, reshape_78_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_78_0, reshape_78_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_79_0_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4, &reshape_80_0_dim_0, &reshape_80_0_dim_1, &reshape_80_0_dim_2, &reshape_80_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_79_1_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4, &reshape_81_0_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_79_2_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4, &reshape_82_0_dim_0, &reshape_82_0_dim_1, &reshape_82_0_dim_2, &reshape_82_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_83_0, reshape_81_0, reshape_80_0, reshape_82_0, &reshape_81_0_dim_0, &reshape_82_0_dim_2, &reshape_81_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_83_0, encoder_layers_4_mha_proj_weight, encoder_layers_4_mha_proj_bias, layernorm_75_0, reshape_86_0, global_workspace_, 1, &reshape_84_0_dim_0, &reshape_84_0_dim_1, &encoder_layers_4_mha_proj_weight_dim_0, &encoder_layers_4_mha_proj_weight_dim_1, &reshape_84_0_dim_0, &encoder_layers_4_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_516_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_516(elementwise_87_0, elementwise_74_0,reshape_86_0, fused_elementwise_516_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_73_0_dim_0; M *= reshape_73_0_dim_1; int64_t N = 1; N *= reshape_73_0_dim_2; layernorm_3( layernorm_88_0, elementwise_87_0, encoder_layers_4_ln2_weight, encoder_layers_4_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_88_0, encoder_layers_4_mlp_fc1_weight, encoder_layers_4_mlp_fc1_bias, gemm_rcr_bias_gelu_89_0, global_workspace_, 1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &reshape_73_0_dim_2, &encoder_layers_4_mlp_fc1_weight_dim_0, &encoder_layers_4_mlp_fc1_weight_dim_1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &encoder_layers_4_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_89_0, encoder_layers_4_mlp_fc2_weight, encoder_layers_4_mlp_fc2_bias, reshape_91_0, global_workspace_, 1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &encoder_layers_4_mlp_fc1_weight_dim_0, &encoder_layers_4_mlp_fc2_weight_dim_0, &encoder_layers_4_mlp_fc2_weight_dim_1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &encoder_layers_4_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_517_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_517(elementwise_92_0, reshape_91_0,elementwise_74_0, fused_elementwise_517_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_91_0_dim_0; M *= reshape_91_0_dim_1; int64_t N = 1; N *= reshape_91_0_dim_2; layernorm_3( layernorm_93_0, elementwise_92_0, encoder_layers_5_ln1_weight, encoder_layers_5_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_93_0, encoder_layers_5_mha_qkv_weight, encoder_layers_5_mha_qkv_bias, reshape_96_0, global_workspace_, 1, &reshape_94_0_dim_0, &reshape_94_0_dim_1, &encoder_layers_5_mha_qkv_weight_dim_0, &encoder_layers_5_mha_qkv_weight_dim_1, &reshape_94_0_dim_0, &encoder_layers_5_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_97_1, split_97_0, split_97_2 }; int64_t *split_97_1_shape[] = { &split_97_1_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4 }; int64_t *split_97_0_shape[] = { &split_97_0_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4 }; int64_t *split_97_2_shape[] = { &split_97_2_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4 }; int64_t **output_shapes[] = { split_97_1_shape, split_97_0_shape, split_97_2_shape }; const int64_t reshape_96_0_shape[] = { reshape_96_0_dim_0, reshape_96_0_dim_1, reshape_96_0_dim_2, reshape_96_0_dim_3, reshape_96_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_96_0, reshape_96_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_97_0_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4, &reshape_98_0_dim_0, &reshape_98_0_dim_1, &reshape_98_0_dim_2, &reshape_98_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_97_1_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4, &reshape_99_0_dim_0, &reshape_99_0_dim_1, &reshape_99_0_dim_2, &reshape_99_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_97_2_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4, &reshape_100_0_dim_0, &reshape_100_0_dim_1, &reshape_100_0_dim_2, &reshape_100_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_101_0, reshape_99_0, reshape_98_0, reshape_100_0, &reshape_99_0_dim_0, &reshape_100_0_dim_2, &reshape_99_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_101_0, encoder_layers_5_mha_proj_weight, encoder_layers_5_mha_proj_bias, layernorm_93_0, reshape_104_0, global_workspace_, 1, &reshape_102_0_dim_0, &reshape_102_0_dim_1, &encoder_layers_5_mha_proj_weight_dim_0, &encoder_layers_5_mha_proj_weight_dim_1, &reshape_102_0_dim_0, &encoder_layers_5_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_518_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_518(elementwise_105_0, elementwise_92_0,reshape_104_0, fused_elementwise_518_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_91_0_dim_0; M *= reshape_91_0_dim_1; int64_t N = 1; N *= reshape_91_0_dim_2; layernorm_3( layernorm_106_0, elementwise_105_0, encoder_layers_5_ln2_weight, encoder_layers_5_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_106_0, encoder_layers_5_mlp_fc1_weight, encoder_layers_5_mlp_fc1_bias, gemm_rcr_bias_gelu_107_0, global_workspace_, 1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &reshape_91_0_dim_2, &encoder_layers_5_mlp_fc1_weight_dim_0, &encoder_layers_5_mlp_fc1_weight_dim_1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &encoder_layers_5_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_107_0, encoder_layers_5_mlp_fc2_weight, encoder_layers_5_mlp_fc2_bias, reshape_109_0, global_workspace_, 1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &encoder_layers_5_mlp_fc1_weight_dim_0, &encoder_layers_5_mlp_fc2_weight_dim_0, &encoder_layers_5_mlp_fc2_weight_dim_1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &encoder_layers_5_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_519_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_519(elementwise_110_0, reshape_109_0,elementwise_92_0, fused_elementwise_519_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_109_0_dim_0; M *= reshape_109_0_dim_1; int64_t N = 1; N *= reshape_109_0_dim_2; layernorm_3( layernorm_111_0, elementwise_110_0, encoder_layers_6_ln1_weight, encoder_layers_6_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_111_0, encoder_layers_6_mha_qkv_weight, encoder_layers_6_mha_qkv_bias, reshape_114_0, global_workspace_, 1, &reshape_112_0_dim_0, &reshape_112_0_dim_1, &encoder_layers_6_mha_qkv_weight_dim_0, &encoder_layers_6_mha_qkv_weight_dim_1, &reshape_112_0_dim_0, &encoder_layers_6_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_115_2, split_115_0, split_115_1 }; int64_t *split_115_2_shape[] = { &split_115_2_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4 }; int64_t *split_115_0_shape[] = { &split_115_0_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4 }; int64_t *split_115_1_shape[] = { &split_115_1_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4 }; int64_t **output_shapes[] = { split_115_2_shape, split_115_0_shape, split_115_1_shape }; const int64_t reshape_114_0_shape[] = { reshape_114_0_dim_0, reshape_114_0_dim_1, reshape_114_0_dim_2, reshape_114_0_dim_3, reshape_114_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_114_0, reshape_114_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_115_0_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4, &reshape_116_0_dim_0, &reshape_116_0_dim_1, &reshape_116_0_dim_2, &reshape_116_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_115_1_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4, &reshape_117_0_dim_0, &reshape_117_0_dim_1, &reshape_117_0_dim_2, &reshape_117_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_115_2_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4, &reshape_118_0_dim_0, &reshape_118_0_dim_1, &reshape_118_0_dim_2, &reshape_118_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_119_0, reshape_118_0, reshape_116_0, reshape_117_0, &reshape_118_0_dim_0, &reshape_117_0_dim_2, &reshape_118_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_119_0, encoder_layers_6_mha_proj_weight, encoder_layers_6_mha_proj_bias, layernorm_111_0, reshape_122_0, global_workspace_, 1, &reshape_120_0_dim_0, &reshape_120_0_dim_1, &encoder_layers_6_mha_proj_weight_dim_0, &encoder_layers_6_mha_proj_weight_dim_1, &reshape_120_0_dim_0, &encoder_layers_6_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_520_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_520(elementwise_123_0, elementwise_110_0,reshape_122_0, fused_elementwise_520_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_109_0_dim_0; M *= reshape_109_0_dim_1; int64_t N = 1; N *= reshape_109_0_dim_2; layernorm_3( layernorm_124_0, elementwise_123_0, encoder_layers_6_ln2_weight, encoder_layers_6_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_124_0, encoder_layers_6_mlp_fc1_weight, encoder_layers_6_mlp_fc1_bias, gemm_rcr_bias_gelu_125_0, global_workspace_, 1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &reshape_109_0_dim_2, &encoder_layers_6_mlp_fc1_weight_dim_0, &encoder_layers_6_mlp_fc1_weight_dim_1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_6_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_125_0, encoder_layers_6_mlp_fc2_weight, encoder_layers_6_mlp_fc2_bias, reshape_127_0, global_workspace_, 1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_6_mlp_fc1_weight_dim_0, &encoder_layers_6_mlp_fc2_weight_dim_0, &encoder_layers_6_mlp_fc2_weight_dim_1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_6_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_521_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_521(elementwise_128_0, reshape_127_0,elementwise_110_0, fused_elementwise_521_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_127_0_dim_0; M *= reshape_127_0_dim_1; int64_t N = 1; N *= reshape_127_0_dim_2; layernorm_3( layernorm_129_0, elementwise_128_0, encoder_layers_7_ln1_weight, encoder_layers_7_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_129_0, encoder_layers_7_mha_qkv_weight, encoder_layers_7_mha_qkv_bias, reshape_132_0, global_workspace_, 1, &reshape_130_0_dim_0, &reshape_130_0_dim_1, &encoder_layers_7_mha_qkv_weight_dim_0, &encoder_layers_7_mha_qkv_weight_dim_1, &reshape_130_0_dim_0, &encoder_layers_7_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_133_2, split_133_0, split_133_1 }; int64_t *split_133_2_shape[] = { &split_133_2_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4 }; int64_t *split_133_0_shape[] = { &split_133_0_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4 }; int64_t *split_133_1_shape[] = { &split_133_1_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4 }; int64_t **output_shapes[] = { split_133_2_shape, split_133_0_shape, split_133_1_shape }; const int64_t reshape_132_0_shape[] = { reshape_132_0_dim_0, reshape_132_0_dim_1, reshape_132_0_dim_2, reshape_132_0_dim_3, reshape_132_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_132_0, reshape_132_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_133_0_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4, &reshape_134_0_dim_0, &reshape_134_0_dim_1, &reshape_134_0_dim_2, &reshape_134_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_133_1_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4, &reshape_135_0_dim_0, &reshape_135_0_dim_1, &reshape_135_0_dim_2, &reshape_135_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_133_2_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4, &reshape_136_0_dim_0, &reshape_136_0_dim_1, &reshape_136_0_dim_2, &reshape_136_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_137_0, reshape_136_0, reshape_134_0, reshape_135_0, &reshape_136_0_dim_0, &reshape_135_0_dim_2, &reshape_136_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_137_0, encoder_layers_7_mha_proj_weight, encoder_layers_7_mha_proj_bias, layernorm_129_0, reshape_140_0, global_workspace_, 1, &reshape_138_0_dim_0, &reshape_138_0_dim_1, &encoder_layers_7_mha_proj_weight_dim_0, &encoder_layers_7_mha_proj_weight_dim_1, &reshape_138_0_dim_0, &encoder_layers_7_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_522_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_522(elementwise_141_0, elementwise_128_0,reshape_140_0, fused_elementwise_522_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_127_0_dim_0; M *= reshape_127_0_dim_1; int64_t N = 1; N *= reshape_127_0_dim_2; layernorm_3( layernorm_142_0, elementwise_141_0, encoder_layers_7_ln2_weight, encoder_layers_7_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_142_0, encoder_layers_7_mlp_fc1_weight, encoder_layers_7_mlp_fc1_bias, gemm_rcr_bias_gelu_143_0, global_workspace_, 1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &reshape_127_0_dim_2, &encoder_layers_7_mlp_fc1_weight_dim_0, &encoder_layers_7_mlp_fc1_weight_dim_1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &encoder_layers_7_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_143_0, encoder_layers_7_mlp_fc2_weight, encoder_layers_7_mlp_fc2_bias, reshape_145_0, global_workspace_, 1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &encoder_layers_7_mlp_fc1_weight_dim_0, &encoder_layers_7_mlp_fc2_weight_dim_0, &encoder_layers_7_mlp_fc2_weight_dim_1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &encoder_layers_7_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_523_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_523(elementwise_146_0, reshape_145_0,elementwise_128_0, fused_elementwise_523_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_145_0_dim_0; M *= reshape_145_0_dim_1; int64_t N = 1; N *= reshape_145_0_dim_2; layernorm_3( layernorm_147_0, elementwise_146_0, encoder_layers_8_ln1_weight, encoder_layers_8_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_147_0, encoder_layers_8_mha_qkv_weight, encoder_layers_8_mha_qkv_bias, reshape_150_0, global_workspace_, 1, &reshape_148_0_dim_0, &reshape_148_0_dim_1, &encoder_layers_8_mha_qkv_weight_dim_0, &encoder_layers_8_mha_qkv_weight_dim_1, &reshape_148_0_dim_0, &encoder_layers_8_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_151_0, split_151_1, split_151_2 }; int64_t *split_151_0_shape[] = { &split_151_0_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4 }; int64_t *split_151_1_shape[] = { &split_151_1_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4 }; int64_t *split_151_2_shape[] = { &split_151_2_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4 }; int64_t **output_shapes[] = { split_151_0_shape, split_151_1_shape, split_151_2_shape }; const int64_t reshape_150_0_shape[] = { reshape_150_0_dim_0, reshape_150_0_dim_1, reshape_150_0_dim_2, reshape_150_0_dim_3, reshape_150_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_150_0, reshape_150_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_151_0_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4, &reshape_152_0_dim_0, &reshape_152_0_dim_1, &reshape_152_0_dim_2, &reshape_152_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_151_1_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4, &reshape_153_0_dim_0, &reshape_153_0_dim_1, &reshape_153_0_dim_2, &reshape_153_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_151_2_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4, &reshape_154_0_dim_0, &reshape_154_0_dim_1, &reshape_154_0_dim_2, &reshape_154_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_155_0, reshape_152_0, reshape_153_0, reshape_154_0, &reshape_152_0_dim_0, &reshape_154_0_dim_2, &reshape_152_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_155_0, encoder_layers_8_mha_proj_weight, encoder_layers_8_mha_proj_bias, layernorm_147_0, reshape_158_0, global_workspace_, 1, &reshape_156_0_dim_0, &reshape_156_0_dim_1, &encoder_layers_8_mha_proj_weight_dim_0, &encoder_layers_8_mha_proj_weight_dim_1, &reshape_156_0_dim_0, &encoder_layers_8_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_524_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_524(elementwise_159_0, elementwise_146_0,reshape_158_0, fused_elementwise_524_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_145_0_dim_0; M *= reshape_145_0_dim_1; int64_t N = 1; N *= reshape_145_0_dim_2; layernorm_3( layernorm_160_0, elementwise_159_0, encoder_layers_8_ln2_weight, encoder_layers_8_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_160_0, encoder_layers_8_mlp_fc1_weight, encoder_layers_8_mlp_fc1_bias, gemm_rcr_bias_gelu_161_0, global_workspace_, 1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &reshape_145_0_dim_2, &encoder_layers_8_mlp_fc1_weight_dim_0, &encoder_layers_8_mlp_fc1_weight_dim_1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &encoder_layers_8_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_161_0, encoder_layers_8_mlp_fc2_weight, encoder_layers_8_mlp_fc2_bias, reshape_163_0, global_workspace_, 1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &encoder_layers_8_mlp_fc1_weight_dim_0, &encoder_layers_8_mlp_fc2_weight_dim_0, &encoder_layers_8_mlp_fc2_weight_dim_1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &encoder_layers_8_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_525_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_525(elementwise_164_0, reshape_163_0,elementwise_146_0, fused_elementwise_525_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_163_0_dim_0; M *= reshape_163_0_dim_1; int64_t N = 1; N *= reshape_163_0_dim_2; layernorm_3( layernorm_165_0, elementwise_164_0, encoder_layers_9_ln1_weight, encoder_layers_9_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_165_0, encoder_layers_9_mha_qkv_weight, encoder_layers_9_mha_qkv_bias, reshape_168_0, global_workspace_, 1, &reshape_166_0_dim_0, &reshape_166_0_dim_1, &encoder_layers_9_mha_qkv_weight_dim_0, &encoder_layers_9_mha_qkv_weight_dim_1, &reshape_166_0_dim_0, &encoder_layers_9_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_169_0, split_169_1, split_169_2 }; int64_t *split_169_0_shape[] = { &split_169_0_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4 }; int64_t *split_169_1_shape[] = { &split_169_1_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4 }; int64_t *split_169_2_shape[] = { &split_169_2_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4 }; int64_t **output_shapes[] = { split_169_0_shape, split_169_1_shape, split_169_2_shape }; const int64_t reshape_168_0_shape[] = { reshape_168_0_dim_0, reshape_168_0_dim_1, reshape_168_0_dim_2, reshape_168_0_dim_3, reshape_168_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_168_0, reshape_168_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_169_0_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4, &reshape_170_0_dim_0, &reshape_170_0_dim_1, &reshape_170_0_dim_2, &reshape_170_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_169_1_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4, &reshape_171_0_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_169_2_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4, &reshape_172_0_dim_0, &reshape_172_0_dim_1, &reshape_172_0_dim_2, &reshape_172_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_173_0, reshape_170_0, reshape_171_0, reshape_172_0, &reshape_170_0_dim_0, &reshape_172_0_dim_2, &reshape_170_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_173_0, encoder_layers_9_mha_proj_weight, encoder_layers_9_mha_proj_bias, layernorm_165_0, reshape_176_0, global_workspace_, 1, &reshape_174_0_dim_0, &reshape_174_0_dim_1, &encoder_layers_9_mha_proj_weight_dim_0, &encoder_layers_9_mha_proj_weight_dim_1, &reshape_174_0_dim_0, &encoder_layers_9_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_526_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_526(elementwise_177_0, elementwise_164_0,reshape_176_0, fused_elementwise_526_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_163_0_dim_0; M *= reshape_163_0_dim_1; int64_t N = 1; N *= reshape_163_0_dim_2; layernorm_3( layernorm_178_0, elementwise_177_0, encoder_layers_9_ln2_weight, encoder_layers_9_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_178_0, encoder_layers_9_mlp_fc1_weight, encoder_layers_9_mlp_fc1_bias, gemm_rcr_bias_gelu_179_0, global_workspace_, 1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &reshape_163_0_dim_2, &encoder_layers_9_mlp_fc1_weight_dim_0, &encoder_layers_9_mlp_fc1_weight_dim_1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &encoder_layers_9_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_179_0, encoder_layers_9_mlp_fc2_weight, encoder_layers_9_mlp_fc2_bias, reshape_181_0, global_workspace_, 1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &encoder_layers_9_mlp_fc1_weight_dim_0, &encoder_layers_9_mlp_fc2_weight_dim_0, &encoder_layers_9_mlp_fc2_weight_dim_1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &encoder_layers_9_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_527_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_527(elementwise_182_0, reshape_181_0,elementwise_164_0, fused_elementwise_527_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_181_0_dim_0; M *= reshape_181_0_dim_1; int64_t N = 1; N *= reshape_181_0_dim_2; layernorm_3( layernorm_183_0, elementwise_182_0, encoder_layers_10_ln1_weight, encoder_layers_10_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_183_0, encoder_layers_10_mha_qkv_weight, encoder_layers_10_mha_qkv_bias, reshape_186_0, global_workspace_, 1, &reshape_184_0_dim_0, &reshape_184_0_dim_1, &encoder_layers_10_mha_qkv_weight_dim_0, &encoder_layers_10_mha_qkv_weight_dim_1, &reshape_184_0_dim_0, &encoder_layers_10_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_187_1, split_187_2, split_187_0 }; int64_t *split_187_1_shape[] = { &split_187_1_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4 }; int64_t *split_187_2_shape[] = { &split_187_2_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4 }; int64_t *split_187_0_shape[] = { &split_187_0_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4 }; int64_t **output_shapes[] = { split_187_1_shape, split_187_2_shape, split_187_0_shape }; const int64_t reshape_186_0_shape[] = { reshape_186_0_dim_0, reshape_186_0_dim_1, reshape_186_0_dim_2, reshape_186_0_dim_3, reshape_186_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_186_0, reshape_186_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_187_0_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4, &reshape_188_0_dim_0, &reshape_188_0_dim_1, &reshape_188_0_dim_2, &reshape_188_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_187_1_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4, &reshape_189_0_dim_0, &reshape_189_0_dim_1, &reshape_189_0_dim_2, &reshape_189_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_187_2_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4, &reshape_190_0_dim_0, &reshape_190_0_dim_1, &reshape_190_0_dim_2, &reshape_190_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_191_0, reshape_189_0, reshape_190_0, reshape_188_0, &reshape_189_0_dim_0, &reshape_188_0_dim_2, &reshape_189_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_191_0, encoder_layers_10_mha_proj_weight, encoder_layers_10_mha_proj_bias, layernorm_183_0, reshape_194_0, global_workspace_, 1, &reshape_192_0_dim_0, &reshape_192_0_dim_1, &encoder_layers_10_mha_proj_weight_dim_0, &encoder_layers_10_mha_proj_weight_dim_1, &reshape_192_0_dim_0, &encoder_layers_10_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_528_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_528(elementwise_195_0, elementwise_182_0,reshape_194_0, fused_elementwise_528_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_181_0_dim_0; M *= reshape_181_0_dim_1; int64_t N = 1; N *= reshape_181_0_dim_2; layernorm_3( layernorm_196_0, elementwise_195_0, encoder_layers_10_ln2_weight, encoder_layers_10_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_196_0, encoder_layers_10_mlp_fc1_weight, encoder_layers_10_mlp_fc1_bias, gemm_rcr_bias_gelu_197_0, global_workspace_, 1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &reshape_181_0_dim_2, &encoder_layers_10_mlp_fc1_weight_dim_0, &encoder_layers_10_mlp_fc1_weight_dim_1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &encoder_layers_10_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_197_0, encoder_layers_10_mlp_fc2_weight, encoder_layers_10_mlp_fc2_bias, reshape_199_0, global_workspace_, 1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &encoder_layers_10_mlp_fc1_weight_dim_0, &encoder_layers_10_mlp_fc2_weight_dim_0, &encoder_layers_10_mlp_fc2_weight_dim_1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &encoder_layers_10_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_529_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_529(elementwise_200_0, reshape_199_0,elementwise_182_0, fused_elementwise_529_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_199_0_dim_0; M *= reshape_199_0_dim_1; int64_t N = 1; N *= reshape_199_0_dim_2; layernorm_3( layernorm_201_0, elementwise_200_0, encoder_layers_11_ln1_weight, encoder_layers_11_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_201_0, encoder_layers_11_mha_qkv_weight, encoder_layers_11_mha_qkv_bias, reshape_204_0, global_workspace_, 1, &reshape_202_0_dim_0, &reshape_202_0_dim_1, &encoder_layers_11_mha_qkv_weight_dim_0, &encoder_layers_11_mha_qkv_weight_dim_1, &reshape_202_0_dim_0, &encoder_layers_11_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_205_1, split_205_2, split_205_0 }; int64_t *split_205_1_shape[] = { &split_205_1_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4 }; int64_t *split_205_2_shape[] = { &split_205_2_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4 }; int64_t *split_205_0_shape[] = { &split_205_0_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4 }; int64_t **output_shapes[] = { split_205_1_shape, split_205_2_shape, split_205_0_shape }; const int64_t reshape_204_0_shape[] = { reshape_204_0_dim_0, reshape_204_0_dim_1, reshape_204_0_dim_2, reshape_204_0_dim_3, reshape_204_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_204_0, reshape_204_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_205_0_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4, &reshape_206_0_dim_0, &reshape_206_0_dim_1, &reshape_206_0_dim_2, &reshape_206_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_205_1_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4, &reshape_207_0_dim_0, &reshape_207_0_dim_1, &reshape_207_0_dim_2, &reshape_207_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_205_2_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4, &reshape_208_0_dim_0, &reshape_208_0_dim_1, &reshape_208_0_dim_2, &reshape_208_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_209_0, reshape_207_0, reshape_208_0, reshape_206_0, &reshape_207_0_dim_0, &reshape_206_0_dim_2, &reshape_207_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_209_0, encoder_layers_11_mha_proj_weight, encoder_layers_11_mha_proj_bias, layernorm_201_0, reshape_212_0, global_workspace_, 1, &reshape_210_0_dim_0, &reshape_210_0_dim_1, &encoder_layers_11_mha_proj_weight_dim_0, &encoder_layers_11_mha_proj_weight_dim_1, &reshape_210_0_dim_0, &encoder_layers_11_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_530_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_530(elementwise_213_0, elementwise_200_0,reshape_212_0, fused_elementwise_530_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_199_0_dim_0; M *= reshape_199_0_dim_1; int64_t N = 1; N *= reshape_199_0_dim_2; layernorm_3( layernorm_214_0, elementwise_213_0, encoder_layers_11_ln2_weight, encoder_layers_11_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_214_0, encoder_layers_11_mlp_fc1_weight, encoder_layers_11_mlp_fc1_bias, gemm_rcr_bias_gelu_215_0, global_workspace_, 1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &reshape_199_0_dim_2, &encoder_layers_11_mlp_fc1_weight_dim_0, &encoder_layers_11_mlp_fc1_weight_dim_1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_11_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_215_0, encoder_layers_11_mlp_fc2_weight, encoder_layers_11_mlp_fc2_bias, reshape_217_0, global_workspace_, 1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_11_mlp_fc1_weight_dim_0, &encoder_layers_11_mlp_fc2_weight_dim_0, &encoder_layers_11_mlp_fc2_weight_dim_1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_11_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_531_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_531(elementwise_218_0, reshape_217_0,elementwise_200_0, fused_elementwise_531_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_217_0_dim_0; M *= reshape_217_0_dim_1; int64_t N = 1; N *= reshape_217_0_dim_2; layernorm_3( layernorm_219_0, elementwise_218_0, encoder_layers_12_ln1_weight, encoder_layers_12_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_219_0, encoder_layers_12_mha_qkv_weight, encoder_layers_12_mha_qkv_bias, reshape_222_0, global_workspace_, 1, &reshape_220_0_dim_0, &reshape_220_0_dim_1, &encoder_layers_12_mha_qkv_weight_dim_0, &encoder_layers_12_mha_qkv_weight_dim_1, &reshape_220_0_dim_0, &encoder_layers_12_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_223_1, split_223_2, split_223_0 }; int64_t *split_223_1_shape[] = { &split_223_1_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4 }; int64_t *split_223_2_shape[] = { &split_223_2_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4 }; int64_t *split_223_0_shape[] = { &split_223_0_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4 }; int64_t **output_shapes[] = { split_223_1_shape, split_223_2_shape, split_223_0_shape }; const int64_t reshape_222_0_shape[] = { reshape_222_0_dim_0, reshape_222_0_dim_1, reshape_222_0_dim_2, reshape_222_0_dim_3, reshape_222_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_222_0, reshape_222_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_223_0_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4, &reshape_224_0_dim_0, &reshape_224_0_dim_1, &reshape_224_0_dim_2, &reshape_224_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_223_1_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4, &reshape_225_0_dim_0, &reshape_225_0_dim_1, &reshape_225_0_dim_2, &reshape_225_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_223_2_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4, &reshape_226_0_dim_0, &reshape_226_0_dim_1, &reshape_226_0_dim_2, &reshape_226_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_227_0, reshape_225_0, reshape_226_0, reshape_224_0, &reshape_225_0_dim_0, &reshape_224_0_dim_2, &reshape_225_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_227_0, encoder_layers_12_mha_proj_weight, encoder_layers_12_mha_proj_bias, layernorm_219_0, reshape_230_0, global_workspace_, 1, &reshape_228_0_dim_0, &reshape_228_0_dim_1, &encoder_layers_12_mha_proj_weight_dim_0, &encoder_layers_12_mha_proj_weight_dim_1, &reshape_228_0_dim_0, &encoder_layers_12_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_532_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_532(elementwise_231_0, elementwise_218_0,reshape_230_0, fused_elementwise_532_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_217_0_dim_0; M *= reshape_217_0_dim_1; int64_t N = 1; N *= reshape_217_0_dim_2; layernorm_3( layernorm_232_0, elementwise_231_0, encoder_layers_12_ln2_weight, encoder_layers_12_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_232_0, encoder_layers_12_mlp_fc1_weight, encoder_layers_12_mlp_fc1_bias, gemm_rcr_bias_gelu_233_0, global_workspace_, 1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &reshape_217_0_dim_2, &encoder_layers_12_mlp_fc1_weight_dim_0, &encoder_layers_12_mlp_fc1_weight_dim_1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &encoder_layers_12_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_233_0, encoder_layers_12_mlp_fc2_weight, encoder_layers_12_mlp_fc2_bias, reshape_235_0, global_workspace_, 1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &encoder_layers_12_mlp_fc1_weight_dim_0, &encoder_layers_12_mlp_fc2_weight_dim_0, &encoder_layers_12_mlp_fc2_weight_dim_1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &encoder_layers_12_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_533_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_533(elementwise_236_0, reshape_235_0,elementwise_218_0, fused_elementwise_533_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_235_0_dim_0; M *= reshape_235_0_dim_1; int64_t N = 1; N *= reshape_235_0_dim_2; layernorm_3( layernorm_237_0, elementwise_236_0, encoder_layers_13_ln1_weight, encoder_layers_13_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_237_0, encoder_layers_13_mha_qkv_weight, encoder_layers_13_mha_qkv_bias, reshape_240_0, global_workspace_, 1, &reshape_238_0_dim_0, &reshape_238_0_dim_1, &encoder_layers_13_mha_qkv_weight_dim_0, &encoder_layers_13_mha_qkv_weight_dim_1, &reshape_238_0_dim_0, &encoder_layers_13_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_241_1, split_241_0, split_241_2 }; int64_t *split_241_1_shape[] = { &split_241_1_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4 }; int64_t *split_241_0_shape[] = { &split_241_0_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4 }; int64_t *split_241_2_shape[] = { &split_241_2_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4 }; int64_t **output_shapes[] = { split_241_1_shape, split_241_0_shape, split_241_2_shape }; const int64_t reshape_240_0_shape[] = { reshape_240_0_dim_0, reshape_240_0_dim_1, reshape_240_0_dim_2, reshape_240_0_dim_3, reshape_240_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_240_0, reshape_240_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_241_0_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4, &reshape_242_0_dim_0, &reshape_242_0_dim_1, &reshape_242_0_dim_2, &reshape_242_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_241_1_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4, &reshape_243_0_dim_0, &reshape_243_0_dim_1, &reshape_243_0_dim_2, &reshape_243_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_241_2_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4, &reshape_244_0_dim_0, &reshape_244_0_dim_1, &reshape_244_0_dim_2, &reshape_244_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_245_0, reshape_243_0, reshape_242_0, reshape_244_0, &reshape_243_0_dim_0, &reshape_244_0_dim_2, &reshape_243_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_245_0, encoder_layers_13_mha_proj_weight, encoder_layers_13_mha_proj_bias, layernorm_237_0, reshape_248_0, global_workspace_, 1, &reshape_246_0_dim_0, &reshape_246_0_dim_1, &encoder_layers_13_mha_proj_weight_dim_0, &encoder_layers_13_mha_proj_weight_dim_1, &reshape_246_0_dim_0, &encoder_layers_13_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_534_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_534(elementwise_249_0, elementwise_236_0,reshape_248_0, fused_elementwise_534_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_235_0_dim_0; M *= reshape_235_0_dim_1; int64_t N = 1; N *= reshape_235_0_dim_2; layernorm_3( layernorm_250_0, elementwise_249_0, encoder_layers_13_ln2_weight, encoder_layers_13_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_250_0, encoder_layers_13_mlp_fc1_weight, encoder_layers_13_mlp_fc1_bias, gemm_rcr_bias_gelu_251_0, global_workspace_, 1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &reshape_235_0_dim_2, &encoder_layers_13_mlp_fc1_weight_dim_0, &encoder_layers_13_mlp_fc1_weight_dim_1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &encoder_layers_13_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_251_0, encoder_layers_13_mlp_fc2_weight, encoder_layers_13_mlp_fc2_bias, reshape_253_0, global_workspace_, 1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &encoder_layers_13_mlp_fc1_weight_dim_0, &encoder_layers_13_mlp_fc2_weight_dim_0, &encoder_layers_13_mlp_fc2_weight_dim_1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &encoder_layers_13_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_535_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_535(elementwise_254_0, reshape_253_0,elementwise_236_0, fused_elementwise_535_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_253_0_dim_0; M *= reshape_253_0_dim_1; int64_t N = 1; N *= reshape_253_0_dim_2; layernorm_3( layernorm_255_0, elementwise_254_0, encoder_layers_14_ln1_weight, encoder_layers_14_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_255_0, encoder_layers_14_mha_qkv_weight, encoder_layers_14_mha_qkv_bias, reshape_258_0, global_workspace_, 1, &reshape_256_0_dim_0, &reshape_256_0_dim_1, &encoder_layers_14_mha_qkv_weight_dim_0, &encoder_layers_14_mha_qkv_weight_dim_1, &reshape_256_0_dim_0, &encoder_layers_14_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_259_1, split_259_2, split_259_0 }; int64_t *split_259_1_shape[] = { &split_259_1_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4 }; int64_t *split_259_2_shape[] = { &split_259_2_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4 }; int64_t *split_259_0_shape[] = { &split_259_0_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4 }; int64_t **output_shapes[] = { split_259_1_shape, split_259_2_shape, split_259_0_shape }; const int64_t reshape_258_0_shape[] = { reshape_258_0_dim_0, reshape_258_0_dim_1, reshape_258_0_dim_2, reshape_258_0_dim_3, reshape_258_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_258_0, reshape_258_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_259_0_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4, &reshape_260_0_dim_0, &reshape_260_0_dim_1, &reshape_260_0_dim_2, &reshape_260_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_259_1_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4, &reshape_261_0_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_259_2_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4, &reshape_262_0_dim_0, &reshape_262_0_dim_1, &reshape_262_0_dim_2, &reshape_262_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_263_0, reshape_261_0, reshape_262_0, reshape_260_0, &reshape_261_0_dim_0, &reshape_260_0_dim_2, &reshape_261_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_263_0, encoder_layers_14_mha_proj_weight, encoder_layers_14_mha_proj_bias, layernorm_255_0, reshape_266_0, global_workspace_, 1, &reshape_264_0_dim_0, &reshape_264_0_dim_1, &encoder_layers_14_mha_proj_weight_dim_0, &encoder_layers_14_mha_proj_weight_dim_1, &reshape_264_0_dim_0, &encoder_layers_14_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_536_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_536(elementwise_267_0, elementwise_254_0,reshape_266_0, fused_elementwise_536_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_253_0_dim_0; M *= reshape_253_0_dim_1; int64_t N = 1; N *= reshape_253_0_dim_2; layernorm_3( layernorm_268_0, elementwise_267_0, encoder_layers_14_ln2_weight, encoder_layers_14_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_268_0, encoder_layers_14_mlp_fc1_weight, encoder_layers_14_mlp_fc1_bias, gemm_rcr_bias_gelu_269_0, global_workspace_, 1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &reshape_253_0_dim_2, &encoder_layers_14_mlp_fc1_weight_dim_0, &encoder_layers_14_mlp_fc1_weight_dim_1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &encoder_layers_14_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_269_0, encoder_layers_14_mlp_fc2_weight, encoder_layers_14_mlp_fc2_bias, reshape_271_0, global_workspace_, 1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &encoder_layers_14_mlp_fc1_weight_dim_0, &encoder_layers_14_mlp_fc2_weight_dim_0, &encoder_layers_14_mlp_fc2_weight_dim_1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &encoder_layers_14_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_537_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_537(elementwise_272_0, reshape_271_0,elementwise_254_0, fused_elementwise_537_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_271_0_dim_0; M *= reshape_271_0_dim_1; int64_t N = 1; N *= reshape_271_0_dim_2; layernorm_3( layernorm_273_0, elementwise_272_0, encoder_layers_15_ln1_weight, encoder_layers_15_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_273_0, encoder_layers_15_mha_qkv_weight, encoder_layers_15_mha_qkv_bias, reshape_276_0, global_workspace_, 1, &reshape_274_0_dim_0, &reshape_274_0_dim_1, &encoder_layers_15_mha_qkv_weight_dim_0, &encoder_layers_15_mha_qkv_weight_dim_1, &reshape_274_0_dim_0, &encoder_layers_15_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_277_0, split_277_2, split_277_1 }; int64_t *split_277_0_shape[] = { &split_277_0_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4 }; int64_t *split_277_2_shape[] = { &split_277_2_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4 }; int64_t *split_277_1_shape[] = { &split_277_1_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4 }; int64_t **output_shapes[] = { split_277_0_shape, split_277_2_shape, split_277_1_shape }; const int64_t reshape_276_0_shape[] = { reshape_276_0_dim_0, reshape_276_0_dim_1, reshape_276_0_dim_2, reshape_276_0_dim_3, reshape_276_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_276_0, reshape_276_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_277_0_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4, &reshape_278_0_dim_0, &reshape_278_0_dim_1, &reshape_278_0_dim_2, &reshape_278_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_277_1_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4, &reshape_279_0_dim_0, &reshape_279_0_dim_1, &reshape_279_0_dim_2, &reshape_279_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_277_2_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4, &reshape_280_0_dim_0, &reshape_280_0_dim_1, &reshape_280_0_dim_2, &reshape_280_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_281_0, reshape_278_0, reshape_280_0, reshape_279_0, &reshape_278_0_dim_0, &reshape_279_0_dim_2, &reshape_278_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_281_0, encoder_layers_15_mha_proj_weight, encoder_layers_15_mha_proj_bias, layernorm_273_0, reshape_284_0, global_workspace_, 1, &reshape_282_0_dim_0, &reshape_282_0_dim_1, &encoder_layers_15_mha_proj_weight_dim_0, &encoder_layers_15_mha_proj_weight_dim_1, &reshape_282_0_dim_0, &encoder_layers_15_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_538_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_538(elementwise_285_0, elementwise_272_0,reshape_284_0, fused_elementwise_538_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_271_0_dim_0; M *= reshape_271_0_dim_1; int64_t N = 1; N *= reshape_271_0_dim_2; layernorm_3( layernorm_286_0, elementwise_285_0, encoder_layers_15_ln2_weight, encoder_layers_15_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_286_0, encoder_layers_15_mlp_fc1_weight, encoder_layers_15_mlp_fc1_bias, gemm_rcr_bias_gelu_287_0, global_workspace_, 1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &reshape_271_0_dim_2, &encoder_layers_15_mlp_fc1_weight_dim_0, &encoder_layers_15_mlp_fc1_weight_dim_1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &encoder_layers_15_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_287_0, encoder_layers_15_mlp_fc2_weight, encoder_layers_15_mlp_fc2_bias, reshape_289_0, global_workspace_, 1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &encoder_layers_15_mlp_fc1_weight_dim_0, &encoder_layers_15_mlp_fc2_weight_dim_0, &encoder_layers_15_mlp_fc2_weight_dim_1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &encoder_layers_15_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_539_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_539(elementwise_290_0, reshape_289_0,elementwise_272_0, fused_elementwise_539_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_289_0_dim_0; M *= reshape_289_0_dim_1; int64_t N = 1; N *= reshape_289_0_dim_2; layernorm_3( layernorm_291_0, elementwise_290_0, encoder_layers_16_ln1_weight, encoder_layers_16_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_291_0, encoder_layers_16_mha_qkv_weight, encoder_layers_16_mha_qkv_bias, reshape_294_0, global_workspace_, 1, &reshape_292_0_dim_0, &reshape_292_0_dim_1, &encoder_layers_16_mha_qkv_weight_dim_0, &encoder_layers_16_mha_qkv_weight_dim_1, &reshape_292_0_dim_0, &encoder_layers_16_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_295_2, split_295_0, split_295_1 }; int64_t *split_295_2_shape[] = { &split_295_2_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4 }; int64_t *split_295_0_shape[] = { &split_295_0_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4 }; int64_t *split_295_1_shape[] = { &split_295_1_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4 }; int64_t **output_shapes[] = { split_295_2_shape, split_295_0_shape, split_295_1_shape }; const int64_t reshape_294_0_shape[] = { reshape_294_0_dim_0, reshape_294_0_dim_1, reshape_294_0_dim_2, reshape_294_0_dim_3, reshape_294_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_294_0, reshape_294_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_295_0_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4, &reshape_296_0_dim_0, &reshape_296_0_dim_1, &reshape_296_0_dim_2, &reshape_296_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_295_1_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4, &reshape_297_0_dim_0, &reshape_297_0_dim_1, &reshape_297_0_dim_2, &reshape_297_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_295_2_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4, &reshape_298_0_dim_0, &reshape_298_0_dim_1, &reshape_298_0_dim_2, &reshape_298_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_299_0, reshape_298_0, reshape_296_0, reshape_297_0, &reshape_298_0_dim_0, &reshape_297_0_dim_2, &reshape_298_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_299_0, encoder_layers_16_mha_proj_weight, encoder_layers_16_mha_proj_bias, layernorm_291_0, reshape_302_0, global_workspace_, 1, &reshape_300_0_dim_0, &reshape_300_0_dim_1, &encoder_layers_16_mha_proj_weight_dim_0, &encoder_layers_16_mha_proj_weight_dim_1, &reshape_300_0_dim_0, &encoder_layers_16_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_540_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_540(elementwise_303_0, elementwise_290_0,reshape_302_0, fused_elementwise_540_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_289_0_dim_0; M *= reshape_289_0_dim_1; int64_t N = 1; N *= reshape_289_0_dim_2; layernorm_3( layernorm_304_0, elementwise_303_0, encoder_layers_16_ln2_weight, encoder_layers_16_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_304_0, encoder_layers_16_mlp_fc1_weight, encoder_layers_16_mlp_fc1_bias, gemm_rcr_bias_gelu_305_0, global_workspace_, 1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &reshape_289_0_dim_2, &encoder_layers_16_mlp_fc1_weight_dim_0, &encoder_layers_16_mlp_fc1_weight_dim_1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_16_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_305_0, encoder_layers_16_mlp_fc2_weight, encoder_layers_16_mlp_fc2_bias, reshape_307_0, global_workspace_, 1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_16_mlp_fc1_weight_dim_0, &encoder_layers_16_mlp_fc2_weight_dim_0, &encoder_layers_16_mlp_fc2_weight_dim_1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_16_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_541_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_541(elementwise_308_0, reshape_307_0,elementwise_290_0, fused_elementwise_541_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_307_0_dim_0; M *= reshape_307_0_dim_1; int64_t N = 1; N *= reshape_307_0_dim_2; layernorm_3( layernorm_309_0, elementwise_308_0, encoder_layers_17_ln1_weight, encoder_layers_17_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_309_0, encoder_layers_17_mha_qkv_weight, encoder_layers_17_mha_qkv_bias, reshape_312_0, global_workspace_, 1, &reshape_310_0_dim_0, &reshape_310_0_dim_1, &encoder_layers_17_mha_qkv_weight_dim_0, &encoder_layers_17_mha_qkv_weight_dim_1, &reshape_310_0_dim_0, &encoder_layers_17_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_313_0, split_313_1, split_313_2 }; int64_t *split_313_0_shape[] = { &split_313_0_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4 }; int64_t *split_313_1_shape[] = { &split_313_1_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4 }; int64_t *split_313_2_shape[] = { &split_313_2_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4 }; int64_t **output_shapes[] = { split_313_0_shape, split_313_1_shape, split_313_2_shape }; const int64_t reshape_312_0_shape[] = { reshape_312_0_dim_0, reshape_312_0_dim_1, reshape_312_0_dim_2, reshape_312_0_dim_3, reshape_312_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_312_0, reshape_312_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_313_0_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4, &reshape_314_0_dim_0, &reshape_314_0_dim_1, &reshape_314_0_dim_2, &reshape_314_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_313_1_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4, &reshape_315_0_dim_0, &reshape_315_0_dim_1, &reshape_315_0_dim_2, &reshape_315_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_313_2_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4, &reshape_316_0_dim_0, &reshape_316_0_dim_1, &reshape_316_0_dim_2, &reshape_316_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_317_0, reshape_314_0, reshape_315_0, reshape_316_0, &reshape_314_0_dim_0, &reshape_316_0_dim_2, &reshape_314_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_317_0, encoder_layers_17_mha_proj_weight, encoder_layers_17_mha_proj_bias, layernorm_309_0, reshape_320_0, global_workspace_, 1, &reshape_318_0_dim_0, &reshape_318_0_dim_1, &encoder_layers_17_mha_proj_weight_dim_0, &encoder_layers_17_mha_proj_weight_dim_1, &reshape_318_0_dim_0, &encoder_layers_17_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_542_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_542(elementwise_321_0, elementwise_308_0,reshape_320_0, fused_elementwise_542_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_307_0_dim_0; M *= reshape_307_0_dim_1; int64_t N = 1; N *= reshape_307_0_dim_2; layernorm_3( layernorm_322_0, elementwise_321_0, encoder_layers_17_ln2_weight, encoder_layers_17_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_322_0, encoder_layers_17_mlp_fc1_weight, encoder_layers_17_mlp_fc1_bias, gemm_rcr_bias_gelu_323_0, global_workspace_, 1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &reshape_307_0_dim_2, &encoder_layers_17_mlp_fc1_weight_dim_0, &encoder_layers_17_mlp_fc1_weight_dim_1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &encoder_layers_17_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_323_0, encoder_layers_17_mlp_fc2_weight, encoder_layers_17_mlp_fc2_bias, reshape_325_0, global_workspace_, 1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &encoder_layers_17_mlp_fc1_weight_dim_0, &encoder_layers_17_mlp_fc2_weight_dim_0, &encoder_layers_17_mlp_fc2_weight_dim_1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &encoder_layers_17_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_543_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_543(elementwise_326_0, reshape_325_0,elementwise_308_0, fused_elementwise_543_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_325_0_dim_0; M *= reshape_325_0_dim_1; int64_t N = 1; N *= reshape_325_0_dim_2; layernorm_3( layernorm_327_0, elementwise_326_0, encoder_layers_18_ln1_weight, encoder_layers_18_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_327_0, encoder_layers_18_mha_qkv_weight, encoder_layers_18_mha_qkv_bias, reshape_330_0, global_workspace_, 1, &reshape_328_0_dim_0, &reshape_328_0_dim_1, &encoder_layers_18_mha_qkv_weight_dim_0, &encoder_layers_18_mha_qkv_weight_dim_1, &reshape_328_0_dim_0, &encoder_layers_18_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_331_2, split_331_0, split_331_1 }; int64_t *split_331_2_shape[] = { &split_331_2_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4 }; int64_t *split_331_0_shape[] = { &split_331_0_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4 }; int64_t *split_331_1_shape[] = { &split_331_1_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4 }; int64_t **output_shapes[] = { split_331_2_shape, split_331_0_shape, split_331_1_shape }; const int64_t reshape_330_0_shape[] = { reshape_330_0_dim_0, reshape_330_0_dim_1, reshape_330_0_dim_2, reshape_330_0_dim_3, reshape_330_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_330_0, reshape_330_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_331_0_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4, &reshape_332_0_dim_0, &reshape_332_0_dim_1, &reshape_332_0_dim_2, &reshape_332_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_331_1_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4, &reshape_333_0_dim_0, &reshape_333_0_dim_1, &reshape_333_0_dim_2, &reshape_333_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_331_2_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4, &reshape_334_0_dim_0, &reshape_334_0_dim_1, &reshape_334_0_dim_2, &reshape_334_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_335_0, reshape_334_0, reshape_332_0, reshape_333_0, &reshape_334_0_dim_0, &reshape_333_0_dim_2, &reshape_334_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_335_0, encoder_layers_18_mha_proj_weight, encoder_layers_18_mha_proj_bias, layernorm_327_0, reshape_338_0, global_workspace_, 1, &reshape_336_0_dim_0, &reshape_336_0_dim_1, &encoder_layers_18_mha_proj_weight_dim_0, &encoder_layers_18_mha_proj_weight_dim_1, &reshape_336_0_dim_0, &encoder_layers_18_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_544_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_544(elementwise_339_0, elementwise_326_0,reshape_338_0, fused_elementwise_544_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_325_0_dim_0; M *= reshape_325_0_dim_1; int64_t N = 1; N *= reshape_325_0_dim_2; layernorm_3( layernorm_340_0, elementwise_339_0, encoder_layers_18_ln2_weight, encoder_layers_18_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_340_0, encoder_layers_18_mlp_fc1_weight, encoder_layers_18_mlp_fc1_bias, gemm_rcr_bias_gelu_341_0, global_workspace_, 1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &reshape_325_0_dim_2, &encoder_layers_18_mlp_fc1_weight_dim_0, &encoder_layers_18_mlp_fc1_weight_dim_1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &encoder_layers_18_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_341_0, encoder_layers_18_mlp_fc2_weight, encoder_layers_18_mlp_fc2_bias, reshape_343_0, global_workspace_, 1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &encoder_layers_18_mlp_fc1_weight_dim_0, &encoder_layers_18_mlp_fc2_weight_dim_0, &encoder_layers_18_mlp_fc2_weight_dim_1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &encoder_layers_18_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_545_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_545(elementwise_344_0, reshape_343_0,elementwise_326_0, fused_elementwise_545_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_343_0_dim_0; M *= reshape_343_0_dim_1; int64_t N = 1; N *= reshape_343_0_dim_2; layernorm_3( layernorm_345_0, elementwise_344_0, encoder_layers_19_ln1_weight, encoder_layers_19_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_345_0, encoder_layers_19_mha_qkv_weight, encoder_layers_19_mha_qkv_bias, reshape_348_0, global_workspace_, 1, &reshape_346_0_dim_0, &reshape_346_0_dim_1, &encoder_layers_19_mha_qkv_weight_dim_0, &encoder_layers_19_mha_qkv_weight_dim_1, &reshape_346_0_dim_0, &encoder_layers_19_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_349_2, split_349_1, split_349_0 }; int64_t *split_349_2_shape[] = { &split_349_2_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4 }; int64_t *split_349_1_shape[] = { &split_349_1_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4 }; int64_t *split_349_0_shape[] = { &split_349_0_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4 }; int64_t **output_shapes[] = { split_349_2_shape, split_349_1_shape, split_349_0_shape }; const int64_t reshape_348_0_shape[] = { reshape_348_0_dim_0, reshape_348_0_dim_1, reshape_348_0_dim_2, reshape_348_0_dim_3, reshape_348_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_348_0, reshape_348_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_349_0_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4, &reshape_350_0_dim_0, &reshape_350_0_dim_1, &reshape_350_0_dim_2, &reshape_350_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_349_1_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4, &reshape_351_0_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_349_2_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4, &reshape_352_0_dim_0, &reshape_352_0_dim_1, &reshape_352_0_dim_2, &reshape_352_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_353_0, reshape_352_0, reshape_351_0, reshape_350_0, &reshape_352_0_dim_0, &reshape_350_0_dim_2, &reshape_352_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_353_0, encoder_layers_19_mha_proj_weight, encoder_layers_19_mha_proj_bias, layernorm_345_0, reshape_356_0, global_workspace_, 1, &reshape_354_0_dim_0, &reshape_354_0_dim_1, &encoder_layers_19_mha_proj_weight_dim_0, &encoder_layers_19_mha_proj_weight_dim_1, &reshape_354_0_dim_0, &encoder_layers_19_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_546_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_546(elementwise_357_0, elementwise_344_0,reshape_356_0, fused_elementwise_546_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_343_0_dim_0; M *= reshape_343_0_dim_1; int64_t N = 1; N *= reshape_343_0_dim_2; layernorm_3( layernorm_358_0, elementwise_357_0, encoder_layers_19_ln2_weight, encoder_layers_19_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_358_0, encoder_layers_19_mlp_fc1_weight, encoder_layers_19_mlp_fc1_bias, gemm_rcr_bias_gelu_359_0, global_workspace_, 1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &reshape_343_0_dim_2, &encoder_layers_19_mlp_fc1_weight_dim_0, &encoder_layers_19_mlp_fc1_weight_dim_1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &encoder_layers_19_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_359_0, encoder_layers_19_mlp_fc2_weight, encoder_layers_19_mlp_fc2_bias, reshape_361_0, global_workspace_, 1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &encoder_layers_19_mlp_fc1_weight_dim_0, &encoder_layers_19_mlp_fc2_weight_dim_0, &encoder_layers_19_mlp_fc2_weight_dim_1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &encoder_layers_19_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_547_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_547(elementwise_362_0, reshape_361_0,elementwise_344_0, fused_elementwise_547_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_361_0_dim_0; M *= reshape_361_0_dim_1; int64_t N = 1; N *= reshape_361_0_dim_2; layernorm_3( layernorm_363_0, elementwise_362_0, encoder_layers_20_ln1_weight, encoder_layers_20_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_363_0, encoder_layers_20_mha_qkv_weight, encoder_layers_20_mha_qkv_bias, reshape_366_0, global_workspace_, 1, &reshape_364_0_dim_0, &reshape_364_0_dim_1, &encoder_layers_20_mha_qkv_weight_dim_0, &encoder_layers_20_mha_qkv_weight_dim_1, &reshape_364_0_dim_0, &encoder_layers_20_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_367_0, split_367_2, split_367_1 }; int64_t *split_367_0_shape[] = { &split_367_0_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4 }; int64_t *split_367_2_shape[] = { &split_367_2_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4 }; int64_t *split_367_1_shape[] = { &split_367_1_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4 }; int64_t **output_shapes[] = { split_367_0_shape, split_367_2_shape, split_367_1_shape }; const int64_t reshape_366_0_shape[] = { reshape_366_0_dim_0, reshape_366_0_dim_1, reshape_366_0_dim_2, reshape_366_0_dim_3, reshape_366_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_366_0, reshape_366_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_367_0_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4, &reshape_368_0_dim_0, &reshape_368_0_dim_1, &reshape_368_0_dim_2, &reshape_368_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_367_1_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4, &reshape_369_0_dim_0, &reshape_369_0_dim_1, &reshape_369_0_dim_2, &reshape_369_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_367_2_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4, &reshape_370_0_dim_0, &reshape_370_0_dim_1, &reshape_370_0_dim_2, &reshape_370_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_371_0, reshape_368_0, reshape_370_0, reshape_369_0, &reshape_368_0_dim_0, &reshape_369_0_dim_2, &reshape_368_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_371_0, encoder_layers_20_mha_proj_weight, encoder_layers_20_mha_proj_bias, layernorm_363_0, reshape_374_0, global_workspace_, 1, &reshape_372_0_dim_0, &reshape_372_0_dim_1, &encoder_layers_20_mha_proj_weight_dim_0, &encoder_layers_20_mha_proj_weight_dim_1, &reshape_372_0_dim_0, &encoder_layers_20_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_548_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_548(elementwise_375_0, elementwise_362_0,reshape_374_0, fused_elementwise_548_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_361_0_dim_0; M *= reshape_361_0_dim_1; int64_t N = 1; N *= reshape_361_0_dim_2; layernorm_3( layernorm_376_0, elementwise_375_0, encoder_layers_20_ln2_weight, encoder_layers_20_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_376_0, encoder_layers_20_mlp_fc1_weight, encoder_layers_20_mlp_fc1_bias, gemm_rcr_bias_gelu_377_0, global_workspace_, 1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &reshape_361_0_dim_2, &encoder_layers_20_mlp_fc1_weight_dim_0, &encoder_layers_20_mlp_fc1_weight_dim_1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &encoder_layers_20_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_377_0, encoder_layers_20_mlp_fc2_weight, encoder_layers_20_mlp_fc2_bias, reshape_379_0, global_workspace_, 1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &encoder_layers_20_mlp_fc1_weight_dim_0, &encoder_layers_20_mlp_fc2_weight_dim_0, &encoder_layers_20_mlp_fc2_weight_dim_1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &encoder_layers_20_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_549_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_549(elementwise_380_0, reshape_379_0,elementwise_362_0, fused_elementwise_549_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_379_0_dim_0; M *= reshape_379_0_dim_1; int64_t N = 1; N *= reshape_379_0_dim_2; layernorm_3( layernorm_381_0, elementwise_380_0, encoder_layers_21_ln1_weight, encoder_layers_21_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_381_0, encoder_layers_21_mha_qkv_weight, encoder_layers_21_mha_qkv_bias, reshape_384_0, global_workspace_, 1, &reshape_382_0_dim_0, &reshape_382_0_dim_1, &encoder_layers_21_mha_qkv_weight_dim_0, &encoder_layers_21_mha_qkv_weight_dim_1, &reshape_382_0_dim_0, &encoder_layers_21_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_385_1, split_385_2, split_385_0 }; int64_t *split_385_1_shape[] = { &split_385_1_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4 }; int64_t *split_385_2_shape[] = { &split_385_2_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4 }; int64_t *split_385_0_shape[] = { &split_385_0_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4 }; int64_t **output_shapes[] = { split_385_1_shape, split_385_2_shape, split_385_0_shape }; const int64_t reshape_384_0_shape[] = { reshape_384_0_dim_0, reshape_384_0_dim_1, reshape_384_0_dim_2, reshape_384_0_dim_3, reshape_384_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_384_0, reshape_384_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_385_0_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4, &reshape_386_0_dim_0, &reshape_386_0_dim_1, &reshape_386_0_dim_2, &reshape_386_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_385_1_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4, &reshape_387_0_dim_0, &reshape_387_0_dim_1, &reshape_387_0_dim_2, &reshape_387_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_385_2_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4, &reshape_388_0_dim_0, &reshape_388_0_dim_1, &reshape_388_0_dim_2, &reshape_388_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_389_0, reshape_387_0, reshape_388_0, reshape_386_0, &reshape_387_0_dim_0, &reshape_386_0_dim_2, &reshape_387_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_389_0, encoder_layers_21_mha_proj_weight, encoder_layers_21_mha_proj_bias, layernorm_381_0, reshape_392_0, global_workspace_, 1, &reshape_390_0_dim_0, &reshape_390_0_dim_1, &encoder_layers_21_mha_proj_weight_dim_0, &encoder_layers_21_mha_proj_weight_dim_1, &reshape_390_0_dim_0, &encoder_layers_21_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_550_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_550(elementwise_393_0, elementwise_380_0,reshape_392_0, fused_elementwise_550_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_379_0_dim_0; M *= reshape_379_0_dim_1; int64_t N = 1; N *= reshape_379_0_dim_2; layernorm_3( layernorm_394_0, elementwise_393_0, encoder_layers_21_ln2_weight, encoder_layers_21_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_394_0, encoder_layers_21_mlp_fc1_weight, encoder_layers_21_mlp_fc1_bias, gemm_rcr_bias_gelu_395_0, global_workspace_, 1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &reshape_379_0_dim_2, &encoder_layers_21_mlp_fc1_weight_dim_0, &encoder_layers_21_mlp_fc1_weight_dim_1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_21_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_395_0, encoder_layers_21_mlp_fc2_weight, encoder_layers_21_mlp_fc2_bias, reshape_397_0, global_workspace_, 1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_21_mlp_fc1_weight_dim_0, &encoder_layers_21_mlp_fc2_weight_dim_0, &encoder_layers_21_mlp_fc2_weight_dim_1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_21_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_551_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_551(elementwise_398_0, reshape_397_0,elementwise_380_0, fused_elementwise_551_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_397_0_dim_0; M *= reshape_397_0_dim_1; int64_t N = 1; N *= reshape_397_0_dim_2; layernorm_3( layernorm_399_0, elementwise_398_0, encoder_layers_22_ln1_weight, encoder_layers_22_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_399_0, encoder_layers_22_mha_qkv_weight, encoder_layers_22_mha_qkv_bias, reshape_402_0, global_workspace_, 1, &reshape_400_0_dim_0, &reshape_400_0_dim_1, &encoder_layers_22_mha_qkv_weight_dim_0, &encoder_layers_22_mha_qkv_weight_dim_1, &reshape_400_0_dim_0, &encoder_layers_22_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_403_2, split_403_0, split_403_1 }; int64_t *split_403_2_shape[] = { &split_403_2_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4 }; int64_t *split_403_0_shape[] = { &split_403_0_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4 }; int64_t *split_403_1_shape[] = { &split_403_1_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4 }; int64_t **output_shapes[] = { split_403_2_shape, split_403_0_shape, split_403_1_shape }; const int64_t reshape_402_0_shape[] = { reshape_402_0_dim_0, reshape_402_0_dim_1, reshape_402_0_dim_2, reshape_402_0_dim_3, reshape_402_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_402_0, reshape_402_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_403_0_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &reshape_404_0_dim_2, &reshape_404_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_403_1_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4, &reshape_405_0_dim_0, &reshape_405_0_dim_1, &reshape_405_0_dim_2, &reshape_405_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_403_2_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4, &reshape_406_0_dim_0, &reshape_406_0_dim_1, &reshape_406_0_dim_2, &reshape_406_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_407_0, reshape_406_0, reshape_404_0, reshape_405_0, &reshape_406_0_dim_0, &reshape_405_0_dim_2, &reshape_406_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_407_0, encoder_layers_22_mha_proj_weight, encoder_layers_22_mha_proj_bias, layernorm_399_0, reshape_410_0, global_workspace_, 1, &reshape_408_0_dim_0, &reshape_408_0_dim_1, &encoder_layers_22_mha_proj_weight_dim_0, &encoder_layers_22_mha_proj_weight_dim_1, &reshape_408_0_dim_0, &encoder_layers_22_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_552_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_552(elementwise_411_0, elementwise_398_0,reshape_410_0, fused_elementwise_552_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_397_0_dim_0; M *= reshape_397_0_dim_1; int64_t N = 1; N *= reshape_397_0_dim_2; layernorm_3( layernorm_412_0, elementwise_411_0, encoder_layers_22_ln2_weight, encoder_layers_22_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_412_0, encoder_layers_22_mlp_fc1_weight, encoder_layers_22_mlp_fc1_bias, gemm_rcr_bias_gelu_413_0, global_workspace_, 1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &reshape_397_0_dim_2, &encoder_layers_22_mlp_fc1_weight_dim_0, &encoder_layers_22_mlp_fc1_weight_dim_1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &encoder_layers_22_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_413_0, encoder_layers_22_mlp_fc2_weight, encoder_layers_22_mlp_fc2_bias, reshape_415_0, global_workspace_, 1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &encoder_layers_22_mlp_fc1_weight_dim_0, &encoder_layers_22_mlp_fc2_weight_dim_0, &encoder_layers_22_mlp_fc2_weight_dim_1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &encoder_layers_22_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_553_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_553(elementwise_416_0, reshape_415_0,elementwise_398_0, fused_elementwise_553_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_415_0_dim_0; M *= reshape_415_0_dim_1; int64_t N = 1; N *= reshape_415_0_dim_2; layernorm_3( layernorm_417_0, elementwise_416_0, encoder_layers_23_ln1_weight, encoder_layers_23_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_417_0, encoder_layers_23_mha_qkv_weight, encoder_layers_23_mha_qkv_bias, reshape_420_0, global_workspace_, 1, &reshape_418_0_dim_0, &reshape_418_0_dim_1, &encoder_layers_23_mha_qkv_weight_dim_0, &encoder_layers_23_mha_qkv_weight_dim_1, &reshape_418_0_dim_0, &encoder_layers_23_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_421_1, split_421_0, split_421_2 }; int64_t *split_421_1_shape[] = { &split_421_1_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4 }; int64_t *split_421_0_shape[] = { &split_421_0_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4 }; int64_t *split_421_2_shape[] = { &split_421_2_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4 }; int64_t **output_shapes[] = { split_421_1_shape, split_421_0_shape, split_421_2_shape }; const int64_t reshape_420_0_shape[] = { reshape_420_0_dim_0, reshape_420_0_dim_1, reshape_420_0_dim_2, reshape_420_0_dim_3, reshape_420_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_420_0, reshape_420_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_421_0_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4, &reshape_422_0_dim_0, &reshape_422_0_dim_1, &reshape_422_0_dim_2, &reshape_422_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_421_1_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4, &reshape_423_0_dim_0, &reshape_423_0_dim_1, &reshape_423_0_dim_2, &reshape_423_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_421_2_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4, &reshape_424_0_dim_0, &reshape_424_0_dim_1, &reshape_424_0_dim_2, &reshape_424_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_425_0, reshape_423_0, reshape_422_0, reshape_424_0, &reshape_423_0_dim_0, &reshape_424_0_dim_2, &reshape_423_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_425_0, encoder_layers_23_mha_proj_weight, encoder_layers_23_mha_proj_bias, layernorm_417_0, reshape_428_0, global_workspace_, 1, &reshape_426_0_dim_0, &reshape_426_0_dim_1, &encoder_layers_23_mha_proj_weight_dim_0, &encoder_layers_23_mha_proj_weight_dim_1, &reshape_426_0_dim_0, &encoder_layers_23_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_554_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_554(elementwise_429_0, elementwise_416_0,reshape_428_0, fused_elementwise_554_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_415_0_dim_0; M *= reshape_415_0_dim_1; int64_t N = 1; N *= reshape_415_0_dim_2; layernorm_3( layernorm_430_0, elementwise_429_0, encoder_layers_23_ln2_weight, encoder_layers_23_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_430_0, encoder_layers_23_mlp_fc1_weight, encoder_layers_23_mlp_fc1_bias, gemm_rcr_bias_gelu_431_0, global_workspace_, 1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &reshape_415_0_dim_2, &encoder_layers_23_mlp_fc1_weight_dim_0, &encoder_layers_23_mlp_fc1_weight_dim_1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &encoder_layers_23_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_431_0, encoder_layers_23_mlp_fc2_weight, encoder_layers_23_mlp_fc2_bias, reshape_433_0, global_workspace_, 1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &encoder_layers_23_mlp_fc1_weight_dim_0, &encoder_layers_23_mlp_fc2_weight_dim_0, &encoder_layers_23_mlp_fc2_weight_dim_1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &encoder_layers_23_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_555_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_555(elementwise_434_0, reshape_433_0,elementwise_416_0, fused_elementwise_555_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_433_0_dim_0; M *= reshape_433_0_dim_1; int64_t N = 1; N *= reshape_433_0_dim_2; layernorm_3( layernorm_435_0, elementwise_434_0, encoder_layers_24_ln1_weight, encoder_layers_24_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_435_0, encoder_layers_24_mha_qkv_weight, encoder_layers_24_mha_qkv_bias, reshape_438_0, global_workspace_, 1, &reshape_436_0_dim_0, &reshape_436_0_dim_1, &encoder_layers_24_mha_qkv_weight_dim_0, &encoder_layers_24_mha_qkv_weight_dim_1, &reshape_436_0_dim_0, &encoder_layers_24_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_439_1, split_439_2, split_439_0 }; int64_t *split_439_1_shape[] = { &split_439_1_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4 }; int64_t *split_439_2_shape[] = { &split_439_2_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4 }; int64_t *split_439_0_shape[] = { &split_439_0_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4 }; int64_t **output_shapes[] = { split_439_1_shape, split_439_2_shape, split_439_0_shape }; const int64_t reshape_438_0_shape[] = { reshape_438_0_dim_0, reshape_438_0_dim_1, reshape_438_0_dim_2, reshape_438_0_dim_3, reshape_438_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_438_0, reshape_438_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_439_0_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4, &reshape_440_0_dim_0, &reshape_440_0_dim_1, &reshape_440_0_dim_2, &reshape_440_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_439_1_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4, &reshape_441_0_dim_0, &reshape_441_0_dim_1, &reshape_441_0_dim_2, &reshape_441_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_439_2_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4, &reshape_442_0_dim_0, &reshape_442_0_dim_1, &reshape_442_0_dim_2, &reshape_442_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_443_0, reshape_441_0, reshape_442_0, reshape_440_0, &reshape_441_0_dim_0, &reshape_440_0_dim_2, &reshape_441_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_443_0, encoder_layers_24_mha_proj_weight, encoder_layers_24_mha_proj_bias, layernorm_435_0, reshape_446_0, global_workspace_, 1, &reshape_444_0_dim_0, &reshape_444_0_dim_1, &encoder_layers_24_mha_proj_weight_dim_0, &encoder_layers_24_mha_proj_weight_dim_1, &reshape_444_0_dim_0, &encoder_layers_24_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_556_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_556(elementwise_447_0, elementwise_434_0,reshape_446_0, fused_elementwise_556_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_433_0_dim_0; M *= reshape_433_0_dim_1; int64_t N = 1; N *= reshape_433_0_dim_2; layernorm_3( layernorm_448_0, elementwise_447_0, encoder_layers_24_ln2_weight, encoder_layers_24_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_448_0, encoder_layers_24_mlp_fc1_weight, encoder_layers_24_mlp_fc1_bias, gemm_rcr_bias_gelu_449_0, global_workspace_, 1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &reshape_433_0_dim_2, &encoder_layers_24_mlp_fc1_weight_dim_0, &encoder_layers_24_mlp_fc1_weight_dim_1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &encoder_layers_24_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_449_0, encoder_layers_24_mlp_fc2_weight, encoder_layers_24_mlp_fc2_bias, reshape_451_0, global_workspace_, 1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &encoder_layers_24_mlp_fc1_weight_dim_0, &encoder_layers_24_mlp_fc2_weight_dim_0, &encoder_layers_24_mlp_fc2_weight_dim_1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &encoder_layers_24_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_557_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_557(elementwise_452_0, reshape_451_0,elementwise_434_0, fused_elementwise_557_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_451_0_dim_0; M *= reshape_451_0_dim_1; int64_t N = 1; N *= reshape_451_0_dim_2; layernorm_3( layernorm_453_0, elementwise_452_0, encoder_layers_25_ln1_weight, encoder_layers_25_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_453_0, encoder_layers_25_mha_qkv_weight, encoder_layers_25_mha_qkv_bias, reshape_456_0, global_workspace_, 1, &reshape_454_0_dim_0, &reshape_454_0_dim_1, &encoder_layers_25_mha_qkv_weight_dim_0, &encoder_layers_25_mha_qkv_weight_dim_1, &reshape_454_0_dim_0, &encoder_layers_25_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_457_0, split_457_1, split_457_2 }; int64_t *split_457_0_shape[] = { &split_457_0_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4 }; int64_t *split_457_1_shape[] = { &split_457_1_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4 }; int64_t *split_457_2_shape[] = { &split_457_2_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4 }; int64_t **output_shapes[] = { split_457_0_shape, split_457_1_shape, split_457_2_shape }; const int64_t reshape_456_0_shape[] = { reshape_456_0_dim_0, reshape_456_0_dim_1, reshape_456_0_dim_2, reshape_456_0_dim_3, reshape_456_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_456_0, reshape_456_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_457_0_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4, &reshape_458_0_dim_0, &reshape_458_0_dim_1, &reshape_458_0_dim_2, &reshape_458_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_457_1_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4, &reshape_459_0_dim_0, &reshape_459_0_dim_1, &reshape_459_0_dim_2, &reshape_459_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_457_2_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4, &reshape_460_0_dim_0, &reshape_460_0_dim_1, &reshape_460_0_dim_2, &reshape_460_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_461_0, reshape_458_0, reshape_459_0, reshape_460_0, &reshape_458_0_dim_0, &reshape_460_0_dim_2, &reshape_458_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_461_0, encoder_layers_25_mha_proj_weight, encoder_layers_25_mha_proj_bias, layernorm_453_0, reshape_464_0, global_workspace_, 1, &reshape_462_0_dim_0, &reshape_462_0_dim_1, &encoder_layers_25_mha_proj_weight_dim_0, &encoder_layers_25_mha_proj_weight_dim_1, &reshape_462_0_dim_0, &encoder_layers_25_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_558_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_558(elementwise_465_0, elementwise_452_0,reshape_464_0, fused_elementwise_558_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_451_0_dim_0; M *= reshape_451_0_dim_1; int64_t N = 1; N *= reshape_451_0_dim_2; layernorm_3( layernorm_466_0, elementwise_465_0, encoder_layers_25_ln2_weight, encoder_layers_25_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_466_0, encoder_layers_25_mlp_fc1_weight, encoder_layers_25_mlp_fc1_bias, gemm_rcr_bias_gelu_467_0, global_workspace_, 1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &reshape_451_0_dim_2, &encoder_layers_25_mlp_fc1_weight_dim_0, &encoder_layers_25_mlp_fc1_weight_dim_1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &encoder_layers_25_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_467_0, encoder_layers_25_mlp_fc2_weight, encoder_layers_25_mlp_fc2_bias, reshape_469_0, global_workspace_, 1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &encoder_layers_25_mlp_fc1_weight_dim_0, &encoder_layers_25_mlp_fc2_weight_dim_0, &encoder_layers_25_mlp_fc2_weight_dim_1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &encoder_layers_25_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_559_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_559(elementwise_470_0, reshape_469_0,elementwise_452_0, fused_elementwise_559_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_469_0_dim_0; M *= reshape_469_0_dim_1; int64_t N = 1; N *= reshape_469_0_dim_2; layernorm_3( layernorm_471_0, elementwise_470_0, encoder_layers_26_ln1_weight, encoder_layers_26_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_permute_5( layernorm_471_0, encoder_layers_26_mha_qkv_weight, encoder_layers_26_mha_qkv_bias, reshape_474_0, global_workspace_, 1, &reshape_472_0_dim_0, &reshape_472_0_dim_1, &encoder_layers_26_mha_qkv_weight_dim_0, &encoder_layers_26_mha_qkv_weight_dim_1, &reshape_472_0_dim_0, &encoder_layers_26_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_475_2, split_475_0, split_475_1 }; int64_t *split_475_2_shape[] = { &split_475_2_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4 }; int64_t *split_475_0_shape[] = { &split_475_0_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4 }; int64_t *split_475_1_shape[] = { &split_475_1_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4 }; int64_t **output_shapes[] = { split_475_2_shape, split_475_0_shape, split_475_1_shape }; const int64_t reshape_474_0_shape[] = { reshape_474_0_dim_0, reshape_474_0_dim_1, reshape_474_0_dim_2, reshape_474_0_dim_3, reshape_474_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_474_0, reshape_474_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_475_0_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4, &reshape_476_0_dim_0, &reshape_476_0_dim_1, &reshape_476_0_dim_2, &reshape_476_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_475_1_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4, &reshape_477_0_dim_0, &reshape_477_0_dim_1, &reshape_477_0_dim_2, &reshape_477_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_475_2_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4, &reshape_478_0_dim_0, &reshape_478_0_dim_1, &reshape_478_0_dim_2, &reshape_478_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_479_0, reshape_478_0, reshape_476_0, reshape_477_0, &reshape_478_0_dim_0, &reshape_477_0_dim_2, &reshape_478_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_479_0, encoder_layers_26_mha_proj_weight, encoder_layers_26_mha_proj_bias, layernorm_471_0, reshape_482_0, global_workspace_, 1, &reshape_480_0_dim_0, &reshape_480_0_dim_1, &encoder_layers_26_mha_proj_weight_dim_0, &encoder_layers_26_mha_proj_weight_dim_1, &reshape_480_0_dim_0, &encoder_layers_26_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_560_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_560(elementwise_483_0, elementwise_470_0,reshape_482_0, fused_elementwise_560_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_469_0_dim_0; M *= reshape_469_0_dim_1; int64_t N = 1; N *= reshape_469_0_dim_2; layernorm_3( layernorm_484_0, elementwise_483_0, encoder_layers_26_ln2_weight, encoder_layers_26_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_484_0, encoder_layers_26_mlp_fc1_weight, encoder_layers_26_mlp_fc1_bias, gemm_rcr_bias_gelu_485_0, global_workspace_, 1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &reshape_469_0_dim_2, &encoder_layers_26_mlp_fc1_weight_dim_0, &encoder_layers_26_mlp_fc1_weight_dim_1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &encoder_layers_26_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_485_0, encoder_layers_26_mlp_fc2_weight, encoder_layers_26_mlp_fc2_bias, reshape_487_0, global_workspace_, 1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &encoder_layers_26_mlp_fc1_weight_dim_0, &encoder_layers_26_mlp_fc2_weight_dim_0, &encoder_layers_26_mlp_fc2_weight_dim_1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &encoder_layers_26_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_561_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_561(elementwise_488_0, reshape_487_0,elementwise_470_0, fused_elementwise_561_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_487_0_dim_0; M *= reshape_487_0_dim_1; int64_t N = 1; N *= reshape_487_0_dim_2; layernorm_3( layernorm_489_0, elementwise_488_0, encoder_ln_weight, encoder_ln_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_13( mem_eff_attention_498_0, pool_mha_proj_weight, pool_mha_proj_bias, layernorm_489_0, reshape_501_0, global_workspace_, 1, &reshape_499_0_dim_0, &reshape_499_0_dim_1, &pool_mha_proj_weight_dim_0, &pool_mha_proj_weight_dim_1, &reshape_499_0_dim_0, &pool_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_501_0_dim_0; M *= reshape_501_0_dim_1; int64_t N = 1; N *= reshape_501_0_dim_2; layernorm_3( layernorm_502_0, reshape_501_0, pool_ln_weight, pool_ln_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_17( layernorm_502_0, pool_mlp_fc1_weight, pool_mlp_fc1_bias, gemm_rcr_bias_gelu_503_0, global_workspace_, 1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &reshape_501_0_dim_2, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc1_weight_dim_1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &pool_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_503_0, pool_mlp_fc2_weight, pool_mlp_fc2_bias, reshape_505_0, global_workspace_, 1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc2_weight_dim_0, &pool_mlp_fc2_weight_dim_1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &pool_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t fused_elementwise_562_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_562(output_0, reshape_501_0,reshape_505_0, fused_elementwise_562_n_elements, stream); } DeviceCheckLastError(__FILE__, __LINE__); } void ProfileImpl(StreamType stream, size_t iters, const std::string& filename) { #ifdef OPTIMIZE_FOR_COMPILATION_TIME throw std::runtime_error("Profile is disabled, please recompile without OPTIMIZE_FOR_COMPILE_TIME flag"); #else std::ofstream ss(filename); if (!ss) { throw std::runtime_error(std::string("Could not open file ") + filename); } int deviceId; char* L2CacheSlab = nullptr; DevicePropertyType deviceProperties; GetDevice(&deviceId); GetDeviceProperties(&deviceProperties, deviceId); const size_t L2SizeInBytes = deviceProperties.l2CacheSize; DeviceMalloc((void**) &L2CacheSlab, L2SizeInBytes); ss << "{\n"; { std::cout << "Profiling: " << "conv2d_bias_few_channels_0" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); conv2d_bias_few_channels_0( input0, patch_embed_proj_weight, conv2d_bias_few_channels_0_0, patch_embed_proj_bias, global_workspace_, &input0_dim_0, &patch_embed_proj_weight_dim_0, &input0_dim_3, &patch_embed_proj_weight_dim_1, &patch_embed_proj_weight_dim_2, &input0_dim_1, &input0_dim_2, &input0_dim_0, &conv2d_bias_few_channels_0_0_dim_1, &conv2d_bias_few_channels_0_0_dim_2, 14, 1, 0, 14, 1, 0, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "conv2d_bias_few_channels_0" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"384\", \"384\", \"3\"], [\"1152\", \"14\", \"14\", \"3\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"27\", \"27\", \"1152\"]]" << ", \"auto_padding\": " << "\"False\"" << ", \"dilate\": " << "\"1\"" << ", \"pad\": " << "\"0\"" << ", \"stride\": " << "\"14\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_507" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_507_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_507(elementwise_2_0, conv2d_bias_few_channels_0_0,pos_emb_pos_emb, fused_elementwise_507_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_507" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"1\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_3" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_1_0_dim_0; M *= reshape_1_0_dim_1; int64_t N = 1; N *= reshape_1_0_dim_2; layernorm_3( layernorm_3_0, elementwise_2_0, encoder_layers_0_ln1_weight, encoder_layers_0_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_3" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_5" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_3_0, encoder_layers_0_mha_qkv_weight, encoder_layers_0_mha_qkv_bias, reshape_6_0, global_workspace_, 1, &reshape_4_0_dim_0, &reshape_4_0_dim_1, &encoder_layers_0_mha_qkv_weight_dim_0, &encoder_layers_0_mha_qkv_weight_dim_1, &reshape_4_0_dim_0, &encoder_layers_0_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_5" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_7" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_7_1, split_7_2, split_7_0 }; int64_t *split_7_1_shape[] = { &split_7_1_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4 }; int64_t *split_7_2_shape[] = { &split_7_2_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4 }; int64_t *split_7_0_shape[] = { &split_7_0_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4 }; int64_t **output_shapes[] = { split_7_1_shape, split_7_2_shape, split_7_0_shape }; const int64_t reshape_6_0_shape[] = { reshape_6_0_dim_0, reshape_6_0_dim_1, reshape_6_0_dim_2, reshape_6_0_dim_3, reshape_6_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_6_0, reshape_6_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_7" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_8" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_7_0_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4, &reshape_8_0_dim_0, &reshape_8_0_dim_1, &reshape_8_0_dim_2, &reshape_8_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_8" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_9" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_7_1_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4, &reshape_9_0_dim_0, &reshape_9_0_dim_1, &reshape_9_0_dim_2, &reshape_9_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_9" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_10" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_7_2_dim_0, &reshape_6_0_dim_1, &reshape_6_0_dim_2, &reshape_6_0_dim_3, &reshape_6_0_dim_4, &reshape_10_0_dim_0, &reshape_10_0_dim_1, &reshape_10_0_dim_2, &reshape_10_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_10" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_11" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_11_0, reshape_9_0, reshape_10_0, reshape_8_0, &reshape_9_0_dim_0, &reshape_8_0_dim_2, &reshape_9_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_11" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_13" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_11_0, encoder_layers_0_mha_proj_weight, encoder_layers_0_mha_proj_bias, layernorm_3_0, reshape_14_0, global_workspace_, 1, &reshape_12_0_dim_0, &reshape_12_0_dim_1, &encoder_layers_0_mha_proj_weight_dim_0, &encoder_layers_0_mha_proj_weight_dim_1, &reshape_12_0_dim_0, &encoder_layers_0_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_13" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_508" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_508_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_508(elementwise_15_0, elementwise_2_0,reshape_14_0, fused_elementwise_508_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_508" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_16" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_1_0_dim_0; M *= reshape_1_0_dim_1; int64_t N = 1; N *= reshape_1_0_dim_2; layernorm_3( layernorm_16_0, elementwise_15_0, encoder_layers_0_ln2_weight, encoder_layers_0_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_16" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_17" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_16_0, encoder_layers_0_mlp_fc1_weight, encoder_layers_0_mlp_fc1_bias, gemm_rcr_bias_gelu_17_0, global_workspace_, 1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &reshape_1_0_dim_2, &encoder_layers_0_mlp_fc1_weight_dim_0, &encoder_layers_0_mlp_fc1_weight_dim_1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &encoder_layers_0_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_17" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_18" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_17_0, encoder_layers_0_mlp_fc2_weight, encoder_layers_0_mlp_fc2_bias, reshape_19_0, global_workspace_, 1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &encoder_layers_0_mlp_fc1_weight_dim_0, &encoder_layers_0_mlp_fc2_weight_dim_0, &encoder_layers_0_mlp_fc2_weight_dim_1, &reshape_1_0_dim_0, &reshape_1_0_dim_1, &encoder_layers_0_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_18" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_509" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_509_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_509(elementwise_20_0, reshape_19_0,elementwise_2_0, fused_elementwise_509_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_509" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_21" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_19_0_dim_0; M *= reshape_19_0_dim_1; int64_t N = 1; N *= reshape_19_0_dim_2; layernorm_3( layernorm_21_0, elementwise_20_0, encoder_layers_1_ln1_weight, encoder_layers_1_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_21" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_23" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_21_0, encoder_layers_1_mha_qkv_weight, encoder_layers_1_mha_qkv_bias, reshape_24_0, global_workspace_, 1, &reshape_22_0_dim_0, &reshape_22_0_dim_1, &encoder_layers_1_mha_qkv_weight_dim_0, &encoder_layers_1_mha_qkv_weight_dim_1, &reshape_22_0_dim_0, &encoder_layers_1_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_23" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_25" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_25_2, split_25_1, split_25_0 }; int64_t *split_25_2_shape[] = { &split_25_2_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4 }; int64_t *split_25_1_shape[] = { &split_25_1_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4 }; int64_t *split_25_0_shape[] = { &split_25_0_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4 }; int64_t **output_shapes[] = { split_25_2_shape, split_25_1_shape, split_25_0_shape }; const int64_t reshape_24_0_shape[] = { reshape_24_0_dim_0, reshape_24_0_dim_1, reshape_24_0_dim_2, reshape_24_0_dim_3, reshape_24_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_24_0, reshape_24_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_25" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_26" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_25_0_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4, &reshape_26_0_dim_0, &reshape_26_0_dim_1, &reshape_26_0_dim_2, &reshape_26_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_26" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_27" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_25_1_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4, &reshape_27_0_dim_0, &reshape_27_0_dim_1, &reshape_27_0_dim_2, &reshape_27_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_27" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_28" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_25_2_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3, &reshape_24_0_dim_4, &reshape_28_0_dim_0, &reshape_28_0_dim_1, &reshape_28_0_dim_2, &reshape_28_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_28" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_29" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_29_0, reshape_28_0, reshape_27_0, reshape_26_0, &reshape_28_0_dim_0, &reshape_26_0_dim_2, &reshape_28_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_29" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_31" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_29_0, encoder_layers_1_mha_proj_weight, encoder_layers_1_mha_proj_bias, layernorm_21_0, reshape_32_0, global_workspace_, 1, &reshape_30_0_dim_0, &reshape_30_0_dim_1, &encoder_layers_1_mha_proj_weight_dim_0, &encoder_layers_1_mha_proj_weight_dim_1, &reshape_30_0_dim_0, &encoder_layers_1_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_31" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_510" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_510_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_510(elementwise_33_0, elementwise_20_0,reshape_32_0, fused_elementwise_510_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_510" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_34" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_19_0_dim_0; M *= reshape_19_0_dim_1; int64_t N = 1; N *= reshape_19_0_dim_2; layernorm_3( layernorm_34_0, elementwise_33_0, encoder_layers_1_ln2_weight, encoder_layers_1_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_34" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_35" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_34_0, encoder_layers_1_mlp_fc1_weight, encoder_layers_1_mlp_fc1_bias, gemm_rcr_bias_gelu_35_0, global_workspace_, 1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &reshape_19_0_dim_2, &encoder_layers_1_mlp_fc1_weight_dim_0, &encoder_layers_1_mlp_fc1_weight_dim_1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_35" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_36" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_35_0, encoder_layers_1_mlp_fc2_weight, encoder_layers_1_mlp_fc2_bias, reshape_37_0, global_workspace_, 1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mlp_fc1_weight_dim_0, &encoder_layers_1_mlp_fc2_weight_dim_0, &encoder_layers_1_mlp_fc2_weight_dim_1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_36" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_511" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_511_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_511(elementwise_38_0, reshape_37_0,elementwise_20_0, fused_elementwise_511_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_511" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_39" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_37_0_dim_0; M *= reshape_37_0_dim_1; int64_t N = 1; N *= reshape_37_0_dim_2; layernorm_3( layernorm_39_0, elementwise_38_0, encoder_layers_2_ln1_weight, encoder_layers_2_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_39" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_41" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_39_0, encoder_layers_2_mha_qkv_weight, encoder_layers_2_mha_qkv_bias, reshape_42_0, global_workspace_, 1, &reshape_40_0_dim_0, &reshape_40_0_dim_1, &encoder_layers_2_mha_qkv_weight_dim_0, &encoder_layers_2_mha_qkv_weight_dim_1, &reshape_40_0_dim_0, &encoder_layers_2_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_41" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_43" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_43_0, split_43_2, split_43_1 }; int64_t *split_43_0_shape[] = { &split_43_0_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4 }; int64_t *split_43_2_shape[] = { &split_43_2_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4 }; int64_t *split_43_1_shape[] = { &split_43_1_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4 }; int64_t **output_shapes[] = { split_43_0_shape, split_43_2_shape, split_43_1_shape }; const int64_t reshape_42_0_shape[] = { reshape_42_0_dim_0, reshape_42_0_dim_1, reshape_42_0_dim_2, reshape_42_0_dim_3, reshape_42_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_42_0, reshape_42_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_43" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_44" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_43_0_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4, &reshape_44_0_dim_0, &reshape_44_0_dim_1, &reshape_44_0_dim_2, &reshape_44_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_44" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_45" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_43_1_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4, &reshape_45_0_dim_0, &reshape_45_0_dim_1, &reshape_45_0_dim_2, &reshape_45_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_45" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_46" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_43_2_dim_0, &reshape_42_0_dim_1, &reshape_42_0_dim_2, &reshape_42_0_dim_3, &reshape_42_0_dim_4, &reshape_46_0_dim_0, &reshape_46_0_dim_1, &reshape_46_0_dim_2, &reshape_46_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_46" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_47" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_47_0, reshape_44_0, reshape_46_0, reshape_45_0, &reshape_44_0_dim_0, &reshape_45_0_dim_2, &reshape_44_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_47" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_49" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_47_0, encoder_layers_2_mha_proj_weight, encoder_layers_2_mha_proj_bias, layernorm_39_0, reshape_50_0, global_workspace_, 1, &reshape_48_0_dim_0, &reshape_48_0_dim_1, &encoder_layers_2_mha_proj_weight_dim_0, &encoder_layers_2_mha_proj_weight_dim_1, &reshape_48_0_dim_0, &encoder_layers_2_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_49" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_512" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_512_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_512(elementwise_51_0, elementwise_38_0,reshape_50_0, fused_elementwise_512_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_512" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_52" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_37_0_dim_0; M *= reshape_37_0_dim_1; int64_t N = 1; N *= reshape_37_0_dim_2; layernorm_3( layernorm_52_0, elementwise_51_0, encoder_layers_2_ln2_weight, encoder_layers_2_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_52" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_53" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_52_0, encoder_layers_2_mlp_fc1_weight, encoder_layers_2_mlp_fc1_bias, gemm_rcr_bias_gelu_53_0, global_workspace_, 1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &reshape_37_0_dim_2, &encoder_layers_2_mlp_fc1_weight_dim_0, &encoder_layers_2_mlp_fc1_weight_dim_1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &encoder_layers_2_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_53" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_54" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_53_0, encoder_layers_2_mlp_fc2_weight, encoder_layers_2_mlp_fc2_bias, reshape_55_0, global_workspace_, 1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &encoder_layers_2_mlp_fc1_weight_dim_0, &encoder_layers_2_mlp_fc2_weight_dim_0, &encoder_layers_2_mlp_fc2_weight_dim_1, &reshape_37_0_dim_0, &reshape_37_0_dim_1, &encoder_layers_2_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_54" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_513" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_513_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_513(elementwise_56_0, reshape_55_0,elementwise_38_0, fused_elementwise_513_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_513" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_57" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_55_0_dim_0; M *= reshape_55_0_dim_1; int64_t N = 1; N *= reshape_55_0_dim_2; layernorm_3( layernorm_57_0, elementwise_56_0, encoder_layers_3_ln1_weight, encoder_layers_3_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_57" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_59" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_57_0, encoder_layers_3_mha_qkv_weight, encoder_layers_3_mha_qkv_bias, reshape_60_0, global_workspace_, 1, &reshape_58_0_dim_0, &reshape_58_0_dim_1, &encoder_layers_3_mha_qkv_weight_dim_0, &encoder_layers_3_mha_qkv_weight_dim_1, &reshape_58_0_dim_0, &encoder_layers_3_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_59" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_61" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_61_0, split_61_1, split_61_2 }; int64_t *split_61_0_shape[] = { &split_61_0_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4 }; int64_t *split_61_1_shape[] = { &split_61_1_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4 }; int64_t *split_61_2_shape[] = { &split_61_2_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4 }; int64_t **output_shapes[] = { split_61_0_shape, split_61_1_shape, split_61_2_shape }; const int64_t reshape_60_0_shape[] = { reshape_60_0_dim_0, reshape_60_0_dim_1, reshape_60_0_dim_2, reshape_60_0_dim_3, reshape_60_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_60_0, reshape_60_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_61" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_62" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_61_0_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4, &reshape_62_0_dim_0, &reshape_62_0_dim_1, &reshape_62_0_dim_2, &reshape_62_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_62" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_63" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_61_1_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4, &reshape_63_0_dim_0, &reshape_63_0_dim_1, &reshape_63_0_dim_2, &reshape_63_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_63" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_64" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_61_2_dim_0, &reshape_60_0_dim_1, &reshape_60_0_dim_2, &reshape_60_0_dim_3, &reshape_60_0_dim_4, &reshape_64_0_dim_0, &reshape_64_0_dim_1, &reshape_64_0_dim_2, &reshape_64_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_64" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_65" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_65_0, reshape_62_0, reshape_63_0, reshape_64_0, &reshape_62_0_dim_0, &reshape_64_0_dim_2, &reshape_62_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_65" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_67" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_65_0, encoder_layers_3_mha_proj_weight, encoder_layers_3_mha_proj_bias, layernorm_57_0, reshape_68_0, global_workspace_, 1, &reshape_66_0_dim_0, &reshape_66_0_dim_1, &encoder_layers_3_mha_proj_weight_dim_0, &encoder_layers_3_mha_proj_weight_dim_1, &reshape_66_0_dim_0, &encoder_layers_3_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_67" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_514" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_514_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_514(elementwise_69_0, elementwise_56_0,reshape_68_0, fused_elementwise_514_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_514" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_70" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_55_0_dim_0; M *= reshape_55_0_dim_1; int64_t N = 1; N *= reshape_55_0_dim_2; layernorm_3( layernorm_70_0, elementwise_69_0, encoder_layers_3_ln2_weight, encoder_layers_3_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_70" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_71" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_70_0, encoder_layers_3_mlp_fc1_weight, encoder_layers_3_mlp_fc1_bias, gemm_rcr_bias_gelu_71_0, global_workspace_, 1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &reshape_55_0_dim_2, &encoder_layers_3_mlp_fc1_weight_dim_0, &encoder_layers_3_mlp_fc1_weight_dim_1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &encoder_layers_3_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_71" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_72" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_71_0, encoder_layers_3_mlp_fc2_weight, encoder_layers_3_mlp_fc2_bias, reshape_73_0, global_workspace_, 1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &encoder_layers_3_mlp_fc1_weight_dim_0, &encoder_layers_3_mlp_fc2_weight_dim_0, &encoder_layers_3_mlp_fc2_weight_dim_1, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &encoder_layers_3_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_72" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_515" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_515_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_515(elementwise_74_0, reshape_73_0,elementwise_56_0, fused_elementwise_515_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_515" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_75" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_73_0_dim_0; M *= reshape_73_0_dim_1; int64_t N = 1; N *= reshape_73_0_dim_2; layernorm_3( layernorm_75_0, elementwise_74_0, encoder_layers_4_ln1_weight, encoder_layers_4_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_75" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_77" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_75_0, encoder_layers_4_mha_qkv_weight, encoder_layers_4_mha_qkv_bias, reshape_78_0, global_workspace_, 1, &reshape_76_0_dim_0, &reshape_76_0_dim_1, &encoder_layers_4_mha_qkv_weight_dim_0, &encoder_layers_4_mha_qkv_weight_dim_1, &reshape_76_0_dim_0, &encoder_layers_4_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_77" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_79" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_79_1, split_79_0, split_79_2 }; int64_t *split_79_1_shape[] = { &split_79_1_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4 }; int64_t *split_79_0_shape[] = { &split_79_0_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4 }; int64_t *split_79_2_shape[] = { &split_79_2_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4 }; int64_t **output_shapes[] = { split_79_1_shape, split_79_0_shape, split_79_2_shape }; const int64_t reshape_78_0_shape[] = { reshape_78_0_dim_0, reshape_78_0_dim_1, reshape_78_0_dim_2, reshape_78_0_dim_3, reshape_78_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_78_0, reshape_78_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_79" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_80" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_79_0_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4, &reshape_80_0_dim_0, &reshape_80_0_dim_1, &reshape_80_0_dim_2, &reshape_80_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_80" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_81" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_79_1_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4, &reshape_81_0_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_81" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_82" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_79_2_dim_0, &reshape_78_0_dim_1, &reshape_78_0_dim_2, &reshape_78_0_dim_3, &reshape_78_0_dim_4, &reshape_82_0_dim_0, &reshape_82_0_dim_1, &reshape_82_0_dim_2, &reshape_82_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_82" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_83" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_83_0, reshape_81_0, reshape_80_0, reshape_82_0, &reshape_81_0_dim_0, &reshape_82_0_dim_2, &reshape_81_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_83" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_85" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_83_0, encoder_layers_4_mha_proj_weight, encoder_layers_4_mha_proj_bias, layernorm_75_0, reshape_86_0, global_workspace_, 1, &reshape_84_0_dim_0, &reshape_84_0_dim_1, &encoder_layers_4_mha_proj_weight_dim_0, &encoder_layers_4_mha_proj_weight_dim_1, &reshape_84_0_dim_0, &encoder_layers_4_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_85" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_516" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_516_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_516(elementwise_87_0, elementwise_74_0,reshape_86_0, fused_elementwise_516_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_516" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_88" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_73_0_dim_0; M *= reshape_73_0_dim_1; int64_t N = 1; N *= reshape_73_0_dim_2; layernorm_3( layernorm_88_0, elementwise_87_0, encoder_layers_4_ln2_weight, encoder_layers_4_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_88" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_89" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_88_0, encoder_layers_4_mlp_fc1_weight, encoder_layers_4_mlp_fc1_bias, gemm_rcr_bias_gelu_89_0, global_workspace_, 1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &reshape_73_0_dim_2, &encoder_layers_4_mlp_fc1_weight_dim_0, &encoder_layers_4_mlp_fc1_weight_dim_1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &encoder_layers_4_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_89" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_90" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_89_0, encoder_layers_4_mlp_fc2_weight, encoder_layers_4_mlp_fc2_bias, reshape_91_0, global_workspace_, 1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &encoder_layers_4_mlp_fc1_weight_dim_0, &encoder_layers_4_mlp_fc2_weight_dim_0, &encoder_layers_4_mlp_fc2_weight_dim_1, &reshape_73_0_dim_0, &reshape_73_0_dim_1, &encoder_layers_4_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_90" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_517" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_517_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_517(elementwise_92_0, reshape_91_0,elementwise_74_0, fused_elementwise_517_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_517" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_93" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_91_0_dim_0; M *= reshape_91_0_dim_1; int64_t N = 1; N *= reshape_91_0_dim_2; layernorm_3( layernorm_93_0, elementwise_92_0, encoder_layers_5_ln1_weight, encoder_layers_5_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_93" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_95" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_93_0, encoder_layers_5_mha_qkv_weight, encoder_layers_5_mha_qkv_bias, reshape_96_0, global_workspace_, 1, &reshape_94_0_dim_0, &reshape_94_0_dim_1, &encoder_layers_5_mha_qkv_weight_dim_0, &encoder_layers_5_mha_qkv_weight_dim_1, &reshape_94_0_dim_0, &encoder_layers_5_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_95" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_97" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_97_1, split_97_0, split_97_2 }; int64_t *split_97_1_shape[] = { &split_97_1_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4 }; int64_t *split_97_0_shape[] = { &split_97_0_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4 }; int64_t *split_97_2_shape[] = { &split_97_2_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4 }; int64_t **output_shapes[] = { split_97_1_shape, split_97_0_shape, split_97_2_shape }; const int64_t reshape_96_0_shape[] = { reshape_96_0_dim_0, reshape_96_0_dim_1, reshape_96_0_dim_2, reshape_96_0_dim_3, reshape_96_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_96_0, reshape_96_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_97" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_98" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_97_0_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4, &reshape_98_0_dim_0, &reshape_98_0_dim_1, &reshape_98_0_dim_2, &reshape_98_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_98" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_99" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_97_1_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4, &reshape_99_0_dim_0, &reshape_99_0_dim_1, &reshape_99_0_dim_2, &reshape_99_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_99" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_100" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_97_2_dim_0, &reshape_96_0_dim_1, &reshape_96_0_dim_2, &reshape_96_0_dim_3, &reshape_96_0_dim_4, &reshape_100_0_dim_0, &reshape_100_0_dim_1, &reshape_100_0_dim_2, &reshape_100_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_100" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_101" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_101_0, reshape_99_0, reshape_98_0, reshape_100_0, &reshape_99_0_dim_0, &reshape_100_0_dim_2, &reshape_99_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_101" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_103" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_101_0, encoder_layers_5_mha_proj_weight, encoder_layers_5_mha_proj_bias, layernorm_93_0, reshape_104_0, global_workspace_, 1, &reshape_102_0_dim_0, &reshape_102_0_dim_1, &encoder_layers_5_mha_proj_weight_dim_0, &encoder_layers_5_mha_proj_weight_dim_1, &reshape_102_0_dim_0, &encoder_layers_5_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_103" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_518" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_518_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_518(elementwise_105_0, elementwise_92_0,reshape_104_0, fused_elementwise_518_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_518" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_106" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_91_0_dim_0; M *= reshape_91_0_dim_1; int64_t N = 1; N *= reshape_91_0_dim_2; layernorm_3( layernorm_106_0, elementwise_105_0, encoder_layers_5_ln2_weight, encoder_layers_5_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_106" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_107" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_106_0, encoder_layers_5_mlp_fc1_weight, encoder_layers_5_mlp_fc1_bias, gemm_rcr_bias_gelu_107_0, global_workspace_, 1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &reshape_91_0_dim_2, &encoder_layers_5_mlp_fc1_weight_dim_0, &encoder_layers_5_mlp_fc1_weight_dim_1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &encoder_layers_5_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_107" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_108" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_107_0, encoder_layers_5_mlp_fc2_weight, encoder_layers_5_mlp_fc2_bias, reshape_109_0, global_workspace_, 1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &encoder_layers_5_mlp_fc1_weight_dim_0, &encoder_layers_5_mlp_fc2_weight_dim_0, &encoder_layers_5_mlp_fc2_weight_dim_1, &reshape_91_0_dim_0, &reshape_91_0_dim_1, &encoder_layers_5_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_108" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_519" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_519_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_519(elementwise_110_0, reshape_109_0,elementwise_92_0, fused_elementwise_519_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_519" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_111" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_109_0_dim_0; M *= reshape_109_0_dim_1; int64_t N = 1; N *= reshape_109_0_dim_2; layernorm_3( layernorm_111_0, elementwise_110_0, encoder_layers_6_ln1_weight, encoder_layers_6_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_111" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_113" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_111_0, encoder_layers_6_mha_qkv_weight, encoder_layers_6_mha_qkv_bias, reshape_114_0, global_workspace_, 1, &reshape_112_0_dim_0, &reshape_112_0_dim_1, &encoder_layers_6_mha_qkv_weight_dim_0, &encoder_layers_6_mha_qkv_weight_dim_1, &reshape_112_0_dim_0, &encoder_layers_6_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_113" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_115" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_115_2, split_115_0, split_115_1 }; int64_t *split_115_2_shape[] = { &split_115_2_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4 }; int64_t *split_115_0_shape[] = { &split_115_0_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4 }; int64_t *split_115_1_shape[] = { &split_115_1_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4 }; int64_t **output_shapes[] = { split_115_2_shape, split_115_0_shape, split_115_1_shape }; const int64_t reshape_114_0_shape[] = { reshape_114_0_dim_0, reshape_114_0_dim_1, reshape_114_0_dim_2, reshape_114_0_dim_3, reshape_114_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_114_0, reshape_114_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_115" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_116" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_115_0_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4, &reshape_116_0_dim_0, &reshape_116_0_dim_1, &reshape_116_0_dim_2, &reshape_116_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_116" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_117" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_115_1_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4, &reshape_117_0_dim_0, &reshape_117_0_dim_1, &reshape_117_0_dim_2, &reshape_117_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_117" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_118" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_115_2_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3, &reshape_114_0_dim_4, &reshape_118_0_dim_0, &reshape_118_0_dim_1, &reshape_118_0_dim_2, &reshape_118_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_118" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_119" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_119_0, reshape_118_0, reshape_116_0, reshape_117_0, &reshape_118_0_dim_0, &reshape_117_0_dim_2, &reshape_118_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_119" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_121" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_119_0, encoder_layers_6_mha_proj_weight, encoder_layers_6_mha_proj_bias, layernorm_111_0, reshape_122_0, global_workspace_, 1, &reshape_120_0_dim_0, &reshape_120_0_dim_1, &encoder_layers_6_mha_proj_weight_dim_0, &encoder_layers_6_mha_proj_weight_dim_1, &reshape_120_0_dim_0, &encoder_layers_6_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_121" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_520" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_520_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_520(elementwise_123_0, elementwise_110_0,reshape_122_0, fused_elementwise_520_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_520" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_124" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_109_0_dim_0; M *= reshape_109_0_dim_1; int64_t N = 1; N *= reshape_109_0_dim_2; layernorm_3( layernorm_124_0, elementwise_123_0, encoder_layers_6_ln2_weight, encoder_layers_6_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_124" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_125" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_124_0, encoder_layers_6_mlp_fc1_weight, encoder_layers_6_mlp_fc1_bias, gemm_rcr_bias_gelu_125_0, global_workspace_, 1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &reshape_109_0_dim_2, &encoder_layers_6_mlp_fc1_weight_dim_0, &encoder_layers_6_mlp_fc1_weight_dim_1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_6_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_125" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_126" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_125_0, encoder_layers_6_mlp_fc2_weight, encoder_layers_6_mlp_fc2_bias, reshape_127_0, global_workspace_, 1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_6_mlp_fc1_weight_dim_0, &encoder_layers_6_mlp_fc2_weight_dim_0, &encoder_layers_6_mlp_fc2_weight_dim_1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_6_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_126" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_521" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_521_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_521(elementwise_128_0, reshape_127_0,elementwise_110_0, fused_elementwise_521_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_521" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_129" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_127_0_dim_0; M *= reshape_127_0_dim_1; int64_t N = 1; N *= reshape_127_0_dim_2; layernorm_3( layernorm_129_0, elementwise_128_0, encoder_layers_7_ln1_weight, encoder_layers_7_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_129" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_131" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_129_0, encoder_layers_7_mha_qkv_weight, encoder_layers_7_mha_qkv_bias, reshape_132_0, global_workspace_, 1, &reshape_130_0_dim_0, &reshape_130_0_dim_1, &encoder_layers_7_mha_qkv_weight_dim_0, &encoder_layers_7_mha_qkv_weight_dim_1, &reshape_130_0_dim_0, &encoder_layers_7_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_131" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_133" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_133_2, split_133_0, split_133_1 }; int64_t *split_133_2_shape[] = { &split_133_2_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4 }; int64_t *split_133_0_shape[] = { &split_133_0_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4 }; int64_t *split_133_1_shape[] = { &split_133_1_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4 }; int64_t **output_shapes[] = { split_133_2_shape, split_133_0_shape, split_133_1_shape }; const int64_t reshape_132_0_shape[] = { reshape_132_0_dim_0, reshape_132_0_dim_1, reshape_132_0_dim_2, reshape_132_0_dim_3, reshape_132_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_132_0, reshape_132_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_133" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_134" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_133_0_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4, &reshape_134_0_dim_0, &reshape_134_0_dim_1, &reshape_134_0_dim_2, &reshape_134_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_134" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_135" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_133_1_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4, &reshape_135_0_dim_0, &reshape_135_0_dim_1, &reshape_135_0_dim_2, &reshape_135_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_135" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_136" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_133_2_dim_0, &reshape_132_0_dim_1, &reshape_132_0_dim_2, &reshape_132_0_dim_3, &reshape_132_0_dim_4, &reshape_136_0_dim_0, &reshape_136_0_dim_1, &reshape_136_0_dim_2, &reshape_136_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_136" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_137" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_137_0, reshape_136_0, reshape_134_0, reshape_135_0, &reshape_136_0_dim_0, &reshape_135_0_dim_2, &reshape_136_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_137" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_139" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_137_0, encoder_layers_7_mha_proj_weight, encoder_layers_7_mha_proj_bias, layernorm_129_0, reshape_140_0, global_workspace_, 1, &reshape_138_0_dim_0, &reshape_138_0_dim_1, &encoder_layers_7_mha_proj_weight_dim_0, &encoder_layers_7_mha_proj_weight_dim_1, &reshape_138_0_dim_0, &encoder_layers_7_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_139" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_522" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_522_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_522(elementwise_141_0, elementwise_128_0,reshape_140_0, fused_elementwise_522_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_522" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_142" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_127_0_dim_0; M *= reshape_127_0_dim_1; int64_t N = 1; N *= reshape_127_0_dim_2; layernorm_3( layernorm_142_0, elementwise_141_0, encoder_layers_7_ln2_weight, encoder_layers_7_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_142" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_143" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_142_0, encoder_layers_7_mlp_fc1_weight, encoder_layers_7_mlp_fc1_bias, gemm_rcr_bias_gelu_143_0, global_workspace_, 1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &reshape_127_0_dim_2, &encoder_layers_7_mlp_fc1_weight_dim_0, &encoder_layers_7_mlp_fc1_weight_dim_1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &encoder_layers_7_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_143" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_144" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_143_0, encoder_layers_7_mlp_fc2_weight, encoder_layers_7_mlp_fc2_bias, reshape_145_0, global_workspace_, 1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &encoder_layers_7_mlp_fc1_weight_dim_0, &encoder_layers_7_mlp_fc2_weight_dim_0, &encoder_layers_7_mlp_fc2_weight_dim_1, &reshape_127_0_dim_0, &reshape_127_0_dim_1, &encoder_layers_7_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_144" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_523" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_523_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_523(elementwise_146_0, reshape_145_0,elementwise_128_0, fused_elementwise_523_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_523" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_147" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_145_0_dim_0; M *= reshape_145_0_dim_1; int64_t N = 1; N *= reshape_145_0_dim_2; layernorm_3( layernorm_147_0, elementwise_146_0, encoder_layers_8_ln1_weight, encoder_layers_8_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_147" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_149" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_147_0, encoder_layers_8_mha_qkv_weight, encoder_layers_8_mha_qkv_bias, reshape_150_0, global_workspace_, 1, &reshape_148_0_dim_0, &reshape_148_0_dim_1, &encoder_layers_8_mha_qkv_weight_dim_0, &encoder_layers_8_mha_qkv_weight_dim_1, &reshape_148_0_dim_0, &encoder_layers_8_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_149" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_151" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_151_0, split_151_1, split_151_2 }; int64_t *split_151_0_shape[] = { &split_151_0_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4 }; int64_t *split_151_1_shape[] = { &split_151_1_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4 }; int64_t *split_151_2_shape[] = { &split_151_2_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4 }; int64_t **output_shapes[] = { split_151_0_shape, split_151_1_shape, split_151_2_shape }; const int64_t reshape_150_0_shape[] = { reshape_150_0_dim_0, reshape_150_0_dim_1, reshape_150_0_dim_2, reshape_150_0_dim_3, reshape_150_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_150_0, reshape_150_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_151" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_152" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_151_0_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4, &reshape_152_0_dim_0, &reshape_152_0_dim_1, &reshape_152_0_dim_2, &reshape_152_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_152" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_153" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_151_1_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4, &reshape_153_0_dim_0, &reshape_153_0_dim_1, &reshape_153_0_dim_2, &reshape_153_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_153" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_154" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_151_2_dim_0, &reshape_150_0_dim_1, &reshape_150_0_dim_2, &reshape_150_0_dim_3, &reshape_150_0_dim_4, &reshape_154_0_dim_0, &reshape_154_0_dim_1, &reshape_154_0_dim_2, &reshape_154_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_154" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_155" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_155_0, reshape_152_0, reshape_153_0, reshape_154_0, &reshape_152_0_dim_0, &reshape_154_0_dim_2, &reshape_152_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_155" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_157" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_155_0, encoder_layers_8_mha_proj_weight, encoder_layers_8_mha_proj_bias, layernorm_147_0, reshape_158_0, global_workspace_, 1, &reshape_156_0_dim_0, &reshape_156_0_dim_1, &encoder_layers_8_mha_proj_weight_dim_0, &encoder_layers_8_mha_proj_weight_dim_1, &reshape_156_0_dim_0, &encoder_layers_8_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_157" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_524" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_524_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_524(elementwise_159_0, elementwise_146_0,reshape_158_0, fused_elementwise_524_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_524" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_160" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_145_0_dim_0; M *= reshape_145_0_dim_1; int64_t N = 1; N *= reshape_145_0_dim_2; layernorm_3( layernorm_160_0, elementwise_159_0, encoder_layers_8_ln2_weight, encoder_layers_8_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_160" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_161" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_160_0, encoder_layers_8_mlp_fc1_weight, encoder_layers_8_mlp_fc1_bias, gemm_rcr_bias_gelu_161_0, global_workspace_, 1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &reshape_145_0_dim_2, &encoder_layers_8_mlp_fc1_weight_dim_0, &encoder_layers_8_mlp_fc1_weight_dim_1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &encoder_layers_8_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_161" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_162" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_161_0, encoder_layers_8_mlp_fc2_weight, encoder_layers_8_mlp_fc2_bias, reshape_163_0, global_workspace_, 1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &encoder_layers_8_mlp_fc1_weight_dim_0, &encoder_layers_8_mlp_fc2_weight_dim_0, &encoder_layers_8_mlp_fc2_weight_dim_1, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &encoder_layers_8_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_162" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_525" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_525_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_525(elementwise_164_0, reshape_163_0,elementwise_146_0, fused_elementwise_525_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_525" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_165" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_163_0_dim_0; M *= reshape_163_0_dim_1; int64_t N = 1; N *= reshape_163_0_dim_2; layernorm_3( layernorm_165_0, elementwise_164_0, encoder_layers_9_ln1_weight, encoder_layers_9_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_165" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_167" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_165_0, encoder_layers_9_mha_qkv_weight, encoder_layers_9_mha_qkv_bias, reshape_168_0, global_workspace_, 1, &reshape_166_0_dim_0, &reshape_166_0_dim_1, &encoder_layers_9_mha_qkv_weight_dim_0, &encoder_layers_9_mha_qkv_weight_dim_1, &reshape_166_0_dim_0, &encoder_layers_9_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_167" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_169" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_169_0, split_169_1, split_169_2 }; int64_t *split_169_0_shape[] = { &split_169_0_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4 }; int64_t *split_169_1_shape[] = { &split_169_1_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4 }; int64_t *split_169_2_shape[] = { &split_169_2_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4 }; int64_t **output_shapes[] = { split_169_0_shape, split_169_1_shape, split_169_2_shape }; const int64_t reshape_168_0_shape[] = { reshape_168_0_dim_0, reshape_168_0_dim_1, reshape_168_0_dim_2, reshape_168_0_dim_3, reshape_168_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_168_0, reshape_168_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_169" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_170" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_169_0_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4, &reshape_170_0_dim_0, &reshape_170_0_dim_1, &reshape_170_0_dim_2, &reshape_170_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_170" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_171" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_169_1_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4, &reshape_171_0_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_171" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_172" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_169_2_dim_0, &reshape_168_0_dim_1, &reshape_168_0_dim_2, &reshape_168_0_dim_3, &reshape_168_0_dim_4, &reshape_172_0_dim_0, &reshape_172_0_dim_1, &reshape_172_0_dim_2, &reshape_172_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_172" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_173" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_173_0, reshape_170_0, reshape_171_0, reshape_172_0, &reshape_170_0_dim_0, &reshape_172_0_dim_2, &reshape_170_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_173" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_175" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_173_0, encoder_layers_9_mha_proj_weight, encoder_layers_9_mha_proj_bias, layernorm_165_0, reshape_176_0, global_workspace_, 1, &reshape_174_0_dim_0, &reshape_174_0_dim_1, &encoder_layers_9_mha_proj_weight_dim_0, &encoder_layers_9_mha_proj_weight_dim_1, &reshape_174_0_dim_0, &encoder_layers_9_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_175" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_526" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_526_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_526(elementwise_177_0, elementwise_164_0,reshape_176_0, fused_elementwise_526_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_526" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_178" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_163_0_dim_0; M *= reshape_163_0_dim_1; int64_t N = 1; N *= reshape_163_0_dim_2; layernorm_3( layernorm_178_0, elementwise_177_0, encoder_layers_9_ln2_weight, encoder_layers_9_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_178" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_179" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_178_0, encoder_layers_9_mlp_fc1_weight, encoder_layers_9_mlp_fc1_bias, gemm_rcr_bias_gelu_179_0, global_workspace_, 1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &reshape_163_0_dim_2, &encoder_layers_9_mlp_fc1_weight_dim_0, &encoder_layers_9_mlp_fc1_weight_dim_1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &encoder_layers_9_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_179" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_180" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_179_0, encoder_layers_9_mlp_fc2_weight, encoder_layers_9_mlp_fc2_bias, reshape_181_0, global_workspace_, 1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &encoder_layers_9_mlp_fc1_weight_dim_0, &encoder_layers_9_mlp_fc2_weight_dim_0, &encoder_layers_9_mlp_fc2_weight_dim_1, &reshape_163_0_dim_0, &reshape_163_0_dim_1, &encoder_layers_9_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_180" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_527" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_527_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_527(elementwise_182_0, reshape_181_0,elementwise_164_0, fused_elementwise_527_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_527" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_183" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_181_0_dim_0; M *= reshape_181_0_dim_1; int64_t N = 1; N *= reshape_181_0_dim_2; layernorm_3( layernorm_183_0, elementwise_182_0, encoder_layers_10_ln1_weight, encoder_layers_10_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_183" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_185" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_183_0, encoder_layers_10_mha_qkv_weight, encoder_layers_10_mha_qkv_bias, reshape_186_0, global_workspace_, 1, &reshape_184_0_dim_0, &reshape_184_0_dim_1, &encoder_layers_10_mha_qkv_weight_dim_0, &encoder_layers_10_mha_qkv_weight_dim_1, &reshape_184_0_dim_0, &encoder_layers_10_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_185" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_187" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_187_1, split_187_2, split_187_0 }; int64_t *split_187_1_shape[] = { &split_187_1_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4 }; int64_t *split_187_2_shape[] = { &split_187_2_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4 }; int64_t *split_187_0_shape[] = { &split_187_0_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4 }; int64_t **output_shapes[] = { split_187_1_shape, split_187_2_shape, split_187_0_shape }; const int64_t reshape_186_0_shape[] = { reshape_186_0_dim_0, reshape_186_0_dim_1, reshape_186_0_dim_2, reshape_186_0_dim_3, reshape_186_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_186_0, reshape_186_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_187" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_188" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_187_0_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4, &reshape_188_0_dim_0, &reshape_188_0_dim_1, &reshape_188_0_dim_2, &reshape_188_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_188" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_189" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_187_1_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4, &reshape_189_0_dim_0, &reshape_189_0_dim_1, &reshape_189_0_dim_2, &reshape_189_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_189" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_190" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_187_2_dim_0, &reshape_186_0_dim_1, &reshape_186_0_dim_2, &reshape_186_0_dim_3, &reshape_186_0_dim_4, &reshape_190_0_dim_0, &reshape_190_0_dim_1, &reshape_190_0_dim_2, &reshape_190_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_190" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_191" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_191_0, reshape_189_0, reshape_190_0, reshape_188_0, &reshape_189_0_dim_0, &reshape_188_0_dim_2, &reshape_189_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_191" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_193" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_191_0, encoder_layers_10_mha_proj_weight, encoder_layers_10_mha_proj_bias, layernorm_183_0, reshape_194_0, global_workspace_, 1, &reshape_192_0_dim_0, &reshape_192_0_dim_1, &encoder_layers_10_mha_proj_weight_dim_0, &encoder_layers_10_mha_proj_weight_dim_1, &reshape_192_0_dim_0, &encoder_layers_10_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_193" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_528" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_528_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_528(elementwise_195_0, elementwise_182_0,reshape_194_0, fused_elementwise_528_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_528" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_196" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_181_0_dim_0; M *= reshape_181_0_dim_1; int64_t N = 1; N *= reshape_181_0_dim_2; layernorm_3( layernorm_196_0, elementwise_195_0, encoder_layers_10_ln2_weight, encoder_layers_10_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_196" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_197" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_196_0, encoder_layers_10_mlp_fc1_weight, encoder_layers_10_mlp_fc1_bias, gemm_rcr_bias_gelu_197_0, global_workspace_, 1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &reshape_181_0_dim_2, &encoder_layers_10_mlp_fc1_weight_dim_0, &encoder_layers_10_mlp_fc1_weight_dim_1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &encoder_layers_10_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_197" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_198" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_197_0, encoder_layers_10_mlp_fc2_weight, encoder_layers_10_mlp_fc2_bias, reshape_199_0, global_workspace_, 1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &encoder_layers_10_mlp_fc1_weight_dim_0, &encoder_layers_10_mlp_fc2_weight_dim_0, &encoder_layers_10_mlp_fc2_weight_dim_1, &reshape_181_0_dim_0, &reshape_181_0_dim_1, &encoder_layers_10_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_198" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_529" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_529_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_529(elementwise_200_0, reshape_199_0,elementwise_182_0, fused_elementwise_529_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_529" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_201" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_199_0_dim_0; M *= reshape_199_0_dim_1; int64_t N = 1; N *= reshape_199_0_dim_2; layernorm_3( layernorm_201_0, elementwise_200_0, encoder_layers_11_ln1_weight, encoder_layers_11_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_201" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_203" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_201_0, encoder_layers_11_mha_qkv_weight, encoder_layers_11_mha_qkv_bias, reshape_204_0, global_workspace_, 1, &reshape_202_0_dim_0, &reshape_202_0_dim_1, &encoder_layers_11_mha_qkv_weight_dim_0, &encoder_layers_11_mha_qkv_weight_dim_1, &reshape_202_0_dim_0, &encoder_layers_11_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_203" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_205" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_205_1, split_205_2, split_205_0 }; int64_t *split_205_1_shape[] = { &split_205_1_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4 }; int64_t *split_205_2_shape[] = { &split_205_2_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4 }; int64_t *split_205_0_shape[] = { &split_205_0_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4 }; int64_t **output_shapes[] = { split_205_1_shape, split_205_2_shape, split_205_0_shape }; const int64_t reshape_204_0_shape[] = { reshape_204_0_dim_0, reshape_204_0_dim_1, reshape_204_0_dim_2, reshape_204_0_dim_3, reshape_204_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_204_0, reshape_204_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_205" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_206" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_205_0_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4, &reshape_206_0_dim_0, &reshape_206_0_dim_1, &reshape_206_0_dim_2, &reshape_206_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_206" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_207" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_205_1_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4, &reshape_207_0_dim_0, &reshape_207_0_dim_1, &reshape_207_0_dim_2, &reshape_207_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_207" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_208" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_205_2_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3, &reshape_204_0_dim_4, &reshape_208_0_dim_0, &reshape_208_0_dim_1, &reshape_208_0_dim_2, &reshape_208_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_208" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_209" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_209_0, reshape_207_0, reshape_208_0, reshape_206_0, &reshape_207_0_dim_0, &reshape_206_0_dim_2, &reshape_207_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_209" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_211" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_209_0, encoder_layers_11_mha_proj_weight, encoder_layers_11_mha_proj_bias, layernorm_201_0, reshape_212_0, global_workspace_, 1, &reshape_210_0_dim_0, &reshape_210_0_dim_1, &encoder_layers_11_mha_proj_weight_dim_0, &encoder_layers_11_mha_proj_weight_dim_1, &reshape_210_0_dim_0, &encoder_layers_11_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_211" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_530" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_530_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_530(elementwise_213_0, elementwise_200_0,reshape_212_0, fused_elementwise_530_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_530" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_214" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_199_0_dim_0; M *= reshape_199_0_dim_1; int64_t N = 1; N *= reshape_199_0_dim_2; layernorm_3( layernorm_214_0, elementwise_213_0, encoder_layers_11_ln2_weight, encoder_layers_11_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_214" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_215" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_214_0, encoder_layers_11_mlp_fc1_weight, encoder_layers_11_mlp_fc1_bias, gemm_rcr_bias_gelu_215_0, global_workspace_, 1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &reshape_199_0_dim_2, &encoder_layers_11_mlp_fc1_weight_dim_0, &encoder_layers_11_mlp_fc1_weight_dim_1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_11_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_215" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_216" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_215_0, encoder_layers_11_mlp_fc2_weight, encoder_layers_11_mlp_fc2_bias, reshape_217_0, global_workspace_, 1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_11_mlp_fc1_weight_dim_0, &encoder_layers_11_mlp_fc2_weight_dim_0, &encoder_layers_11_mlp_fc2_weight_dim_1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_11_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_216" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_531" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_531_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_531(elementwise_218_0, reshape_217_0,elementwise_200_0, fused_elementwise_531_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_531" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_219" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_217_0_dim_0; M *= reshape_217_0_dim_1; int64_t N = 1; N *= reshape_217_0_dim_2; layernorm_3( layernorm_219_0, elementwise_218_0, encoder_layers_12_ln1_weight, encoder_layers_12_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_219" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_221" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_219_0, encoder_layers_12_mha_qkv_weight, encoder_layers_12_mha_qkv_bias, reshape_222_0, global_workspace_, 1, &reshape_220_0_dim_0, &reshape_220_0_dim_1, &encoder_layers_12_mha_qkv_weight_dim_0, &encoder_layers_12_mha_qkv_weight_dim_1, &reshape_220_0_dim_0, &encoder_layers_12_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_221" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_223" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_223_1, split_223_2, split_223_0 }; int64_t *split_223_1_shape[] = { &split_223_1_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4 }; int64_t *split_223_2_shape[] = { &split_223_2_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4 }; int64_t *split_223_0_shape[] = { &split_223_0_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4 }; int64_t **output_shapes[] = { split_223_1_shape, split_223_2_shape, split_223_0_shape }; const int64_t reshape_222_0_shape[] = { reshape_222_0_dim_0, reshape_222_0_dim_1, reshape_222_0_dim_2, reshape_222_0_dim_3, reshape_222_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_222_0, reshape_222_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_223" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_224" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_223_0_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4, &reshape_224_0_dim_0, &reshape_224_0_dim_1, &reshape_224_0_dim_2, &reshape_224_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_224" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_225" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_223_1_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4, &reshape_225_0_dim_0, &reshape_225_0_dim_1, &reshape_225_0_dim_2, &reshape_225_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_225" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_226" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_223_2_dim_0, &reshape_222_0_dim_1, &reshape_222_0_dim_2, &reshape_222_0_dim_3, &reshape_222_0_dim_4, &reshape_226_0_dim_0, &reshape_226_0_dim_1, &reshape_226_0_dim_2, &reshape_226_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_226" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_227" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_227_0, reshape_225_0, reshape_226_0, reshape_224_0, &reshape_225_0_dim_0, &reshape_224_0_dim_2, &reshape_225_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_227" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_229" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_227_0, encoder_layers_12_mha_proj_weight, encoder_layers_12_mha_proj_bias, layernorm_219_0, reshape_230_0, global_workspace_, 1, &reshape_228_0_dim_0, &reshape_228_0_dim_1, &encoder_layers_12_mha_proj_weight_dim_0, &encoder_layers_12_mha_proj_weight_dim_1, &reshape_228_0_dim_0, &encoder_layers_12_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_229" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_532" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_532_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_532(elementwise_231_0, elementwise_218_0,reshape_230_0, fused_elementwise_532_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_532" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_232" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_217_0_dim_0; M *= reshape_217_0_dim_1; int64_t N = 1; N *= reshape_217_0_dim_2; layernorm_3( layernorm_232_0, elementwise_231_0, encoder_layers_12_ln2_weight, encoder_layers_12_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_232" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_233" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_232_0, encoder_layers_12_mlp_fc1_weight, encoder_layers_12_mlp_fc1_bias, gemm_rcr_bias_gelu_233_0, global_workspace_, 1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &reshape_217_0_dim_2, &encoder_layers_12_mlp_fc1_weight_dim_0, &encoder_layers_12_mlp_fc1_weight_dim_1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &encoder_layers_12_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_233" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_234" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_233_0, encoder_layers_12_mlp_fc2_weight, encoder_layers_12_mlp_fc2_bias, reshape_235_0, global_workspace_, 1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &encoder_layers_12_mlp_fc1_weight_dim_0, &encoder_layers_12_mlp_fc2_weight_dim_0, &encoder_layers_12_mlp_fc2_weight_dim_1, &reshape_217_0_dim_0, &reshape_217_0_dim_1, &encoder_layers_12_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_234" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_533" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_533_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_533(elementwise_236_0, reshape_235_0,elementwise_218_0, fused_elementwise_533_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_533" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_237" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_235_0_dim_0; M *= reshape_235_0_dim_1; int64_t N = 1; N *= reshape_235_0_dim_2; layernorm_3( layernorm_237_0, elementwise_236_0, encoder_layers_13_ln1_weight, encoder_layers_13_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_237" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_239" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_237_0, encoder_layers_13_mha_qkv_weight, encoder_layers_13_mha_qkv_bias, reshape_240_0, global_workspace_, 1, &reshape_238_0_dim_0, &reshape_238_0_dim_1, &encoder_layers_13_mha_qkv_weight_dim_0, &encoder_layers_13_mha_qkv_weight_dim_1, &reshape_238_0_dim_0, &encoder_layers_13_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_239" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_241" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_241_1, split_241_0, split_241_2 }; int64_t *split_241_1_shape[] = { &split_241_1_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4 }; int64_t *split_241_0_shape[] = { &split_241_0_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4 }; int64_t *split_241_2_shape[] = { &split_241_2_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4 }; int64_t **output_shapes[] = { split_241_1_shape, split_241_0_shape, split_241_2_shape }; const int64_t reshape_240_0_shape[] = { reshape_240_0_dim_0, reshape_240_0_dim_1, reshape_240_0_dim_2, reshape_240_0_dim_3, reshape_240_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_240_0, reshape_240_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_241" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_242" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_241_0_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4, &reshape_242_0_dim_0, &reshape_242_0_dim_1, &reshape_242_0_dim_2, &reshape_242_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_242" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_243" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_241_1_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4, &reshape_243_0_dim_0, &reshape_243_0_dim_1, &reshape_243_0_dim_2, &reshape_243_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_243" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_244" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_241_2_dim_0, &reshape_240_0_dim_1, &reshape_240_0_dim_2, &reshape_240_0_dim_3, &reshape_240_0_dim_4, &reshape_244_0_dim_0, &reshape_244_0_dim_1, &reshape_244_0_dim_2, &reshape_244_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_244" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_245" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_245_0, reshape_243_0, reshape_242_0, reshape_244_0, &reshape_243_0_dim_0, &reshape_244_0_dim_2, &reshape_243_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_245" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_247" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_245_0, encoder_layers_13_mha_proj_weight, encoder_layers_13_mha_proj_bias, layernorm_237_0, reshape_248_0, global_workspace_, 1, &reshape_246_0_dim_0, &reshape_246_0_dim_1, &encoder_layers_13_mha_proj_weight_dim_0, &encoder_layers_13_mha_proj_weight_dim_1, &reshape_246_0_dim_0, &encoder_layers_13_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_247" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_534" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_534_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_534(elementwise_249_0, elementwise_236_0,reshape_248_0, fused_elementwise_534_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_534" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_250" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_235_0_dim_0; M *= reshape_235_0_dim_1; int64_t N = 1; N *= reshape_235_0_dim_2; layernorm_3( layernorm_250_0, elementwise_249_0, encoder_layers_13_ln2_weight, encoder_layers_13_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_250" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_251" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_250_0, encoder_layers_13_mlp_fc1_weight, encoder_layers_13_mlp_fc1_bias, gemm_rcr_bias_gelu_251_0, global_workspace_, 1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &reshape_235_0_dim_2, &encoder_layers_13_mlp_fc1_weight_dim_0, &encoder_layers_13_mlp_fc1_weight_dim_1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &encoder_layers_13_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_251" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_252" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_251_0, encoder_layers_13_mlp_fc2_weight, encoder_layers_13_mlp_fc2_bias, reshape_253_0, global_workspace_, 1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &encoder_layers_13_mlp_fc1_weight_dim_0, &encoder_layers_13_mlp_fc2_weight_dim_0, &encoder_layers_13_mlp_fc2_weight_dim_1, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &encoder_layers_13_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_252" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_535" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_535_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_535(elementwise_254_0, reshape_253_0,elementwise_236_0, fused_elementwise_535_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_535" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_255" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_253_0_dim_0; M *= reshape_253_0_dim_1; int64_t N = 1; N *= reshape_253_0_dim_2; layernorm_3( layernorm_255_0, elementwise_254_0, encoder_layers_14_ln1_weight, encoder_layers_14_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_255" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_257" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_255_0, encoder_layers_14_mha_qkv_weight, encoder_layers_14_mha_qkv_bias, reshape_258_0, global_workspace_, 1, &reshape_256_0_dim_0, &reshape_256_0_dim_1, &encoder_layers_14_mha_qkv_weight_dim_0, &encoder_layers_14_mha_qkv_weight_dim_1, &reshape_256_0_dim_0, &encoder_layers_14_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_257" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_259" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_259_1, split_259_2, split_259_0 }; int64_t *split_259_1_shape[] = { &split_259_1_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4 }; int64_t *split_259_2_shape[] = { &split_259_2_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4 }; int64_t *split_259_0_shape[] = { &split_259_0_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4 }; int64_t **output_shapes[] = { split_259_1_shape, split_259_2_shape, split_259_0_shape }; const int64_t reshape_258_0_shape[] = { reshape_258_0_dim_0, reshape_258_0_dim_1, reshape_258_0_dim_2, reshape_258_0_dim_3, reshape_258_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_258_0, reshape_258_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_259" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_260" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_259_0_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4, &reshape_260_0_dim_0, &reshape_260_0_dim_1, &reshape_260_0_dim_2, &reshape_260_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_260" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_261" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_259_1_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4, &reshape_261_0_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_261" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_262" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_259_2_dim_0, &reshape_258_0_dim_1, &reshape_258_0_dim_2, &reshape_258_0_dim_3, &reshape_258_0_dim_4, &reshape_262_0_dim_0, &reshape_262_0_dim_1, &reshape_262_0_dim_2, &reshape_262_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_262" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_263" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_263_0, reshape_261_0, reshape_262_0, reshape_260_0, &reshape_261_0_dim_0, &reshape_260_0_dim_2, &reshape_261_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_263" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_265" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_263_0, encoder_layers_14_mha_proj_weight, encoder_layers_14_mha_proj_bias, layernorm_255_0, reshape_266_0, global_workspace_, 1, &reshape_264_0_dim_0, &reshape_264_0_dim_1, &encoder_layers_14_mha_proj_weight_dim_0, &encoder_layers_14_mha_proj_weight_dim_1, &reshape_264_0_dim_0, &encoder_layers_14_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_265" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_536" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_536_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_536(elementwise_267_0, elementwise_254_0,reshape_266_0, fused_elementwise_536_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_536" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_268" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_253_0_dim_0; M *= reshape_253_0_dim_1; int64_t N = 1; N *= reshape_253_0_dim_2; layernorm_3( layernorm_268_0, elementwise_267_0, encoder_layers_14_ln2_weight, encoder_layers_14_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_268" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_269" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_268_0, encoder_layers_14_mlp_fc1_weight, encoder_layers_14_mlp_fc1_bias, gemm_rcr_bias_gelu_269_0, global_workspace_, 1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &reshape_253_0_dim_2, &encoder_layers_14_mlp_fc1_weight_dim_0, &encoder_layers_14_mlp_fc1_weight_dim_1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &encoder_layers_14_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_269" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_270" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_269_0, encoder_layers_14_mlp_fc2_weight, encoder_layers_14_mlp_fc2_bias, reshape_271_0, global_workspace_, 1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &encoder_layers_14_mlp_fc1_weight_dim_0, &encoder_layers_14_mlp_fc2_weight_dim_0, &encoder_layers_14_mlp_fc2_weight_dim_1, &reshape_253_0_dim_0, &reshape_253_0_dim_1, &encoder_layers_14_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_270" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_537" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_537_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_537(elementwise_272_0, reshape_271_0,elementwise_254_0, fused_elementwise_537_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_537" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_273" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_271_0_dim_0; M *= reshape_271_0_dim_1; int64_t N = 1; N *= reshape_271_0_dim_2; layernorm_3( layernorm_273_0, elementwise_272_0, encoder_layers_15_ln1_weight, encoder_layers_15_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_273" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_275" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_273_0, encoder_layers_15_mha_qkv_weight, encoder_layers_15_mha_qkv_bias, reshape_276_0, global_workspace_, 1, &reshape_274_0_dim_0, &reshape_274_0_dim_1, &encoder_layers_15_mha_qkv_weight_dim_0, &encoder_layers_15_mha_qkv_weight_dim_1, &reshape_274_0_dim_0, &encoder_layers_15_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_275" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_277" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_277_0, split_277_2, split_277_1 }; int64_t *split_277_0_shape[] = { &split_277_0_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4 }; int64_t *split_277_2_shape[] = { &split_277_2_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4 }; int64_t *split_277_1_shape[] = { &split_277_1_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4 }; int64_t **output_shapes[] = { split_277_0_shape, split_277_2_shape, split_277_1_shape }; const int64_t reshape_276_0_shape[] = { reshape_276_0_dim_0, reshape_276_0_dim_1, reshape_276_0_dim_2, reshape_276_0_dim_3, reshape_276_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_276_0, reshape_276_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_277" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_278" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_277_0_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4, &reshape_278_0_dim_0, &reshape_278_0_dim_1, &reshape_278_0_dim_2, &reshape_278_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_278" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_279" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_277_1_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4, &reshape_279_0_dim_0, &reshape_279_0_dim_1, &reshape_279_0_dim_2, &reshape_279_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_279" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_280" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_277_2_dim_0, &reshape_276_0_dim_1, &reshape_276_0_dim_2, &reshape_276_0_dim_3, &reshape_276_0_dim_4, &reshape_280_0_dim_0, &reshape_280_0_dim_1, &reshape_280_0_dim_2, &reshape_280_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_280" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_281" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_281_0, reshape_278_0, reshape_280_0, reshape_279_0, &reshape_278_0_dim_0, &reshape_279_0_dim_2, &reshape_278_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_281" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_283" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_281_0, encoder_layers_15_mha_proj_weight, encoder_layers_15_mha_proj_bias, layernorm_273_0, reshape_284_0, global_workspace_, 1, &reshape_282_0_dim_0, &reshape_282_0_dim_1, &encoder_layers_15_mha_proj_weight_dim_0, &encoder_layers_15_mha_proj_weight_dim_1, &reshape_282_0_dim_0, &encoder_layers_15_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_283" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_538" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_538_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_538(elementwise_285_0, elementwise_272_0,reshape_284_0, fused_elementwise_538_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_538" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_286" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_271_0_dim_0; M *= reshape_271_0_dim_1; int64_t N = 1; N *= reshape_271_0_dim_2; layernorm_3( layernorm_286_0, elementwise_285_0, encoder_layers_15_ln2_weight, encoder_layers_15_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_286" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_287" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_286_0, encoder_layers_15_mlp_fc1_weight, encoder_layers_15_mlp_fc1_bias, gemm_rcr_bias_gelu_287_0, global_workspace_, 1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &reshape_271_0_dim_2, &encoder_layers_15_mlp_fc1_weight_dim_0, &encoder_layers_15_mlp_fc1_weight_dim_1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &encoder_layers_15_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_287" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_288" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_287_0, encoder_layers_15_mlp_fc2_weight, encoder_layers_15_mlp_fc2_bias, reshape_289_0, global_workspace_, 1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &encoder_layers_15_mlp_fc1_weight_dim_0, &encoder_layers_15_mlp_fc2_weight_dim_0, &encoder_layers_15_mlp_fc2_weight_dim_1, &reshape_271_0_dim_0, &reshape_271_0_dim_1, &encoder_layers_15_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_288" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_539" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_539_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_539(elementwise_290_0, reshape_289_0,elementwise_272_0, fused_elementwise_539_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_539" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_291" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_289_0_dim_0; M *= reshape_289_0_dim_1; int64_t N = 1; N *= reshape_289_0_dim_2; layernorm_3( layernorm_291_0, elementwise_290_0, encoder_layers_16_ln1_weight, encoder_layers_16_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_291" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_293" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_291_0, encoder_layers_16_mha_qkv_weight, encoder_layers_16_mha_qkv_bias, reshape_294_0, global_workspace_, 1, &reshape_292_0_dim_0, &reshape_292_0_dim_1, &encoder_layers_16_mha_qkv_weight_dim_0, &encoder_layers_16_mha_qkv_weight_dim_1, &reshape_292_0_dim_0, &encoder_layers_16_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_293" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_295" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_295_2, split_295_0, split_295_1 }; int64_t *split_295_2_shape[] = { &split_295_2_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4 }; int64_t *split_295_0_shape[] = { &split_295_0_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4 }; int64_t *split_295_1_shape[] = { &split_295_1_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4 }; int64_t **output_shapes[] = { split_295_2_shape, split_295_0_shape, split_295_1_shape }; const int64_t reshape_294_0_shape[] = { reshape_294_0_dim_0, reshape_294_0_dim_1, reshape_294_0_dim_2, reshape_294_0_dim_3, reshape_294_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_294_0, reshape_294_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_295" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_296" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_295_0_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4, &reshape_296_0_dim_0, &reshape_296_0_dim_1, &reshape_296_0_dim_2, &reshape_296_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_296" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_297" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_295_1_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4, &reshape_297_0_dim_0, &reshape_297_0_dim_1, &reshape_297_0_dim_2, &reshape_297_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_297" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_298" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_295_2_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3, &reshape_294_0_dim_4, &reshape_298_0_dim_0, &reshape_298_0_dim_1, &reshape_298_0_dim_2, &reshape_298_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_298" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_299" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_299_0, reshape_298_0, reshape_296_0, reshape_297_0, &reshape_298_0_dim_0, &reshape_297_0_dim_2, &reshape_298_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_299" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_301" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_299_0, encoder_layers_16_mha_proj_weight, encoder_layers_16_mha_proj_bias, layernorm_291_0, reshape_302_0, global_workspace_, 1, &reshape_300_0_dim_0, &reshape_300_0_dim_1, &encoder_layers_16_mha_proj_weight_dim_0, &encoder_layers_16_mha_proj_weight_dim_1, &reshape_300_0_dim_0, &encoder_layers_16_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_301" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_540" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_540_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_540(elementwise_303_0, elementwise_290_0,reshape_302_0, fused_elementwise_540_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_540" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_304" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_289_0_dim_0; M *= reshape_289_0_dim_1; int64_t N = 1; N *= reshape_289_0_dim_2; layernorm_3( layernorm_304_0, elementwise_303_0, encoder_layers_16_ln2_weight, encoder_layers_16_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_304" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_305" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_304_0, encoder_layers_16_mlp_fc1_weight, encoder_layers_16_mlp_fc1_bias, gemm_rcr_bias_gelu_305_0, global_workspace_, 1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &reshape_289_0_dim_2, &encoder_layers_16_mlp_fc1_weight_dim_0, &encoder_layers_16_mlp_fc1_weight_dim_1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_16_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_305" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_306" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_305_0, encoder_layers_16_mlp_fc2_weight, encoder_layers_16_mlp_fc2_bias, reshape_307_0, global_workspace_, 1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_16_mlp_fc1_weight_dim_0, &encoder_layers_16_mlp_fc2_weight_dim_0, &encoder_layers_16_mlp_fc2_weight_dim_1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_16_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_306" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_541" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_541_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_541(elementwise_308_0, reshape_307_0,elementwise_290_0, fused_elementwise_541_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_541" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_309" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_307_0_dim_0; M *= reshape_307_0_dim_1; int64_t N = 1; N *= reshape_307_0_dim_2; layernorm_3( layernorm_309_0, elementwise_308_0, encoder_layers_17_ln1_weight, encoder_layers_17_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_309" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_311" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_309_0, encoder_layers_17_mha_qkv_weight, encoder_layers_17_mha_qkv_bias, reshape_312_0, global_workspace_, 1, &reshape_310_0_dim_0, &reshape_310_0_dim_1, &encoder_layers_17_mha_qkv_weight_dim_0, &encoder_layers_17_mha_qkv_weight_dim_1, &reshape_310_0_dim_0, &encoder_layers_17_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_311" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_313" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_313_0, split_313_1, split_313_2 }; int64_t *split_313_0_shape[] = { &split_313_0_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4 }; int64_t *split_313_1_shape[] = { &split_313_1_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4 }; int64_t *split_313_2_shape[] = { &split_313_2_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4 }; int64_t **output_shapes[] = { split_313_0_shape, split_313_1_shape, split_313_2_shape }; const int64_t reshape_312_0_shape[] = { reshape_312_0_dim_0, reshape_312_0_dim_1, reshape_312_0_dim_2, reshape_312_0_dim_3, reshape_312_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_312_0, reshape_312_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_313" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_314" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_313_0_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4, &reshape_314_0_dim_0, &reshape_314_0_dim_1, &reshape_314_0_dim_2, &reshape_314_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_314" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_315" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_313_1_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4, &reshape_315_0_dim_0, &reshape_315_0_dim_1, &reshape_315_0_dim_2, &reshape_315_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_315" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_316" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_313_2_dim_0, &reshape_312_0_dim_1, &reshape_312_0_dim_2, &reshape_312_0_dim_3, &reshape_312_0_dim_4, &reshape_316_0_dim_0, &reshape_316_0_dim_1, &reshape_316_0_dim_2, &reshape_316_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_316" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_317" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_317_0, reshape_314_0, reshape_315_0, reshape_316_0, &reshape_314_0_dim_0, &reshape_316_0_dim_2, &reshape_314_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_317" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_319" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_317_0, encoder_layers_17_mha_proj_weight, encoder_layers_17_mha_proj_bias, layernorm_309_0, reshape_320_0, global_workspace_, 1, &reshape_318_0_dim_0, &reshape_318_0_dim_1, &encoder_layers_17_mha_proj_weight_dim_0, &encoder_layers_17_mha_proj_weight_dim_1, &reshape_318_0_dim_0, &encoder_layers_17_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_319" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_542" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_542_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_542(elementwise_321_0, elementwise_308_0,reshape_320_0, fused_elementwise_542_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_542" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_322" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_307_0_dim_0; M *= reshape_307_0_dim_1; int64_t N = 1; N *= reshape_307_0_dim_2; layernorm_3( layernorm_322_0, elementwise_321_0, encoder_layers_17_ln2_weight, encoder_layers_17_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_322" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_323" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_322_0, encoder_layers_17_mlp_fc1_weight, encoder_layers_17_mlp_fc1_bias, gemm_rcr_bias_gelu_323_0, global_workspace_, 1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &reshape_307_0_dim_2, &encoder_layers_17_mlp_fc1_weight_dim_0, &encoder_layers_17_mlp_fc1_weight_dim_1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &encoder_layers_17_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_323" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_324" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_323_0, encoder_layers_17_mlp_fc2_weight, encoder_layers_17_mlp_fc2_bias, reshape_325_0, global_workspace_, 1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &encoder_layers_17_mlp_fc1_weight_dim_0, &encoder_layers_17_mlp_fc2_weight_dim_0, &encoder_layers_17_mlp_fc2_weight_dim_1, &reshape_307_0_dim_0, &reshape_307_0_dim_1, &encoder_layers_17_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_324" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_543" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_543_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_543(elementwise_326_0, reshape_325_0,elementwise_308_0, fused_elementwise_543_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_543" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_327" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_325_0_dim_0; M *= reshape_325_0_dim_1; int64_t N = 1; N *= reshape_325_0_dim_2; layernorm_3( layernorm_327_0, elementwise_326_0, encoder_layers_18_ln1_weight, encoder_layers_18_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_327" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_329" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_327_0, encoder_layers_18_mha_qkv_weight, encoder_layers_18_mha_qkv_bias, reshape_330_0, global_workspace_, 1, &reshape_328_0_dim_0, &reshape_328_0_dim_1, &encoder_layers_18_mha_qkv_weight_dim_0, &encoder_layers_18_mha_qkv_weight_dim_1, &reshape_328_0_dim_0, &encoder_layers_18_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_329" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_331" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_331_2, split_331_0, split_331_1 }; int64_t *split_331_2_shape[] = { &split_331_2_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4 }; int64_t *split_331_0_shape[] = { &split_331_0_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4 }; int64_t *split_331_1_shape[] = { &split_331_1_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4 }; int64_t **output_shapes[] = { split_331_2_shape, split_331_0_shape, split_331_1_shape }; const int64_t reshape_330_0_shape[] = { reshape_330_0_dim_0, reshape_330_0_dim_1, reshape_330_0_dim_2, reshape_330_0_dim_3, reshape_330_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_330_0, reshape_330_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_331" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_332" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_331_0_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4, &reshape_332_0_dim_0, &reshape_332_0_dim_1, &reshape_332_0_dim_2, &reshape_332_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_332" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_333" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_331_1_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4, &reshape_333_0_dim_0, &reshape_333_0_dim_1, &reshape_333_0_dim_2, &reshape_333_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_333" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_334" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_331_2_dim_0, &reshape_330_0_dim_1, &reshape_330_0_dim_2, &reshape_330_0_dim_3, &reshape_330_0_dim_4, &reshape_334_0_dim_0, &reshape_334_0_dim_1, &reshape_334_0_dim_2, &reshape_334_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_334" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_335" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_335_0, reshape_334_0, reshape_332_0, reshape_333_0, &reshape_334_0_dim_0, &reshape_333_0_dim_2, &reshape_334_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_335" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_337" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_335_0, encoder_layers_18_mha_proj_weight, encoder_layers_18_mha_proj_bias, layernorm_327_0, reshape_338_0, global_workspace_, 1, &reshape_336_0_dim_0, &reshape_336_0_dim_1, &encoder_layers_18_mha_proj_weight_dim_0, &encoder_layers_18_mha_proj_weight_dim_1, &reshape_336_0_dim_0, &encoder_layers_18_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_337" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_544" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_544_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_544(elementwise_339_0, elementwise_326_0,reshape_338_0, fused_elementwise_544_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_544" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_340" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_325_0_dim_0; M *= reshape_325_0_dim_1; int64_t N = 1; N *= reshape_325_0_dim_2; layernorm_3( layernorm_340_0, elementwise_339_0, encoder_layers_18_ln2_weight, encoder_layers_18_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_340" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_341" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_340_0, encoder_layers_18_mlp_fc1_weight, encoder_layers_18_mlp_fc1_bias, gemm_rcr_bias_gelu_341_0, global_workspace_, 1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &reshape_325_0_dim_2, &encoder_layers_18_mlp_fc1_weight_dim_0, &encoder_layers_18_mlp_fc1_weight_dim_1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &encoder_layers_18_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_341" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_342" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_341_0, encoder_layers_18_mlp_fc2_weight, encoder_layers_18_mlp_fc2_bias, reshape_343_0, global_workspace_, 1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &encoder_layers_18_mlp_fc1_weight_dim_0, &encoder_layers_18_mlp_fc2_weight_dim_0, &encoder_layers_18_mlp_fc2_weight_dim_1, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &encoder_layers_18_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_342" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_545" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_545_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_545(elementwise_344_0, reshape_343_0,elementwise_326_0, fused_elementwise_545_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_545" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_345" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_343_0_dim_0; M *= reshape_343_0_dim_1; int64_t N = 1; N *= reshape_343_0_dim_2; layernorm_3( layernorm_345_0, elementwise_344_0, encoder_layers_19_ln1_weight, encoder_layers_19_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_345" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_347" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_345_0, encoder_layers_19_mha_qkv_weight, encoder_layers_19_mha_qkv_bias, reshape_348_0, global_workspace_, 1, &reshape_346_0_dim_0, &reshape_346_0_dim_1, &encoder_layers_19_mha_qkv_weight_dim_0, &encoder_layers_19_mha_qkv_weight_dim_1, &reshape_346_0_dim_0, &encoder_layers_19_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_347" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_349" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_349_2, split_349_1, split_349_0 }; int64_t *split_349_2_shape[] = { &split_349_2_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4 }; int64_t *split_349_1_shape[] = { &split_349_1_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4 }; int64_t *split_349_0_shape[] = { &split_349_0_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4 }; int64_t **output_shapes[] = { split_349_2_shape, split_349_1_shape, split_349_0_shape }; const int64_t reshape_348_0_shape[] = { reshape_348_0_dim_0, reshape_348_0_dim_1, reshape_348_0_dim_2, reshape_348_0_dim_3, reshape_348_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_348_0, reshape_348_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_349" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_350" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_349_0_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4, &reshape_350_0_dim_0, &reshape_350_0_dim_1, &reshape_350_0_dim_2, &reshape_350_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_350" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_351" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_349_1_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4, &reshape_351_0_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_351" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_352" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_349_2_dim_0, &reshape_348_0_dim_1, &reshape_348_0_dim_2, &reshape_348_0_dim_3, &reshape_348_0_dim_4, &reshape_352_0_dim_0, &reshape_352_0_dim_1, &reshape_352_0_dim_2, &reshape_352_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_352" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_353" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_353_0, reshape_352_0, reshape_351_0, reshape_350_0, &reshape_352_0_dim_0, &reshape_350_0_dim_2, &reshape_352_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_353" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_355" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_353_0, encoder_layers_19_mha_proj_weight, encoder_layers_19_mha_proj_bias, layernorm_345_0, reshape_356_0, global_workspace_, 1, &reshape_354_0_dim_0, &reshape_354_0_dim_1, &encoder_layers_19_mha_proj_weight_dim_0, &encoder_layers_19_mha_proj_weight_dim_1, &reshape_354_0_dim_0, &encoder_layers_19_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_355" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_546" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_546_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_546(elementwise_357_0, elementwise_344_0,reshape_356_0, fused_elementwise_546_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_546" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_358" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_343_0_dim_0; M *= reshape_343_0_dim_1; int64_t N = 1; N *= reshape_343_0_dim_2; layernorm_3( layernorm_358_0, elementwise_357_0, encoder_layers_19_ln2_weight, encoder_layers_19_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_358" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_359" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_358_0, encoder_layers_19_mlp_fc1_weight, encoder_layers_19_mlp_fc1_bias, gemm_rcr_bias_gelu_359_0, global_workspace_, 1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &reshape_343_0_dim_2, &encoder_layers_19_mlp_fc1_weight_dim_0, &encoder_layers_19_mlp_fc1_weight_dim_1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &encoder_layers_19_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_359" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_360" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_359_0, encoder_layers_19_mlp_fc2_weight, encoder_layers_19_mlp_fc2_bias, reshape_361_0, global_workspace_, 1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &encoder_layers_19_mlp_fc1_weight_dim_0, &encoder_layers_19_mlp_fc2_weight_dim_0, &encoder_layers_19_mlp_fc2_weight_dim_1, &reshape_343_0_dim_0, &reshape_343_0_dim_1, &encoder_layers_19_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_360" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_547" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_547_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_547(elementwise_362_0, reshape_361_0,elementwise_344_0, fused_elementwise_547_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_547" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_363" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_361_0_dim_0; M *= reshape_361_0_dim_1; int64_t N = 1; N *= reshape_361_0_dim_2; layernorm_3( layernorm_363_0, elementwise_362_0, encoder_layers_20_ln1_weight, encoder_layers_20_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_363" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_365" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_363_0, encoder_layers_20_mha_qkv_weight, encoder_layers_20_mha_qkv_bias, reshape_366_0, global_workspace_, 1, &reshape_364_0_dim_0, &reshape_364_0_dim_1, &encoder_layers_20_mha_qkv_weight_dim_0, &encoder_layers_20_mha_qkv_weight_dim_1, &reshape_364_0_dim_0, &encoder_layers_20_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_365" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_367" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_367_0, split_367_2, split_367_1 }; int64_t *split_367_0_shape[] = { &split_367_0_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4 }; int64_t *split_367_2_shape[] = { &split_367_2_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4 }; int64_t *split_367_1_shape[] = { &split_367_1_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4 }; int64_t **output_shapes[] = { split_367_0_shape, split_367_2_shape, split_367_1_shape }; const int64_t reshape_366_0_shape[] = { reshape_366_0_dim_0, reshape_366_0_dim_1, reshape_366_0_dim_2, reshape_366_0_dim_3, reshape_366_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_366_0, reshape_366_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_367" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_368" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_367_0_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4, &reshape_368_0_dim_0, &reshape_368_0_dim_1, &reshape_368_0_dim_2, &reshape_368_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_368" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_369" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_367_1_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4, &reshape_369_0_dim_0, &reshape_369_0_dim_1, &reshape_369_0_dim_2, &reshape_369_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_369" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_370" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_367_2_dim_0, &reshape_366_0_dim_1, &reshape_366_0_dim_2, &reshape_366_0_dim_3, &reshape_366_0_dim_4, &reshape_370_0_dim_0, &reshape_370_0_dim_1, &reshape_370_0_dim_2, &reshape_370_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_370" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_371" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_371_0, reshape_368_0, reshape_370_0, reshape_369_0, &reshape_368_0_dim_0, &reshape_369_0_dim_2, &reshape_368_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_371" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_373" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_371_0, encoder_layers_20_mha_proj_weight, encoder_layers_20_mha_proj_bias, layernorm_363_0, reshape_374_0, global_workspace_, 1, &reshape_372_0_dim_0, &reshape_372_0_dim_1, &encoder_layers_20_mha_proj_weight_dim_0, &encoder_layers_20_mha_proj_weight_dim_1, &reshape_372_0_dim_0, &encoder_layers_20_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_373" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_548" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_548_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_548(elementwise_375_0, elementwise_362_0,reshape_374_0, fused_elementwise_548_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_548" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_376" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_361_0_dim_0; M *= reshape_361_0_dim_1; int64_t N = 1; N *= reshape_361_0_dim_2; layernorm_3( layernorm_376_0, elementwise_375_0, encoder_layers_20_ln2_weight, encoder_layers_20_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_376" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_377" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_376_0, encoder_layers_20_mlp_fc1_weight, encoder_layers_20_mlp_fc1_bias, gemm_rcr_bias_gelu_377_0, global_workspace_, 1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &reshape_361_0_dim_2, &encoder_layers_20_mlp_fc1_weight_dim_0, &encoder_layers_20_mlp_fc1_weight_dim_1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &encoder_layers_20_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_377" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_378" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_377_0, encoder_layers_20_mlp_fc2_weight, encoder_layers_20_mlp_fc2_bias, reshape_379_0, global_workspace_, 1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &encoder_layers_20_mlp_fc1_weight_dim_0, &encoder_layers_20_mlp_fc2_weight_dim_0, &encoder_layers_20_mlp_fc2_weight_dim_1, &reshape_361_0_dim_0, &reshape_361_0_dim_1, &encoder_layers_20_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_378" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_549" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_549_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_549(elementwise_380_0, reshape_379_0,elementwise_362_0, fused_elementwise_549_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_549" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_381" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_379_0_dim_0; M *= reshape_379_0_dim_1; int64_t N = 1; N *= reshape_379_0_dim_2; layernorm_3( layernorm_381_0, elementwise_380_0, encoder_layers_21_ln1_weight, encoder_layers_21_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_381" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_383" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_381_0, encoder_layers_21_mha_qkv_weight, encoder_layers_21_mha_qkv_bias, reshape_384_0, global_workspace_, 1, &reshape_382_0_dim_0, &reshape_382_0_dim_1, &encoder_layers_21_mha_qkv_weight_dim_0, &encoder_layers_21_mha_qkv_weight_dim_1, &reshape_382_0_dim_0, &encoder_layers_21_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_383" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_385" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_385_1, split_385_2, split_385_0 }; int64_t *split_385_1_shape[] = { &split_385_1_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4 }; int64_t *split_385_2_shape[] = { &split_385_2_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4 }; int64_t *split_385_0_shape[] = { &split_385_0_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4 }; int64_t **output_shapes[] = { split_385_1_shape, split_385_2_shape, split_385_0_shape }; const int64_t reshape_384_0_shape[] = { reshape_384_0_dim_0, reshape_384_0_dim_1, reshape_384_0_dim_2, reshape_384_0_dim_3, reshape_384_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_384_0, reshape_384_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_385" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_386" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_385_0_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4, &reshape_386_0_dim_0, &reshape_386_0_dim_1, &reshape_386_0_dim_2, &reshape_386_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_386" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_387" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_385_1_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4, &reshape_387_0_dim_0, &reshape_387_0_dim_1, &reshape_387_0_dim_2, &reshape_387_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_387" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_388" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_385_2_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3, &reshape_384_0_dim_4, &reshape_388_0_dim_0, &reshape_388_0_dim_1, &reshape_388_0_dim_2, &reshape_388_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_388" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_389" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_389_0, reshape_387_0, reshape_388_0, reshape_386_0, &reshape_387_0_dim_0, &reshape_386_0_dim_2, &reshape_387_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_389" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_391" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_389_0, encoder_layers_21_mha_proj_weight, encoder_layers_21_mha_proj_bias, layernorm_381_0, reshape_392_0, global_workspace_, 1, &reshape_390_0_dim_0, &reshape_390_0_dim_1, &encoder_layers_21_mha_proj_weight_dim_0, &encoder_layers_21_mha_proj_weight_dim_1, &reshape_390_0_dim_0, &encoder_layers_21_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_391" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_550" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_550_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_550(elementwise_393_0, elementwise_380_0,reshape_392_0, fused_elementwise_550_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_550" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_394" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_379_0_dim_0; M *= reshape_379_0_dim_1; int64_t N = 1; N *= reshape_379_0_dim_2; layernorm_3( layernorm_394_0, elementwise_393_0, encoder_layers_21_ln2_weight, encoder_layers_21_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_394" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_395" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_394_0, encoder_layers_21_mlp_fc1_weight, encoder_layers_21_mlp_fc1_bias, gemm_rcr_bias_gelu_395_0, global_workspace_, 1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &reshape_379_0_dim_2, &encoder_layers_21_mlp_fc1_weight_dim_0, &encoder_layers_21_mlp_fc1_weight_dim_1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_21_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_395" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_396" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_395_0, encoder_layers_21_mlp_fc2_weight, encoder_layers_21_mlp_fc2_bias, reshape_397_0, global_workspace_, 1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_21_mlp_fc1_weight_dim_0, &encoder_layers_21_mlp_fc2_weight_dim_0, &encoder_layers_21_mlp_fc2_weight_dim_1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_21_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_396" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_551" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_551_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_551(elementwise_398_0, reshape_397_0,elementwise_380_0, fused_elementwise_551_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_551" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_399" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_397_0_dim_0; M *= reshape_397_0_dim_1; int64_t N = 1; N *= reshape_397_0_dim_2; layernorm_3( layernorm_399_0, elementwise_398_0, encoder_layers_22_ln1_weight, encoder_layers_22_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_399" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_401" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_399_0, encoder_layers_22_mha_qkv_weight, encoder_layers_22_mha_qkv_bias, reshape_402_0, global_workspace_, 1, &reshape_400_0_dim_0, &reshape_400_0_dim_1, &encoder_layers_22_mha_qkv_weight_dim_0, &encoder_layers_22_mha_qkv_weight_dim_1, &reshape_400_0_dim_0, &encoder_layers_22_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_401" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_403" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_403_2, split_403_0, split_403_1 }; int64_t *split_403_2_shape[] = { &split_403_2_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4 }; int64_t *split_403_0_shape[] = { &split_403_0_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4 }; int64_t *split_403_1_shape[] = { &split_403_1_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4 }; int64_t **output_shapes[] = { split_403_2_shape, split_403_0_shape, split_403_1_shape }; const int64_t reshape_402_0_shape[] = { reshape_402_0_dim_0, reshape_402_0_dim_1, reshape_402_0_dim_2, reshape_402_0_dim_3, reshape_402_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_402_0, reshape_402_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_403" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_404" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_403_0_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &reshape_404_0_dim_2, &reshape_404_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_404" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_405" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_403_1_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4, &reshape_405_0_dim_0, &reshape_405_0_dim_1, &reshape_405_0_dim_2, &reshape_405_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_405" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_406" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_403_2_dim_0, &reshape_402_0_dim_1, &reshape_402_0_dim_2, &reshape_402_0_dim_3, &reshape_402_0_dim_4, &reshape_406_0_dim_0, &reshape_406_0_dim_1, &reshape_406_0_dim_2, &reshape_406_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_406" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_407" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_407_0, reshape_406_0, reshape_404_0, reshape_405_0, &reshape_406_0_dim_0, &reshape_405_0_dim_2, &reshape_406_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_407" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_409" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_407_0, encoder_layers_22_mha_proj_weight, encoder_layers_22_mha_proj_bias, layernorm_399_0, reshape_410_0, global_workspace_, 1, &reshape_408_0_dim_0, &reshape_408_0_dim_1, &encoder_layers_22_mha_proj_weight_dim_0, &encoder_layers_22_mha_proj_weight_dim_1, &reshape_408_0_dim_0, &encoder_layers_22_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_409" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_552" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_552_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_552(elementwise_411_0, elementwise_398_0,reshape_410_0, fused_elementwise_552_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_552" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_412" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_397_0_dim_0; M *= reshape_397_0_dim_1; int64_t N = 1; N *= reshape_397_0_dim_2; layernorm_3( layernorm_412_0, elementwise_411_0, encoder_layers_22_ln2_weight, encoder_layers_22_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_412" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_413" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_412_0, encoder_layers_22_mlp_fc1_weight, encoder_layers_22_mlp_fc1_bias, gemm_rcr_bias_gelu_413_0, global_workspace_, 1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &reshape_397_0_dim_2, &encoder_layers_22_mlp_fc1_weight_dim_0, &encoder_layers_22_mlp_fc1_weight_dim_1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &encoder_layers_22_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_413" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_414" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_413_0, encoder_layers_22_mlp_fc2_weight, encoder_layers_22_mlp_fc2_bias, reshape_415_0, global_workspace_, 1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &encoder_layers_22_mlp_fc1_weight_dim_0, &encoder_layers_22_mlp_fc2_weight_dim_0, &encoder_layers_22_mlp_fc2_weight_dim_1, &reshape_397_0_dim_0, &reshape_397_0_dim_1, &encoder_layers_22_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_414" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_553" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_553_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_553(elementwise_416_0, reshape_415_0,elementwise_398_0, fused_elementwise_553_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_553" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_417" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_415_0_dim_0; M *= reshape_415_0_dim_1; int64_t N = 1; N *= reshape_415_0_dim_2; layernorm_3( layernorm_417_0, elementwise_416_0, encoder_layers_23_ln1_weight, encoder_layers_23_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_417" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_419" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_417_0, encoder_layers_23_mha_qkv_weight, encoder_layers_23_mha_qkv_bias, reshape_420_0, global_workspace_, 1, &reshape_418_0_dim_0, &reshape_418_0_dim_1, &encoder_layers_23_mha_qkv_weight_dim_0, &encoder_layers_23_mha_qkv_weight_dim_1, &reshape_418_0_dim_0, &encoder_layers_23_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_419" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_421" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_421_1, split_421_0, split_421_2 }; int64_t *split_421_1_shape[] = { &split_421_1_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4 }; int64_t *split_421_0_shape[] = { &split_421_0_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4 }; int64_t *split_421_2_shape[] = { &split_421_2_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4 }; int64_t **output_shapes[] = { split_421_1_shape, split_421_0_shape, split_421_2_shape }; const int64_t reshape_420_0_shape[] = { reshape_420_0_dim_0, reshape_420_0_dim_1, reshape_420_0_dim_2, reshape_420_0_dim_3, reshape_420_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_420_0, reshape_420_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_421" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_422" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_421_0_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4, &reshape_422_0_dim_0, &reshape_422_0_dim_1, &reshape_422_0_dim_2, &reshape_422_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_422" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_423" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_421_1_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4, &reshape_423_0_dim_0, &reshape_423_0_dim_1, &reshape_423_0_dim_2, &reshape_423_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_423" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_424" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_421_2_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &reshape_420_0_dim_3, &reshape_420_0_dim_4, &reshape_424_0_dim_0, &reshape_424_0_dim_1, &reshape_424_0_dim_2, &reshape_424_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_424" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_425" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_425_0, reshape_423_0, reshape_422_0, reshape_424_0, &reshape_423_0_dim_0, &reshape_424_0_dim_2, &reshape_423_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_425" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_427" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_425_0, encoder_layers_23_mha_proj_weight, encoder_layers_23_mha_proj_bias, layernorm_417_0, reshape_428_0, global_workspace_, 1, &reshape_426_0_dim_0, &reshape_426_0_dim_1, &encoder_layers_23_mha_proj_weight_dim_0, &encoder_layers_23_mha_proj_weight_dim_1, &reshape_426_0_dim_0, &encoder_layers_23_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_427" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_554" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_554_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_554(elementwise_429_0, elementwise_416_0,reshape_428_0, fused_elementwise_554_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_554" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_430" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_415_0_dim_0; M *= reshape_415_0_dim_1; int64_t N = 1; N *= reshape_415_0_dim_2; layernorm_3( layernorm_430_0, elementwise_429_0, encoder_layers_23_ln2_weight, encoder_layers_23_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_430" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_431" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_430_0, encoder_layers_23_mlp_fc1_weight, encoder_layers_23_mlp_fc1_bias, gemm_rcr_bias_gelu_431_0, global_workspace_, 1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &reshape_415_0_dim_2, &encoder_layers_23_mlp_fc1_weight_dim_0, &encoder_layers_23_mlp_fc1_weight_dim_1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &encoder_layers_23_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_431" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_432" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_431_0, encoder_layers_23_mlp_fc2_weight, encoder_layers_23_mlp_fc2_bias, reshape_433_0, global_workspace_, 1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &encoder_layers_23_mlp_fc1_weight_dim_0, &encoder_layers_23_mlp_fc2_weight_dim_0, &encoder_layers_23_mlp_fc2_weight_dim_1, &reshape_415_0_dim_0, &reshape_415_0_dim_1, &encoder_layers_23_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_432" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_555" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_555_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_555(elementwise_434_0, reshape_433_0,elementwise_416_0, fused_elementwise_555_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_555" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_435" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_433_0_dim_0; M *= reshape_433_0_dim_1; int64_t N = 1; N *= reshape_433_0_dim_2; layernorm_3( layernorm_435_0, elementwise_434_0, encoder_layers_24_ln1_weight, encoder_layers_24_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_435" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_437" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_435_0, encoder_layers_24_mha_qkv_weight, encoder_layers_24_mha_qkv_bias, reshape_438_0, global_workspace_, 1, &reshape_436_0_dim_0, &reshape_436_0_dim_1, &encoder_layers_24_mha_qkv_weight_dim_0, &encoder_layers_24_mha_qkv_weight_dim_1, &reshape_436_0_dim_0, &encoder_layers_24_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_437" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_439" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_439_1, split_439_2, split_439_0 }; int64_t *split_439_1_shape[] = { &split_439_1_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4 }; int64_t *split_439_2_shape[] = { &split_439_2_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4 }; int64_t *split_439_0_shape[] = { &split_439_0_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4 }; int64_t **output_shapes[] = { split_439_1_shape, split_439_2_shape, split_439_0_shape }; const int64_t reshape_438_0_shape[] = { reshape_438_0_dim_0, reshape_438_0_dim_1, reshape_438_0_dim_2, reshape_438_0_dim_3, reshape_438_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_438_0, reshape_438_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_439" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_440" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_439_0_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4, &reshape_440_0_dim_0, &reshape_440_0_dim_1, &reshape_440_0_dim_2, &reshape_440_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_440" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_441" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_439_1_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4, &reshape_441_0_dim_0, &reshape_441_0_dim_1, &reshape_441_0_dim_2, &reshape_441_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_441" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_442" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_439_2_dim_0, &reshape_438_0_dim_1, &reshape_438_0_dim_2, &reshape_438_0_dim_3, &reshape_438_0_dim_4, &reshape_442_0_dim_0, &reshape_442_0_dim_1, &reshape_442_0_dim_2, &reshape_442_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_442" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_443" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_443_0, reshape_441_0, reshape_442_0, reshape_440_0, &reshape_441_0_dim_0, &reshape_440_0_dim_2, &reshape_441_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_443" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_445" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_443_0, encoder_layers_24_mha_proj_weight, encoder_layers_24_mha_proj_bias, layernorm_435_0, reshape_446_0, global_workspace_, 1, &reshape_444_0_dim_0, &reshape_444_0_dim_1, &encoder_layers_24_mha_proj_weight_dim_0, &encoder_layers_24_mha_proj_weight_dim_1, &reshape_444_0_dim_0, &encoder_layers_24_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_445" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_556" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_556_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_556(elementwise_447_0, elementwise_434_0,reshape_446_0, fused_elementwise_556_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_556" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_448" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_433_0_dim_0; M *= reshape_433_0_dim_1; int64_t N = 1; N *= reshape_433_0_dim_2; layernorm_3( layernorm_448_0, elementwise_447_0, encoder_layers_24_ln2_weight, encoder_layers_24_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_448" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_449" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_448_0, encoder_layers_24_mlp_fc1_weight, encoder_layers_24_mlp_fc1_bias, gemm_rcr_bias_gelu_449_0, global_workspace_, 1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &reshape_433_0_dim_2, &encoder_layers_24_mlp_fc1_weight_dim_0, &encoder_layers_24_mlp_fc1_weight_dim_1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &encoder_layers_24_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_449" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_450" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_449_0, encoder_layers_24_mlp_fc2_weight, encoder_layers_24_mlp_fc2_bias, reshape_451_0, global_workspace_, 1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &encoder_layers_24_mlp_fc1_weight_dim_0, &encoder_layers_24_mlp_fc2_weight_dim_0, &encoder_layers_24_mlp_fc2_weight_dim_1, &reshape_433_0_dim_0, &reshape_433_0_dim_1, &encoder_layers_24_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_450" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_557" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_557_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_557(elementwise_452_0, reshape_451_0,elementwise_434_0, fused_elementwise_557_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_557" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_453" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_451_0_dim_0; M *= reshape_451_0_dim_1; int64_t N = 1; N *= reshape_451_0_dim_2; layernorm_3( layernorm_453_0, elementwise_452_0, encoder_layers_25_ln1_weight, encoder_layers_25_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_453" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_455" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_453_0, encoder_layers_25_mha_qkv_weight, encoder_layers_25_mha_qkv_bias, reshape_456_0, global_workspace_, 1, &reshape_454_0_dim_0, &reshape_454_0_dim_1, &encoder_layers_25_mha_qkv_weight_dim_0, &encoder_layers_25_mha_qkv_weight_dim_1, &reshape_454_0_dim_0, &encoder_layers_25_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_455" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_457" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_457_0, split_457_1, split_457_2 }; int64_t *split_457_0_shape[] = { &split_457_0_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4 }; int64_t *split_457_1_shape[] = { &split_457_1_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4 }; int64_t *split_457_2_shape[] = { &split_457_2_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4 }; int64_t **output_shapes[] = { split_457_0_shape, split_457_1_shape, split_457_2_shape }; const int64_t reshape_456_0_shape[] = { reshape_456_0_dim_0, reshape_456_0_dim_1, reshape_456_0_dim_2, reshape_456_0_dim_3, reshape_456_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_456_0, reshape_456_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_457" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_458" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_457_0_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4, &reshape_458_0_dim_0, &reshape_458_0_dim_1, &reshape_458_0_dim_2, &reshape_458_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_458" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_459" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_457_1_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4, &reshape_459_0_dim_0, &reshape_459_0_dim_1, &reshape_459_0_dim_2, &reshape_459_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_459" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_460" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_457_2_dim_0, &reshape_456_0_dim_1, &reshape_456_0_dim_2, &reshape_456_0_dim_3, &reshape_456_0_dim_4, &reshape_460_0_dim_0, &reshape_460_0_dim_1, &reshape_460_0_dim_2, &reshape_460_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_460" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_461" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_461_0, reshape_458_0, reshape_459_0, reshape_460_0, &reshape_458_0_dim_0, &reshape_460_0_dim_2, &reshape_458_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_461" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_463" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_461_0, encoder_layers_25_mha_proj_weight, encoder_layers_25_mha_proj_bias, layernorm_453_0, reshape_464_0, global_workspace_, 1, &reshape_462_0_dim_0, &reshape_462_0_dim_1, &encoder_layers_25_mha_proj_weight_dim_0, &encoder_layers_25_mha_proj_weight_dim_1, &reshape_462_0_dim_0, &encoder_layers_25_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_463" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_558" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_558_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_558(elementwise_465_0, elementwise_452_0,reshape_464_0, fused_elementwise_558_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_558" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_466" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_451_0_dim_0; M *= reshape_451_0_dim_1; int64_t N = 1; N *= reshape_451_0_dim_2; layernorm_3( layernorm_466_0, elementwise_465_0, encoder_layers_25_ln2_weight, encoder_layers_25_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_466" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_467" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_466_0, encoder_layers_25_mlp_fc1_weight, encoder_layers_25_mlp_fc1_bias, gemm_rcr_bias_gelu_467_0, global_workspace_, 1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &reshape_451_0_dim_2, &encoder_layers_25_mlp_fc1_weight_dim_0, &encoder_layers_25_mlp_fc1_weight_dim_1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &encoder_layers_25_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_467" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_468" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_467_0, encoder_layers_25_mlp_fc2_weight, encoder_layers_25_mlp_fc2_bias, reshape_469_0, global_workspace_, 1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &encoder_layers_25_mlp_fc1_weight_dim_0, &encoder_layers_25_mlp_fc2_weight_dim_0, &encoder_layers_25_mlp_fc2_weight_dim_1, &reshape_451_0_dim_0, &reshape_451_0_dim_1, &encoder_layers_25_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_468" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_559" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_559_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_559(elementwise_470_0, reshape_469_0,elementwise_452_0, fused_elementwise_559_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_559" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_471" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_469_0_dim_0; M *= reshape_469_0_dim_1; int64_t N = 1; N *= reshape_469_0_dim_2; layernorm_3( layernorm_471_0, elementwise_470_0, encoder_layers_26_ln1_weight, encoder_layers_26_ln1_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_471" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_473" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_permute_5( layernorm_471_0, encoder_layers_26_mha_qkv_weight, encoder_layers_26_mha_qkv_bias, reshape_474_0, global_workspace_, 1, &reshape_472_0_dim_0, &reshape_472_0_dim_1, &encoder_layers_26_mha_qkv_weight_dim_0, &encoder_layers_26_mha_qkv_weight_dim_1, &reshape_472_0_dim_0, &encoder_layers_26_mha_qkv_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_permute_473" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_475" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { void *outputs[] = { split_475_2, split_475_0, split_475_1 }; int64_t *split_475_2_shape[] = { &split_475_2_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4 }; int64_t *split_475_0_shape[] = { &split_475_0_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4 }; int64_t *split_475_1_shape[] = { &split_475_1_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4 }; int64_t **output_shapes[] = { split_475_2_shape, split_475_0_shape, split_475_1_shape }; const int64_t reshape_474_0_shape[] = { reshape_474_0_dim_0, reshape_474_0_dim_1, reshape_474_0_dim_2, reshape_474_0_dim_3, reshape_474_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_474_0, reshape_474_0_shape, 3/*real_num_splits*/, 3/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "split_475" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"], [\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_476" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_475_0_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4, &reshape_476_0_dim_0, &reshape_476_0_dim_1, &reshape_476_0_dim_2, &reshape_476_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_476" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_477" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_475_1_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4, &reshape_477_0_dim_0, &reshape_477_0_dim_1, &reshape_477_0_dim_2, &reshape_477_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_477" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_478" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); ait_reshape_8( &split_475_2_dim_0, &reshape_474_0_dim_1, &reshape_474_0_dim_2, &reshape_474_0_dim_3, &reshape_474_0_dim_4, &reshape_478_0_dim_0, &reshape_478_0_dim_1, &reshape_478_0_dim_2, &reshape_478_0_dim_3 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "reshape_478" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_479" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); mem_eff_attention_11( mem_eff_attention_479_0, reshape_478_0, reshape_476_0, reshape_477_0, &reshape_478_0_dim_0, &reshape_477_0_dim_2, &reshape_478_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "mem_eff_attention_479" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"], [\"64\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_481" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_479_0, encoder_layers_26_mha_proj_weight, encoder_layers_26_mha_proj_bias, layernorm_471_0, reshape_482_0, global_workspace_, 1, &reshape_480_0_dim_0, &reshape_480_0_dim_1, &encoder_layers_26_mha_proj_weight_dim_0, &encoder_layers_26_mha_proj_weight_dim_1, &reshape_480_0_dim_0, &encoder_layers_26_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_481" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_560" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_560_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_560(elementwise_483_0, elementwise_470_0,reshape_482_0, fused_elementwise_560_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_560" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_484" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_469_0_dim_0; M *= reshape_469_0_dim_1; int64_t N = 1; N *= reshape_469_0_dim_2; layernorm_3( layernorm_484_0, elementwise_483_0, encoder_layers_26_ln2_weight, encoder_layers_26_ln2_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_484" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_485" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_484_0, encoder_layers_26_mlp_fc1_weight, encoder_layers_26_mlp_fc1_bias, gemm_rcr_bias_gelu_485_0, global_workspace_, 1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &reshape_469_0_dim_2, &encoder_layers_26_mlp_fc1_weight_dim_0, &encoder_layers_26_mlp_fc1_weight_dim_1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &encoder_layers_26_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_485" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_486" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_485_0, encoder_layers_26_mlp_fc2_weight, encoder_layers_26_mlp_fc2_bias, reshape_487_0, global_workspace_, 1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &encoder_layers_26_mlp_fc1_weight_dim_0, &encoder_layers_26_mlp_fc2_weight_dim_0, &encoder_layers_26_mlp_fc2_weight_dim_1, &reshape_469_0_dim_0, &reshape_469_0_dim_1, &encoder_layers_26_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_486" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_561" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_561_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_561(elementwise_488_0, reshape_487_0,elementwise_470_0, fused_elementwise_561_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_561" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_489" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_487_0_dim_0; M *= reshape_487_0_dim_1; int64_t N = 1; N *= reshape_487_0_dim_2; layernorm_3( layernorm_489_0, elementwise_488_0, encoder_ln_weight, encoder_ln_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_489" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_500" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_add_13( mem_eff_attention_498_0, pool_mha_proj_weight, pool_mha_proj_bias, layernorm_489_0, reshape_501_0, global_workspace_, 1, &reshape_499_0_dim_0, &reshape_499_0_dim_1, &pool_mha_proj_weight_dim_0, &pool_mha_proj_weight_dim_1, &reshape_499_0_dim_0, &pool_mha_proj_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_add_500" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"46656\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"46656\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_502" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t M = 1; M *= reshape_501_0_dim_0; M *= reshape_501_0_dim_1; int64_t N = 1; N *= reshape_501_0_dim_2; layernorm_3( layernorm_502_0, reshape_501_0, pool_ln_weight, pool_ln_bias, M, N, 1e-05, stream /* default stream */ ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "layernorm_502" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_503" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_gelu_17( layernorm_502_0, pool_mlp_fc1_weight, pool_mlp_fc1_bias, gemm_rcr_bias_gelu_503_0, global_workspace_, 1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &reshape_501_0_dim_2, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc1_weight_dim_1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &pool_mlp_fc1_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_gelu_503" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_504" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { gemm_rcr_bias_18( gemm_rcr_bias_gelu_503_0, pool_mlp_fc2_weight, pool_mlp_fc2_bias, reshape_505_0, global_workspace_, 1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc2_weight_dim_0, &pool_mlp_fc2_weight_dim_1, &reshape_501_0_dim_0, &reshape_501_0_dim_1, &pool_mlp_fc2_weight_dim_0, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "gemm_rcr_bias_504" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_562" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int64_t fused_elementwise_562_n_elements = 64 * 729 * 1152; invoke_fused_elementwise_562(output_0, reshape_501_0,reshape_505_0, fused_elementwise_562_n_elements, stream); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "fused_elementwise_562" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"64\", \"729\", \"1152\"], [\"64\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"64\", \"729\", \"1152\"]]" << ", \"func\": " << "\"[]\"" << " } "; ss << "\n"; } ss << "}\n"; DeviceToDeviceCopies(stream); std::cout << "AIT per op profiling finished." << std::endl; FreeDeviceMemory(L2CacheSlab); #endif } static std::unique_ptr Create( AITemplateAllocator& allocator, uint8_t* constants ) { return std::make_unique( 939091968, 214990848 * (1 + 0), 0 * (1 + 0), 1, 1, 340, constants, allocator ); } private: void* input0 {nullptr}; void* patch_embed_proj_weight {nullptr}; void* patch_embed_proj_bias {nullptr}; void* pos_emb_pos_emb {nullptr}; void* encoder_layers_0_ln1_weight {nullptr}; void* encoder_layers_0_ln1_bias {nullptr}; void* encoder_layers_0_mha_qkv_weight {nullptr}; void* encoder_layers_0_mha_qkv_bias {nullptr}; void* encoder_layers_0_mha_proj_weight {nullptr}; void* encoder_layers_0_mha_proj_bias {nullptr}; void* encoder_layers_0_ln2_weight {nullptr}; void* encoder_layers_0_ln2_bias {nullptr}; void* encoder_layers_0_mlp_fc1_weight {nullptr}; void* encoder_layers_0_mlp_fc1_bias {nullptr}; void* encoder_layers_0_mlp_fc2_weight {nullptr}; void* encoder_layers_0_mlp_fc2_bias {nullptr}; void* encoder_layers_1_ln1_weight {nullptr}; void* encoder_layers_1_ln1_bias {nullptr}; void* encoder_layers_1_mha_qkv_weight {nullptr}; void* encoder_layers_1_mha_qkv_bias {nullptr}; void* encoder_layers_1_mha_proj_weight {nullptr}; void* encoder_layers_1_mha_proj_bias {nullptr}; void* encoder_layers_1_ln2_weight {nullptr}; void* encoder_layers_1_ln2_bias {nullptr}; void* encoder_layers_1_mlp_fc1_weight {nullptr}; void* encoder_layers_1_mlp_fc1_bias {nullptr}; void* encoder_layers_1_mlp_fc2_weight {nullptr}; void* encoder_layers_1_mlp_fc2_bias {nullptr}; void* encoder_layers_2_ln1_weight {nullptr}; void* encoder_layers_2_ln1_bias {nullptr}; void* encoder_layers_2_mha_qkv_weight {nullptr}; void* encoder_layers_2_mha_qkv_bias {nullptr}; void* encoder_layers_2_mha_proj_weight {nullptr}; void* encoder_layers_2_mha_proj_bias {nullptr}; void* encoder_layers_2_ln2_weight {nullptr}; void* encoder_layers_2_ln2_bias {nullptr}; void* encoder_layers_2_mlp_fc1_weight {nullptr}; void* encoder_layers_2_mlp_fc1_bias {nullptr}; void* encoder_layers_2_mlp_fc2_weight {nullptr}; void* encoder_layers_2_mlp_fc2_bias {nullptr}; void* encoder_layers_3_ln1_weight {nullptr}; void* encoder_layers_3_ln1_bias {nullptr}; void* encoder_layers_3_mha_qkv_weight {nullptr}; void* encoder_layers_3_mha_qkv_bias {nullptr}; void* encoder_layers_3_mha_proj_weight {nullptr}; void* encoder_layers_3_mha_proj_bias {nullptr}; void* encoder_layers_3_ln2_weight {nullptr}; void* encoder_layers_3_ln2_bias {nullptr}; void* encoder_layers_3_mlp_fc1_weight {nullptr}; void* encoder_layers_3_mlp_fc1_bias {nullptr}; void* encoder_layers_3_mlp_fc2_weight {nullptr}; void* encoder_layers_3_mlp_fc2_bias {nullptr}; void* encoder_layers_4_ln1_weight {nullptr}; void* encoder_layers_4_ln1_bias {nullptr}; void* encoder_layers_4_mha_qkv_weight {nullptr}; void* encoder_layers_4_mha_qkv_bias {nullptr}; void* encoder_layers_4_mha_proj_weight {nullptr}; void* encoder_layers_4_mha_proj_bias {nullptr}; void* encoder_layers_4_ln2_weight {nullptr}; void* encoder_layers_4_ln2_bias {nullptr}; void* encoder_layers_4_mlp_fc1_weight {nullptr}; void* encoder_layers_4_mlp_fc1_bias {nullptr}; void* encoder_layers_4_mlp_fc2_weight {nullptr}; void* encoder_layers_4_mlp_fc2_bias {nullptr}; void* encoder_layers_5_ln1_weight {nullptr}; void* encoder_layers_5_ln1_bias {nullptr}; void* encoder_layers_5_mha_qkv_weight {nullptr}; void* encoder_layers_5_mha_qkv_bias {nullptr}; void* encoder_layers_5_mha_proj_weight {nullptr}; void* encoder_layers_5_mha_proj_bias {nullptr}; void* encoder_layers_5_ln2_weight {nullptr}; void* encoder_layers_5_ln2_bias {nullptr}; void* encoder_layers_5_mlp_fc1_weight {nullptr}; void* encoder_layers_5_mlp_fc1_bias {nullptr}; void* encoder_layers_5_mlp_fc2_weight {nullptr}; void* encoder_layers_5_mlp_fc2_bias {nullptr}; void* encoder_layers_6_ln1_weight {nullptr}; void* encoder_layers_6_ln1_bias {nullptr}; void* encoder_layers_6_mha_qkv_weight {nullptr}; void* encoder_layers_6_mha_qkv_bias {nullptr}; void* encoder_layers_6_mha_proj_weight {nullptr}; void* encoder_layers_6_mha_proj_bias {nullptr}; void* encoder_layers_6_ln2_weight {nullptr}; void* encoder_layers_6_ln2_bias {nullptr}; void* encoder_layers_6_mlp_fc1_weight {nullptr}; void* encoder_layers_6_mlp_fc1_bias {nullptr}; void* encoder_layers_6_mlp_fc2_weight {nullptr}; void* encoder_layers_6_mlp_fc2_bias {nullptr}; void* encoder_layers_7_ln1_weight {nullptr}; void* encoder_layers_7_ln1_bias {nullptr}; void* encoder_layers_7_mha_qkv_weight {nullptr}; void* encoder_layers_7_mha_qkv_bias {nullptr}; void* encoder_layers_7_mha_proj_weight {nullptr}; void* encoder_layers_7_mha_proj_bias {nullptr}; void* encoder_layers_7_ln2_weight {nullptr}; void* encoder_layers_7_ln2_bias {nullptr}; void* encoder_layers_7_mlp_fc1_weight {nullptr}; void* encoder_layers_7_mlp_fc1_bias {nullptr}; void* encoder_layers_7_mlp_fc2_weight {nullptr}; void* encoder_layers_7_mlp_fc2_bias {nullptr}; void* encoder_layers_8_ln1_weight {nullptr}; void* encoder_layers_8_ln1_bias {nullptr}; void* encoder_layers_8_mha_qkv_weight {nullptr}; void* encoder_layers_8_mha_qkv_bias {nullptr}; void* encoder_layers_8_mha_proj_weight {nullptr}; void* encoder_layers_8_mha_proj_bias {nullptr}; void* encoder_layers_8_ln2_weight {nullptr}; void* encoder_layers_8_ln2_bias {nullptr}; void* encoder_layers_8_mlp_fc1_weight {nullptr}; void* encoder_layers_8_mlp_fc1_bias {nullptr}; void* encoder_layers_8_mlp_fc2_weight {nullptr}; void* encoder_layers_8_mlp_fc2_bias {nullptr}; void* encoder_layers_9_ln1_weight {nullptr}; void* encoder_layers_9_ln1_bias {nullptr}; void* encoder_layers_9_mha_qkv_weight {nullptr}; void* encoder_layers_9_mha_qkv_bias {nullptr}; void* encoder_layers_9_mha_proj_weight {nullptr}; void* encoder_layers_9_mha_proj_bias {nullptr}; void* encoder_layers_9_ln2_weight {nullptr}; void* encoder_layers_9_ln2_bias {nullptr}; void* encoder_layers_9_mlp_fc1_weight {nullptr}; void* encoder_layers_9_mlp_fc1_bias {nullptr}; void* encoder_layers_9_mlp_fc2_weight {nullptr}; void* encoder_layers_9_mlp_fc2_bias {nullptr}; void* encoder_layers_10_ln1_weight {nullptr}; void* encoder_layers_10_ln1_bias {nullptr}; void* encoder_layers_10_mha_qkv_weight {nullptr}; void* encoder_layers_10_mha_qkv_bias {nullptr}; void* encoder_layers_10_mha_proj_weight {nullptr}; void* encoder_layers_10_mha_proj_bias {nullptr}; void* encoder_layers_10_ln2_weight {nullptr}; void* encoder_layers_10_ln2_bias {nullptr}; void* encoder_layers_10_mlp_fc1_weight {nullptr}; void* encoder_layers_10_mlp_fc1_bias {nullptr}; void* encoder_layers_10_mlp_fc2_weight {nullptr}; void* encoder_layers_10_mlp_fc2_bias {nullptr}; void* encoder_layers_11_ln1_weight {nullptr}; void* encoder_layers_11_ln1_bias {nullptr}; void* encoder_layers_11_mha_qkv_weight {nullptr}; void* encoder_layers_11_mha_qkv_bias {nullptr}; void* encoder_layers_11_mha_proj_weight {nullptr}; void* encoder_layers_11_mha_proj_bias {nullptr}; void* encoder_layers_11_ln2_weight {nullptr}; void* encoder_layers_11_ln2_bias {nullptr}; void* encoder_layers_11_mlp_fc1_weight {nullptr}; void* encoder_layers_11_mlp_fc1_bias {nullptr}; void* encoder_layers_11_mlp_fc2_weight {nullptr}; void* encoder_layers_11_mlp_fc2_bias {nullptr}; void* encoder_layers_12_ln1_weight {nullptr}; void* encoder_layers_12_ln1_bias {nullptr}; void* encoder_layers_12_mha_qkv_weight {nullptr}; void* encoder_layers_12_mha_qkv_bias {nullptr}; void* encoder_layers_12_mha_proj_weight {nullptr}; void* encoder_layers_12_mha_proj_bias {nullptr}; void* encoder_layers_12_ln2_weight {nullptr}; void* encoder_layers_12_ln2_bias {nullptr}; void* encoder_layers_12_mlp_fc1_weight {nullptr}; void* encoder_layers_12_mlp_fc1_bias {nullptr}; void* encoder_layers_12_mlp_fc2_weight {nullptr}; void* encoder_layers_12_mlp_fc2_bias {nullptr}; void* encoder_layers_13_ln1_weight {nullptr}; void* encoder_layers_13_ln1_bias {nullptr}; void* encoder_layers_13_mha_qkv_weight {nullptr}; void* encoder_layers_13_mha_qkv_bias {nullptr}; void* encoder_layers_13_mha_proj_weight {nullptr}; void* encoder_layers_13_mha_proj_bias {nullptr}; void* encoder_layers_13_ln2_weight {nullptr}; void* encoder_layers_13_ln2_bias {nullptr}; void* encoder_layers_13_mlp_fc1_weight {nullptr}; void* encoder_layers_13_mlp_fc1_bias {nullptr}; void* encoder_layers_13_mlp_fc2_weight {nullptr}; void* encoder_layers_13_mlp_fc2_bias {nullptr}; void* encoder_layers_14_ln1_weight {nullptr}; void* encoder_layers_14_ln1_bias {nullptr}; void* encoder_layers_14_mha_qkv_weight {nullptr}; void* encoder_layers_14_mha_qkv_bias {nullptr}; void* encoder_layers_14_mha_proj_weight {nullptr}; void* encoder_layers_14_mha_proj_bias {nullptr}; void* encoder_layers_14_ln2_weight {nullptr}; void* encoder_layers_14_ln2_bias {nullptr}; void* encoder_layers_14_mlp_fc1_weight {nullptr}; void* encoder_layers_14_mlp_fc1_bias {nullptr}; void* encoder_layers_14_mlp_fc2_weight {nullptr}; void* encoder_layers_14_mlp_fc2_bias {nullptr}; void* encoder_layers_15_ln1_weight {nullptr}; void* encoder_layers_15_ln1_bias {nullptr}; void* encoder_layers_15_mha_qkv_weight {nullptr}; void* encoder_layers_15_mha_qkv_bias {nullptr}; void* encoder_layers_15_mha_proj_weight {nullptr}; void* encoder_layers_15_mha_proj_bias {nullptr}; void* encoder_layers_15_ln2_weight {nullptr}; void* encoder_layers_15_ln2_bias {nullptr}; void* encoder_layers_15_mlp_fc1_weight {nullptr}; void* encoder_layers_15_mlp_fc1_bias {nullptr}; void* encoder_layers_15_mlp_fc2_weight {nullptr}; void* encoder_layers_15_mlp_fc2_bias {nullptr}; void* encoder_layers_16_ln1_weight {nullptr}; void* encoder_layers_16_ln1_bias {nullptr}; void* encoder_layers_16_mha_qkv_weight {nullptr}; void* encoder_layers_16_mha_qkv_bias {nullptr}; void* encoder_layers_16_mha_proj_weight {nullptr}; void* encoder_layers_16_mha_proj_bias {nullptr}; void* encoder_layers_16_ln2_weight {nullptr}; void* encoder_layers_16_ln2_bias {nullptr}; void* encoder_layers_16_mlp_fc1_weight {nullptr}; void* encoder_layers_16_mlp_fc1_bias {nullptr}; void* encoder_layers_16_mlp_fc2_weight {nullptr}; void* encoder_layers_16_mlp_fc2_bias {nullptr}; void* encoder_layers_17_ln1_weight {nullptr}; void* encoder_layers_17_ln1_bias {nullptr}; void* encoder_layers_17_mha_qkv_weight {nullptr}; void* encoder_layers_17_mha_qkv_bias {nullptr}; void* encoder_layers_17_mha_proj_weight {nullptr}; void* encoder_layers_17_mha_proj_bias {nullptr}; void* encoder_layers_17_ln2_weight {nullptr}; void* encoder_layers_17_ln2_bias {nullptr}; void* encoder_layers_17_mlp_fc1_weight {nullptr}; void* encoder_layers_17_mlp_fc1_bias {nullptr}; void* encoder_layers_17_mlp_fc2_weight {nullptr}; void* encoder_layers_17_mlp_fc2_bias {nullptr}; void* encoder_layers_18_ln1_weight {nullptr}; void* encoder_layers_18_ln1_bias {nullptr}; void* encoder_layers_18_mha_qkv_weight {nullptr}; void* encoder_layers_18_mha_qkv_bias {nullptr}; void* encoder_layers_18_mha_proj_weight {nullptr}; void* encoder_layers_18_mha_proj_bias {nullptr}; void* encoder_layers_18_ln2_weight {nullptr}; void* encoder_layers_18_ln2_bias {nullptr}; void* encoder_layers_18_mlp_fc1_weight {nullptr}; void* encoder_layers_18_mlp_fc1_bias {nullptr}; void* encoder_layers_18_mlp_fc2_weight {nullptr}; void* encoder_layers_18_mlp_fc2_bias {nullptr}; void* encoder_layers_19_ln1_weight {nullptr}; void* encoder_layers_19_ln1_bias {nullptr}; void* encoder_layers_19_mha_qkv_weight {nullptr}; void* encoder_layers_19_mha_qkv_bias {nullptr}; void* encoder_layers_19_mha_proj_weight {nullptr}; void* encoder_layers_19_mha_proj_bias {nullptr}; void* encoder_layers_19_ln2_weight {nullptr}; void* encoder_layers_19_ln2_bias {nullptr}; void* encoder_layers_19_mlp_fc1_weight {nullptr}; void* encoder_layers_19_mlp_fc1_bias {nullptr}; void* encoder_layers_19_mlp_fc2_weight {nullptr}; void* encoder_layers_19_mlp_fc2_bias {nullptr}; void* encoder_layers_20_ln1_weight {nullptr}; void* encoder_layers_20_ln1_bias {nullptr}; void* encoder_layers_20_mha_qkv_weight {nullptr}; void* encoder_layers_20_mha_qkv_bias {nullptr}; void* encoder_layers_20_mha_proj_weight {nullptr}; void* encoder_layers_20_mha_proj_bias {nullptr}; void* encoder_layers_20_ln2_weight {nullptr}; void* encoder_layers_20_ln2_bias {nullptr}; void* encoder_layers_20_mlp_fc1_weight {nullptr}; void* encoder_layers_20_mlp_fc1_bias {nullptr}; void* encoder_layers_20_mlp_fc2_weight {nullptr}; void* encoder_layers_20_mlp_fc2_bias {nullptr}; void* encoder_layers_21_ln1_weight {nullptr}; void* encoder_layers_21_ln1_bias {nullptr}; void* encoder_layers_21_mha_qkv_weight {nullptr}; void* encoder_layers_21_mha_qkv_bias {nullptr}; void* encoder_layers_21_mha_proj_weight {nullptr}; void* encoder_layers_21_mha_proj_bias {nullptr}; void* encoder_layers_21_ln2_weight {nullptr}; void* encoder_layers_21_ln2_bias {nullptr}; void* encoder_layers_21_mlp_fc1_weight {nullptr}; void* encoder_layers_21_mlp_fc1_bias {nullptr}; void* encoder_layers_21_mlp_fc2_weight {nullptr}; void* encoder_layers_21_mlp_fc2_bias {nullptr}; void* encoder_layers_22_ln1_weight {nullptr}; void* encoder_layers_22_ln1_bias {nullptr}; void* encoder_layers_22_mha_qkv_weight {nullptr}; void* encoder_layers_22_mha_qkv_bias {nullptr}; void* encoder_layers_22_mha_proj_weight {nullptr}; void* encoder_layers_22_mha_proj_bias {nullptr}; void* encoder_layers_22_ln2_weight {nullptr}; void* encoder_layers_22_ln2_bias {nullptr}; void* encoder_layers_22_mlp_fc1_weight {nullptr}; void* encoder_layers_22_mlp_fc1_bias {nullptr}; void* encoder_layers_22_mlp_fc2_weight {nullptr}; void* encoder_layers_22_mlp_fc2_bias {nullptr}; void* encoder_layers_23_ln1_weight {nullptr}; void* encoder_layers_23_ln1_bias {nullptr}; void* encoder_layers_23_mha_qkv_weight {nullptr}; void* encoder_layers_23_mha_qkv_bias {nullptr}; void* encoder_layers_23_mha_proj_weight {nullptr}; void* encoder_layers_23_mha_proj_bias {nullptr}; void* encoder_layers_23_ln2_weight {nullptr}; void* encoder_layers_23_ln2_bias {nullptr}; void* encoder_layers_23_mlp_fc1_weight {nullptr}; void* encoder_layers_23_mlp_fc1_bias {nullptr}; void* encoder_layers_23_mlp_fc2_weight {nullptr}; void* encoder_layers_23_mlp_fc2_bias {nullptr}; void* encoder_layers_24_ln1_weight {nullptr}; void* encoder_layers_24_ln1_bias {nullptr}; void* encoder_layers_24_mha_qkv_weight {nullptr}; void* encoder_layers_24_mha_qkv_bias {nullptr}; void* encoder_layers_24_mha_proj_weight {nullptr}; void* encoder_layers_24_mha_proj_bias {nullptr}; void* encoder_layers_24_ln2_weight {nullptr}; void* encoder_layers_24_ln2_bias {nullptr}; void* encoder_layers_24_mlp_fc1_weight {nullptr}; void* encoder_layers_24_mlp_fc1_bias {nullptr}; void* encoder_layers_24_mlp_fc2_weight {nullptr}; void* encoder_layers_24_mlp_fc2_bias {nullptr}; void* encoder_layers_25_ln1_weight {nullptr}; void* encoder_layers_25_ln1_bias {nullptr}; void* encoder_layers_25_mha_qkv_weight {nullptr}; void* encoder_layers_25_mha_qkv_bias {nullptr}; void* encoder_layers_25_mha_proj_weight {nullptr}; void* encoder_layers_25_mha_proj_bias {nullptr}; void* encoder_layers_25_ln2_weight {nullptr}; void* encoder_layers_25_ln2_bias {nullptr}; void* encoder_layers_25_mlp_fc1_weight {nullptr}; void* encoder_layers_25_mlp_fc1_bias {nullptr}; void* encoder_layers_25_mlp_fc2_weight {nullptr}; void* encoder_layers_25_mlp_fc2_bias {nullptr}; void* encoder_layers_26_ln1_weight {nullptr}; void* encoder_layers_26_ln1_bias {nullptr}; void* encoder_layers_26_mha_qkv_weight {nullptr}; void* encoder_layers_26_mha_qkv_bias {nullptr}; void* encoder_layers_26_mha_proj_weight {nullptr}; void* encoder_layers_26_mha_proj_bias {nullptr}; void* encoder_layers_26_ln2_weight {nullptr}; void* encoder_layers_26_ln2_bias {nullptr}; void* encoder_layers_26_mlp_fc1_weight {nullptr}; void* encoder_layers_26_mlp_fc1_bias {nullptr}; void* encoder_layers_26_mlp_fc2_weight {nullptr}; void* encoder_layers_26_mlp_fc2_bias {nullptr}; void* encoder_ln_weight {nullptr}; void* encoder_ln_bias {nullptr}; void* pool_mha_proj_weight {nullptr}; void* pool_mha_proj_bias {nullptr}; void* pool_ln_weight {nullptr}; void* pool_ln_bias {nullptr}; void* pool_mlp_fc1_weight {nullptr}; void* pool_mlp_fc1_bias {nullptr}; void* pool_mlp_fc2_weight {nullptr}; void* pool_mlp_fc2_bias {nullptr}; void* conv2d_bias_few_channels_0_0 {nullptr}; void* elementwise_2_0 {nullptr}; void* layernorm_3_0 {nullptr}; void* reshape_6_0 {nullptr}; void* split_7_0 {nullptr}; void* split_7_1 {nullptr}; void* split_7_2 {nullptr}; void* reshape_8_0 {nullptr}; void* reshape_9_0 {nullptr}; void* reshape_10_0 {nullptr}; void* mem_eff_attention_11_0 {nullptr}; void* reshape_14_0 {nullptr}; void* elementwise_15_0 {nullptr}; void* layernorm_16_0 {nullptr}; void* gemm_rcr_bias_gelu_17_0 {nullptr}; void* reshape_19_0 {nullptr}; void* elementwise_20_0 {nullptr}; void* layernorm_21_0 {nullptr}; void* reshape_24_0 {nullptr}; void* split_25_0 {nullptr}; void* split_25_1 {nullptr}; void* split_25_2 {nullptr}; void* reshape_26_0 {nullptr}; void* reshape_27_0 {nullptr}; void* reshape_28_0 {nullptr}; void* mem_eff_attention_29_0 {nullptr}; void* reshape_32_0 {nullptr}; void* elementwise_33_0 {nullptr}; void* layernorm_34_0 {nullptr}; void* gemm_rcr_bias_gelu_35_0 {nullptr}; void* reshape_37_0 {nullptr}; void* elementwise_38_0 {nullptr}; void* layernorm_39_0 {nullptr}; void* reshape_42_0 {nullptr}; void* split_43_0 {nullptr}; void* split_43_1 {nullptr}; void* split_43_2 {nullptr}; void* reshape_44_0 {nullptr}; void* reshape_45_0 {nullptr}; void* reshape_46_0 {nullptr}; void* mem_eff_attention_47_0 {nullptr}; void* reshape_50_0 {nullptr}; void* elementwise_51_0 {nullptr}; void* layernorm_52_0 {nullptr}; void* gemm_rcr_bias_gelu_53_0 {nullptr}; void* reshape_55_0 {nullptr}; void* elementwise_56_0 {nullptr}; void* layernorm_57_0 {nullptr}; void* reshape_60_0 {nullptr}; void* split_61_0 {nullptr}; void* split_61_1 {nullptr}; void* split_61_2 {nullptr}; void* reshape_62_0 {nullptr}; void* reshape_63_0 {nullptr}; void* reshape_64_0 {nullptr}; void* mem_eff_attention_65_0 {nullptr}; void* reshape_68_0 {nullptr}; void* elementwise_69_0 {nullptr}; void* layernorm_70_0 {nullptr}; void* gemm_rcr_bias_gelu_71_0 {nullptr}; void* reshape_73_0 {nullptr}; void* elementwise_74_0 {nullptr}; void* layernorm_75_0 {nullptr}; void* reshape_78_0 {nullptr}; void* split_79_0 {nullptr}; void* split_79_1 {nullptr}; void* split_79_2 {nullptr}; void* reshape_80_0 {nullptr}; void* reshape_81_0 {nullptr}; void* reshape_82_0 {nullptr}; void* mem_eff_attention_83_0 {nullptr}; void* reshape_86_0 {nullptr}; void* elementwise_87_0 {nullptr}; void* layernorm_88_0 {nullptr}; void* gemm_rcr_bias_gelu_89_0 {nullptr}; void* reshape_91_0 {nullptr}; void* elementwise_92_0 {nullptr}; void* layernorm_93_0 {nullptr}; void* reshape_96_0 {nullptr}; void* split_97_0 {nullptr}; void* split_97_1 {nullptr}; void* split_97_2 {nullptr}; void* reshape_98_0 {nullptr}; void* reshape_99_0 {nullptr}; void* reshape_100_0 {nullptr}; void* mem_eff_attention_101_0 {nullptr}; void* reshape_104_0 {nullptr}; void* elementwise_105_0 {nullptr}; void* layernorm_106_0 {nullptr}; void* gemm_rcr_bias_gelu_107_0 {nullptr}; void* reshape_109_0 {nullptr}; void* elementwise_110_0 {nullptr}; void* layernorm_111_0 {nullptr}; void* reshape_114_0 {nullptr}; void* split_115_0 {nullptr}; void* split_115_1 {nullptr}; void* split_115_2 {nullptr}; void* reshape_116_0 {nullptr}; void* reshape_117_0 {nullptr}; void* reshape_118_0 {nullptr}; void* mem_eff_attention_119_0 {nullptr}; void* reshape_122_0 {nullptr}; void* elementwise_123_0 {nullptr}; void* layernorm_124_0 {nullptr}; void* gemm_rcr_bias_gelu_125_0 {nullptr}; void* reshape_127_0 {nullptr}; void* elementwise_128_0 {nullptr}; void* layernorm_129_0 {nullptr}; void* reshape_132_0 {nullptr}; void* split_133_0 {nullptr}; void* split_133_1 {nullptr}; void* split_133_2 {nullptr}; void* reshape_134_0 {nullptr}; void* reshape_135_0 {nullptr}; void* reshape_136_0 {nullptr}; void* mem_eff_attention_137_0 {nullptr}; void* reshape_140_0 {nullptr}; void* elementwise_141_0 {nullptr}; void* layernorm_142_0 {nullptr}; void* gemm_rcr_bias_gelu_143_0 {nullptr}; void* reshape_145_0 {nullptr}; void* elementwise_146_0 {nullptr}; void* layernorm_147_0 {nullptr}; void* reshape_150_0 {nullptr}; void* split_151_0 {nullptr}; void* split_151_1 {nullptr}; void* split_151_2 {nullptr}; void* reshape_152_0 {nullptr}; void* reshape_153_0 {nullptr}; void* reshape_154_0 {nullptr}; void* mem_eff_attention_155_0 {nullptr}; void* reshape_158_0 {nullptr}; void* elementwise_159_0 {nullptr}; void* layernorm_160_0 {nullptr}; void* gemm_rcr_bias_gelu_161_0 {nullptr}; void* reshape_163_0 {nullptr}; void* elementwise_164_0 {nullptr}; void* layernorm_165_0 {nullptr}; void* reshape_168_0 {nullptr}; void* split_169_0 {nullptr}; void* split_169_1 {nullptr}; void* split_169_2 {nullptr}; void* reshape_170_0 {nullptr}; void* reshape_171_0 {nullptr}; void* reshape_172_0 {nullptr}; void* mem_eff_attention_173_0 {nullptr}; void* reshape_176_0 {nullptr}; void* elementwise_177_0 {nullptr}; void* layernorm_178_0 {nullptr}; void* gemm_rcr_bias_gelu_179_0 {nullptr}; void* reshape_181_0 {nullptr}; void* elementwise_182_0 {nullptr}; void* layernorm_183_0 {nullptr}; void* reshape_186_0 {nullptr}; void* split_187_0 {nullptr}; void* split_187_1 {nullptr}; void* split_187_2 {nullptr}; void* reshape_188_0 {nullptr}; void* reshape_189_0 {nullptr}; void* reshape_190_0 {nullptr}; void* mem_eff_attention_191_0 {nullptr}; void* reshape_194_0 {nullptr}; void* elementwise_195_0 {nullptr}; void* layernorm_196_0 {nullptr}; void* gemm_rcr_bias_gelu_197_0 {nullptr}; void* reshape_199_0 {nullptr}; void* elementwise_200_0 {nullptr}; void* layernorm_201_0 {nullptr}; void* reshape_204_0 {nullptr}; void* split_205_0 {nullptr}; void* split_205_1 {nullptr}; void* split_205_2 {nullptr}; void* reshape_206_0 {nullptr}; void* reshape_207_0 {nullptr}; void* reshape_208_0 {nullptr}; void* mem_eff_attention_209_0 {nullptr}; void* reshape_212_0 {nullptr}; void* elementwise_213_0 {nullptr}; void* layernorm_214_0 {nullptr}; void* gemm_rcr_bias_gelu_215_0 {nullptr}; void* reshape_217_0 {nullptr}; void* elementwise_218_0 {nullptr}; void* layernorm_219_0 {nullptr}; void* reshape_222_0 {nullptr}; void* split_223_0 {nullptr}; void* split_223_1 {nullptr}; void* split_223_2 {nullptr}; void* reshape_224_0 {nullptr}; void* reshape_225_0 {nullptr}; void* reshape_226_0 {nullptr}; void* mem_eff_attention_227_0 {nullptr}; void* reshape_230_0 {nullptr}; void* elementwise_231_0 {nullptr}; void* layernorm_232_0 {nullptr}; void* gemm_rcr_bias_gelu_233_0 {nullptr}; void* reshape_235_0 {nullptr}; void* elementwise_236_0 {nullptr}; void* layernorm_237_0 {nullptr}; void* reshape_240_0 {nullptr}; void* split_241_0 {nullptr}; void* split_241_1 {nullptr}; void* split_241_2 {nullptr}; void* reshape_242_0 {nullptr}; void* reshape_243_0 {nullptr}; void* reshape_244_0 {nullptr}; void* mem_eff_attention_245_0 {nullptr}; void* reshape_248_0 {nullptr}; void* elementwise_249_0 {nullptr}; void* layernorm_250_0 {nullptr}; void* gemm_rcr_bias_gelu_251_0 {nullptr}; void* reshape_253_0 {nullptr}; void* elementwise_254_0 {nullptr}; void* layernorm_255_0 {nullptr}; void* reshape_258_0 {nullptr}; void* split_259_0 {nullptr}; void* split_259_1 {nullptr}; void* split_259_2 {nullptr}; void* reshape_260_0 {nullptr}; void* reshape_261_0 {nullptr}; void* reshape_262_0 {nullptr}; void* mem_eff_attention_263_0 {nullptr}; void* reshape_266_0 {nullptr}; void* elementwise_267_0 {nullptr}; void* layernorm_268_0 {nullptr}; void* gemm_rcr_bias_gelu_269_0 {nullptr}; void* reshape_271_0 {nullptr}; void* elementwise_272_0 {nullptr}; void* layernorm_273_0 {nullptr}; void* reshape_276_0 {nullptr}; void* split_277_0 {nullptr}; void* split_277_1 {nullptr}; void* split_277_2 {nullptr}; void* reshape_278_0 {nullptr}; void* reshape_279_0 {nullptr}; void* reshape_280_0 {nullptr}; void* mem_eff_attention_281_0 {nullptr}; void* reshape_284_0 {nullptr}; void* elementwise_285_0 {nullptr}; void* layernorm_286_0 {nullptr}; void* gemm_rcr_bias_gelu_287_0 {nullptr}; void* reshape_289_0 {nullptr}; void* elementwise_290_0 {nullptr}; void* layernorm_291_0 {nullptr}; void* reshape_294_0 {nullptr}; void* split_295_0 {nullptr}; void* split_295_1 {nullptr}; void* split_295_2 {nullptr}; void* reshape_296_0 {nullptr}; void* reshape_297_0 {nullptr}; void* reshape_298_0 {nullptr}; void* mem_eff_attention_299_0 {nullptr}; void* reshape_302_0 {nullptr}; void* elementwise_303_0 {nullptr}; void* layernorm_304_0 {nullptr}; void* gemm_rcr_bias_gelu_305_0 {nullptr}; void* reshape_307_0 {nullptr}; void* elementwise_308_0 {nullptr}; void* layernorm_309_0 {nullptr}; void* reshape_312_0 {nullptr}; void* split_313_0 {nullptr}; void* split_313_1 {nullptr}; void* split_313_2 {nullptr}; void* reshape_314_0 {nullptr}; void* reshape_315_0 {nullptr}; void* reshape_316_0 {nullptr}; void* mem_eff_attention_317_0 {nullptr}; void* reshape_320_0 {nullptr}; void* elementwise_321_0 {nullptr}; void* layernorm_322_0 {nullptr}; void* gemm_rcr_bias_gelu_323_0 {nullptr}; void* reshape_325_0 {nullptr}; void* elementwise_326_0 {nullptr}; void* layernorm_327_0 {nullptr}; void* reshape_330_0 {nullptr}; void* split_331_0 {nullptr}; void* split_331_1 {nullptr}; void* split_331_2 {nullptr}; void* reshape_332_0 {nullptr}; void* reshape_333_0 {nullptr}; void* reshape_334_0 {nullptr}; void* mem_eff_attention_335_0 {nullptr}; void* reshape_338_0 {nullptr}; void* elementwise_339_0 {nullptr}; void* layernorm_340_0 {nullptr}; void* gemm_rcr_bias_gelu_341_0 {nullptr}; void* reshape_343_0 {nullptr}; void* elementwise_344_0 {nullptr}; void* layernorm_345_0 {nullptr}; void* reshape_348_0 {nullptr}; void* split_349_0 {nullptr}; void* split_349_1 {nullptr}; void* split_349_2 {nullptr}; void* reshape_350_0 {nullptr}; void* reshape_351_0 {nullptr}; void* reshape_352_0 {nullptr}; void* mem_eff_attention_353_0 {nullptr}; void* reshape_356_0 {nullptr}; void* elementwise_357_0 {nullptr}; void* layernorm_358_0 {nullptr}; void* gemm_rcr_bias_gelu_359_0 {nullptr}; void* reshape_361_0 {nullptr}; void* elementwise_362_0 {nullptr}; void* layernorm_363_0 {nullptr}; void* reshape_366_0 {nullptr}; void* split_367_0 {nullptr}; void* split_367_1 {nullptr}; void* split_367_2 {nullptr}; void* reshape_368_0 {nullptr}; void* reshape_369_0 {nullptr}; void* reshape_370_0 {nullptr}; void* mem_eff_attention_371_0 {nullptr}; void* reshape_374_0 {nullptr}; void* elementwise_375_0 {nullptr}; void* layernorm_376_0 {nullptr}; void* gemm_rcr_bias_gelu_377_0 {nullptr}; void* reshape_379_0 {nullptr}; void* elementwise_380_0 {nullptr}; void* layernorm_381_0 {nullptr}; void* reshape_384_0 {nullptr}; void* split_385_0 {nullptr}; void* split_385_1 {nullptr}; void* split_385_2 {nullptr}; void* reshape_386_0 {nullptr}; void* reshape_387_0 {nullptr}; void* reshape_388_0 {nullptr}; void* mem_eff_attention_389_0 {nullptr}; void* reshape_392_0 {nullptr}; void* elementwise_393_0 {nullptr}; void* layernorm_394_0 {nullptr}; void* gemm_rcr_bias_gelu_395_0 {nullptr}; void* reshape_397_0 {nullptr}; void* elementwise_398_0 {nullptr}; void* layernorm_399_0 {nullptr}; void* reshape_402_0 {nullptr}; void* split_403_0 {nullptr}; void* split_403_1 {nullptr}; void* split_403_2 {nullptr}; void* reshape_404_0 {nullptr}; void* reshape_405_0 {nullptr}; void* reshape_406_0 {nullptr}; void* mem_eff_attention_407_0 {nullptr}; void* reshape_410_0 {nullptr}; void* elementwise_411_0 {nullptr}; void* layernorm_412_0 {nullptr}; void* gemm_rcr_bias_gelu_413_0 {nullptr}; void* reshape_415_0 {nullptr}; void* elementwise_416_0 {nullptr}; void* layernorm_417_0 {nullptr}; void* reshape_420_0 {nullptr}; void* split_421_0 {nullptr}; void* split_421_1 {nullptr}; void* split_421_2 {nullptr}; void* reshape_422_0 {nullptr}; void* reshape_423_0 {nullptr}; void* reshape_424_0 {nullptr}; void* mem_eff_attention_425_0 {nullptr}; void* reshape_428_0 {nullptr}; void* elementwise_429_0 {nullptr}; void* layernorm_430_0 {nullptr}; void* gemm_rcr_bias_gelu_431_0 {nullptr}; void* reshape_433_0 {nullptr}; void* elementwise_434_0 {nullptr}; void* layernorm_435_0 {nullptr}; void* reshape_438_0 {nullptr}; void* split_439_0 {nullptr}; void* split_439_1 {nullptr}; void* split_439_2 {nullptr}; void* reshape_440_0 {nullptr}; void* reshape_441_0 {nullptr}; void* reshape_442_0 {nullptr}; void* mem_eff_attention_443_0 {nullptr}; void* reshape_446_0 {nullptr}; void* elementwise_447_0 {nullptr}; void* layernorm_448_0 {nullptr}; void* gemm_rcr_bias_gelu_449_0 {nullptr}; void* reshape_451_0 {nullptr}; void* elementwise_452_0 {nullptr}; void* layernorm_453_0 {nullptr}; void* reshape_456_0 {nullptr}; void* split_457_0 {nullptr}; void* split_457_1 {nullptr}; void* split_457_2 {nullptr}; void* reshape_458_0 {nullptr}; void* reshape_459_0 {nullptr}; void* reshape_460_0 {nullptr}; void* mem_eff_attention_461_0 {nullptr}; void* reshape_464_0 {nullptr}; void* elementwise_465_0 {nullptr}; void* layernorm_466_0 {nullptr}; void* gemm_rcr_bias_gelu_467_0 {nullptr}; void* reshape_469_0 {nullptr}; void* elementwise_470_0 {nullptr}; void* layernorm_471_0 {nullptr}; void* reshape_474_0 {nullptr}; void* split_475_0 {nullptr}; void* split_475_1 {nullptr}; void* split_475_2 {nullptr}; void* reshape_476_0 {nullptr}; void* reshape_477_0 {nullptr}; void* reshape_478_0 {nullptr}; void* mem_eff_attention_479_0 {nullptr}; void* reshape_482_0 {nullptr}; void* elementwise_483_0 {nullptr}; void* layernorm_484_0 {nullptr}; void* gemm_rcr_bias_gelu_485_0 {nullptr}; void* reshape_487_0 {nullptr}; void* elementwise_488_0 {nullptr}; void* layernorm_489_0 {nullptr}; void* mem_eff_attention_498_0 {nullptr}; void* reshape_501_0 {nullptr}; void* layernorm_502_0 {nullptr}; void* gemm_rcr_bias_gelu_503_0 {nullptr}; void* reshape_505_0 {nullptr}; void* output_0 {nullptr}; int64_t pool_probe_dim_0 { 1 }; int64_t pool_probe_dim_1 { 1 }; int64_t pool_probe_dim_2 { 1152 }; int64_t pool_mha_qkv_weight_dim_0 { 3456 }; int64_t pool_mha_qkv_weight_dim_1 { 1152 }; int64_t pool_mha_qkv_bias_dim_0 { 3456 }; int64_t input0_dim_0 { 64 }; int64_t input0_dim_1 { 384 }; int64_t input0_dim_2 { 384 }; int64_t input0_dim_3 { 3 }; int64_t patch_embed_proj_weight_dim_0 { 1152 }; int64_t patch_embed_proj_weight_dim_1 { 14 }; int64_t patch_embed_proj_weight_dim_2 { 14 }; int64_t patch_embed_proj_weight_dim_3 { 3 }; int64_t patch_embed_proj_bias_dim_0 { 1152 }; int64_t pos_emb_pos_emb_dim_0 { 1 }; int64_t pos_emb_pos_emb_dim_1 { 729 }; int64_t pos_emb_pos_emb_dim_2 { 1152 }; int64_t encoder_layers_0_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_0_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_0_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_0_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_0_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_0_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_0_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_0_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_0_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_0_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_0_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_0_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_0_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_0_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_0_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_0_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_1_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_1_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_1_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_1_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_1_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_1_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_1_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_1_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_1_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_1_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_1_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_1_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_1_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_1_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_1_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_1_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_2_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_2_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_2_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_2_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_2_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_2_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_2_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_2_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_2_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_2_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_2_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_2_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_2_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_2_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_2_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_2_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_3_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_3_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_3_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_3_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_3_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_3_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_3_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_3_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_3_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_3_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_3_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_3_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_3_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_3_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_3_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_3_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_4_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_4_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_4_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_4_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_4_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_4_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_4_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_4_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_4_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_4_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_4_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_4_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_4_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_4_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_4_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_4_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_5_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_5_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_5_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_5_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_5_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_5_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_5_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_5_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_5_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_5_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_5_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_5_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_5_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_5_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_5_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_5_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_6_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_6_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_6_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_6_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_6_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_6_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_6_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_6_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_6_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_6_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_6_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_6_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_6_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_6_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_6_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_6_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_7_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_7_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_7_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_7_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_7_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_7_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_7_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_7_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_7_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_7_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_7_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_7_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_7_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_7_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_7_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_7_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_8_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_8_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_8_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_8_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_8_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_8_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_8_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_8_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_8_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_8_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_8_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_8_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_8_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_8_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_8_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_8_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_9_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_9_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_9_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_9_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_9_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_9_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_9_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_9_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_9_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_9_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_9_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_9_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_9_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_9_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_9_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_9_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_10_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_10_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_10_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_10_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_10_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_10_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_10_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_10_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_10_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_10_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_10_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_10_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_10_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_10_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_10_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_10_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_11_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_11_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_11_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_11_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_11_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_11_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_11_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_11_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_11_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_11_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_11_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_11_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_11_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_11_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_11_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_11_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_12_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_12_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_12_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_12_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_12_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_12_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_12_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_12_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_12_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_12_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_12_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_12_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_12_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_12_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_12_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_12_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_13_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_13_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_13_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_13_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_13_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_13_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_13_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_13_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_13_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_13_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_13_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_13_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_13_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_13_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_13_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_13_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_14_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_14_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_14_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_14_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_14_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_14_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_14_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_14_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_14_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_14_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_14_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_14_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_14_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_14_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_14_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_14_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_15_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_15_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_15_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_15_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_15_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_15_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_15_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_15_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_15_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_15_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_15_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_15_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_15_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_15_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_15_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_15_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_16_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_16_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_16_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_16_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_16_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_16_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_16_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_16_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_16_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_16_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_16_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_16_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_16_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_16_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_16_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_16_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_17_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_17_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_17_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_17_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_17_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_17_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_17_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_17_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_17_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_17_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_17_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_17_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_17_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_17_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_17_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_17_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_18_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_18_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_18_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_18_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_18_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_18_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_18_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_18_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_18_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_18_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_18_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_18_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_18_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_18_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_18_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_18_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_19_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_19_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_19_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_19_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_19_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_19_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_19_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_19_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_19_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_19_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_19_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_19_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_19_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_19_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_19_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_19_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_20_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_20_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_20_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_20_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_20_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_20_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_20_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_20_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_20_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_20_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_20_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_20_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_20_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_20_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_20_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_20_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_21_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_21_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_21_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_21_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_21_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_21_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_21_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_21_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_21_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_21_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_21_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_21_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_21_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_21_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_21_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_21_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_22_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_22_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_22_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_22_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_22_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_22_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_22_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_22_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_22_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_22_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_22_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_22_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_22_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_22_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_22_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_22_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_23_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_23_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_23_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_23_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_23_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_23_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_23_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_23_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_23_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_23_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_23_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_23_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_23_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_23_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_23_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_23_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_24_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_24_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_24_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_24_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_24_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_24_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_24_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_24_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_24_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_24_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_24_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_24_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_24_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_24_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_24_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_24_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_25_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_25_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_25_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_25_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_25_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_25_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_25_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_25_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_25_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_25_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_25_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_25_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_25_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_25_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_25_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_25_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_layers_26_ln1_weight_dim_0 { 1152 }; int64_t encoder_layers_26_ln1_bias_dim_0 { 1152 }; int64_t encoder_layers_26_mha_qkv_weight_dim_0 { 3456 }; int64_t encoder_layers_26_mha_qkv_weight_dim_1 { 1152 }; int64_t encoder_layers_26_mha_qkv_bias_dim_0 { 3456 }; int64_t encoder_layers_26_mha_proj_weight_dim_0 { 1152 }; int64_t encoder_layers_26_mha_proj_weight_dim_1 { 1152 }; int64_t encoder_layers_26_mha_proj_bias_dim_0 { 1152 }; int64_t encoder_layers_26_ln2_weight_dim_0 { 1152 }; int64_t encoder_layers_26_ln2_bias_dim_0 { 1152 }; int64_t encoder_layers_26_mlp_fc1_weight_dim_0 { 4304 }; int64_t encoder_layers_26_mlp_fc1_weight_dim_1 { 1152 }; int64_t encoder_layers_26_mlp_fc1_bias_dim_0 { 4304 }; int64_t encoder_layers_26_mlp_fc2_weight_dim_0 { 1152 }; int64_t encoder_layers_26_mlp_fc2_weight_dim_1 { 4304 }; int64_t encoder_layers_26_mlp_fc2_bias_dim_0 { 1152 }; int64_t encoder_ln_weight_dim_0 { 1152 }; int64_t encoder_ln_bias_dim_0 { 1152 }; int64_t pool_mha_proj_weight_dim_0 { 1152 }; int64_t pool_mha_proj_weight_dim_1 { 1152 }; int64_t pool_mha_proj_bias_dim_0 { 1152 }; int64_t pool_ln_weight_dim_0 { 1152 }; int64_t pool_ln_bias_dim_0 { 1152 }; int64_t pool_mlp_fc1_weight_dim_0 { 4304 }; int64_t pool_mlp_fc1_weight_dim_1 { 1152 }; int64_t pool_mlp_fc1_bias_dim_0 { 4304 }; int64_t pool_mlp_fc2_weight_dim_0 { 1152 }; int64_t pool_mlp_fc2_weight_dim_1 { 4304 }; int64_t pool_mlp_fc2_bias_dim_0 { 1152 }; int64_t conv2d_bias_few_channels_0_0_dim_1 { 27 }; int64_t conv2d_bias_few_channels_0_0_dim_2 { 27 }; int64_t conv2d_bias_few_channels_0_0_dim_3 { 1152 }; int64_t reshape_1_0_dim_0 { 64 }; int64_t reshape_1_0_dim_1 { 729 }; int64_t reshape_1_0_dim_2 { 1152 }; int64_t reshape_6_0_dim_0 { 3 }; int64_t reshape_6_0_dim_1 { 64 }; int64_t reshape_6_0_dim_2 { 16 }; int64_t reshape_6_0_dim_3 { 729 }; int64_t reshape_6_0_dim_4 { 72 }; int64_t reshape_4_0_dim_0 { 46656 }; int64_t reshape_4_0_dim_1 { 1152 }; int64_t split_7_0_dim_0 { 1 }; int64_t split_7_1_dim_0 { 1 }; int64_t split_7_2_dim_0 { 1 }; int64_t reshape_8_0_dim_0 { 64 }; int64_t reshape_8_0_dim_1 { 16 }; int64_t reshape_8_0_dim_2 { 729 }; int64_t reshape_8_0_dim_3 { 72 }; int64_t reshape_9_0_dim_0 { 64 }; int64_t reshape_9_0_dim_1 { 16 }; int64_t reshape_9_0_dim_2 { 729 }; int64_t reshape_9_0_dim_3 { 72 }; int64_t reshape_10_0_dim_0 { 64 }; int64_t reshape_10_0_dim_1 { 16 }; int64_t reshape_10_0_dim_2 { 729 }; int64_t reshape_10_0_dim_3 { 72 }; int64_t reshape_14_0_dim_0 { 64 }; int64_t reshape_14_0_dim_1 { 729 }; int64_t reshape_14_0_dim_2 { 1152 }; int64_t reshape_12_0_dim_0 { 46656 }; int64_t reshape_12_0_dim_1 { 1152 }; int64_t reshape_19_0_dim_0 { 64 }; int64_t reshape_19_0_dim_1 { 729 }; int64_t reshape_19_0_dim_2 { 1152 }; int64_t reshape_24_0_dim_0 { 3 }; int64_t reshape_24_0_dim_1 { 64 }; int64_t reshape_24_0_dim_2 { 16 }; int64_t reshape_24_0_dim_3 { 729 }; int64_t reshape_24_0_dim_4 { 72 }; int64_t reshape_22_0_dim_0 { 46656 }; int64_t reshape_22_0_dim_1 { 1152 }; int64_t split_25_0_dim_0 { 1 }; int64_t split_25_1_dim_0 { 1 }; int64_t split_25_2_dim_0 { 1 }; int64_t reshape_26_0_dim_0 { 64 }; int64_t reshape_26_0_dim_1 { 16 }; int64_t reshape_26_0_dim_2 { 729 }; int64_t reshape_26_0_dim_3 { 72 }; int64_t reshape_27_0_dim_0 { 64 }; int64_t reshape_27_0_dim_1 { 16 }; int64_t reshape_27_0_dim_2 { 729 }; int64_t reshape_27_0_dim_3 { 72 }; int64_t reshape_28_0_dim_0 { 64 }; int64_t reshape_28_0_dim_1 { 16 }; int64_t reshape_28_0_dim_2 { 729 }; int64_t reshape_28_0_dim_3 { 72 }; int64_t reshape_32_0_dim_0 { 64 }; int64_t reshape_32_0_dim_1 { 729 }; int64_t reshape_32_0_dim_2 { 1152 }; int64_t reshape_30_0_dim_0 { 46656 }; int64_t reshape_30_0_dim_1 { 1152 }; int64_t reshape_37_0_dim_0 { 64 }; int64_t reshape_37_0_dim_1 { 729 }; int64_t reshape_37_0_dim_2 { 1152 }; int64_t reshape_42_0_dim_0 { 3 }; int64_t reshape_42_0_dim_1 { 64 }; int64_t reshape_42_0_dim_2 { 16 }; int64_t reshape_42_0_dim_3 { 729 }; int64_t reshape_42_0_dim_4 { 72 }; int64_t reshape_40_0_dim_0 { 46656 }; int64_t reshape_40_0_dim_1 { 1152 }; int64_t split_43_0_dim_0 { 1 }; int64_t split_43_1_dim_0 { 1 }; int64_t split_43_2_dim_0 { 1 }; int64_t reshape_44_0_dim_0 { 64 }; int64_t reshape_44_0_dim_1 { 16 }; int64_t reshape_44_0_dim_2 { 729 }; int64_t reshape_44_0_dim_3 { 72 }; int64_t reshape_45_0_dim_0 { 64 }; int64_t reshape_45_0_dim_1 { 16 }; int64_t reshape_45_0_dim_2 { 729 }; int64_t reshape_45_0_dim_3 { 72 }; int64_t reshape_46_0_dim_0 { 64 }; int64_t reshape_46_0_dim_1 { 16 }; int64_t reshape_46_0_dim_2 { 729 }; int64_t reshape_46_0_dim_3 { 72 }; int64_t reshape_50_0_dim_0 { 64 }; int64_t reshape_50_0_dim_1 { 729 }; int64_t reshape_50_0_dim_2 { 1152 }; int64_t reshape_48_0_dim_0 { 46656 }; int64_t reshape_48_0_dim_1 { 1152 }; int64_t reshape_55_0_dim_0 { 64 }; int64_t reshape_55_0_dim_1 { 729 }; int64_t reshape_55_0_dim_2 { 1152 }; int64_t reshape_60_0_dim_0 { 3 }; int64_t reshape_60_0_dim_1 { 64 }; int64_t reshape_60_0_dim_2 { 16 }; int64_t reshape_60_0_dim_3 { 729 }; int64_t reshape_60_0_dim_4 { 72 }; int64_t reshape_58_0_dim_0 { 46656 }; int64_t reshape_58_0_dim_1 { 1152 }; int64_t split_61_0_dim_0 { 1 }; int64_t split_61_1_dim_0 { 1 }; int64_t split_61_2_dim_0 { 1 }; int64_t reshape_62_0_dim_0 { 64 }; int64_t reshape_62_0_dim_1 { 16 }; int64_t reshape_62_0_dim_2 { 729 }; int64_t reshape_62_0_dim_3 { 72 }; int64_t reshape_63_0_dim_0 { 64 }; int64_t reshape_63_0_dim_1 { 16 }; int64_t reshape_63_0_dim_2 { 729 }; int64_t reshape_63_0_dim_3 { 72 }; int64_t reshape_64_0_dim_0 { 64 }; int64_t reshape_64_0_dim_1 { 16 }; int64_t reshape_64_0_dim_2 { 729 }; int64_t reshape_64_0_dim_3 { 72 }; int64_t reshape_68_0_dim_0 { 64 }; int64_t reshape_68_0_dim_1 { 729 }; int64_t reshape_68_0_dim_2 { 1152 }; int64_t reshape_66_0_dim_0 { 46656 }; int64_t reshape_66_0_dim_1 { 1152 }; int64_t reshape_73_0_dim_0 { 64 }; int64_t reshape_73_0_dim_1 { 729 }; int64_t reshape_73_0_dim_2 { 1152 }; int64_t reshape_78_0_dim_0 { 3 }; int64_t reshape_78_0_dim_1 { 64 }; int64_t reshape_78_0_dim_2 { 16 }; int64_t reshape_78_0_dim_3 { 729 }; int64_t reshape_78_0_dim_4 { 72 }; int64_t reshape_76_0_dim_0 { 46656 }; int64_t reshape_76_0_dim_1 { 1152 }; int64_t split_79_0_dim_0 { 1 }; int64_t split_79_1_dim_0 { 1 }; int64_t split_79_2_dim_0 { 1 }; int64_t reshape_80_0_dim_0 { 64 }; int64_t reshape_80_0_dim_1 { 16 }; int64_t reshape_80_0_dim_2 { 729 }; int64_t reshape_80_0_dim_3 { 72 }; int64_t reshape_81_0_dim_0 { 64 }; int64_t reshape_81_0_dim_1 { 16 }; int64_t reshape_81_0_dim_2 { 729 }; int64_t reshape_81_0_dim_3 { 72 }; int64_t reshape_82_0_dim_0 { 64 }; int64_t reshape_82_0_dim_1 { 16 }; int64_t reshape_82_0_dim_2 { 729 }; int64_t reshape_82_0_dim_3 { 72 }; int64_t reshape_86_0_dim_0 { 64 }; int64_t reshape_86_0_dim_1 { 729 }; int64_t reshape_86_0_dim_2 { 1152 }; int64_t reshape_84_0_dim_0 { 46656 }; int64_t reshape_84_0_dim_1 { 1152 }; int64_t reshape_91_0_dim_0 { 64 }; int64_t reshape_91_0_dim_1 { 729 }; int64_t reshape_91_0_dim_2 { 1152 }; int64_t reshape_96_0_dim_0 { 3 }; int64_t reshape_96_0_dim_1 { 64 }; int64_t reshape_96_0_dim_2 { 16 }; int64_t reshape_96_0_dim_3 { 729 }; int64_t reshape_96_0_dim_4 { 72 }; int64_t reshape_94_0_dim_0 { 46656 }; int64_t reshape_94_0_dim_1 { 1152 }; int64_t split_97_0_dim_0 { 1 }; int64_t split_97_1_dim_0 { 1 }; int64_t split_97_2_dim_0 { 1 }; int64_t reshape_98_0_dim_0 { 64 }; int64_t reshape_98_0_dim_1 { 16 }; int64_t reshape_98_0_dim_2 { 729 }; int64_t reshape_98_0_dim_3 { 72 }; int64_t reshape_99_0_dim_0 { 64 }; int64_t reshape_99_0_dim_1 { 16 }; int64_t reshape_99_0_dim_2 { 729 }; int64_t reshape_99_0_dim_3 { 72 }; int64_t reshape_100_0_dim_0 { 64 }; int64_t reshape_100_0_dim_1 { 16 }; int64_t reshape_100_0_dim_2 { 729 }; int64_t reshape_100_0_dim_3 { 72 }; int64_t reshape_104_0_dim_0 { 64 }; int64_t reshape_104_0_dim_1 { 729 }; int64_t reshape_104_0_dim_2 { 1152 }; int64_t reshape_102_0_dim_0 { 46656 }; int64_t reshape_102_0_dim_1 { 1152 }; int64_t reshape_109_0_dim_0 { 64 }; int64_t reshape_109_0_dim_1 { 729 }; int64_t reshape_109_0_dim_2 { 1152 }; int64_t reshape_114_0_dim_0 { 3 }; int64_t reshape_114_0_dim_1 { 64 }; int64_t reshape_114_0_dim_2 { 16 }; int64_t reshape_114_0_dim_3 { 729 }; int64_t reshape_114_0_dim_4 { 72 }; int64_t reshape_112_0_dim_0 { 46656 }; int64_t reshape_112_0_dim_1 { 1152 }; int64_t split_115_0_dim_0 { 1 }; int64_t split_115_1_dim_0 { 1 }; int64_t split_115_2_dim_0 { 1 }; int64_t reshape_116_0_dim_0 { 64 }; int64_t reshape_116_0_dim_1 { 16 }; int64_t reshape_116_0_dim_2 { 729 }; int64_t reshape_116_0_dim_3 { 72 }; int64_t reshape_117_0_dim_0 { 64 }; int64_t reshape_117_0_dim_1 { 16 }; int64_t reshape_117_0_dim_2 { 729 }; int64_t reshape_117_0_dim_3 { 72 }; int64_t reshape_118_0_dim_0 { 64 }; int64_t reshape_118_0_dim_1 { 16 }; int64_t reshape_118_0_dim_2 { 729 }; int64_t reshape_118_0_dim_3 { 72 }; int64_t reshape_122_0_dim_0 { 64 }; int64_t reshape_122_0_dim_1 { 729 }; int64_t reshape_122_0_dim_2 { 1152 }; int64_t reshape_120_0_dim_0 { 46656 }; int64_t reshape_120_0_dim_1 { 1152 }; int64_t reshape_127_0_dim_0 { 64 }; int64_t reshape_127_0_dim_1 { 729 }; int64_t reshape_127_0_dim_2 { 1152 }; int64_t reshape_132_0_dim_0 { 3 }; int64_t reshape_132_0_dim_1 { 64 }; int64_t reshape_132_0_dim_2 { 16 }; int64_t reshape_132_0_dim_3 { 729 }; int64_t reshape_132_0_dim_4 { 72 }; int64_t reshape_130_0_dim_0 { 46656 }; int64_t reshape_130_0_dim_1 { 1152 }; int64_t split_133_0_dim_0 { 1 }; int64_t split_133_1_dim_0 { 1 }; int64_t split_133_2_dim_0 { 1 }; int64_t reshape_134_0_dim_0 { 64 }; int64_t reshape_134_0_dim_1 { 16 }; int64_t reshape_134_0_dim_2 { 729 }; int64_t reshape_134_0_dim_3 { 72 }; int64_t reshape_135_0_dim_0 { 64 }; int64_t reshape_135_0_dim_1 { 16 }; int64_t reshape_135_0_dim_2 { 729 }; int64_t reshape_135_0_dim_3 { 72 }; int64_t reshape_136_0_dim_0 { 64 }; int64_t reshape_136_0_dim_1 { 16 }; int64_t reshape_136_0_dim_2 { 729 }; int64_t reshape_136_0_dim_3 { 72 }; int64_t reshape_140_0_dim_0 { 64 }; int64_t reshape_140_0_dim_1 { 729 }; int64_t reshape_140_0_dim_2 { 1152 }; int64_t reshape_138_0_dim_0 { 46656 }; int64_t reshape_138_0_dim_1 { 1152 }; int64_t reshape_145_0_dim_0 { 64 }; int64_t reshape_145_0_dim_1 { 729 }; int64_t reshape_145_0_dim_2 { 1152 }; int64_t reshape_150_0_dim_0 { 3 }; int64_t reshape_150_0_dim_1 { 64 }; int64_t reshape_150_0_dim_2 { 16 }; int64_t reshape_150_0_dim_3 { 729 }; int64_t reshape_150_0_dim_4 { 72 }; int64_t reshape_148_0_dim_0 { 46656 }; int64_t reshape_148_0_dim_1 { 1152 }; int64_t split_151_0_dim_0 { 1 }; int64_t split_151_1_dim_0 { 1 }; int64_t split_151_2_dim_0 { 1 }; int64_t reshape_152_0_dim_0 { 64 }; int64_t reshape_152_0_dim_1 { 16 }; int64_t reshape_152_0_dim_2 { 729 }; int64_t reshape_152_0_dim_3 { 72 }; int64_t reshape_153_0_dim_0 { 64 }; int64_t reshape_153_0_dim_1 { 16 }; int64_t reshape_153_0_dim_2 { 729 }; int64_t reshape_153_0_dim_3 { 72 }; int64_t reshape_154_0_dim_0 { 64 }; int64_t reshape_154_0_dim_1 { 16 }; int64_t reshape_154_0_dim_2 { 729 }; int64_t reshape_154_0_dim_3 { 72 }; int64_t reshape_158_0_dim_0 { 64 }; int64_t reshape_158_0_dim_1 { 729 }; int64_t reshape_158_0_dim_2 { 1152 }; int64_t reshape_156_0_dim_0 { 46656 }; int64_t reshape_156_0_dim_1 { 1152 }; int64_t reshape_163_0_dim_0 { 64 }; int64_t reshape_163_0_dim_1 { 729 }; int64_t reshape_163_0_dim_2 { 1152 }; int64_t reshape_168_0_dim_0 { 3 }; int64_t reshape_168_0_dim_1 { 64 }; int64_t reshape_168_0_dim_2 { 16 }; int64_t reshape_168_0_dim_3 { 729 }; int64_t reshape_168_0_dim_4 { 72 }; int64_t reshape_166_0_dim_0 { 46656 }; int64_t reshape_166_0_dim_1 { 1152 }; int64_t split_169_0_dim_0 { 1 }; int64_t split_169_1_dim_0 { 1 }; int64_t split_169_2_dim_0 { 1 }; int64_t reshape_170_0_dim_0 { 64 }; int64_t reshape_170_0_dim_1 { 16 }; int64_t reshape_170_0_dim_2 { 729 }; int64_t reshape_170_0_dim_3 { 72 }; int64_t reshape_171_0_dim_0 { 64 }; int64_t reshape_171_0_dim_1 { 16 }; int64_t reshape_171_0_dim_2 { 729 }; int64_t reshape_171_0_dim_3 { 72 }; int64_t reshape_172_0_dim_0 { 64 }; int64_t reshape_172_0_dim_1 { 16 }; int64_t reshape_172_0_dim_2 { 729 }; int64_t reshape_172_0_dim_3 { 72 }; int64_t reshape_176_0_dim_0 { 64 }; int64_t reshape_176_0_dim_1 { 729 }; int64_t reshape_176_0_dim_2 { 1152 }; int64_t reshape_174_0_dim_0 { 46656 }; int64_t reshape_174_0_dim_1 { 1152 }; int64_t reshape_181_0_dim_0 { 64 }; int64_t reshape_181_0_dim_1 { 729 }; int64_t reshape_181_0_dim_2 { 1152 }; int64_t reshape_186_0_dim_0 { 3 }; int64_t reshape_186_0_dim_1 { 64 }; int64_t reshape_186_0_dim_2 { 16 }; int64_t reshape_186_0_dim_3 { 729 }; int64_t reshape_186_0_dim_4 { 72 }; int64_t reshape_184_0_dim_0 { 46656 }; int64_t reshape_184_0_dim_1 { 1152 }; int64_t split_187_0_dim_0 { 1 }; int64_t split_187_1_dim_0 { 1 }; int64_t split_187_2_dim_0 { 1 }; int64_t reshape_188_0_dim_0 { 64 }; int64_t reshape_188_0_dim_1 { 16 }; int64_t reshape_188_0_dim_2 { 729 }; int64_t reshape_188_0_dim_3 { 72 }; int64_t reshape_189_0_dim_0 { 64 }; int64_t reshape_189_0_dim_1 { 16 }; int64_t reshape_189_0_dim_2 { 729 }; int64_t reshape_189_0_dim_3 { 72 }; int64_t reshape_190_0_dim_0 { 64 }; int64_t reshape_190_0_dim_1 { 16 }; int64_t reshape_190_0_dim_2 { 729 }; int64_t reshape_190_0_dim_3 { 72 }; int64_t reshape_194_0_dim_0 { 64 }; int64_t reshape_194_0_dim_1 { 729 }; int64_t reshape_194_0_dim_2 { 1152 }; int64_t reshape_192_0_dim_0 { 46656 }; int64_t reshape_192_0_dim_1 { 1152 }; int64_t reshape_199_0_dim_0 { 64 }; int64_t reshape_199_0_dim_1 { 729 }; int64_t reshape_199_0_dim_2 { 1152 }; int64_t reshape_204_0_dim_0 { 3 }; int64_t reshape_204_0_dim_1 { 64 }; int64_t reshape_204_0_dim_2 { 16 }; int64_t reshape_204_0_dim_3 { 729 }; int64_t reshape_204_0_dim_4 { 72 }; int64_t reshape_202_0_dim_0 { 46656 }; int64_t reshape_202_0_dim_1 { 1152 }; int64_t split_205_0_dim_0 { 1 }; int64_t split_205_1_dim_0 { 1 }; int64_t split_205_2_dim_0 { 1 }; int64_t reshape_206_0_dim_0 { 64 }; int64_t reshape_206_0_dim_1 { 16 }; int64_t reshape_206_0_dim_2 { 729 }; int64_t reshape_206_0_dim_3 { 72 }; int64_t reshape_207_0_dim_0 { 64 }; int64_t reshape_207_0_dim_1 { 16 }; int64_t reshape_207_0_dim_2 { 729 }; int64_t reshape_207_0_dim_3 { 72 }; int64_t reshape_208_0_dim_0 { 64 }; int64_t reshape_208_0_dim_1 { 16 }; int64_t reshape_208_0_dim_2 { 729 }; int64_t reshape_208_0_dim_3 { 72 }; int64_t reshape_212_0_dim_0 { 64 }; int64_t reshape_212_0_dim_1 { 729 }; int64_t reshape_212_0_dim_2 { 1152 }; int64_t reshape_210_0_dim_0 { 46656 }; int64_t reshape_210_0_dim_1 { 1152 }; int64_t reshape_217_0_dim_0 { 64 }; int64_t reshape_217_0_dim_1 { 729 }; int64_t reshape_217_0_dim_2 { 1152 }; int64_t reshape_222_0_dim_0 { 3 }; int64_t reshape_222_0_dim_1 { 64 }; int64_t reshape_222_0_dim_2 { 16 }; int64_t reshape_222_0_dim_3 { 729 }; int64_t reshape_222_0_dim_4 { 72 }; int64_t reshape_220_0_dim_0 { 46656 }; int64_t reshape_220_0_dim_1 { 1152 }; int64_t split_223_0_dim_0 { 1 }; int64_t split_223_1_dim_0 { 1 }; int64_t split_223_2_dim_0 { 1 }; int64_t reshape_224_0_dim_0 { 64 }; int64_t reshape_224_0_dim_1 { 16 }; int64_t reshape_224_0_dim_2 { 729 }; int64_t reshape_224_0_dim_3 { 72 }; int64_t reshape_225_0_dim_0 { 64 }; int64_t reshape_225_0_dim_1 { 16 }; int64_t reshape_225_0_dim_2 { 729 }; int64_t reshape_225_0_dim_3 { 72 }; int64_t reshape_226_0_dim_0 { 64 }; int64_t reshape_226_0_dim_1 { 16 }; int64_t reshape_226_0_dim_2 { 729 }; int64_t reshape_226_0_dim_3 { 72 }; int64_t reshape_230_0_dim_0 { 64 }; int64_t reshape_230_0_dim_1 { 729 }; int64_t reshape_230_0_dim_2 { 1152 }; int64_t reshape_228_0_dim_0 { 46656 }; int64_t reshape_228_0_dim_1 { 1152 }; int64_t reshape_235_0_dim_0 { 64 }; int64_t reshape_235_0_dim_1 { 729 }; int64_t reshape_235_0_dim_2 { 1152 }; int64_t reshape_240_0_dim_0 { 3 }; int64_t reshape_240_0_dim_1 { 64 }; int64_t reshape_240_0_dim_2 { 16 }; int64_t reshape_240_0_dim_3 { 729 }; int64_t reshape_240_0_dim_4 { 72 }; int64_t reshape_238_0_dim_0 { 46656 }; int64_t reshape_238_0_dim_1 { 1152 }; int64_t split_241_0_dim_0 { 1 }; int64_t split_241_1_dim_0 { 1 }; int64_t split_241_2_dim_0 { 1 }; int64_t reshape_242_0_dim_0 { 64 }; int64_t reshape_242_0_dim_1 { 16 }; int64_t reshape_242_0_dim_2 { 729 }; int64_t reshape_242_0_dim_3 { 72 }; int64_t reshape_243_0_dim_0 { 64 }; int64_t reshape_243_0_dim_1 { 16 }; int64_t reshape_243_0_dim_2 { 729 }; int64_t reshape_243_0_dim_3 { 72 }; int64_t reshape_244_0_dim_0 { 64 }; int64_t reshape_244_0_dim_1 { 16 }; int64_t reshape_244_0_dim_2 { 729 }; int64_t reshape_244_0_dim_3 { 72 }; int64_t reshape_248_0_dim_0 { 64 }; int64_t reshape_248_0_dim_1 { 729 }; int64_t reshape_248_0_dim_2 { 1152 }; int64_t reshape_246_0_dim_0 { 46656 }; int64_t reshape_246_0_dim_1 { 1152 }; int64_t reshape_253_0_dim_0 { 64 }; int64_t reshape_253_0_dim_1 { 729 }; int64_t reshape_253_0_dim_2 { 1152 }; int64_t reshape_258_0_dim_0 { 3 }; int64_t reshape_258_0_dim_1 { 64 }; int64_t reshape_258_0_dim_2 { 16 }; int64_t reshape_258_0_dim_3 { 729 }; int64_t reshape_258_0_dim_4 { 72 }; int64_t reshape_256_0_dim_0 { 46656 }; int64_t reshape_256_0_dim_1 { 1152 }; int64_t split_259_0_dim_0 { 1 }; int64_t split_259_1_dim_0 { 1 }; int64_t split_259_2_dim_0 { 1 }; int64_t reshape_260_0_dim_0 { 64 }; int64_t reshape_260_0_dim_1 { 16 }; int64_t reshape_260_0_dim_2 { 729 }; int64_t reshape_260_0_dim_3 { 72 }; int64_t reshape_261_0_dim_0 { 64 }; int64_t reshape_261_0_dim_1 { 16 }; int64_t reshape_261_0_dim_2 { 729 }; int64_t reshape_261_0_dim_3 { 72 }; int64_t reshape_262_0_dim_0 { 64 }; int64_t reshape_262_0_dim_1 { 16 }; int64_t reshape_262_0_dim_2 { 729 }; int64_t reshape_262_0_dim_3 { 72 }; int64_t reshape_266_0_dim_0 { 64 }; int64_t reshape_266_0_dim_1 { 729 }; int64_t reshape_266_0_dim_2 { 1152 }; int64_t reshape_264_0_dim_0 { 46656 }; int64_t reshape_264_0_dim_1 { 1152 }; int64_t reshape_271_0_dim_0 { 64 }; int64_t reshape_271_0_dim_1 { 729 }; int64_t reshape_271_0_dim_2 { 1152 }; int64_t reshape_276_0_dim_0 { 3 }; int64_t reshape_276_0_dim_1 { 64 }; int64_t reshape_276_0_dim_2 { 16 }; int64_t reshape_276_0_dim_3 { 729 }; int64_t reshape_276_0_dim_4 { 72 }; int64_t reshape_274_0_dim_0 { 46656 }; int64_t reshape_274_0_dim_1 { 1152 }; int64_t split_277_0_dim_0 { 1 }; int64_t split_277_1_dim_0 { 1 }; int64_t split_277_2_dim_0 { 1 }; int64_t reshape_278_0_dim_0 { 64 }; int64_t reshape_278_0_dim_1 { 16 }; int64_t reshape_278_0_dim_2 { 729 }; int64_t reshape_278_0_dim_3 { 72 }; int64_t reshape_279_0_dim_0 { 64 }; int64_t reshape_279_0_dim_1 { 16 }; int64_t reshape_279_0_dim_2 { 729 }; int64_t reshape_279_0_dim_3 { 72 }; int64_t reshape_280_0_dim_0 { 64 }; int64_t reshape_280_0_dim_1 { 16 }; int64_t reshape_280_0_dim_2 { 729 }; int64_t reshape_280_0_dim_3 { 72 }; int64_t reshape_284_0_dim_0 { 64 }; int64_t reshape_284_0_dim_1 { 729 }; int64_t reshape_284_0_dim_2 { 1152 }; int64_t reshape_282_0_dim_0 { 46656 }; int64_t reshape_282_0_dim_1 { 1152 }; int64_t reshape_289_0_dim_0 { 64 }; int64_t reshape_289_0_dim_1 { 729 }; int64_t reshape_289_0_dim_2 { 1152 }; int64_t reshape_294_0_dim_0 { 3 }; int64_t reshape_294_0_dim_1 { 64 }; int64_t reshape_294_0_dim_2 { 16 }; int64_t reshape_294_0_dim_3 { 729 }; int64_t reshape_294_0_dim_4 { 72 }; int64_t reshape_292_0_dim_0 { 46656 }; int64_t reshape_292_0_dim_1 { 1152 }; int64_t split_295_0_dim_0 { 1 }; int64_t split_295_1_dim_0 { 1 }; int64_t split_295_2_dim_0 { 1 }; int64_t reshape_296_0_dim_0 { 64 }; int64_t reshape_296_0_dim_1 { 16 }; int64_t reshape_296_0_dim_2 { 729 }; int64_t reshape_296_0_dim_3 { 72 }; int64_t reshape_297_0_dim_0 { 64 }; int64_t reshape_297_0_dim_1 { 16 }; int64_t reshape_297_0_dim_2 { 729 }; int64_t reshape_297_0_dim_3 { 72 }; int64_t reshape_298_0_dim_0 { 64 }; int64_t reshape_298_0_dim_1 { 16 }; int64_t reshape_298_0_dim_2 { 729 }; int64_t reshape_298_0_dim_3 { 72 }; int64_t reshape_302_0_dim_0 { 64 }; int64_t reshape_302_0_dim_1 { 729 }; int64_t reshape_302_0_dim_2 { 1152 }; int64_t reshape_300_0_dim_0 { 46656 }; int64_t reshape_300_0_dim_1 { 1152 }; int64_t reshape_307_0_dim_0 { 64 }; int64_t reshape_307_0_dim_1 { 729 }; int64_t reshape_307_0_dim_2 { 1152 }; int64_t reshape_312_0_dim_0 { 3 }; int64_t reshape_312_0_dim_1 { 64 }; int64_t reshape_312_0_dim_2 { 16 }; int64_t reshape_312_0_dim_3 { 729 }; int64_t reshape_312_0_dim_4 { 72 }; int64_t reshape_310_0_dim_0 { 46656 }; int64_t reshape_310_0_dim_1 { 1152 }; int64_t split_313_0_dim_0 { 1 }; int64_t split_313_1_dim_0 { 1 }; int64_t split_313_2_dim_0 { 1 }; int64_t reshape_314_0_dim_0 { 64 }; int64_t reshape_314_0_dim_1 { 16 }; int64_t reshape_314_0_dim_2 { 729 }; int64_t reshape_314_0_dim_3 { 72 }; int64_t reshape_315_0_dim_0 { 64 }; int64_t reshape_315_0_dim_1 { 16 }; int64_t reshape_315_0_dim_2 { 729 }; int64_t reshape_315_0_dim_3 { 72 }; int64_t reshape_316_0_dim_0 { 64 }; int64_t reshape_316_0_dim_1 { 16 }; int64_t reshape_316_0_dim_2 { 729 }; int64_t reshape_316_0_dim_3 { 72 }; int64_t reshape_320_0_dim_0 { 64 }; int64_t reshape_320_0_dim_1 { 729 }; int64_t reshape_320_0_dim_2 { 1152 }; int64_t reshape_318_0_dim_0 { 46656 }; int64_t reshape_318_0_dim_1 { 1152 }; int64_t reshape_325_0_dim_0 { 64 }; int64_t reshape_325_0_dim_1 { 729 }; int64_t reshape_325_0_dim_2 { 1152 }; int64_t reshape_330_0_dim_0 { 3 }; int64_t reshape_330_0_dim_1 { 64 }; int64_t reshape_330_0_dim_2 { 16 }; int64_t reshape_330_0_dim_3 { 729 }; int64_t reshape_330_0_dim_4 { 72 }; int64_t reshape_328_0_dim_0 { 46656 }; int64_t reshape_328_0_dim_1 { 1152 }; int64_t split_331_0_dim_0 { 1 }; int64_t split_331_1_dim_0 { 1 }; int64_t split_331_2_dim_0 { 1 }; int64_t reshape_332_0_dim_0 { 64 }; int64_t reshape_332_0_dim_1 { 16 }; int64_t reshape_332_0_dim_2 { 729 }; int64_t reshape_332_0_dim_3 { 72 }; int64_t reshape_333_0_dim_0 { 64 }; int64_t reshape_333_0_dim_1 { 16 }; int64_t reshape_333_0_dim_2 { 729 }; int64_t reshape_333_0_dim_3 { 72 }; int64_t reshape_334_0_dim_0 { 64 }; int64_t reshape_334_0_dim_1 { 16 }; int64_t reshape_334_0_dim_2 { 729 }; int64_t reshape_334_0_dim_3 { 72 }; int64_t reshape_338_0_dim_0 { 64 }; int64_t reshape_338_0_dim_1 { 729 }; int64_t reshape_338_0_dim_2 { 1152 }; int64_t reshape_336_0_dim_0 { 46656 }; int64_t reshape_336_0_dim_1 { 1152 }; int64_t reshape_343_0_dim_0 { 64 }; int64_t reshape_343_0_dim_1 { 729 }; int64_t reshape_343_0_dim_2 { 1152 }; int64_t reshape_348_0_dim_0 { 3 }; int64_t reshape_348_0_dim_1 { 64 }; int64_t reshape_348_0_dim_2 { 16 }; int64_t reshape_348_0_dim_3 { 729 }; int64_t reshape_348_0_dim_4 { 72 }; int64_t reshape_346_0_dim_0 { 46656 }; int64_t reshape_346_0_dim_1 { 1152 }; int64_t split_349_0_dim_0 { 1 }; int64_t split_349_1_dim_0 { 1 }; int64_t split_349_2_dim_0 { 1 }; int64_t reshape_350_0_dim_0 { 64 }; int64_t reshape_350_0_dim_1 { 16 }; int64_t reshape_350_0_dim_2 { 729 }; int64_t reshape_350_0_dim_3 { 72 }; int64_t reshape_351_0_dim_0 { 64 }; int64_t reshape_351_0_dim_1 { 16 }; int64_t reshape_351_0_dim_2 { 729 }; int64_t reshape_351_0_dim_3 { 72 }; int64_t reshape_352_0_dim_0 { 64 }; int64_t reshape_352_0_dim_1 { 16 }; int64_t reshape_352_0_dim_2 { 729 }; int64_t reshape_352_0_dim_3 { 72 }; int64_t reshape_356_0_dim_0 { 64 }; int64_t reshape_356_0_dim_1 { 729 }; int64_t reshape_356_0_dim_2 { 1152 }; int64_t reshape_354_0_dim_0 { 46656 }; int64_t reshape_354_0_dim_1 { 1152 }; int64_t reshape_361_0_dim_0 { 64 }; int64_t reshape_361_0_dim_1 { 729 }; int64_t reshape_361_0_dim_2 { 1152 }; int64_t reshape_366_0_dim_0 { 3 }; int64_t reshape_366_0_dim_1 { 64 }; int64_t reshape_366_0_dim_2 { 16 }; int64_t reshape_366_0_dim_3 { 729 }; int64_t reshape_366_0_dim_4 { 72 }; int64_t reshape_364_0_dim_0 { 46656 }; int64_t reshape_364_0_dim_1 { 1152 }; int64_t split_367_0_dim_0 { 1 }; int64_t split_367_1_dim_0 { 1 }; int64_t split_367_2_dim_0 { 1 }; int64_t reshape_368_0_dim_0 { 64 }; int64_t reshape_368_0_dim_1 { 16 }; int64_t reshape_368_0_dim_2 { 729 }; int64_t reshape_368_0_dim_3 { 72 }; int64_t reshape_369_0_dim_0 { 64 }; int64_t reshape_369_0_dim_1 { 16 }; int64_t reshape_369_0_dim_2 { 729 }; int64_t reshape_369_0_dim_3 { 72 }; int64_t reshape_370_0_dim_0 { 64 }; int64_t reshape_370_0_dim_1 { 16 }; int64_t reshape_370_0_dim_2 { 729 }; int64_t reshape_370_0_dim_3 { 72 }; int64_t reshape_374_0_dim_0 { 64 }; int64_t reshape_374_0_dim_1 { 729 }; int64_t reshape_374_0_dim_2 { 1152 }; int64_t reshape_372_0_dim_0 { 46656 }; int64_t reshape_372_0_dim_1 { 1152 }; int64_t reshape_379_0_dim_0 { 64 }; int64_t reshape_379_0_dim_1 { 729 }; int64_t reshape_379_0_dim_2 { 1152 }; int64_t reshape_384_0_dim_0 { 3 }; int64_t reshape_384_0_dim_1 { 64 }; int64_t reshape_384_0_dim_2 { 16 }; int64_t reshape_384_0_dim_3 { 729 }; int64_t reshape_384_0_dim_4 { 72 }; int64_t reshape_382_0_dim_0 { 46656 }; int64_t reshape_382_0_dim_1 { 1152 }; int64_t split_385_0_dim_0 { 1 }; int64_t split_385_1_dim_0 { 1 }; int64_t split_385_2_dim_0 { 1 }; int64_t reshape_386_0_dim_0 { 64 }; int64_t reshape_386_0_dim_1 { 16 }; int64_t reshape_386_0_dim_2 { 729 }; int64_t reshape_386_0_dim_3 { 72 }; int64_t reshape_387_0_dim_0 { 64 }; int64_t reshape_387_0_dim_1 { 16 }; int64_t reshape_387_0_dim_2 { 729 }; int64_t reshape_387_0_dim_3 { 72 }; int64_t reshape_388_0_dim_0 { 64 }; int64_t reshape_388_0_dim_1 { 16 }; int64_t reshape_388_0_dim_2 { 729 }; int64_t reshape_388_0_dim_3 { 72 }; int64_t reshape_392_0_dim_0 { 64 }; int64_t reshape_392_0_dim_1 { 729 }; int64_t reshape_392_0_dim_2 { 1152 }; int64_t reshape_390_0_dim_0 { 46656 }; int64_t reshape_390_0_dim_1 { 1152 }; int64_t reshape_397_0_dim_0 { 64 }; int64_t reshape_397_0_dim_1 { 729 }; int64_t reshape_397_0_dim_2 { 1152 }; int64_t reshape_402_0_dim_0 { 3 }; int64_t reshape_402_0_dim_1 { 64 }; int64_t reshape_402_0_dim_2 { 16 }; int64_t reshape_402_0_dim_3 { 729 }; int64_t reshape_402_0_dim_4 { 72 }; int64_t reshape_400_0_dim_0 { 46656 }; int64_t reshape_400_0_dim_1 { 1152 }; int64_t split_403_0_dim_0 { 1 }; int64_t split_403_1_dim_0 { 1 }; int64_t split_403_2_dim_0 { 1 }; int64_t reshape_404_0_dim_0 { 64 }; int64_t reshape_404_0_dim_1 { 16 }; int64_t reshape_404_0_dim_2 { 729 }; int64_t reshape_404_0_dim_3 { 72 }; int64_t reshape_405_0_dim_0 { 64 }; int64_t reshape_405_0_dim_1 { 16 }; int64_t reshape_405_0_dim_2 { 729 }; int64_t reshape_405_0_dim_3 { 72 }; int64_t reshape_406_0_dim_0 { 64 }; int64_t reshape_406_0_dim_1 { 16 }; int64_t reshape_406_0_dim_2 { 729 }; int64_t reshape_406_0_dim_3 { 72 }; int64_t reshape_410_0_dim_0 { 64 }; int64_t reshape_410_0_dim_1 { 729 }; int64_t reshape_410_0_dim_2 { 1152 }; int64_t reshape_408_0_dim_0 { 46656 }; int64_t reshape_408_0_dim_1 { 1152 }; int64_t reshape_415_0_dim_0 { 64 }; int64_t reshape_415_0_dim_1 { 729 }; int64_t reshape_415_0_dim_2 { 1152 }; int64_t reshape_420_0_dim_0 { 3 }; int64_t reshape_420_0_dim_1 { 64 }; int64_t reshape_420_0_dim_2 { 16 }; int64_t reshape_420_0_dim_3 { 729 }; int64_t reshape_420_0_dim_4 { 72 }; int64_t reshape_418_0_dim_0 { 46656 }; int64_t reshape_418_0_dim_1 { 1152 }; int64_t split_421_0_dim_0 { 1 }; int64_t split_421_1_dim_0 { 1 }; int64_t split_421_2_dim_0 { 1 }; int64_t reshape_422_0_dim_0 { 64 }; int64_t reshape_422_0_dim_1 { 16 }; int64_t reshape_422_0_dim_2 { 729 }; int64_t reshape_422_0_dim_3 { 72 }; int64_t reshape_423_0_dim_0 { 64 }; int64_t reshape_423_0_dim_1 { 16 }; int64_t reshape_423_0_dim_2 { 729 }; int64_t reshape_423_0_dim_3 { 72 }; int64_t reshape_424_0_dim_0 { 64 }; int64_t reshape_424_0_dim_1 { 16 }; int64_t reshape_424_0_dim_2 { 729 }; int64_t reshape_424_0_dim_3 { 72 }; int64_t reshape_428_0_dim_0 { 64 }; int64_t reshape_428_0_dim_1 { 729 }; int64_t reshape_428_0_dim_2 { 1152 }; int64_t reshape_426_0_dim_0 { 46656 }; int64_t reshape_426_0_dim_1 { 1152 }; int64_t reshape_433_0_dim_0 { 64 }; int64_t reshape_433_0_dim_1 { 729 }; int64_t reshape_433_0_dim_2 { 1152 }; int64_t reshape_438_0_dim_0 { 3 }; int64_t reshape_438_0_dim_1 { 64 }; int64_t reshape_438_0_dim_2 { 16 }; int64_t reshape_438_0_dim_3 { 729 }; int64_t reshape_438_0_dim_4 { 72 }; int64_t reshape_436_0_dim_0 { 46656 }; int64_t reshape_436_0_dim_1 { 1152 }; int64_t split_439_0_dim_0 { 1 }; int64_t split_439_1_dim_0 { 1 }; int64_t split_439_2_dim_0 { 1 }; int64_t reshape_440_0_dim_0 { 64 }; int64_t reshape_440_0_dim_1 { 16 }; int64_t reshape_440_0_dim_2 { 729 }; int64_t reshape_440_0_dim_3 { 72 }; int64_t reshape_441_0_dim_0 { 64 }; int64_t reshape_441_0_dim_1 { 16 }; int64_t reshape_441_0_dim_2 { 729 }; int64_t reshape_441_0_dim_3 { 72 }; int64_t reshape_442_0_dim_0 { 64 }; int64_t reshape_442_0_dim_1 { 16 }; int64_t reshape_442_0_dim_2 { 729 }; int64_t reshape_442_0_dim_3 { 72 }; int64_t reshape_446_0_dim_0 { 64 }; int64_t reshape_446_0_dim_1 { 729 }; int64_t reshape_446_0_dim_2 { 1152 }; int64_t reshape_444_0_dim_0 { 46656 }; int64_t reshape_444_0_dim_1 { 1152 }; int64_t reshape_451_0_dim_0 { 64 }; int64_t reshape_451_0_dim_1 { 729 }; int64_t reshape_451_0_dim_2 { 1152 }; int64_t reshape_456_0_dim_0 { 3 }; int64_t reshape_456_0_dim_1 { 64 }; int64_t reshape_456_0_dim_2 { 16 }; int64_t reshape_456_0_dim_3 { 729 }; int64_t reshape_456_0_dim_4 { 72 }; int64_t reshape_454_0_dim_0 { 46656 }; int64_t reshape_454_0_dim_1 { 1152 }; int64_t split_457_0_dim_0 { 1 }; int64_t split_457_1_dim_0 { 1 }; int64_t split_457_2_dim_0 { 1 }; int64_t reshape_458_0_dim_0 { 64 }; int64_t reshape_458_0_dim_1 { 16 }; int64_t reshape_458_0_dim_2 { 729 }; int64_t reshape_458_0_dim_3 { 72 }; int64_t reshape_459_0_dim_0 { 64 }; int64_t reshape_459_0_dim_1 { 16 }; int64_t reshape_459_0_dim_2 { 729 }; int64_t reshape_459_0_dim_3 { 72 }; int64_t reshape_460_0_dim_0 { 64 }; int64_t reshape_460_0_dim_1 { 16 }; int64_t reshape_460_0_dim_2 { 729 }; int64_t reshape_460_0_dim_3 { 72 }; int64_t reshape_464_0_dim_0 { 64 }; int64_t reshape_464_0_dim_1 { 729 }; int64_t reshape_464_0_dim_2 { 1152 }; int64_t reshape_462_0_dim_0 { 46656 }; int64_t reshape_462_0_dim_1 { 1152 }; int64_t reshape_469_0_dim_0 { 64 }; int64_t reshape_469_0_dim_1 { 729 }; int64_t reshape_469_0_dim_2 { 1152 }; int64_t reshape_474_0_dim_0 { 3 }; int64_t reshape_474_0_dim_1 { 64 }; int64_t reshape_474_0_dim_2 { 16 }; int64_t reshape_474_0_dim_3 { 729 }; int64_t reshape_474_0_dim_4 { 72 }; int64_t reshape_472_0_dim_0 { 46656 }; int64_t reshape_472_0_dim_1 { 1152 }; int64_t split_475_0_dim_0 { 1 }; int64_t split_475_1_dim_0 { 1 }; int64_t split_475_2_dim_0 { 1 }; int64_t reshape_476_0_dim_0 { 64 }; int64_t reshape_476_0_dim_1 { 16 }; int64_t reshape_476_0_dim_2 { 729 }; int64_t reshape_476_0_dim_3 { 72 }; int64_t reshape_477_0_dim_0 { 64 }; int64_t reshape_477_0_dim_1 { 16 }; int64_t reshape_477_0_dim_2 { 729 }; int64_t reshape_477_0_dim_3 { 72 }; int64_t reshape_478_0_dim_0 { 64 }; int64_t reshape_478_0_dim_1 { 16 }; int64_t reshape_478_0_dim_2 { 729 }; int64_t reshape_478_0_dim_3 { 72 }; int64_t reshape_482_0_dim_0 { 64 }; int64_t reshape_482_0_dim_1 { 729 }; int64_t reshape_482_0_dim_2 { 1152 }; int64_t reshape_480_0_dim_0 { 46656 }; int64_t reshape_480_0_dim_1 { 1152 }; int64_t reshape_487_0_dim_0 { 64 }; int64_t reshape_487_0_dim_1 { 729 }; int64_t reshape_487_0_dim_2 { 1152 }; int64_t reshape_495_0_dim_0 { 64 }; int64_t reshape_495_0_dim_2 { 729 }; int64_t reshape_495_0_dim_1 { 16 }; int64_t reshape_497_0_dim_3 { 72 }; int64_t reshape_501_0_dim_0 { 64 }; int64_t reshape_501_0_dim_1 { 729 }; int64_t reshape_501_0_dim_2 { 1152 }; int64_t reshape_499_0_dim_0 { 46656 }; int64_t reshape_499_0_dim_1 { 1152 }; int64_t reshape_505_0_dim_0 { 64 }; int64_t reshape_505_0_dim_1 { 729 }; int64_t reshape_505_0_dim_2 { 1152 }; }; } // namespace ait