#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_425(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 ); cudaError_t layernorm_15(void* output, void* input, const void* gamma, const void* beta, int m, int n, const float eps, cudaStream_t stream); void gemm_rcr_bias_gelu_16( 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_add_17( void*, 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_409( 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 permute_411( void*, const void*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, const int*, cudaStream_t ); void split_412( 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_squeeze_413( int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t* ); void mem_eff_attention_418(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 ait_reshape_426( int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t*, int64_t* ); void gemm_rcr_bias_421( 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 ); cudaError_t layernorm_422(void* output, void* input, const void* gamma, const void* beta, int m, int n, const float eps, cudaStream_t stream); void gemm_rcr_bias_gelu_423( 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_add_424( void*, 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 ); 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_kv_weight"] = const_cast(reinterpret_cast(&pool_kv_weight)); constant_name_to_ptr_["pool_kv_bias"] = const_cast(reinterpret_cast(&pool_kv_bias)); constant_name_to_ptr_["pool_proj_weight"] = const_cast(reinterpret_cast(&pool_proj_weight)); constant_name_to_ptr_["pool_proj_bias"] = const_cast(reinterpret_cast(&pool_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 + 40310784); reshape_4_0 = reinterpret_cast(blob_ptr + 53747712); reshape_6_0 = reinterpret_cast(blob_ptr + 0); split_7_0 = reinterpret_cast(blob_ptr + 53747712); split_7_1 = reinterpret_cast(blob_ptr + 67184640); split_7_2 = reinterpret_cast(blob_ptr + 80621568); mem_eff_attention_11_0 = reinterpret_cast(blob_ptr + 0); reshape_14_0 = reinterpret_cast(blob_ptr + 53747712); layernorm_15_0 = reinterpret_cast(blob_ptr + 67184640); gemm_rcr_bias_gelu_16_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_17_0 = reinterpret_cast(blob_ptr + 67184640); reshape_19_0 = reinterpret_cast(blob_ptr + 40310784); reshape_21_0 = reinterpret_cast(blob_ptr + 0); split_22_0 = reinterpret_cast(blob_ptr + 40310784); split_22_1 = reinterpret_cast(blob_ptr + 80621568); split_22_2 = reinterpret_cast(blob_ptr + 53747712); mem_eff_attention_26_0 = reinterpret_cast(blob_ptr + 0); reshape_29_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_30_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_31_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_32_0 = reinterpret_cast(blob_ptr + 63638784); reshape_34_0 = reinterpret_cast(blob_ptr + 40310784); reshape_36_0 = reinterpret_cast(blob_ptr + 0); split_37_0 = reinterpret_cast(blob_ptr + 77075712); split_37_1 = reinterpret_cast(blob_ptr + 40310784); split_37_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_41_0 = reinterpret_cast(blob_ptr + 0); reshape_44_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_45_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_46_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_47_0 = reinterpret_cast(blob_ptr + 63638784); reshape_49_0 = reinterpret_cast(blob_ptr + 40310784); reshape_51_0 = reinterpret_cast(blob_ptr + 0); split_52_0 = reinterpret_cast(blob_ptr + 90512640); split_52_1 = reinterpret_cast(blob_ptr + 77075712); split_52_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_56_0 = reinterpret_cast(blob_ptr + 0); reshape_59_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_60_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_61_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_62_0 = reinterpret_cast(blob_ptr + 63638784); reshape_64_0 = reinterpret_cast(blob_ptr + 40310784); reshape_66_0 = reinterpret_cast(blob_ptr + 0); split_67_0 = reinterpret_cast(blob_ptr + 40310784); split_67_1 = reinterpret_cast(blob_ptr + 77075712); split_67_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_71_0 = reinterpret_cast(blob_ptr + 0); reshape_74_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_75_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_76_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_77_0 = reinterpret_cast(blob_ptr + 63638784); reshape_79_0 = reinterpret_cast(blob_ptr + 40310784); reshape_81_0 = reinterpret_cast(blob_ptr + 0); split_82_0 = reinterpret_cast(blob_ptr + 40310784); split_82_1 = reinterpret_cast(blob_ptr + 77075712); split_82_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_86_0 = reinterpret_cast(blob_ptr + 0); reshape_89_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_90_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_91_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_92_0 = reinterpret_cast(blob_ptr + 63638784); reshape_94_0 = reinterpret_cast(blob_ptr + 40310784); reshape_96_0 = reinterpret_cast(blob_ptr + 0); split_97_0 = reinterpret_cast(blob_ptr + 77075712); split_97_1 = reinterpret_cast(blob_ptr + 90512640); split_97_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_101_0 = reinterpret_cast(blob_ptr + 0); reshape_104_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_105_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_106_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_107_0 = reinterpret_cast(blob_ptr + 63638784); reshape_109_0 = reinterpret_cast(blob_ptr + 40310784); reshape_111_0 = reinterpret_cast(blob_ptr + 0); split_112_0 = reinterpret_cast(blob_ptr + 40310784); split_112_1 = reinterpret_cast(blob_ptr + 77075712); split_112_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_116_0 = reinterpret_cast(blob_ptr + 0); reshape_119_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_120_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_121_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_122_0 = reinterpret_cast(blob_ptr + 63638784); reshape_124_0 = reinterpret_cast(blob_ptr + 40310784); reshape_126_0 = reinterpret_cast(blob_ptr + 0); split_127_0 = reinterpret_cast(blob_ptr + 77075712); split_127_1 = reinterpret_cast(blob_ptr + 40310784); split_127_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_131_0 = reinterpret_cast(blob_ptr + 0); reshape_134_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_135_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_136_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_137_0 = reinterpret_cast(blob_ptr + 63638784); reshape_139_0 = reinterpret_cast(blob_ptr + 40310784); reshape_141_0 = reinterpret_cast(blob_ptr + 0); split_142_0 = reinterpret_cast(blob_ptr + 90512640); split_142_1 = reinterpret_cast(blob_ptr + 77075712); split_142_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_146_0 = reinterpret_cast(blob_ptr + 0); reshape_149_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_150_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_151_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_152_0 = reinterpret_cast(blob_ptr + 63638784); reshape_154_0 = reinterpret_cast(blob_ptr + 40310784); reshape_156_0 = reinterpret_cast(blob_ptr + 0); split_157_0 = reinterpret_cast(blob_ptr + 90512640); split_157_1 = reinterpret_cast(blob_ptr + 40310784); split_157_2 = reinterpret_cast(blob_ptr + 77075712); mem_eff_attention_161_0 = reinterpret_cast(blob_ptr + 0); reshape_164_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_165_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_166_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_167_0 = reinterpret_cast(blob_ptr + 63638784); reshape_169_0 = reinterpret_cast(blob_ptr + 40310784); reshape_171_0 = reinterpret_cast(blob_ptr + 0); split_172_0 = reinterpret_cast(blob_ptr + 40310784); split_172_1 = reinterpret_cast(blob_ptr + 77075712); split_172_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_176_0 = reinterpret_cast(blob_ptr + 0); reshape_179_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_180_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_181_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_182_0 = reinterpret_cast(blob_ptr + 63638784); reshape_184_0 = reinterpret_cast(blob_ptr + 40310784); reshape_186_0 = reinterpret_cast(blob_ptr + 0); split_187_0 = reinterpret_cast(blob_ptr + 77075712); split_187_1 = reinterpret_cast(blob_ptr + 90512640); split_187_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_191_0 = reinterpret_cast(blob_ptr + 0); reshape_194_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_195_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_196_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_197_0 = reinterpret_cast(blob_ptr + 63638784); reshape_199_0 = reinterpret_cast(blob_ptr + 40310784); reshape_201_0 = reinterpret_cast(blob_ptr + 0); split_202_0 = reinterpret_cast(blob_ptr + 90512640); split_202_1 = reinterpret_cast(blob_ptr + 77075712); split_202_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_206_0 = reinterpret_cast(blob_ptr + 0); reshape_209_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_210_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_211_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_212_0 = reinterpret_cast(blob_ptr + 63638784); reshape_214_0 = reinterpret_cast(blob_ptr + 40310784); reshape_216_0 = reinterpret_cast(blob_ptr + 0); split_217_0 = reinterpret_cast(blob_ptr + 77075712); split_217_1 = reinterpret_cast(blob_ptr + 90512640); split_217_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_221_0 = reinterpret_cast(blob_ptr + 0); reshape_224_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_225_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_226_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_227_0 = reinterpret_cast(blob_ptr + 63638784); reshape_229_0 = reinterpret_cast(blob_ptr + 40310784); reshape_231_0 = reinterpret_cast(blob_ptr + 0); split_232_0 = reinterpret_cast(blob_ptr + 40310784); split_232_1 = reinterpret_cast(blob_ptr + 77075712); split_232_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_236_0 = reinterpret_cast(blob_ptr + 0); reshape_239_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_240_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_241_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_242_0 = reinterpret_cast(blob_ptr + 63638784); reshape_244_0 = reinterpret_cast(blob_ptr + 40310784); reshape_246_0 = reinterpret_cast(blob_ptr + 0); split_247_0 = reinterpret_cast(blob_ptr + 77075712); split_247_1 = reinterpret_cast(blob_ptr + 40310784); split_247_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_251_0 = reinterpret_cast(blob_ptr + 0); reshape_254_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_255_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_256_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_257_0 = reinterpret_cast(blob_ptr + 63638784); reshape_259_0 = reinterpret_cast(blob_ptr + 40310784); reshape_261_0 = reinterpret_cast(blob_ptr + 0); split_262_0 = reinterpret_cast(blob_ptr + 40310784); split_262_1 = reinterpret_cast(blob_ptr + 77075712); split_262_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_266_0 = reinterpret_cast(blob_ptr + 0); reshape_269_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_270_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_271_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_272_0 = reinterpret_cast(blob_ptr + 63638784); reshape_274_0 = reinterpret_cast(blob_ptr + 40310784); reshape_276_0 = reinterpret_cast(blob_ptr + 0); split_277_0 = reinterpret_cast(blob_ptr + 77075712); split_277_1 = reinterpret_cast(blob_ptr + 40310784); split_277_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_281_0 = reinterpret_cast(blob_ptr + 0); reshape_284_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_285_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_286_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_287_0 = reinterpret_cast(blob_ptr + 63638784); reshape_289_0 = reinterpret_cast(blob_ptr + 40310784); reshape_291_0 = reinterpret_cast(blob_ptr + 0); split_292_0 = reinterpret_cast(blob_ptr + 40310784); split_292_1 = reinterpret_cast(blob_ptr + 77075712); split_292_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_296_0 = reinterpret_cast(blob_ptr + 0); reshape_299_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_300_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_301_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_302_0 = reinterpret_cast(blob_ptr + 63638784); reshape_304_0 = reinterpret_cast(blob_ptr + 40310784); reshape_306_0 = reinterpret_cast(blob_ptr + 0); split_307_0 = reinterpret_cast(blob_ptr + 90512640); split_307_1 = reinterpret_cast(blob_ptr + 77075712); split_307_2 = reinterpret_cast(blob_ptr + 40310784); mem_eff_attention_311_0 = reinterpret_cast(blob_ptr + 0); reshape_314_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_315_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_316_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_317_0 = reinterpret_cast(blob_ptr + 63638784); reshape_319_0 = reinterpret_cast(blob_ptr + 40310784); reshape_321_0 = reinterpret_cast(blob_ptr + 0); split_322_0 = reinterpret_cast(blob_ptr + 90512640); split_322_1 = reinterpret_cast(blob_ptr + 40310784); split_322_2 = reinterpret_cast(blob_ptr + 77075712); mem_eff_attention_326_0 = reinterpret_cast(blob_ptr + 0); reshape_329_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_330_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_331_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_332_0 = reinterpret_cast(blob_ptr + 63638784); reshape_334_0 = reinterpret_cast(blob_ptr + 40310784); reshape_336_0 = reinterpret_cast(blob_ptr + 0); split_337_0 = reinterpret_cast(blob_ptr + 40310784); split_337_1 = reinterpret_cast(blob_ptr + 77075712); split_337_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_341_0 = reinterpret_cast(blob_ptr + 0); reshape_344_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_345_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_346_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_347_0 = reinterpret_cast(blob_ptr + 63638784); reshape_349_0 = reinterpret_cast(blob_ptr + 40310784); reshape_351_0 = reinterpret_cast(blob_ptr + 0); split_352_0 = reinterpret_cast(blob_ptr + 90512640); split_352_1 = reinterpret_cast(blob_ptr + 40310784); split_352_2 = reinterpret_cast(blob_ptr + 77075712); mem_eff_attention_356_0 = reinterpret_cast(blob_ptr + 0); reshape_359_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_360_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_361_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_362_0 = reinterpret_cast(blob_ptr + 63638784); reshape_364_0 = reinterpret_cast(blob_ptr + 40310784); reshape_366_0 = reinterpret_cast(blob_ptr + 0); split_367_0 = reinterpret_cast(blob_ptr + 40310784); split_367_1 = reinterpret_cast(blob_ptr + 90512640); split_367_2 = reinterpret_cast(blob_ptr + 77075712); mem_eff_attention_371_0 = reinterpret_cast(blob_ptr + 0); reshape_374_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_375_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_376_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_377_0 = reinterpret_cast(blob_ptr + 63638784); reshape_379_0 = reinterpret_cast(blob_ptr + 40310784); reshape_381_0 = reinterpret_cast(blob_ptr + 0); split_382_0 = reinterpret_cast(blob_ptr + 77075712); split_382_1 = reinterpret_cast(blob_ptr + 40310784); split_382_2 = reinterpret_cast(blob_ptr + 90512640); mem_eff_attention_386_0 = reinterpret_cast(blob_ptr + 0); reshape_389_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_390_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_391_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_392_0 = reinterpret_cast(blob_ptr + 63638784); reshape_394_0 = reinterpret_cast(blob_ptr + 40310784); reshape_396_0 = reinterpret_cast(blob_ptr + 0); split_397_0 = reinterpret_cast(blob_ptr + 90512640); split_397_1 = reinterpret_cast(blob_ptr + 40310784); split_397_2 = reinterpret_cast(blob_ptr + 77075712); mem_eff_attention_401_0 = reinterpret_cast(blob_ptr + 0); reshape_404_0 = reinterpret_cast(blob_ptr + 50201856); layernorm_405_0 = reinterpret_cast(blob_ptr + 63638784); gemm_rcr_bias_gelu_406_0 = reinterpret_cast(blob_ptr + 0); gemm_rcr_bias_add_407_0 = reinterpret_cast(blob_ptr + 63638784); layernorm_408_0 = reinterpret_cast(blob_ptr + 26873856); reshape_410_0 = reinterpret_cast(blob_ptr + 0); permute_411_0 = reinterpret_cast(blob_ptr + 26873856); split_412_0 = reinterpret_cast(blob_ptr + 13436928); split_412_1 = reinterpret_cast(blob_ptr + 0); reshape_417_0 = reinterpret_cast(constants + 2658816); mem_eff_attention_418_0 = reinterpret_cast(blob_ptr + 26873856); gemm_rcr_bias_421_0 = reinterpret_cast(blob_ptr + 68864); layernorm_422_0 = reinterpret_cast(blob_ptr + 87296); gemm_rcr_bias_gelu_423_0 = reinterpret_cast(blob_ptr + 0); 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(1152, 1152, &pool_q_weight_dim_0), ParamDim(1152, 1152, &pool_q_weight_dim_1)}; params_[4].shape_ptrs = {ParamDim(1152, 1152, &pool_q_bias_dim_0)}; params_[0].shape_ptrs = {ParamDim(8, 8, &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(2304, 2304, &pool_kv_weight_dim_0), ParamDim(1152, 1152, &pool_kv_weight_dim_1)}; params_[335].shape_ptrs = {ParamDim(2304, 2304, &pool_kv_bias_dim_0)}; params_[336].shape_ptrs = {ParamDim(1152, 1152, &pool_proj_weight_dim_0), ParamDim(1152, 1152, &pool_proj_weight_dim_1)}; params_[337].shape_ptrs = {ParamDim(1152, 1152, &pool_proj_bias_dim_0)}; params_[338].shape_ptrs = {ParamDim(1152, 1152, &pool_ln_weight_dim_0)}; params_[339].shape_ptrs = {ParamDim(1152, 1152, &pool_ln_bias_dim_0)}; params_[340].shape_ptrs = {ParamDim(4304, 4304, &pool_mlp_fc1_weight_dim_0), ParamDim(1152, 1152, &pool_mlp_fc1_weight_dim_1)}; params_[341].shape_ptrs = {ParamDim(4304, 4304, &pool_mlp_fc1_bias_dim_0)}; params_[342].shape_ptrs = {ParamDim(1152, 1152, &pool_mlp_fc2_weight_dim_0), ParamDim(4304, 4304, &pool_mlp_fc2_weight_dim_1)}; params_[343].shape_ptrs = {ParamDim(1152, 1152, &pool_mlp_fc2_bias_dim_0)}; params_[1].shape_ptrs = {ParamDim(8, 8, &reshape_420_0_dim_0), ParamDim(1, 1, &reshape_420_0_dim_1), ParamDim(1152, 1152, &pool_mlp_fc2_weight_dim_0)}; } ~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_kv_weight == nullptr) { throw std::runtime_error("Constant pool_kv_weight was not set! Set the value with set_constant."); } if (pool_kv_bias == nullptr) { throw std::runtime_error("Constant pool_kv_bias was not set! Set the value with set_constant."); } if (pool_proj_weight == nullptr) { throw std::runtime_error("Constant pool_proj_weight was not set! Set the value with set_constant."); } if (pool_proj_bias == nullptr) { throw std::runtime_error("Constant pool_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_23_0 = split_22_0; reshape_24_0 = split_22_1; reshape_25_0 = split_22_2; reshape_38_0 = split_37_0; reshape_39_0 = split_37_1; reshape_40_0 = split_37_2; reshape_53_0 = split_52_0; reshape_54_0 = split_52_1; reshape_55_0 = split_52_2; reshape_68_0 = split_67_0; reshape_69_0 = split_67_1; reshape_70_0 = split_67_2; reshape_83_0 = split_82_0; reshape_84_0 = split_82_1; reshape_85_0 = split_82_2; reshape_98_0 = split_97_0; reshape_99_0 = split_97_1; reshape_100_0 = split_97_2; reshape_113_0 = split_112_0; reshape_114_0 = split_112_1; reshape_115_0 = split_112_2; reshape_128_0 = split_127_0; reshape_129_0 = split_127_1; reshape_130_0 = split_127_2; reshape_143_0 = split_142_0; reshape_144_0 = split_142_1; reshape_145_0 = split_142_2; reshape_158_0 = split_157_0; reshape_159_0 = split_157_1; reshape_160_0 = split_157_2; reshape_173_0 = split_172_0; reshape_174_0 = split_172_1; reshape_175_0 = split_172_2; reshape_188_0 = split_187_0; reshape_189_0 = split_187_1; reshape_190_0 = split_187_2; reshape_203_0 = split_202_0; reshape_204_0 = split_202_1; reshape_205_0 = split_202_2; reshape_218_0 = split_217_0; reshape_219_0 = split_217_1; reshape_220_0 = split_217_2; reshape_233_0 = split_232_0; reshape_234_0 = split_232_1; reshape_235_0 = split_232_2; reshape_248_0 = split_247_0; reshape_249_0 = split_247_1; reshape_250_0 = split_247_2; reshape_263_0 = split_262_0; reshape_264_0 = split_262_1; reshape_265_0 = split_262_2; reshape_278_0 = split_277_0; reshape_279_0 = split_277_1; reshape_280_0 = split_277_2; reshape_293_0 = split_292_0; reshape_294_0 = split_292_1; reshape_295_0 = split_292_2; reshape_308_0 = split_307_0; reshape_309_0 = split_307_1; reshape_310_0 = split_307_2; reshape_323_0 = split_322_0; reshape_324_0 = split_322_1; reshape_325_0 = split_322_2; reshape_338_0 = split_337_0; reshape_339_0 = split_337_1; reshape_340_0 = split_337_2; reshape_353_0 = split_352_0; reshape_354_0 = split_352_1; reshape_355_0 = split_352_2; reshape_368_0 = split_367_0; reshape_369_0 = split_367_1; reshape_370_0 = split_367_2; reshape_383_0 = split_382_0; reshape_384_0 = split_382_1; reshape_385_0 = split_382_2; reshape_398_0 = split_397_0; reshape_399_0 = split_397_1; reshape_400_0 = split_397_2; squeeze_413_0 = split_412_0; squeeze_414_0 = split_412_1; reshape_426_0 = mem_eff_attention_418_0; 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. */ reshape_417_0 = reinterpret_cast(constants + 2658816); } 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_425_n_elements = 8 * 729 * 1152; invoke_fused_elementwise_425(elementwise_2_0, conv2d_bias_few_channels_0_0,pos_emb_pos_emb, fused_elementwise_425_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( reshape_4_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( reshape_4_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_0, split_7_1, split_7_2 }; 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 *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 **output_shapes[] = { split_7_0_shape, split_7_1_shape, split_7_2_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_8_0, reshape_9_0, reshape_10_0, &reshape_8_0_dim_0, &reshape_10_0_dim_2, &reshape_8_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, elementwise_2_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 M = 1; M *= reshape_14_0_dim_0; M *= reshape_14_0_dim_1; int64_t N = 1; N *= reshape_14_0_dim_2; layernorm_15( layernorm_15_0, reshape_14_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_16( layernorm_15_0, encoder_layers_0_mlp_fc1_weight, encoder_layers_0_mlp_fc1_bias, gemm_rcr_bias_gelu_16_0, global_workspace_, 1, &reshape_14_0_dim_0, &reshape_14_0_dim_1, &reshape_14_0_dim_2, &encoder_layers_0_mlp_fc1_weight_dim_0, &encoder_layers_0_mlp_fc1_weight_dim_1, &reshape_14_0_dim_0, &reshape_14_0_dim_1, &encoder_layers_0_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_16_0, encoder_layers_0_mlp_fc2_weight, encoder_layers_0_mlp_fc2_bias, reshape_14_0, gemm_rcr_bias_add_17_0, global_workspace_, 1, &reshape_14_0_dim_0, &reshape_14_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_14_0_dim_0, &reshape_14_0_dim_1, &encoder_layers_0_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_14_0_dim_0; M *= reshape_14_0_dim_1; int64_t N = 1; N *= encoder_layers_0_mlp_fc2_weight_dim_0; layernorm_3( reshape_19_0, gemm_rcr_bias_add_17_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( reshape_19_0, encoder_layers_1_mha_qkv_weight, encoder_layers_1_mha_qkv_bias, reshape_21_0, global_workspace_, 1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mha_qkv_weight_dim_0, &encoder_layers_1_mha_qkv_weight_dim_1, &reshape_19_0_dim_0, &encoder_layers_1_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_22_0, split_22_2, split_22_1 }; int64_t *split_22_0_shape[] = { &split_22_0_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4 }; int64_t *split_22_2_shape[] = { &split_22_2_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4 }; int64_t *split_22_1_shape[] = { &split_22_1_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4 }; int64_t **output_shapes[] = { split_22_0_shape, split_22_2_shape, split_22_1_shape }; const int64_t reshape_21_0_shape[] = { reshape_21_0_dim_0, reshape_21_0_dim_1, reshape_21_0_dim_2, reshape_21_0_dim_3, reshape_21_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_21_0, reshape_21_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_22_0_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4, &reshape_23_0_dim_0, &reshape_23_0_dim_1, &reshape_23_0_dim_2, &reshape_23_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_22_1_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4, &reshape_24_0_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_22_2_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4, &reshape_25_0_dim_0, &reshape_25_0_dim_1, &reshape_25_0_dim_2, &reshape_25_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_26_0, reshape_23_0, reshape_25_0, reshape_24_0, &reshape_23_0_dim_0, &reshape_24_0_dim_2, &reshape_23_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_26_0, encoder_layers_1_mha_proj_weight, encoder_layers_1_mha_proj_bias, gemm_rcr_bias_add_17_0, reshape_29_0, global_workspace_, 1, &reshape_27_0_dim_0, &reshape_27_0_dim_1, &encoder_layers_1_mha_proj_weight_dim_0, &encoder_layers_1_mha_proj_weight_dim_1, &reshape_27_0_dim_0, &encoder_layers_1_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_29_0_dim_0; M *= reshape_29_0_dim_1; int64_t N = 1; N *= reshape_29_0_dim_2; layernorm_15( layernorm_30_0, reshape_29_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_16( layernorm_30_0, encoder_layers_1_mlp_fc1_weight, encoder_layers_1_mlp_fc1_bias, gemm_rcr_bias_gelu_31_0, global_workspace_, 1, &reshape_29_0_dim_0, &reshape_29_0_dim_1, &reshape_29_0_dim_2, &encoder_layers_1_mlp_fc1_weight_dim_0, &encoder_layers_1_mlp_fc1_weight_dim_1, &reshape_29_0_dim_0, &reshape_29_0_dim_1, &encoder_layers_1_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_31_0, encoder_layers_1_mlp_fc2_weight, encoder_layers_1_mlp_fc2_bias, reshape_29_0, gemm_rcr_bias_add_32_0, global_workspace_, 1, &reshape_29_0_dim_0, &reshape_29_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_29_0_dim_0, &reshape_29_0_dim_1, &encoder_layers_1_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_29_0_dim_0; M *= reshape_29_0_dim_1; int64_t N = 1; N *= encoder_layers_1_mlp_fc2_weight_dim_0; layernorm_3( reshape_34_0, gemm_rcr_bias_add_32_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( reshape_34_0, encoder_layers_2_mha_qkv_weight, encoder_layers_2_mha_qkv_bias, reshape_36_0, global_workspace_, 1, &reshape_34_0_dim_0, &reshape_34_0_dim_1, &encoder_layers_2_mha_qkv_weight_dim_0, &encoder_layers_2_mha_qkv_weight_dim_1, &reshape_34_0_dim_0, &encoder_layers_2_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_37_1, split_37_0, split_37_2 }; int64_t *split_37_1_shape[] = { &split_37_1_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4 }; int64_t *split_37_0_shape[] = { &split_37_0_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4 }; int64_t *split_37_2_shape[] = { &split_37_2_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4 }; int64_t **output_shapes[] = { split_37_1_shape, split_37_0_shape, split_37_2_shape }; const int64_t reshape_36_0_shape[] = { reshape_36_0_dim_0, reshape_36_0_dim_1, reshape_36_0_dim_2, reshape_36_0_dim_3, reshape_36_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_36_0, reshape_36_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_37_0_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4, &reshape_38_0_dim_0, &reshape_38_0_dim_1, &reshape_38_0_dim_2, &reshape_38_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_37_1_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4, &reshape_39_0_dim_0, &reshape_39_0_dim_1, &reshape_39_0_dim_2, &reshape_39_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_37_2_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4, &reshape_40_0_dim_0, &reshape_40_0_dim_1, &reshape_40_0_dim_2, &reshape_40_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_41_0, reshape_39_0, reshape_38_0, reshape_40_0, &reshape_39_0_dim_0, &reshape_40_0_dim_2, &reshape_39_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_41_0, encoder_layers_2_mha_proj_weight, encoder_layers_2_mha_proj_bias, gemm_rcr_bias_add_32_0, reshape_44_0, global_workspace_, 1, &reshape_42_0_dim_0, &reshape_42_0_dim_1, &encoder_layers_2_mha_proj_weight_dim_0, &encoder_layers_2_mha_proj_weight_dim_1, &reshape_42_0_dim_0, &encoder_layers_2_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_44_0_dim_0; M *= reshape_44_0_dim_1; int64_t N = 1; N *= reshape_44_0_dim_2; layernorm_15( layernorm_45_0, reshape_44_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_16( layernorm_45_0, encoder_layers_2_mlp_fc1_weight, encoder_layers_2_mlp_fc1_bias, gemm_rcr_bias_gelu_46_0, global_workspace_, 1, &reshape_44_0_dim_0, &reshape_44_0_dim_1, &reshape_44_0_dim_2, &encoder_layers_2_mlp_fc1_weight_dim_0, &encoder_layers_2_mlp_fc1_weight_dim_1, &reshape_44_0_dim_0, &reshape_44_0_dim_1, &encoder_layers_2_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_46_0, encoder_layers_2_mlp_fc2_weight, encoder_layers_2_mlp_fc2_bias, reshape_44_0, gemm_rcr_bias_add_47_0, global_workspace_, 1, &reshape_44_0_dim_0, &reshape_44_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_44_0_dim_0, &reshape_44_0_dim_1, &encoder_layers_2_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_44_0_dim_0; M *= reshape_44_0_dim_1; int64_t N = 1; N *= encoder_layers_2_mlp_fc2_weight_dim_0; layernorm_3( reshape_49_0, gemm_rcr_bias_add_47_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( reshape_49_0, encoder_layers_3_mha_qkv_weight, encoder_layers_3_mha_qkv_bias, reshape_51_0, global_workspace_, 1, &reshape_49_0_dim_0, &reshape_49_0_dim_1, &encoder_layers_3_mha_qkv_weight_dim_0, &encoder_layers_3_mha_qkv_weight_dim_1, &reshape_49_0_dim_0, &encoder_layers_3_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_52_2, split_52_1, split_52_0 }; int64_t *split_52_2_shape[] = { &split_52_2_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4 }; int64_t *split_52_1_shape[] = { &split_52_1_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4 }; int64_t *split_52_0_shape[] = { &split_52_0_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4 }; int64_t **output_shapes[] = { split_52_2_shape, split_52_1_shape, split_52_0_shape }; const int64_t reshape_51_0_shape[] = { reshape_51_0_dim_0, reshape_51_0_dim_1, reshape_51_0_dim_2, reshape_51_0_dim_3, reshape_51_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_51_0, reshape_51_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_52_0_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4, &reshape_53_0_dim_0, &reshape_53_0_dim_1, &reshape_53_0_dim_2, &reshape_53_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_52_1_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4, &reshape_54_0_dim_0, &reshape_54_0_dim_1, &reshape_54_0_dim_2, &reshape_54_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_52_2_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &reshape_55_0_dim_2, &reshape_55_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_56_0, reshape_55_0, reshape_54_0, reshape_53_0, &reshape_55_0_dim_0, &reshape_53_0_dim_2, &reshape_55_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_56_0, encoder_layers_3_mha_proj_weight, encoder_layers_3_mha_proj_bias, gemm_rcr_bias_add_47_0, reshape_59_0, global_workspace_, 1, &reshape_57_0_dim_0, &reshape_57_0_dim_1, &encoder_layers_3_mha_proj_weight_dim_0, &encoder_layers_3_mha_proj_weight_dim_1, &reshape_57_0_dim_0, &encoder_layers_3_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_59_0_dim_0; M *= reshape_59_0_dim_1; int64_t N = 1; N *= reshape_59_0_dim_2; layernorm_15( layernorm_60_0, reshape_59_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_16( layernorm_60_0, encoder_layers_3_mlp_fc1_weight, encoder_layers_3_mlp_fc1_bias, gemm_rcr_bias_gelu_61_0, global_workspace_, 1, &reshape_59_0_dim_0, &reshape_59_0_dim_1, &reshape_59_0_dim_2, &encoder_layers_3_mlp_fc1_weight_dim_0, &encoder_layers_3_mlp_fc1_weight_dim_1, &reshape_59_0_dim_0, &reshape_59_0_dim_1, &encoder_layers_3_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_61_0, encoder_layers_3_mlp_fc2_weight, encoder_layers_3_mlp_fc2_bias, reshape_59_0, gemm_rcr_bias_add_62_0, global_workspace_, 1, &reshape_59_0_dim_0, &reshape_59_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_59_0_dim_0, &reshape_59_0_dim_1, &encoder_layers_3_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_59_0_dim_0; M *= reshape_59_0_dim_1; int64_t N = 1; N *= encoder_layers_3_mlp_fc2_weight_dim_0; layernorm_3( reshape_64_0, gemm_rcr_bias_add_62_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( reshape_64_0, encoder_layers_4_mha_qkv_weight, encoder_layers_4_mha_qkv_bias, reshape_66_0, global_workspace_, 1, &reshape_64_0_dim_0, &reshape_64_0_dim_1, &encoder_layers_4_mha_qkv_weight_dim_0, &encoder_layers_4_mha_qkv_weight_dim_1, &reshape_64_0_dim_0, &encoder_layers_4_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_67_0, split_67_1, split_67_2 }; int64_t *split_67_0_shape[] = { &split_67_0_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4 }; int64_t *split_67_1_shape[] = { &split_67_1_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4 }; int64_t *split_67_2_shape[] = { &split_67_2_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4 }; int64_t **output_shapes[] = { split_67_0_shape, split_67_1_shape, split_67_2_shape }; const int64_t reshape_66_0_shape[] = { reshape_66_0_dim_0, reshape_66_0_dim_1, reshape_66_0_dim_2, reshape_66_0_dim_3, reshape_66_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_66_0, reshape_66_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_67_0_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4, &reshape_68_0_dim_0, &reshape_68_0_dim_1, &reshape_68_0_dim_2, &reshape_68_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_67_1_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4, &reshape_69_0_dim_0, &reshape_69_0_dim_1, &reshape_69_0_dim_2, &reshape_69_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_67_2_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4, &reshape_70_0_dim_0, &reshape_70_0_dim_1, &reshape_70_0_dim_2, &reshape_70_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_71_0, reshape_68_0, reshape_69_0, reshape_70_0, &reshape_68_0_dim_0, &reshape_70_0_dim_2, &reshape_68_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_71_0, encoder_layers_4_mha_proj_weight, encoder_layers_4_mha_proj_bias, gemm_rcr_bias_add_62_0, reshape_74_0, global_workspace_, 1, &reshape_72_0_dim_0, &reshape_72_0_dim_1, &encoder_layers_4_mha_proj_weight_dim_0, &encoder_layers_4_mha_proj_weight_dim_1, &reshape_72_0_dim_0, &encoder_layers_4_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_74_0_dim_0; M *= reshape_74_0_dim_1; int64_t N = 1; N *= reshape_74_0_dim_2; layernorm_15( layernorm_75_0, reshape_74_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_16( layernorm_75_0, encoder_layers_4_mlp_fc1_weight, encoder_layers_4_mlp_fc1_bias, gemm_rcr_bias_gelu_76_0, global_workspace_, 1, &reshape_74_0_dim_0, &reshape_74_0_dim_1, &reshape_74_0_dim_2, &encoder_layers_4_mlp_fc1_weight_dim_0, &encoder_layers_4_mlp_fc1_weight_dim_1, &reshape_74_0_dim_0, &reshape_74_0_dim_1, &encoder_layers_4_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_76_0, encoder_layers_4_mlp_fc2_weight, encoder_layers_4_mlp_fc2_bias, reshape_74_0, gemm_rcr_bias_add_77_0, global_workspace_, 1, &reshape_74_0_dim_0, &reshape_74_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_74_0_dim_0, &reshape_74_0_dim_1, &encoder_layers_4_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_74_0_dim_0; M *= reshape_74_0_dim_1; int64_t N = 1; N *= encoder_layers_4_mlp_fc2_weight_dim_0; layernorm_3( reshape_79_0, gemm_rcr_bias_add_77_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( reshape_79_0, encoder_layers_5_mha_qkv_weight, encoder_layers_5_mha_qkv_bias, reshape_81_0, global_workspace_, 1, &reshape_79_0_dim_0, &reshape_79_0_dim_1, &encoder_layers_5_mha_qkv_weight_dim_0, &encoder_layers_5_mha_qkv_weight_dim_1, &reshape_79_0_dim_0, &encoder_layers_5_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_82_0, split_82_1, split_82_2 }; int64_t *split_82_0_shape[] = { &split_82_0_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4 }; int64_t *split_82_1_shape[] = { &split_82_1_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4 }; int64_t *split_82_2_shape[] = { &split_82_2_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4 }; int64_t **output_shapes[] = { split_82_0_shape, split_82_1_shape, split_82_2_shape }; const int64_t reshape_81_0_shape[] = { reshape_81_0_dim_0, reshape_81_0_dim_1, reshape_81_0_dim_2, reshape_81_0_dim_3, reshape_81_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_81_0, reshape_81_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_82_0_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4, &reshape_83_0_dim_0, &reshape_83_0_dim_1, &reshape_83_0_dim_2, &reshape_83_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_82_1_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4, &reshape_84_0_dim_0, &reshape_84_0_dim_1, &reshape_84_0_dim_2, &reshape_84_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_82_2_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4, &reshape_85_0_dim_0, &reshape_85_0_dim_1, &reshape_85_0_dim_2, &reshape_85_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_86_0, reshape_83_0, reshape_84_0, reshape_85_0, &reshape_83_0_dim_0, &reshape_85_0_dim_2, &reshape_83_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_86_0, encoder_layers_5_mha_proj_weight, encoder_layers_5_mha_proj_bias, gemm_rcr_bias_add_77_0, reshape_89_0, global_workspace_, 1, &reshape_87_0_dim_0, &reshape_87_0_dim_1, &encoder_layers_5_mha_proj_weight_dim_0, &encoder_layers_5_mha_proj_weight_dim_1, &reshape_87_0_dim_0, &encoder_layers_5_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_89_0_dim_0; M *= reshape_89_0_dim_1; int64_t N = 1; N *= reshape_89_0_dim_2; layernorm_15( layernorm_90_0, reshape_89_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_16( layernorm_90_0, encoder_layers_5_mlp_fc1_weight, encoder_layers_5_mlp_fc1_bias, gemm_rcr_bias_gelu_91_0, global_workspace_, 1, &reshape_89_0_dim_0, &reshape_89_0_dim_1, &reshape_89_0_dim_2, &encoder_layers_5_mlp_fc1_weight_dim_0, &encoder_layers_5_mlp_fc1_weight_dim_1, &reshape_89_0_dim_0, &reshape_89_0_dim_1, &encoder_layers_5_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_91_0, encoder_layers_5_mlp_fc2_weight, encoder_layers_5_mlp_fc2_bias, reshape_89_0, gemm_rcr_bias_add_92_0, global_workspace_, 1, &reshape_89_0_dim_0, &reshape_89_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_89_0_dim_0, &reshape_89_0_dim_1, &encoder_layers_5_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_89_0_dim_0; M *= reshape_89_0_dim_1; int64_t N = 1; N *= encoder_layers_5_mlp_fc2_weight_dim_0; layernorm_3( reshape_94_0, gemm_rcr_bias_add_92_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( reshape_94_0, encoder_layers_6_mha_qkv_weight, encoder_layers_6_mha_qkv_bias, reshape_96_0, global_workspace_, 1, &reshape_94_0_dim_0, &reshape_94_0_dim_1, &encoder_layers_6_mha_qkv_weight_dim_0, &encoder_layers_6_mha_qkv_weight_dim_1, &reshape_94_0_dim_0, &encoder_layers_6_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_97_2, split_97_0, split_97_1 }; 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 *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_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 **output_shapes[] = { split_97_2_shape, split_97_0_shape, split_97_1_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_100_0, reshape_98_0, reshape_99_0, &reshape_100_0_dim_0, &reshape_99_0_dim_2, &reshape_100_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_6_mha_proj_weight, encoder_layers_6_mha_proj_bias, gemm_rcr_bias_add_92_0, reshape_104_0, global_workspace_, 1, &reshape_102_0_dim_0, &reshape_102_0_dim_1, &encoder_layers_6_mha_proj_weight_dim_0, &encoder_layers_6_mha_proj_weight_dim_1, &reshape_102_0_dim_0, &encoder_layers_6_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_104_0_dim_0; M *= reshape_104_0_dim_1; int64_t N = 1; N *= reshape_104_0_dim_2; layernorm_15( layernorm_105_0, reshape_104_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_16( layernorm_105_0, encoder_layers_6_mlp_fc1_weight, encoder_layers_6_mlp_fc1_bias, gemm_rcr_bias_gelu_106_0, global_workspace_, 1, &reshape_104_0_dim_0, &reshape_104_0_dim_1, &reshape_104_0_dim_2, &encoder_layers_6_mlp_fc1_weight_dim_0, &encoder_layers_6_mlp_fc1_weight_dim_1, &reshape_104_0_dim_0, &reshape_104_0_dim_1, &encoder_layers_6_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_106_0, encoder_layers_6_mlp_fc2_weight, encoder_layers_6_mlp_fc2_bias, reshape_104_0, gemm_rcr_bias_add_107_0, global_workspace_, 1, &reshape_104_0_dim_0, &reshape_104_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_104_0_dim_0, &reshape_104_0_dim_1, &encoder_layers_6_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_104_0_dim_0; M *= reshape_104_0_dim_1; int64_t N = 1; N *= encoder_layers_6_mlp_fc2_weight_dim_0; layernorm_3( reshape_109_0, gemm_rcr_bias_add_107_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( reshape_109_0, encoder_layers_7_mha_qkv_weight, encoder_layers_7_mha_qkv_bias, reshape_111_0, global_workspace_, 1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_7_mha_qkv_weight_dim_0, &encoder_layers_7_mha_qkv_weight_dim_1, &reshape_109_0_dim_0, &encoder_layers_7_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_112_0, split_112_1, split_112_2 }; int64_t *split_112_0_shape[] = { &split_112_0_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4 }; int64_t *split_112_1_shape[] = { &split_112_1_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4 }; int64_t *split_112_2_shape[] = { &split_112_2_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4 }; int64_t **output_shapes[] = { split_112_0_shape, split_112_1_shape, split_112_2_shape }; const int64_t reshape_111_0_shape[] = { reshape_111_0_dim_0, reshape_111_0_dim_1, reshape_111_0_dim_2, reshape_111_0_dim_3, reshape_111_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_111_0, reshape_111_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_112_0_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4, &reshape_113_0_dim_0, &reshape_113_0_dim_1, &reshape_113_0_dim_2, &reshape_113_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_112_1_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4, &reshape_114_0_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_112_2_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4, &reshape_115_0_dim_0, &reshape_115_0_dim_1, &reshape_115_0_dim_2, &reshape_115_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_116_0, reshape_113_0, reshape_114_0, reshape_115_0, &reshape_113_0_dim_0, &reshape_115_0_dim_2, &reshape_113_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_116_0, encoder_layers_7_mha_proj_weight, encoder_layers_7_mha_proj_bias, gemm_rcr_bias_add_107_0, reshape_119_0, global_workspace_, 1, &reshape_117_0_dim_0, &reshape_117_0_dim_1, &encoder_layers_7_mha_proj_weight_dim_0, &encoder_layers_7_mha_proj_weight_dim_1, &reshape_117_0_dim_0, &encoder_layers_7_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_119_0_dim_0; M *= reshape_119_0_dim_1; int64_t N = 1; N *= reshape_119_0_dim_2; layernorm_15( layernorm_120_0, reshape_119_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_16( layernorm_120_0, encoder_layers_7_mlp_fc1_weight, encoder_layers_7_mlp_fc1_bias, gemm_rcr_bias_gelu_121_0, global_workspace_, 1, &reshape_119_0_dim_0, &reshape_119_0_dim_1, &reshape_119_0_dim_2, &encoder_layers_7_mlp_fc1_weight_dim_0, &encoder_layers_7_mlp_fc1_weight_dim_1, &reshape_119_0_dim_0, &reshape_119_0_dim_1, &encoder_layers_7_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_121_0, encoder_layers_7_mlp_fc2_weight, encoder_layers_7_mlp_fc2_bias, reshape_119_0, gemm_rcr_bias_add_122_0, global_workspace_, 1, &reshape_119_0_dim_0, &reshape_119_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_119_0_dim_0, &reshape_119_0_dim_1, &encoder_layers_7_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_119_0_dim_0; M *= reshape_119_0_dim_1; int64_t N = 1; N *= encoder_layers_7_mlp_fc2_weight_dim_0; layernorm_3( reshape_124_0, gemm_rcr_bias_add_122_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( reshape_124_0, encoder_layers_8_mha_qkv_weight, encoder_layers_8_mha_qkv_bias, reshape_126_0, global_workspace_, 1, &reshape_124_0_dim_0, &reshape_124_0_dim_1, &encoder_layers_8_mha_qkv_weight_dim_0, &encoder_layers_8_mha_qkv_weight_dim_1, &reshape_124_0_dim_0, &encoder_layers_8_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_127_1, split_127_0, split_127_2 }; int64_t *split_127_1_shape[] = { &split_127_1_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4 }; int64_t *split_127_0_shape[] = { &split_127_0_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4 }; int64_t *split_127_2_shape[] = { &split_127_2_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4 }; int64_t **output_shapes[] = { split_127_1_shape, split_127_0_shape, split_127_2_shape }; const int64_t reshape_126_0_shape[] = { reshape_126_0_dim_0, reshape_126_0_dim_1, reshape_126_0_dim_2, reshape_126_0_dim_3, reshape_126_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_126_0, reshape_126_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_127_0_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4, &reshape_128_0_dim_0, &reshape_128_0_dim_1, &reshape_128_0_dim_2, &reshape_128_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_127_1_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4, &reshape_129_0_dim_0, &reshape_129_0_dim_1, &reshape_129_0_dim_2, &reshape_129_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_127_2_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4, &reshape_130_0_dim_0, &reshape_130_0_dim_1, &reshape_130_0_dim_2, &reshape_130_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_131_0, reshape_129_0, reshape_128_0, reshape_130_0, &reshape_129_0_dim_0, &reshape_130_0_dim_2, &reshape_129_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_131_0, encoder_layers_8_mha_proj_weight, encoder_layers_8_mha_proj_bias, gemm_rcr_bias_add_122_0, reshape_134_0, global_workspace_, 1, &reshape_132_0_dim_0, &reshape_132_0_dim_1, &encoder_layers_8_mha_proj_weight_dim_0, &encoder_layers_8_mha_proj_weight_dim_1, &reshape_132_0_dim_0, &encoder_layers_8_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_134_0_dim_0; M *= reshape_134_0_dim_1; int64_t N = 1; N *= reshape_134_0_dim_2; layernorm_15( layernorm_135_0, reshape_134_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_16( layernorm_135_0, encoder_layers_8_mlp_fc1_weight, encoder_layers_8_mlp_fc1_bias, gemm_rcr_bias_gelu_136_0, global_workspace_, 1, &reshape_134_0_dim_0, &reshape_134_0_dim_1, &reshape_134_0_dim_2, &encoder_layers_8_mlp_fc1_weight_dim_0, &encoder_layers_8_mlp_fc1_weight_dim_1, &reshape_134_0_dim_0, &reshape_134_0_dim_1, &encoder_layers_8_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_136_0, encoder_layers_8_mlp_fc2_weight, encoder_layers_8_mlp_fc2_bias, reshape_134_0, gemm_rcr_bias_add_137_0, global_workspace_, 1, &reshape_134_0_dim_0, &reshape_134_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_134_0_dim_0, &reshape_134_0_dim_1, &encoder_layers_8_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_134_0_dim_0; M *= reshape_134_0_dim_1; int64_t N = 1; N *= encoder_layers_8_mlp_fc2_weight_dim_0; layernorm_3( reshape_139_0, gemm_rcr_bias_add_137_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( reshape_139_0, encoder_layers_9_mha_qkv_weight, encoder_layers_9_mha_qkv_bias, reshape_141_0, global_workspace_, 1, &reshape_139_0_dim_0, &reshape_139_0_dim_1, &encoder_layers_9_mha_qkv_weight_dim_0, &encoder_layers_9_mha_qkv_weight_dim_1, &reshape_139_0_dim_0, &encoder_layers_9_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_142_2, split_142_1, split_142_0 }; int64_t *split_142_2_shape[] = { &split_142_2_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4 }; int64_t *split_142_1_shape[] = { &split_142_1_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4 }; int64_t *split_142_0_shape[] = { &split_142_0_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4 }; int64_t **output_shapes[] = { split_142_2_shape, split_142_1_shape, split_142_0_shape }; const int64_t reshape_141_0_shape[] = { reshape_141_0_dim_0, reshape_141_0_dim_1, reshape_141_0_dim_2, reshape_141_0_dim_3, reshape_141_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_141_0, reshape_141_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_142_0_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4, &reshape_143_0_dim_0, &reshape_143_0_dim_1, &reshape_143_0_dim_2, &reshape_143_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_142_1_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4, &reshape_144_0_dim_0, &reshape_144_0_dim_1, &reshape_144_0_dim_2, &reshape_144_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_142_2_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &reshape_145_0_dim_2, &reshape_145_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_146_0, reshape_145_0, reshape_144_0, reshape_143_0, &reshape_145_0_dim_0, &reshape_143_0_dim_2, &reshape_145_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_146_0, encoder_layers_9_mha_proj_weight, encoder_layers_9_mha_proj_bias, gemm_rcr_bias_add_137_0, reshape_149_0, global_workspace_, 1, &reshape_147_0_dim_0, &reshape_147_0_dim_1, &encoder_layers_9_mha_proj_weight_dim_0, &encoder_layers_9_mha_proj_weight_dim_1, &reshape_147_0_dim_0, &encoder_layers_9_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_149_0_dim_0; M *= reshape_149_0_dim_1; int64_t N = 1; N *= reshape_149_0_dim_2; layernorm_15( layernorm_150_0, reshape_149_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_16( layernorm_150_0, encoder_layers_9_mlp_fc1_weight, encoder_layers_9_mlp_fc1_bias, gemm_rcr_bias_gelu_151_0, global_workspace_, 1, &reshape_149_0_dim_0, &reshape_149_0_dim_1, &reshape_149_0_dim_2, &encoder_layers_9_mlp_fc1_weight_dim_0, &encoder_layers_9_mlp_fc1_weight_dim_1, &reshape_149_0_dim_0, &reshape_149_0_dim_1, &encoder_layers_9_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_151_0, encoder_layers_9_mlp_fc2_weight, encoder_layers_9_mlp_fc2_bias, reshape_149_0, gemm_rcr_bias_add_152_0, global_workspace_, 1, &reshape_149_0_dim_0, &reshape_149_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_149_0_dim_0, &reshape_149_0_dim_1, &encoder_layers_9_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_149_0_dim_0; M *= reshape_149_0_dim_1; int64_t N = 1; N *= encoder_layers_9_mlp_fc2_weight_dim_0; layernorm_3( reshape_154_0, gemm_rcr_bias_add_152_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( reshape_154_0, encoder_layers_10_mha_qkv_weight, encoder_layers_10_mha_qkv_bias, reshape_156_0, global_workspace_, 1, &reshape_154_0_dim_0, &reshape_154_0_dim_1, &encoder_layers_10_mha_qkv_weight_dim_0, &encoder_layers_10_mha_qkv_weight_dim_1, &reshape_154_0_dim_0, &encoder_layers_10_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_157_1, split_157_2, split_157_0 }; int64_t *split_157_1_shape[] = { &split_157_1_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4 }; int64_t *split_157_2_shape[] = { &split_157_2_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4 }; int64_t *split_157_0_shape[] = { &split_157_0_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4 }; int64_t **output_shapes[] = { split_157_1_shape, split_157_2_shape, split_157_0_shape }; const int64_t reshape_156_0_shape[] = { reshape_156_0_dim_0, reshape_156_0_dim_1, reshape_156_0_dim_2, reshape_156_0_dim_3, reshape_156_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_156_0, reshape_156_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_157_0_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4, &reshape_158_0_dim_0, &reshape_158_0_dim_1, &reshape_158_0_dim_2, &reshape_158_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_157_1_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4, &reshape_159_0_dim_0, &reshape_159_0_dim_1, &reshape_159_0_dim_2, &reshape_159_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_157_2_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4, &reshape_160_0_dim_0, &reshape_160_0_dim_1, &reshape_160_0_dim_2, &reshape_160_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_161_0, reshape_159_0, reshape_160_0, reshape_158_0, &reshape_159_0_dim_0, &reshape_158_0_dim_2, &reshape_159_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_161_0, encoder_layers_10_mha_proj_weight, encoder_layers_10_mha_proj_bias, gemm_rcr_bias_add_152_0, reshape_164_0, global_workspace_, 1, &reshape_162_0_dim_0, &reshape_162_0_dim_1, &encoder_layers_10_mha_proj_weight_dim_0, &encoder_layers_10_mha_proj_weight_dim_1, &reshape_162_0_dim_0, &encoder_layers_10_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_164_0_dim_0; M *= reshape_164_0_dim_1; int64_t N = 1; N *= reshape_164_0_dim_2; layernorm_15( layernorm_165_0, reshape_164_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_16( layernorm_165_0, encoder_layers_10_mlp_fc1_weight, encoder_layers_10_mlp_fc1_bias, gemm_rcr_bias_gelu_166_0, global_workspace_, 1, &reshape_164_0_dim_0, &reshape_164_0_dim_1, &reshape_164_0_dim_2, &encoder_layers_10_mlp_fc1_weight_dim_0, &encoder_layers_10_mlp_fc1_weight_dim_1, &reshape_164_0_dim_0, &reshape_164_0_dim_1, &encoder_layers_10_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_166_0, encoder_layers_10_mlp_fc2_weight, encoder_layers_10_mlp_fc2_bias, reshape_164_0, gemm_rcr_bias_add_167_0, global_workspace_, 1, &reshape_164_0_dim_0, &reshape_164_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_164_0_dim_0, &reshape_164_0_dim_1, &encoder_layers_10_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_164_0_dim_0; M *= reshape_164_0_dim_1; int64_t N = 1; N *= encoder_layers_10_mlp_fc2_weight_dim_0; layernorm_3( reshape_169_0, gemm_rcr_bias_add_167_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( reshape_169_0, encoder_layers_11_mha_qkv_weight, encoder_layers_11_mha_qkv_bias, reshape_171_0, global_workspace_, 1, &reshape_169_0_dim_0, &reshape_169_0_dim_1, &encoder_layers_11_mha_qkv_weight_dim_0, &encoder_layers_11_mha_qkv_weight_dim_1, &reshape_169_0_dim_0, &encoder_layers_11_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_172_0, split_172_1, split_172_2 }; int64_t *split_172_0_shape[] = { &split_172_0_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4 }; int64_t *split_172_1_shape[] = { &split_172_1_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4 }; int64_t *split_172_2_shape[] = { &split_172_2_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4 }; int64_t **output_shapes[] = { split_172_0_shape, split_172_1_shape, split_172_2_shape }; const int64_t reshape_171_0_shape[] = { reshape_171_0_dim_0, reshape_171_0_dim_1, reshape_171_0_dim_2, reshape_171_0_dim_3, reshape_171_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_171_0, reshape_171_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_172_0_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4, &reshape_173_0_dim_0, &reshape_173_0_dim_1, &reshape_173_0_dim_2, &reshape_173_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_172_1_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4, &reshape_174_0_dim_0, &reshape_174_0_dim_1, &reshape_174_0_dim_2, &reshape_174_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_172_2_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4, &reshape_175_0_dim_0, &reshape_175_0_dim_1, &reshape_175_0_dim_2, &reshape_175_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_176_0, reshape_173_0, reshape_174_0, reshape_175_0, &reshape_173_0_dim_0, &reshape_175_0_dim_2, &reshape_173_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_176_0, encoder_layers_11_mha_proj_weight, encoder_layers_11_mha_proj_bias, gemm_rcr_bias_add_167_0, reshape_179_0, global_workspace_, 1, &reshape_177_0_dim_0, &reshape_177_0_dim_1, &encoder_layers_11_mha_proj_weight_dim_0, &encoder_layers_11_mha_proj_weight_dim_1, &reshape_177_0_dim_0, &encoder_layers_11_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_179_0_dim_0; M *= reshape_179_0_dim_1; int64_t N = 1; N *= reshape_179_0_dim_2; layernorm_15( layernorm_180_0, reshape_179_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_16( layernorm_180_0, encoder_layers_11_mlp_fc1_weight, encoder_layers_11_mlp_fc1_bias, gemm_rcr_bias_gelu_181_0, global_workspace_, 1, &reshape_179_0_dim_0, &reshape_179_0_dim_1, &reshape_179_0_dim_2, &encoder_layers_11_mlp_fc1_weight_dim_0, &encoder_layers_11_mlp_fc1_weight_dim_1, &reshape_179_0_dim_0, &reshape_179_0_dim_1, &encoder_layers_11_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_181_0, encoder_layers_11_mlp_fc2_weight, encoder_layers_11_mlp_fc2_bias, reshape_179_0, gemm_rcr_bias_add_182_0, global_workspace_, 1, &reshape_179_0_dim_0, &reshape_179_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_179_0_dim_0, &reshape_179_0_dim_1, &encoder_layers_11_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_179_0_dim_0; M *= reshape_179_0_dim_1; int64_t N = 1; N *= encoder_layers_11_mlp_fc2_weight_dim_0; layernorm_3( reshape_184_0, gemm_rcr_bias_add_182_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( reshape_184_0, encoder_layers_12_mha_qkv_weight, encoder_layers_12_mha_qkv_bias, reshape_186_0, global_workspace_, 1, &reshape_184_0_dim_0, &reshape_184_0_dim_1, &encoder_layers_12_mha_qkv_weight_dim_0, &encoder_layers_12_mha_qkv_weight_dim_1, &reshape_184_0_dim_0, &encoder_layers_12_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_187_2, split_187_0, split_187_1 }; 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 *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 **output_shapes[] = { split_187_2_shape, split_187_0_shape, split_187_1_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_190_0, reshape_188_0, reshape_189_0, &reshape_190_0_dim_0, &reshape_189_0_dim_2, &reshape_190_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_12_mha_proj_weight, encoder_layers_12_mha_proj_bias, gemm_rcr_bias_add_182_0, reshape_194_0, global_workspace_, 1, &reshape_192_0_dim_0, &reshape_192_0_dim_1, &encoder_layers_12_mha_proj_weight_dim_0, &encoder_layers_12_mha_proj_weight_dim_1, &reshape_192_0_dim_0, &encoder_layers_12_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_194_0_dim_0; M *= reshape_194_0_dim_1; int64_t N = 1; N *= reshape_194_0_dim_2; layernorm_15( layernorm_195_0, reshape_194_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_16( layernorm_195_0, encoder_layers_12_mlp_fc1_weight, encoder_layers_12_mlp_fc1_bias, gemm_rcr_bias_gelu_196_0, global_workspace_, 1, &reshape_194_0_dim_0, &reshape_194_0_dim_1, &reshape_194_0_dim_2, &encoder_layers_12_mlp_fc1_weight_dim_0, &encoder_layers_12_mlp_fc1_weight_dim_1, &reshape_194_0_dim_0, &reshape_194_0_dim_1, &encoder_layers_12_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_196_0, encoder_layers_12_mlp_fc2_weight, encoder_layers_12_mlp_fc2_bias, reshape_194_0, gemm_rcr_bias_add_197_0, global_workspace_, 1, &reshape_194_0_dim_0, &reshape_194_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_194_0_dim_0, &reshape_194_0_dim_1, &encoder_layers_12_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_194_0_dim_0; M *= reshape_194_0_dim_1; int64_t N = 1; N *= encoder_layers_12_mlp_fc2_weight_dim_0; layernorm_3( reshape_199_0, gemm_rcr_bias_add_197_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( reshape_199_0, encoder_layers_13_mha_qkv_weight, encoder_layers_13_mha_qkv_bias, reshape_201_0, global_workspace_, 1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_13_mha_qkv_weight_dim_0, &encoder_layers_13_mha_qkv_weight_dim_1, &reshape_199_0_dim_0, &encoder_layers_13_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_202_2, split_202_1, split_202_0 }; int64_t *split_202_2_shape[] = { &split_202_2_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4 }; int64_t *split_202_1_shape[] = { &split_202_1_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4 }; int64_t *split_202_0_shape[] = { &split_202_0_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4 }; int64_t **output_shapes[] = { split_202_2_shape, split_202_1_shape, split_202_0_shape }; const int64_t reshape_201_0_shape[] = { reshape_201_0_dim_0, reshape_201_0_dim_1, reshape_201_0_dim_2, reshape_201_0_dim_3, reshape_201_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_201_0, reshape_201_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_202_0_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4, &reshape_203_0_dim_0, &reshape_203_0_dim_1, &reshape_203_0_dim_2, &reshape_203_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_202_1_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4, &reshape_204_0_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_202_2_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4, &reshape_205_0_dim_0, &reshape_205_0_dim_1, &reshape_205_0_dim_2, &reshape_205_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_206_0, reshape_205_0, reshape_204_0, reshape_203_0, &reshape_205_0_dim_0, &reshape_203_0_dim_2, &reshape_205_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_206_0, encoder_layers_13_mha_proj_weight, encoder_layers_13_mha_proj_bias, gemm_rcr_bias_add_197_0, reshape_209_0, global_workspace_, 1, &reshape_207_0_dim_0, &reshape_207_0_dim_1, &encoder_layers_13_mha_proj_weight_dim_0, &encoder_layers_13_mha_proj_weight_dim_1, &reshape_207_0_dim_0, &encoder_layers_13_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_209_0_dim_0; M *= reshape_209_0_dim_1; int64_t N = 1; N *= reshape_209_0_dim_2; layernorm_15( layernorm_210_0, reshape_209_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_16( layernorm_210_0, encoder_layers_13_mlp_fc1_weight, encoder_layers_13_mlp_fc1_bias, gemm_rcr_bias_gelu_211_0, global_workspace_, 1, &reshape_209_0_dim_0, &reshape_209_0_dim_1, &reshape_209_0_dim_2, &encoder_layers_13_mlp_fc1_weight_dim_0, &encoder_layers_13_mlp_fc1_weight_dim_1, &reshape_209_0_dim_0, &reshape_209_0_dim_1, &encoder_layers_13_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_211_0, encoder_layers_13_mlp_fc2_weight, encoder_layers_13_mlp_fc2_bias, reshape_209_0, gemm_rcr_bias_add_212_0, global_workspace_, 1, &reshape_209_0_dim_0, &reshape_209_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_209_0_dim_0, &reshape_209_0_dim_1, &encoder_layers_13_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_209_0_dim_0; M *= reshape_209_0_dim_1; int64_t N = 1; N *= encoder_layers_13_mlp_fc2_weight_dim_0; layernorm_3( reshape_214_0, gemm_rcr_bias_add_212_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( reshape_214_0, encoder_layers_14_mha_qkv_weight, encoder_layers_14_mha_qkv_bias, reshape_216_0, global_workspace_, 1, &reshape_214_0_dim_0, &reshape_214_0_dim_1, &encoder_layers_14_mha_qkv_weight_dim_0, &encoder_layers_14_mha_qkv_weight_dim_1, &reshape_214_0_dim_0, &encoder_layers_14_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_217_2, split_217_0, split_217_1 }; int64_t *split_217_2_shape[] = { &split_217_2_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4 }; int64_t *split_217_0_shape[] = { &split_217_0_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4 }; int64_t *split_217_1_shape[] = { &split_217_1_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4 }; int64_t **output_shapes[] = { split_217_2_shape, split_217_0_shape, split_217_1_shape }; const int64_t reshape_216_0_shape[] = { reshape_216_0_dim_0, reshape_216_0_dim_1, reshape_216_0_dim_2, reshape_216_0_dim_3, reshape_216_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_216_0, reshape_216_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_217_0_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4, &reshape_218_0_dim_0, &reshape_218_0_dim_1, &reshape_218_0_dim_2, &reshape_218_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_217_1_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4, &reshape_219_0_dim_0, &reshape_219_0_dim_1, &reshape_219_0_dim_2, &reshape_219_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_217_2_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4, &reshape_220_0_dim_0, &reshape_220_0_dim_1, &reshape_220_0_dim_2, &reshape_220_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_221_0, reshape_220_0, reshape_218_0, reshape_219_0, &reshape_220_0_dim_0, &reshape_219_0_dim_2, &reshape_220_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_221_0, encoder_layers_14_mha_proj_weight, encoder_layers_14_mha_proj_bias, gemm_rcr_bias_add_212_0, reshape_224_0, global_workspace_, 1, &reshape_222_0_dim_0, &reshape_222_0_dim_1, &encoder_layers_14_mha_proj_weight_dim_0, &encoder_layers_14_mha_proj_weight_dim_1, &reshape_222_0_dim_0, &encoder_layers_14_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_224_0_dim_0; M *= reshape_224_0_dim_1; int64_t N = 1; N *= reshape_224_0_dim_2; layernorm_15( layernorm_225_0, reshape_224_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_16( layernorm_225_0, encoder_layers_14_mlp_fc1_weight, encoder_layers_14_mlp_fc1_bias, gemm_rcr_bias_gelu_226_0, global_workspace_, 1, &reshape_224_0_dim_0, &reshape_224_0_dim_1, &reshape_224_0_dim_2, &encoder_layers_14_mlp_fc1_weight_dim_0, &encoder_layers_14_mlp_fc1_weight_dim_1, &reshape_224_0_dim_0, &reshape_224_0_dim_1, &encoder_layers_14_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_226_0, encoder_layers_14_mlp_fc2_weight, encoder_layers_14_mlp_fc2_bias, reshape_224_0, gemm_rcr_bias_add_227_0, global_workspace_, 1, &reshape_224_0_dim_0, &reshape_224_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_224_0_dim_0, &reshape_224_0_dim_1, &encoder_layers_14_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_224_0_dim_0; M *= reshape_224_0_dim_1; int64_t N = 1; N *= encoder_layers_14_mlp_fc2_weight_dim_0; layernorm_3( reshape_229_0, gemm_rcr_bias_add_227_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( reshape_229_0, encoder_layers_15_mha_qkv_weight, encoder_layers_15_mha_qkv_bias, reshape_231_0, global_workspace_, 1, &reshape_229_0_dim_0, &reshape_229_0_dim_1, &encoder_layers_15_mha_qkv_weight_dim_0, &encoder_layers_15_mha_qkv_weight_dim_1, &reshape_229_0_dim_0, &encoder_layers_15_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_232_0, split_232_1, split_232_2 }; int64_t *split_232_0_shape[] = { &split_232_0_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4 }; int64_t *split_232_1_shape[] = { &split_232_1_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4 }; int64_t *split_232_2_shape[] = { &split_232_2_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4 }; int64_t **output_shapes[] = { split_232_0_shape, split_232_1_shape, split_232_2_shape }; const int64_t reshape_231_0_shape[] = { reshape_231_0_dim_0, reshape_231_0_dim_1, reshape_231_0_dim_2, reshape_231_0_dim_3, reshape_231_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_231_0, reshape_231_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_232_0_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4, &reshape_233_0_dim_0, &reshape_233_0_dim_1, &reshape_233_0_dim_2, &reshape_233_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_232_1_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4, &reshape_234_0_dim_0, &reshape_234_0_dim_1, &reshape_234_0_dim_2, &reshape_234_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_232_2_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &reshape_235_0_dim_2, &reshape_235_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_236_0, reshape_233_0, reshape_234_0, reshape_235_0, &reshape_233_0_dim_0, &reshape_235_0_dim_2, &reshape_233_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_236_0, encoder_layers_15_mha_proj_weight, encoder_layers_15_mha_proj_bias, gemm_rcr_bias_add_227_0, reshape_239_0, global_workspace_, 1, &reshape_237_0_dim_0, &reshape_237_0_dim_1, &encoder_layers_15_mha_proj_weight_dim_0, &encoder_layers_15_mha_proj_weight_dim_1, &reshape_237_0_dim_0, &encoder_layers_15_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_239_0_dim_0; M *= reshape_239_0_dim_1; int64_t N = 1; N *= reshape_239_0_dim_2; layernorm_15( layernorm_240_0, reshape_239_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_16( layernorm_240_0, encoder_layers_15_mlp_fc1_weight, encoder_layers_15_mlp_fc1_bias, gemm_rcr_bias_gelu_241_0, global_workspace_, 1, &reshape_239_0_dim_0, &reshape_239_0_dim_1, &reshape_239_0_dim_2, &encoder_layers_15_mlp_fc1_weight_dim_0, &encoder_layers_15_mlp_fc1_weight_dim_1, &reshape_239_0_dim_0, &reshape_239_0_dim_1, &encoder_layers_15_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_241_0, encoder_layers_15_mlp_fc2_weight, encoder_layers_15_mlp_fc2_bias, reshape_239_0, gemm_rcr_bias_add_242_0, global_workspace_, 1, &reshape_239_0_dim_0, &reshape_239_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_239_0_dim_0, &reshape_239_0_dim_1, &encoder_layers_15_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_239_0_dim_0; M *= reshape_239_0_dim_1; int64_t N = 1; N *= encoder_layers_15_mlp_fc2_weight_dim_0; layernorm_3( reshape_244_0, gemm_rcr_bias_add_242_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( reshape_244_0, encoder_layers_16_mha_qkv_weight, encoder_layers_16_mha_qkv_bias, reshape_246_0, global_workspace_, 1, &reshape_244_0_dim_0, &reshape_244_0_dim_1, &encoder_layers_16_mha_qkv_weight_dim_0, &encoder_layers_16_mha_qkv_weight_dim_1, &reshape_244_0_dim_0, &encoder_layers_16_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_247_1, split_247_0, split_247_2 }; int64_t *split_247_1_shape[] = { &split_247_1_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4 }; int64_t *split_247_0_shape[] = { &split_247_0_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4 }; int64_t *split_247_2_shape[] = { &split_247_2_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4 }; int64_t **output_shapes[] = { split_247_1_shape, split_247_0_shape, split_247_2_shape }; const int64_t reshape_246_0_shape[] = { reshape_246_0_dim_0, reshape_246_0_dim_1, reshape_246_0_dim_2, reshape_246_0_dim_3, reshape_246_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_246_0, reshape_246_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_247_0_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4, &reshape_248_0_dim_0, &reshape_248_0_dim_1, &reshape_248_0_dim_2, &reshape_248_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_247_1_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4, &reshape_249_0_dim_0, &reshape_249_0_dim_1, &reshape_249_0_dim_2, &reshape_249_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_247_2_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4, &reshape_250_0_dim_0, &reshape_250_0_dim_1, &reshape_250_0_dim_2, &reshape_250_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_251_0, reshape_249_0, reshape_248_0, reshape_250_0, &reshape_249_0_dim_0, &reshape_250_0_dim_2, &reshape_249_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_251_0, encoder_layers_16_mha_proj_weight, encoder_layers_16_mha_proj_bias, gemm_rcr_bias_add_242_0, reshape_254_0, global_workspace_, 1, &reshape_252_0_dim_0, &reshape_252_0_dim_1, &encoder_layers_16_mha_proj_weight_dim_0, &encoder_layers_16_mha_proj_weight_dim_1, &reshape_252_0_dim_0, &encoder_layers_16_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_254_0_dim_0; M *= reshape_254_0_dim_1; int64_t N = 1; N *= reshape_254_0_dim_2; layernorm_15( layernorm_255_0, reshape_254_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_16( layernorm_255_0, encoder_layers_16_mlp_fc1_weight, encoder_layers_16_mlp_fc1_bias, gemm_rcr_bias_gelu_256_0, global_workspace_, 1, &reshape_254_0_dim_0, &reshape_254_0_dim_1, &reshape_254_0_dim_2, &encoder_layers_16_mlp_fc1_weight_dim_0, &encoder_layers_16_mlp_fc1_weight_dim_1, &reshape_254_0_dim_0, &reshape_254_0_dim_1, &encoder_layers_16_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_256_0, encoder_layers_16_mlp_fc2_weight, encoder_layers_16_mlp_fc2_bias, reshape_254_0, gemm_rcr_bias_add_257_0, global_workspace_, 1, &reshape_254_0_dim_0, &reshape_254_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_254_0_dim_0, &reshape_254_0_dim_1, &encoder_layers_16_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_254_0_dim_0; M *= reshape_254_0_dim_1; int64_t N = 1; N *= encoder_layers_16_mlp_fc2_weight_dim_0; layernorm_3( reshape_259_0, gemm_rcr_bias_add_257_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( reshape_259_0, encoder_layers_17_mha_qkv_weight, encoder_layers_17_mha_qkv_bias, reshape_261_0, global_workspace_, 1, &reshape_259_0_dim_0, &reshape_259_0_dim_1, &encoder_layers_17_mha_qkv_weight_dim_0, &encoder_layers_17_mha_qkv_weight_dim_1, &reshape_259_0_dim_0, &encoder_layers_17_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_262_0, split_262_1, split_262_2 }; int64_t *split_262_0_shape[] = { &split_262_0_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4 }; int64_t *split_262_1_shape[] = { &split_262_1_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4 }; int64_t *split_262_2_shape[] = { &split_262_2_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4 }; int64_t **output_shapes[] = { split_262_0_shape, split_262_1_shape, split_262_2_shape }; const int64_t reshape_261_0_shape[] = { reshape_261_0_dim_0, reshape_261_0_dim_1, reshape_261_0_dim_2, reshape_261_0_dim_3, reshape_261_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_261_0, reshape_261_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_262_0_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4, &reshape_263_0_dim_0, &reshape_263_0_dim_1, &reshape_263_0_dim_2, &reshape_263_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_262_1_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4, &reshape_264_0_dim_0, &reshape_264_0_dim_1, &reshape_264_0_dim_2, &reshape_264_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_262_2_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4, &reshape_265_0_dim_0, &reshape_265_0_dim_1, &reshape_265_0_dim_2, &reshape_265_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_266_0, reshape_263_0, reshape_264_0, reshape_265_0, &reshape_263_0_dim_0, &reshape_265_0_dim_2, &reshape_263_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_266_0, encoder_layers_17_mha_proj_weight, encoder_layers_17_mha_proj_bias, gemm_rcr_bias_add_257_0, reshape_269_0, global_workspace_, 1, &reshape_267_0_dim_0, &reshape_267_0_dim_1, &encoder_layers_17_mha_proj_weight_dim_0, &encoder_layers_17_mha_proj_weight_dim_1, &reshape_267_0_dim_0, &encoder_layers_17_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_269_0_dim_0; M *= reshape_269_0_dim_1; int64_t N = 1; N *= reshape_269_0_dim_2; layernorm_15( layernorm_270_0, reshape_269_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_16( layernorm_270_0, encoder_layers_17_mlp_fc1_weight, encoder_layers_17_mlp_fc1_bias, gemm_rcr_bias_gelu_271_0, global_workspace_, 1, &reshape_269_0_dim_0, &reshape_269_0_dim_1, &reshape_269_0_dim_2, &encoder_layers_17_mlp_fc1_weight_dim_0, &encoder_layers_17_mlp_fc1_weight_dim_1, &reshape_269_0_dim_0, &reshape_269_0_dim_1, &encoder_layers_17_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_271_0, encoder_layers_17_mlp_fc2_weight, encoder_layers_17_mlp_fc2_bias, reshape_269_0, gemm_rcr_bias_add_272_0, global_workspace_, 1, &reshape_269_0_dim_0, &reshape_269_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_269_0_dim_0, &reshape_269_0_dim_1, &encoder_layers_17_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_269_0_dim_0; M *= reshape_269_0_dim_1; int64_t N = 1; N *= encoder_layers_17_mlp_fc2_weight_dim_0; layernorm_3( reshape_274_0, gemm_rcr_bias_add_272_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( reshape_274_0, encoder_layers_18_mha_qkv_weight, encoder_layers_18_mha_qkv_bias, reshape_276_0, global_workspace_, 1, &reshape_274_0_dim_0, &reshape_274_0_dim_1, &encoder_layers_18_mha_qkv_weight_dim_0, &encoder_layers_18_mha_qkv_weight_dim_1, &reshape_274_0_dim_0, &encoder_layers_18_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_277_1, split_277_0, split_277_2 }; 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 *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 **output_shapes[] = { split_277_1_shape, split_277_0_shape, split_277_2_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_279_0, reshape_278_0, reshape_280_0, &reshape_279_0_dim_0, &reshape_280_0_dim_2, &reshape_279_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_18_mha_proj_weight, encoder_layers_18_mha_proj_bias, gemm_rcr_bias_add_272_0, reshape_284_0, global_workspace_, 1, &reshape_282_0_dim_0, &reshape_282_0_dim_1, &encoder_layers_18_mha_proj_weight_dim_0, &encoder_layers_18_mha_proj_weight_dim_1, &reshape_282_0_dim_0, &encoder_layers_18_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_284_0_dim_0; M *= reshape_284_0_dim_1; int64_t N = 1; N *= reshape_284_0_dim_2; layernorm_15( layernorm_285_0, reshape_284_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_16( layernorm_285_0, encoder_layers_18_mlp_fc1_weight, encoder_layers_18_mlp_fc1_bias, gemm_rcr_bias_gelu_286_0, global_workspace_, 1, &reshape_284_0_dim_0, &reshape_284_0_dim_1, &reshape_284_0_dim_2, &encoder_layers_18_mlp_fc1_weight_dim_0, &encoder_layers_18_mlp_fc1_weight_dim_1, &reshape_284_0_dim_0, &reshape_284_0_dim_1, &encoder_layers_18_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_286_0, encoder_layers_18_mlp_fc2_weight, encoder_layers_18_mlp_fc2_bias, reshape_284_0, gemm_rcr_bias_add_287_0, global_workspace_, 1, &reshape_284_0_dim_0, &reshape_284_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_284_0_dim_0, &reshape_284_0_dim_1, &encoder_layers_18_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_284_0_dim_0; M *= reshape_284_0_dim_1; int64_t N = 1; N *= encoder_layers_18_mlp_fc2_weight_dim_0; layernorm_3( reshape_289_0, gemm_rcr_bias_add_287_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( reshape_289_0, encoder_layers_19_mha_qkv_weight, encoder_layers_19_mha_qkv_bias, reshape_291_0, global_workspace_, 1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_19_mha_qkv_weight_dim_0, &encoder_layers_19_mha_qkv_weight_dim_1, &reshape_289_0_dim_0, &encoder_layers_19_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_292_0, split_292_1, split_292_2 }; int64_t *split_292_0_shape[] = { &split_292_0_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4 }; int64_t *split_292_1_shape[] = { &split_292_1_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4 }; int64_t *split_292_2_shape[] = { &split_292_2_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4 }; int64_t **output_shapes[] = { split_292_0_shape, split_292_1_shape, split_292_2_shape }; const int64_t reshape_291_0_shape[] = { reshape_291_0_dim_0, reshape_291_0_dim_1, reshape_291_0_dim_2, reshape_291_0_dim_3, reshape_291_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_291_0, reshape_291_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_292_0_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4, &reshape_293_0_dim_0, &reshape_293_0_dim_1, &reshape_293_0_dim_2, &reshape_293_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_292_1_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4, &reshape_294_0_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_292_2_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4, &reshape_295_0_dim_0, &reshape_295_0_dim_1, &reshape_295_0_dim_2, &reshape_295_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_296_0, reshape_293_0, reshape_294_0, reshape_295_0, &reshape_293_0_dim_0, &reshape_295_0_dim_2, &reshape_293_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_296_0, encoder_layers_19_mha_proj_weight, encoder_layers_19_mha_proj_bias, gemm_rcr_bias_add_287_0, reshape_299_0, global_workspace_, 1, &reshape_297_0_dim_0, &reshape_297_0_dim_1, &encoder_layers_19_mha_proj_weight_dim_0, &encoder_layers_19_mha_proj_weight_dim_1, &reshape_297_0_dim_0, &encoder_layers_19_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_299_0_dim_0; M *= reshape_299_0_dim_1; int64_t N = 1; N *= reshape_299_0_dim_2; layernorm_15( layernorm_300_0, reshape_299_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_16( layernorm_300_0, encoder_layers_19_mlp_fc1_weight, encoder_layers_19_mlp_fc1_bias, gemm_rcr_bias_gelu_301_0, global_workspace_, 1, &reshape_299_0_dim_0, &reshape_299_0_dim_1, &reshape_299_0_dim_2, &encoder_layers_19_mlp_fc1_weight_dim_0, &encoder_layers_19_mlp_fc1_weight_dim_1, &reshape_299_0_dim_0, &reshape_299_0_dim_1, &encoder_layers_19_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_301_0, encoder_layers_19_mlp_fc2_weight, encoder_layers_19_mlp_fc2_bias, reshape_299_0, gemm_rcr_bias_add_302_0, global_workspace_, 1, &reshape_299_0_dim_0, &reshape_299_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_299_0_dim_0, &reshape_299_0_dim_1, &encoder_layers_19_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_299_0_dim_0; M *= reshape_299_0_dim_1; int64_t N = 1; N *= encoder_layers_19_mlp_fc2_weight_dim_0; layernorm_3( reshape_304_0, gemm_rcr_bias_add_302_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( reshape_304_0, encoder_layers_20_mha_qkv_weight, encoder_layers_20_mha_qkv_bias, reshape_306_0, global_workspace_, 1, &reshape_304_0_dim_0, &reshape_304_0_dim_1, &encoder_layers_20_mha_qkv_weight_dim_0, &encoder_layers_20_mha_qkv_weight_dim_1, &reshape_304_0_dim_0, &encoder_layers_20_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_307_2, split_307_1, split_307_0 }; int64_t *split_307_2_shape[] = { &split_307_2_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4 }; int64_t *split_307_1_shape[] = { &split_307_1_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4 }; int64_t *split_307_0_shape[] = { &split_307_0_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4 }; int64_t **output_shapes[] = { split_307_2_shape, split_307_1_shape, split_307_0_shape }; const int64_t reshape_306_0_shape[] = { reshape_306_0_dim_0, reshape_306_0_dim_1, reshape_306_0_dim_2, reshape_306_0_dim_3, reshape_306_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_306_0, reshape_306_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_307_0_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4, &reshape_308_0_dim_0, &reshape_308_0_dim_1, &reshape_308_0_dim_2, &reshape_308_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_307_1_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4, &reshape_309_0_dim_0, &reshape_309_0_dim_1, &reshape_309_0_dim_2, &reshape_309_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_307_2_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4, &reshape_310_0_dim_0, &reshape_310_0_dim_1, &reshape_310_0_dim_2, &reshape_310_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_311_0, reshape_310_0, reshape_309_0, reshape_308_0, &reshape_310_0_dim_0, &reshape_308_0_dim_2, &reshape_310_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_311_0, encoder_layers_20_mha_proj_weight, encoder_layers_20_mha_proj_bias, gemm_rcr_bias_add_302_0, reshape_314_0, global_workspace_, 1, &reshape_312_0_dim_0, &reshape_312_0_dim_1, &encoder_layers_20_mha_proj_weight_dim_0, &encoder_layers_20_mha_proj_weight_dim_1, &reshape_312_0_dim_0, &encoder_layers_20_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_314_0_dim_0; M *= reshape_314_0_dim_1; int64_t N = 1; N *= reshape_314_0_dim_2; layernorm_15( layernorm_315_0, reshape_314_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_16( layernorm_315_0, encoder_layers_20_mlp_fc1_weight, encoder_layers_20_mlp_fc1_bias, gemm_rcr_bias_gelu_316_0, global_workspace_, 1, &reshape_314_0_dim_0, &reshape_314_0_dim_1, &reshape_314_0_dim_2, &encoder_layers_20_mlp_fc1_weight_dim_0, &encoder_layers_20_mlp_fc1_weight_dim_1, &reshape_314_0_dim_0, &reshape_314_0_dim_1, &encoder_layers_20_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_316_0, encoder_layers_20_mlp_fc2_weight, encoder_layers_20_mlp_fc2_bias, reshape_314_0, gemm_rcr_bias_add_317_0, global_workspace_, 1, &reshape_314_0_dim_0, &reshape_314_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_314_0_dim_0, &reshape_314_0_dim_1, &encoder_layers_20_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_314_0_dim_0; M *= reshape_314_0_dim_1; int64_t N = 1; N *= encoder_layers_20_mlp_fc2_weight_dim_0; layernorm_3( reshape_319_0, gemm_rcr_bias_add_317_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( reshape_319_0, encoder_layers_21_mha_qkv_weight, encoder_layers_21_mha_qkv_bias, reshape_321_0, global_workspace_, 1, &reshape_319_0_dim_0, &reshape_319_0_dim_1, &encoder_layers_21_mha_qkv_weight_dim_0, &encoder_layers_21_mha_qkv_weight_dim_1, &reshape_319_0_dim_0, &encoder_layers_21_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_322_1, split_322_2, split_322_0 }; int64_t *split_322_1_shape[] = { &split_322_1_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4 }; int64_t *split_322_2_shape[] = { &split_322_2_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4 }; int64_t *split_322_0_shape[] = { &split_322_0_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4 }; int64_t **output_shapes[] = { split_322_1_shape, split_322_2_shape, split_322_0_shape }; const int64_t reshape_321_0_shape[] = { reshape_321_0_dim_0, reshape_321_0_dim_1, reshape_321_0_dim_2, reshape_321_0_dim_3, reshape_321_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_321_0, reshape_321_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_322_0_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4, &reshape_323_0_dim_0, &reshape_323_0_dim_1, &reshape_323_0_dim_2, &reshape_323_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_322_1_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4, &reshape_324_0_dim_0, &reshape_324_0_dim_1, &reshape_324_0_dim_2, &reshape_324_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_322_2_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &reshape_325_0_dim_2, &reshape_325_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_326_0, reshape_324_0, reshape_325_0, reshape_323_0, &reshape_324_0_dim_0, &reshape_323_0_dim_2, &reshape_324_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_326_0, encoder_layers_21_mha_proj_weight, encoder_layers_21_mha_proj_bias, gemm_rcr_bias_add_317_0, reshape_329_0, global_workspace_, 1, &reshape_327_0_dim_0, &reshape_327_0_dim_1, &encoder_layers_21_mha_proj_weight_dim_0, &encoder_layers_21_mha_proj_weight_dim_1, &reshape_327_0_dim_0, &encoder_layers_21_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_329_0_dim_0; M *= reshape_329_0_dim_1; int64_t N = 1; N *= reshape_329_0_dim_2; layernorm_15( layernorm_330_0, reshape_329_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_16( layernorm_330_0, encoder_layers_21_mlp_fc1_weight, encoder_layers_21_mlp_fc1_bias, gemm_rcr_bias_gelu_331_0, global_workspace_, 1, &reshape_329_0_dim_0, &reshape_329_0_dim_1, &reshape_329_0_dim_2, &encoder_layers_21_mlp_fc1_weight_dim_0, &encoder_layers_21_mlp_fc1_weight_dim_1, &reshape_329_0_dim_0, &reshape_329_0_dim_1, &encoder_layers_21_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_331_0, encoder_layers_21_mlp_fc2_weight, encoder_layers_21_mlp_fc2_bias, reshape_329_0, gemm_rcr_bias_add_332_0, global_workspace_, 1, &reshape_329_0_dim_0, &reshape_329_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_329_0_dim_0, &reshape_329_0_dim_1, &encoder_layers_21_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_329_0_dim_0; M *= reshape_329_0_dim_1; int64_t N = 1; N *= encoder_layers_21_mlp_fc2_weight_dim_0; layernorm_3( reshape_334_0, gemm_rcr_bias_add_332_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( reshape_334_0, encoder_layers_22_mha_qkv_weight, encoder_layers_22_mha_qkv_bias, reshape_336_0, global_workspace_, 1, &reshape_334_0_dim_0, &reshape_334_0_dim_1, &encoder_layers_22_mha_qkv_weight_dim_0, &encoder_layers_22_mha_qkv_weight_dim_1, &reshape_334_0_dim_0, &encoder_layers_22_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_337_0, split_337_1, split_337_2 }; int64_t *split_337_0_shape[] = { &split_337_0_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4 }; int64_t *split_337_1_shape[] = { &split_337_1_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4 }; int64_t *split_337_2_shape[] = { &split_337_2_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4 }; int64_t **output_shapes[] = { split_337_0_shape, split_337_1_shape, split_337_2_shape }; const int64_t reshape_336_0_shape[] = { reshape_336_0_dim_0, reshape_336_0_dim_1, reshape_336_0_dim_2, reshape_336_0_dim_3, reshape_336_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_336_0, reshape_336_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_337_0_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4, &reshape_338_0_dim_0, &reshape_338_0_dim_1, &reshape_338_0_dim_2, &reshape_338_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_337_1_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4, &reshape_339_0_dim_0, &reshape_339_0_dim_1, &reshape_339_0_dim_2, &reshape_339_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_337_2_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4, &reshape_340_0_dim_0, &reshape_340_0_dim_1, &reshape_340_0_dim_2, &reshape_340_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_341_0, reshape_338_0, reshape_339_0, reshape_340_0, &reshape_338_0_dim_0, &reshape_340_0_dim_2, &reshape_338_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_341_0, encoder_layers_22_mha_proj_weight, encoder_layers_22_mha_proj_bias, gemm_rcr_bias_add_332_0, reshape_344_0, global_workspace_, 1, &reshape_342_0_dim_0, &reshape_342_0_dim_1, &encoder_layers_22_mha_proj_weight_dim_0, &encoder_layers_22_mha_proj_weight_dim_1, &reshape_342_0_dim_0, &encoder_layers_22_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_344_0_dim_0; M *= reshape_344_0_dim_1; int64_t N = 1; N *= reshape_344_0_dim_2; layernorm_15( layernorm_345_0, reshape_344_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_16( layernorm_345_0, encoder_layers_22_mlp_fc1_weight, encoder_layers_22_mlp_fc1_bias, gemm_rcr_bias_gelu_346_0, global_workspace_, 1, &reshape_344_0_dim_0, &reshape_344_0_dim_1, &reshape_344_0_dim_2, &encoder_layers_22_mlp_fc1_weight_dim_0, &encoder_layers_22_mlp_fc1_weight_dim_1, &reshape_344_0_dim_0, &reshape_344_0_dim_1, &encoder_layers_22_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_346_0, encoder_layers_22_mlp_fc2_weight, encoder_layers_22_mlp_fc2_bias, reshape_344_0, gemm_rcr_bias_add_347_0, global_workspace_, 1, &reshape_344_0_dim_0, &reshape_344_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_344_0_dim_0, &reshape_344_0_dim_1, &encoder_layers_22_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_344_0_dim_0; M *= reshape_344_0_dim_1; int64_t N = 1; N *= encoder_layers_22_mlp_fc2_weight_dim_0; layernorm_3( reshape_349_0, gemm_rcr_bias_add_347_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( reshape_349_0, encoder_layers_23_mha_qkv_weight, encoder_layers_23_mha_qkv_bias, reshape_351_0, global_workspace_, 1, &reshape_349_0_dim_0, &reshape_349_0_dim_1, &encoder_layers_23_mha_qkv_weight_dim_0, &encoder_layers_23_mha_qkv_weight_dim_1, &reshape_349_0_dim_0, &encoder_layers_23_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_352_1, split_352_2, split_352_0 }; int64_t *split_352_1_shape[] = { &split_352_1_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4 }; int64_t *split_352_2_shape[] = { &split_352_2_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4 }; int64_t *split_352_0_shape[] = { &split_352_0_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4 }; int64_t **output_shapes[] = { split_352_1_shape, split_352_2_shape, split_352_0_shape }; const int64_t reshape_351_0_shape[] = { reshape_351_0_dim_0, reshape_351_0_dim_1, reshape_351_0_dim_2, reshape_351_0_dim_3, reshape_351_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_351_0, reshape_351_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_352_0_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4, &reshape_353_0_dim_0, &reshape_353_0_dim_1, &reshape_353_0_dim_2, &reshape_353_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_352_1_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4, &reshape_354_0_dim_0, &reshape_354_0_dim_1, &reshape_354_0_dim_2, &reshape_354_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_352_2_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4, &reshape_355_0_dim_0, &reshape_355_0_dim_1, &reshape_355_0_dim_2, &reshape_355_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_356_0, reshape_354_0, reshape_355_0, reshape_353_0, &reshape_354_0_dim_0, &reshape_353_0_dim_2, &reshape_354_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_356_0, encoder_layers_23_mha_proj_weight, encoder_layers_23_mha_proj_bias, gemm_rcr_bias_add_347_0, reshape_359_0, global_workspace_, 1, &reshape_357_0_dim_0, &reshape_357_0_dim_1, &encoder_layers_23_mha_proj_weight_dim_0, &encoder_layers_23_mha_proj_weight_dim_1, &reshape_357_0_dim_0, &encoder_layers_23_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_359_0_dim_0; M *= reshape_359_0_dim_1; int64_t N = 1; N *= reshape_359_0_dim_2; layernorm_15( layernorm_360_0, reshape_359_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_16( layernorm_360_0, encoder_layers_23_mlp_fc1_weight, encoder_layers_23_mlp_fc1_bias, gemm_rcr_bias_gelu_361_0, global_workspace_, 1, &reshape_359_0_dim_0, &reshape_359_0_dim_1, &reshape_359_0_dim_2, &encoder_layers_23_mlp_fc1_weight_dim_0, &encoder_layers_23_mlp_fc1_weight_dim_1, &reshape_359_0_dim_0, &reshape_359_0_dim_1, &encoder_layers_23_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_361_0, encoder_layers_23_mlp_fc2_weight, encoder_layers_23_mlp_fc2_bias, reshape_359_0, gemm_rcr_bias_add_362_0, global_workspace_, 1, &reshape_359_0_dim_0, &reshape_359_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_359_0_dim_0, &reshape_359_0_dim_1, &encoder_layers_23_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_359_0_dim_0; M *= reshape_359_0_dim_1; int64_t N = 1; N *= encoder_layers_23_mlp_fc2_weight_dim_0; layernorm_3( reshape_364_0, gemm_rcr_bias_add_362_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( reshape_364_0, encoder_layers_24_mha_qkv_weight, encoder_layers_24_mha_qkv_bias, reshape_366_0, global_workspace_, 1, &reshape_364_0_dim_0, &reshape_364_0_dim_1, &encoder_layers_24_mha_qkv_weight_dim_0, &encoder_layers_24_mha_qkv_weight_dim_1, &reshape_364_0_dim_0, &encoder_layers_24_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_24_mha_proj_weight, encoder_layers_24_mha_proj_bias, gemm_rcr_bias_add_362_0, reshape_374_0, global_workspace_, 1, &reshape_372_0_dim_0, &reshape_372_0_dim_1, &encoder_layers_24_mha_proj_weight_dim_0, &encoder_layers_24_mha_proj_weight_dim_1, &reshape_372_0_dim_0, &encoder_layers_24_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_374_0_dim_0; M *= reshape_374_0_dim_1; int64_t N = 1; N *= reshape_374_0_dim_2; layernorm_15( layernorm_375_0, reshape_374_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_16( layernorm_375_0, encoder_layers_24_mlp_fc1_weight, encoder_layers_24_mlp_fc1_bias, gemm_rcr_bias_gelu_376_0, global_workspace_, 1, &reshape_374_0_dim_0, &reshape_374_0_dim_1, &reshape_374_0_dim_2, &encoder_layers_24_mlp_fc1_weight_dim_0, &encoder_layers_24_mlp_fc1_weight_dim_1, &reshape_374_0_dim_0, &reshape_374_0_dim_1, &encoder_layers_24_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_376_0, encoder_layers_24_mlp_fc2_weight, encoder_layers_24_mlp_fc2_bias, reshape_374_0, gemm_rcr_bias_add_377_0, global_workspace_, 1, &reshape_374_0_dim_0, &reshape_374_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_374_0_dim_0, &reshape_374_0_dim_1, &encoder_layers_24_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_374_0_dim_0; M *= reshape_374_0_dim_1; int64_t N = 1; N *= encoder_layers_24_mlp_fc2_weight_dim_0; layernorm_3( reshape_379_0, gemm_rcr_bias_add_377_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( reshape_379_0, encoder_layers_25_mha_qkv_weight, encoder_layers_25_mha_qkv_bias, reshape_381_0, global_workspace_, 1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_25_mha_qkv_weight_dim_0, &encoder_layers_25_mha_qkv_weight_dim_1, &reshape_379_0_dim_0, &encoder_layers_25_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_382_1, split_382_0, split_382_2 }; int64_t *split_382_1_shape[] = { &split_382_1_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4 }; int64_t *split_382_0_shape[] = { &split_382_0_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4 }; int64_t *split_382_2_shape[] = { &split_382_2_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4 }; int64_t **output_shapes[] = { split_382_1_shape, split_382_0_shape, split_382_2_shape }; const int64_t reshape_381_0_shape[] = { reshape_381_0_dim_0, reshape_381_0_dim_1, reshape_381_0_dim_2, reshape_381_0_dim_3, reshape_381_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_381_0, reshape_381_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_382_0_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4, &reshape_383_0_dim_0, &reshape_383_0_dim_1, &reshape_383_0_dim_2, &reshape_383_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_382_1_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4, &reshape_384_0_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_382_2_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4, &reshape_385_0_dim_0, &reshape_385_0_dim_1, &reshape_385_0_dim_2, &reshape_385_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_386_0, reshape_384_0, reshape_383_0, reshape_385_0, &reshape_384_0_dim_0, &reshape_385_0_dim_2, &reshape_384_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_386_0, encoder_layers_25_mha_proj_weight, encoder_layers_25_mha_proj_bias, gemm_rcr_bias_add_377_0, reshape_389_0, global_workspace_, 1, &reshape_387_0_dim_0, &reshape_387_0_dim_1, &encoder_layers_25_mha_proj_weight_dim_0, &encoder_layers_25_mha_proj_weight_dim_1, &reshape_387_0_dim_0, &encoder_layers_25_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_389_0_dim_0; M *= reshape_389_0_dim_1; int64_t N = 1; N *= reshape_389_0_dim_2; layernorm_15( layernorm_390_0, reshape_389_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_16( layernorm_390_0, encoder_layers_25_mlp_fc1_weight, encoder_layers_25_mlp_fc1_bias, gemm_rcr_bias_gelu_391_0, global_workspace_, 1, &reshape_389_0_dim_0, &reshape_389_0_dim_1, &reshape_389_0_dim_2, &encoder_layers_25_mlp_fc1_weight_dim_0, &encoder_layers_25_mlp_fc1_weight_dim_1, &reshape_389_0_dim_0, &reshape_389_0_dim_1, &encoder_layers_25_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_391_0, encoder_layers_25_mlp_fc2_weight, encoder_layers_25_mlp_fc2_bias, reshape_389_0, gemm_rcr_bias_add_392_0, global_workspace_, 1, &reshape_389_0_dim_0, &reshape_389_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_389_0_dim_0, &reshape_389_0_dim_1, &encoder_layers_25_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_389_0_dim_0; M *= reshape_389_0_dim_1; int64_t N = 1; N *= encoder_layers_25_mlp_fc2_weight_dim_0; layernorm_3( reshape_394_0, gemm_rcr_bias_add_392_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( reshape_394_0, encoder_layers_26_mha_qkv_weight, encoder_layers_26_mha_qkv_bias, reshape_396_0, global_workspace_, 1, &reshape_394_0_dim_0, &reshape_394_0_dim_1, &encoder_layers_26_mha_qkv_weight_dim_0, &encoder_layers_26_mha_qkv_weight_dim_1, &reshape_394_0_dim_0, &encoder_layers_26_mha_qkv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_397_1, split_397_2, split_397_0 }; int64_t *split_397_1_shape[] = { &split_397_1_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4 }; int64_t *split_397_2_shape[] = { &split_397_2_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4 }; int64_t *split_397_0_shape[] = { &split_397_0_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4 }; int64_t **output_shapes[] = { split_397_1_shape, split_397_2_shape, split_397_0_shape }; const int64_t reshape_396_0_shape[] = { reshape_396_0_dim_0, reshape_396_0_dim_1, reshape_396_0_dim_2, reshape_396_0_dim_3, reshape_396_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_396_0, reshape_396_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_397_0_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4, &reshape_398_0_dim_0, &reshape_398_0_dim_1, &reshape_398_0_dim_2, &reshape_398_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_397_1_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4, &reshape_399_0_dim_0, &reshape_399_0_dim_1, &reshape_399_0_dim_2, &reshape_399_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_8( &split_397_2_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4, &reshape_400_0_dim_0, &reshape_400_0_dim_1, &reshape_400_0_dim_2, &reshape_400_0_dim_3 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_11( mem_eff_attention_401_0, reshape_399_0, reshape_400_0, reshape_398_0, &reshape_399_0_dim_0, &reshape_398_0_dim_2, &reshape_399_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_401_0, encoder_layers_26_mha_proj_weight, encoder_layers_26_mha_proj_bias, gemm_rcr_bias_add_392_0, reshape_404_0, global_workspace_, 1, &reshape_402_0_dim_0, &reshape_402_0_dim_1, &encoder_layers_26_mha_proj_weight_dim_0, &encoder_layers_26_mha_proj_weight_dim_1, &reshape_402_0_dim_0, &encoder_layers_26_mha_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_404_0_dim_0; M *= reshape_404_0_dim_1; int64_t N = 1; N *= reshape_404_0_dim_2; layernorm_15( layernorm_405_0, reshape_404_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_16( layernorm_405_0, encoder_layers_26_mlp_fc1_weight, encoder_layers_26_mlp_fc1_bias, gemm_rcr_bias_gelu_406_0, global_workspace_, 1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &reshape_404_0_dim_2, &encoder_layers_26_mlp_fc1_weight_dim_0, &encoder_layers_26_mlp_fc1_weight_dim_1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &encoder_layers_26_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_406_0, encoder_layers_26_mlp_fc2_weight, encoder_layers_26_mlp_fc2_bias, reshape_404_0, gemm_rcr_bias_add_407_0, global_workspace_, 1, &reshape_404_0_dim_0, &reshape_404_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_404_0_dim_0, &reshape_404_0_dim_1, &encoder_layers_26_mlp_fc2_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_404_0_dim_0; M *= reshape_404_0_dim_1; int64_t N = 1; N *= encoder_layers_26_mlp_fc2_weight_dim_0; layernorm_15( layernorm_408_0, gemm_rcr_bias_add_407_0, encoder_ln_weight, encoder_ln_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_409( layernorm_408_0, pool_kv_weight, pool_kv_bias, reshape_410_0, global_workspace_, 1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &encoder_layers_26_mlp_fc2_weight_dim_0, &pool_kv_weight_dim_0, &pool_kv_weight_dim_1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &pool_kv_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int dims[] = {2,0,3,1,4}; permute_411( permute_411_0, reshape_410_0, &reshape_410_0_dim_0, &reshape_410_0_dim_1, &reshape_410_0_dim_2, &reshape_410_0_dim_3, &reshape_410_0_dim_4, dims, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { void *outputs[] = { split_412_1, split_412_0 }; int64_t *split_412_1_shape[] = { &split_412_1_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 }; int64_t *split_412_0_shape[] = { &split_412_0_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 }; int64_t **output_shapes[] = { split_412_1_shape, split_412_0_shape }; const int64_t permute_411_0_shape[] = { reshape_410_0_dim_2, reshape_410_0_dim_0, reshape_410_0_dim_3, reshape_410_0_dim_1, reshape_410_0_dim_4 }; int64_t split_sizes[] = { 1, 1 }; bool output_masks[] = { true, true }; split_412( outputs, output_shapes, output_masks, permute_411_0, permute_411_0_shape, 2/*real_num_splits*/, 2/*all_num_splits*/, split_sizes, 0/*split_dim*/, 5/*rank*/, stream ); } DeviceCheckLastError(__FILE__, __LINE__); ait_squeeze_413( &split_412_0_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 ); DeviceCheckLastError(__FILE__, __LINE__); ait_squeeze_413( &split_412_1_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 ); DeviceCheckLastError(__FILE__, __LINE__); mem_eff_attention_418( mem_eff_attention_418_0, reshape_417_0, squeeze_414_0, squeeze_413_0, &reshape_417_0_dim_0, &reshape_410_0_dim_1, &reshape_417_0_dim_2, 16, 72, 72, 0, 0.11785113019775792, false, true, static_cast(nullptr), true, static_cast(nullptr), global_workspace_, stream ); DeviceCheckLastError(__FILE__, __LINE__); ait_reshape_426( &reshape_417_0_dim_0, &reshape_417_0_dim_2, &reshape_417_0_dim_1, &reshape_410_0_dim_4, &reshape_417_0_dim_0, &reshape_417_0_dim_1, &reshape_417_0_dim_2, &reshape_410_0_dim_4 ); DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_421( reshape_426_0, pool_proj_weight, pool_proj_bias, gemm_rcr_bias_421_0, global_workspace_, 1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &pool_proj_weight_dim_0, &pool_proj_weight_dim_1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_proj_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { int64_t M = 1; M *= reshape_420_0_dim_0; M *= reshape_420_0_dim_1; int64_t N = 1; N *= pool_proj_weight_dim_0; layernorm_422( layernorm_422_0, gemm_rcr_bias_421_0, pool_ln_weight, pool_ln_bias, M, N, 1e-05, stream /* default stream */ ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_gelu_423( layernorm_422_0, pool_mlp_fc1_weight, pool_mlp_fc1_bias, gemm_rcr_bias_gelu_423_0, global_workspace_, 1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_proj_weight_dim_0, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc1_weight_dim_1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_mlp_fc1_weight_dim_0, stream ); } DeviceCheckLastError(__FILE__, __LINE__); { gemm_rcr_bias_add_424( gemm_rcr_bias_gelu_423_0, pool_mlp_fc2_weight, pool_mlp_fc2_bias, gemm_rcr_bias_421_0, output_0, global_workspace_, 2, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc2_weight_dim_0, &pool_mlp_fc2_weight_dim_1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_mlp_fc2_weight_dim_0, 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\": " << "[[\"8\", \"384\", \"384\", \"3\"], [\"1152\", \"14\", \"14\", \"3\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"27\", \"27\", \"1152\"]]" << ", \"auto_padding\": " << "\"False\"" << ", \"dilate\": " << "\"1\"" << ", \"pad\": " << "\"0\"" << ", \"stride\": " << "\"14\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "fused_elementwise_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); { int64_t fused_elementwise_425_n_elements = 8 * 729 * 1152; invoke_fused_elementwise_425(elementwise_2_0, conv2d_bias_few_channels_0_0,pos_emb_pos_emb, fused_elementwise_425_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_425" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"1\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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( reshape_4_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\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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( reshape_4_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\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"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_0, split_7_1, split_7_2 }; 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 *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 **output_shapes[] = { split_7_0_shape, split_7_1_shape, split_7_2_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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_8_0, reshape_9_0, reshape_10_0, &reshape_8_0_dim_0, &reshape_10_0_dim_2, &reshape_8_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\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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, elementwise_2_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\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_15" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_14_0_dim_0; M *= reshape_14_0_dim_1; int64_t N = 1; N *= reshape_14_0_dim_2; layernorm_15( layernorm_15_0, reshape_14_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_15" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_15_0, encoder_layers_0_mlp_fc1_weight, encoder_layers_0_mlp_fc1_bias, gemm_rcr_bias_gelu_16_0, global_workspace_, 1, &reshape_14_0_dim_0, &reshape_14_0_dim_1, &reshape_14_0_dim_2, &encoder_layers_0_mlp_fc1_weight_dim_0, &encoder_layers_0_mlp_fc1_weight_dim_1, &reshape_14_0_dim_0, &reshape_14_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_16" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_16_0, encoder_layers_0_mlp_fc2_weight, encoder_layers_0_mlp_fc2_bias, reshape_14_0, gemm_rcr_bias_add_17_0, global_workspace_, 1, &reshape_14_0_dim_0, &reshape_14_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_14_0_dim_0, &reshape_14_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_add_17" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_14_0_dim_0; M *= reshape_14_0_dim_1; int64_t N = 1; N *= encoder_layers_0_mlp_fc2_weight_dim_0; layernorm_3( reshape_19_0, gemm_rcr_bias_add_17_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_18" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_20" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_19_0, encoder_layers_1_mha_qkv_weight, encoder_layers_1_mha_qkv_bias, reshape_21_0, global_workspace_, 1, &reshape_19_0_dim_0, &reshape_19_0_dim_1, &encoder_layers_1_mha_qkv_weight_dim_0, &encoder_layers_1_mha_qkv_weight_dim_1, &reshape_19_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_20" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_22" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_22_0, split_22_2, split_22_1 }; int64_t *split_22_0_shape[] = { &split_22_0_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4 }; int64_t *split_22_2_shape[] = { &split_22_2_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4 }; int64_t *split_22_1_shape[] = { &split_22_1_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4 }; int64_t **output_shapes[] = { split_22_0_shape, split_22_2_shape, split_22_1_shape }; const int64_t reshape_21_0_shape[] = { reshape_21_0_dim_0, reshape_21_0_dim_1, reshape_21_0_dim_2, reshape_21_0_dim_3, reshape_21_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_21_0, reshape_21_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_22" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_22_0_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4, &reshape_23_0_dim_0, &reshape_23_0_dim_1, &reshape_23_0_dim_2, &reshape_23_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_23" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_24" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_22_1_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4, &reshape_24_0_dim_0, &reshape_24_0_dim_1, &reshape_24_0_dim_2, &reshape_24_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_24" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_22_2_dim_0, &reshape_21_0_dim_1, &reshape_21_0_dim_2, &reshape_21_0_dim_3, &reshape_21_0_dim_4, &reshape_25_0_dim_0, &reshape_25_0_dim_1, &reshape_25_0_dim_2, &reshape_25_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_25" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_26_0, reshape_23_0, reshape_25_0, reshape_24_0, &reshape_23_0_dim_0, &reshape_24_0_dim_2, &reshape_23_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_26" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_26_0, encoder_layers_1_mha_proj_weight, encoder_layers_1_mha_proj_bias, gemm_rcr_bias_add_17_0, reshape_29_0, global_workspace_, 1, &reshape_27_0_dim_0, &reshape_27_0_dim_1, &encoder_layers_1_mha_proj_weight_dim_0, &encoder_layers_1_mha_proj_weight_dim_1, &reshape_27_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_28" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_30" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_29_0_dim_0; M *= reshape_29_0_dim_1; int64_t N = 1; N *= reshape_29_0_dim_2; layernorm_15( layernorm_30_0, reshape_29_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_30" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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_gelu_16( layernorm_30_0, encoder_layers_1_mlp_fc1_weight, encoder_layers_1_mlp_fc1_bias, gemm_rcr_bias_gelu_31_0, global_workspace_, 1, &reshape_29_0_dim_0, &reshape_29_0_dim_1, &reshape_29_0_dim_2, &encoder_layers_1_mlp_fc1_weight_dim_0, &encoder_layers_1_mlp_fc1_weight_dim_1, &reshape_29_0_dim_0, &reshape_29_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_31" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_32" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_31_0, encoder_layers_1_mlp_fc2_weight, encoder_layers_1_mlp_fc2_bias, reshape_29_0, gemm_rcr_bias_add_32_0, global_workspace_, 1, &reshape_29_0_dim_0, &reshape_29_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_29_0_dim_0, &reshape_29_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_add_32" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_33" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_29_0_dim_0; M *= reshape_29_0_dim_1; int64_t N = 1; N *= encoder_layers_1_mlp_fc2_weight_dim_0; layernorm_3( reshape_34_0, gemm_rcr_bias_add_32_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_33" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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_permute_5( reshape_34_0, encoder_layers_2_mha_qkv_weight, encoder_layers_2_mha_qkv_bias, reshape_36_0, global_workspace_, 1, &reshape_34_0_dim_0, &reshape_34_0_dim_1, &encoder_layers_2_mha_qkv_weight_dim_0, &encoder_layers_2_mha_qkv_weight_dim_1, &reshape_34_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_35" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_37" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_37_1, split_37_0, split_37_2 }; int64_t *split_37_1_shape[] = { &split_37_1_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4 }; int64_t *split_37_0_shape[] = { &split_37_0_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4 }; int64_t *split_37_2_shape[] = { &split_37_2_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4 }; int64_t **output_shapes[] = { split_37_1_shape, split_37_0_shape, split_37_2_shape }; const int64_t reshape_36_0_shape[] = { reshape_36_0_dim_0, reshape_36_0_dim_1, reshape_36_0_dim_2, reshape_36_0_dim_3, reshape_36_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_36_0, reshape_36_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_37" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_38" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_37_0_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4, &reshape_38_0_dim_0, &reshape_38_0_dim_1, &reshape_38_0_dim_2, &reshape_38_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_38" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_37_1_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4, &reshape_39_0_dim_0, &reshape_39_0_dim_1, &reshape_39_0_dim_2, &reshape_39_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_39" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_40" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_37_2_dim_0, &reshape_36_0_dim_1, &reshape_36_0_dim_2, &reshape_36_0_dim_3, &reshape_36_0_dim_4, &reshape_40_0_dim_0, &reshape_40_0_dim_1, &reshape_40_0_dim_2, &reshape_40_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_40" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_41_0, reshape_39_0, reshape_38_0, reshape_40_0, &reshape_39_0_dim_0, &reshape_40_0_dim_2, &reshape_39_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_41" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_41_0, encoder_layers_2_mha_proj_weight, encoder_layers_2_mha_proj_bias, gemm_rcr_bias_add_32_0, reshape_44_0, global_workspace_, 1, &reshape_42_0_dim_0, &reshape_42_0_dim_1, &encoder_layers_2_mha_proj_weight_dim_0, &encoder_layers_2_mha_proj_weight_dim_1, &reshape_42_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_43" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_44_0_dim_0; M *= reshape_44_0_dim_1; int64_t N = 1; N *= reshape_44_0_dim_2; layernorm_15( layernorm_45_0, reshape_44_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_45" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_45_0, encoder_layers_2_mlp_fc1_weight, encoder_layers_2_mlp_fc1_bias, gemm_rcr_bias_gelu_46_0, global_workspace_, 1, &reshape_44_0_dim_0, &reshape_44_0_dim_1, &reshape_44_0_dim_2, &encoder_layers_2_mlp_fc1_weight_dim_0, &encoder_layers_2_mlp_fc1_weight_dim_1, &reshape_44_0_dim_0, &reshape_44_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_46" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_46_0, encoder_layers_2_mlp_fc2_weight, encoder_layers_2_mlp_fc2_bias, reshape_44_0, gemm_rcr_bias_add_47_0, global_workspace_, 1, &reshape_44_0_dim_0, &reshape_44_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_44_0_dim_0, &reshape_44_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_add_47" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_48" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_44_0_dim_0; M *= reshape_44_0_dim_1; int64_t N = 1; N *= encoder_layers_2_mlp_fc2_weight_dim_0; layernorm_3( reshape_49_0, gemm_rcr_bias_add_47_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_48" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_50" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_49_0, encoder_layers_3_mha_qkv_weight, encoder_layers_3_mha_qkv_bias, reshape_51_0, global_workspace_, 1, &reshape_49_0_dim_0, &reshape_49_0_dim_1, &encoder_layers_3_mha_qkv_weight_dim_0, &encoder_layers_3_mha_qkv_weight_dim_1, &reshape_49_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_50" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_52_2, split_52_1, split_52_0 }; int64_t *split_52_2_shape[] = { &split_52_2_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4 }; int64_t *split_52_1_shape[] = { &split_52_1_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4 }; int64_t *split_52_0_shape[] = { &split_52_0_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4 }; int64_t **output_shapes[] = { split_52_2_shape, split_52_1_shape, split_52_0_shape }; const int64_t reshape_51_0_shape[] = { reshape_51_0_dim_0, reshape_51_0_dim_1, reshape_51_0_dim_2, reshape_51_0_dim_3, reshape_51_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_51_0, reshape_51_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_52" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_52_0_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4, &reshape_53_0_dim_0, &reshape_53_0_dim_1, &reshape_53_0_dim_2, &reshape_53_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_53" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_52_1_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4, &reshape_54_0_dim_0, &reshape_54_0_dim_1, &reshape_54_0_dim_2, &reshape_54_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_54" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_55" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_52_2_dim_0, &reshape_51_0_dim_1, &reshape_51_0_dim_2, &reshape_51_0_dim_3, &reshape_51_0_dim_4, &reshape_55_0_dim_0, &reshape_55_0_dim_1, &reshape_55_0_dim_2, &reshape_55_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_55" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_56" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_56_0, reshape_55_0, reshape_54_0, reshape_53_0, &reshape_55_0_dim_0, &reshape_53_0_dim_2, &reshape_55_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_56" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_58" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_56_0, encoder_layers_3_mha_proj_weight, encoder_layers_3_mha_proj_bias, gemm_rcr_bias_add_47_0, reshape_59_0, global_workspace_, 1, &reshape_57_0_dim_0, &reshape_57_0_dim_1, &encoder_layers_3_mha_proj_weight_dim_0, &encoder_layers_3_mha_proj_weight_dim_1, &reshape_57_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_58" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_60" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_59_0_dim_0; M *= reshape_59_0_dim_1; int64_t N = 1; N *= reshape_59_0_dim_2; layernorm_15( layernorm_60_0, reshape_59_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_60" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_60_0, encoder_layers_3_mlp_fc1_weight, encoder_layers_3_mlp_fc1_bias, gemm_rcr_bias_gelu_61_0, global_workspace_, 1, &reshape_59_0_dim_0, &reshape_59_0_dim_1, &reshape_59_0_dim_2, &encoder_layers_3_mlp_fc1_weight_dim_0, &encoder_layers_3_mlp_fc1_weight_dim_1, &reshape_59_0_dim_0, &reshape_59_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_61" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_61_0, encoder_layers_3_mlp_fc2_weight, encoder_layers_3_mlp_fc2_bias, reshape_59_0, gemm_rcr_bias_add_62_0, global_workspace_, 1, &reshape_59_0_dim_0, &reshape_59_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_59_0_dim_0, &reshape_59_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_add_62" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_59_0_dim_0; M *= reshape_59_0_dim_1; int64_t N = 1; N *= encoder_layers_3_mlp_fc2_weight_dim_0; layernorm_3( reshape_64_0, gemm_rcr_bias_add_62_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_63" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_64_0, encoder_layers_4_mha_qkv_weight, encoder_layers_4_mha_qkv_bias, reshape_66_0, global_workspace_, 1, &reshape_64_0_dim_0, &reshape_64_0_dim_1, &encoder_layers_4_mha_qkv_weight_dim_0, &encoder_layers_4_mha_qkv_weight_dim_1, &reshape_64_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_65" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_67_0, split_67_1, split_67_2 }; int64_t *split_67_0_shape[] = { &split_67_0_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4 }; int64_t *split_67_1_shape[] = { &split_67_1_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4 }; int64_t *split_67_2_shape[] = { &split_67_2_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4 }; int64_t **output_shapes[] = { split_67_0_shape, split_67_1_shape, split_67_2_shape }; const int64_t reshape_66_0_shape[] = { reshape_66_0_dim_0, reshape_66_0_dim_1, reshape_66_0_dim_2, reshape_66_0_dim_3, reshape_66_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_66_0, reshape_66_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_67" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_68" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_67_0_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4, &reshape_68_0_dim_0, &reshape_68_0_dim_1, &reshape_68_0_dim_2, &reshape_68_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_68" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_69" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_67_1_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4, &reshape_69_0_dim_0, &reshape_69_0_dim_1, &reshape_69_0_dim_2, &reshape_69_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_69" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_67_2_dim_0, &reshape_66_0_dim_1, &reshape_66_0_dim_2, &reshape_66_0_dim_3, &reshape_66_0_dim_4, &reshape_70_0_dim_0, &reshape_70_0_dim_1, &reshape_70_0_dim_2, &reshape_70_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_70" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_71_0, reshape_68_0, reshape_69_0, reshape_70_0, &reshape_68_0_dim_0, &reshape_70_0_dim_2, &reshape_68_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_71" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_73" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_71_0, encoder_layers_4_mha_proj_weight, encoder_layers_4_mha_proj_bias, gemm_rcr_bias_add_62_0, reshape_74_0, global_workspace_, 1, &reshape_72_0_dim_0, &reshape_72_0_dim_1, &encoder_layers_4_mha_proj_weight_dim_0, &encoder_layers_4_mha_proj_weight_dim_1, &reshape_72_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_73" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; 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_74_0_dim_0; M *= reshape_74_0_dim_1; int64_t N = 1; N *= reshape_74_0_dim_2; layernorm_15( layernorm_75_0, reshape_74_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_75" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_76" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_75_0, encoder_layers_4_mlp_fc1_weight, encoder_layers_4_mlp_fc1_bias, gemm_rcr_bias_gelu_76_0, global_workspace_, 1, &reshape_74_0_dim_0, &reshape_74_0_dim_1, &reshape_74_0_dim_2, &encoder_layers_4_mlp_fc1_weight_dim_0, &encoder_layers_4_mlp_fc1_weight_dim_1, &reshape_74_0_dim_0, &reshape_74_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_76" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_76_0, encoder_layers_4_mlp_fc2_weight, encoder_layers_4_mlp_fc2_bias, reshape_74_0, gemm_rcr_bias_add_77_0, global_workspace_, 1, &reshape_74_0_dim_0, &reshape_74_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_74_0_dim_0, &reshape_74_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_add_77" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_78" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_74_0_dim_0; M *= reshape_74_0_dim_1; int64_t N = 1; N *= encoder_layers_4_mlp_fc2_weight_dim_0; layernorm_3( reshape_79_0, gemm_rcr_bias_add_77_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_78" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_79_0, encoder_layers_5_mha_qkv_weight, encoder_layers_5_mha_qkv_bias, reshape_81_0, global_workspace_, 1, &reshape_79_0_dim_0, &reshape_79_0_dim_1, &encoder_layers_5_mha_qkv_weight_dim_0, &encoder_layers_5_mha_qkv_weight_dim_1, &reshape_79_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_80" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_82_0, split_82_1, split_82_2 }; int64_t *split_82_0_shape[] = { &split_82_0_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4 }; int64_t *split_82_1_shape[] = { &split_82_1_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4 }; int64_t *split_82_2_shape[] = { &split_82_2_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4 }; int64_t **output_shapes[] = { split_82_0_shape, split_82_1_shape, split_82_2_shape }; const int64_t reshape_81_0_shape[] = { reshape_81_0_dim_0, reshape_81_0_dim_1, reshape_81_0_dim_2, reshape_81_0_dim_3, reshape_81_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_81_0, reshape_81_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_82" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_82_0_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4, &reshape_83_0_dim_0, &reshape_83_0_dim_1, &reshape_83_0_dim_2, &reshape_83_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_83" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_84" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_82_1_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4, &reshape_84_0_dim_0, &reshape_84_0_dim_1, &reshape_84_0_dim_2, &reshape_84_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_84" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_82_2_dim_0, &reshape_81_0_dim_1, &reshape_81_0_dim_2, &reshape_81_0_dim_3, &reshape_81_0_dim_4, &reshape_85_0_dim_0, &reshape_85_0_dim_1, &reshape_85_0_dim_2, &reshape_85_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_85" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_86" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_86_0, reshape_83_0, reshape_84_0, reshape_85_0, &reshape_83_0_dim_0, &reshape_85_0_dim_2, &reshape_83_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_86" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_86_0, encoder_layers_5_mha_proj_weight, encoder_layers_5_mha_proj_bias, gemm_rcr_bias_add_77_0, reshape_89_0, global_workspace_, 1, &reshape_87_0_dim_0, &reshape_87_0_dim_1, &encoder_layers_5_mha_proj_weight_dim_0, &encoder_layers_5_mha_proj_weight_dim_1, &reshape_87_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_88" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_89_0_dim_0; M *= reshape_89_0_dim_1; int64_t N = 1; N *= reshape_89_0_dim_2; layernorm_15( layernorm_90_0, reshape_89_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_90" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_91" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_90_0, encoder_layers_5_mlp_fc1_weight, encoder_layers_5_mlp_fc1_bias, gemm_rcr_bias_gelu_91_0, global_workspace_, 1, &reshape_89_0_dim_0, &reshape_89_0_dim_1, &reshape_89_0_dim_2, &encoder_layers_5_mlp_fc1_weight_dim_0, &encoder_layers_5_mlp_fc1_weight_dim_1, &reshape_89_0_dim_0, &reshape_89_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_91" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_92" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_91_0, encoder_layers_5_mlp_fc2_weight, encoder_layers_5_mlp_fc2_bias, reshape_89_0, gemm_rcr_bias_add_92_0, global_workspace_, 1, &reshape_89_0_dim_0, &reshape_89_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_89_0_dim_0, &reshape_89_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_add_92" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; 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_89_0_dim_0; M *= reshape_89_0_dim_1; int64_t N = 1; N *= encoder_layers_5_mlp_fc2_weight_dim_0; layernorm_3( reshape_94_0, gemm_rcr_bias_add_92_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_93" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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( reshape_94_0, encoder_layers_6_mha_qkv_weight, encoder_layers_6_mha_qkv_bias, reshape_96_0, global_workspace_, 1, &reshape_94_0_dim_0, &reshape_94_0_dim_1, &encoder_layers_6_mha_qkv_weight_dim_0, &encoder_layers_6_mha_qkv_weight_dim_1, &reshape_94_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_95" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"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_2, split_97_0, split_97_1 }; 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 *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_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 **output_shapes[] = { split_97_2_shape, split_97_0_shape, split_97_1_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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_100_0, reshape_98_0, reshape_99_0, &reshape_100_0_dim_0, &reshape_99_0_dim_2, &reshape_100_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\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_6_mha_proj_weight, encoder_layers_6_mha_proj_bias, gemm_rcr_bias_add_92_0, reshape_104_0, global_workspace_, 1, &reshape_102_0_dim_0, &reshape_102_0_dim_1, &encoder_layers_6_mha_proj_weight_dim_0, &encoder_layers_6_mha_proj_weight_dim_1, &reshape_102_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_103" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_105" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_104_0_dim_0; M *= reshape_104_0_dim_1; int64_t N = 1; N *= reshape_104_0_dim_2; layernorm_15( layernorm_105_0, reshape_104_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_105" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_105_0, encoder_layers_6_mlp_fc1_weight, encoder_layers_6_mlp_fc1_bias, gemm_rcr_bias_gelu_106_0, global_workspace_, 1, &reshape_104_0_dim_0, &reshape_104_0_dim_1, &reshape_104_0_dim_2, &encoder_layers_6_mlp_fc1_weight_dim_0, &encoder_layers_6_mlp_fc1_weight_dim_1, &reshape_104_0_dim_0, &reshape_104_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_106" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_106_0, encoder_layers_6_mlp_fc2_weight, encoder_layers_6_mlp_fc2_bias, reshape_104_0, gemm_rcr_bias_add_107_0, global_workspace_, 1, &reshape_104_0_dim_0, &reshape_104_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_104_0_dim_0, &reshape_104_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_add_107" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_104_0_dim_0; M *= reshape_104_0_dim_1; int64_t N = 1; N *= encoder_layers_6_mlp_fc2_weight_dim_0; layernorm_3( reshape_109_0, gemm_rcr_bias_add_107_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_108" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_110" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_109_0, encoder_layers_7_mha_qkv_weight, encoder_layers_7_mha_qkv_bias, reshape_111_0, global_workspace_, 1, &reshape_109_0_dim_0, &reshape_109_0_dim_1, &encoder_layers_7_mha_qkv_weight_dim_0, &encoder_layers_7_mha_qkv_weight_dim_1, &reshape_109_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_110" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_112" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_112_0, split_112_1, split_112_2 }; int64_t *split_112_0_shape[] = { &split_112_0_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4 }; int64_t *split_112_1_shape[] = { &split_112_1_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4 }; int64_t *split_112_2_shape[] = { &split_112_2_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4 }; int64_t **output_shapes[] = { split_112_0_shape, split_112_1_shape, split_112_2_shape }; const int64_t reshape_111_0_shape[] = { reshape_111_0_dim_0, reshape_111_0_dim_1, reshape_111_0_dim_2, reshape_111_0_dim_3, reshape_111_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_111_0, reshape_111_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_112" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_112_0_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4, &reshape_113_0_dim_0, &reshape_113_0_dim_1, &reshape_113_0_dim_2, &reshape_113_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_113" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_114" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_112_1_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4, &reshape_114_0_dim_0, &reshape_114_0_dim_1, &reshape_114_0_dim_2, &reshape_114_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_114" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_112_2_dim_0, &reshape_111_0_dim_1, &reshape_111_0_dim_2, &reshape_111_0_dim_3, &reshape_111_0_dim_4, &reshape_115_0_dim_0, &reshape_115_0_dim_1, &reshape_115_0_dim_2, &reshape_115_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_115" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_116_0, reshape_113_0, reshape_114_0, reshape_115_0, &reshape_113_0_dim_0, &reshape_115_0_dim_2, &reshape_113_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_116" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_116_0, encoder_layers_7_mha_proj_weight, encoder_layers_7_mha_proj_bias, gemm_rcr_bias_add_107_0, reshape_119_0, global_workspace_, 1, &reshape_117_0_dim_0, &reshape_117_0_dim_1, &encoder_layers_7_mha_proj_weight_dim_0, &encoder_layers_7_mha_proj_weight_dim_1, &reshape_117_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_118" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_120" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_119_0_dim_0; M *= reshape_119_0_dim_1; int64_t N = 1; N *= reshape_119_0_dim_2; layernorm_15( layernorm_120_0, reshape_119_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_120" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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_gelu_16( layernorm_120_0, encoder_layers_7_mlp_fc1_weight, encoder_layers_7_mlp_fc1_bias, gemm_rcr_bias_gelu_121_0, global_workspace_, 1, &reshape_119_0_dim_0, &reshape_119_0_dim_1, &reshape_119_0_dim_2, &encoder_layers_7_mlp_fc1_weight_dim_0, &encoder_layers_7_mlp_fc1_weight_dim_1, &reshape_119_0_dim_0, &reshape_119_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_121" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_122" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_121_0, encoder_layers_7_mlp_fc2_weight, encoder_layers_7_mlp_fc2_bias, reshape_119_0, gemm_rcr_bias_add_122_0, global_workspace_, 1, &reshape_119_0_dim_0, &reshape_119_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_119_0_dim_0, &reshape_119_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_add_122" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_123" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_119_0_dim_0; M *= reshape_119_0_dim_1; int64_t N = 1; N *= encoder_layers_7_mlp_fc2_weight_dim_0; layernorm_3( reshape_124_0, gemm_rcr_bias_add_122_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_123" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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_permute_5( reshape_124_0, encoder_layers_8_mha_qkv_weight, encoder_layers_8_mha_qkv_bias, reshape_126_0, global_workspace_, 1, &reshape_124_0_dim_0, &reshape_124_0_dim_1, &encoder_layers_8_mha_qkv_weight_dim_0, &encoder_layers_8_mha_qkv_weight_dim_1, &reshape_124_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_125" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_127" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_127_1, split_127_0, split_127_2 }; int64_t *split_127_1_shape[] = { &split_127_1_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4 }; int64_t *split_127_0_shape[] = { &split_127_0_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4 }; int64_t *split_127_2_shape[] = { &split_127_2_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4 }; int64_t **output_shapes[] = { split_127_1_shape, split_127_0_shape, split_127_2_shape }; const int64_t reshape_126_0_shape[] = { reshape_126_0_dim_0, reshape_126_0_dim_1, reshape_126_0_dim_2, reshape_126_0_dim_3, reshape_126_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_126_0, reshape_126_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_127" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_128" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_127_0_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4, &reshape_128_0_dim_0, &reshape_128_0_dim_1, &reshape_128_0_dim_2, &reshape_128_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_128" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_127_1_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4, &reshape_129_0_dim_0, &reshape_129_0_dim_1, &reshape_129_0_dim_2, &reshape_129_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_129" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_130" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_127_2_dim_0, &reshape_126_0_dim_1, &reshape_126_0_dim_2, &reshape_126_0_dim_3, &reshape_126_0_dim_4, &reshape_130_0_dim_0, &reshape_130_0_dim_1, &reshape_130_0_dim_2, &reshape_130_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_130" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_131_0, reshape_129_0, reshape_128_0, reshape_130_0, &reshape_129_0_dim_0, &reshape_130_0_dim_2, &reshape_129_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_131" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_131_0, encoder_layers_8_mha_proj_weight, encoder_layers_8_mha_proj_bias, gemm_rcr_bias_add_122_0, reshape_134_0, global_workspace_, 1, &reshape_132_0_dim_0, &reshape_132_0_dim_1, &encoder_layers_8_mha_proj_weight_dim_0, &encoder_layers_8_mha_proj_weight_dim_1, &reshape_132_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_133" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_134_0_dim_0; M *= reshape_134_0_dim_1; int64_t N = 1; N *= reshape_134_0_dim_2; layernorm_15( layernorm_135_0, reshape_134_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_135" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_135_0, encoder_layers_8_mlp_fc1_weight, encoder_layers_8_mlp_fc1_bias, gemm_rcr_bias_gelu_136_0, global_workspace_, 1, &reshape_134_0_dim_0, &reshape_134_0_dim_1, &reshape_134_0_dim_2, &encoder_layers_8_mlp_fc1_weight_dim_0, &encoder_layers_8_mlp_fc1_weight_dim_1, &reshape_134_0_dim_0, &reshape_134_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_136" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_136_0, encoder_layers_8_mlp_fc2_weight, encoder_layers_8_mlp_fc2_bias, reshape_134_0, gemm_rcr_bias_add_137_0, global_workspace_, 1, &reshape_134_0_dim_0, &reshape_134_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_134_0_dim_0, &reshape_134_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_add_137" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_138" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_134_0_dim_0; M *= reshape_134_0_dim_1; int64_t N = 1; N *= encoder_layers_8_mlp_fc2_weight_dim_0; layernorm_3( reshape_139_0, gemm_rcr_bias_add_137_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_138" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_140" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_139_0, encoder_layers_9_mha_qkv_weight, encoder_layers_9_mha_qkv_bias, reshape_141_0, global_workspace_, 1, &reshape_139_0_dim_0, &reshape_139_0_dim_1, &encoder_layers_9_mha_qkv_weight_dim_0, &encoder_layers_9_mha_qkv_weight_dim_1, &reshape_139_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_140" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_142_2, split_142_1, split_142_0 }; int64_t *split_142_2_shape[] = { &split_142_2_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4 }; int64_t *split_142_1_shape[] = { &split_142_1_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4 }; int64_t *split_142_0_shape[] = { &split_142_0_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4 }; int64_t **output_shapes[] = { split_142_2_shape, split_142_1_shape, split_142_0_shape }; const int64_t reshape_141_0_shape[] = { reshape_141_0_dim_0, reshape_141_0_dim_1, reshape_141_0_dim_2, reshape_141_0_dim_3, reshape_141_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_141_0, reshape_141_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_142" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_142_0_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4, &reshape_143_0_dim_0, &reshape_143_0_dim_1, &reshape_143_0_dim_2, &reshape_143_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_143" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_142_1_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4, &reshape_144_0_dim_0, &reshape_144_0_dim_1, &reshape_144_0_dim_2, &reshape_144_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_144" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_145" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_142_2_dim_0, &reshape_141_0_dim_1, &reshape_141_0_dim_2, &reshape_141_0_dim_3, &reshape_141_0_dim_4, &reshape_145_0_dim_0, &reshape_145_0_dim_1, &reshape_145_0_dim_2, &reshape_145_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_145" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_146" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_146_0, reshape_145_0, reshape_144_0, reshape_143_0, &reshape_145_0_dim_0, &reshape_143_0_dim_2, &reshape_145_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_146" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_148" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_146_0, encoder_layers_9_mha_proj_weight, encoder_layers_9_mha_proj_bias, gemm_rcr_bias_add_137_0, reshape_149_0, global_workspace_, 1, &reshape_147_0_dim_0, &reshape_147_0_dim_1, &encoder_layers_9_mha_proj_weight_dim_0, &encoder_layers_9_mha_proj_weight_dim_1, &reshape_147_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_148" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_150" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_149_0_dim_0; M *= reshape_149_0_dim_1; int64_t N = 1; N *= reshape_149_0_dim_2; layernorm_15( layernorm_150_0, reshape_149_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_150" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_150_0, encoder_layers_9_mlp_fc1_weight, encoder_layers_9_mlp_fc1_bias, gemm_rcr_bias_gelu_151_0, global_workspace_, 1, &reshape_149_0_dim_0, &reshape_149_0_dim_1, &reshape_149_0_dim_2, &encoder_layers_9_mlp_fc1_weight_dim_0, &encoder_layers_9_mlp_fc1_weight_dim_1, &reshape_149_0_dim_0, &reshape_149_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_151" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_151_0, encoder_layers_9_mlp_fc2_weight, encoder_layers_9_mlp_fc2_bias, reshape_149_0, gemm_rcr_bias_add_152_0, global_workspace_, 1, &reshape_149_0_dim_0, &reshape_149_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_149_0_dim_0, &reshape_149_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_add_152" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_149_0_dim_0; M *= reshape_149_0_dim_1; int64_t N = 1; N *= encoder_layers_9_mlp_fc2_weight_dim_0; layernorm_3( reshape_154_0, gemm_rcr_bias_add_152_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_153" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_154_0, encoder_layers_10_mha_qkv_weight, encoder_layers_10_mha_qkv_bias, reshape_156_0, global_workspace_, 1, &reshape_154_0_dim_0, &reshape_154_0_dim_1, &encoder_layers_10_mha_qkv_weight_dim_0, &encoder_layers_10_mha_qkv_weight_dim_1, &reshape_154_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_155" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_157_1, split_157_2, split_157_0 }; int64_t *split_157_1_shape[] = { &split_157_1_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4 }; int64_t *split_157_2_shape[] = { &split_157_2_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4 }; int64_t *split_157_0_shape[] = { &split_157_0_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4 }; int64_t **output_shapes[] = { split_157_1_shape, split_157_2_shape, split_157_0_shape }; const int64_t reshape_156_0_shape[] = { reshape_156_0_dim_0, reshape_156_0_dim_1, reshape_156_0_dim_2, reshape_156_0_dim_3, reshape_156_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_156_0, reshape_156_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_157" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_158" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_157_0_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4, &reshape_158_0_dim_0, &reshape_158_0_dim_1, &reshape_158_0_dim_2, &reshape_158_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_158" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_159" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_157_1_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4, &reshape_159_0_dim_0, &reshape_159_0_dim_1, &reshape_159_0_dim_2, &reshape_159_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_159" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_157_2_dim_0, &reshape_156_0_dim_1, &reshape_156_0_dim_2, &reshape_156_0_dim_3, &reshape_156_0_dim_4, &reshape_160_0_dim_0, &reshape_160_0_dim_1, &reshape_160_0_dim_2, &reshape_160_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_160" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_161_0, reshape_159_0, reshape_160_0, reshape_158_0, &reshape_159_0_dim_0, &reshape_158_0_dim_2, &reshape_159_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_161" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_163" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_161_0, encoder_layers_10_mha_proj_weight, encoder_layers_10_mha_proj_bias, gemm_rcr_bias_add_152_0, reshape_164_0, global_workspace_, 1, &reshape_162_0_dim_0, &reshape_162_0_dim_1, &encoder_layers_10_mha_proj_weight_dim_0, &encoder_layers_10_mha_proj_weight_dim_1, &reshape_162_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_163" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; 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_164_0_dim_0; M *= reshape_164_0_dim_1; int64_t N = 1; N *= reshape_164_0_dim_2; layernorm_15( layernorm_165_0, reshape_164_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_165" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_166" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_165_0, encoder_layers_10_mlp_fc1_weight, encoder_layers_10_mlp_fc1_bias, gemm_rcr_bias_gelu_166_0, global_workspace_, 1, &reshape_164_0_dim_0, &reshape_164_0_dim_1, &reshape_164_0_dim_2, &encoder_layers_10_mlp_fc1_weight_dim_0, &encoder_layers_10_mlp_fc1_weight_dim_1, &reshape_164_0_dim_0, &reshape_164_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_166" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_166_0, encoder_layers_10_mlp_fc2_weight, encoder_layers_10_mlp_fc2_bias, reshape_164_0, gemm_rcr_bias_add_167_0, global_workspace_, 1, &reshape_164_0_dim_0, &reshape_164_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_164_0_dim_0, &reshape_164_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_add_167" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_168" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_164_0_dim_0; M *= reshape_164_0_dim_1; int64_t N = 1; N *= encoder_layers_10_mlp_fc2_weight_dim_0; layernorm_3( reshape_169_0, gemm_rcr_bias_add_167_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_168" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_169_0, encoder_layers_11_mha_qkv_weight, encoder_layers_11_mha_qkv_bias, reshape_171_0, global_workspace_, 1, &reshape_169_0_dim_0, &reshape_169_0_dim_1, &encoder_layers_11_mha_qkv_weight_dim_0, &encoder_layers_11_mha_qkv_weight_dim_1, &reshape_169_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_170" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_172_0, split_172_1, split_172_2 }; int64_t *split_172_0_shape[] = { &split_172_0_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4 }; int64_t *split_172_1_shape[] = { &split_172_1_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4 }; int64_t *split_172_2_shape[] = { &split_172_2_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4 }; int64_t **output_shapes[] = { split_172_0_shape, split_172_1_shape, split_172_2_shape }; const int64_t reshape_171_0_shape[] = { reshape_171_0_dim_0, reshape_171_0_dim_1, reshape_171_0_dim_2, reshape_171_0_dim_3, reshape_171_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_171_0, reshape_171_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_172" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_172_0_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4, &reshape_173_0_dim_0, &reshape_173_0_dim_1, &reshape_173_0_dim_2, &reshape_173_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_173" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_174" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_172_1_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4, &reshape_174_0_dim_0, &reshape_174_0_dim_1, &reshape_174_0_dim_2, &reshape_174_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_174" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_172_2_dim_0, &reshape_171_0_dim_1, &reshape_171_0_dim_2, &reshape_171_0_dim_3, &reshape_171_0_dim_4, &reshape_175_0_dim_0, &reshape_175_0_dim_1, &reshape_175_0_dim_2, &reshape_175_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_175" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_176" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_176_0, reshape_173_0, reshape_174_0, reshape_175_0, &reshape_173_0_dim_0, &reshape_175_0_dim_2, &reshape_173_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_176" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_176_0, encoder_layers_11_mha_proj_weight, encoder_layers_11_mha_proj_bias, gemm_rcr_bias_add_167_0, reshape_179_0, global_workspace_, 1, &reshape_177_0_dim_0, &reshape_177_0_dim_1, &encoder_layers_11_mha_proj_weight_dim_0, &encoder_layers_11_mha_proj_weight_dim_1, &reshape_177_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_178" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_179_0_dim_0; M *= reshape_179_0_dim_1; int64_t N = 1; N *= reshape_179_0_dim_2; layernorm_15( layernorm_180_0, reshape_179_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_180" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_181" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_180_0, encoder_layers_11_mlp_fc1_weight, encoder_layers_11_mlp_fc1_bias, gemm_rcr_bias_gelu_181_0, global_workspace_, 1, &reshape_179_0_dim_0, &reshape_179_0_dim_1, &reshape_179_0_dim_2, &encoder_layers_11_mlp_fc1_weight_dim_0, &encoder_layers_11_mlp_fc1_weight_dim_1, &reshape_179_0_dim_0, &reshape_179_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_181" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_182" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_181_0, encoder_layers_11_mlp_fc2_weight, encoder_layers_11_mlp_fc2_bias, reshape_179_0, gemm_rcr_bias_add_182_0, global_workspace_, 1, &reshape_179_0_dim_0, &reshape_179_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_179_0_dim_0, &reshape_179_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_add_182" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; 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_179_0_dim_0; M *= reshape_179_0_dim_1; int64_t N = 1; N *= encoder_layers_11_mlp_fc2_weight_dim_0; layernorm_3( reshape_184_0, gemm_rcr_bias_add_182_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_183" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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( reshape_184_0, encoder_layers_12_mha_qkv_weight, encoder_layers_12_mha_qkv_bias, reshape_186_0, global_workspace_, 1, &reshape_184_0_dim_0, &reshape_184_0_dim_1, &encoder_layers_12_mha_qkv_weight_dim_0, &encoder_layers_12_mha_qkv_weight_dim_1, &reshape_184_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_185" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"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_2, split_187_0, split_187_1 }; 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 *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 **output_shapes[] = { split_187_2_shape, split_187_0_shape, split_187_1_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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_190_0, reshape_188_0, reshape_189_0, &reshape_190_0_dim_0, &reshape_189_0_dim_2, &reshape_190_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\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_12_mha_proj_weight, encoder_layers_12_mha_proj_bias, gemm_rcr_bias_add_182_0, reshape_194_0, global_workspace_, 1, &reshape_192_0_dim_0, &reshape_192_0_dim_1, &encoder_layers_12_mha_proj_weight_dim_0, &encoder_layers_12_mha_proj_weight_dim_1, &reshape_192_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_193" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_195" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_194_0_dim_0; M *= reshape_194_0_dim_1; int64_t N = 1; N *= reshape_194_0_dim_2; layernorm_15( layernorm_195_0, reshape_194_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_195" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_195_0, encoder_layers_12_mlp_fc1_weight, encoder_layers_12_mlp_fc1_bias, gemm_rcr_bias_gelu_196_0, global_workspace_, 1, &reshape_194_0_dim_0, &reshape_194_0_dim_1, &reshape_194_0_dim_2, &encoder_layers_12_mlp_fc1_weight_dim_0, &encoder_layers_12_mlp_fc1_weight_dim_1, &reshape_194_0_dim_0, &reshape_194_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_196" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_196_0, encoder_layers_12_mlp_fc2_weight, encoder_layers_12_mlp_fc2_bias, reshape_194_0, gemm_rcr_bias_add_197_0, global_workspace_, 1, &reshape_194_0_dim_0, &reshape_194_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_194_0_dim_0, &reshape_194_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_add_197" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_194_0_dim_0; M *= reshape_194_0_dim_1; int64_t N = 1; N *= encoder_layers_12_mlp_fc2_weight_dim_0; layernorm_3( reshape_199_0, gemm_rcr_bias_add_197_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_198" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_200" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_199_0, encoder_layers_13_mha_qkv_weight, encoder_layers_13_mha_qkv_bias, reshape_201_0, global_workspace_, 1, &reshape_199_0_dim_0, &reshape_199_0_dim_1, &encoder_layers_13_mha_qkv_weight_dim_0, &encoder_layers_13_mha_qkv_weight_dim_1, &reshape_199_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_200" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_202" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_202_2, split_202_1, split_202_0 }; int64_t *split_202_2_shape[] = { &split_202_2_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4 }; int64_t *split_202_1_shape[] = { &split_202_1_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4 }; int64_t *split_202_0_shape[] = { &split_202_0_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4 }; int64_t **output_shapes[] = { split_202_2_shape, split_202_1_shape, split_202_0_shape }; const int64_t reshape_201_0_shape[] = { reshape_201_0_dim_0, reshape_201_0_dim_1, reshape_201_0_dim_2, reshape_201_0_dim_3, reshape_201_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_201_0, reshape_201_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_202" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_202_0_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4, &reshape_203_0_dim_0, &reshape_203_0_dim_1, &reshape_203_0_dim_2, &reshape_203_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_203" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_204" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_202_1_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4, &reshape_204_0_dim_0, &reshape_204_0_dim_1, &reshape_204_0_dim_2, &reshape_204_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_204" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_202_2_dim_0, &reshape_201_0_dim_1, &reshape_201_0_dim_2, &reshape_201_0_dim_3, &reshape_201_0_dim_4, &reshape_205_0_dim_0, &reshape_205_0_dim_1, &reshape_205_0_dim_2, &reshape_205_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_205" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_206_0, reshape_205_0, reshape_204_0, reshape_203_0, &reshape_205_0_dim_0, &reshape_203_0_dim_2, &reshape_205_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_206" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_206_0, encoder_layers_13_mha_proj_weight, encoder_layers_13_mha_proj_bias, gemm_rcr_bias_add_197_0, reshape_209_0, global_workspace_, 1, &reshape_207_0_dim_0, &reshape_207_0_dim_1, &encoder_layers_13_mha_proj_weight_dim_0, &encoder_layers_13_mha_proj_weight_dim_1, &reshape_207_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_208" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_210" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_209_0_dim_0; M *= reshape_209_0_dim_1; int64_t N = 1; N *= reshape_209_0_dim_2; layernorm_15( layernorm_210_0, reshape_209_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_210" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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_gelu_16( layernorm_210_0, encoder_layers_13_mlp_fc1_weight, encoder_layers_13_mlp_fc1_bias, gemm_rcr_bias_gelu_211_0, global_workspace_, 1, &reshape_209_0_dim_0, &reshape_209_0_dim_1, &reshape_209_0_dim_2, &encoder_layers_13_mlp_fc1_weight_dim_0, &encoder_layers_13_mlp_fc1_weight_dim_1, &reshape_209_0_dim_0, &reshape_209_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_211" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_212" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_211_0, encoder_layers_13_mlp_fc2_weight, encoder_layers_13_mlp_fc2_bias, reshape_209_0, gemm_rcr_bias_add_212_0, global_workspace_, 1, &reshape_209_0_dim_0, &reshape_209_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_209_0_dim_0, &reshape_209_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_add_212" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_213" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_209_0_dim_0; M *= reshape_209_0_dim_1; int64_t N = 1; N *= encoder_layers_13_mlp_fc2_weight_dim_0; layernorm_3( reshape_214_0, gemm_rcr_bias_add_212_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_213" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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_permute_5( reshape_214_0, encoder_layers_14_mha_qkv_weight, encoder_layers_14_mha_qkv_bias, reshape_216_0, global_workspace_, 1, &reshape_214_0_dim_0, &reshape_214_0_dim_1, &encoder_layers_14_mha_qkv_weight_dim_0, &encoder_layers_14_mha_qkv_weight_dim_1, &reshape_214_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_215" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_217" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_217_2, split_217_0, split_217_1 }; int64_t *split_217_2_shape[] = { &split_217_2_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4 }; int64_t *split_217_0_shape[] = { &split_217_0_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4 }; int64_t *split_217_1_shape[] = { &split_217_1_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4 }; int64_t **output_shapes[] = { split_217_2_shape, split_217_0_shape, split_217_1_shape }; const int64_t reshape_216_0_shape[] = { reshape_216_0_dim_0, reshape_216_0_dim_1, reshape_216_0_dim_2, reshape_216_0_dim_3, reshape_216_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_216_0, reshape_216_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_217" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_218" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_217_0_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4, &reshape_218_0_dim_0, &reshape_218_0_dim_1, &reshape_218_0_dim_2, &reshape_218_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_218" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_217_1_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4, &reshape_219_0_dim_0, &reshape_219_0_dim_1, &reshape_219_0_dim_2, &reshape_219_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_219" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_220" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_217_2_dim_0, &reshape_216_0_dim_1, &reshape_216_0_dim_2, &reshape_216_0_dim_3, &reshape_216_0_dim_4, &reshape_220_0_dim_0, &reshape_220_0_dim_1, &reshape_220_0_dim_2, &reshape_220_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_220" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_221_0, reshape_220_0, reshape_218_0, reshape_219_0, &reshape_220_0_dim_0, &reshape_219_0_dim_2, &reshape_220_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_221" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_221_0, encoder_layers_14_mha_proj_weight, encoder_layers_14_mha_proj_bias, gemm_rcr_bias_add_212_0, reshape_224_0, global_workspace_, 1, &reshape_222_0_dim_0, &reshape_222_0_dim_1, &encoder_layers_14_mha_proj_weight_dim_0, &encoder_layers_14_mha_proj_weight_dim_1, &reshape_222_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_223" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_224_0_dim_0; M *= reshape_224_0_dim_1; int64_t N = 1; N *= reshape_224_0_dim_2; layernorm_15( layernorm_225_0, reshape_224_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_225" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_225_0, encoder_layers_14_mlp_fc1_weight, encoder_layers_14_mlp_fc1_bias, gemm_rcr_bias_gelu_226_0, global_workspace_, 1, &reshape_224_0_dim_0, &reshape_224_0_dim_1, &reshape_224_0_dim_2, &encoder_layers_14_mlp_fc1_weight_dim_0, &encoder_layers_14_mlp_fc1_weight_dim_1, &reshape_224_0_dim_0, &reshape_224_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_226" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_226_0, encoder_layers_14_mlp_fc2_weight, encoder_layers_14_mlp_fc2_bias, reshape_224_0, gemm_rcr_bias_add_227_0, global_workspace_, 1, &reshape_224_0_dim_0, &reshape_224_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_224_0_dim_0, &reshape_224_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_add_227" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_228" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_224_0_dim_0; M *= reshape_224_0_dim_1; int64_t N = 1; N *= encoder_layers_14_mlp_fc2_weight_dim_0; layernorm_3( reshape_229_0, gemm_rcr_bias_add_227_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_228" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_230" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_229_0, encoder_layers_15_mha_qkv_weight, encoder_layers_15_mha_qkv_bias, reshape_231_0, global_workspace_, 1, &reshape_229_0_dim_0, &reshape_229_0_dim_1, &encoder_layers_15_mha_qkv_weight_dim_0, &encoder_layers_15_mha_qkv_weight_dim_1, &reshape_229_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_230" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_232_0, split_232_1, split_232_2 }; int64_t *split_232_0_shape[] = { &split_232_0_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4 }; int64_t *split_232_1_shape[] = { &split_232_1_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4 }; int64_t *split_232_2_shape[] = { &split_232_2_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4 }; int64_t **output_shapes[] = { split_232_0_shape, split_232_1_shape, split_232_2_shape }; const int64_t reshape_231_0_shape[] = { reshape_231_0_dim_0, reshape_231_0_dim_1, reshape_231_0_dim_2, reshape_231_0_dim_3, reshape_231_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_231_0, reshape_231_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_232" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_232_0_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4, &reshape_233_0_dim_0, &reshape_233_0_dim_1, &reshape_233_0_dim_2, &reshape_233_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_233" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_232_1_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4, &reshape_234_0_dim_0, &reshape_234_0_dim_1, &reshape_234_0_dim_2, &reshape_234_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_234" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_235" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_232_2_dim_0, &reshape_231_0_dim_1, &reshape_231_0_dim_2, &reshape_231_0_dim_3, &reshape_231_0_dim_4, &reshape_235_0_dim_0, &reshape_235_0_dim_1, &reshape_235_0_dim_2, &reshape_235_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_235" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_236" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_236_0, reshape_233_0, reshape_234_0, reshape_235_0, &reshape_233_0_dim_0, &reshape_235_0_dim_2, &reshape_233_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_236" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_238" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_236_0, encoder_layers_15_mha_proj_weight, encoder_layers_15_mha_proj_bias, gemm_rcr_bias_add_227_0, reshape_239_0, global_workspace_, 1, &reshape_237_0_dim_0, &reshape_237_0_dim_1, &encoder_layers_15_mha_proj_weight_dim_0, &encoder_layers_15_mha_proj_weight_dim_1, &reshape_237_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_238" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_240" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_239_0_dim_0; M *= reshape_239_0_dim_1; int64_t N = 1; N *= reshape_239_0_dim_2; layernorm_15( layernorm_240_0, reshape_239_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_240" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_240_0, encoder_layers_15_mlp_fc1_weight, encoder_layers_15_mlp_fc1_bias, gemm_rcr_bias_gelu_241_0, global_workspace_, 1, &reshape_239_0_dim_0, &reshape_239_0_dim_1, &reshape_239_0_dim_2, &encoder_layers_15_mlp_fc1_weight_dim_0, &encoder_layers_15_mlp_fc1_weight_dim_1, &reshape_239_0_dim_0, &reshape_239_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_241" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_241_0, encoder_layers_15_mlp_fc2_weight, encoder_layers_15_mlp_fc2_bias, reshape_239_0, gemm_rcr_bias_add_242_0, global_workspace_, 1, &reshape_239_0_dim_0, &reshape_239_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_239_0_dim_0, &reshape_239_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_add_242" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_239_0_dim_0; M *= reshape_239_0_dim_1; int64_t N = 1; N *= encoder_layers_15_mlp_fc2_weight_dim_0; layernorm_3( reshape_244_0, gemm_rcr_bias_add_242_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_243" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_244_0, encoder_layers_16_mha_qkv_weight, encoder_layers_16_mha_qkv_bias, reshape_246_0, global_workspace_, 1, &reshape_244_0_dim_0, &reshape_244_0_dim_1, &encoder_layers_16_mha_qkv_weight_dim_0, &encoder_layers_16_mha_qkv_weight_dim_1, &reshape_244_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_245" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_247_1, split_247_0, split_247_2 }; int64_t *split_247_1_shape[] = { &split_247_1_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4 }; int64_t *split_247_0_shape[] = { &split_247_0_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4 }; int64_t *split_247_2_shape[] = { &split_247_2_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4 }; int64_t **output_shapes[] = { split_247_1_shape, split_247_0_shape, split_247_2_shape }; const int64_t reshape_246_0_shape[] = { reshape_246_0_dim_0, reshape_246_0_dim_1, reshape_246_0_dim_2, reshape_246_0_dim_3, reshape_246_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_246_0, reshape_246_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_247" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_248" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_247_0_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4, &reshape_248_0_dim_0, &reshape_248_0_dim_1, &reshape_248_0_dim_2, &reshape_248_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_248" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_249" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_247_1_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4, &reshape_249_0_dim_0, &reshape_249_0_dim_1, &reshape_249_0_dim_2, &reshape_249_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_249" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_247_2_dim_0, &reshape_246_0_dim_1, &reshape_246_0_dim_2, &reshape_246_0_dim_3, &reshape_246_0_dim_4, &reshape_250_0_dim_0, &reshape_250_0_dim_1, &reshape_250_0_dim_2, &reshape_250_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_250" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_251_0, reshape_249_0, reshape_248_0, reshape_250_0, &reshape_249_0_dim_0, &reshape_250_0_dim_2, &reshape_249_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_251" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_253" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_251_0, encoder_layers_16_mha_proj_weight, encoder_layers_16_mha_proj_bias, gemm_rcr_bias_add_242_0, reshape_254_0, global_workspace_, 1, &reshape_252_0_dim_0, &reshape_252_0_dim_1, &encoder_layers_16_mha_proj_weight_dim_0, &encoder_layers_16_mha_proj_weight_dim_1, &reshape_252_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_253" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; 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_254_0_dim_0; M *= reshape_254_0_dim_1; int64_t N = 1; N *= reshape_254_0_dim_2; layernorm_15( layernorm_255_0, reshape_254_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_255" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_256" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_255_0, encoder_layers_16_mlp_fc1_weight, encoder_layers_16_mlp_fc1_bias, gemm_rcr_bias_gelu_256_0, global_workspace_, 1, &reshape_254_0_dim_0, &reshape_254_0_dim_1, &reshape_254_0_dim_2, &encoder_layers_16_mlp_fc1_weight_dim_0, &encoder_layers_16_mlp_fc1_weight_dim_1, &reshape_254_0_dim_0, &reshape_254_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_256" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_256_0, encoder_layers_16_mlp_fc2_weight, encoder_layers_16_mlp_fc2_bias, reshape_254_0, gemm_rcr_bias_add_257_0, global_workspace_, 1, &reshape_254_0_dim_0, &reshape_254_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_254_0_dim_0, &reshape_254_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_add_257" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_258" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_254_0_dim_0; M *= reshape_254_0_dim_1; int64_t N = 1; N *= encoder_layers_16_mlp_fc2_weight_dim_0; layernorm_3( reshape_259_0, gemm_rcr_bias_add_257_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_258" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_259_0, encoder_layers_17_mha_qkv_weight, encoder_layers_17_mha_qkv_bias, reshape_261_0, global_workspace_, 1, &reshape_259_0_dim_0, &reshape_259_0_dim_1, &encoder_layers_17_mha_qkv_weight_dim_0, &encoder_layers_17_mha_qkv_weight_dim_1, &reshape_259_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_260" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_262_0, split_262_1, split_262_2 }; int64_t *split_262_0_shape[] = { &split_262_0_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4 }; int64_t *split_262_1_shape[] = { &split_262_1_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4 }; int64_t *split_262_2_shape[] = { &split_262_2_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4 }; int64_t **output_shapes[] = { split_262_0_shape, split_262_1_shape, split_262_2_shape }; const int64_t reshape_261_0_shape[] = { reshape_261_0_dim_0, reshape_261_0_dim_1, reshape_261_0_dim_2, reshape_261_0_dim_3, reshape_261_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_261_0, reshape_261_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_262" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_262_0_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4, &reshape_263_0_dim_0, &reshape_263_0_dim_1, &reshape_263_0_dim_2, &reshape_263_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_263" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_264" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_262_1_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4, &reshape_264_0_dim_0, &reshape_264_0_dim_1, &reshape_264_0_dim_2, &reshape_264_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_264" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_262_2_dim_0, &reshape_261_0_dim_1, &reshape_261_0_dim_2, &reshape_261_0_dim_3, &reshape_261_0_dim_4, &reshape_265_0_dim_0, &reshape_265_0_dim_1, &reshape_265_0_dim_2, &reshape_265_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_265" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_266" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_266_0, reshape_263_0, reshape_264_0, reshape_265_0, &reshape_263_0_dim_0, &reshape_265_0_dim_2, &reshape_263_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_266" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_266_0, encoder_layers_17_mha_proj_weight, encoder_layers_17_mha_proj_bias, gemm_rcr_bias_add_257_0, reshape_269_0, global_workspace_, 1, &reshape_267_0_dim_0, &reshape_267_0_dim_1, &encoder_layers_17_mha_proj_weight_dim_0, &encoder_layers_17_mha_proj_weight_dim_1, &reshape_267_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_268" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_269_0_dim_0; M *= reshape_269_0_dim_1; int64_t N = 1; N *= reshape_269_0_dim_2; layernorm_15( layernorm_270_0, reshape_269_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_270" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_271" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_270_0, encoder_layers_17_mlp_fc1_weight, encoder_layers_17_mlp_fc1_bias, gemm_rcr_bias_gelu_271_0, global_workspace_, 1, &reshape_269_0_dim_0, &reshape_269_0_dim_1, &reshape_269_0_dim_2, &encoder_layers_17_mlp_fc1_weight_dim_0, &encoder_layers_17_mlp_fc1_weight_dim_1, &reshape_269_0_dim_0, &reshape_269_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_271" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_272" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_271_0, encoder_layers_17_mlp_fc2_weight, encoder_layers_17_mlp_fc2_bias, reshape_269_0, gemm_rcr_bias_add_272_0, global_workspace_, 1, &reshape_269_0_dim_0, &reshape_269_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_269_0_dim_0, &reshape_269_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_add_272" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; 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_269_0_dim_0; M *= reshape_269_0_dim_1; int64_t N = 1; N *= encoder_layers_17_mlp_fc2_weight_dim_0; layernorm_3( reshape_274_0, gemm_rcr_bias_add_272_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_273" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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( reshape_274_0, encoder_layers_18_mha_qkv_weight, encoder_layers_18_mha_qkv_bias, reshape_276_0, global_workspace_, 1, &reshape_274_0_dim_0, &reshape_274_0_dim_1, &encoder_layers_18_mha_qkv_weight_dim_0, &encoder_layers_18_mha_qkv_weight_dim_1, &reshape_274_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_275" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"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_1, split_277_0, split_277_2 }; 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 *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 **output_shapes[] = { split_277_1_shape, split_277_0_shape, split_277_2_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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_279_0, reshape_278_0, reshape_280_0, &reshape_279_0_dim_0, &reshape_280_0_dim_2, &reshape_279_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\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_18_mha_proj_weight, encoder_layers_18_mha_proj_bias, gemm_rcr_bias_add_272_0, reshape_284_0, global_workspace_, 1, &reshape_282_0_dim_0, &reshape_282_0_dim_1, &encoder_layers_18_mha_proj_weight_dim_0, &encoder_layers_18_mha_proj_weight_dim_1, &reshape_282_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_283" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_285" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_284_0_dim_0; M *= reshape_284_0_dim_1; int64_t N = 1; N *= reshape_284_0_dim_2; layernorm_15( layernorm_285_0, reshape_284_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_285" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_285_0, encoder_layers_18_mlp_fc1_weight, encoder_layers_18_mlp_fc1_bias, gemm_rcr_bias_gelu_286_0, global_workspace_, 1, &reshape_284_0_dim_0, &reshape_284_0_dim_1, &reshape_284_0_dim_2, &encoder_layers_18_mlp_fc1_weight_dim_0, &encoder_layers_18_mlp_fc1_weight_dim_1, &reshape_284_0_dim_0, &reshape_284_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_286" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_286_0, encoder_layers_18_mlp_fc2_weight, encoder_layers_18_mlp_fc2_bias, reshape_284_0, gemm_rcr_bias_add_287_0, global_workspace_, 1, &reshape_284_0_dim_0, &reshape_284_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_284_0_dim_0, &reshape_284_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_add_287" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_284_0_dim_0; M *= reshape_284_0_dim_1; int64_t N = 1; N *= encoder_layers_18_mlp_fc2_weight_dim_0; layernorm_3( reshape_289_0, gemm_rcr_bias_add_287_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_288" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_290" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_289_0, encoder_layers_19_mha_qkv_weight, encoder_layers_19_mha_qkv_bias, reshape_291_0, global_workspace_, 1, &reshape_289_0_dim_0, &reshape_289_0_dim_1, &encoder_layers_19_mha_qkv_weight_dim_0, &encoder_layers_19_mha_qkv_weight_dim_1, &reshape_289_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_290" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_292" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_292_0, split_292_1, split_292_2 }; int64_t *split_292_0_shape[] = { &split_292_0_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4 }; int64_t *split_292_1_shape[] = { &split_292_1_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4 }; int64_t *split_292_2_shape[] = { &split_292_2_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4 }; int64_t **output_shapes[] = { split_292_0_shape, split_292_1_shape, split_292_2_shape }; const int64_t reshape_291_0_shape[] = { reshape_291_0_dim_0, reshape_291_0_dim_1, reshape_291_0_dim_2, reshape_291_0_dim_3, reshape_291_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_291_0, reshape_291_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_292" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_292_0_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4, &reshape_293_0_dim_0, &reshape_293_0_dim_1, &reshape_293_0_dim_2, &reshape_293_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_293" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_294" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_292_1_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4, &reshape_294_0_dim_0, &reshape_294_0_dim_1, &reshape_294_0_dim_2, &reshape_294_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_294" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_292_2_dim_0, &reshape_291_0_dim_1, &reshape_291_0_dim_2, &reshape_291_0_dim_3, &reshape_291_0_dim_4, &reshape_295_0_dim_0, &reshape_295_0_dim_1, &reshape_295_0_dim_2, &reshape_295_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_295" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_296_0, reshape_293_0, reshape_294_0, reshape_295_0, &reshape_293_0_dim_0, &reshape_295_0_dim_2, &reshape_293_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_296" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_296_0, encoder_layers_19_mha_proj_weight, encoder_layers_19_mha_proj_bias, gemm_rcr_bias_add_287_0, reshape_299_0, global_workspace_, 1, &reshape_297_0_dim_0, &reshape_297_0_dim_1, &encoder_layers_19_mha_proj_weight_dim_0, &encoder_layers_19_mha_proj_weight_dim_1, &reshape_297_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_298" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_300" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_299_0_dim_0; M *= reshape_299_0_dim_1; int64_t N = 1; N *= reshape_299_0_dim_2; layernorm_15( layernorm_300_0, reshape_299_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_300" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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_gelu_16( layernorm_300_0, encoder_layers_19_mlp_fc1_weight, encoder_layers_19_mlp_fc1_bias, gemm_rcr_bias_gelu_301_0, global_workspace_, 1, &reshape_299_0_dim_0, &reshape_299_0_dim_1, &reshape_299_0_dim_2, &encoder_layers_19_mlp_fc1_weight_dim_0, &encoder_layers_19_mlp_fc1_weight_dim_1, &reshape_299_0_dim_0, &reshape_299_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_301" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_302" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_301_0, encoder_layers_19_mlp_fc2_weight, encoder_layers_19_mlp_fc2_bias, reshape_299_0, gemm_rcr_bias_add_302_0, global_workspace_, 1, &reshape_299_0_dim_0, &reshape_299_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_299_0_dim_0, &reshape_299_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_add_302" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_303" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_299_0_dim_0; M *= reshape_299_0_dim_1; int64_t N = 1; N *= encoder_layers_19_mlp_fc2_weight_dim_0; layernorm_3( reshape_304_0, gemm_rcr_bias_add_302_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_303" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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_permute_5( reshape_304_0, encoder_layers_20_mha_qkv_weight, encoder_layers_20_mha_qkv_bias, reshape_306_0, global_workspace_, 1, &reshape_304_0_dim_0, &reshape_304_0_dim_1, &encoder_layers_20_mha_qkv_weight_dim_0, &encoder_layers_20_mha_qkv_weight_dim_1, &reshape_304_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_305" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_307" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_307_2, split_307_1, split_307_0 }; int64_t *split_307_2_shape[] = { &split_307_2_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4 }; int64_t *split_307_1_shape[] = { &split_307_1_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4 }; int64_t *split_307_0_shape[] = { &split_307_0_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4 }; int64_t **output_shapes[] = { split_307_2_shape, split_307_1_shape, split_307_0_shape }; const int64_t reshape_306_0_shape[] = { reshape_306_0_dim_0, reshape_306_0_dim_1, reshape_306_0_dim_2, reshape_306_0_dim_3, reshape_306_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_306_0, reshape_306_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_307" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_308" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_307_0_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4, &reshape_308_0_dim_0, &reshape_308_0_dim_1, &reshape_308_0_dim_2, &reshape_308_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_308" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_307_1_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4, &reshape_309_0_dim_0, &reshape_309_0_dim_1, &reshape_309_0_dim_2, &reshape_309_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_309" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_310" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_307_2_dim_0, &reshape_306_0_dim_1, &reshape_306_0_dim_2, &reshape_306_0_dim_3, &reshape_306_0_dim_4, &reshape_310_0_dim_0, &reshape_310_0_dim_1, &reshape_310_0_dim_2, &reshape_310_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_310" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_311_0, reshape_310_0, reshape_309_0, reshape_308_0, &reshape_310_0_dim_0, &reshape_308_0_dim_2, &reshape_310_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_311" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_311_0, encoder_layers_20_mha_proj_weight, encoder_layers_20_mha_proj_bias, gemm_rcr_bias_add_302_0, reshape_314_0, global_workspace_, 1, &reshape_312_0_dim_0, &reshape_312_0_dim_1, &encoder_layers_20_mha_proj_weight_dim_0, &encoder_layers_20_mha_proj_weight_dim_1, &reshape_312_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_313" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_314_0_dim_0; M *= reshape_314_0_dim_1; int64_t N = 1; N *= reshape_314_0_dim_2; layernorm_15( layernorm_315_0, reshape_314_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_315" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_315_0, encoder_layers_20_mlp_fc1_weight, encoder_layers_20_mlp_fc1_bias, gemm_rcr_bias_gelu_316_0, global_workspace_, 1, &reshape_314_0_dim_0, &reshape_314_0_dim_1, &reshape_314_0_dim_2, &encoder_layers_20_mlp_fc1_weight_dim_0, &encoder_layers_20_mlp_fc1_weight_dim_1, &reshape_314_0_dim_0, &reshape_314_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_316" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_316_0, encoder_layers_20_mlp_fc2_weight, encoder_layers_20_mlp_fc2_bias, reshape_314_0, gemm_rcr_bias_add_317_0, global_workspace_, 1, &reshape_314_0_dim_0, &reshape_314_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_314_0_dim_0, &reshape_314_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_add_317" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_318" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_314_0_dim_0; M *= reshape_314_0_dim_1; int64_t N = 1; N *= encoder_layers_20_mlp_fc2_weight_dim_0; layernorm_3( reshape_319_0, gemm_rcr_bias_add_317_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_318" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_320" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_319_0, encoder_layers_21_mha_qkv_weight, encoder_layers_21_mha_qkv_bias, reshape_321_0, global_workspace_, 1, &reshape_319_0_dim_0, &reshape_319_0_dim_1, &encoder_layers_21_mha_qkv_weight_dim_0, &encoder_layers_21_mha_qkv_weight_dim_1, &reshape_319_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_320" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_322_1, split_322_2, split_322_0 }; int64_t *split_322_1_shape[] = { &split_322_1_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4 }; int64_t *split_322_2_shape[] = { &split_322_2_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4 }; int64_t *split_322_0_shape[] = { &split_322_0_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4 }; int64_t **output_shapes[] = { split_322_1_shape, split_322_2_shape, split_322_0_shape }; const int64_t reshape_321_0_shape[] = { reshape_321_0_dim_0, reshape_321_0_dim_1, reshape_321_0_dim_2, reshape_321_0_dim_3, reshape_321_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_321_0, reshape_321_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_322" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_322_0_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4, &reshape_323_0_dim_0, &reshape_323_0_dim_1, &reshape_323_0_dim_2, &reshape_323_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_323" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_322_1_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4, &reshape_324_0_dim_0, &reshape_324_0_dim_1, &reshape_324_0_dim_2, &reshape_324_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_324" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_325" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_322_2_dim_0, &reshape_321_0_dim_1, &reshape_321_0_dim_2, &reshape_321_0_dim_3, &reshape_321_0_dim_4, &reshape_325_0_dim_0, &reshape_325_0_dim_1, &reshape_325_0_dim_2, &reshape_325_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_325" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_326" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_326_0, reshape_324_0, reshape_325_0, reshape_323_0, &reshape_324_0_dim_0, &reshape_323_0_dim_2, &reshape_324_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_326" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_328" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_326_0, encoder_layers_21_mha_proj_weight, encoder_layers_21_mha_proj_bias, gemm_rcr_bias_add_317_0, reshape_329_0, global_workspace_, 1, &reshape_327_0_dim_0, &reshape_327_0_dim_1, &encoder_layers_21_mha_proj_weight_dim_0, &encoder_layers_21_mha_proj_weight_dim_1, &reshape_327_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_328" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_330" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_329_0_dim_0; M *= reshape_329_0_dim_1; int64_t N = 1; N *= reshape_329_0_dim_2; layernorm_15( layernorm_330_0, reshape_329_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_330" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_330_0, encoder_layers_21_mlp_fc1_weight, encoder_layers_21_mlp_fc1_bias, gemm_rcr_bias_gelu_331_0, global_workspace_, 1, &reshape_329_0_dim_0, &reshape_329_0_dim_1, &reshape_329_0_dim_2, &encoder_layers_21_mlp_fc1_weight_dim_0, &encoder_layers_21_mlp_fc1_weight_dim_1, &reshape_329_0_dim_0, &reshape_329_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_331" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_331_0, encoder_layers_21_mlp_fc2_weight, encoder_layers_21_mlp_fc2_bias, reshape_329_0, gemm_rcr_bias_add_332_0, global_workspace_, 1, &reshape_329_0_dim_0, &reshape_329_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_329_0_dim_0, &reshape_329_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_add_332" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_329_0_dim_0; M *= reshape_329_0_dim_1; int64_t N = 1; N *= encoder_layers_21_mlp_fc2_weight_dim_0; layernorm_3( reshape_334_0, gemm_rcr_bias_add_332_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_333" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_334_0, encoder_layers_22_mha_qkv_weight, encoder_layers_22_mha_qkv_bias, reshape_336_0, global_workspace_, 1, &reshape_334_0_dim_0, &reshape_334_0_dim_1, &encoder_layers_22_mha_qkv_weight_dim_0, &encoder_layers_22_mha_qkv_weight_dim_1, &reshape_334_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_335" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_337_0, split_337_1, split_337_2 }; int64_t *split_337_0_shape[] = { &split_337_0_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4 }; int64_t *split_337_1_shape[] = { &split_337_1_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4 }; int64_t *split_337_2_shape[] = { &split_337_2_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4 }; int64_t **output_shapes[] = { split_337_0_shape, split_337_1_shape, split_337_2_shape }; const int64_t reshape_336_0_shape[] = { reshape_336_0_dim_0, reshape_336_0_dim_1, reshape_336_0_dim_2, reshape_336_0_dim_3, reshape_336_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_336_0, reshape_336_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_337" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_338" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_337_0_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4, &reshape_338_0_dim_0, &reshape_338_0_dim_1, &reshape_338_0_dim_2, &reshape_338_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_338" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_339" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_337_1_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4, &reshape_339_0_dim_0, &reshape_339_0_dim_1, &reshape_339_0_dim_2, &reshape_339_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_339" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_337_2_dim_0, &reshape_336_0_dim_1, &reshape_336_0_dim_2, &reshape_336_0_dim_3, &reshape_336_0_dim_4, &reshape_340_0_dim_0, &reshape_340_0_dim_1, &reshape_340_0_dim_2, &reshape_340_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_340" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_341_0, reshape_338_0, reshape_339_0, reshape_340_0, &reshape_338_0_dim_0, &reshape_340_0_dim_2, &reshape_338_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_341" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_343" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_341_0, encoder_layers_22_mha_proj_weight, encoder_layers_22_mha_proj_bias, gemm_rcr_bias_add_332_0, reshape_344_0, global_workspace_, 1, &reshape_342_0_dim_0, &reshape_342_0_dim_1, &encoder_layers_22_mha_proj_weight_dim_0, &encoder_layers_22_mha_proj_weight_dim_1, &reshape_342_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_343" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; 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_344_0_dim_0; M *= reshape_344_0_dim_1; int64_t N = 1; N *= reshape_344_0_dim_2; layernorm_15( layernorm_345_0, reshape_344_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_345" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_346" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_345_0, encoder_layers_22_mlp_fc1_weight, encoder_layers_22_mlp_fc1_bias, gemm_rcr_bias_gelu_346_0, global_workspace_, 1, &reshape_344_0_dim_0, &reshape_344_0_dim_1, &reshape_344_0_dim_2, &encoder_layers_22_mlp_fc1_weight_dim_0, &encoder_layers_22_mlp_fc1_weight_dim_1, &reshape_344_0_dim_0, &reshape_344_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_346" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_346_0, encoder_layers_22_mlp_fc2_weight, encoder_layers_22_mlp_fc2_bias, reshape_344_0, gemm_rcr_bias_add_347_0, global_workspace_, 1, &reshape_344_0_dim_0, &reshape_344_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_344_0_dim_0, &reshape_344_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_add_347" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_348" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_344_0_dim_0; M *= reshape_344_0_dim_1; int64_t N = 1; N *= encoder_layers_22_mlp_fc2_weight_dim_0; layernorm_3( reshape_349_0, gemm_rcr_bias_add_347_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_348" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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); { gemm_rcr_bias_permute_5( reshape_349_0, encoder_layers_23_mha_qkv_weight, encoder_layers_23_mha_qkv_bias, reshape_351_0, global_workspace_, 1, &reshape_349_0_dim_0, &reshape_349_0_dim_1, &encoder_layers_23_mha_qkv_weight_dim_0, &encoder_layers_23_mha_qkv_weight_dim_1, &reshape_349_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_350" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_352_1, split_352_2, split_352_0 }; int64_t *split_352_1_shape[] = { &split_352_1_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4 }; int64_t *split_352_2_shape[] = { &split_352_2_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4 }; int64_t *split_352_0_shape[] = { &split_352_0_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4 }; int64_t **output_shapes[] = { split_352_1_shape, split_352_2_shape, split_352_0_shape }; const int64_t reshape_351_0_shape[] = { reshape_351_0_dim_0, reshape_351_0_dim_1, reshape_351_0_dim_2, reshape_351_0_dim_3, reshape_351_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_351_0, reshape_351_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_352" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_352_0_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4, &reshape_353_0_dim_0, &reshape_353_0_dim_1, &reshape_353_0_dim_2, &reshape_353_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_353" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_354" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_352_1_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4, &reshape_354_0_dim_0, &reshape_354_0_dim_1, &reshape_354_0_dim_2, &reshape_354_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_354" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_352_2_dim_0, &reshape_351_0_dim_1, &reshape_351_0_dim_2, &reshape_351_0_dim_3, &reshape_351_0_dim_4, &reshape_355_0_dim_0, &reshape_355_0_dim_1, &reshape_355_0_dim_2, &reshape_355_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_355" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_356" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_356_0, reshape_354_0, reshape_355_0, reshape_353_0, &reshape_354_0_dim_0, &reshape_353_0_dim_2, &reshape_354_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_356" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_356_0, encoder_layers_23_mha_proj_weight, encoder_layers_23_mha_proj_bias, gemm_rcr_bias_add_347_0, reshape_359_0, global_workspace_, 1, &reshape_357_0_dim_0, &reshape_357_0_dim_1, &encoder_layers_23_mha_proj_weight_dim_0, &encoder_layers_23_mha_proj_weight_dim_1, &reshape_357_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_358" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_359_0_dim_0; M *= reshape_359_0_dim_1; int64_t N = 1; N *= reshape_359_0_dim_2; layernorm_15( layernorm_360_0, reshape_359_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_360" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_361" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_16( layernorm_360_0, encoder_layers_23_mlp_fc1_weight, encoder_layers_23_mlp_fc1_bias, gemm_rcr_bias_gelu_361_0, global_workspace_, 1, &reshape_359_0_dim_0, &reshape_359_0_dim_1, &reshape_359_0_dim_2, &encoder_layers_23_mlp_fc1_weight_dim_0, &encoder_layers_23_mlp_fc1_weight_dim_1, &reshape_359_0_dim_0, &reshape_359_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_361" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_362" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_361_0, encoder_layers_23_mlp_fc2_weight, encoder_layers_23_mlp_fc2_bias, reshape_359_0, gemm_rcr_bias_add_362_0, global_workspace_, 1, &reshape_359_0_dim_0, &reshape_359_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_359_0_dim_0, &reshape_359_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_add_362" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; 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_359_0_dim_0; M *= reshape_359_0_dim_1; int64_t N = 1; N *= encoder_layers_23_mlp_fc2_weight_dim_0; layernorm_3( reshape_364_0, gemm_rcr_bias_add_362_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_363" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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( reshape_364_0, encoder_layers_24_mha_qkv_weight, encoder_layers_24_mha_qkv_bias, reshape_366_0, global_workspace_, 1, &reshape_364_0_dim_0, &reshape_364_0_dim_1, &encoder_layers_24_mha_qkv_weight_dim_0, &encoder_layers_24_mha_qkv_weight_dim_1, &reshape_364_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_365" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"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_24_mha_proj_weight, encoder_layers_24_mha_proj_bias, gemm_rcr_bias_add_362_0, reshape_374_0, global_workspace_, 1, &reshape_372_0_dim_0, &reshape_372_0_dim_1, &encoder_layers_24_mha_proj_weight_dim_0, &encoder_layers_24_mha_proj_weight_dim_1, &reshape_372_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_373" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_375" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_374_0_dim_0; M *= reshape_374_0_dim_1; int64_t N = 1; N *= reshape_374_0_dim_2; layernorm_15( layernorm_375_0, reshape_374_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_375" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_375_0, encoder_layers_24_mlp_fc1_weight, encoder_layers_24_mlp_fc1_bias, gemm_rcr_bias_gelu_376_0, global_workspace_, 1, &reshape_374_0_dim_0, &reshape_374_0_dim_1, &reshape_374_0_dim_2, &encoder_layers_24_mlp_fc1_weight_dim_0, &encoder_layers_24_mlp_fc1_weight_dim_1, &reshape_374_0_dim_0, &reshape_374_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_376" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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_add_17( gemm_rcr_bias_gelu_376_0, encoder_layers_24_mlp_fc2_weight, encoder_layers_24_mlp_fc2_bias, reshape_374_0, gemm_rcr_bias_add_377_0, global_workspace_, 1, &reshape_374_0_dim_0, &reshape_374_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_374_0_dim_0, &reshape_374_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_add_377" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_374_0_dim_0; M *= reshape_374_0_dim_1; int64_t N = 1; N *= encoder_layers_24_mlp_fc2_weight_dim_0; layernorm_3( reshape_379_0, gemm_rcr_bias_add_377_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_378" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_380" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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( reshape_379_0, encoder_layers_25_mha_qkv_weight, encoder_layers_25_mha_qkv_bias, reshape_381_0, global_workspace_, 1, &reshape_379_0_dim_0, &reshape_379_0_dim_1, &encoder_layers_25_mha_qkv_weight_dim_0, &encoder_layers_25_mha_qkv_weight_dim_1, &reshape_379_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_380" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_382" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_382_1, split_382_0, split_382_2 }; int64_t *split_382_1_shape[] = { &split_382_1_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4 }; int64_t *split_382_0_shape[] = { &split_382_0_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4 }; int64_t *split_382_2_shape[] = { &split_382_2_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4 }; int64_t **output_shapes[] = { split_382_1_shape, split_382_0_shape, split_382_2_shape }; const int64_t reshape_381_0_shape[] = { reshape_381_0_dim_0, reshape_381_0_dim_1, reshape_381_0_dim_2, reshape_381_0_dim_3, reshape_381_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_381_0, reshape_381_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_382" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_382_0_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4, &reshape_383_0_dim_0, &reshape_383_0_dim_1, &reshape_383_0_dim_2, &reshape_383_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_383" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_384" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_382_1_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4, &reshape_384_0_dim_0, &reshape_384_0_dim_1, &reshape_384_0_dim_2, &reshape_384_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_384" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_382_2_dim_0, &reshape_381_0_dim_1, &reshape_381_0_dim_2, &reshape_381_0_dim_3, &reshape_381_0_dim_4, &reshape_385_0_dim_0, &reshape_385_0_dim_1, &reshape_385_0_dim_2, &reshape_385_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_385" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_386_0, reshape_384_0, reshape_383_0, reshape_385_0, &reshape_384_0_dim_0, &reshape_385_0_dim_2, &reshape_384_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_386" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_386_0, encoder_layers_25_mha_proj_weight, encoder_layers_25_mha_proj_bias, gemm_rcr_bias_add_377_0, reshape_389_0, global_workspace_, 1, &reshape_387_0_dim_0, &reshape_387_0_dim_1, &encoder_layers_25_mha_proj_weight_dim_0, &encoder_layers_25_mha_proj_weight_dim_1, &reshape_387_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_388" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_390" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_389_0_dim_0; M *= reshape_389_0_dim_1; int64_t N = 1; N *= reshape_389_0_dim_2; layernorm_15( layernorm_390_0, reshape_389_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_390" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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_gelu_16( layernorm_390_0, encoder_layers_25_mlp_fc1_weight, encoder_layers_25_mlp_fc1_bias, gemm_rcr_bias_gelu_391_0, global_workspace_, 1, &reshape_389_0_dim_0, &reshape_389_0_dim_1, &reshape_389_0_dim_2, &encoder_layers_25_mlp_fc1_weight_dim_0, &encoder_layers_25_mlp_fc1_weight_dim_1, &reshape_389_0_dim_0, &reshape_389_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_391" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_392" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_17( gemm_rcr_bias_gelu_391_0, encoder_layers_25_mlp_fc2_weight, encoder_layers_25_mlp_fc2_bias, reshape_389_0, gemm_rcr_bias_add_392_0, global_workspace_, 1, &reshape_389_0_dim_0, &reshape_389_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_389_0_dim_0, &reshape_389_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_add_392" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_393" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_389_0_dim_0; M *= reshape_389_0_dim_1; int64_t N = 1; N *= encoder_layers_25_mlp_fc2_weight_dim_0; layernorm_3( reshape_394_0, gemm_rcr_bias_add_392_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_393" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_permute_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_permute_5( reshape_394_0, encoder_layers_26_mha_qkv_weight, encoder_layers_26_mha_qkv_bias, reshape_396_0, global_workspace_, 1, &reshape_394_0_dim_0, &reshape_394_0_dim_1, &encoder_layers_26_mha_qkv_weight_dim_0, &encoder_layers_26_mha_qkv_weight_dim_1, &reshape_394_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_395" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"3456\", \"1152\"], [\"3456\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"3456\"]]" << ", \"layout\": " << "\"20314\"" << ", \"shape\": " << "\"(729, 3, 16)\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_397" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_397_1, split_397_2, split_397_0 }; int64_t *split_397_1_shape[] = { &split_397_1_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4 }; int64_t *split_397_2_shape[] = { &split_397_2_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4 }; int64_t *split_397_0_shape[] = { &split_397_0_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4 }; int64_t **output_shapes[] = { split_397_1_shape, split_397_2_shape, split_397_0_shape }; const int64_t reshape_396_0_shape[] = { reshape_396_0_dim_0, reshape_396_0_dim_1, reshape_396_0_dim_2, reshape_396_0_dim_3, reshape_396_0_dim_4 }; int64_t split_sizes[] = { 1, 1, 1 }; bool output_masks[] = { true, true, true }; split_7( outputs, output_shapes, output_masks, reshape_396_0, reshape_396_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_397" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"3\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_398" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_397_0_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4, &reshape_398_0_dim_0, &reshape_398_0_dim_1, &reshape_398_0_dim_2, &reshape_398_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_398" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_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); ait_reshape_8( &split_397_1_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4, &reshape_399_0_dim_0, &reshape_399_0_dim_1, &reshape_399_0_dim_2, &reshape_399_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_399" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_400" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_397_2_dim_0, &reshape_396_0_dim_1, &reshape_396_0_dim_2, &reshape_396_0_dim_3, &reshape_396_0_dim_4, &reshape_400_0_dim_0, &reshape_400_0_dim_1, &reshape_400_0_dim_2, &reshape_400_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_400" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_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); mem_eff_attention_11( mem_eff_attention_401_0, reshape_399_0, reshape_400_0, reshape_398_0, &reshape_399_0_dim_0, &reshape_398_0_dim_2, &reshape_399_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_401" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_13( mem_eff_attention_401_0, encoder_layers_26_mha_proj_weight, encoder_layers_26_mha_proj_bias, gemm_rcr_bias_add_392_0, reshape_404_0, global_workspace_, 1, &reshape_402_0_dim_0, &reshape_402_0_dim_1, &encoder_layers_26_mha_proj_weight_dim_0, &encoder_layers_26_mha_proj_weight_dim_1, &reshape_402_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_403" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"5832\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"5832\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_404_0_dim_0; M *= reshape_404_0_dim_1; int64_t N = 1; N *= reshape_404_0_dim_2; layernorm_15( layernorm_405_0, reshape_404_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_405" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_16( layernorm_405_0, encoder_layers_26_mlp_fc1_weight, encoder_layers_26_mlp_fc1_bias, gemm_rcr_bias_gelu_406_0, global_workspace_, 1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &reshape_404_0_dim_2, &encoder_layers_26_mlp_fc1_weight_dim_0, &encoder_layers_26_mlp_fc1_weight_dim_1, &reshape_404_0_dim_0, &reshape_404_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_406" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_17( gemm_rcr_bias_gelu_406_0, encoder_layers_26_mlp_fc2_weight, encoder_layers_26_mlp_fc2_bias, reshape_404_0, gemm_rcr_bias_add_407_0, global_workspace_, 1, &reshape_404_0_dim_0, &reshape_404_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_404_0_dim_0, &reshape_404_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_add_407" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_408" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_404_0_dim_0; M *= reshape_404_0_dim_1; int64_t N = 1; N *= encoder_layers_26_mlp_fc2_weight_dim_0; layernorm_15( layernorm_408_0, gemm_rcr_bias_add_407_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_408" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_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_409( layernorm_408_0, pool_kv_weight, pool_kv_bias, reshape_410_0, global_workspace_, 1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &encoder_layers_26_mlp_fc2_weight_dim_0, &pool_kv_weight_dim_0, &pool_kv_weight_dim_1, &reshape_404_0_dim_0, &reshape_404_0_dim_1, &pool_kv_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_409" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"1152\"], [\"2304\", \"1152\"], [\"2304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"729\", \"2304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "permute_411" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : call_events) { CreateEvent(&call_start); CreateEvent(&call_end); } for (auto& [call_start, call_end]: call_events) { DeviceMemset(L2CacheSlab, 0x73, L2SizeInBytes); EventRecord(call_start, stream); { int dims[] = {2,0,3,1,4}; permute_411( permute_411_0, reshape_410_0, &reshape_410_0_dim_0, &reshape_410_0_dim_1, &reshape_410_0_dim_2, &reshape_410_0_dim_3, &reshape_410_0_dim_4, dims, stream ); } EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "permute_411" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"729\", \"2\", \"16\", \"72\"]]" << ", \"output_sizes\": " << "[[\"2\", \"8\", \"16\", \"729\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "split_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); { void *outputs[] = { split_412_1, split_412_0 }; int64_t *split_412_1_shape[] = { &split_412_1_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 }; int64_t *split_412_0_shape[] = { &split_412_0_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 }; int64_t **output_shapes[] = { split_412_1_shape, split_412_0_shape }; const int64_t permute_411_0_shape[] = { reshape_410_0_dim_2, reshape_410_0_dim_0, reshape_410_0_dim_3, reshape_410_0_dim_1, reshape_410_0_dim_4 }; int64_t split_sizes[] = { 1, 1 }; bool output_masks[] = { true, true }; split_412( outputs, output_shapes, output_masks, permute_411_0, permute_411_0_shape, 2/*real_num_splits*/, 2/*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_412" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"2\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"], [\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"split_sizes\": " << "\"[1, 1]]\"" << ", \"dim\": " << "\"0]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "squeeze_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); ait_squeeze_413( &split_412_0_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "squeeze_413" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << ", \"dim\": " << "\"0\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "squeeze_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); ait_squeeze_413( &split_412_1_dim_0, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4, &reshape_410_0_dim_0, &reshape_410_0_dim_3, &reshape_410_0_dim_1, &reshape_410_0_dim_4 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : call_events) { float call_milliseconds = 0.0; EventElapsedTime(&call_milliseconds, call_start, call_end); DestroyEvent(call_start); DestroyEvent(call_end); milliseconds += call_milliseconds; } ss << "\"" << "squeeze_414" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"1\", \"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"729\", \"72\"]]" << ", \"dim\": " << "\"0\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "mem_eff_attention_418" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_418( mem_eff_attention_418_0, reshape_417_0, squeeze_414_0, squeeze_413_0, &reshape_417_0_dim_0, &reshape_410_0_dim_1, &reshape_417_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_418" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"16\", \"1\", \"72\"], [\"8\", \"16\", \"729\", \"72\"], [\"8\", \"16\", \"729\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"1\", \"16\", \"72\"]]" << ", \"causal\": " << "\"False\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "reshape_426" << " (" << iters << " iterations)" << std::endl; std::vector> call_events(iters); for (auto& [call_start, call_end] : 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_426( &reshape_417_0_dim_0, &reshape_417_0_dim_2, &reshape_417_0_dim_1, &reshape_410_0_dim_4, &reshape_417_0_dim_0, &reshape_417_0_dim_1, &reshape_417_0_dim_2, &reshape_410_0_dim_4 ); EventRecord(call_end, stream); DeviceCheckLastError(__FILE__, __LINE__); } EventSynchronize(std::get<1>(call_events.back())); float milliseconds = 0.0; for (auto& [call_start, call_end] : 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_426" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"1\", \"16\", \"72\"]]" << ", \"output_sizes\": " << "[[\"8\", \"16\", \"1\", \"72\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_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); { gemm_rcr_bias_421( reshape_426_0, pool_proj_weight, pool_proj_bias, gemm_rcr_bias_421_0, global_workspace_, 1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &reshape_420_0_dim_2, &pool_proj_weight_dim_0, &pool_proj_weight_dim_1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_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_421" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"1\", \"1152\"], [\"1152\", \"1152\"], [\"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"1\", \"1152\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "layernorm_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); { int64_t M = 1; M *= reshape_420_0_dim_0; M *= reshape_420_0_dim_1; int64_t N = 1; N *= pool_proj_weight_dim_0; layernorm_422( layernorm_422_0, gemm_rcr_bias_421_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_422" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"1\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"1\", \"1152\"]]" << ", \"normalized_shape\": " << "\"[1152]\"" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_gelu_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); { gemm_rcr_bias_gelu_423( layernorm_422_0, pool_mlp_fc1_weight, pool_mlp_fc1_bias, gemm_rcr_bias_gelu_423_0, global_workspace_, 1, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_proj_weight_dim_0, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc1_weight_dim_1, &reshape_420_0_dim_0, &reshape_420_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_423" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"1\", \"1152\"], [\"4304\", \"1152\"], [\"4304\"]]" << ", \"output_sizes\": " << "[[\"8\", \"1\", \"4304\"]]" << " } "; ss << ",\n"; } { std::cout << "Profiling: " << "gemm_rcr_bias_add_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); { gemm_rcr_bias_add_424( gemm_rcr_bias_gelu_423_0, pool_mlp_fc2_weight, pool_mlp_fc2_bias, gemm_rcr_bias_421_0, output_0, global_workspace_, 2, &reshape_420_0_dim_0, &reshape_420_0_dim_1, &pool_mlp_fc1_weight_dim_0, &pool_mlp_fc2_weight_dim_0, &pool_mlp_fc2_weight_dim_1, &reshape_420_0_dim_0, &reshape_420_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_add_424" << "\": { \"ms_per_iter\": " << std::setprecision(4) << (milliseconds/iters) << ", \"qps\": " << 1000 * iters / milliseconds << ", \"input_sizes\": " << "[[\"8\", \"1\", \"4304\"], [\"1152\", \"4304\"], [\"1152\"], [\"8\", \"1\", \"1152\"]]" << ", \"output_sizes\": " << "[[\"8\", \"1\", \"1152\"]]" << " } "; 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( 103949568, 26873856 * (1 + 0), 0 * (1 + 0), 1, 1, 342, 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_kv_weight {nullptr}; void* pool_kv_bias {nullptr}; void* pool_proj_weight {nullptr}; void* pool_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* reshape_4_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* layernorm_15_0 {nullptr}; void* gemm_rcr_bias_gelu_16_0 {nullptr}; void* gemm_rcr_bias_add_17_0 {nullptr}; void* reshape_19_0 {nullptr}; void* reshape_21_0 {nullptr}; void* split_22_0 {nullptr}; void* split_22_1 {nullptr}; void* split_22_2 {nullptr}; void* reshape_23_0 {nullptr}; void* reshape_24_0 {nullptr}; void* reshape_25_0 {nullptr}; void* mem_eff_attention_26_0 {nullptr}; void* reshape_29_0 {nullptr}; void* layernorm_30_0 {nullptr}; void* gemm_rcr_bias_gelu_31_0 {nullptr}; void* gemm_rcr_bias_add_32_0 {nullptr}; void* reshape_34_0 {nullptr}; void* reshape_36_0 {nullptr}; void* split_37_0 {nullptr}; void* split_37_1 {nullptr}; void* split_37_2 {nullptr}; void* reshape_38_0 {nullptr}; void* reshape_39_0 {nullptr}; void* reshape_40_0 {nullptr}; void* mem_eff_attention_41_0 {nullptr}; void* reshape_44_0 {nullptr}; void* layernorm_45_0 {nullptr}; void* gemm_rcr_bias_gelu_46_0 {nullptr}; void* gemm_rcr_bias_add_47_0 {nullptr}; void* reshape_49_0 {nullptr}; void* reshape_51_0 {nullptr}; void* split_52_0 {nullptr}; void* split_52_1 {nullptr}; void* split_52_2 {nullptr}; void* reshape_53_0 {nullptr}; void* reshape_54_0 {nullptr}; void* reshape_55_0 {nullptr}; void* mem_eff_attention_56_0 {nullptr}; void* reshape_59_0 {nullptr}; void* layernorm_60_0 {nullptr}; void* gemm_rcr_bias_gelu_61_0 {nullptr}; void* gemm_rcr_bias_add_62_0 {nullptr}; void* reshape_64_0 {nullptr}; void* reshape_66_0 {nullptr}; void* split_67_0 {nullptr}; void* split_67_1 {nullptr}; void* split_67_2 {nullptr}; void* reshape_68_0 {nullptr}; void* reshape_69_0 {nullptr}; void* reshape_70_0 {nullptr}; void* mem_eff_attention_71_0 {nullptr}; void* reshape_74_0 {nullptr}; void* layernorm_75_0 {nullptr}; void* gemm_rcr_bias_gelu_76_0 {nullptr}; void* gemm_rcr_bias_add_77_0 {nullptr}; void* reshape_79_0 {nullptr}; void* reshape_81_0 {nullptr}; void* split_82_0 {nullptr}; void* split_82_1 {nullptr}; void* split_82_2 {nullptr}; void* reshape_83_0 {nullptr}; void* reshape_84_0 {nullptr}; void* reshape_85_0 {nullptr}; void* mem_eff_attention_86_0 {nullptr}; void* reshape_89_0 {nullptr}; void* layernorm_90_0 {nullptr}; void* gemm_rcr_bias_gelu_91_0 {nullptr}; void* gemm_rcr_bias_add_92_0 {nullptr}; void* reshape_94_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* layernorm_105_0 {nullptr}; void* gemm_rcr_bias_gelu_106_0 {nullptr}; void* gemm_rcr_bias_add_107_0 {nullptr}; void* reshape_109_0 {nullptr}; void* reshape_111_0 {nullptr}; void* split_112_0 {nullptr}; void* split_112_1 {nullptr}; void* split_112_2 {nullptr}; void* reshape_113_0 {nullptr}; void* reshape_114_0 {nullptr}; void* reshape_115_0 {nullptr}; void* mem_eff_attention_116_0 {nullptr}; void* reshape_119_0 {nullptr}; void* layernorm_120_0 {nullptr}; void* gemm_rcr_bias_gelu_121_0 {nullptr}; void* gemm_rcr_bias_add_122_0 {nullptr}; void* reshape_124_0 {nullptr}; void* reshape_126_0 {nullptr}; void* split_127_0 {nullptr}; void* split_127_1 {nullptr}; void* split_127_2 {nullptr}; void* reshape_128_0 {nullptr}; void* reshape_129_0 {nullptr}; void* reshape_130_0 {nullptr}; void* mem_eff_attention_131_0 {nullptr}; void* reshape_134_0 {nullptr}; void* layernorm_135_0 {nullptr}; void* gemm_rcr_bias_gelu_136_0 {nullptr}; void* gemm_rcr_bias_add_137_0 {nullptr}; void* reshape_139_0 {nullptr}; void* reshape_141_0 {nullptr}; void* split_142_0 {nullptr}; void* split_142_1 {nullptr}; void* split_142_2 {nullptr}; void* reshape_143_0 {nullptr}; void* reshape_144_0 {nullptr}; void* reshape_145_0 {nullptr}; void* mem_eff_attention_146_0 {nullptr}; void* reshape_149_0 {nullptr}; void* layernorm_150_0 {nullptr}; void* gemm_rcr_bias_gelu_151_0 {nullptr}; void* gemm_rcr_bias_add_152_0 {nullptr}; void* reshape_154_0 {nullptr}; void* reshape_156_0 {nullptr}; void* split_157_0 {nullptr}; void* split_157_1 {nullptr}; void* split_157_2 {nullptr}; void* reshape_158_0 {nullptr}; void* reshape_159_0 {nullptr}; void* reshape_160_0 {nullptr}; void* mem_eff_attention_161_0 {nullptr}; void* reshape_164_0 {nullptr}; void* layernorm_165_0 {nullptr}; void* gemm_rcr_bias_gelu_166_0 {nullptr}; void* gemm_rcr_bias_add_167_0 {nullptr}; void* reshape_169_0 {nullptr}; void* reshape_171_0 {nullptr}; void* split_172_0 {nullptr}; void* split_172_1 {nullptr}; void* split_172_2 {nullptr}; void* reshape_173_0 {nullptr}; void* reshape_174_0 {nullptr}; void* reshape_175_0 {nullptr}; void* mem_eff_attention_176_0 {nullptr}; void* reshape_179_0 {nullptr}; void* layernorm_180_0 {nullptr}; void* gemm_rcr_bias_gelu_181_0 {nullptr}; void* gemm_rcr_bias_add_182_0 {nullptr}; void* reshape_184_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* layernorm_195_0 {nullptr}; void* gemm_rcr_bias_gelu_196_0 {nullptr}; void* gemm_rcr_bias_add_197_0 {nullptr}; void* reshape_199_0 {nullptr}; void* reshape_201_0 {nullptr}; void* split_202_0 {nullptr}; void* split_202_1 {nullptr}; void* split_202_2 {nullptr}; void* reshape_203_0 {nullptr}; void* reshape_204_0 {nullptr}; void* reshape_205_0 {nullptr}; void* mem_eff_attention_206_0 {nullptr}; void* reshape_209_0 {nullptr}; void* layernorm_210_0 {nullptr}; void* gemm_rcr_bias_gelu_211_0 {nullptr}; void* gemm_rcr_bias_add_212_0 {nullptr}; void* reshape_214_0 {nullptr}; void* reshape_216_0 {nullptr}; void* split_217_0 {nullptr}; void* split_217_1 {nullptr}; void* split_217_2 {nullptr}; void* reshape_218_0 {nullptr}; void* reshape_219_0 {nullptr}; void* reshape_220_0 {nullptr}; void* mem_eff_attention_221_0 {nullptr}; void* reshape_224_0 {nullptr}; void* layernorm_225_0 {nullptr}; void* gemm_rcr_bias_gelu_226_0 {nullptr}; void* gemm_rcr_bias_add_227_0 {nullptr}; void* reshape_229_0 {nullptr}; void* reshape_231_0 {nullptr}; void* split_232_0 {nullptr}; void* split_232_1 {nullptr}; void* split_232_2 {nullptr}; void* reshape_233_0 {nullptr}; void* reshape_234_0 {nullptr}; void* reshape_235_0 {nullptr}; void* mem_eff_attention_236_0 {nullptr}; void* reshape_239_0 {nullptr}; void* layernorm_240_0 {nullptr}; void* gemm_rcr_bias_gelu_241_0 {nullptr}; void* gemm_rcr_bias_add_242_0 {nullptr}; void* reshape_244_0 {nullptr}; void* reshape_246_0 {nullptr}; void* split_247_0 {nullptr}; void* split_247_1 {nullptr}; void* split_247_2 {nullptr}; void* reshape_248_0 {nullptr}; void* reshape_249_0 {nullptr}; void* reshape_250_0 {nullptr}; void* mem_eff_attention_251_0 {nullptr}; void* reshape_254_0 {nullptr}; void* layernorm_255_0 {nullptr}; void* gemm_rcr_bias_gelu_256_0 {nullptr}; void* gemm_rcr_bias_add_257_0 {nullptr}; void* reshape_259_0 {nullptr}; void* reshape_261_0 {nullptr}; void* split_262_0 {nullptr}; void* split_262_1 {nullptr}; void* split_262_2 {nullptr}; void* reshape_263_0 {nullptr}; void* reshape_264_0 {nullptr}; void* reshape_265_0 {nullptr}; void* mem_eff_attention_266_0 {nullptr}; void* reshape_269_0 {nullptr}; void* layernorm_270_0 {nullptr}; void* gemm_rcr_bias_gelu_271_0 {nullptr}; void* gemm_rcr_bias_add_272_0 {nullptr}; void* reshape_274_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* layernorm_285_0 {nullptr}; void* gemm_rcr_bias_gelu_286_0 {nullptr}; void* gemm_rcr_bias_add_287_0 {nullptr}; void* reshape_289_0 {nullptr}; void* reshape_291_0 {nullptr}; void* split_292_0 {nullptr}; void* split_292_1 {nullptr}; void* split_292_2 {nullptr}; void* reshape_293_0 {nullptr}; void* reshape_294_0 {nullptr}; void* reshape_295_0 {nullptr}; void* mem_eff_attention_296_0 {nullptr}; void* reshape_299_0 {nullptr}; void* layernorm_300_0 {nullptr}; void* gemm_rcr_bias_gelu_301_0 {nullptr}; void* gemm_rcr_bias_add_302_0 {nullptr}; void* reshape_304_0 {nullptr}; void* reshape_306_0 {nullptr}; void* split_307_0 {nullptr}; void* split_307_1 {nullptr}; void* split_307_2 {nullptr}; void* reshape_308_0 {nullptr}; void* reshape_309_0 {nullptr}; void* reshape_310_0 {nullptr}; void* mem_eff_attention_311_0 {nullptr}; void* reshape_314_0 {nullptr}; void* layernorm_315_0 {nullptr}; void* gemm_rcr_bias_gelu_316_0 {nullptr}; void* gemm_rcr_bias_add_317_0 {nullptr}; void* reshape_319_0 {nullptr}; void* reshape_321_0 {nullptr}; void* split_322_0 {nullptr}; void* split_322_1 {nullptr}; void* split_322_2 {nullptr}; void* reshape_323_0 {nullptr}; void* reshape_324_0 {nullptr}; void* reshape_325_0 {nullptr}; void* mem_eff_attention_326_0 {nullptr}; void* reshape_329_0 {nullptr}; void* layernorm_330_0 {nullptr}; void* gemm_rcr_bias_gelu_331_0 {nullptr}; void* gemm_rcr_bias_add_332_0 {nullptr}; void* reshape_334_0 {nullptr}; void* reshape_336_0 {nullptr}; void* split_337_0 {nullptr}; void* split_337_1 {nullptr}; void* split_337_2 {nullptr}; void* reshape_338_0 {nullptr}; void* reshape_339_0 {nullptr}; void* reshape_340_0 {nullptr}; void* mem_eff_attention_341_0 {nullptr}; void* reshape_344_0 {nullptr}; void* layernorm_345_0 {nullptr}; void* gemm_rcr_bias_gelu_346_0 {nullptr}; void* gemm_rcr_bias_add_347_0 {nullptr}; void* reshape_349_0 {nullptr}; void* reshape_351_0 {nullptr}; void* split_352_0 {nullptr}; void* split_352_1 {nullptr}; void* split_352_2 {nullptr}; void* reshape_353_0 {nullptr}; void* reshape_354_0 {nullptr}; void* reshape_355_0 {nullptr}; void* mem_eff_attention_356_0 {nullptr}; void* reshape_359_0 {nullptr}; void* layernorm_360_0 {nullptr}; void* gemm_rcr_bias_gelu_361_0 {nullptr}; void* gemm_rcr_bias_add_362_0 {nullptr}; void* reshape_364_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* layernorm_375_0 {nullptr}; void* gemm_rcr_bias_gelu_376_0 {nullptr}; void* gemm_rcr_bias_add_377_0 {nullptr}; void* reshape_379_0 {nullptr}; void* reshape_381_0 {nullptr}; void* split_382_0 {nullptr}; void* split_382_1 {nullptr}; void* split_382_2 {nullptr}; void* reshape_383_0 {nullptr}; void* reshape_384_0 {nullptr}; void* reshape_385_0 {nullptr}; void* mem_eff_attention_386_0 {nullptr}; void* reshape_389_0 {nullptr}; void* layernorm_390_0 {nullptr}; void* gemm_rcr_bias_gelu_391_0 {nullptr}; void* gemm_rcr_bias_add_392_0 {nullptr}; void* reshape_394_0 {nullptr}; void* reshape_396_0 {nullptr}; void* split_397_0 {nullptr}; void* split_397_1 {nullptr}; void* split_397_2 {nullptr}; void* reshape_398_0 {nullptr}; void* reshape_399_0 {nullptr}; void* reshape_400_0 {nullptr}; void* mem_eff_attention_401_0 {nullptr}; void* reshape_404_0 {nullptr}; void* layernorm_405_0 {nullptr}; void* gemm_rcr_bias_gelu_406_0 {nullptr}; void* gemm_rcr_bias_add_407_0 {nullptr}; void* layernorm_408_0 {nullptr}; void* reshape_410_0 {nullptr}; void* permute_411_0 {nullptr}; void* split_412_0 {nullptr}; void* split_412_1 {nullptr}; void* squeeze_413_0 {nullptr}; void* squeeze_414_0 {nullptr}; void* reshape_417_0 {nullptr}; void* mem_eff_attention_418_0 {nullptr}; void* reshape_426_0 {nullptr}; void* gemm_rcr_bias_421_0 {nullptr}; void* layernorm_422_0 {nullptr}; void* gemm_rcr_bias_gelu_423_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_q_weight_dim_0 { 1152 }; int64_t pool_q_weight_dim_1 { 1152 }; int64_t pool_q_bias_dim_0 { 1152 }; int64_t input0_dim_0 { 8 }; 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_kv_weight_dim_0 { 2304 }; int64_t pool_kv_weight_dim_1 { 1152 }; int64_t pool_kv_bias_dim_0 { 2304 }; int64_t pool_proj_weight_dim_0 { 1152 }; int64_t pool_proj_weight_dim_1 { 1152 }; int64_t pool_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 { 8 }; int64_t reshape_1_0_dim_1 { 729 }; int64_t reshape_1_0_dim_2 { 1152 }; int64_t reshape_4_0_dim_0 { 5832 }; int64_t reshape_4_0_dim_1 { 1152 }; int64_t reshape_6_0_dim_0 { 3 }; int64_t reshape_6_0_dim_1 { 8 }; 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 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 { 8 }; 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 { 8 }; 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 { 8 }; 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 { 8 }; int64_t reshape_14_0_dim_1 { 729 }; int64_t reshape_14_0_dim_2 { 1152 }; int64_t reshape_12_0_dim_0 { 5832 }; int64_t reshape_12_0_dim_1 { 1152 }; int64_t reshape_19_0_dim_0 { 5832 }; int64_t reshape_19_0_dim_1 { 1152 }; int64_t reshape_21_0_dim_0 { 3 }; int64_t reshape_21_0_dim_1 { 8 }; int64_t reshape_21_0_dim_2 { 16 }; int64_t reshape_21_0_dim_3 { 729 }; int64_t reshape_21_0_dim_4 { 72 }; int64_t split_22_0_dim_0 { 1 }; int64_t split_22_1_dim_0 { 1 }; int64_t split_22_2_dim_0 { 1 }; int64_t reshape_23_0_dim_0 { 8 }; int64_t reshape_23_0_dim_1 { 16 }; int64_t reshape_23_0_dim_2 { 729 }; int64_t reshape_23_0_dim_3 { 72 }; int64_t reshape_24_0_dim_0 { 8 }; int64_t reshape_24_0_dim_1 { 16 }; int64_t reshape_24_0_dim_2 { 729 }; int64_t reshape_24_0_dim_3 { 72 }; int64_t reshape_25_0_dim_0 { 8 }; int64_t reshape_25_0_dim_1 { 16 }; int64_t reshape_25_0_dim_2 { 729 }; int64_t reshape_25_0_dim_3 { 72 }; int64_t reshape_29_0_dim_0 { 8 }; int64_t reshape_29_0_dim_1 { 729 }; int64_t reshape_29_0_dim_2 { 1152 }; int64_t reshape_27_0_dim_0 { 5832 }; int64_t reshape_27_0_dim_1 { 1152 }; int64_t reshape_34_0_dim_0 { 5832 }; int64_t reshape_34_0_dim_1 { 1152 }; int64_t reshape_36_0_dim_0 { 3 }; int64_t reshape_36_0_dim_1 { 8 }; int64_t reshape_36_0_dim_2 { 16 }; int64_t reshape_36_0_dim_3 { 729 }; int64_t reshape_36_0_dim_4 { 72 }; int64_t split_37_0_dim_0 { 1 }; int64_t split_37_1_dim_0 { 1 }; int64_t split_37_2_dim_0 { 1 }; int64_t reshape_38_0_dim_0 { 8 }; int64_t reshape_38_0_dim_1 { 16 }; int64_t reshape_38_0_dim_2 { 729 }; int64_t reshape_38_0_dim_3 { 72 }; int64_t reshape_39_0_dim_0 { 8 }; int64_t reshape_39_0_dim_1 { 16 }; int64_t reshape_39_0_dim_2 { 729 }; int64_t reshape_39_0_dim_3 { 72 }; int64_t reshape_40_0_dim_0 { 8 }; int64_t reshape_40_0_dim_1 { 16 }; int64_t reshape_40_0_dim_2 { 729 }; int64_t reshape_40_0_dim_3 { 72 }; int64_t reshape_44_0_dim_0 { 8 }; int64_t reshape_44_0_dim_1 { 729 }; int64_t reshape_44_0_dim_2 { 1152 }; int64_t reshape_42_0_dim_0 { 5832 }; int64_t reshape_42_0_dim_1 { 1152 }; int64_t reshape_49_0_dim_0 { 5832 }; int64_t reshape_49_0_dim_1 { 1152 }; int64_t reshape_51_0_dim_0 { 3 }; int64_t reshape_51_0_dim_1 { 8 }; int64_t reshape_51_0_dim_2 { 16 }; int64_t reshape_51_0_dim_3 { 729 }; int64_t reshape_51_0_dim_4 { 72 }; int64_t split_52_0_dim_0 { 1 }; int64_t split_52_1_dim_0 { 1 }; int64_t split_52_2_dim_0 { 1 }; int64_t reshape_53_0_dim_0 { 8 }; int64_t reshape_53_0_dim_1 { 16 }; int64_t reshape_53_0_dim_2 { 729 }; int64_t reshape_53_0_dim_3 { 72 }; int64_t reshape_54_0_dim_0 { 8 }; int64_t reshape_54_0_dim_1 { 16 }; int64_t reshape_54_0_dim_2 { 729 }; int64_t reshape_54_0_dim_3 { 72 }; int64_t reshape_55_0_dim_0 { 8 }; int64_t reshape_55_0_dim_1 { 16 }; int64_t reshape_55_0_dim_2 { 729 }; int64_t reshape_55_0_dim_3 { 72 }; int64_t reshape_59_0_dim_0 { 8 }; int64_t reshape_59_0_dim_1 { 729 }; int64_t reshape_59_0_dim_2 { 1152 }; int64_t reshape_57_0_dim_0 { 5832 }; int64_t reshape_57_0_dim_1 { 1152 }; int64_t reshape_64_0_dim_0 { 5832 }; int64_t reshape_64_0_dim_1 { 1152 }; int64_t reshape_66_0_dim_0 { 3 }; int64_t reshape_66_0_dim_1 { 8 }; int64_t reshape_66_0_dim_2 { 16 }; int64_t reshape_66_0_dim_3 { 729 }; int64_t reshape_66_0_dim_4 { 72 }; int64_t split_67_0_dim_0 { 1 }; int64_t split_67_1_dim_0 { 1 }; int64_t split_67_2_dim_0 { 1 }; int64_t reshape_68_0_dim_0 { 8 }; int64_t reshape_68_0_dim_1 { 16 }; int64_t reshape_68_0_dim_2 { 729 }; int64_t reshape_68_0_dim_3 { 72 }; int64_t reshape_69_0_dim_0 { 8 }; int64_t reshape_69_0_dim_1 { 16 }; int64_t reshape_69_0_dim_2 { 729 }; int64_t reshape_69_0_dim_3 { 72 }; int64_t reshape_70_0_dim_0 { 8 }; int64_t reshape_70_0_dim_1 { 16 }; int64_t reshape_70_0_dim_2 { 729 }; int64_t reshape_70_0_dim_3 { 72 }; int64_t reshape_74_0_dim_0 { 8 }; int64_t reshape_74_0_dim_1 { 729 }; int64_t reshape_74_0_dim_2 { 1152 }; int64_t reshape_72_0_dim_0 { 5832 }; int64_t reshape_72_0_dim_1 { 1152 }; int64_t reshape_79_0_dim_0 { 5832 }; int64_t reshape_79_0_dim_1 { 1152 }; int64_t reshape_81_0_dim_0 { 3 }; int64_t reshape_81_0_dim_1 { 8 }; int64_t reshape_81_0_dim_2 { 16 }; int64_t reshape_81_0_dim_3 { 729 }; int64_t reshape_81_0_dim_4 { 72 }; int64_t split_82_0_dim_0 { 1 }; int64_t split_82_1_dim_0 { 1 }; int64_t split_82_2_dim_0 { 1 }; int64_t reshape_83_0_dim_0 { 8 }; int64_t reshape_83_0_dim_1 { 16 }; int64_t reshape_83_0_dim_2 { 729 }; int64_t reshape_83_0_dim_3 { 72 }; int64_t reshape_84_0_dim_0 { 8 }; int64_t reshape_84_0_dim_1 { 16 }; int64_t reshape_84_0_dim_2 { 729 }; int64_t reshape_84_0_dim_3 { 72 }; int64_t reshape_85_0_dim_0 { 8 }; int64_t reshape_85_0_dim_1 { 16 }; int64_t reshape_85_0_dim_2 { 729 }; int64_t reshape_85_0_dim_3 { 72 }; int64_t reshape_89_0_dim_0 { 8 }; int64_t reshape_89_0_dim_1 { 729 }; int64_t reshape_89_0_dim_2 { 1152 }; int64_t reshape_87_0_dim_0 { 5832 }; int64_t reshape_87_0_dim_1 { 1152 }; int64_t reshape_94_0_dim_0 { 5832 }; int64_t reshape_94_0_dim_1 { 1152 }; int64_t reshape_96_0_dim_0 { 3 }; int64_t reshape_96_0_dim_1 { 8 }; 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 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 { 8 }; 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 { 8 }; 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 { 8 }; 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 { 8 }; int64_t reshape_104_0_dim_1 { 729 }; int64_t reshape_104_0_dim_2 { 1152 }; int64_t reshape_102_0_dim_0 { 5832 }; int64_t reshape_102_0_dim_1 { 1152 }; int64_t reshape_109_0_dim_0 { 5832 }; int64_t reshape_109_0_dim_1 { 1152 }; int64_t reshape_111_0_dim_0 { 3 }; int64_t reshape_111_0_dim_1 { 8 }; int64_t reshape_111_0_dim_2 { 16 }; int64_t reshape_111_0_dim_3 { 729 }; int64_t reshape_111_0_dim_4 { 72 }; int64_t split_112_0_dim_0 { 1 }; int64_t split_112_1_dim_0 { 1 }; int64_t split_112_2_dim_0 { 1 }; int64_t reshape_113_0_dim_0 { 8 }; int64_t reshape_113_0_dim_1 { 16 }; int64_t reshape_113_0_dim_2 { 729 }; int64_t reshape_113_0_dim_3 { 72 }; int64_t reshape_114_0_dim_0 { 8 }; int64_t reshape_114_0_dim_1 { 16 }; int64_t reshape_114_0_dim_2 { 729 }; int64_t reshape_114_0_dim_3 { 72 }; int64_t reshape_115_0_dim_0 { 8 }; int64_t reshape_115_0_dim_1 { 16 }; int64_t reshape_115_0_dim_2 { 729 }; int64_t reshape_115_0_dim_3 { 72 }; int64_t reshape_119_0_dim_0 { 8 }; int64_t reshape_119_0_dim_1 { 729 }; int64_t reshape_119_0_dim_2 { 1152 }; int64_t reshape_117_0_dim_0 { 5832 }; int64_t reshape_117_0_dim_1 { 1152 }; int64_t reshape_124_0_dim_0 { 5832 }; int64_t reshape_124_0_dim_1 { 1152 }; int64_t reshape_126_0_dim_0 { 3 }; int64_t reshape_126_0_dim_1 { 8 }; int64_t reshape_126_0_dim_2 { 16 }; int64_t reshape_126_0_dim_3 { 729 }; int64_t reshape_126_0_dim_4 { 72 }; int64_t split_127_0_dim_0 { 1 }; int64_t split_127_1_dim_0 { 1 }; int64_t split_127_2_dim_0 { 1 }; int64_t reshape_128_0_dim_0 { 8 }; int64_t reshape_128_0_dim_1 { 16 }; int64_t reshape_128_0_dim_2 { 729 }; int64_t reshape_128_0_dim_3 { 72 }; int64_t reshape_129_0_dim_0 { 8 }; int64_t reshape_129_0_dim_1 { 16 }; int64_t reshape_129_0_dim_2 { 729 }; int64_t reshape_129_0_dim_3 { 72 }; int64_t reshape_130_0_dim_0 { 8 }; int64_t reshape_130_0_dim_1 { 16 }; int64_t reshape_130_0_dim_2 { 729 }; int64_t reshape_130_0_dim_3 { 72 }; int64_t reshape_134_0_dim_0 { 8 }; int64_t reshape_134_0_dim_1 { 729 }; int64_t reshape_134_0_dim_2 { 1152 }; int64_t reshape_132_0_dim_0 { 5832 }; int64_t reshape_132_0_dim_1 { 1152 }; int64_t reshape_139_0_dim_0 { 5832 }; int64_t reshape_139_0_dim_1 { 1152 }; int64_t reshape_141_0_dim_0 { 3 }; int64_t reshape_141_0_dim_1 { 8 }; int64_t reshape_141_0_dim_2 { 16 }; int64_t reshape_141_0_dim_3 { 729 }; int64_t reshape_141_0_dim_4 { 72 }; int64_t split_142_0_dim_0 { 1 }; int64_t split_142_1_dim_0 { 1 }; int64_t split_142_2_dim_0 { 1 }; int64_t reshape_143_0_dim_0 { 8 }; int64_t reshape_143_0_dim_1 { 16 }; int64_t reshape_143_0_dim_2 { 729 }; int64_t reshape_143_0_dim_3 { 72 }; int64_t reshape_144_0_dim_0 { 8 }; int64_t reshape_144_0_dim_1 { 16 }; int64_t reshape_144_0_dim_2 { 729 }; int64_t reshape_144_0_dim_3 { 72 }; int64_t reshape_145_0_dim_0 { 8 }; int64_t reshape_145_0_dim_1 { 16 }; int64_t reshape_145_0_dim_2 { 729 }; int64_t reshape_145_0_dim_3 { 72 }; int64_t reshape_149_0_dim_0 { 8 }; int64_t reshape_149_0_dim_1 { 729 }; int64_t reshape_149_0_dim_2 { 1152 }; int64_t reshape_147_0_dim_0 { 5832 }; int64_t reshape_147_0_dim_1 { 1152 }; int64_t reshape_154_0_dim_0 { 5832 }; int64_t reshape_154_0_dim_1 { 1152 }; int64_t reshape_156_0_dim_0 { 3 }; int64_t reshape_156_0_dim_1 { 8 }; int64_t reshape_156_0_dim_2 { 16 }; int64_t reshape_156_0_dim_3 { 729 }; int64_t reshape_156_0_dim_4 { 72 }; int64_t split_157_0_dim_0 { 1 }; int64_t split_157_1_dim_0 { 1 }; int64_t split_157_2_dim_0 { 1 }; int64_t reshape_158_0_dim_0 { 8 }; int64_t reshape_158_0_dim_1 { 16 }; int64_t reshape_158_0_dim_2 { 729 }; int64_t reshape_158_0_dim_3 { 72 }; int64_t reshape_159_0_dim_0 { 8 }; int64_t reshape_159_0_dim_1 { 16 }; int64_t reshape_159_0_dim_2 { 729 }; int64_t reshape_159_0_dim_3 { 72 }; int64_t reshape_160_0_dim_0 { 8 }; int64_t reshape_160_0_dim_1 { 16 }; int64_t reshape_160_0_dim_2 { 729 }; int64_t reshape_160_0_dim_3 { 72 }; int64_t reshape_164_0_dim_0 { 8 }; int64_t reshape_164_0_dim_1 { 729 }; int64_t reshape_164_0_dim_2 { 1152 }; int64_t reshape_162_0_dim_0 { 5832 }; int64_t reshape_162_0_dim_1 { 1152 }; int64_t reshape_169_0_dim_0 { 5832 }; int64_t reshape_169_0_dim_1 { 1152 }; int64_t reshape_171_0_dim_0 { 3 }; int64_t reshape_171_0_dim_1 { 8 }; int64_t reshape_171_0_dim_2 { 16 }; int64_t reshape_171_0_dim_3 { 729 }; int64_t reshape_171_0_dim_4 { 72 }; int64_t split_172_0_dim_0 { 1 }; int64_t split_172_1_dim_0 { 1 }; int64_t split_172_2_dim_0 { 1 }; int64_t reshape_173_0_dim_0 { 8 }; int64_t reshape_173_0_dim_1 { 16 }; int64_t reshape_173_0_dim_2 { 729 }; int64_t reshape_173_0_dim_3 { 72 }; int64_t reshape_174_0_dim_0 { 8 }; int64_t reshape_174_0_dim_1 { 16 }; int64_t reshape_174_0_dim_2 { 729 }; int64_t reshape_174_0_dim_3 { 72 }; int64_t reshape_175_0_dim_0 { 8 }; int64_t reshape_175_0_dim_1 { 16 }; int64_t reshape_175_0_dim_2 { 729 }; int64_t reshape_175_0_dim_3 { 72 }; int64_t reshape_179_0_dim_0 { 8 }; int64_t reshape_179_0_dim_1 { 729 }; int64_t reshape_179_0_dim_2 { 1152 }; int64_t reshape_177_0_dim_0 { 5832 }; int64_t reshape_177_0_dim_1 { 1152 }; int64_t reshape_184_0_dim_0 { 5832 }; int64_t reshape_184_0_dim_1 { 1152 }; int64_t reshape_186_0_dim_0 { 3 }; int64_t reshape_186_0_dim_1 { 8 }; 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 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 { 8 }; 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 { 8 }; 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 { 8 }; 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 { 8 }; int64_t reshape_194_0_dim_1 { 729 }; int64_t reshape_194_0_dim_2 { 1152 }; int64_t reshape_192_0_dim_0 { 5832 }; int64_t reshape_192_0_dim_1 { 1152 }; int64_t reshape_199_0_dim_0 { 5832 }; int64_t reshape_199_0_dim_1 { 1152 }; int64_t reshape_201_0_dim_0 { 3 }; int64_t reshape_201_0_dim_1 { 8 }; int64_t reshape_201_0_dim_2 { 16 }; int64_t reshape_201_0_dim_3 { 729 }; int64_t reshape_201_0_dim_4 { 72 }; int64_t split_202_0_dim_0 { 1 }; int64_t split_202_1_dim_0 { 1 }; int64_t split_202_2_dim_0 { 1 }; int64_t reshape_203_0_dim_0 { 8 }; int64_t reshape_203_0_dim_1 { 16 }; int64_t reshape_203_0_dim_2 { 729 }; int64_t reshape_203_0_dim_3 { 72 }; int64_t reshape_204_0_dim_0 { 8 }; int64_t reshape_204_0_dim_1 { 16 }; int64_t reshape_204_0_dim_2 { 729 }; int64_t reshape_204_0_dim_3 { 72 }; int64_t reshape_205_0_dim_0 { 8 }; int64_t reshape_205_0_dim_1 { 16 }; int64_t reshape_205_0_dim_2 { 729 }; int64_t reshape_205_0_dim_3 { 72 }; int64_t reshape_209_0_dim_0 { 8 }; int64_t reshape_209_0_dim_1 { 729 }; int64_t reshape_209_0_dim_2 { 1152 }; int64_t reshape_207_0_dim_0 { 5832 }; int64_t reshape_207_0_dim_1 { 1152 }; int64_t reshape_214_0_dim_0 { 5832 }; int64_t reshape_214_0_dim_1 { 1152 }; int64_t reshape_216_0_dim_0 { 3 }; int64_t reshape_216_0_dim_1 { 8 }; int64_t reshape_216_0_dim_2 { 16 }; int64_t reshape_216_0_dim_3 { 729 }; int64_t reshape_216_0_dim_4 { 72 }; int64_t split_217_0_dim_0 { 1 }; int64_t split_217_1_dim_0 { 1 }; int64_t split_217_2_dim_0 { 1 }; int64_t reshape_218_0_dim_0 { 8 }; int64_t reshape_218_0_dim_1 { 16 }; int64_t reshape_218_0_dim_2 { 729 }; int64_t reshape_218_0_dim_3 { 72 }; int64_t reshape_219_0_dim_0 { 8 }; int64_t reshape_219_0_dim_1 { 16 }; int64_t reshape_219_0_dim_2 { 729 }; int64_t reshape_219_0_dim_3 { 72 }; int64_t reshape_220_0_dim_0 { 8 }; int64_t reshape_220_0_dim_1 { 16 }; int64_t reshape_220_0_dim_2 { 729 }; int64_t reshape_220_0_dim_3 { 72 }; int64_t reshape_224_0_dim_0 { 8 }; int64_t reshape_224_0_dim_1 { 729 }; int64_t reshape_224_0_dim_2 { 1152 }; int64_t reshape_222_0_dim_0 { 5832 }; int64_t reshape_222_0_dim_1 { 1152 }; int64_t reshape_229_0_dim_0 { 5832 }; int64_t reshape_229_0_dim_1 { 1152 }; int64_t reshape_231_0_dim_0 { 3 }; int64_t reshape_231_0_dim_1 { 8 }; int64_t reshape_231_0_dim_2 { 16 }; int64_t reshape_231_0_dim_3 { 729 }; int64_t reshape_231_0_dim_4 { 72 }; int64_t split_232_0_dim_0 { 1 }; int64_t split_232_1_dim_0 { 1 }; int64_t split_232_2_dim_0 { 1 }; int64_t reshape_233_0_dim_0 { 8 }; int64_t reshape_233_0_dim_1 { 16 }; int64_t reshape_233_0_dim_2 { 729 }; int64_t reshape_233_0_dim_3 { 72 }; int64_t reshape_234_0_dim_0 { 8 }; int64_t reshape_234_0_dim_1 { 16 }; int64_t reshape_234_0_dim_2 { 729 }; int64_t reshape_234_0_dim_3 { 72 }; int64_t reshape_235_0_dim_0 { 8 }; int64_t reshape_235_0_dim_1 { 16 }; int64_t reshape_235_0_dim_2 { 729 }; int64_t reshape_235_0_dim_3 { 72 }; int64_t reshape_239_0_dim_0 { 8 }; int64_t reshape_239_0_dim_1 { 729 }; int64_t reshape_239_0_dim_2 { 1152 }; int64_t reshape_237_0_dim_0 { 5832 }; int64_t reshape_237_0_dim_1 { 1152 }; int64_t reshape_244_0_dim_0 { 5832 }; int64_t reshape_244_0_dim_1 { 1152 }; int64_t reshape_246_0_dim_0 { 3 }; int64_t reshape_246_0_dim_1 { 8 }; int64_t reshape_246_0_dim_2 { 16 }; int64_t reshape_246_0_dim_3 { 729 }; int64_t reshape_246_0_dim_4 { 72 }; int64_t split_247_0_dim_0 { 1 }; int64_t split_247_1_dim_0 { 1 }; int64_t split_247_2_dim_0 { 1 }; int64_t reshape_248_0_dim_0 { 8 }; int64_t reshape_248_0_dim_1 { 16 }; int64_t reshape_248_0_dim_2 { 729 }; int64_t reshape_248_0_dim_3 { 72 }; int64_t reshape_249_0_dim_0 { 8 }; int64_t reshape_249_0_dim_1 { 16 }; int64_t reshape_249_0_dim_2 { 729 }; int64_t reshape_249_0_dim_3 { 72 }; int64_t reshape_250_0_dim_0 { 8 }; int64_t reshape_250_0_dim_1 { 16 }; int64_t reshape_250_0_dim_2 { 729 }; int64_t reshape_250_0_dim_3 { 72 }; int64_t reshape_254_0_dim_0 { 8 }; int64_t reshape_254_0_dim_1 { 729 }; int64_t reshape_254_0_dim_2 { 1152 }; int64_t reshape_252_0_dim_0 { 5832 }; int64_t reshape_252_0_dim_1 { 1152 }; int64_t reshape_259_0_dim_0 { 5832 }; int64_t reshape_259_0_dim_1 { 1152 }; int64_t reshape_261_0_dim_0 { 3 }; int64_t reshape_261_0_dim_1 { 8 }; int64_t reshape_261_0_dim_2 { 16 }; int64_t reshape_261_0_dim_3 { 729 }; int64_t reshape_261_0_dim_4 { 72 }; int64_t split_262_0_dim_0 { 1 }; int64_t split_262_1_dim_0 { 1 }; int64_t split_262_2_dim_0 { 1 }; int64_t reshape_263_0_dim_0 { 8 }; int64_t reshape_263_0_dim_1 { 16 }; int64_t reshape_263_0_dim_2 { 729 }; int64_t reshape_263_0_dim_3 { 72 }; int64_t reshape_264_0_dim_0 { 8 }; int64_t reshape_264_0_dim_1 { 16 }; int64_t reshape_264_0_dim_2 { 729 }; int64_t reshape_264_0_dim_3 { 72 }; int64_t reshape_265_0_dim_0 { 8 }; int64_t reshape_265_0_dim_1 { 16 }; int64_t reshape_265_0_dim_2 { 729 }; int64_t reshape_265_0_dim_3 { 72 }; int64_t reshape_269_0_dim_0 { 8 }; int64_t reshape_269_0_dim_1 { 729 }; int64_t reshape_269_0_dim_2 { 1152 }; int64_t reshape_267_0_dim_0 { 5832 }; int64_t reshape_267_0_dim_1 { 1152 }; int64_t reshape_274_0_dim_0 { 5832 }; int64_t reshape_274_0_dim_1 { 1152 }; int64_t reshape_276_0_dim_0 { 3 }; int64_t reshape_276_0_dim_1 { 8 }; 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 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 { 8 }; 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 { 8 }; 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 { 8 }; 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 { 8 }; int64_t reshape_284_0_dim_1 { 729 }; int64_t reshape_284_0_dim_2 { 1152 }; int64_t reshape_282_0_dim_0 { 5832 }; int64_t reshape_282_0_dim_1 { 1152 }; int64_t reshape_289_0_dim_0 { 5832 }; int64_t reshape_289_0_dim_1 { 1152 }; int64_t reshape_291_0_dim_0 { 3 }; int64_t reshape_291_0_dim_1 { 8 }; int64_t reshape_291_0_dim_2 { 16 }; int64_t reshape_291_0_dim_3 { 729 }; int64_t reshape_291_0_dim_4 { 72 }; int64_t split_292_0_dim_0 { 1 }; int64_t split_292_1_dim_0 { 1 }; int64_t split_292_2_dim_0 { 1 }; int64_t reshape_293_0_dim_0 { 8 }; int64_t reshape_293_0_dim_1 { 16 }; int64_t reshape_293_0_dim_2 { 729 }; int64_t reshape_293_0_dim_3 { 72 }; int64_t reshape_294_0_dim_0 { 8 }; int64_t reshape_294_0_dim_1 { 16 }; int64_t reshape_294_0_dim_2 { 729 }; int64_t reshape_294_0_dim_3 { 72 }; int64_t reshape_295_0_dim_0 { 8 }; int64_t reshape_295_0_dim_1 { 16 }; int64_t reshape_295_0_dim_2 { 729 }; int64_t reshape_295_0_dim_3 { 72 }; int64_t reshape_299_0_dim_0 { 8 }; int64_t reshape_299_0_dim_1 { 729 }; int64_t reshape_299_0_dim_2 { 1152 }; int64_t reshape_297_0_dim_0 { 5832 }; int64_t reshape_297_0_dim_1 { 1152 }; int64_t reshape_304_0_dim_0 { 5832 }; int64_t reshape_304_0_dim_1 { 1152 }; int64_t reshape_306_0_dim_0 { 3 }; int64_t reshape_306_0_dim_1 { 8 }; int64_t reshape_306_0_dim_2 { 16 }; int64_t reshape_306_0_dim_3 { 729 }; int64_t reshape_306_0_dim_4 { 72 }; int64_t split_307_0_dim_0 { 1 }; int64_t split_307_1_dim_0 { 1 }; int64_t split_307_2_dim_0 { 1 }; int64_t reshape_308_0_dim_0 { 8 }; int64_t reshape_308_0_dim_1 { 16 }; int64_t reshape_308_0_dim_2 { 729 }; int64_t reshape_308_0_dim_3 { 72 }; int64_t reshape_309_0_dim_0 { 8 }; int64_t reshape_309_0_dim_1 { 16 }; int64_t reshape_309_0_dim_2 { 729 }; int64_t reshape_309_0_dim_3 { 72 }; int64_t reshape_310_0_dim_0 { 8 }; int64_t reshape_310_0_dim_1 { 16 }; int64_t reshape_310_0_dim_2 { 729 }; int64_t reshape_310_0_dim_3 { 72 }; int64_t reshape_314_0_dim_0 { 8 }; int64_t reshape_314_0_dim_1 { 729 }; int64_t reshape_314_0_dim_2 { 1152 }; int64_t reshape_312_0_dim_0 { 5832 }; int64_t reshape_312_0_dim_1 { 1152 }; int64_t reshape_319_0_dim_0 { 5832 }; int64_t reshape_319_0_dim_1 { 1152 }; int64_t reshape_321_0_dim_0 { 3 }; int64_t reshape_321_0_dim_1 { 8 }; int64_t reshape_321_0_dim_2 { 16 }; int64_t reshape_321_0_dim_3 { 729 }; int64_t reshape_321_0_dim_4 { 72 }; int64_t split_322_0_dim_0 { 1 }; int64_t split_322_1_dim_0 { 1 }; int64_t split_322_2_dim_0 { 1 }; int64_t reshape_323_0_dim_0 { 8 }; int64_t reshape_323_0_dim_1 { 16 }; int64_t reshape_323_0_dim_2 { 729 }; int64_t reshape_323_0_dim_3 { 72 }; int64_t reshape_324_0_dim_0 { 8 }; int64_t reshape_324_0_dim_1 { 16 }; int64_t reshape_324_0_dim_2 { 729 }; int64_t reshape_324_0_dim_3 { 72 }; int64_t reshape_325_0_dim_0 { 8 }; int64_t reshape_325_0_dim_1 { 16 }; int64_t reshape_325_0_dim_2 { 729 }; int64_t reshape_325_0_dim_3 { 72 }; int64_t reshape_329_0_dim_0 { 8 }; int64_t reshape_329_0_dim_1 { 729 }; int64_t reshape_329_0_dim_2 { 1152 }; int64_t reshape_327_0_dim_0 { 5832 }; int64_t reshape_327_0_dim_1 { 1152 }; int64_t reshape_334_0_dim_0 { 5832 }; int64_t reshape_334_0_dim_1 { 1152 }; int64_t reshape_336_0_dim_0 { 3 }; int64_t reshape_336_0_dim_1 { 8 }; int64_t reshape_336_0_dim_2 { 16 }; int64_t reshape_336_0_dim_3 { 729 }; int64_t reshape_336_0_dim_4 { 72 }; int64_t split_337_0_dim_0 { 1 }; int64_t split_337_1_dim_0 { 1 }; int64_t split_337_2_dim_0 { 1 }; int64_t reshape_338_0_dim_0 { 8 }; int64_t reshape_338_0_dim_1 { 16 }; int64_t reshape_338_0_dim_2 { 729 }; int64_t reshape_338_0_dim_3 { 72 }; int64_t reshape_339_0_dim_0 { 8 }; int64_t reshape_339_0_dim_1 { 16 }; int64_t reshape_339_0_dim_2 { 729 }; int64_t reshape_339_0_dim_3 { 72 }; int64_t reshape_340_0_dim_0 { 8 }; int64_t reshape_340_0_dim_1 { 16 }; int64_t reshape_340_0_dim_2 { 729 }; int64_t reshape_340_0_dim_3 { 72 }; int64_t reshape_344_0_dim_0 { 8 }; int64_t reshape_344_0_dim_1 { 729 }; int64_t reshape_344_0_dim_2 { 1152 }; int64_t reshape_342_0_dim_0 { 5832 }; int64_t reshape_342_0_dim_1 { 1152 }; int64_t reshape_349_0_dim_0 { 5832 }; int64_t reshape_349_0_dim_1 { 1152 }; int64_t reshape_351_0_dim_0 { 3 }; int64_t reshape_351_0_dim_1 { 8 }; int64_t reshape_351_0_dim_2 { 16 }; int64_t reshape_351_0_dim_3 { 729 }; int64_t reshape_351_0_dim_4 { 72 }; int64_t split_352_0_dim_0 { 1 }; int64_t split_352_1_dim_0 { 1 }; int64_t split_352_2_dim_0 { 1 }; int64_t reshape_353_0_dim_0 { 8 }; int64_t reshape_353_0_dim_1 { 16 }; int64_t reshape_353_0_dim_2 { 729 }; int64_t reshape_353_0_dim_3 { 72 }; int64_t reshape_354_0_dim_0 { 8 }; int64_t reshape_354_0_dim_1 { 16 }; int64_t reshape_354_0_dim_2 { 729 }; int64_t reshape_354_0_dim_3 { 72 }; int64_t reshape_355_0_dim_0 { 8 }; int64_t reshape_355_0_dim_1 { 16 }; int64_t reshape_355_0_dim_2 { 729 }; int64_t reshape_355_0_dim_3 { 72 }; int64_t reshape_359_0_dim_0 { 8 }; int64_t reshape_359_0_dim_1 { 729 }; int64_t reshape_359_0_dim_2 { 1152 }; int64_t reshape_357_0_dim_0 { 5832 }; int64_t reshape_357_0_dim_1 { 1152 }; int64_t reshape_364_0_dim_0 { 5832 }; int64_t reshape_364_0_dim_1 { 1152 }; int64_t reshape_366_0_dim_0 { 3 }; int64_t reshape_366_0_dim_1 { 8 }; 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 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 { 8 }; 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 { 8 }; 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 { 8 }; 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 { 8 }; int64_t reshape_374_0_dim_1 { 729 }; int64_t reshape_374_0_dim_2 { 1152 }; int64_t reshape_372_0_dim_0 { 5832 }; int64_t reshape_372_0_dim_1 { 1152 }; int64_t reshape_379_0_dim_0 { 5832 }; int64_t reshape_379_0_dim_1 { 1152 }; int64_t reshape_381_0_dim_0 { 3 }; int64_t reshape_381_0_dim_1 { 8 }; int64_t reshape_381_0_dim_2 { 16 }; int64_t reshape_381_0_dim_3 { 729 }; int64_t reshape_381_0_dim_4 { 72 }; int64_t split_382_0_dim_0 { 1 }; int64_t split_382_1_dim_0 { 1 }; int64_t split_382_2_dim_0 { 1 }; int64_t reshape_383_0_dim_0 { 8 }; int64_t reshape_383_0_dim_1 { 16 }; int64_t reshape_383_0_dim_2 { 729 }; int64_t reshape_383_0_dim_3 { 72 }; int64_t reshape_384_0_dim_0 { 8 }; int64_t reshape_384_0_dim_1 { 16 }; int64_t reshape_384_0_dim_2 { 729 }; int64_t reshape_384_0_dim_3 { 72 }; int64_t reshape_385_0_dim_0 { 8 }; int64_t reshape_385_0_dim_1 { 16 }; int64_t reshape_385_0_dim_2 { 729 }; int64_t reshape_385_0_dim_3 { 72 }; int64_t reshape_389_0_dim_0 { 8 }; int64_t reshape_389_0_dim_1 { 729 }; int64_t reshape_389_0_dim_2 { 1152 }; int64_t reshape_387_0_dim_0 { 5832 }; int64_t reshape_387_0_dim_1 { 1152 }; int64_t reshape_394_0_dim_0 { 5832 }; int64_t reshape_394_0_dim_1 { 1152 }; int64_t reshape_396_0_dim_0 { 3 }; int64_t reshape_396_0_dim_1 { 8 }; int64_t reshape_396_0_dim_2 { 16 }; int64_t reshape_396_0_dim_3 { 729 }; int64_t reshape_396_0_dim_4 { 72 }; int64_t split_397_0_dim_0 { 1 }; int64_t split_397_1_dim_0 { 1 }; int64_t split_397_2_dim_0 { 1 }; int64_t reshape_398_0_dim_0 { 8 }; int64_t reshape_398_0_dim_1 { 16 }; int64_t reshape_398_0_dim_2 { 729 }; int64_t reshape_398_0_dim_3 { 72 }; int64_t reshape_399_0_dim_0 { 8 }; int64_t reshape_399_0_dim_1 { 16 }; int64_t reshape_399_0_dim_2 { 729 }; int64_t reshape_399_0_dim_3 { 72 }; int64_t reshape_400_0_dim_0 { 8 }; int64_t reshape_400_0_dim_1 { 16 }; int64_t reshape_400_0_dim_2 { 729 }; int64_t reshape_400_0_dim_3 { 72 }; int64_t reshape_404_0_dim_0 { 8 }; int64_t reshape_404_0_dim_1 { 729 }; int64_t reshape_404_0_dim_2 { 1152 }; int64_t reshape_402_0_dim_0 { 5832 }; int64_t reshape_402_0_dim_1 { 1152 }; int64_t reshape_410_0_dim_0 { 8 }; int64_t reshape_410_0_dim_1 { 729 }; int64_t reshape_410_0_dim_2 { 2 }; int64_t reshape_410_0_dim_3 { 16 }; int64_t reshape_410_0_dim_4 { 72 }; int64_t split_412_0_dim_0 { 1 }; int64_t split_412_1_dim_0 { 1 }; int64_t reshape_417_0_dim_0 { 8 }; int64_t reshape_417_0_dim_1 { 16 }; int64_t reshape_417_0_dim_2 { 1 }; int64_t reshape_417_0_dim_3 { 72 }; int64_t reshape_420_0_dim_0 { 8 }; int64_t reshape_420_0_dim_1 { 1 }; int64_t reshape_420_0_dim_2 { 1152 }; }; } // namespace ait