From 5e408c3e9bc9b9770bc10934347b5b19f203c3b0 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Wed, 25 Sep 2024 21:22:51 +0800 Subject: [PATCH 01/50] add rocm backend --- .../ROCM/fused_moe/csrc/activation_kernels.cu | 150 ++ .../ROCM/fused_moe/csrc/dispatch_utils.h | 35 + .../backends/ROCM/fused_moe/csrc/hip_compat.h | 49 + .../csrc/moe_align_block_size_kernels.cu | 134 ++ .../backends/ROCM/fused_moe/csrc/moe_ops.cpp | 12 + .../backends/ROCM/fused_moe/csrc/moe_ops.h | 13 + .../fused_moe/csrc/topk_softmax_kernels.cu | 506 ++++++ .../backends/ROCM/fused_moe/fused_moe.py | 659 ++++++++ .../llm_perf/backends/ROCM/fused_moe/setup.py | 241 +++ .../llm_perf/backends/ROCM/gpu_ckpt_loader.py | 51 + .../backends/ROCM/model_impl/__init__.py | 26 + .../ROCM/model_impl/modeling_mixtral.py | 1392 +++++++++++++++++ .../backends/ROCM/model_impl/rocm_mixtral.py | 202 +++ .../backends/ROCM/model_impl/split_mixtral.py | 148 ++ .../llm_perf/backends/ROCM/setup.py | 64 + 15 files changed, 3682 insertions(+) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/gpu_ckpt_loader.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/model_impl/__init__.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/model_impl/split_mixtral.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/setup.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu new file mode 100644 index 000000000..f6798dbab --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu @@ -0,0 +1,150 @@ +#include +#include +#include + +#include + +#include "hip_compat.h" +#include "dispatch_utils.h" + +namespace vllm { + +// Activation and gating kernel template. +template +__global__ void act_and_mul_kernel( + scalar_t* __restrict__ out, // [..., d] + const scalar_t* __restrict__ input, // [..., 2, d] + const int d) { + const int64_t token_idx = blockIdx.x; + for (int64_t idx = threadIdx.x; idx < d; idx += blockDim.x) { + const scalar_t x = VLLM_LDG(&input[token_idx * 2 * d + idx]); + const scalar_t y = VLLM_LDG(&input[token_idx * 2 * d + d + idx]); + out[token_idx * d + idx] = ACT_FN(x) * y; + } +} + +template +__device__ __forceinline__ T silu_kernel(const T& x) { + // x * sigmoid(x) + return (T)(((float)x) / (1.0f + expf((float)-x))); +} + +template +__device__ __forceinline__ T gelu_kernel(const T& x) { + // Equivalent to PyTorch GELU with 'none' approximation. + // Refer to: + // https://github.com/pytorch/pytorch/blob/8ac9b20d4b090c213799e81acf48a55ea8d437d6/aten/src/ATen/native/cuda/ActivationGeluKernel.cu#L36-L38 + const float f = (float)x; + constexpr float ALPHA = M_SQRT1_2; + return (T)(f * 0.5f * (1.0f + ::erf(f * ALPHA))); +} + +template +__device__ __forceinline__ T gelu_tanh_kernel(const T& x) { + // Equivalent to PyTorch GELU with 'tanh' approximation. + // Refer to: + // https://github.com/pytorch/pytorch/blob/8ac9b20d4b090c213799e81acf48a55ea8d437d6/aten/src/ATen/native/cuda/ActivationGeluKernel.cu#L25-L30 + const float f = (float)x; + constexpr float BETA = M_SQRT2 * M_2_SQRTPI * 0.5f; + constexpr float KAPPA = 0.044715; + float x_cube = f * f * f; + float inner = BETA * (f + KAPPA * x_cube); + return (T)(0.5f * f * (1.0f + ::tanhf(inner))); +} + +} // namespace vllm + +// Launch activation and gating kernel. +#define LAUNCH_ACTIVATION_GATE_KERNEL(KERNEL) \ + int d = input.size(-1) / 2; \ + int64_t num_tokens = input.numel() / input.size(-1); \ + dim3 grid(num_tokens); \ + dim3 block(std::min(d, 1024)); \ + const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); \ + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); \ + VLLM_DISPATCH_FLOATING_TYPES( \ + input.scalar_type(), "act_and_mul_kernel", [&] { \ + vllm::act_and_mul_kernel> \ + <<>>(out.data_ptr(), \ + input.data_ptr(), d); \ + }); + +void silu_and_mul(torch::Tensor& out, // [..., d] + torch::Tensor& input) // [..., 2 * d] +{ + LAUNCH_ACTIVATION_GATE_KERNEL(vllm::silu_kernel); +} + +void gelu_and_mul(torch::Tensor& out, // [..., d] + torch::Tensor& input) // [..., 2 * d] +{ + LAUNCH_ACTIVATION_GATE_KERNEL(vllm::gelu_kernel); +} + +void gelu_tanh_and_mul(torch::Tensor& out, // [..., d] + torch::Tensor& input) // [..., 2 * d] +{ + LAUNCH_ACTIVATION_GATE_KERNEL(vllm::gelu_tanh_kernel); +} + +namespace vllm { + +// Element-wise activation kernel template. +template +__global__ void activation_kernel( + scalar_t* __restrict__ out, // [..., d] + const scalar_t* __restrict__ input, // [..., d] + const int d) { + const int64_t token_idx = blockIdx.x; + for (int64_t idx = threadIdx.x; idx < d; idx += blockDim.x) { + const scalar_t x = VLLM_LDG(&input[token_idx * d + idx]); + out[token_idx * d + idx] = ACT_FN(x); + } +} + +} // namespace vllm + +// Launch element-wise activation kernel. +#define LAUNCH_ACTIVATION_KERNEL(KERNEL) \ + int d = input.size(-1); \ + int64_t num_tokens = input.numel() / d; \ + dim3 grid(num_tokens); \ + dim3 block(std::min(d, 1024)); \ + const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); \ + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); \ + VLLM_DISPATCH_FLOATING_TYPES(input.scalar_type(), "activation_kernel", [&] { \ + vllm::activation_kernel> \ + <<>>(out.data_ptr(), \ + input.data_ptr(), d); \ + }); + +namespace vllm { + +template +__device__ __forceinline__ T gelu_new_kernel(const T& x) { + const float x3 = (float)(x * x * x); + const T t = (T)tanhf((T)(0.79788456f * (float)(x + (T)(0.044715f * x3)))); + return ((T)0.5) * x * (((T)1.0) + t); +} + +template +__device__ __forceinline__ T gelu_fast_kernel(const T& x) { + const float f = (float)x; + const T t = + (T)tanhf(((T)(f * 0.79788456f)) * (((T)1.0) + (T)(0.044715f * f) * x)); + return ((T)0.5) * x * (((T)1.0) + t); +} + +} // namespace vllm + +void gelu_new(torch::Tensor& out, // [..., d] + torch::Tensor& input) // [..., d] +{ + LAUNCH_ACTIVATION_KERNEL(vllm::gelu_new_kernel); +} + +void gelu_fast(torch::Tensor& out, // [..., d] + torch::Tensor& input) // [..., d] +{ + LAUNCH_ACTIVATION_KERNEL(vllm::gelu_fast_kernel); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h new file mode 100644 index 000000000..3ecea0324 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h @@ -0,0 +1,35 @@ +/* + * Adapted from + * https://github.com/pytorch/pytorch/blob/v2.0.1/aten/src/ATen/Dispatch.h + */ +#pragma once + +#include + +#define VLLM_DISPATCH_CASE_FLOATING_TYPES(...) \ + AT_DISPATCH_CASE(at::ScalarType::Float, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Half, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::BFloat16, __VA_ARGS__) + +#define VLLM_DISPATCH_FLOATING_TYPES(TYPE, NAME, ...) \ + AT_DISPATCH_SWITCH(TYPE, NAME, VLLM_DISPATCH_CASE_FLOATING_TYPES(__VA_ARGS__)) + +#define VLLM_DISPATCH_CASE_FLOATING_AND_BYTE_TYPES(...) \ + AT_DISPATCH_CASE(at::ScalarType::Float, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Half, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::BFloat16, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Byte, __VA_ARGS__) + +#define VLLM_DISPATCH_FLOATING_AND_BYTE_TYPES(TYPE, NAME, ...) \ + AT_DISPATCH_SWITCH(TYPE, NAME, \ + VLLM_DISPATCH_CASE_FLOATING_AND_BYTE_TYPES(__VA_ARGS__)) + +#define VLLM_DISPATCH_CASE_INTEGRAL_TYPES(...) \ + AT_DISPATCH_CASE(at::ScalarType::Byte, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Char, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Short, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Int, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Long, __VA_ARGS__) + +#define VLLM_DISPATCH_INTEGRAL_TYPES(TYPE, NAME, ...) \ + AT_DISPATCH_SWITCH(TYPE, NAME, VLLM_DISPATCH_CASE_INTEGRAL_TYPES(__VA_ARGS__)) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h new file mode 100644 index 000000000..bfa8c0071 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h @@ -0,0 +1,49 @@ +#pragma once + +#ifdef USE_ROCM + #include +#endif + +#ifndef USE_ROCM + #define WARP_SIZE 32 +#else + #define WARP_SIZE warpSize +#endif + +#ifndef USE_ROCM + #define VLLM_LDG(arg) __ldg(arg) +#else + #define VLLM_LDG(arg) *(arg) +#endif + +#ifndef USE_ROCM + #define VLLM_SHFL_XOR_SYNC(var, lane_mask) \ + __shfl_xor_sync(uint32_t(-1), var, lane_mask) + #define VLLM_SHFL_XOR_SYNC_WIDTH(var, lane_mask, width) \ + __shfl_xor_sync(uint32_t(-1), var, lane_mask, width) +#else + #define VLLM_SHFL_XOR_SYNC(var, lane_mask) __shfl_xor(var, lane_mask) + #define VLLM_SHFL_XOR_SYNC_WIDTH(var, lane_mask, width) \ + __shfl_xor(var, lane_mask, width) +#endif + +#ifndef USE_ROCM + #define VLLM_SHFL_SYNC(var, src_lane) __shfl_sync(uint32_t(-1), var, src_lane) +#else + #define VLLM_SHFL_SYNC(var, src_lane) __shfl(var, src_lane) +#endif + +#ifndef USE_ROCM + #define VLLM_SHFL_DOWN_SYNC(var, lane_delta) \ + __shfl_down_sync(uint32_t(-1), var, lane_delta) +#else + #define VLLM_SHFL_DOWN_SYNC(var, lane_delta) __shfl_down(var, lane_delta) +#endif + +#ifndef USE_ROCM + #define VLLM_DevFuncAttribute_SET_MaxDynamicSharedMemorySize(FUNC, VAL) \ + hipFuncSetAttribute(FUNC, hipFuncAttributeMaxDynamicSharedMemorySize, VAL) +#else + #define VLLM_DevFuncAttribute_SET_MaxDynamicSharedMemorySize(FUNC, VAL) \ + hipFuncSetAttribute(FUNC, hipFuncAttributeMaxDynamicSharedMemorySize, VAL) +#endif diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu new file mode 100644 index 000000000..75ed0f9df --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu @@ -0,0 +1,134 @@ +#include +#include + +#include +#include + +#include "hip_compat.h" +#include "dispatch_utils.h" + +#define CEILDIV(x, y) (((x) + (y) - 1) / (y)) + +namespace vllm { + +namespace { +__device__ __forceinline__ int32_t index(int32_t total_col, int32_t row, + int32_t col) { + // don't worry about overflow because num_experts is relatively small + return row * total_col + col; +} +} // namespace + +template +__global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, + int32_t* sorted_token_ids, + int32_t* expert_ids, + int32_t* total_tokens_post_pad, + int32_t num_experts, + int32_t block_size, size_t numel) { + const size_t tokens_per_thread = CEILDIV(numel, blockDim.x); + const size_t start_idx = threadIdx.x * tokens_per_thread; + + extern __shared__ int32_t shared_mem[]; + + int32_t* tokens_cnts = + shared_mem; // 2d tensor with shape (num_experts + 1, num_experts) + int32_t* cumsum = + shared_mem + (num_experts + 1) * + num_experts; // 1d tensor with shape (num_experts + 1) + + for (int i = 0; i < num_experts; ++i) { + tokens_cnts[index(num_experts, threadIdx.x + 1, i)] = 0; + } + + /** + * In the first step we compute token_cnts[thread_index + 1][expert_index], + * which counts how many tokens in the token shard of thread_index are + * assigned to expert expert_index. + */ + for (int i = start_idx; i < numel && i < start_idx + tokens_per_thread; ++i) { + ++tokens_cnts[index(num_experts, threadIdx.x + 1, topk_ids[i])]; + } + + __syncthreads(); + + // For each expert we accumulate the token counts from the different threads. + tokens_cnts[index(num_experts, 0, threadIdx.x)] = 0; + for (int i = 1; i <= blockDim.x; ++i) { + tokens_cnts[index(num_experts, i, threadIdx.x)] += + tokens_cnts[index(num_experts, i - 1, threadIdx.x)]; + } + + __syncthreads(); + + // We accumulate the token counts of all experts in thread 0. + if (threadIdx.x == 0) { + cumsum[0] = 0; + for (int i = 1; i <= num_experts; ++i) { + cumsum[i] = cumsum[i - 1] + + CEILDIV(tokens_cnts[index(num_experts, blockDim.x, i - 1)], + block_size) * + block_size; + } + *total_tokens_post_pad = cumsum[num_experts]; + } + + __syncthreads(); + + /** + * For each expert, each thread processes the tokens of the corresponding + * blocks and stores the corresponding expert_id for each block. + */ + for (int i = cumsum[threadIdx.x]; i < cumsum[threadIdx.x + 1]; + i += block_size) { + expert_ids[i / block_size] = threadIdx.x; + } + + /** + * Each thread processes a token shard, calculating the index of each token + * after sorting by expert number. Given the example topk_ids = + * [0,1,2,1,2,3,0,3,4] and block_size = 4, then the output would be [0, 6, *, + * *, 1, 3, *, *, 2, 4, *, *, 5, 7, *, *, 8, *, *, *], where * represents a + * padding value(preset in python). + */ + for (int i = start_idx; i < numel && i < start_idx + tokens_per_thread; ++i) { + int32_t expert_id = topk_ids[i]; + /** The cumsum[expert_id] stores the starting index of the tokens that the + * expert with expert_id needs to process, and + * tokens_cnts[threadIdx.x][expert_id] stores the indices of the tokens + * processed by the expert with expert_id within the current thread's token + * shard. + */ + int32_t rank_post_pad = + tokens_cnts[index(num_experts, threadIdx.x, expert_id)] + + cumsum[expert_id]; + sorted_token_ids[rank_post_pad] = i; + ++tokens_cnts[index(num_experts, threadIdx.x, expert_id)]; + } +} +} // namespace vllm + +void moe_align_block_size(torch::Tensor topk_ids, int num_experts, + int block_size, torch::Tensor sorted_token_ids, + torch::Tensor experts_ids, + torch::Tensor num_tokens_post_pad) { + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_INTEGRAL_TYPES( + topk_ids.scalar_type(), "moe_align_block_size_kernel", [&] { + // calc needed amount of shared mem for `tokens_cnts` and `cumsum` + // tensors + const int32_t shared_mem = + ((num_experts + 1) * num_experts + (num_experts + 1)) * + sizeof(int32_t); + + // set dynamic shared mem + auto kernel = vllm::moe_align_block_size_kernel; + AT_CUDA_CHECK(VLLM_DevFuncAttribute_SET_MaxDynamicSharedMemorySize( + (void*)kernel, shared_mem)); + kernel<<<1, num_experts, shared_mem, stream>>>( + topk_ids.data_ptr(), sorted_token_ids.data_ptr(), + experts_ids.data_ptr(), + num_tokens_post_pad.data_ptr(), num_experts, block_size, + topk_ids.numel()); + }); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp new file mode 100644 index 000000000..405155bd5 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp @@ -0,0 +1,12 @@ +#include "moe_ops.h" + +#include + +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { + m.def("topk_softmax", &topk_softmax, + "Apply topk softmax to the gating outputs."); + m.def("moe_align_block_size", &moe_align_block_size, + "Aligning the number of tokens to be processed by each expert such " + "that it is divisible by the block size."); + m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h new file mode 100644 index 000000000..99c0bb94d --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h @@ -0,0 +1,13 @@ +#pragma once + +#include + +void topk_softmax(torch::Tensor& topk_weights, torch::Tensor& topk_indices, + torch::Tensor& token_expert_indices, + torch::Tensor& gating_output); + +void moe_align_block_size(torch::Tensor topk_ids, int num_experts, + int block_size, torch::Tensor sorted_token_ids, + torch::Tensor experts_ids, + torch::Tensor num_tokens_post_pad); +void silu_and_mul(torch::Tensor &out, torch::Tensor &input); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu new file mode 100644 index 000000000..a1f2aff32 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu @@ -0,0 +1,506 @@ +/* + * Adapted from https://github.com/NVIDIA/TensorRT-LLM/blob/v0.7.1/cpp/tensorrt_llm/kernels/mixtureOfExperts/moe_kernels.cu + * Copyright (c) 2024, The vLLM team. + * SPDX-FileCopyrightText: Copyright (c) 1993-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include +#include "hip_compat.h" + +#ifndef USE_ROCM + #include + #include +#else + #include + #include +#endif + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + +namespace vllm { +namespace moe { + +/// Aligned array type +template < + typename T, + /// Number of elements in the array + int N, + /// Alignment requirement in bytes + int Alignment = sizeof(T) * N +> +class alignas(Alignment) AlignedArray { + float data[N]; +}; + +// ====================== Softmax things =============================== +// We have our own implementation of softmax here so we can support transposing the output +// in the softmax kernel when we extend this module to support expert-choice routing. +template +__launch_bounds__(TPB) __global__ + void moeSoftmax(const float* input, const bool* finished, float* output, const int num_cols) +{ + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage tmpStorage; + + __shared__ float normalizing_factor; + __shared__ float float_max; + + const int thread_row_offset = blockIdx.x * num_cols; + + cub::Sum sum; + float threadData(-FLT_MAX); + + // Don't touch finished rows. + if ((finished != nullptr) && finished[blockIdx.x]) + { + return; + } + + for (int ii = threadIdx.x; ii < num_cols; ii += TPB) + { + const int idx = thread_row_offset + ii; + threadData = max(static_cast(input[idx]), threadData); + } + + const float maxElem = BlockReduce(tmpStorage).Reduce(threadData, cub::Max()); + if (threadIdx.x == 0) + { + float_max = maxElem; + } + __syncthreads(); + + threadData = 0; + + for (int ii = threadIdx.x; ii < num_cols; ii += TPB) + { + const int idx = thread_row_offset + ii; + threadData += exp((static_cast(input[idx]) - float_max)); + } + + const auto Z = BlockReduce(tmpStorage).Reduce(threadData, sum); + + if (threadIdx.x == 0) + { + normalizing_factor = 1.f / Z; + } + __syncthreads(); + + for (int ii = threadIdx.x; ii < num_cols; ii += TPB) + { + const int idx = thread_row_offset + ii; + const float val = exp((static_cast(input[idx]) - float_max)) * normalizing_factor; + output[idx] = val; + } +} + +template +__launch_bounds__(TPB) __global__ void moeTopK(const float* inputs_after_softmax, const bool* finished, float* output, + int* indices, int* source_rows, const int num_experts, const int k, const int start_expert, const int end_expert) +{ + + using cub_kvp = cub::KeyValuePair; + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage tmpStorage; + + cub_kvp thread_kvp; + cub::ArgMax arg_max; + + const int num_rows = gridDim.x; + const int block_row = blockIdx.x; + + const bool row_is_active = finished ? !finished[block_row] : true; + const int thread_read_offset = blockIdx.x * num_experts; + for (int k_idx = 0; k_idx < k; ++k_idx) + { + thread_kvp.key = 0; + thread_kvp.value = -1.f; // This is OK because inputs are probabilities + + cub_kvp inp_kvp; + for (int expert = threadIdx.x; expert < num_experts; expert += TPB) + { + const int idx = thread_read_offset + expert; + inp_kvp.key = expert; + inp_kvp.value = inputs_after_softmax[idx]; + + for (int prior_k = 0; prior_k < k_idx; ++prior_k) + { + const int prior_winning_expert = indices[k * block_row + prior_k]; + + if (prior_winning_expert == expert) + { + inp_kvp = thread_kvp; + } + } + + thread_kvp = arg_max(inp_kvp, thread_kvp); + } + + const cub_kvp result_kvp = BlockReduce(tmpStorage).Reduce(thread_kvp, arg_max); + if (threadIdx.x == 0) + { + // Ignore experts the node isn't responsible for with expert parallelism + const int expert = result_kvp.key; + const bool node_uses_expert = expert >= start_expert && expert < end_expert; + const bool should_process_row = row_is_active && node_uses_expert; + + const int idx = k * block_row + k_idx; + output[idx] = result_kvp.value; + indices[idx] = should_process_row ? (expert - start_expert) : num_experts; + assert(indices[idx] >= 0); + source_rows[idx] = k_idx * num_rows + block_row; + } + __syncthreads(); + } +} + +// ====================== TopK softmax things =============================== + +/* + A Top-K gating softmax written to exploit when the number of experts in the MoE layers + are a small power of 2. This allows us to cleanly share the rows among the threads in + a single warp and eliminate communication between warps (so no need to use shared mem). + + It fuses the softmax, max and argmax into a single kernel. + + Limitations: + 1) This implementation is intended for when the number of experts is a small power of 2. + 2) This implementation assumes k is small, but will work for any k. +*/ + +template +__launch_bounds__(WARPS_PER_CTA* WARP_SIZE) __global__ + void topkGatingSoftmax(const float* input, const bool* finished, float* output, const int num_rows, int* indices, + int* source_rows, const int k, const int start_expert, const int end_expert) +{ + // We begin by enforcing compile time assertions and setting up compile time constants. + static_assert(VPT == (VPT & -VPT), "VPT must be power of 2"); + static_assert(NUM_EXPERTS == (NUM_EXPERTS & -NUM_EXPERTS), "NUM_EXPERTS must be power of 2"); + static_assert(BYTES_PER_LDG == (BYTES_PER_LDG & -BYTES_PER_LDG), "BYTES_PER_LDG must be power of 2"); + static_assert(BYTES_PER_LDG <= 16, "BYTES_PER_LDG must be leq 16"); + + // Number of bytes each thread pulls in per load + static constexpr int ELTS_PER_LDG = BYTES_PER_LDG / sizeof(float); + static constexpr int ELTS_PER_ROW = NUM_EXPERTS; + static constexpr int THREADS_PER_ROW = ELTS_PER_ROW / VPT; + static constexpr int LDG_PER_THREAD = VPT / ELTS_PER_LDG; + + // Restrictions based on previous section. + static_assert(VPT % ELTS_PER_LDG == 0, "The elements per thread must be a multiple of the elements per ldg"); + static_assert(WARP_SIZE % THREADS_PER_ROW == 0, "The threads per row must cleanly divide the threads per warp"); + static_assert(THREADS_PER_ROW == (THREADS_PER_ROW & -THREADS_PER_ROW), "THREADS_PER_ROW must be power of 2"); + static_assert(THREADS_PER_ROW <= WARP_SIZE, "THREADS_PER_ROW can be at most warp size"); + + // We have NUM_EXPERTS elements per row. We specialize for small #experts + static constexpr int ELTS_PER_WARP = WARP_SIZE * VPT; + static constexpr int ROWS_PER_WARP = ELTS_PER_WARP / ELTS_PER_ROW; + static constexpr int ROWS_PER_CTA = WARPS_PER_CTA * ROWS_PER_WARP; + + // Restrictions for previous section. + static_assert(ELTS_PER_WARP % ELTS_PER_ROW == 0, "The elts per row must cleanly divide the total elt per warp"); + + // ===================== From this point, we finally start computing run-time variables. ======================== + + // Compute CTA and warp rows. We pack multiple rows into a single warp, and a block contains WARPS_PER_CTA warps. + // This, each block processes a chunk of rows. We start by computing the start row for each block. + const int cta_base_row = blockIdx.x * ROWS_PER_CTA; + + // Now, using the base row per thread block, we compute the base row per warp. + const int warp_base_row = cta_base_row + threadIdx.y * ROWS_PER_WARP; + + // The threads in a warp are split into sub-groups that will work on a row. + // We compute row offset for each thread sub-group + const int thread_row_in_warp = threadIdx.x / THREADS_PER_ROW; + const int thread_row = warp_base_row + thread_row_in_warp; + + // Threads with indices out of bounds should early exit here. + if (thread_row >= num_rows) + { + return; + } + const bool row_is_active = finished ? !finished[thread_row] : true; + + // We finally start setting up the read pointers for each thread. First, each thread jumps to the start of the + // row it will read. + const float* thread_row_ptr = input + thread_row * ELTS_PER_ROW; + + // Now, we compute the group each thread belong to in order to determine the first column to start loads. + const int thread_group_idx = threadIdx.x % THREADS_PER_ROW; + const int first_elt_read_by_thread = thread_group_idx * ELTS_PER_LDG; + const float* thread_read_ptr = thread_row_ptr + first_elt_read_by_thread; + + // Determine the pointer type to use to read in the data depending on the BYTES_PER_LDG template param. In theory, + // this can support all powers of 2 up to 16. + // NOTE(woosuk): The original implementation uses CUTLASS aligned array here. + // We defined our own aligned array and use it here to avoid the dependency on CUTLASS. + using AccessType = AlignedArray; + + // Finally, we pull in the data from global mem + float row_chunk[VPT]; + AccessType* row_chunk_vec_ptr = reinterpret_cast(&row_chunk); + const AccessType* vec_thread_read_ptr = reinterpret_cast(thread_read_ptr); +#pragma unroll + for (int ii = 0; ii < LDG_PER_THREAD; ++ii) + { + row_chunk_vec_ptr[ii] = vec_thread_read_ptr[ii * THREADS_PER_ROW]; + } + + // First, we perform a max reduce within the thread. We can do the max in fp16 safely (I think) and just + // convert to float afterwards for the exp + sum reduction. + float thread_max = row_chunk[0]; +#pragma unroll + for (int ii = 1; ii < VPT; ++ii) + { + thread_max = max(thread_max, row_chunk[ii]); + } + +// Now, we find the max within the thread group and distribute among the threads. We use a butterfly reduce. +#pragma unroll + for (int mask = THREADS_PER_ROW / 2; mask > 0; mask /= 2) + { + thread_max = max(thread_max, VLLM_SHFL_XOR_SYNC_WIDTH(thread_max, mask, THREADS_PER_ROW)); + } + + // From this point, thread max in all the threads have the max within the row. + // Now, we subtract the max from each element in the thread and take the exp. We also compute the thread local sum. + float row_sum = 0; +#pragma unroll + for (int ii = 0; ii < VPT; ++ii) + { + row_chunk[ii] = expf(row_chunk[ii] - thread_max); + row_sum += row_chunk[ii]; + } + +// Now, we perform the sum reduce within each thread group. Similar to the max reduce, we use a bufferfly pattern. +#pragma unroll + for (int mask = THREADS_PER_ROW / 2; mask > 0; mask /= 2) + { + row_sum += VLLM_SHFL_XOR_SYNC_WIDTH(row_sum, mask, THREADS_PER_ROW); + } + + // From this point, all threads have the max and the sum for their rows in the thread_max and thread_sum variables + // respectively. Finally, we can scale the rows for the softmax. Technically, for top-k gating we don't need to + // compute the entire softmax row. We can likely look at the maxes and only compute for the top-k values in the row. + // However, this kernel will likely not be a bottle neck and it seems better to closer match torch and find the + // argmax after computing the softmax. + const float reciprocal_row_sum = 1.f / row_sum; + +#pragma unroll + for (int ii = 0; ii < VPT; ++ii) + { + row_chunk[ii] = row_chunk[ii] * reciprocal_row_sum; + } + + // Now, softmax_res contains the softmax of the row chunk. Now, I want to find the topk elements in each row, along + // with the max index. + int start_col = first_elt_read_by_thread; + static constexpr int COLS_PER_GROUP_LDG = ELTS_PER_LDG * THREADS_PER_ROW; + + for (int k_idx = 0; k_idx < k; ++k_idx) + { + // First, each thread does the local argmax + float max_val = row_chunk[0]; + int expert = start_col; +#pragma unroll + for (int ldg = 0, col = start_col; ldg < LDG_PER_THREAD; ++ldg, col += COLS_PER_GROUP_LDG) + { +#pragma unroll + for (int ii = 0; ii < ELTS_PER_LDG; ++ii) + { + float val = row_chunk[ldg * ELTS_PER_LDG + ii]; + + // No check on the experts here since columns with the smallest index are processed first and only + // updated if > (not >=) + if (val > max_val) + { + max_val = val; + expert = col + ii; + } + } + } + +// Now, we perform the argmax reduce. We use the butterfly pattern so threads reach consensus about the max. +// This will be useful for K > 1 so that the threads can agree on "who" had the max value. That thread can +// then blank out their max with -inf and the warp can run more iterations... +#pragma unroll + for (int mask = THREADS_PER_ROW / 2; mask > 0; mask /= 2) + { + float other_max = VLLM_SHFL_XOR_SYNC_WIDTH(max_val, mask, THREADS_PER_ROW); + int other_expert = VLLM_SHFL_XOR_SYNC_WIDTH(expert, mask, THREADS_PER_ROW); + + // We want lower indices to "win" in every thread so we break ties this way + if (other_max > max_val || (other_max == max_val && other_expert < expert)) + { + max_val = other_max; + expert = other_expert; + } + } + + // Write the max for this k iteration to global memory. + if (thread_group_idx == 0) + { + // Add a guard to ignore experts not included by this node + const bool node_uses_expert = expert >= start_expert && expert < end_expert; + const bool should_process_row = row_is_active && node_uses_expert; + + // The lead thread from each sub-group will write out the final results to global memory. (This will be a + // single) thread per row of the input/output matrices. + const int idx = k * thread_row + k_idx; + output[idx] = max_val; + indices[idx] = should_process_row ? (expert - start_expert) : NUM_EXPERTS; + source_rows[idx] = k_idx * num_rows + thread_row; + } + + // Finally, we clear the value in the thread with the current max if there is another iteration to run. + if (k_idx + 1 < k) + { + const int ldg_group_for_expert = expert / COLS_PER_GROUP_LDG; + const int thread_to_clear_in_group = (expert / ELTS_PER_LDG) % THREADS_PER_ROW; + + // Only the thread in the group which produced the max will reset the "winning" value to -inf. + if (thread_group_idx == thread_to_clear_in_group) + { + const int offset_for_expert = expert % ELTS_PER_LDG; + // Safe to set to any negative value since row_chunk values must be between 0 and 1. + row_chunk[ldg_group_for_expert * ELTS_PER_LDG + offset_for_expert] = -10000.f; + } + } + } +} + +namespace detail +{ +// Constructs some constants needed to partition the work across threads at compile time. +template +struct TopkConstants +{ + static constexpr int ELTS_PER_LDG = BYTES_PER_LDG / sizeof(float); + static_assert(EXPERTS / (ELTS_PER_LDG * WARP_SIZE) == 0 || EXPERTS % (ELTS_PER_LDG * WARP_SIZE) == 0, ""); + static constexpr int VECs_PER_THREAD = MAX(1, EXPERTS / (ELTS_PER_LDG * WARP_SIZE)); + static constexpr int VPT = VECs_PER_THREAD * ELTS_PER_LDG; + static constexpr int THREADS_PER_ROW = EXPERTS / VPT; + static constexpr int ROWS_PER_WARP = WARP_SIZE / THREADS_PER_ROW; +}; +} // namespace detail + +template +void topkGatingSoftmaxLauncherHelper(const float* input, const bool* finished, float* output, int* indices, + int* source_row, const int num_rows, const int k, const int start_expert, const int end_expert, cudaStream_t stream) +{ + static constexpr std::size_t MAX_BYTES_PER_LDG = 16; + + static constexpr int BYTES_PER_LDG = MIN(MAX_BYTES_PER_LDG, sizeof(float) * EXPERTS); + using Constants = detail::TopkConstants; + static constexpr int VPT = Constants::VPT; + static constexpr int ROWS_PER_WARP = Constants::ROWS_PER_WARP; + const int num_warps = (num_rows + ROWS_PER_WARP - 1) / ROWS_PER_WARP; + const int num_blocks = (num_warps + WARPS_PER_TB - 1) / WARPS_PER_TB; + + dim3 block_dim(WARP_SIZE, WARPS_PER_TB); + topkGatingSoftmax<<>>( + input, finished, output, num_rows, indices, source_row, k, start_expert, end_expert); +} + +#define LAUNCH_SOFTMAX(NUM_EXPERTS, WARPS_PER_TB) \ + topkGatingSoftmaxLauncherHelper( \ + gating_output, nullptr, topk_weights, topk_indicies, \ + token_expert_indices, num_tokens, topk, 0, num_experts, \ + stream); + +void topkGatingSoftmaxKernelLauncher( + const float* gating_output, + float* topk_weights, + int* topk_indicies, + int* token_expert_indices, + float* softmax_workspace, + const int num_tokens, + const int num_experts, + const int topk, + cudaStream_t stream) { + static constexpr int WARPS_PER_TB = 4; + switch (num_experts) { + case 1: + LAUNCH_SOFTMAX(1, WARPS_PER_TB); + break; + case 2: + LAUNCH_SOFTMAX(2, WARPS_PER_TB); + break; + case 4: + LAUNCH_SOFTMAX(4, WARPS_PER_TB); + break; + case 8: + LAUNCH_SOFTMAX(8, WARPS_PER_TB); + break; + case 16: + LAUNCH_SOFTMAX(16, WARPS_PER_TB); + break; + case 32: + LAUNCH_SOFTMAX(32, WARPS_PER_TB); + break; + case 64: + LAUNCH_SOFTMAX(64, WARPS_PER_TB); + break; + case 128: + LAUNCH_SOFTMAX(128, WARPS_PER_TB); + break; + case 256: + LAUNCH_SOFTMAX(256, WARPS_PER_TB); + break; + default: { + TORCH_CHECK(softmax_workspace != nullptr, + "softmax_workspace must be provided for num_experts that are not a power of 2."); + static constexpr int TPB = 256; + moeSoftmax<<>>( + gating_output, nullptr, softmax_workspace, num_experts); + moeTopK<<>>( + softmax_workspace, nullptr, topk_weights, topk_indicies, token_expert_indices, + num_experts, topk, 0, num_experts); + } + } +} + +} // namespace moe +} // namespace vllm + +void topk_softmax( + torch::Tensor& topk_weights, // [num_tokens, topk] + torch::Tensor& topk_indices, // [num_tokens, topk] + torch::Tensor& token_expert_indices, // [num_tokens, topk] + torch::Tensor& gating_output) // [num_tokens, num_experts] +{ + const int num_experts = gating_output.size(-1); + const int num_tokens = gating_output.numel() / num_experts; + const int topk = topk_weights.size(-1); + + const bool is_pow_2 = (num_experts != 0) && ((num_experts & (num_experts - 1)) == 0); + const bool needs_workspace = !is_pow_2 || num_experts > 256; + const int64_t workspace_size = needs_workspace ? num_tokens * num_experts : 0; + + const at::cuda::OptionalCUDAGuard device_guard(device_of(gating_output)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + torch::Tensor softmax_workspace = torch::empty({workspace_size}, gating_output.options()); + vllm::moe::topkGatingSoftmaxKernelLauncher( + gating_output.data_ptr(), + topk_weights.data_ptr(), + topk_indices.data_ptr(), + token_expert_indices.data_ptr(), + softmax_workspace.data_ptr(), + num_tokens, + num_experts, + topk, + stream); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py new file mode 100644 index 000000000..0c34e1b7e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py @@ -0,0 +1,659 @@ +"""Fused MoE kernel.""" +import functools +import json +import os +from typing import Any, Dict, Optional, Tuple + +import torch +import triton +import triton.language as tl + +import moeKernels as moe_kernels +# from vllm import _custom_ops as ops +# # from vllm import envs +# # from vllm.logger import init_logger + +# from vllm import _custom_C + + +# logger = init_logger(__name__) +padding_size = 0 +# padding_size = 128 if envs.VLLM_MOE_PADDING else 0 + + +@triton.jit +def fused_moe_kernel( + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8: tl.constexpr, +): + """ + Implements the fused computation for a Mixture of Experts (MOE) using + token and expert matrices. + + Key Parameters: + - A: The input tensor representing tokens with shape (*, K), where '*' can + be any shape representing batches and K is the feature dimension of + each token. + - B: The stacked MOE weight tensor with shape (E, N, K), where E is + the number of experts, K is the input feature dimension, and N is + the output feature dimension. + - C: The output cache tensor with shape (M, topk, N), where M is the + total number of tokens post padding, topk is the number of times + each token is repeated, and N is the output feature dimension. + - sorted_token_ids: A tensor containing the sorted indices of tokens, + repeated topk times and arranged by the expert index they are + assigned to. + - expert_ids: A tensor containing the indices of the expert for each + block. It determines which expert matrix from B should be used for + each block in A. + This kernel performs the multiplication of a token by its corresponding + expert matrix as determined by `expert_ids`. The sorting of + `sorted_token_ids` by expert index and padding ensures divisibility by + BLOCK_SIZE_M, which is necessary to maintain consistency in block matrix + multiplication across different blocks processed by the same expert. + """ + # ----------------------------------------------------------- + # Map program ids `pid` to the block of C it should compute. + # This is done in a grouped ordering to promote L2 data reuse. + pid = tl.program_id(axis=0) + num_pid_m = tl.cdiv(EM, BLOCK_SIZE_M) + num_pid_n = tl.cdiv(N, BLOCK_SIZE_N) + num_pid_in_group = GROUP_SIZE_M * num_pid_n + group_id = pid // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((pid % num_pid_in_group) % group_size_m) + pid_n = (pid % num_pid_in_group) // group_size_m + + # ---------------------------------------------------------- + # Create pointers for the first blocks of A and B. + # We will advance this pointer as we move in the K direction + # and accumulate + # `a_ptrs` is a block of [BLOCK_SIZE_M, BLOCK_SIZE_K] pointers + # `b_ptrs` is a block of [BLOCK_SIZE_K, BLOCK_SIZE_N] pointers + num_tokens_post_padded = tl.load(num_tokens_post_padded_ptr) + if pid_m * BLOCK_SIZE_M >= num_tokens_post_padded: + return + offs_token_id = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M) + offs_token = tl.load(sorted_token_ids_ptr + offs_token_id) + token_mask = offs_token < num_valid_tokens + + offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N + offs_k = tl.arange(0, BLOCK_SIZE_K) + a_ptrs = a_ptr + (offs_token[:, None] // top_k * stride_am + + offs_k[None, :] * stride_ak) + + off_experts = tl.load(expert_ids_ptr + pid_m) + b_ptrs = (b_ptr + off_experts * stride_be+ + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)) + + if use_fp8: + a_scale = tl.load(a_scale_ptr) + b_scale = tl.load(b_scale_ptr + off_experts) + + # ----------------------------------------------------------- + # Iterate to compute a block of the C matrix. + # We accumulate into a `[BLOCK_SIZE_M, BLOCK_SIZE_N]` block + # of fp32 values for higher accuracy. + # `accumulator` will be converted back to fp16 after the loop. + accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32) + + for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): + # Load the next block of A and B, generate a mask by checking the + # K dimension. + a = tl.load( + a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=0.0, + ) + b = tl.load(b_ptrs, + mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, + other=0.0) + # We accumulate along the K dimension. + if use_fp8: + accumulator = tl.dot(a, b, acc=accumulator) + else: + accumulator += tl.dot(a, b) + # Advance the ptrs to the next K block. + a_ptrs += BLOCK_SIZE_K * stride_ak + b_ptrs += BLOCK_SIZE_K * stride_bk + + if MUL_ROUTED_WEIGHT: + moe_weight = tl.load(topk_weights_ptr + offs_token, + mask=token_mask, + other=0) + accumulator = accumulator * moe_weight[:, None] + + if use_fp8: + accumulator = (accumulator * a_scale * b_scale).to(compute_type) + else: + accumulator = accumulator.to(compute_type) + # ----------------------------------------------------------- + # Write back the block of the output + offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) + c_ptrs = (c_ptr + stride_cm * offs_token[:, None] + + stride_cn * offs_cn[None, :]) + c_mask = token_mask[:, None] & (offs_cn[None, :] < N) + tl.store(c_ptrs, accumulator, mask=c_mask) + + +def moe_align_block_size( + topk_ids: torch.Tensor, block_size: int, + num_experts: int) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + """ + Aligns the token distribution across experts to be compatible with block + size for matrix multiplication. + + Parameters: + - topk_ids: A tensor of shape [total_tokens, top_k] representing the + top-k expert indices for each token. + - block_size: The block size used in block matrix multiplication. + - num_experts: The total number of experts. + + Returns: + - sorted_token_ids: A tensor containing the sorted token indices according + to their allocated expert. + - expert_ids: A tensor indicating the assigned expert index for each block. + - num_tokens_post_padded: The total number of tokens after padding, + ensuring divisibility by block_size. + + This function pads the number of tokens that each expert needs to process + so that it is divisible by block_size. + Padding ensures that during block matrix multiplication, the dimensions + align correctly. + + Example: + Given topk_ids = [[2, 3, 4], [1, 2, 4], [1, 3, 4], [1, 2, 3]], + block_size = 4, and num_experts = 4: + - We initially have 12 tokens (after repeating 'top_k' times) and 4 experts, + with each expert needing to process 3 tokens. + - As block_size is 4, we pad 1 token for each expert. + - First, flatten topk_ids to [2, 3, 4, 1, 2, 4, 1, 3, 4, 1, 2, 3]. + - Then append padding tokens [12, 12, 12, 12] for each block. + - After sorting by expert index, we obtain token_ids + [3, 6, 9, 12, 0, 4, 10, 12, 1, 7, 11, 12, 2, 5, 8, 12]. + Tokens 12 are non-existent (padding) and are ignored in + the subsequent matrix multiplication. + - The padding ensures that the total number of tokens is now divisible + by block_size for proper block matrix operations. + """ + max_num_tokens_padded = topk_ids.numel() + num_experts * (block_size - 1) + sorted_ids = torch.empty((max_num_tokens_padded, ), + dtype=torch.int32, + device=topk_ids.device) + sorted_ids.fill_(topk_ids.numel()) + max_num_m_blocks = triton.cdiv(max_num_tokens_padded, block_size) + expert_ids = torch.empty((max_num_m_blocks, ), + dtype=torch.int32, + device=topk_ids.device) + num_tokens_post_pad = torch.empty((1), + dtype=torch.int32, + device=topk_ids.device) + moe_kernels.moe_align_block_size( + topk_ids, + num_experts, + block_size, + sorted_ids, + expert_ids, + num_tokens_post_pad, + ) + return sorted_ids, expert_ids, num_tokens_post_pad + +def invoke_mega_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, + topk_weights: torch.Tensor, topk_ids: torch.Tensor, + sorted_token_ids: torch.Tensor, + expert_ids: torch.Tensor, + num_tokens_post_padded: torch.Tensor, + m_blck_sz: int, mul_routed_weight: bool, top_k: int, + use_fp8: bool) -> None: + assert topk_weights.stride(1) == 1 + assert sorted_token_ids.stride(0) == 1 + + #print("\nm=",A.shape[0],"n=",B.shape[1],"k=",B.shape[2],"e=", B.shape[0], "ml_rt:",mul_routed_weight,"tpk",top_k, "\n") + _custom_C.wvSpltK_fsdMoe(#A, B, C, B.shape[1], 80) + A, + B, + C, + topk_weights, + topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + A.shape[0], + B.shape[1], + B.shape[2], + B.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + m_blck_sz, + mul_routed_weight, + top_k, + 80) + +def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, + A_scale: Optional[torch.Tensor], + B_scale: Optional[torch.Tensor], + topk_weights: torch.Tensor, topk_ids: torch.Tensor, + sorted_token_ids: torch.Tensor, + expert_ids: torch.Tensor, + num_tokens_post_padded: torch.Tensor, + mul_routed_weight: bool, top_k: int, + config: Dict[str, Any], compute_type: tl.dtype, + use_fp8: bool) -> None: + assert topk_weights.stride(1) == 1 + assert sorted_token_ids.stride(0) == 1 + + if not use_fp8: + assert A_scale is None + assert B_scale is None + else: + A, A_scale = ops.scaled_fp8_quant(A, A_scale) + assert B_scale is not None + + grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ + "BLOCK_SIZE_M"]) * triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]), ) + + fused_moe_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + B.shape[2] - padding_size, + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8=use_fp8, + **config, + ) + + +def get_config_file_name(E: int, N: int, dtype: Optional[str]) -> str: + device_name = torch.cuda.get_device_name().replace(" ", "_") + dtype_selector = "" if not dtype else f",dtype={dtype}" + return f"E={E},N={N},device_name={device_name}{dtype_selector}.json" + + +@functools.lru_cache +def get_moe_configs(E: int, N: int, + dtype: Optional[str]) -> Optional[Dict[int, Any]]: + """ + Return optimized configurations for the fused MoE kernel. + + The return value will be a dictionary that maps an irregular grid of + batch sizes to configurations of the fused_moe kernel. To evaluate the + kernel on a given batch size bs, the closest batch size in the grid should + be picked and the associated configuration chosen to invoke the kernel. + """ + + # First look up if an optimized configuration is available in the configs + # directory + json_file_name = get_config_file_name(E, N, dtype) + + config_file_path = os.path.join( + os.path.dirname(os.path.realpath(__file__)), "configs", json_file_name) + if os.path.exists(config_file_path): + with open(config_file_path) as f: + logger.info("Using configuration from %s for MoE layer.", + config_file_path) + # If a configuration has been found, return it + return {int(key): val for key, val in json.load(f).items()} + + # If no optimized configuration is available, we will use the default + # configuration + return None + + +def fused_topk( + hidden_states: torch.Tensor, + gating_output: torch.Tensor, + topk: int, + renormalize: bool, +): + assert hidden_states.shape[0] == gating_output.shape[0], ( + "Number of tokens mismatch") + + M, _ = hidden_states.shape + + topk_weights = torch.empty(M, + topk, + dtype=torch.float32, + device=hidden_states.device) + topk_ids = torch.empty(M, + topk, + dtype=torch.int32, + device=hidden_states.device) + token_expert_indicies = torch.empty(M, + topk, + dtype=torch.int32, + device=hidden_states.device) + moe_kernels.topk_softmax( + topk_weights, + topk_ids, + token_expert_indicies, + gating_output.float(), # TODO(woosuk): Optimize this. + ) + # print('topk_weights: ', topk_weights.shape) + del token_expert_indicies # Not used. Will be used in the future. + + if renormalize: + topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + return topk_weights, topk_ids + + +def fused_experts(hidden_states: torch.Tensor, + w1: torch.Tensor, + w2: torch.Tensor, + topk_weights: torch.Tensor, + topk_ids: torch.Tensor, + inplace: bool = False, + override_config: Optional[Dict[str, Any]] = None, + use_fp8: bool = False, + w1_scale: Optional[torch.Tensor] = None, + w2_scale: Optional[torch.Tensor] = None, + a1_scale: Optional[torch.Tensor] = None, + a2_scale: Optional[torch.Tensor] = None): + # if int(os.environ.get("LOCAL_RANK", "0"))==0: + # print(f'{hidden_states.shape=}') + # print(f'{hidden_states=}') + # print('w1: ', w1.shape) + # print('w2: ', w2.shape) + # print(f'{topk_ids=}') + # print(f'{topk_weights=}') + # Check constraints. + #print("hidenSize:", hidden_states.shape) + #print("hidenSize:", w1.shape[2]) + assert hidden_states.shape[1] == w1.shape[2] - padding_size, "Hidden size mismatch" + assert topk_weights.shape == topk_ids.shape, "topk shape mismatch" + assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" + assert w1.is_contiguous(), "Expert weights1 must be contiguous" + assert w2.is_contiguous(), "Expert weights2 must be contiguous" + assert hidden_states.dtype in [ + torch.float32, torch.float16, torch.bfloat16 + ] + + M, _ = hidden_states.shape + E, N, _ = w1.shape + + if override_config: + config = override_config + else: + # First try to load optimal config from the file + configs = get_moe_configs(E, w2.shape[2] - padding_size, + "float8" if use_fp8 else None) + + if configs: + # If an optimal configuration map has been found, look up the + # optimal config + config = configs[min(configs.keys(), key=lambda x: abs(x - M))] + else: + # Else use the default config + config = { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 8, + } + + if M <= E: + config = { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 32, + "BLOCK_SIZE_K": 64, + "GROUP_SIZE_M": 1, + } + + intermediate_cache1 = torch.empty( + (M, topk_ids.shape[1], N), + device=hidden_states.device, + dtype=hidden_states.dtype, + ) + intermediate_cache2 = torch.empty( + (M * topk_ids.shape[1], N // 2), + device=hidden_states.device, + dtype=hidden_states.dtype, + ) + intermediate_cache3 = torch.empty( + (M, topk_ids.shape[1], w2.shape[1]), + device=hidden_states.device, + dtype=hidden_states.dtype, + ) + + compute_type = (tl.bfloat16 + if hidden_states.dtype == torch.bfloat16 else tl.float16) + #print(hidden_states.shape) + #print(intermediate_cache2.shape) + #print("M1:", hidden_states.shape[0], "M2:", intermediate_cache2.shape[0]) + #if hidden_states.shape[0] <= 256 and hidden_states.shape[1] % 8 == 0 and intermediate_cache2.shape[0] <= 256 and not use_fp8 : + + #WVSPLTK_M_THRSHLD = 64 + #m_blck_sz = -(-(M*topk_ids.shape[1]*3)//E) # target 75% of expert distribution for this M size + #if (m_blck_sz >= 12): + # m_blck_sz = 16 + + m_blck_sz = 32 # all calls go to wvSplitK_mfma16x16 + + #if hidden_states.shape[0] <= WVSPLTK_M_THRSHLD \ + # and hidden_states.shape[1] % 8 == 0 \ + # and intermediate_cache2.shape[0] <= WVSPLTK_M_THRSHLD \ + # and intermediate_cache2.shape[1] % 8 == 0 \ + # and not use_fp8 : + if 0: + #print("M:", M, " M_BLOCK PICKED:", m_blck_sz) + sorted_token_ids, expert_ids, num_tokens_post_padded = moe_align_block_size( + topk_ids, m_blck_sz, E) # target 75% of expert distribution for this M size + #topk_ids, config2['BLOCK_SIZE_M'],E) + #print("\nsrtd_tkn:", sorted_token_ids) + #print("w1Shape:",w1.shape) + print('sorted_token_ids: ', sorted_token_ids, sorted_token_ids.shape) + print('expert_ids: ', expert_ids) + print('num_tokens_post_padded: ', num_tokens_post_padded) + + #env VLLM_MOE_MFMASWIZZLE does this swizzle on init + w1_ = w1 + w2_ = w2 + if not envs.VLLM_MOE_MFMASWIZZLE : + if m_blck_sz >= 16 : + w1_ = torch.clone(w1) + w1_ = w1_.view(w1.shape[0], w1.shape[1]//16, 16, w1.shape[2]//128, 16, 8); + w1_ = w1_.permute(0, 1, 4, 3, 2, 5) + w1_ = w1_.contiguous() + w1_ = w1_.view(w1.shape[0],w1.shape[1],w1.shape[2]); + w2_ = torch.clone(w2) + w2_ = w2_.view(w2.shape[0], w2.shape[1]//16, 16, w2.shape[2]//128, 16, 8); + w2_ = w2_.permute(0, 1, 4, 3, 2, 5) + w2_ = w2_.contiguous() + w2_ = w2_.view(w2.shape[0],w2.shape[1],w2.shape[2]); + + #print(w1_) + + invoke_mega_fused_moe_kernel(hidden_states, + w1_, + intermediate_cache1, + topk_weights, + topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + m_blck_sz, + False, + topk_ids.shape[1], + use_fp8=use_fp8) + #print("shdr_invk1:",intermediate_cache1.view(-1, N)) + moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) + #print("shdr_silu:",intermediate_cache2) + #print("shdr_silu_shape:", intermediate_cache2.shape) + #print("-----------------------------") + + invoke_mega_fused_moe_kernel(intermediate_cache2, + w2_, + intermediate_cache3, + topk_weights, + topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + m_blck_sz, + True, + 1, + use_fp8=use_fp8) + + else: + sorted_token_ids, expert_ids, num_tokens_post_padded = moe_align_block_size( + topk_ids, config['BLOCK_SIZE_M'], E) + invoke_fused_moe_kernel(hidden_states, + w1, + intermediate_cache1, + a1_scale, + w1_scale, + topk_weights, + topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + False, + topk_ids.shape[1], + config, + compute_type=compute_type, + use_fp8=use_fp8) + + moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) + + invoke_fused_moe_kernel(intermediate_cache2, + w2, + intermediate_cache3, + a2_scale, + w2_scale, + topk_weights, + topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + True, + 1, + config, + compute_type=compute_type, + use_fp8=use_fp8) + + if inplace: + return torch.sum( + intermediate_cache3.view(*intermediate_cache3.shape), + dim=1, + out=hidden_states, + ) + return torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), + dim=1) + + +def fused_moe( + hidden_states: torch.Tensor, + w1: torch.Tensor, + w2: torch.Tensor, + gating_output: torch.Tensor, + topk: int, + renormalize: bool, + inplace: bool = False, + override_config: Optional[Dict[str, Any]] = None, + use_fp8: bool = False, + w1_scale: Optional[torch.Tensor] = None, + w2_scale: Optional[torch.Tensor] = None, + a1_scale: Optional[torch.Tensor] = None, + a2_scale: Optional[torch.Tensor] = None, +) -> torch.Tensor: + """ + This function computes a Mixture of Experts (MoE) layer using two sets of + weights, w1 and w2, and top-k gating mechanism. + + Parameters: + - hidden_states (torch.Tensor): The input tensor to the MoE layer. + - w1 (torch.Tensor): The first set of expert weights. + - w2 (torch.Tensor): The second set of expert weights. + - gating_output (torch.Tensor): The output of the gating operation + (before softmax). + - topk (int): The number of top-k experts to select. + - renormalize (bool): If True, renormalize the top-k weights to sum to 1. + - inplace (bool): If True, perform the operation in-place. + Defaults to False. + - override_config (Optional[Dict[str, Any]]): Optional override + for the kernel configuration. + - use_fp8 (bool): If True, use fp8 arithmetic to compute the inner + products for w1 and w2. Defaults to False. + - w1_scale (Optional[torch.Tensor]): Optional scale to be used for + w1. + - w2_scale (Optional[torch.Tensor]): Optional scale to be used for + w2. + + Returns: + - torch.Tensor: The output tensor after applying the MoE layer. + """ + # Check constraints. + assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" + + topk_weights, topk_ids = fused_topk(hidden_states, gating_output, topk, + renormalize) + return fused_experts(hidden_states, + w1, + w2, + topk_weights, + topk_ids, + inplace=inplace, + override_config=override_config, + use_fp8=use_fp8, + w1_scale=w1_scale, + w2_scale=w2_scale, + a1_scale=a1_scale, + a2_scale=a2_scale) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py new file mode 100644 index 000000000..4fb0d9406 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py @@ -0,0 +1,241 @@ +import sys +import warnings +import os +import re +import ast +import shutil +from pathlib import Path +from packaging.version import parse, Version +import platform + +from setuptools import setup, find_packages +import subprocess + +import urllib.request +import urllib.error +from wheel.bdist_wheel import bdist_wheel as _bdist_wheel + +import torch +from torch.utils.cpp_extension import ( + BuildExtension, + CppExtension, + CUDAExtension, + CUDA_HOME, + ROCM_HOME, + IS_HIP_EXTENSION, +) + + +this_dir = os.path.dirname(os.path.abspath(__file__)) +PACKAGE_NAME='moeKernels' +BUILD_TARGET = os.environ.get("BUILD_TARGET", "auto") + +if BUILD_TARGET == "auto": + if IS_HIP_EXTENSION: + IS_ROCM = True + else: + IS_ROCM = False +else: + if BUILD_TARGET == "cuda": + IS_ROCM = False + elif BUILD_TARGET == "rocm": + IS_ROCM = True + +FORCE_CXX11_ABI=False + +def get_platform(): + """ + Returns the platform name as used in wheel filenames. + """ + if sys.platform.startswith("linux"): + return f'linux_{platform.uname().machine}' + elif sys.platform == "darwin": + mac_version = ".".join(platform.mac_ver()[0].split(".")[:2]) + return f"macosx_{mac_version}_x86_64" + elif sys.platform == "win32": + return "win_amd64" + else: + raise ValueError("Unsupported platform: {}".format(sys.platform)) + + +def get_cuda_bare_metal_version(cuda_dir): + raw_output = subprocess.check_output([cuda_dir + "/bin/nvcc", "-V"], universal_newlines=True) + output = raw_output.split() + release_idx = output.index("release") + 1 + bare_metal_version = parse(output[release_idx].split(",")[0]) + + return raw_output, bare_metal_version + + +def check_if_cuda_home_none(global_option: str) -> None: + if CUDA_HOME is not None: + return + # warn instead of error because user could be downloading prebuilt wheels, so nvcc won't be necessary + # in that case. + warnings.warn( + f"{global_option} was requested, but nvcc was not found. Are you sure your environment has nvcc available? " + "If you're installing within a container from https://hub.docker.com/r/pytorch/pytorch, " + "only images whose names contain 'devel' will provide nvcc." + ) + + +def check_if_rocm_home_none(global_option: str) -> None: + if ROCM_HOME is not None: + return + # warn instead of error because user could be downloading prebuilt wheels, so hipcc won't be necessary + # in that case. + warnings.warn( + f"{global_option} was requested, but hipcc was not found." + ) + + +def append_nvcc_threads(nvcc_extra_args): + nvcc_threads = os.getenv("NVCC_THREADS") or "4" + return nvcc_extra_args + ["--threads", nvcc_threads] + + +def rename_cpp_to_cu(pth): + ret=[] + dst=pth.replace('csrc','build') + for entry in os.listdir(pth): + if entry.endswith(".cpp") or entry.endswith(".cu"): + newName=entry.replace(".cpp", ".cu") + shutil.copy(f'{pth}/{entry}', f'{dst}/{newName}') + ret.append(f'{dst}/{newName}') + return ret + + +def validate_and_update_archs(archs): + # List of allowed architectures + allowed_archs = ["native", "gfx90a", "gfx940", "gfx941", "gfx942", "gfx1100"] + + # Validate if each element in archs is in allowed_archs + assert all( + arch in allowed_archs for arch in archs + ), f"One of GPU archs of {archs} is invalid or not supported by Flash-Attention" + + +cmdclass = {} +ext_modules = [] + +if IS_ROCM: + #use codegen get code dispatch + if not os.path.exists(f"{this_dir}/build"): + os.makedirs(f"{this_dir}/build") + + print(f"\n\ntorch.__version__ = {torch.__version__}\n\n") + TORCH_MAJOR = int(torch.__version__.split(".")[0]) + TORCH_MINOR = int(torch.__version__.split(".")[1]) + + # Check, if ATen/CUDAGeneratorImpl.h is found, otherwise use ATen/cuda/CUDAGeneratorImpl.h + # See https://github.com/pytorch/pytorch/pull/70650 + generator_flag = [] + torch_dir = torch.__path__[0] + if os.path.exists(os.path.join(torch_dir, "include", "ATen", "CUDAGeneratorImpl.h")): + generator_flag = ["-DOLD_GENERATOR_PATH"] + + cc_flag = [] + + archs = os.getenv("GPU_ARCHS", "native").split(";") + validate_and_update_archs(archs) + + cc_flag = [f"--offload-arch={arch}" for arch in archs] + + # HACK: The compiler flag -D_GLIBCXX_USE_CXX11_ABI is set to be the same as + # torch._C._GLIBCXX_USE_CXX11_ABI + # https://github.com/pytorch/pytorch/blob/8472c24e3b5b60150096486616d98b7bea01500b/torch/utils/cpp_extension.py#L920 + if FORCE_CXX11_ABI: + torch._C._GLIBCXX_USE_CXX11_ABI = True + + + renamed_sources=rename_cpp_to_cu(f"{this_dir}/csrc") + + extra_compile_args = { + "cxx": ["-O3", "-std=c++17"] + generator_flag, + "nvcc": + [ + "-O3","-std=c++17", + "-mllvm", "-enable-post-misched=0", + "-DUSE_PROF_API=1", + "-D__HIP_PLATFORM_HCC__=1", + "-D__HIP_PLATFORM_AMD__=1", + "-U__HIP_NO_HALF_CONVERSIONS__", + "-U__HIP_NO_HALF_OPERATORS__" + ] + + generator_flag + + cc_flag + , + } + + include_dirs = [ + f"{this_dir}/csrc", + ] + + ext_modules.append( + CUDAExtension( + name=PACKAGE_NAME, + sources=renamed_sources, + extra_compile_args=extra_compile_args, + include_dirs=include_dirs, + ) + ) +else: + raise NotImplementedError("Only ROCM is supported") + +class NinjaBuildExtension(BuildExtension): + def __init__(self, *args, **kwargs) -> None: + # do not override env MAX_JOBS if already exists + if not os.environ.get("MAX_JOBS"): + import psutil + + # calculate the maximum allowed NUM_JOBS based on cores + max_num_jobs_cores = max(1, os.cpu_count() // 2) + + # calculate the maximum allowed NUM_JOBS based on free memory + free_memory_gb = psutil.virtual_memory().available / (1024 ** 3) # free memory in GB + max_num_jobs_memory = int(free_memory_gb / 9) # each JOB peak memory cost is ~8-9GB when threads = 4 + + # pick lower value of jobs based on cores vs memory metric to minimize oom and swap usage during compilation + max_jobs = max(1, min(max_num_jobs_cores, max_num_jobs_memory)) + os.environ["MAX_JOBS"] = str(max_jobs) + + super().__init__(*args, **kwargs) + + +setup( + name=PACKAGE_NAME, + version= "0.1.0", + packages=find_packages( + exclude=( + "build", + "csrc", + "include", + "tests", + "dist", + "docs", + "benchmarks", + ) + ), + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: BSD License", + "Operating System :: Unix", + ], + ext_modules=ext_modules, + cmdclass={"build_ext": NinjaBuildExtension}, + python_requires=">=3.8", + install_requires=[ + "torch", + "einops", + ], + setup_requires=[ + "packaging", + "psutil", + "ninja", + ], +) +if os.path.exists(f"{this_dir}/build"): + shutil.rmtree(f"{this_dir}/build") + shutil.rmtree(f"./.eggs") + shutil.rmtree(f"./build") + shutil.rmtree(f"./moeKernels.egg-info") \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/gpu_ckpt_loader.py b/byte_infer_perf/llm_perf/backends/ROCM/gpu_ckpt_loader.py new file mode 100644 index 000000000..8bbc799d3 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/gpu_ckpt_loader.py @@ -0,0 +1,51 @@ +import torch +import torch.distributed as dist + +from llm_perf.core.ckpt_loader import CoreCkptLoader + +class GpuCkptLoader(CoreCkptLoader): + def __init__( + self, + prefix, model, + mp_size=1, mp_rank=0, + ckpt_path: str="" + ): + super().__init__(prefix, model, mp_size, mp_rank, ckpt_path) + + + def weight_to_device(self, weight : torch.Tensor, non_blocking=False): + if self.mp_rank == 0: + weight = weight.cuda(non_blocking=non_blocking) + else: + cur_device = torch.cuda.current_device() + weight = torch.empty_like(weight, device=f"cuda:{cur_device}") + return weight + + + def broadcast_weight(self, key, device='cpu', non_blocking=False): + if self.mp_rank != 0: + tensor_shape = self.state_dict[key]["shape"] + tensor_dtype = self.state_dict[key]["dtype"] + tensor = torch.empty(tensor_shape, dtype=tensor_dtype) + else: + tensor = self.state_dict[key].cpu() + tensor_gpu = self.weight_to_device(tensor, non_blocking=non_blocking) + dist.broadcast(tensor_gpu, src=0) + self.state_dict[key] = tensor_gpu + + + def scatter_weight(self, key, dim, split_mode='default', outter=1, device='cpu', non_blocking=False): + self.broadcast_weight(key, non_blocking=non_blocking) + weight = self.state_dict[key] + + if split_mode == 'default': + weight_split = self.split(weight, dim) + elif split_mode == 'with_outter': + weight_split = self.with_outter_split(weight, dim, outter) + elif split_mode == 'split_outter': + weight_split = self.split(weight, dim, outter) + else: + assert False, f"unknown split mode {split_mode}" + + weight_split = [x.contiguous() for x in weight_split] + self.state_dict[key] = weight_split[self.mp_rank] diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/__init__.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/__init__.py new file mode 100644 index 000000000..94342ee5f --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/__init__.py @@ -0,0 +1,26 @@ +## __all__ is a dict: +## key is model_name in `model_zoo/chatglm-xx.json` +## value is vendor specify model impl +# __all__ = { +# "chatglm" : ChatGLMForConditionalGeneration, +# "chatglm2" : ChatGLM2ForConditionalGeneration +# } + +from typing import Dict, Tuple, Any + +import torch +import torch.nn as nn + +# from .gpu_chatglm2 import GPUChatGLM2 +# from .gpu_llama3 import GPULlama +# from .gpu_falcon import GPUFalcon +from .rocm_mixtral import GPUMixtral + +from llm_perf.utils.logger import logger + +__all__ = { + # "chatglm2": GPUChatGLM2, + # "llama3": GPULlama, + # "falcon": GPUFalcon, + "mixtral": GPUMixtral +} \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py new file mode 100644 index 000000000..c64292e4e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -0,0 +1,1392 @@ +# coding=utf-8 +# Copyright 2023 Mistral AI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" PyTorch Mixtral model.""" +import os +import inspect +import math +import warnings +from typing import List, Optional, Tuple, Union + +import torch +import torch.nn.functional as F +import torch.utils.checkpoint +from torch import nn +from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss +import torch.distributed as dist + +from transformers.activations import ACT2FN +from transformers.cache_utils import Cache, DynamicCache +from transformers.modeling_attn_mask_utils import ( + _prepare_4d_causal_attention_mask, + _prepare_4d_causal_attention_mask_for_sdpa, +) +from transformers.modeling_outputs import ( + MoeCausalLMOutputWithPast, + MoeModelOutputWithPast, + SequenceClassifierOutputWithPast, +) +from transformers.modeling_utils import PreTrainedModel +from transformers.pytorch_utils import is_torch_greater_or_equal_than_1_13 +from transformers.utils import ( + add_start_docstrings, + add_start_docstrings_to_model_forward, + is_flash_attn_2_available, + is_flash_attn_greater_or_equal_2_10, + logging, + replace_return_docstrings, +) +from transformers.utils.import_utils import is_torch_fx_available +from transformers.models.mixtral.configuration_mixtral import MixtralConfig + +from ..fused_moe.fused_moe import fused_moe + +if is_flash_attn_2_available(): + from flash_attn import flash_attn_func, flash_attn_varlen_func + from flash_attn.bert_padding import index_first_axis, pad_input, unpad_input # noqa + + _flash_supports_window_size = "window_size" in list(inspect.signature(flash_attn_func).parameters) + +# This makes `_prepare_4d_causal_attention_mask` a leaf function in the FX graph. +# It means that the function will not be traced through and simply appear as a node in the graph. +if is_torch_fx_available(): + if not is_torch_greater_or_equal_than_1_13: + import torch.fx + + _prepare_4d_causal_attention_mask = torch.fx.wrap(_prepare_4d_causal_attention_mask) + + +logger = logging.get_logger(__name__) + +_CONFIG_FOR_DOC = "MixtralConfig" + + +def load_balancing_loss_func( + gate_logits: torch.Tensor, num_experts: torch.Tensor = None, top_k=2, attention_mask: Optional[torch.Tensor] = None +) -> float: + r""" + Computes auxiliary load balancing loss as in Switch Transformer - implemented in Pytorch. + + See Switch Transformer (https://arxiv.org/abs/2101.03961) for more details. This function implements the loss + function presented in equations (4) - (6) of the paper. It aims at penalizing cases where the routing between + experts is too unbalanced. + + Args: + gate_logits (Union[`torch.Tensor`, Tuple[torch.Tensor]): + Logits from the `gate`, should be a tuple of model.config.num_hidden_layers tensors of + shape [batch_size X sequence_length, num_experts]. + attention_mask (`torch.Tensor`, None): + The attention_mask used in forward function + shape [batch_size X sequence_length] if not None. + num_experts (`int`, *optional*): + Number of experts + + Returns: + The auxiliary loss. + """ + if gate_logits is None or not isinstance(gate_logits, tuple): + return 0 + + if isinstance(gate_logits, tuple): + compute_device = gate_logits[0].device + concatenated_gate_logits = torch.cat([layer_gate.to(compute_device) for layer_gate in gate_logits], dim=0) + + routing_weights = torch.nn.functional.softmax(concatenated_gate_logits, dim=-1) + + _, selected_experts = torch.topk(routing_weights, top_k, dim=-1) + + expert_mask = torch.nn.functional.one_hot(selected_experts, num_experts) + + if attention_mask is None: + # Compute the percentage of tokens routed to each experts + tokens_per_expert = torch.mean(expert_mask.float(), dim=0) + + # Compute the average probability of routing to these experts + router_prob_per_expert = torch.mean(routing_weights, dim=0) + else: + batch_size, sequence_length = attention_mask.shape + num_hidden_layers = concatenated_gate_logits.shape[0] // (batch_size * sequence_length) + + # Compute the mask that masks all padding tokens as 0 with the same shape of expert_mask + expert_attention_mask = ( + attention_mask[None, :, :, None, None] + .expand((num_hidden_layers, batch_size, sequence_length, top_k, num_experts)) + .reshape(-1, top_k, num_experts) + .to(compute_device) + ) + + # Compute the percentage of tokens routed to each experts + tokens_per_expert = torch.sum(expert_mask.float() * expert_attention_mask, dim=0) / torch.sum( + expert_attention_mask, dim=0 + ) + + # Compute the mask that masks all padding tokens as 0 with the same shape of tokens_per_expert + router_per_expert_attention_mask = ( + attention_mask[None, :, :, None] + .expand((num_hidden_layers, batch_size, sequence_length, num_experts)) + .reshape(-1, num_experts) + .to(compute_device) + ) + + # Compute the average probability of routing to these experts + router_prob_per_expert = torch.sum(routing_weights * router_per_expert_attention_mask, dim=0) / torch.sum( + router_per_expert_attention_mask, dim=0 + ) + + overall_loss = torch.sum(tokens_per_expert * router_prob_per_expert.unsqueeze(0)) + return overall_loss * num_experts + + +# Copied from transformers.models.llama.modeling_llama._get_unpad_data +def _get_unpad_data(attention_mask): + seqlens_in_batch = attention_mask.sum(dim=-1, dtype=torch.int32) + indices = torch.nonzero(attention_mask.flatten(), as_tuple=False).flatten() + max_seqlen_in_batch = seqlens_in_batch.max().item() + cu_seqlens = F.pad(torch.cumsum(seqlens_in_batch, dim=0, dtype=torch.int32), (1, 0)) + return ( + indices, + cu_seqlens, + max_seqlen_in_batch, + ) + + +# Copied from transformers.models.llama.modeling_llama.LlamaRMSNorm with Llama->Mixtral +class MixtralRMSNorm(nn.Module): + def __init__(self, hidden_size, eps=1e-6): + """ + MixtralRMSNorm is equivalent to T5LayerNorm + """ + super().__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + variance = hidden_states.pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + return self.weight * hidden_states.to(input_dtype) + + +# Copied from transformers.models.mistral.modeling_mistral.MistralRotaryEmbedding with Mistral->Mixtral +class MixtralRotaryEmbedding(nn.Module): + def __init__(self, dim, max_position_embeddings=2048, base=10000, device=None): + super().__init__() + + self.dim = dim + self.max_position_embeddings = max_position_embeddings + self.base = base + inv_freq = 1.0 / (self.base ** (torch.arange(0, self.dim, 2, dtype=torch.int64).float().to(device) / self.dim)) + self.register_buffer("inv_freq", inv_freq, persistent=False) + + # Build here to make `torch.jit.trace` work. + self._set_cos_sin_cache( + seq_len=max_position_embeddings, device=self.inv_freq.device, dtype=torch.get_default_dtype() + ) + + def _set_cos_sin_cache(self, seq_len, device, dtype): + self.max_seq_len_cached = seq_len + t = torch.arange(self.max_seq_len_cached, device=device, dtype=torch.int64).type_as(self.inv_freq) + + freqs = torch.outer(t, self.inv_freq) + # Different from paper, but it uses a different permutation in order to obtain the same calculation + emb = torch.cat((freqs, freqs), dim=-1) + self.register_buffer("cos_cached", emb.cos().to(dtype), persistent=False) + self.register_buffer("sin_cached", emb.sin().to(dtype), persistent=False) + + def forward(self, x, seq_len=None): + # x: [bs, num_attention_heads, seq_len, head_size] + if seq_len > self.max_seq_len_cached: + self._set_cos_sin_cache(seq_len=seq_len, device=x.device, dtype=x.dtype) + + return ( + self.cos_cached[:seq_len].to(dtype=x.dtype), + self.sin_cached[:seq_len].to(dtype=x.dtype), + ) + + +# Copied from transformers.models.llama.modeling_llama.rotate_half +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +# Copied from transformers.models.mistral.modeling_mistral.apply_rotary_pos_emb +def apply_rotary_pos_emb(q, k, cos, sin, position_ids, unsqueeze_dim=1): + """Applies Rotary Position Embedding to the query and key tensors. + + Args: + q (`torch.Tensor`): The query tensor. + k (`torch.Tensor`): The key tensor. + cos (`torch.Tensor`): The cosine part of the rotary embedding. + sin (`torch.Tensor`): The sine part of the rotary embedding. + position_ids (`torch.Tensor`): + The position indices of the tokens corresponding to the query and key tensors. For example, this can be + used to pass offsetted position ids when working with a KV-cache. + unsqueeze_dim (`int`, *optional*, defaults to 1): + The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and + sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note + that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and + k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes + cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have + the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2. + Returns: + `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding. + """ + cos = cos[position_ids].unsqueeze(unsqueeze_dim) + sin = sin[position_ids].unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +# Copied from transformers.models.llama.modeling_llama.repeat_kv +def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: + """ + This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch, + num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim) + """ + batch, num_key_value_heads, slen, head_dim = hidden_states.shape + if n_rep == 1: + return hidden_states + hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim) + return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) + + +# Copied from transformers.models.mistral.modeling_mistral.MistralAttention with Mistral->Mixtral +class MixtralAttention(nn.Module): + """ + Multi-headed attention from 'Attention Is All You Need' paper. Modified to use sliding window attention: Longformer + and "Generating Long Sequences with Sparse Transformers". + """ + + def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): + # dist info + self.mp_size = int(os.environ.get("WORLD_SIZE", "1")) + self.local_rank = int(os.environ.get("LOCAL_RANK", "0")) + + super().__init__() + self.config = config + self.layer_idx = layer_idx + if layer_idx is None: + logger.warning_once( + f"Instantiating {self.__class__.__name__} without passing a `layer_idx` is not recommended and will " + "lead to errors during the forward call if caching is used. Please make sure to provide a `layer_idx` " + "when creating this class." + ) + + self.hidden_size = config.hidden_size + self.num_heads = config.num_attention_heads + self.head_dim = self.hidden_size // self.num_heads + self.num_key_value_heads = config.num_key_value_heads + self.num_key_value_groups = self.num_heads // self.num_key_value_heads + self.max_position_embeddings = config.max_position_embeddings + self.rope_theta = config.rope_theta + self.is_causal = True + self.attention_dropout = config.attention_dropout + + if (self.head_dim * self.num_heads) != self.hidden_size: + raise ValueError( + f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}" + f" and `num_heads`: {self.num_heads})." + ) + self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim // self.mp_size, bias=False) + self.k_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) + self.v_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) + self.o_proj = nn.Linear(self.num_heads * self.head_dim // self.mp_size, self.hidden_size, bias=False) + + self.rotary_emb = MixtralRotaryEmbedding( + self.head_dim, + max_position_embeddings=self.max_position_embeddings, + base=self.rope_theta, + ) + + self.num_heads = self.num_heads // self.mp_size + self.num_key_value_heads = self.num_key_value_heads // self.mp_size + + + def _shape(self, tensor: torch.Tensor, seq_len: int, bsz: int): + return tensor.view(bsz, seq_len, self.num_heads, self.head_dim).transpose(1, 2).contiguous() + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + **kwargs, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + if "padding_mask" in kwargs: + warnings.warn( + "Passing `padding_mask` is deprecated and will be removed in v4.37. Please make sure use `attention_mask` instead.`" + ) + bsz, q_len, _ = hidden_states.size() + + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + + kv_seq_len = key_states.shape[-2] + if past_key_value is not None: + if self.layer_idx is None: + raise ValueError( + f"The cache structure has changed since version v4.36. If you are using {self.__class__.__name__} " + "for auto-regressive decoding with k/v caching, please make sure to initialize the attention class " + "with a layer index." + ) + kv_seq_len += past_key_value.get_usable_length(kv_seq_len, self.layer_idx) + cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len) + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + + if past_key_value is not None: + cache_kwargs = {"sin": sin, "cos": cos} # Specific to RoPE models + key_states, value_states = past_key_value.update(key_states, value_states, self.layer_idx, cache_kwargs) + + # repeat k/v heads if n_kv_heads < n_heads + key_states = repeat_kv(key_states, self.num_key_value_groups) + value_states = repeat_kv(value_states, self.num_key_value_groups) + + attn_weights = torch.matmul(query_states, key_states.transpose(2, 3)) / math.sqrt(self.head_dim) + + if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len): + raise ValueError( + f"Attention weights should be of size {(bsz, self.num_heads, q_len, kv_seq_len)}, but is" + f" {attn_weights.size()}" + ) + + if attention_mask is not None: + if attention_mask.size() != (bsz, 1, q_len, kv_seq_len): + raise ValueError( + f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}" + ) + + attn_weights = attn_weights + attention_mask + + # upcast attention to fp32 + attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query_states.dtype) + attn_weights = nn.functional.dropout(attn_weights, p=self.attention_dropout, training=self.training) + attn_output = torch.matmul(attn_weights, value_states) + + if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim): + raise ValueError( + f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is" + f" {attn_output.size()}" + ) + + attn_output = attn_output.transpose(1, 2).contiguous() + attn_output = attn_output.reshape(bsz, q_len, self.hidden_size) + + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value + + +# Copied from transformers.models.mistral.modeling_mistral.MistralFlashAttention2 with Mistral->Mixtral +class MixtralFlashAttention2(MixtralAttention): + """ + Mixtral flash attention module. This module inherits from `MixtralAttention` as the weights of the module stays + untouched. The only required change would be on the forward pass where it needs to correctly call the public API of + flash attention and deal with padding tokens in case the input contains any of them. + """ + + # Copied from transformers.models.llama.modeling_llama.LlamaFlashAttention2.__init__ + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # TODO: Should be removed once Flash Attention for RoCm is bumped to 2.1. + # flash_attn<2.1 generates top-left aligned causal mask, while what is needed here is bottom-right alignement, that was made default for flash_attn>=2.1. This attribute is used to handle this difference. Reference: https://github.com/Dao-AILab/flash-attention/releases/tag/v2.1.0. + # Beware that with flash_attn<2.1, using q_seqlen != k_seqlen (except for the case q_seqlen == 1) produces a wrong mask (top-left). + self._flash_attn_uses_top_left_mask = not is_flash_attn_greater_or_equal_2_10() + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + **kwargs, + ): + if "padding_mask" in kwargs: + warnings.warn( + "Passing `padding_mask` is deprecated and will be removed in v4.37. Please make sure use `attention_mask` instead.`" + ) + + # overwrite attention_mask with padding_mask + attention_mask = kwargs.pop("padding_mask") + bsz, q_len, _ = hidden_states.size() + + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + + kv_seq_len = key_states.shape[-2] + if past_key_value is not None: + if self.layer_idx is None: + raise ValueError( + f"The cache structure has changed since version v4.36. If you are using {self.__class__.__name__} " + "for auto-regressive decoding with k/v caching, please make sure to initialize the attention class " + "with a layer index." + ) + kv_seq_len += past_key_value.get_usable_length(kv_seq_len, self.layer_idx) + + # Because the input can be padded, the absolute sequence length depends on the max position id. + rotary_seq_len = max(kv_seq_len, position_ids[:, -1].max().item()) + 1 + cos, sin = self.rotary_emb(value_states, seq_len=rotary_seq_len) + + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + + use_sliding_windows = ( + _flash_supports_window_size + and getattr(self.config, "sliding_window", None) is not None + and kv_seq_len > self.config.sliding_window + ) + + if not _flash_supports_window_size: + logger.warning_once( + "The current flash attention version does not support sliding window attention, for a more memory efficient implementation" + " make sure to upgrade flash-attn library." + ) + + if past_key_value is not None: + # Activate slicing cache only if the config has a value `sliding_windows` attribute + cache_has_contents = past_key_value.get_seq_length(self.layer_idx) > 0 + if ( + getattr(self.config, "sliding_window", None) is not None + and kv_seq_len > self.config.sliding_window + and cache_has_contents + ): + slicing_tokens = 1 - self.config.sliding_window + + past_key = past_key_value[self.layer_idx][0] + past_value = past_key_value[self.layer_idx][1] + + past_key = past_key[:, :, slicing_tokens:, :].contiguous() + past_value = past_value[:, :, slicing_tokens:, :].contiguous() + + if past_key.shape[-2] != self.config.sliding_window - 1: + raise ValueError( + f"past key must have a shape of (`batch_size, num_heads, self.config.sliding_window-1, head_dim`), got" + f" {past_key.shape}" + ) + + if attention_mask is not None: + attention_mask = attention_mask[:, slicing_tokens:] + attention_mask = torch.cat([attention_mask, torch.ones_like(attention_mask[:, -1:])], dim=-1) + + cache_kwargs = {"sin": sin, "cos": cos} # Specific to RoPE models + key_states, value_states = past_key_value.update(key_states, value_states, self.layer_idx, cache_kwargs) + + # repeat k/v heads if n_kv_heads < n_heads + key_states = repeat_kv(key_states, self.num_key_value_groups) + value_states = repeat_kv(value_states, self.num_key_value_groups) + dropout_rate = 0.0 if not self.training else self.attention_dropout + + # In PEFT, usually we cast the layer norms in float32 for training stability reasons + # therefore the input hidden states gets silently casted in float32. Hence, we need + # cast them back in float16 just to be sure everything works as expected. + input_dtype = query_states.dtype + if input_dtype == torch.float32: + if torch.is_autocast_enabled(): + target_dtype = torch.get_autocast_gpu_dtype() + # Handle the case where the model is quantized + elif hasattr(self.config, "_pre_quantization_dtype"): + target_dtype = self.config._pre_quantization_dtype + else: + target_dtype = self.q_proj.weight.dtype + + logger.warning_once( + f"The input hidden states seems to be silently casted in float32, this might be related to" + f" the fact you have upcasted embedding or layer norm layers in float32. We will cast back the input in" + f" {target_dtype}." + ) + + query_states = query_states.to(target_dtype) + key_states = key_states.to(target_dtype) + value_states = value_states.to(target_dtype) + + # Reashape to the expected shape for Flash Attention + query_states = query_states.transpose(1, 2) + key_states = key_states.transpose(1, 2) + value_states = value_states.transpose(1, 2) + + attn_output = self._flash_attention_forward( + query_states, + key_states, + value_states, + attention_mask, + q_len, + dropout=dropout_rate, + use_sliding_windows=use_sliding_windows, + ) + + attn_output = attn_output.reshape(bsz, q_len, self.hidden_size).contiguous() + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value + + def _flash_attention_forward( + self, + query_states, + key_states, + value_states, + attention_mask, + query_length, + dropout=0.0, + softmax_scale=None, + use_sliding_windows=False, + ): + """ + Calls the forward method of Flash Attention - if the input hidden states contain at least one padding token + first unpad the input, then computes the attention scores and pad the final attention scores. + + Args: + query_states (`torch.Tensor`): + Input query states to be passed to Flash Attention API + key_states (`torch.Tensor`): + Input key states to be passed to Flash Attention API + value_states (`torch.Tensor`): + Input value states to be passed to Flash Attention API + attention_mask (`torch.Tensor`): + The padding mask - corresponds to a tensor of size `(batch_size, seq_len)` where 0 stands for the + position of padding tokens and 1 for the position of non-padding tokens. + dropout (`float`): + Attention dropout + softmax_scale (`float`, *optional*): + The scaling of QK^T before applying softmax. Default to 1 / sqrt(head_dim) + use_sliding_windows (`bool`, *optional*): + Whether to activate sliding window attention. + """ + if not self._flash_attn_uses_top_left_mask: + causal = self.is_causal + else: + # TODO: Remove the `query_length != 1` check once Flash Attention for RoCm is bumped to 2.1. For details, please see the comment in LlamaFlashAttention2 __init__. + causal = self.is_causal and query_length != 1 + + # Contains at least one padding token in the sequence + if attention_mask is not None: + batch_size = query_states.shape[0] + query_states, key_states, value_states, indices_q, cu_seq_lens, max_seq_lens = self._upad_input( + query_states, key_states, value_states, attention_mask, query_length + ) + + cu_seqlens_q, cu_seqlens_k = cu_seq_lens + max_seqlen_in_batch_q, max_seqlen_in_batch_k = max_seq_lens + + if not use_sliding_windows: + attn_output_unpad = flash_attn_varlen_func( + query_states, + key_states, + value_states, + cu_seqlens_q=cu_seqlens_q, + cu_seqlens_k=cu_seqlens_k, + max_seqlen_q=max_seqlen_in_batch_q, + max_seqlen_k=max_seqlen_in_batch_k, + dropout_p=dropout, + softmax_scale=softmax_scale, + causal=causal, + ) + else: + attn_output_unpad = flash_attn_varlen_func( + query_states, + key_states, + value_states, + cu_seqlens_q=cu_seqlens_q, + cu_seqlens_k=cu_seqlens_k, + max_seqlen_q=max_seqlen_in_batch_q, + max_seqlen_k=max_seqlen_in_batch_k, + dropout_p=dropout, + softmax_scale=softmax_scale, + causal=causal, + window_size=(self.config.sliding_window, self.config.sliding_window), + ) + + attn_output = pad_input(attn_output_unpad, indices_q, batch_size, query_length) + else: + if not use_sliding_windows: + attn_output = flash_attn_func( + query_states, + key_states, + value_states, + dropout, + softmax_scale=softmax_scale, + causal=causal, + ) + else: + attn_output = flash_attn_func( + query_states, + key_states, + value_states, + dropout, + softmax_scale=softmax_scale, + causal=causal, + window_size=(self.config.sliding_window, self.config.sliding_window), + ) + + return attn_output + + def _upad_input(self, query_layer, key_layer, value_layer, attention_mask, query_length): + batch_size, kv_seq_len, num_heads, head_dim = key_layer.shape + + # On the first iteration we need to properly re-create the padding mask + # by slicing it on the proper place + if kv_seq_len != attention_mask.shape[-1]: + attention_mask_num_tokens = attention_mask.shape[-1] + attention_mask = attention_mask[:, attention_mask_num_tokens - kv_seq_len :] + + indices_k, cu_seqlens_k, max_seqlen_in_batch_k = _get_unpad_data(attention_mask) + + key_layer = index_first_axis(key_layer.reshape(batch_size * kv_seq_len, num_heads, head_dim), indices_k) + value_layer = index_first_axis(value_layer.reshape(batch_size * kv_seq_len, num_heads, head_dim), indices_k) + + if query_length == kv_seq_len: + query_layer = index_first_axis( + query_layer.reshape(batch_size * kv_seq_len, num_heads, head_dim), indices_k + ) + cu_seqlens_q = cu_seqlens_k + max_seqlen_in_batch_q = max_seqlen_in_batch_k + indices_q = indices_k + elif query_length == 1: + max_seqlen_in_batch_q = 1 + cu_seqlens_q = torch.arange( + batch_size + 1, dtype=torch.int32, device=query_layer.device + ) # There is a memcpy here, that is very bad. + indices_q = cu_seqlens_q[:-1] + query_layer = query_layer.squeeze(1) + else: + # The -q_len: slice assumes left padding. + attention_mask = attention_mask[:, -query_length:] + query_layer, indices_q, cu_seqlens_q, max_seqlen_in_batch_q = unpad_input(query_layer, attention_mask) + + return ( + query_layer, + key_layer, + value_layer, + indices_q, + (cu_seqlens_q, cu_seqlens_k), + (max_seqlen_in_batch_q, max_seqlen_in_batch_k), + ) + + +# Copied from transformers.models.mistral.modeling_mistral.MistralSdpaAttention with Mistral->Mixtral +class MixtralSdpaAttention(MixtralAttention): + """ + Mixtral attention module using torch.nn.functional.scaled_dot_product_attention. This module inherits from + `MixtralAttention` as the weights of the module stays untouched. The only changes are on the forward pass to adapt to + SDPA API. + """ + + # Adapted from MixtralAttention.forward + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + **kwargs + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + if output_attentions: + # TODO: Improve this warning with e.g. `model.config.attn_implementation = "manual"` once this is implemented. + logger.warning_once( + "MixtralModel is using MixtralSdpaAttention, but `torch.nn.functional.scaled_dot_product_attention` does not support `output_attentions=True`. Falling back to the manual attention implementation, " + 'but specifying the manual implementation will be required from Transformers version v5.0.0 onwards. This warning can be removed using the argument `attn_implementation="eager"` when loading the model.' + ) + return super().forward( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + ) + + bsz, q_len, _ = hidden_states.size() + + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + + is_context = kwargs.get("is_context") + valid_slot_ids = kwargs.get("valid_slot_ids") + all_q_len = kwargs.get("all_q_len") + all_kv_len = kwargs.get("all_kv_len") + + max_kv_len = max(all_kv_len) if is_context else max(all_q_len) + max(all_kv_len) + + # kv_seq_len = key_states.shape[-2] + # if past_key_value is not None: + # kv_seq_len += past_key_value.get_usable_length(kv_seq_len, self.layer_idx) + cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) + + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + + # if past_key_value is not None: + # cache_kwargs = {"sin": sin, "cos": cos} # Specific to RoPE models + # key_states, value_states = past_key_value.update(key_states, value_states, self.layer_idx, cache_kwargs) + + # past_key_value: [max_batch_size, kv_head_num, max_seq_len, head_dim] + if is_context: + slot_id = valid_slot_ids[0] + q_len = all_q_len[0] + past_key_value[self.layer_idx][0][slot_id:slot_id+1, :, :q_len, :] = key_states + past_key_value[self.layer_idx][1][slot_id:slot_id+1, :, :q_len, :] = value_states + else: + batch_size, _, q_len, _ = key_states.shape + max_qkv_len = q_len + max(all_kv_len) + for i, slot_id in enumerate(valid_slot_ids): + q_len = all_q_len[i] + kv_len = all_kv_len[i] + past_key_value[self.layer_idx][0][slot_id:slot_id+1, :, kv_len:kv_len+q_len, :] = key_states[i, :, :, :] + past_key_value[self.layer_idx][1][slot_id:slot_id+1, :, kv_len:kv_len+q_len, :] = value_states[i, :, :, :] + + cur_k_cache = past_key_value[self.layer_idx][0][:, :, :max_qkv_len, :] + cur_v_cache = past_key_value[self.layer_idx][1][:, :, :max_qkv_len, :] + select_slots = torch.tensor(valid_slot_ids, device=key_states.device) + key_states = torch.index_select(cur_k_cache, 0, select_slots) + value_states = torch.index_select(cur_v_cache, 0, select_slots) + + + key_states = repeat_kv(key_states, self.num_key_value_groups) + value_states = repeat_kv(value_states, self.num_key_value_groups) + + # if attention_mask is not None: + # if attention_mask.size() != (bsz, 1, q_len, kv_seq_len): + # raise ValueError( + # f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}" + # ) + + attention_mask = kwargs.get("full_attention_mask") + + # SDPA with memory-efficient backend is currently (torch==2.1.2) bugged with non-contiguous inputs with custom attn_mask, + # Reference: https://github.com/pytorch/pytorch/issues/112577. + if query_states.device.type == "cuda" and attention_mask is not None: + query_states = query_states.contiguous() + key_states = key_states.contiguous() + value_states = value_states.contiguous() + + # attn_output = torch.nn.functional.scaled_dot_product_attention( + # query_states, + # key_states, + # value_states, + # attn_mask=attention_mask, + # dropout_p=self.attention_dropout if self.training else 0.0, + # # The q_len > 1 is necessary to match with AttentionMaskConverter.to_causal_4d that does not create a causal mask in case q_len == 1. + # is_causal=self.is_causal and attention_mask is None and q_len > 1, + # ) + + attn_output = torch.nn.functional.scaled_dot_product_attention( + query_states, + key_states, + value_states, + attn_mask=~attention_mask, + dropout_p=self.attention_dropout if self.training else 0.0, + ) + + attn_output = attn_output.transpose(1, 2).contiguous() + attn_output = attn_output.view(bsz, q_len, self.num_heads * self.head_dim) + + attn_output = self.o_proj(attn_output) + + return attn_output, None, past_key_value + + +MIXTRAL_ATTENTION_CLASSES = { + "eager": MixtralAttention, + "flash_attention_2": MixtralFlashAttention2, + "sdpa": MixtralSdpaAttention, +} + + +class MixtralBlockSparseTop2MLP(nn.Module): + def __init__(self, config: MixtralConfig): + # dist info + self.mp_size = int(os.environ.get("WORLD_SIZE", "1")) + self.local_rank = int(os.environ.get("LOCAL_RANK", "0")) + + super().__init__() + self.ffn_dim = config.intermediate_size + self.hidden_dim = config.hidden_size + + self.w1 = nn.Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) + self.w2 = nn.Linear(self.ffn_dim // self.mp_size, self.hidden_dim, bias=False) + self.w3 = nn.Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) + + self.act_fn = ACT2FN[config.hidden_act] + + def forward(self, hidden_states): + current_hidden_states = self.act_fn(self.w1(hidden_states)) * self.w3(hidden_states) + current_hidden_states = self.w2(current_hidden_states) + return current_hidden_states + + +class MixtralBLockSparseTop2MLP(MixtralBlockSparseTop2MLP): + def __init__(self, *args, **kwargs): + logger.warning_once( + "MixtralBLockSparseTop2MLP is deprecated by MixtralBlockSparseTop2MLP and will be removed in v4.40." + ) + super().__init__(*args, **kwargs) + + +class MixtralSparseMoeBlock(nn.Module): + """ + This implementation is + strictly equivalent to standard MoE with full capacity (no + dropped tokens). It's faster since it formulates MoE operations + in terms of block-sparse operations to accomodate imbalanced + assignments of tokens to experts, whereas standard MoE either + (1) drop tokens at the cost of reduced performance or (2) set + capacity factor to number of experts and thus waste computation + and memory on padding. + """ + + def __init__(self, config): + super().__init__() + self.hidden_dim = config.hidden_size + self.ffn_dim = config.intermediate_size + self.num_experts = config.num_local_experts + self.top_k = config.num_experts_per_tok + + # gating + self.gate = nn.Linear(self.hidden_dim, self.num_experts, bias=False) + + # self.experts = nn.ModuleList([MixtralBlockSparseTop2MLP(config) for _ in range(self.num_experts)]) + + # Jitter parameters + self.jitter_noise = config.router_jitter_noise + + def forward( + self, + hidden_states: torch.Tensor, + **kwargs + ) -> torch.Tensor: + """ """ + batch_size, sequence_length, hidden_dim = hidden_states.shape + if self.training and self.jitter_noise > 0: + hidden_states *= torch.empty_like(hidden_states).uniform_(1.0 - self.jitter_noise, 1.0 + self.jitter_noise) + hidden_states = hidden_states.view(-1, hidden_dim) + + # router_logits: (batch * sequence_length, n_experts) + router_logits = self.gate(hidden_states) + log_file = kwargs.get("log_file", None) + final_hidden_states=hidden_states + + final_hidden_states = fused_moe(hidden_states, + self.w13_weight, + self.w2_weight, + router_logits, + self.top_k, + renormalize=True, + inplace=True) + # if log_file is not None: + # print(f"num_enabled_experts={non_zero_num}, tokens_distribution={tokens_list}", file=log_file, flush=True) + + final_hidden_states = final_hidden_states.reshape(batch_size, sequence_length, hidden_dim) + # if int(os.environ.get("LOCAL_RANK", "0"))==0: + # print(f'{final_hidden_states=}') + return final_hidden_states, router_logits + + +class MixtralDecoderLayer(nn.Module): + def __init__(self, config: MixtralConfig, layer_idx: int): + self.layer_idx=layer_idx + # dist info + self.mp_size = int(os.environ.get("WORLD_SIZE", "1")) + self.local_rank = int(os.environ.get("LOCAL_RANK", "0")) + + super().__init__() + self.hidden_size = config.hidden_size + + self.self_attn = MIXTRAL_ATTENTION_CLASSES[config._attn_implementation](config, layer_idx) + + self.block_sparse_moe = MixtralSparseMoeBlock(config) + self.input_layernorm = MixtralRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = MixtralRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Tuple[torch.Tensor]] = None, + output_attentions: Optional[bool] = False, + output_router_logits: Optional[bool] = False, + use_cache: Optional[bool] = False, + **kwargs, + ) -> Tuple[torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]]]: + if "padding_mask" in kwargs: + warnings.warn( + "Passing `padding_mask` is deprecated and will be removed in v4.37. Please make sure use `attention_mask` instead.`" + ) + """ + Args: + hidden_states (`torch.FloatTensor`): input to the layer of shape `(batch, seq_len, embed_dim)` + attention_mask (`torch.FloatTensor`, *optional*): attention mask of size + `(batch, sequence_length)` where padding elements are indicated by 0. + past_key_value (`Tuple(torch.FloatTensor)`, *optional*): cached past key and value projection states + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under + returned tensors for more detail. + output_router_logits (`bool`, *optional*): + Whether or not to return the logits of all the routers. They are useful for computing the router loss, and + should not be returned during inference. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding + (see `past_key_values`). + """ + + residual = hidden_states + + hidden_states = self.input_layernorm(hidden_states) + + # Self Attention + hidden_states, self_attn_weights, present_key_value = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=False, + use_cache=False, + **kwargs, + ) + if self.mp_size > 1: + dist.all_reduce(hidden_states) + + hidden_states = residual + hidden_states + + # Fully Connected + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states, router_logits = self.block_sparse_moe(hidden_states, **kwargs) + # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states.shape=}') + # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states=}') + if self.mp_size > 1: + dist.all_reduce(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + + return outputs + + +MIXTRAL_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + + This model is also a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. + Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage + and behavior. + + Parameters: + config ([`MixtralConfig`]): + Model configuration class with all the parameters of the model. Initializing with a config file does not + load the weights associated with the model, only the configuration. Check out the + [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" + + +@add_start_docstrings( + "The bare Mixtral Model outputting raw hidden-states without any specific head on top.", + MIXTRAL_START_DOCSTRING, +) +# Copied from transformers.models.mistral.modeling_mistral.MistralPreTrainedModel with Mistral->Mixtral +class MixtralPreTrainedModel(PreTrainedModel): + config_class = MixtralConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["MixtralDecoderLayer"] + _skip_keys_device_placement = "past_key_values" + _supports_flash_attn_2 = True + _supports_sdpa = True + _supports_cache_class = True + + def _init_weights(self, module): + std = self.config.initializer_range + if isinstance(module, nn.Linear): + module.weight.data.normal_(mean=0.0, std=std) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.Embedding): + module.weight.data.normal_(mean=0.0, std=std) + if module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + + +MIXTRAL_INPUTS_DOCSTRING = r""" + Args: + input_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`): + Indices of input sequence tokens in the vocabulary. Padding will be ignored by default should you provide + it. + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + [What are input IDs?](../glossary#input-ids) + attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*): + Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`: + + - 1 for tokens that are **not masked**, + - 0 for tokens that are **masked**. + + [What are attention masks?](../glossary#attention-mask) + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + If `past_key_values` is used, optionally only the last `decoder_input_ids` have to be input (see + `past_key_values`). + + If you want to change padding behavior, you should read [`modeling_opt._prepare_decoder_attention_mask`] + and modify to your needs. See diagram 1 in [the paper](https://arxiv.org/abs/1910.13461) for more + information on the default strategy. + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + position_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Indices of positions of each input sequence tokens in the position embeddings. Selected in the range `[0, + config.n_positions - 1]`. + + [What are position IDs?](../glossary#position-ids) + past_key_values (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `use_cache=True` is passed or when `config.use_cache=True`): + Tuple of `tuple(torch.FloatTensor)` of length `config.n_layers`, with each tuple having 2 tensors of shape + `(batch_size, num_heads, sequence_length, embed_size_per_head)`) and 2 additional tensors of shape + `(batch_size, num_heads, encoder_sequence_length, embed_size_per_head)`. + + Contains pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention + blocks) that can be used (see `past_key_values` input) to speed up sequential decoding. + + If `past_key_values` are used, the user can optionally input only the last `decoder_input_ids` (those that + don't have their past key value states given to this model) of shape `(batch_size, 1)` instead of all + `decoder_input_ids` of shape `(batch_size, sequence_length)`. + inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`, *optional*): + Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This + is useful if you want more control over how to convert `input_ids` indices into associated vectors than the + model's internal embedding lookup matrix. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding (see + `past_key_values`). + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + output_router_logits (`bool`, *optional*): + Whether or not to return the logits of all the routers. They are useful for computing the router loss, and + should not be returned during inference. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. +""" + + +@add_start_docstrings( + "The bare Mixtral Model outputting raw hidden-states without any specific head on top.", + MIXTRAL_START_DOCSTRING, +) +# Copied from transformers.models.mistral.modeling_mistral.MistralModel with MISTRAL->MIXTRAL,Mistral->Mixtral +class MixtralModel(MixtralPreTrainedModel): + """ + Transformer decoder consisting of *config.num_hidden_layers* layers. Each layer is a [`MixtralDecoderLayer`] + + Args: + config: MixtralConfig + """ + + def __init__(self, config: MixtralConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + + self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx) + self.layers = nn.ModuleList( + [MixtralDecoderLayer(config, layer_idx) for layer_idx in range(config.num_hidden_layers)] + ) + self._attn_implementation = config._attn_implementation + self.norm = MixtralRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + self.gradient_checkpointing = False + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + # Ignore copy + @add_start_docstrings_to_model_forward(MIXTRAL_INPUTS_DOCSTRING) + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + output_router_logits: Optional[bool] = None, + return_dict: Optional[bool] = None, + **kwargs, + ) -> Union[Tuple, MoeModelOutputWithPast]: + if kwargs.pop("override_hidden_states", False): + random_seed = kwargs.pop("random_seed", 1) + layer_index = kwargs.pop("fixed_layer_index", -1) + layer_index = layer_index % len(self.layers) + + # create random input ids on cpu and copy to device + torch.manual_seed(random_seed) + random_input_ids = torch.randint(10, self.vocab_size, input_ids.shape, dtype=torch.int64, device="cpu").to(input_ids.device) + + hidden_states = self.embed_tokens(random_input_ids) + for _ in self.layers: + layer_outputs = self.layers[layer_index]( + hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_values, + output_attentions=False, + output_router_logits=False, + use_cache=False, + **kwargs, + ) + else: + hidden_states = self.embed_tokens(input_ids) + for decoder_layer in self.layers: + layer_outputs = decoder_layer( + hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_values, + output_attentions=False, + output_router_logits=False, + use_cache=False, + **kwargs, + ) + hidden_states = layer_outputs[0] + + hidden_states = self.norm(hidden_states) + + return MoeModelOutputWithPast( + last_hidden_state=hidden_states + ) + + +class MixtralForCausalLM(MixtralPreTrainedModel): + _tied_weights_keys = ["lm_head.weight"] + + def __init__(self, config): + super().__init__(config) + + self.model = MixtralModel(config) + self.vocab_size = config.vocab_size + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.router_aux_loss_coef = config.router_aux_loss_coef + self.num_experts = config.num_local_experts + self.num_experts_per_tok = config.num_experts_per_tok + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + def get_output_embeddings(self): + return self.lm_head + + def set_output_embeddings(self, new_embeddings): + self.lm_head = new_embeddings + + def set_decoder(self, decoder): + self.model = decoder + + def get_decoder(self): + return self.model + + @add_start_docstrings_to_model_forward(MIXTRAL_INPUTS_DOCSTRING) + @replace_return_docstrings(output_type=MoeCausalLMOutputWithPast, config_class=_CONFIG_FOR_DOC) + # Ignore copy + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + output_router_logits: Optional[bool] = None, + return_dict: Optional[bool] = None, + **kwargs, + ) -> Union[Tuple, MoeCausalLMOutputWithPast]: + r""" + Args: + labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Labels for computing the masked language modeling loss. Indices should either be in `[0, ..., + config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored + (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`. + + Returns: + + Example: + + ```python + >>> from transformers import AutoTokenizer, MixtralForCausalLM + + >>> model = MixtralForCausalLM.from_pretrained("mistralai/Mixtral-8x7B-v0.1") + >>> tokenizer = AutoTokenizer.from_pretrained("mistralai/Mixtral-8x7B-v0.1") + + >>> prompt = "Hey, are you conscious? Can you talk to me?" + >>> inputs = tokenizer(prompt, return_tensors="pt") + + >>> # Generate + >>> generate_ids = model.generate(inputs.input_ids, max_length=30) + >>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0] + "Hey, are you conscious? Can you talk to me?\nI'm not conscious, but I can talk to you." + ```""" + # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn) + outputs = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=None, + use_cache=False, + output_attentions=False, + output_hidden_states=False, + output_router_logits=False, + return_dict=True, + **kwargs, + ) + + # print(f'{os.environ.get("LOCAL_RANK", "0")} {outputs=}') + hidden_states = outputs[0] + logits = self.lm_head(hidden_states) + logits = logits.float() + # print(f'{os.environ.get("LOCAL_RANK", "0")}:{hidden_states.shape=}') + # print(f'{os.environ.get("LOCAL_RANK", "0")}:{hidden_states=}') + # print(f'{os.environ.get("LOCAL_RANK", "0")}:{logits.shape=}') + # print(f'{os.environ.get("LOCAL_RANK", "0")}:{logits=}') + return MoeCausalLMOutputWithPast( + logits=logits + ) + + def prepare_inputs_for_generation( + self, + input_ids, + past_key_values=None, + attention_mask=None, + inputs_embeds=None, + output_router_logits=False, + **kwargs, + ): + # Omit tokens covered by past_key_values + if past_key_values is not None: + if isinstance(past_key_values, Cache): + cache_length = past_key_values.get_seq_length() + past_length = past_key_values.seen_tokens + max_cache_length = past_key_values.get_max_length() + else: + cache_length = past_length = past_key_values[0][0].shape[2] + max_cache_length = None + + # Keep only the unprocessed tokens: + # 1 - If the length of the attention_mask exceeds the length of input_ids, then we are in a setting where + # some of the inputs are exclusively passed as part of the cache (e.g. when passing input_embeds as + # input) + if attention_mask is not None and attention_mask.shape[1] > input_ids.shape[1]: + input_ids = input_ids[:, -(attention_mask.shape[1] - past_length) :] + # 2 - If the past_length is smaller than input_ids', then input_ids holds all input tokens. We can discard + # input_ids based on the past_length. + elif past_length < input_ids.shape[1]: + input_ids = input_ids[:, past_length:] + # 3 - Otherwise (past_length >= input_ids.shape[1]), let's assume input_ids only has unprocessed tokens. + + # If we are about to go beyond the maximum cache length, we need to crop the input attention mask. + if ( + max_cache_length is not None + and attention_mask is not None + and cache_length + input_ids.shape[1] > max_cache_length + ): + attention_mask = attention_mask[:, -max_cache_length:] + + position_ids = kwargs.get("position_ids", None) + if attention_mask is not None and position_ids is None: + # create position_ids on the fly for batch generation + position_ids = attention_mask.long().cumsum(-1) - 1 + position_ids.masked_fill_(attention_mask == 0, 1) + if past_key_values: + position_ids = position_ids[:, -input_ids.shape[1] :] + + # if `inputs_embeds` are passed, we only want to use them in the 1st generation step + if inputs_embeds is not None and past_key_values is None: + model_inputs = {"inputs_embeds": inputs_embeds} + else: + model_inputs = {"input_ids": input_ids} + + model_inputs.update( + { + "position_ids": position_ids, + "past_key_values": past_key_values, + "use_cache": kwargs.get("use_cache"), + "attention_mask": attention_mask, + "output_router_logits": output_router_logits, + } + ) + return model_inputs + + @staticmethod + def _reorder_cache(past_key_values, beam_idx): + reordered_past = () + for layer_past in past_key_values: + reordered_past += ( + tuple(past_state.index_select(0, beam_idx.to(past_state.device)) for past_state in layer_past), + ) + return reordered_past + diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py new file mode 100644 index 000000000..f242588fe --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -0,0 +1,202 @@ +import os +import pathlib + +import torch +import torch.nn as nn +import torch.distributed as dist + +from typing import Dict, Any +from llm_perf.utils.logger import logger +from llm_perf.utils.ps_utils import check_memory_usage +from llm_perf.utils.dist_utils import check_dist + +from accelerate import init_empty_weights + +from llm_perf.backends.GPU.gpu_ckpt_loader import GpuCkptLoader +from llm_perf.core.ckpt_loader import Mixtral_ModelLoader +from transformers import MixtralConfig +from .modeling_mixtral import MixtralForCausalLM + + +class GPUMixtralLoader(GpuCkptLoader): + def __init__( + self, + model : MixtralForCausalLM, + model_config : MixtralConfig, + ckpt_path : str = "" + ): + mp_size = int(os.environ.get("WORLD_SIZE", "1")) + local_rank = int(os.environ.get("LOCAL_RANK", "0")) + + super().__init__("", model, mp_size, local_rank, ckpt_path) + self.model_config = model_config + + def parallel_loader(self): + self.state_dict = {} + + model_dir = pathlib.Path(self.ckpt_path).absolute() + if not model_dir.exists() or not model_dir.is_dir(): + if self.mp_rank == 0: + print(f"{model_dir} not exists or is not a directory") + return + + split_model_dir = model_dir.joinpath(f"TP{self.mp_size}") + if not split_model_dir.exists() or not split_model_dir.is_dir(): + if self.mp_rank == 0: + print(f"{split_model_dir} not exists or is not a directory, please split model first.") + return + + model_loader = Mixtral_ModelLoader(split_model_dir / f"device_{self.mp_rank}") + self.state_dict = model_loader.load_weight() + + def infusion_to_model(self): + self.model.model.embed_tokens.weight = self.to_parameter(self.state_dict["model.embed_tokens.weight"]) + for i in range(self.model_config.num_hidden_layers): + self.model.model.layers[i].input_layernorm.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.input_layernorm.weight"]) + + self.model.model.layers[i].self_attn.q_proj.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.self_attn.q_proj.weight"]) + self.model.model.layers[i].self_attn.k_proj.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.self_attn.k_proj.weight"]) + self.model.model.layers[i].self_attn.v_proj.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.self_attn.v_proj.weight"]) + self.model.model.layers[i].self_attn.o_proj.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.self_attn.o_proj.weight"]) + + self.model.model.layers[i].post_attention_layernorm.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.post_attention_layernorm.weight"]) + + self.model.model.layers[i].block_sparse_moe.gate.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.gate.weight"]) + + tmpW=self.state_dict[f"model.layers.{0}.block_sparse_moe.experts.{0}.w1.weight"] + ffn_dim=tmpW.shape[0] + hidden_dim=tmpW.shape[1] + self.model.model.layers[i].block_sparse_moe.w13_weight = nn.Parameter(torch.empty(self.model_config.num_local_experts, + 2 * ffn_dim, + hidden_dim, + dtype=tmpW.dtype)) + self.model.model.layers[i].block_sparse_moe.w2_weight = nn.Parameter(torch.empty(self.model_config.num_local_experts, + hidden_dim, + ffn_dim, + dtype=tmpW.dtype)) + for j in range(self.model_config.num_local_experts): + # self.model.model.layers[i].block_sparse_moe.experts[j].w1.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight"]) + # self.model.model.layers[i].block_sparse_moe.experts[j].w2.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"]) + # self.model.model.layers[i].block_sparse_moe.experts[j].w3.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"]) + weights=(self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight"]), + self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"])) + weights=torch.cat(weights, dim=0) + self.model.model.layers[i].block_sparse_moe.w13_weight[j][:] = weights + + weights=self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"]) + self.model.model.layers[i].block_sparse_moe.w2_weight[j][:] = weights + # self.model.model.layers[i].block_sparse_moe.w13_weight.data=permute_weight(self.model.model.layers[i].block_sparse_moe.w13_weight.data) + # self.model.model.layers[i].block_sparse_moe.w2_weight.data =permute_weight(self.model.model.layers[i].block_sparse_moe.w2_weight.data) + + self.model.model.norm.weight = self.to_parameter(self.state_dict["model.norm.weight"]) + self.model.lm_head.weight = self.to_parameter(self.state_dict["lm_head.weight"]) + +def permute_weight(x: torch.Tensor) -> torch.Tensor: + ## Hardcode BLOCK_K and BLOCK_N + BK = 128 + BN = 128 + x_ = x + x_ = x_.view(x.shape[0], + x.shape[1]//BN, BN//16, 16, + x.shape[2]//BK, BK//32, 4, 8) + x_ = x_.permute(0,1,5,2,6,4,3,7) + x_ = x_.contiguous() + x_ = x_.view(x.shape[0], x.shape[1], x.shape[2]) + return x_ + +class GPUMixtral(nn.Module): + def __init__(self, xpu_cfg: Dict[str, Any]) -> None: + super().__init__() + + self.xpu_cfg = xpu_cfg + self.model_config = xpu_cfg["model_config"] + + self.model_name = self.model_config["model_name"] + self.model_path = self.model_config["model_path"] + self.model_network = self.model_config["network"] + + self.mixtral_config : MixtralConfig = MixtralConfig(**self.model_network) + + # dist config + self.mp_size = int(os.environ.get("WORLD_SIZE", "1")) + self.local_rank = int(os.environ.get("LOCAL_RANK", "0")) + + self.transformer_model : MixtralForCausalLM = None + + + def init_inference(self): + torch.cuda.set_device(self.local_rank) + + if self.mp_size > 1: + logger.info(f"RANK: {self.local_rank} {self.mp_size} init_process_group...") + dist.init_process_group( + backend="nccl", + world_size=self.mp_size, + rank=self.local_rank + ) + check_dist() + + check_memory_usage("Begin") + + with init_empty_weights(): + self.transformer_model = MixtralForCausalLM(self.mixtral_config) + self.transformer_model.eval() + + check_memory_usage("After build model") + + self.load_weight(self.model_path) + + check_memory_usage("After load_weight") + + self.transformer_model.cuda() + + check_memory_usage("After model to device") + + self.kv_cache = self.init_kvcache(self.mixtral_config.torch_dtype) + + if self.mp_size > 1: + dist.barrier() + + def finalize_inference(self): + if self.mp_size > 1 and dist.is_initialized(): + dist.destroy_process_group() + + def load_weight(self, ckpt_path): + p_loader = GPUMixtralLoader(self.transformer_model, self.mixtral_config, ckpt_path) + p_loader.parallel_loader() + p_loader.infusion_to_model() + + def init_kvcache(self, dtype): + max_batch_size = self.xpu_cfg["max_batch_size"] + num_layers = self.mixtral_config.num_hidden_layers + max_seq_len = self.mixtral_config.max_position_embeddings + hidden_size = self.mixtral_config.hidden_size + q_head_num = self.mixtral_config.num_attention_heads + kv_head_num = self.mixtral_config.num_key_value_heads + head_dim = hidden_size // q_head_num + + cur_device = self.transformer_model.device + + past_key_values = () + for i in range(num_layers): + kv_shape = (max_batch_size, kv_head_num // self.mp_size, max_seq_len, head_dim) + key_cache = torch.empty(kv_shape, dtype=dtype, device=cur_device) + value_cache = torch.empty(kv_shape, dtype=dtype, device=cur_device) + past_key_values += ((key_cache, value_cache),) + return past_key_values + + + def forward(self, inputs : Dict[str, torch.Tensor]): + model_outputs = self.transformer_model.forward( + **inputs, + past_key_values=self.kv_cache + ) + + # context: [1, seq_len] --> [1, seq_len, vocab_size] or [1, 1, vocab_size] + # decode: [max_batch_size, 1] + logits = model_outputs.logits + + output_dict = { + "logits": logits + } + return output_dict \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/split_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/split_mixtral.py new file mode 100644 index 000000000..a4eceabb0 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/split_mixtral.py @@ -0,0 +1,148 @@ +import os +import sys +import pathlib +import argparse +from tqdm import tqdm + +import torch +import torch.nn as nn +from typing import List, Optional, Union, Tuple + +from accelerate import init_empty_weights +from transformers import MixtralConfig + +FILE_DIR = pathlib.Path(__file__).parent.absolute() + +sys.path.insert(0, str(FILE_DIR.parents[3])) +from llm_perf.backends.GPU.model_impl.modeling_mixtral import MixtralForCausalLM +from llm_perf.core.ckpt_loader import Mixtral_ModelLoader + + +def to_parameter( + data : torch.Tensor, + dtype : torch.dtype = None +): + if dtype is not None: + data = data.to(dtype) + return nn.Parameter(data, requires_grad=False) + + +def split( + src : torch.Tensor, + mp_size : int, + dim : int, + chunks : List [int]=[] +): + if len(chunks) == 0: + split_arg = src.shape[dim] // mp_size + output_tensors = torch.split(src, split_arg, dim=dim) + else: + # for example + # chunks = [32, 2, 2], sum_chunks = 36, src.shape[dim] = (32 + 2 + 2) * 128, other_dim = 128 + # mp_size = 8 + # new_chunks = [4, 1, 1] + sum_chunks = sum(chunks) + other_dim_size = src.shape[dim] // sum_chunks + + split_arg = [i * other_dim_size for i in chunks] + split_tensors = torch.split(src, split_arg, dim=dim) + + output_split = [] + for i, tensor in enumerate(split_tensors): + if mp_size > chunks[i]: + tensor_shape = tensor.size()[:dim] + (chunks[i], 1, other_dim_size) + tensor.size()[dim+1:] + new_tensor_shape = tensor.size()[:dim] + (chunks[i], mp_size // chunks[i], other_dim_size) + tensor.size()[dim+1:] + output_tensor_shape = tensor.size()[:dim] + (mp_size * other_dim_size,) + tensor.size()[dim+1:] + + tensor = tensor.view(tensor_shape) + tensor = tensor.expand(*new_tensor_shape) + tensor = tensor.contiguous() + tensor = tensor.view(output_tensor_shape) + + cur_split = torch.split(tensor, tensor.shape[dim] // mp_size, dim=dim) + output_split.append(cur_split) + + output_tensors = [] + for i in range(mp_size): + temp_tensors = [output_split[j][i] for j in range(len(chunks))] + tp_tensors = torch.concat(temp_tensors, dim=dim) + output_tensors.append(tp_tensors) + + output_tensors = [tensor.contiguous() for tensor in output_tensors] + + return output_tensors + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--model_path", type=str, required=True) + parser.add_argument("--mp_size", type=int, default=8, choices=[2, 4, 8]) + args = parser.parse_args() + + os.environ["LOCAL_RANK"] = "0" + os.environ["WORLD_SIZE"] = str(args.mp_size) + + model_path = pathlib.Path(args.model_path).absolute() + model_config : MixtralConfig = MixtralConfig.from_pretrained(str(model_path)) + print(model_config) + + model_loader = Mixtral_ModelLoader(model_path) + state_dict = model_loader.load_weight() + + # model_config.num_hidden_layers = 4 + + p_bar = tqdm(total=model_config.num_hidden_layers, desc="split model") + for i in range(model_config.num_hidden_layers): + q = f"model.layers.{i}.self_attn.q_proj.weight" + k = f"model.layers.{i}.self_attn.k_proj.weight" + v = f"model.layers.{i}.self_attn.v_proj.weight" + o = f"model.layers.{i}.self_attn.o_proj.weight" + + state_dict[q] = split(state_dict[q], args.mp_size, 0) + state_dict[k] = split(state_dict[k], args.mp_size, 0) + state_dict[v] = split(state_dict[v], args.mp_size, 0) + state_dict[o] = split(state_dict[o], args.mp_size, 1) + + for j in range(model_config.num_local_experts): + w1 = f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight" + w2 = f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight" + w3 = f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight" + + state_dict[w1] = split(state_dict[w1], args.mp_size, 0) + state_dict[w2] = split(state_dict[w2], args.mp_size, 1) + state_dict[w3] = split(state_dict[w3], args.mp_size, 0) + + p_bar.update(1) + p_bar.close() + + split_model_path = model_path / f"TP{args.mp_size}" + split_model_path.mkdir(parents=True, exist_ok=True) + + with init_empty_weights(): + model = MixtralForCausalLM(model_config) + model.eval() + + p_bar = tqdm(total=args.mp_size, desc="save model") + for rank in range(args.mp_size): + output_dir = split_model_path / f"device_{rank}" + output_dir.mkdir(parents=True, exist_ok=True) + + model.model.embed_tokens.weight = to_parameter(state_dict["model.embed_tokens.weight"]) + for i in range(model_config.num_hidden_layers): + model.model.layers[i].self_attn.q_proj.weight = to_parameter(state_dict[f"model.layers.{i}.self_attn.q_proj.weight"][rank]) + model.model.layers[i].self_attn.k_proj.weight = to_parameter(state_dict[f"model.layers.{i}.self_attn.k_proj.weight"][rank]) + model.model.layers[i].self_attn.v_proj.weight = to_parameter(state_dict[f"model.layers.{i}.self_attn.v_proj.weight"][rank]) + model.model.layers[i].self_attn.o_proj.weight = to_parameter(state_dict[f"model.layers.{i}.self_attn.o_proj.weight"][rank]) + model.model.layers[i].block_sparse_moe.gate.weight = to_parameter(state_dict[f"model.layers.{i}.block_sparse_moe.gate.weight"]) + for j in range(model_config.num_local_experts): + model.model.layers[i].block_sparse_moe.experts[j].w1.weight = to_parameter(state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight"][rank]) + model.model.layers[i].block_sparse_moe.experts[j].w2.weight = to_parameter(state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"][rank]) + model.model.layers[i].block_sparse_moe.experts[j].w3.weight = to_parameter(state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"][rank]) + model.model.layers[i].input_layernorm.weight = to_parameter(state_dict[f"model.layers.{i}.input_layernorm.weight"]) + model.model.layers[i].post_attention_layernorm.weight = to_parameter(state_dict[f"model.layers.{i}.post_attention_layernorm.weight"]) + model.model.norm.weight = to_parameter(state_dict["model.norm.weight"]) + model.lm_head.weight = to_parameter(state_dict["lm_head.weight"]) + + model.save_pretrained(str(output_dir)) + p_bar.update(1) + p_bar.close() diff --git a/byte_infer_perf/llm_perf/backends/ROCM/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/setup.py new file mode 100644 index 000000000..6c7bcadf6 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/setup.py @@ -0,0 +1,64 @@ +import torch +import importlib +from typing import Any, Dict + +from llm_perf.core.scheduler import CoreScheduler +from llm_perf.backends.GPU.gpu_inferencer import GpuInferencer +from llm_perf.backends.GPU.gpu_sampler import GpuSampler +from llm_perf.backends.GPU.gpu_scheduler import GpuScheduler +from llm_perf.backends.GPU.gpu_mp_engine import GpuMpEngine +from llm_perf.utils.logger import logger + +def get_device_name(): + return torch.cuda.get_device_name(0) + + +def get_engine(xpu_cfg) -> CoreScheduler: + # get model impl + hardware_type = xpu_cfg["hardware_type"] + model_config = xpu_cfg["model_config"] + model_name = model_config["model_name"] + + vendor_model_path = f"llm_perf/backends/{hardware_type}/model_impl" + vendor_model_impl = importlib.import_module( + ".", package=vendor_model_path.replace("/", ".") + ) + vendor_model = vendor_model_impl.__all__[model_name] + + # create mp engine + mp_engine = GpuMpEngine( + world_size=xpu_cfg["tp_size"], + model_impl=vendor_model, + xpu_cfg=xpu_cfg + ) + + return mp_engine + + +def setup_scheduler(xpu_cfg) -> CoreScheduler: + + # get model impl + hardware_type = xpu_cfg["hardware_type"] + model_config = xpu_cfg["model_config"] + model_name = model_config["model_name"] + + vendor_model_path = f"llm_perf/backends/{hardware_type}/model_impl" + vendor_model_impl = importlib.import_module( + ".", package=vendor_model_path.replace("/", ".") + ) + vendor_model = vendor_model_impl.__all__[model_name] + + # create inferencer + inferencer = GpuInferencer(vendor_model, xpu_cfg) + + # create sampler + sampler = GpuSampler() + + # create scheduler + scheduler = GpuScheduler( + inferencer=inferencer, + sampler=sampler, + xpu_cfg=xpu_cfg + ) + + return scheduler From 2c557539dca0a7fb7dadfa967c6de6d2bf0394e8 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 26 Sep 2024 23:09:27 +0800 Subject: [PATCH 02/50] slightly speedup weight loading --- .../backends/ROCM/model_impl/rocm_mixtral.py | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index f242588fe..d00290755 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -66,40 +66,40 @@ def infusion_to_model(self): tmpW=self.state_dict[f"model.layers.{0}.block_sparse_moe.experts.{0}.w1.weight"] ffn_dim=tmpW.shape[0] hidden_dim=tmpW.shape[1] - self.model.model.layers[i].block_sparse_moe.w13_weight = nn.Parameter(torch.empty(self.model_config.num_local_experts, - 2 * ffn_dim, - hidden_dim, - dtype=tmpW.dtype)) - self.model.model.layers[i].block_sparse_moe.w2_weight = nn.Parameter(torch.empty(self.model_config.num_local_experts, - hidden_dim, - ffn_dim, - dtype=tmpW.dtype)) + w13_weight = torch.empty(self.model_config.num_local_experts, + 2, ffn_dim, + hidden_dim, + dtype=tmpW.dtype) + w2_weight = torch.empty(self.model_config.num_local_experts, + hidden_dim, + ffn_dim, + dtype=tmpW.dtype) for j in range(self.model_config.num_local_experts): # self.model.model.layers[i].block_sparse_moe.experts[j].w1.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight"]) # self.model.model.layers[i].block_sparse_moe.experts[j].w2.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"]) # self.model.model.layers[i].block_sparse_moe.experts[j].w3.weight = self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"]) - weights=(self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight"]), - self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"])) - weights=torch.cat(weights, dim=0) - self.model.model.layers[i].block_sparse_moe.w13_weight[j][:] = weights + w13_weight[j, 0, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w1.weight"] + w13_weight[j, 1, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"] - weights=self.to_parameter(self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"]) - self.model.model.layers[i].block_sparse_moe.w2_weight[j][:] = weights + w2_weight[j, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"] + self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim)) + self.model.model.layers[i].block_sparse_moe.w2_weight = self.to_parameter(w2_weight) # self.model.model.layers[i].block_sparse_moe.w13_weight.data=permute_weight(self.model.model.layers[i].block_sparse_moe.w13_weight.data) # self.model.model.layers[i].block_sparse_moe.w2_weight.data =permute_weight(self.model.model.layers[i].block_sparse_moe.w2_weight.data) self.model.model.norm.weight = self.to_parameter(self.state_dict["model.norm.weight"]) self.model.lm_head.weight = self.to_parameter(self.state_dict["lm_head.weight"]) + def permute_weight(x: torch.Tensor) -> torch.Tensor: - ## Hardcode BLOCK_K and BLOCK_N + # Hardcode BLOCK_K and BLOCK_N BK = 128 BN = 128 x_ = x x_ = x_.view(x.shape[0], x.shape[1]//BN, BN//16, 16, x.shape[2]//BK, BK//32, 4, 8) - x_ = x_.permute(0,1,5,2,6,4,3,7) + x_ = x_.permute(0, 1, 5, 2, 6, 4, 3, 7) x_ = x_.contiguous() x_ = x_.view(x.shape[0], x.shape[1], x.shape[2]) return x_ From 0b582b3bc67ee6c243d0077441d99625325b7e1e Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 27 Sep 2024 22:24:54 +0800 Subject: [PATCH 03/50] moe_final_v0.6.0_sept24 based fused_moe_kernel --- ...4,device_name=AMD_Instinct_MI308X_OAM.json | 244 +++++ ...8,device_name=AMD_Instinct_MI308X_OAM.json | 244 +++++ .../csrc/moe_align_block_size_kernels.cu | 6 +- .../backends/ROCM/fused_moe/csrc/moe_ops.h | 5 +- .../fused_moe/csrc/topk_softmax_kernels.cu | 2 +- .../backends/ROCM/fused_moe/fused_moe.py | 872 +++++++++++------- .../backends/ROCM/model_impl/rocm_mixtral.py | 10 +- 7 files changed, 1061 insertions(+), 322 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..52a58b46c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..42139fefd --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu index 75ed0f9df..9c9cda9b3 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -108,8 +108,8 @@ __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, } } // namespace vllm -void moe_align_block_size(torch::Tensor topk_ids, int num_experts, - int block_size, torch::Tensor sorted_token_ids, +void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, + int64_t block_size, torch::Tensor sorted_token_ids, torch::Tensor experts_ids, torch::Tensor num_tokens_post_pad) { const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h index 99c0bb94d..28a6cae47 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h @@ -6,8 +6,9 @@ void topk_softmax(torch::Tensor& topk_weights, torch::Tensor& topk_indices, torch::Tensor& token_expert_indices, torch::Tensor& gating_output); -void moe_align_block_size(torch::Tensor topk_ids, int num_experts, - int block_size, torch::Tensor sorted_token_ids, +void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, + int64_t block_size, torch::Tensor sorted_token_ids, torch::Tensor experts_ids, torch::Tensor num_tokens_post_pad); + void silu_and_mul(torch::Tensor &out, torch::Tensor &input); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu index a1f2aff32..a76586de2 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include +#include #include #include #include "hip_compat.h" diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py index 0c34e1b7e..1c8af28f0 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py @@ -2,63 +2,69 @@ import functools import json import os -from typing import Any, Dict, Optional, Tuple +from typing import Any, Callable, Dict, Optional, Tuple import torch import triton import triton.language as tl import moeKernels as moe_kernels -# from vllm import _custom_ops as ops -# # from vllm import envs -# # from vllm.logger import init_logger - -# from vllm import _custom_C - +# import vllm.envs as envs +# from vllm import _custom_ops as moe_kernels +# from vllm.logger import init_logger +# from vllm.platforms import current_platform +import logging +logger = logging.getLogger(__name__) # logger = init_logger(__name__) -padding_size = 0 # padding_size = 128 if envs.VLLM_MOE_PADDING else 0 +padding_size = 128 +FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') +VLLM_FUSED_MOE_CHUNK_SIZE = 65536 @triton.jit def fused_moe_kernel( - # Pointers to matrices - a_ptr, - b_ptr, - c_ptr, - a_scale_ptr, - b_scale_ptr, - topk_weights_ptr, - sorted_token_ids_ptr, - expert_ids_ptr, - num_tokens_post_padded_ptr, - # Matrix dimensions - N, - K, - EM, - num_valid_tokens, - # The stride variables represent how much to increase the ptr by when - # moving by 1 element in a particular dimension. E.g. `stride_am` is - # how much to increase `a_ptr` by to get the element one row down - # (A has M rows). - stride_am, - stride_ak, - stride_be, - stride_bk, - stride_bn, - stride_cm, - stride_cn, - # Meta-parameters - BLOCK_SIZE_M: tl.constexpr, - BLOCK_SIZE_N: tl.constexpr, - BLOCK_SIZE_K: tl.constexpr, - GROUP_SIZE_M: tl.constexpr, - MUL_ROUTED_WEIGHT: tl.constexpr, - top_k: tl.constexpr, - compute_type: tl.constexpr, - use_fp8: tl.constexpr, -): + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + stride_bse, + stride_bsn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8_w8a8: tl.constexpr, + use_int8_w8a16: tl.constexpr): """ Implements the fused computation for a Mixture of Experts (MOE) using token and expert matrices. @@ -117,10 +123,14 @@ def fused_moe_kernel( offs_k[None, :] * stride_ak) off_experts = tl.load(expert_ids_ptr + pid_m) - b_ptrs = (b_ptr + off_experts * stride_be+ - (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)) - - if use_fp8: + b_ptrs = b_ptr + off_experts * stride_be + (offs_k[:, None] * stride_bk + + offs_bn[None, :] * stride_bn) + if use_int8_w8a16: + b_scale_ptrs = b_scale_ptr + off_experts * stride_bse + offs_bn[ + None, :] * stride_bsn + b_scale = tl.load(b_scale_ptrs) + + if use_fp8_w8a8: a_scale = tl.load(a_scale_ptr) b_scale = tl.load(b_scale_ptr + off_experts) @@ -134,17 +144,17 @@ def fused_moe_kernel( for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): # Load the next block of A and B, generate a mask by checking the # K dimension. - a = tl.load( - a_ptrs, - mask=token_mask[:, None] & - (offs_k[None, :] < K - k * BLOCK_SIZE_K), - other=0.0, - ) + a = tl.load(a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=0.0) b = tl.load(b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0) # We accumulate along the K dimension. - if use_fp8: + if use_int8_w8a16: + accumulator = tl.dot(a, b.to(compute_type), acc=accumulator) + elif use_fp8_w8a8: accumulator = tl.dot(a, b, acc=accumulator) else: accumulator += tl.dot(a, b) @@ -157,20 +167,197 @@ def fused_moe_kernel( mask=token_mask, other=0) accumulator = accumulator * moe_weight[:, None] - - if use_fp8: + if use_int8_w8a16: + accumulator = (accumulator * b_scale).to(compute_type) + elif use_fp8_w8a8: accumulator = (accumulator * a_scale * b_scale).to(compute_type) else: accumulator = accumulator.to(compute_type) # ----------------------------------------------------------- # Write back the block of the output offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) - c_ptrs = (c_ptr + stride_cm * offs_token[:, None] + - stride_cn * offs_cn[None, :]) + c_ptrs = c_ptr + stride_cm * offs_token[:, None] + stride_cn * offs_cn[ + None, :] c_mask = token_mask[:, None] & (offs_cn[None, :] < N) tl.store(c_ptrs, accumulator, mask=c_mask) +@triton.heuristics({ + 'EVEN_K': lambda args: args['K'] % args['BLOCK_SIZE_K'] == 0, +}) +@triton.jit +def fused_moe_persistent_kernel( + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + EVEN_K: tl.constexpr, + NUM_SMS: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8: tl.constexpr, +): + """ + Implements the fused computation for a Mixture of Experts (MOE) using + token and expert matrices. + This is the persistent version of the fused_moe kernel. + + Key Parameters: + - A: The input tensor representing tokens with shape (*, K), where '*' can + be any shape representing batches and K is the feature dimension of + each token. + - B: The stacked MOE weight tensor with shape (E, N, K), where E is + the number of experts, K is the input feature dimension, and N is + the output feature dimension. + - C: The output cache tensor with shape (M, topk, N), where M is the + total number of tokens post padding, topk is the number of times + each token is repeated, and N is the output feature dimension. + - sorted_token_ids: A tensor containing the sorted indices of tokens, + repeated topk times and arranged by the expert index they are + assigned to. + - expert_ids: A tensor containing the indices of the expert for each + block. It determines which expert matrix from B should be used for + each block in A. + This kernel performs the multiplication of a token by its corresponding + expert matrix as determined by `expert_ids`. The sorting of + `sorted_token_ids` by expert index and padding ensures divisibility by + BLOCK_SIZE_M, which is necessary to maintain consistency in block matrix + multiplication across different blocks processed by the same expert. + """ + # ----------------------------------------------------------- + # Simply compute how many iterations each persistent block needs to do + start_pid = tl.program_id(axis=0) + num_pid_m = tl.cdiv(EM, BLOCK_SIZE_M) + num_pid_n = tl.cdiv(N, BLOCK_SIZE_N) + # num_tiles = num_pid_m * num_pid_n + tile_id = start_pid + + offs_k = tl.arange(0, BLOCK_SIZE_K) + # offs_token = tl.zeros((BLOCK_SIZE_M,), dtype=tl.int32) + # token_mask = tl.zeros((BLOCK_SIZE_M,), dtype=tl.int1) + + # Load tile-invariant runtime constant + num_tokens_post_padded = tl.load(num_tokens_post_padded_ptr) + + # Compute how many tiles are outside the padding region + num_pid_in_group = GROUP_SIZE_M * num_pid_n + pid_m = 0 + tile_id2 = start_pid - NUM_SMS + num_valid_tiles = -1 + while pid_m * BLOCK_SIZE_M < num_tokens_post_padded: + num_valid_tiles += 1 + tile_id2 += NUM_SMS + group_id = tile_id2 // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((tile_id2 % num_pid_in_group) % group_size_m) + + for _ in range(0, num_valid_tiles): + if GROUP_SIZE_M == 1: + pid_m = tile_id // num_pid_n + pid_n = tile_id % num_pid_n + else: + group_id = tile_id // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((tile_id % num_pid_in_group) % group_size_m) + pid_n = (tile_id % num_pid_in_group) // group_size_m + # Compute the mask + offs_token_id = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M) + offs_token = tl.load(sorted_token_ids_ptr + offs_token_id) + token_mask = offs_token < num_valid_tokens + # Compute the A pointer + a_ptrs = a_ptr + (offs_token[:, None] // top_k * stride_am + + offs_k[None, :] * stride_ak) + # Compute the B pointer + offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N + off_experts = tl.load(expert_ids_ptr + pid_m) + b_ptrs = (b_ptr + off_experts * stride_be + + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)) + + if use_fp8: + a_scale = tl.load(a_scale_ptr) + b_scale = tl.load(b_scale_ptr + off_experts) + + accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32) + + for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): + # Load the next block of A and B, generate a mask by checking the + # K dimension. + if EVEN_K: + a = tl.load(a_ptrs, mask=token_mask[:, None], other=0.0) + b = tl.load(b_ptrs) + else: + a = tl.load( + a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=0.0 + ) + b = tl.load( + b_ptrs, + mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, + other=0.0 + ) + # We accumulate along the K dimension. + if use_fp8: + accumulator = tl.dot(a, b, acc=accumulator) + else: + accumulator += tl.dot(a, b) + # Advance the ptrs to the next K block. + a_ptrs += BLOCK_SIZE_K * stride_ak + b_ptrs += BLOCK_SIZE_K * stride_bk + + if MUL_ROUTED_WEIGHT: + moe_weight = tl.load(topk_weights_ptr + offs_token, + mask=token_mask, + other=0) + accumulator = accumulator * moe_weight[:, None] + + if use_fp8: + accumulator = (accumulator * a_scale * b_scale).to(compute_type) + else: + accumulator = accumulator.to(compute_type) + # ----------------------------------------------------------- + # Write back the block of the output + offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) + c_ptrs = (c_ptr + stride_cm * offs_token[:, None] + + stride_cn * offs_cn[None, :]) + c_mask = token_mask[:, None] & (offs_cn[None, :] < N) + tl.store(c_ptrs, accumulator, mask=c_mask) + + # advance tile_id + tile_id += NUM_SMS + + def moe_align_block_size( topk_ids: torch.Tensor, block_size: int, num_experts: int) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: @@ -217,58 +404,16 @@ def moe_align_block_size( device=topk_ids.device) sorted_ids.fill_(topk_ids.numel()) max_num_m_blocks = triton.cdiv(max_num_tokens_padded, block_size) - expert_ids = torch.empty((max_num_m_blocks, ), + expert_ids = torch.zeros((max_num_m_blocks, ), dtype=torch.int32, device=topk_ids.device) num_tokens_post_pad = torch.empty((1), dtype=torch.int32, device=topk_ids.device) - moe_kernels.moe_align_block_size( - topk_ids, - num_experts, - block_size, - sorted_ids, - expert_ids, - num_tokens_post_pad, - ) + moe_kernels.moe_align_block_size(topk_ids, num_experts, block_size, sorted_ids, + expert_ids, num_tokens_post_pad) return sorted_ids, expert_ids, num_tokens_post_pad -def invoke_mega_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, - topk_weights: torch.Tensor, topk_ids: torch.Tensor, - sorted_token_ids: torch.Tensor, - expert_ids: torch.Tensor, - num_tokens_post_padded: torch.Tensor, - m_blck_sz: int, mul_routed_weight: bool, top_k: int, - use_fp8: bool) -> None: - assert topk_weights.stride(1) == 1 - assert sorted_token_ids.stride(0) == 1 - - #print("\nm=",A.shape[0],"n=",B.shape[1],"k=",B.shape[2],"e=", B.shape[0], "ml_rt:",mul_routed_weight,"tpk",top_k, "\n") - _custom_C.wvSpltK_fsdMoe(#A, B, C, B.shape[1], 80) - A, - B, - C, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - A.shape[0], - B.shape[1], - B.shape[2], - B.shape[0], - topk_ids.numel(), - A.stride(0), - A.stride(1), - B.stride(0), - B.stride(2), - B.stride(1), - C.stride(1), - C.stride(2), - m_blck_sz, - mul_routed_weight, - top_k, - 80) def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, A_scale: Optional[torch.Tensor], @@ -279,51 +424,96 @@ def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, num_tokens_post_padded: torch.Tensor, mul_routed_weight: bool, top_k: int, config: Dict[str, Any], compute_type: tl.dtype, - use_fp8: bool) -> None: + use_fp8_w8a8: bool, use_int8_w8a16: bool) -> None: assert topk_weights.stride(1) == 1 assert sorted_token_ids.stride(0) == 1 - if not use_fp8: + if use_fp8_w8a8: + A, A_scale = moe_kernels.scaled_fp8_quant(A, A_scale) + assert B_scale is not None + elif use_int8_w8a16: + assert B_scale is not None + else: assert A_scale is None assert B_scale is None - else: - A, A_scale = ops.scaled_fp8_quant(A, A_scale) - assert B_scale is not None - - grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ - "BLOCK_SIZE_M"]) * triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]), ) - fused_moe_kernel[grid]( - A, - B, - C, - A_scale, - B_scale, - topk_weights, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - B.shape[1], - B.shape[2] - padding_size, - sorted_token_ids.shape[0], - topk_ids.numel(), - A.stride(0), - A.stride(1), - B.stride(0), - B.stride(2), - B.stride(1), - C.stride(1), - C.stride(2), - MUL_ROUTED_WEIGHT=mul_routed_weight, - top_k=top_k, - compute_type=compute_type, - use_fp8=use_fp8, - **config, - ) + if not FUSED_MOE_PERSISTENT: + grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ + "BLOCK_SIZE_M"]) * triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]), ) + + fused_moe_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + B.shape[2] - padding_size, + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + B_scale.stride(0) if B_scale is not None and use_int8_w8a16 else 0, + B_scale.stride(1) if B_scale is not None and use_int8_w8a16 else 0, + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, + **config, + enable_moe_lds_bypass=ENABLE_MOE_LDS_BYPASS + ) + else: + NUM_SMS = torch.cuda.get_device_properties("cuda").multi_processor_count * 2 + grid = lambda META: (min( + NUM_SMS, + triton.cdiv(sorted_token_ids.shape[0], META["BLOCK_SIZE_M"]) * + triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]) + ), ) + + fused_moe_persistent_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + B.shape[2] - padding_size, + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + NUM_SMS=NUM_SMS, + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8=use_fp8_w8a8, + **config, + enable_moe_lds_bypass=ENABLE_MOE_LDS_BYPASS + ) def get_config_file_name(E: int, N: int, dtype: Optional[str]) -> str: - device_name = torch.cuda.get_device_name().replace(" ", "_") + # device_name = current_platform.get_device_name().replace(" ", "_") + device_name = 'AMD_Instinct_MI308X_OAM' # TODO: need to update dtype_selector = "" if not dtype else f",dtype={dtype}" return f"E={E},N={N},device_name={device_name}{dtype_selector}.json" @@ -355,9 +545,63 @@ def get_moe_configs(E: int, N: int, # If no optimized configuration is available, we will use the default # configuration + logger.info("---> MOE tuned file not found at %s",config_file_path) return None +def get_default_config( + M: int, + E: int, + N: int, + K: int, + topk: int, + dtype: Optional[str], + is_marlin: bool, +) -> Dict[str, int]: + config = { + 'BLOCK_SIZE_M': 64, + 'BLOCK_SIZE_N': 128, # reqd. for MOE shuffle + 'BLOCK_SIZE_K': 128, # reqd. for MOE shuffle + 'GROUP_SIZE_M': 8 + } + # A heuristic: fused marlin works faster with this config for small M + if M <= E or (is_marlin and M <= 32): + config = { + 'BLOCK_SIZE_M': 16, + 'BLOCK_SIZE_N': 128, # reqd. for MOE shuffle + 'BLOCK_SIZE_K': 128, # reqd. for MOE shuffle + 'GROUP_SIZE_M': 1 + } + return config + + +def try_get_optimal_moe_config( + w1_shape: Tuple[int, ...], + w2_shape: Tuple[int, ...], + top_k: int, + dtype: Optional[str], + M: int, + override_config: Optional[Dict[str, Any]] = None, + is_marlin: bool = False, +): + if override_config: + config = override_config + else: + # First try to load optimal config from the file + E, _, N = w2_shape + configs = get_moe_configs(E, N, dtype) + + if configs: + # If an optimal configuration map has been found, look up the + # optimal config + config = configs[min(configs.keys(), key=lambda x: abs(x - M))] + else: + # Else use the default config + config = get_default_config(M, E, N, w1_shape[2], top_k, dtype, + is_marlin) + return config + + def fused_topk( hidden_states: torch.Tensor, gating_output: torch.Tensor, @@ -381,20 +625,69 @@ def fused_topk( topk, dtype=torch.int32, device=hidden_states.device) + moe_kernels.topk_softmax( topk_weights, topk_ids, token_expert_indicies, gating_output.float(), # TODO(woosuk): Optimize this. ) - # print('topk_weights: ', topk_weights.shape) del token_expert_indicies # Not used. Will be used in the future. if renormalize: topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + return topk_weights, topk_ids +# This is used by the Deepseek-V2 model +def grouped_topk(hidden_states: torch.Tensor, + gating_output: torch.Tensor, + topk: int, + renormalize: bool, + num_expert_group: int = 0, + topk_group: int = 0): + + assert hidden_states.shape[0] == gating_output.shape[0], ( + "Number of tokens mismatch") + + scores = torch.softmax(gating_output, dim=-1) + num_token = scores.shape[0] + group_scores = scores.view(num_token, num_expert_group, + -1).max(dim=-1).values # [n, n_group] + group_idx = torch.topk(group_scores, k=topk_group, dim=-1, + sorted=False)[1] # [n, top_k_group] + group_mask = torch.zeros_like(group_scores) # [n, n_group] + group_mask.scatter_(1, group_idx, 1) # [n, n_group] + score_mask = group_mask.unsqueeze(-1).expand( + num_token, num_expert_group, + scores.shape[-1] // num_expert_group).reshape(num_token, -1) # [n, e] + tmp_scores = scores.masked_fill(~score_mask.bool(), 0.0) # [n, e] + topk_weights, topk_ids = torch.topk(tmp_scores, + k=topk, + dim=-1, + sorted=False) + + if renormalize: + topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + + return topk_weights.to(torch.float32), topk_ids.to(torch.int32) + + +def get_config_dtype_str(dtype: torch.dtype, + use_int8_w8a16: Optional[bool] = False, + use_fp8_w8a8: Optional[bool] = False): + if use_fp8_w8a8: + return "fp8_w8a8" + elif use_int8_w8a16: + return "int8_w8a16" + elif dtype == torch.float: + # avoiding cases where kernel fails when float32 MoE + # use fp16/bfloat16 configs + return "float32" + return None + + def fused_experts(hidden_states: torch.Tensor, w1: torch.Tensor, w2: torch.Tensor, @@ -402,21 +695,13 @@ def fused_experts(hidden_states: torch.Tensor, topk_ids: torch.Tensor, inplace: bool = False, override_config: Optional[Dict[str, Any]] = None, - use_fp8: bool = False, + use_fp8_w8a8: bool = False, + use_int8_w8a16: bool = False, w1_scale: Optional[torch.Tensor] = None, w2_scale: Optional[torch.Tensor] = None, a1_scale: Optional[torch.Tensor] = None, a2_scale: Optional[torch.Tensor] = None): - # if int(os.environ.get("LOCAL_RANK", "0"))==0: - # print(f'{hidden_states.shape=}') - # print(f'{hidden_states=}') - # print('w1: ', w1.shape) - # print('w2: ', w2.shape) - # print(f'{topk_ids=}') - # print(f'{topk_weights=}') # Check constraints. - #print("hidenSize:", hidden_states.shape) - #print("hidenSize:", w1.shape[2]) assert hidden_states.shape[1] == w1.shape[2] - padding_size, "Hidden size mismatch" assert topk_weights.shape == topk_ids.shape, "topk shape mismatch" assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" @@ -426,177 +711,112 @@ def fused_experts(hidden_states: torch.Tensor, torch.float32, torch.float16, torch.bfloat16 ] - M, _ = hidden_states.shape + num_tokens, _ = hidden_states.shape E, N, _ = w1.shape + # We execute the fused_moe kernel in chunks to circumvent this issue: + # https://github.com/vllm-project/vllm/issues/5938 + CHUNK_SIZE = VLLM_FUSED_MOE_CHUNK_SIZE + M = min(num_tokens, CHUNK_SIZE) + config_dtype = get_config_dtype_str(use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, + dtype=hidden_states.dtype) + + get_config_func = functools.partial( + try_get_optimal_moe_config, + w1.shape, + (w2.shape[0], w2.shape[1], w2.shape[2] - padding_size), + topk_ids.shape[1], + config_dtype, + override_config=override_config, + ) - if override_config: - config = override_config - else: - # First try to load optimal config from the file - configs = get_moe_configs(E, w2.shape[2] - padding_size, - "float8" if use_fp8 else None) + config = get_config_func(M) - if configs: - # If an optimal configuration map has been found, look up the - # optimal config - config = configs[min(configs.keys(), key=lambda x: abs(x - M))] - else: - # Else use the default config - config = { - "BLOCK_SIZE_M": 64, - "BLOCK_SIZE_N": 64, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 8, - } - - if M <= E: - config = { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 32, - "BLOCK_SIZE_K": 64, - "GROUP_SIZE_M": 1, - } - - intermediate_cache1 = torch.empty( - (M, topk_ids.shape[1], N), - device=hidden_states.device, - dtype=hidden_states.dtype, - ) - intermediate_cache2 = torch.empty( - (M * topk_ids.shape[1], N // 2), - device=hidden_states.device, - dtype=hidden_states.dtype, - ) - intermediate_cache3 = torch.empty( - (M, topk_ids.shape[1], w2.shape[1]), - device=hidden_states.device, - dtype=hidden_states.dtype, - ) + intermediate_cache1 = torch.empty((M, topk_ids.shape[1], N), + device=hidden_states.device, + dtype=hidden_states.dtype) + intermediate_cache2 = torch.empty((M * topk_ids.shape[1], N // 2), + device=hidden_states.device, + dtype=hidden_states.dtype) + intermediate_cache3 = torch.empty((M, topk_ids.shape[1], w2.shape[1]), + device=hidden_states.device, + dtype=hidden_states.dtype) compute_type = (tl.bfloat16 if hidden_states.dtype == torch.bfloat16 else tl.float16) - #print(hidden_states.shape) - #print(intermediate_cache2.shape) - #print("M1:", hidden_states.shape[0], "M2:", intermediate_cache2.shape[0]) - #if hidden_states.shape[0] <= 256 and hidden_states.shape[1] % 8 == 0 and intermediate_cache2.shape[0] <= 256 and not use_fp8 : - - #WVSPLTK_M_THRSHLD = 64 - #m_blck_sz = -(-(M*topk_ids.shape[1]*3)//E) # target 75% of expert distribution for this M size - #if (m_blck_sz >= 12): - # m_blck_sz = 16 - - m_blck_sz = 32 # all calls go to wvSplitK_mfma16x16 - - #if hidden_states.shape[0] <= WVSPLTK_M_THRSHLD \ - # and hidden_states.shape[1] % 8 == 0 \ - # and intermediate_cache2.shape[0] <= WVSPLTK_M_THRSHLD \ - # and intermediate_cache2.shape[1] % 8 == 0 \ - # and not use_fp8 : - if 0: - #print("M:", M, " M_BLOCK PICKED:", m_blck_sz) - sorted_token_ids, expert_ids, num_tokens_post_padded = moe_align_block_size( - topk_ids, m_blck_sz, E) # target 75% of expert distribution for this M size - #topk_ids, config2['BLOCK_SIZE_M'],E) - #print("\nsrtd_tkn:", sorted_token_ids) - #print("w1Shape:",w1.shape) - print('sorted_token_ids: ', sorted_token_ids, sorted_token_ids.shape) - print('expert_ids: ', expert_ids) - print('num_tokens_post_padded: ', num_tokens_post_padded) - - #env VLLM_MOE_MFMASWIZZLE does this swizzle on init - w1_ = w1 - w2_ = w2 - if not envs.VLLM_MOE_MFMASWIZZLE : - if m_blck_sz >= 16 : - w1_ = torch.clone(w1) - w1_ = w1_.view(w1.shape[0], w1.shape[1]//16, 16, w1.shape[2]//128, 16, 8); - w1_ = w1_.permute(0, 1, 4, 3, 2, 5) - w1_ = w1_.contiguous() - w1_ = w1_.view(w1.shape[0],w1.shape[1],w1.shape[2]); - w2_ = torch.clone(w2) - w2_ = w2_.view(w2.shape[0], w2.shape[1]//16, 16, w2.shape[2]//128, 16, 8); - w2_ = w2_.permute(0, 1, 4, 3, 2, 5) - w2_ = w2_.contiguous() - w2_ = w2_.view(w2.shape[0],w2.shape[1],w2.shape[2]); - - #print(w1_) - - invoke_mega_fused_moe_kernel(hidden_states, - w1_, - intermediate_cache1, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - m_blck_sz, - False, - topk_ids.shape[1], - use_fp8=use_fp8) - #print("shdr_invk1:",intermediate_cache1.view(-1, N)) - moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) - #print("shdr_silu:",intermediate_cache2) - #print("shdr_silu_shape:", intermediate_cache2.shape) - #print("-----------------------------") - - invoke_mega_fused_moe_kernel(intermediate_cache2, - w2_, - intermediate_cache3, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - m_blck_sz, - True, - 1, - use_fp8=use_fp8) + if inplace: + out_hidden_states = hidden_states else: - sorted_token_ids, expert_ids, num_tokens_post_padded = moe_align_block_size( - topk_ids, config['BLOCK_SIZE_M'], E) - invoke_fused_moe_kernel(hidden_states, - w1, - intermediate_cache1, - a1_scale, - w1_scale, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - False, - topk_ids.shape[1], - config, - compute_type=compute_type, - use_fp8=use_fp8) + out_hidden_states = torch.empty_like(hidden_states) + + for chunk in range((num_tokens // CHUNK_SIZE) + 1): + begin_chunk_idx, end_chunk_idx = (chunk * CHUNK_SIZE, + min((chunk + 1) * CHUNK_SIZE, + num_tokens)) + curr_hidden_states = hidden_states[begin_chunk_idx:end_chunk_idx] + tokens_in_chunk, _ = curr_hidden_states.shape + + if tokens_in_chunk == 0: + break + + if tokens_in_chunk < CHUNK_SIZE and chunk > 0: + # Adjust the intermediate cache size and config for the last + # chunk. Note that in most cases we only have one chunk + # so the cache size and config are already set correctly and + # do not need to be adjusted. + intermediate_cache1 = intermediate_cache1[:tokens_in_chunk] + intermediate_cache2 = intermediate_cache2[:tokens_in_chunk] + intermediate_cache3 = intermediate_cache3[:tokens_in_chunk] + config = get_config_func(tokens_in_chunk) + + curr_topk_ids = topk_ids[begin_chunk_idx:end_chunk_idx] + curr_topk_weights = topk_weights[begin_chunk_idx:end_chunk_idx] + + sorted_token_ids, expert_ids, num_tokens_post_padded = ( + moe_align_block_size(curr_topk_ids, config['BLOCK_SIZE_M'], E)) + + invoke_fused_moe_kernel(curr_hidden_states, + w1, + intermediate_cache1, + a1_scale, + w1_scale, + curr_topk_weights, + curr_topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + False, + topk_ids.shape[1], + config, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) invoke_fused_moe_kernel(intermediate_cache2, - w2, - intermediate_cache3, - a2_scale, - w2_scale, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - True, - 1, - config, - compute_type=compute_type, - use_fp8=use_fp8) - - if inplace: - return torch.sum( - intermediate_cache3.view(*intermediate_cache3.shape), - dim=1, - out=hidden_states, - ) - return torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), - dim=1) + w2, + intermediate_cache3, + a2_scale, + w2_scale, + curr_topk_weights, + curr_topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + True, + 1, + config, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) + + torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), + dim=1, + out=out_hidden_states[begin_chunk_idx:end_chunk_idx]) + + return out_hidden_states def fused_moe( @@ -608,7 +828,12 @@ def fused_moe( renormalize: bool, inplace: bool = False, override_config: Optional[Dict[str, Any]] = None, - use_fp8: bool = False, + use_grouped_topk: bool = False, + num_expert_group: Optional[int] = None, + topk_group: Optional[int] = None, + custom_routing_function: Optional[Callable] = None, + use_fp8_w8a8: bool = False, + use_int8_w8a16: bool = False, w1_scale: Optional[torch.Tensor] = None, w2_scale: Optional[torch.Tensor] = None, a1_scale: Optional[torch.Tensor] = None, @@ -630,7 +855,13 @@ def fused_moe( Defaults to False. - override_config (Optional[Dict[str, Any]]): Optional override for the kernel configuration. - - use_fp8 (bool): If True, use fp8 arithmetic to compute the inner + - num_expert_group: Optional[int]: additional parameter for grouped_topk + - topk_group: Optional[int]: additional parameter for grouped_topk + - use_grouped_topk: If True, use grouped_topk instead of fused_topk + note: Deepseekv2 model uses grouped_topk + - use_fp8_w8a8 (bool): If True, use fp8 arithmetic to compute the inner + products for w1 and w2. Defaults to False. + - use_int8_w8a16 (bool): If True, use fp8 arithmetic to compute the inner products for w1 and w2. Defaults to False. - w1_scale (Optional[torch.Tensor]): Optional scale to be used for w1. @@ -643,8 +874,18 @@ def fused_moe( # Check constraints. assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" - topk_weights, topk_ids = fused_topk(hidden_states, gating_output, topk, - renormalize) + if use_grouped_topk: + assert num_expert_group is not None and topk_group is not None + topk_weights, topk_ids = grouped_topk(hidden_states, gating_output, + topk, renormalize, + num_expert_group, topk_group) + elif custom_routing_function is None: + topk_weights, topk_ids = fused_topk(hidden_states, gating_output, topk, + renormalize) + else: + topk_weights, topk_ids = custom_routing_function( + hidden_states, gating_output, topk, renormalize) + return fused_experts(hidden_states, w1, w2, @@ -652,7 +893,8 @@ def fused_moe( topk_ids, inplace=inplace, override_config=override_config, - use_fp8=use_fp8, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, w1_scale=w1_scale, w2_scale=w2_scale, a1_scale=a1_scale, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index d00290755..02ff80dc7 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -4,6 +4,7 @@ import torch import torch.nn as nn import torch.distributed as dist +import torch.nn.functional as F from typing import Dict, Any from llm_perf.utils.logger import logger @@ -82,7 +83,14 @@ def infusion_to_model(self): w13_weight[j, 1, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"] w2_weight[j, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"] - self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim)) + w13_weight = w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim) + if bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))): + w13_weight = permute_weight(w13_weight) + w2_weight = permute_weight(w2_weight) + w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) + w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) + torch.cuda.empty_cache() + self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight) self.model.model.layers[i].block_sparse_moe.w2_weight = self.to_parameter(w2_weight) # self.model.model.layers[i].block_sparse_moe.w13_weight.data=permute_weight(self.model.model.layers[i].block_sparse_moe.w13_weight.data) # self.model.model.layers[i].block_sparse_moe.w2_weight.data =permute_weight(self.model.model.layers[i].block_sparse_moe.w2_weight.data) From d1bd445e9fdb08a83a63d03da4e123be27039c11 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 28 Sep 2024 19:02:21 +0800 Subject: [PATCH 04/50] add fused_add_rms_norm --- .../ROCM/model_impl/modeling_mixtral.py | 78 ++- ...4,device_name=AMD_Instinct_MI308X_OAM.json | 0 ...8,device_name=AMD_Instinct_MI308X_OAM.json | 0 .../csrc/activation_kernels.cu | 0 .../csrc/dispatch_utils.h | 0 .../csrc/hip_compat.h | 0 .../rocm_kernels/csrc/layernorm_kernels.cu | 627 ++++++++++++++++++ .../csrc/moe_align_block_size_kernels.cu | 0 .../csrc/moe_ops.cpp | 2 + .../csrc/moe_ops.h | 6 + .../csrc/topk_softmax_kernels.cu | 0 .../{fused_moe => rocm_kernels}/fused_moe.py | 2 +- .../ROCM/{fused_moe => rocm_kernels}/setup.py | 4 +- 13 files changed, 697 insertions(+), 22 deletions(-) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/activation_kernels.cu (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/dispatch_utils.h (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/hip_compat.h (100%) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/moe_align_block_size_kernels.cu (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/moe_ops.cpp (70%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/moe_ops.h (69%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/topk_softmax_kernels.cu (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/fused_moe.py (99%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/setup.py (98%) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index c64292e4e..bdcae1e46 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -55,7 +55,8 @@ from transformers.utils.import_utils import is_torch_fx_available from transformers.models.mixtral.configuration_mixtral import MixtralConfig -from ..fused_moe.fused_moe import fused_moe +from ..rocm_kernels.fused_moe import fused_moe +import rocmKernels as ops if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -176,12 +177,40 @@ def __init__(self, hidden_size, eps=1e-6): self.weight = nn.Parameter(torch.ones(hidden_size)) self.variance_epsilon = eps - def forward(self, hidden_states): - input_dtype = hidden_states.dtype - hidden_states = hidden_states.to(torch.float32) - variance = hidden_states.pow(2).mean(-1, keepdim=True) - hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) - return self.weight * hidden_states.to(input_dtype) + def forward(self, hidden_states, residual=None): + # # ori implementation + # input_dtype = hidden_states.dtype + # if residual is not None: + # hidden_states = hidden_states + residual + # residual = hidden_states + # hidden_states = hidden_states.to(torch.float32) + # variance = hidden_states.pow(2).mean(-1, keepdim=True) + # hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + # hidden_states = self.weight * hidden_states.to(input_dtype) + # if residual is None: + # return hidden_states + # else: + # return hidden_states, residual + + # optimized implementation + if residual is not None: + ops.fused_add_rms_norm( + hidden_states, + residual, + self.weight.data, + self.variance_epsilon, + ) + return hidden_states, residual + out = torch.empty_like(hidden_states) + ops.rms_norm( + out, + hidden_states, + self.weight.data, + self.variance_epsilon, + ) + return out + + # Copied from transformers.models.mistral.modeling_mistral.MistralRotaryEmbedding with Mistral->Mixtral @@ -946,6 +975,7 @@ def __init__(self, config: MixtralConfig, layer_idx: int): def forward( self, hidden_states: torch.Tensor, + residual: Optional[torch.Tensor] = None, attention_mask: Optional[torch.Tensor] = None, position_ids: Optional[torch.LongTensor] = None, past_key_value: Optional[Tuple[torch.Tensor]] = None, @@ -975,9 +1005,14 @@ def forward( (see `past_key_values`). """ - residual = hidden_states - - hidden_states = self.input_layernorm(hidden_states) + # residual = hidden_states + # hidden_states = self.input_layernorm(hidden_states) + if residual is None: + residual = hidden_states + hidden_states = self.input_layernorm(hidden_states) + else: + hidden_states, residual = self.input_layernorm( + hidden_states, residual) # Self Attention hidden_states, self_attn_weights, present_key_value = self.self_attn( @@ -992,19 +1027,22 @@ def forward( if self.mp_size > 1: dist.all_reduce(hidden_states) - hidden_states = residual + hidden_states # Fully Connected - residual = hidden_states - hidden_states = self.post_attention_layernorm(hidden_states) + # hidden_states = residual + hidden_states + # residual = hidden_states + hidden_states, residual = self.post_attention_layernorm(hidden_states, residual) hidden_states, router_logits = self.block_sparse_moe(hidden_states, **kwargs) + if (os.environ.get("LOCAL_RANK", "0"), self.layer_idx) == (): + pass # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states.shape=}') # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states=}') if self.mp_size > 1: dist.all_reduce(hidden_states) - hidden_states = residual + hidden_states - outputs = (hidden_states,) + # hidden_states = residual + hidden_states + # outputs = (hidden_states,) + outputs = (hidden_states, residual) return outputs @@ -1171,6 +1209,7 @@ def forward( return_dict: Optional[bool] = None, **kwargs, ) -> Union[Tuple, MoeModelOutputWithPast]: + residual = None if kwargs.pop("override_hidden_states", False): random_seed = kwargs.pop("random_seed", 1) layer_index = kwargs.pop("fixed_layer_index", -1) @@ -1182,8 +1221,9 @@ def forward( hidden_states = self.embed_tokens(random_input_ids) for _ in self.layers: - layer_outputs = self.layers[layer_index]( + layer_outputs, residual = self.layers[layer_index]( hidden_states, + residual=residual, attention_mask=attention_mask, position_ids=position_ids, past_key_value=past_key_values, @@ -1195,8 +1235,9 @@ def forward( else: hidden_states = self.embed_tokens(input_ids) for decoder_layer in self.layers: - layer_outputs = decoder_layer( + hidden_states, residual = decoder_layer( hidden_states, + residual=residual, attention_mask=attention_mask, position_ids=position_ids, past_key_value=past_key_values, @@ -1205,9 +1246,8 @@ def forward( use_cache=False, **kwargs, ) - hidden_states = layer_outputs[0] - hidden_states = self.norm(hidden_states) + hidden_states, _ = self.norm(hidden_states, residual) return MoeModelOutputWithPast( last_hidden_state=hidden_states diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/activation_kernels.cu similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/activation_kernels.cu diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dispatch_utils.h similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dispatch_utils.h diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_compat.h similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_compat.h diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu new file mode 100644 index 000000000..681f2bc59 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu @@ -0,0 +1,627 @@ +#include +#include +#include + +#include "dispatch_utils.h" +// #include "attention/attention_dtypes.h" +#ifndef USE_ROCM + #include + #include + #include + #include +#else + #include + #include + #include + #include + // #include "quantization/fp8/amd/hip_float8.h" + // #include "quantization/fp8/amd/quant_utils.cuh" + +using __nv_bfloat16 = __hip_bfloat16; +using __nv_bfloat162 = __hip_bfloat162; +#endif + + +namespace vllm { + +template +struct __align__(16) vec8_t { + scalar_t x, y, z, w, u, v, s, t; + + __device__ vec8_t() : x(0), y(0), z(0), w(0), u(0), v(0), s(0), t(0) {} + __device__ vec8_t(scalar_t x, scalar_t y, scalar_t z, scalar_t w, scalar_t u, + scalar_t v, scalar_t s, scalar_t t) + : x(x), y(y), z(z), w(w), u(u), v(v), s(s), t(t) {} + + __device__ vec8_t operator*(const vec8_t& other) const { + return vec8_t(x * other.x, y * other.y, z * other.z, w * other.w, + u * other.u, v * other.v, s * other.s, t * other.t); + } + + __device__ vec8_t operator*(const float& scale) const { + return vec8_t(x * scale, y * scale, z * scale, w * scale, u * scale, + v * scale, s * scale, t * scale); + } + + __device__ vec8_t operator+(const vec8_t& other) const { + return vec8_t(x + other.x, y + other.y, z + other.z, w + other.w, + u + other.u, v + other.v, s + other.s, t + other.t); + } + + __device__ void operator+=(const vec8_t& other) { + x += other.x; + y += other.y; + z += other.z; + w += other.w; + u += other.u; + v += other.v; + s += other.s; + t += other.t; + } + + __device__ scalar_t sum() const { return x + y + z + w + u + v + s + t; } +}; + +// TODO(woosuk): Further optimize this kernel. +template +__global__ void rms_norm_kernel( + scalar_t* __restrict__ out, // [..., hidden_size] + const scalar_t* __restrict__ input, // [..., hidden_size] + const scalar_t* __restrict__ weight, // [hidden_size] + const float epsilon, const int num_tokens, const int hidden_size) { + __shared__ float s_variance; + + vec8_t v8_variance = {0, 0, 0, 0, 0, 0, 0, 0}; + + vec8_t* vectorized_out = reinterpret_cast*>(out); + vec8_t const* vectorized_in = + reinterpret_cast const*>(input); + vec8_t const* vectorized_weight = + reinterpret_cast const*>(weight); + const int vec_hidden_size = hidden_size >> 3; + + // Compute variance. Be careful, hidden_size should multiple of 4. + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + vec8_t x = vectorized_in[blockIdx.x * vec_hidden_size + idx]; + v8_variance += x * x; + } + float v8_variance_sum = v8_variance.sum(); + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStore; + float variance = + BlockReduce(reduceStore).Reduce(v8_variance_sum, cub::Sum{}, blockDim.x); + + if (threadIdx.x == 0) { + s_variance = rsqrtf(variance / hidden_size + epsilon); + } + __syncthreads(); + + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + vec8_t v8_in = vectorized_in[blockIdx.x * vec_hidden_size + idx]; + vec8_t v8_w = vectorized_weight[idx]; + vectorized_out[blockIdx.x * vec_hidden_size + idx] = + v8_in * s_variance * v8_w; + } +} + +// template +// __global__ void scaled_rms_norm_kernel( +// c10::Float8_e4m3fnuz* __restrict__ out, // [..., hidden_size] +// const scalar_t* __restrict__ input, // [..., hidden_size] +// const scalar_t* __restrict__ weight, // [hidden_size] +// const float scale, const float epsilon, const int num_tokens, +// const int hidden_size) { +// __shared__ float s_variance; +// float variance = 0.0f; + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// const float x = (float)input[blockIdx.x * hidden_size + idx]; +// variance += x * x; +// } + +// using BlockReduce = cub::BlockReduce; +// __shared__ typename BlockReduce::TempStorage reduceStore; +// variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + +// if (threadIdx.x == 0) { +// s_variance = rsqrtf(variance / hidden_size + epsilon); +// } +// __syncthreads(); + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// float x = (float)input[blockIdx.x * hidden_size + idx]; +// float r = (x * s_variance) * weight[idx] * scale; +// out[blockIdx.x * hidden_size + idx] = c10::Float8_e4m3fnuz( +// hip_fp8(r).data, c10::Float8_e4m3fnuz::from_bits()); +// } +// } + +/* Converter structs for the conversion from torch types to HIP/CUDA types, + and the associated type conversions within HIP/CUDA. These helpers need + to be implemented for now because the relevant type conversion + operators/constructors are not consistently implemented by HIP/CUDA, so + a generic conversion via type casts cannot be implemented. + + Each struct should have the member static constexpr bool `exists`: + If false, the optimized kernel is not used for the corresponding torch type. + If true, the struct should be fully defined as shown in the examples below. + */ +template +struct _typeConvert { + static constexpr bool exists = false; +}; + +#if defined(USE_ROCM) || (defined(CUDA_VERSION) && (CUDA_VERSION >= 12000)) +// CUDA < 12.0 runs into issues with packed type conversion +template <> +struct _typeConvert { + static constexpr bool exists = true; + using hip_type = __half; + using packed_hip_type = __half2; + + __device__ static inline float convert(hip_type x) { return __half2float(x); } + __device__ static inline float2 convert(packed_hip_type x) { + return __half22float2(x); + } + __device__ static inline hip_type convert(float x) { + return __float2half_rn(x); + } + __device__ static inline packed_hip_type convert(float2 x) { + return __float22half2_rn(x); + } +}; + + #if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +// CUDA_ARCH < 800 does not have BF16 support +// TODO: Add in ROCm support once public headers handle bf16 maturely +template <> +struct _typeConvert { + static constexpr bool exists = true; + using hip_type = __nv_bfloat16; + using packed_hip_type = __nv_bfloat162; + + __device__ static inline float convert(hip_type x) { + return __bfloat162float(x); + } + __device__ static inline float2 convert(packed_hip_type x) { + return __bfloat1622float2(x); + } + __device__ static inline hip_type convert(float x) { + return __float2bfloat16(x); + } + __device__ static inline packed_hip_type convert(float2 x) { + return __float22bfloat162_rn(x); + } +}; + #endif // defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +#endif // defined(USE_ROCM) || (defined(CUDA_VERSION) && (CUDA_VERSION >= + // 12000)) + +/* Vector POD struct to generate vectorized and packed FP16/BF16 ops + for appropriate specializations of fused_add_rms_norm_kernel. + Only functions that are necessary in that kernel are implemented. + Alignment to 16 bytes is required to use 128-bit global memory ops. + */ +template +struct alignas(16) _f16Vec { + /* Not theoretically necessary that width is a power of 2 but should + almost always be the case for optimization purposes */ + static_assert(width > 0 && (width & (width - 1)) == 0, + "Width is not a positive power of 2!"); + using Converter = _typeConvert; + using T1 = typename Converter::hip_type; + using T2 = typename Converter::packed_hip_type; + T1 data[width]; + + __device__ _f16Vec& operator+=(const _f16Vec& other) { + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + T2 temp{data[i], data[i + 1]}; + temp += T2{other.data[i], other.data[i + 1]}; + data[i] = temp.x; + data[i + 1] = temp.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) data[i] += other.data[i]; + } + return *this; + } + + __device__ _f16Vec& operator*=(const _f16Vec& other) { + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + T2 temp{data[i], data[i + 1]}; + temp *= T2{other.data[i], other.data[i + 1]}; + data[i] = temp.x; + data[i + 1] = temp.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) data[i] *= other.data[i]; + } + return *this; + } + + __device__ _f16Vec& operator*=(const float scale) { + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + float2 temp_f = Converter::convert(T2{data[i], data[i + 1]}); + temp_f.x *= scale; + temp_f.y *= scale; + T2 temp = Converter::convert(temp_f); + data[i] = temp.x; + data[i + 1] = temp.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) { + float temp = Converter::convert(data[i]) * scale; + data[i] = Converter::convert(temp); + } + } + return *this; + } + + __device__ float sum_squares() const { + float result = 0.0f; + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + float2 z = Converter::convert(T2{data[i], data[i + 1]}); + result += z.x * z.x + z.y * z.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) { + float x = Converter::convert(data[i]); + result += x * x; + } + } + return result; + } +}; + +/* Function specialization in the case of FP16/BF16 tensors. + Additional optimizations we can make in this case are + packed and vectorized operations, which help with the + memory latency bottleneck. */ +template +__global__ std::enable_if_t<(width > 0) && _typeConvert::exists> +fused_add_rms_norm_kernel( + scalar_t* __restrict__ input, // [..., hidden_size] + scalar_t* __restrict__ residual, // [..., hidden_size] + const scalar_t* __restrict__ weight, // [hidden_size] + const float epsilon, const int num_tokens, const int hidden_size) { + // Sanity checks on our vector struct and type-punned pointer arithmetic + static_assert(std::is_pod_v<_f16Vec>); + static_assert(sizeof(_f16Vec) == sizeof(scalar_t) * width); + + const int vec_hidden_size = hidden_size / width; + __shared__ float s_variance; + float variance = 0.0f; + /* These and the argument pointers are all declared `restrict` as they are + not aliased in practice. Argument pointers should not be dereferenced + in this kernel as that would be undefined behavior */ + auto* __restrict__ input_v = + reinterpret_cast<_f16Vec*>(input); + auto* __restrict__ residual_v = + reinterpret_cast<_f16Vec*>(residual); + auto* __restrict__ weight_v = + reinterpret_cast*>(weight); + + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + int id = blockIdx.x * vec_hidden_size + idx; + _f16Vec temp = input_v[id]; + temp += residual_v[id]; + variance += temp.sum_squares(); + residual_v[id] = temp; + } + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStore; + variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + + if (threadIdx.x == 0) { + s_variance = rsqrtf(variance / hidden_size + epsilon); + } + __syncthreads(); + + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + int id = blockIdx.x * vec_hidden_size + idx; + _f16Vec temp = residual_v[id]; + temp *= s_variance; + temp *= weight_v[idx]; + input_v[id] = temp; + } +} + +/* Generic fused_add_rms_norm_kernel + The width field is not used here but necessary for other specializations. + */ +template +__global__ std::enable_if_t<(width == 0) || !_typeConvert::exists> +fused_add_rms_norm_kernel( + scalar_t* __restrict__ input, // [..., hidden_size] + scalar_t* __restrict__ residual, // [..., hidden_size] + const scalar_t* __restrict__ weight, // [hidden_size] + const float epsilon, const int num_tokens, const int hidden_size) { + __shared__ float s_variance; + float variance = 0.0f; + + for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { + scalar_t z = input[blockIdx.x * hidden_size + idx]; + z += residual[blockIdx.x * hidden_size + idx]; + float x = (float)z; + variance += x * x; + residual[blockIdx.x * hidden_size + idx] = z; + } + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStore; + variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + + if (threadIdx.x == 0) { + s_variance = rsqrtf(variance / hidden_size + epsilon); + } + __syncthreads(); + + for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { + float x = (float)residual[blockIdx.x * hidden_size + idx]; + input[blockIdx.x * hidden_size + idx] = + ((scalar_t)(x * s_variance)) * weight[idx]; + } +} + +/* Function specialization in the case of FP16/BF16 tensors. + Additional optimizations we can make in this case are + packed and vectorized operations, which help with the + memory latency bottleneck. */ + +// template <> +// struct Vec { +// using Type = uint2; +// }; + +// template <> +// struct Vec { +// using Type = uint4; +// }; + +// template <> +// struct Vec { +// using Type = bf16_8_t; +// }; + +// template +// __global__ std::enable_if_t<(width > 0) && _typeConvert::exists> +// scaled_fused_add_rms_norm_kernel( +// c10::Float8_e4m3fnuz* __restrict__ out, // [..., hidden_size] +// scalar_t* __restrict__ input, // [..., hidden_size] +// scalar_t* __restrict__ residual, // [..., hidden_size] +// const scalar_t* __restrict__ weight, // [hidden_size] +// const float epsilon, const float scale, const int num_tokens, +// const int hidden_size) { +// using in_v_t = typename Vec::Type; +// using out_v_t = typename Vec::Type; +// // Sanity checks on our vector struct and type-punned pointer arithmetic +// static_assert(std::is_pod_v<_f16Vec>); +// static_assert(sizeof(_f16Vec) == sizeof(scalar_t) * width); + +// const int vec_hidden_size = hidden_size / width; +// __shared__ float s_variance; +// float variance = 0.0f; +// /* These and the argument pointers are all declared `restrict` as they are +// not aliased in practice. Argument pointers should not be dereferenced +// in this kernel as that would be undefined behavior */ +// auto* __restrict__ out_v = reinterpret_cast(out); +// auto* __restrict__ input_v = +// reinterpret_cast<_f16Vec*>(input); +// auto* __restrict__ residual_v = +// reinterpret_cast<_f16Vec*>(residual); +// auto* __restrict__ weight_v = +// reinterpret_cast*>(weight); + +// for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { +// int id = blockIdx.x * vec_hidden_size + idx; +// _f16Vec temp = input_v[id]; +// temp += residual_v[id]; +// variance += temp.sum_squares(); +// residual_v[id] = temp; +// } + +// using BlockReduce = cub::BlockReduce; +// __shared__ typename BlockReduce::TempStorage reduceStore; +// variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + +// if (threadIdx.x == 0) { +// s_variance = rsqrtf(variance / hidden_size + epsilon); +// } +// __syncthreads(); + +// for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { +// int id = blockIdx.x * vec_hidden_size + idx; +// _f16Vec temp = residual_v[id]; +// temp *= s_variance; +// temp *= weight_v[idx]; +// out_v_t temp_quant = fp8::scaled_vec_conversion( +// *reinterpret_cast(&temp), scale); +// out_v[id] = temp_quant; +// } +// } + +/* Generic scaled_fused_add_rms_norm_kernel + The width field is not used here but necessary for other specializations. + */ +// template +// __global__ std::enable_if_t<(width == 0) || !_typeConvert::exists> +// scaled_fused_add_rms_norm_kernel( +// c10::Float8_e4m3fnuz* __restrict__ out, // [..., hidden_size] +// scalar_t* __restrict__ input, // [..., hidden_size] +// scalar_t* __restrict__ residual, // [..., hidden_size] +// const scalar_t* __restrict__ weight, // [hidden_size] +// const float epsilon, const float scale, const int num_tokens, +// const int hidden_size) { +// __shared__ float s_variance; +// float variance = 0.0f; + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// scalar_t z = input[blockIdx.x * hidden_size + idx]; +// z += residual[blockIdx.x * hidden_size + idx]; +// float x = (float)z; +// variance += x * x; +// residual[blockIdx.x * hidden_size + idx] = z; +// } + +// using BlockReduce = cub::BlockReduce; +// __shared__ typename BlockReduce::TempStorage reduceStore; +// variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + +// if (threadIdx.x == 0) { +// s_variance = rsqrtf(variance / hidden_size + epsilon); +// } +// __syncthreads(); + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// float x = (float)residual[blockIdx.x * hidden_size + idx]; +// float r = (x * s_variance) * (float)weight[idx] / scale; +// out[blockIdx.x * hidden_size + idx] = c10::Float8_e4m3fnuz( +// hip_fp8(r).data, c10::Float8_e4m3fnuz::from_bits()); +// } +// } + +} // namespace vllm + +void rms_norm(torch::Tensor& out, // [..., hidden_size] + torch::Tensor& input, // [..., hidden_size] + torch::Tensor& weight, // [hidden_size] + double epsilon) { + int hidden_size = input.size(-1); + int num_tokens = input.numel() / hidden_size; + + dim3 grid(num_tokens); + dim3 block(std::min(hidden_size, 1024)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES(input.scalar_type(), "rms_norm_kernel", [&] { + vllm::rms_norm_kernel<<>>( + out.data_ptr(), input.data_ptr(), + weight.data_ptr(), epsilon, num_tokens, hidden_size); + }); +} + +// void scaled_rms_norm(torch::Tensor& out, // [..., hidden_size] +// torch::Tensor& input, // [..., hidden_size] +// torch::Tensor& weight, // [hidden_size] +// torch::Tensor& scale, double epsilon) { +// int hidden_size = input.size(-1); +// int num_tokens = input.numel() / hidden_size; + +// dim3 grid(num_tokens); +// dim3 block(std::min(hidden_size, 1024)); +// const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); +// const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); +// VLLM_DISPATCH_FLOATING_TYPES( +// input.scalar_type(), "scaled_rms_norm_kernel", [&] { +// vllm::scaled_rms_norm_kernel<<>>( +// out.data_ptr(), input.data_ptr(), +// weight.data_ptr(), 1.0 / (*scale.data_ptr()), +// epsilon, num_tokens, hidden_size); +// }); +// } + +#define LAUNCH_FUSED_ADD_RMS_NORM(width) \ + VLLM_DISPATCH_FLOATING_TYPES( \ + input.scalar_type(), "fused_add_rms_norm_kernel", [&] { \ + vllm::fused_add_rms_norm_kernel \ + <<>>(input.data_ptr(), \ + residual.data_ptr(), \ + weight.data_ptr(), epsilon, \ + num_tokens, hidden_size); \ + }); + +void fused_add_rms_norm(torch::Tensor& input, // [..., hidden_size] + torch::Tensor& residual, // [..., hidden_size] + torch::Tensor& weight, // [hidden_size] + double epsilon) { + int hidden_size = input.size(-1); + int num_tokens = input.numel() / hidden_size; + + dim3 grid(num_tokens); + /* This kernel is memory-latency bound in many scenarios. + When num_tokens is large, a smaller block size allows + for increased block occupancy on CUs and better latency + hiding on global mem ops. */ + const int max_block_size = (num_tokens < 256) ? 1024 : 256; + dim3 block(std::min(hidden_size, max_block_size)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + /*If the tensor types are FP16/BF16, try to use the optimized kernel + with packed + vectorized ops. + Max optimization is achieved with a width-8 vector of FP16/BF16s + since we can load at most 128 bits at once in a global memory op. + However, this requires each tensor's data to be aligned to 16 + bytes. + */ + auto inp_ptr = reinterpret_cast(input.data_ptr()); + auto res_ptr = reinterpret_cast(residual.data_ptr()); + auto wt_ptr = reinterpret_cast(weight.data_ptr()); + bool ptrs_are_aligned = + inp_ptr % 16 == 0 && res_ptr % 16 == 0 && wt_ptr % 16 == 0; + if (ptrs_are_aligned && hidden_size % 8 == 0) { + LAUNCH_FUSED_ADD_RMS_NORM(8); + } else { + LAUNCH_FUSED_ADD_RMS_NORM(0); + } +} + +// #define LAUNCH_SCALED_FUSED_ADD_RMS_NORM(width) \ +// VLLM_DISPATCH_FLOATING_TYPES( \ +// input.scalar_type(), "scaled_fused_add_rms_norm_kernel", [&] { \ +// vllm::scaled_fused_add_rms_norm_kernel \ +// <<>>( \ +// out.data_ptr(), \ +// input.data_ptr(), residual.data_ptr(), \ +// weight.data_ptr(), epsilon, \ +// *scale.data_ptr(), num_tokens, hidden_size); \ +// }); + +// void scaled_fused_add_rms_norm(torch::Tensor& out, // [..., hidden_size] +// torch::Tensor& input, // [..., hidden_size] +// torch::Tensor& residual, // [..., hidden_size] +// torch::Tensor& weight, // [hidden_size] +// torch::Tensor& scale, double epsilon) { +// int hidden_size = input.size(-1); +// int num_tokens = input.numel() / hidden_size; + +// dim3 grid(num_tokens); +// /* This kernel is memory-latency bound in many scenarios. +// When num_tokens is large, a smaller block size allows +// for increased block occupancy on CUs and better latency +// hiding on global mem ops. */ +// const int max_block_size = (num_tokens < 256) ? 1024 : 256; +// dim3 block(std::min(hidden_size, max_block_size)); +// const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); +// const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); +// /*If the tensor types are FP16/BF16, try to use the optimized kernel +// with packed + vectorized ops. +// Max optimization is achieved with a width-8 vector of FP16/BF16s +// since we can load at most 128 bits at once in a global memory op. +// However, this requires each tensor's data to be aligned to 16 +// bytes. +// */ +// auto inp_ptr = reinterpret_cast(input.data_ptr()); +// auto res_ptr = reinterpret_cast(residual.data_ptr()); +// auto wt_ptr = reinterpret_cast(weight.data_ptr()); +// bool ptrs_are_aligned = +// inp_ptr % 16 == 0 && res_ptr % 16 == 0 && wt_ptr % 16 == 0; +// if (ptrs_are_aligned && hidden_size % 8 == 0) { +// LAUNCH_SCALED_FUSED_ADD_RMS_NORM(8); +// } else { +// LAUNCH_SCALED_FUSED_ADD_RMS_NORM(0); +// } +// } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp similarity index 70% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp index 405155bd5..fde86cee9 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp @@ -9,4 +9,6 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { "Aligning the number of tokens to be processed by each expert such " "that it is divisible by the block size."); m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); + m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); + m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h similarity index 69% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 28a6cae47..0d1cf1a74 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -12,3 +12,9 @@ void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, torch::Tensor num_tokens_post_pad); void silu_and_mul(torch::Tensor &out, torch::Tensor &input); + +void rms_norm(torch::Tensor& out, torch::Tensor& input, torch::Tensor& weight, + double epsilon); + +void fused_add_rms_norm(torch::Tensor& input, torch::Tensor& residual, + torch::Tensor& weight, double epsilon); \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py similarity index 99% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 1c8af28f0..55560e759 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -8,7 +8,7 @@ import triton import triton.language as tl -import moeKernels as moe_kernels +import rocmKernels as moe_kernels # import vllm.envs as envs # from vllm import _custom_ops as moe_kernels # from vllm.logger import init_logger diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py similarity index 98% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py index 4fb0d9406..89aa0b21d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py @@ -27,7 +27,7 @@ this_dir = os.path.dirname(os.path.abspath(__file__)) -PACKAGE_NAME='moeKernels' +PACKAGE_NAME='rocmKernels' BUILD_TARGET = os.environ.get("BUILD_TARGET", "auto") if BUILD_TARGET == "auto": @@ -238,4 +238,4 @@ def __init__(self, *args, **kwargs) -> None: shutil.rmtree(f"{this_dir}/build") shutil.rmtree(f"./.eggs") shutil.rmtree(f"./build") - shutil.rmtree(f"./moeKernels.egg-info") \ No newline at end of file + shutil.rmtree(f"./{PACKAGE_NAME}.egg-info") From b66e4bd1ee00b26ff723d8c7dab0294d2865c6c2 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 28 Sep 2024 21:41:18 +0800 Subject: [PATCH 05/50] enable shuffle/LDS bypass --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 4 +--- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 02ff80dc7..09f3a438d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -84,7 +84,7 @@ def infusion_to_model(self): w2_weight[j, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"] w13_weight = w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim) - if bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))): + if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) @@ -92,8 +92,6 @@ def infusion_to_model(self): torch.cuda.empty_cache() self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight) self.model.model.layers[i].block_sparse_moe.w2_weight = self.to_parameter(w2_weight) - # self.model.model.layers[i].block_sparse_moe.w13_weight.data=permute_weight(self.model.model.layers[i].block_sparse_moe.w13_weight.data) - # self.model.model.layers[i].block_sparse_moe.w2_weight.data =permute_weight(self.model.model.layers[i].block_sparse_moe.w2_weight.data) self.model.model.norm.weight = self.to_parameter(self.state_dict["model.norm.weight"]) self.model.lm_head.weight = self.to_parameter(self.state_dict["lm_head.weight"]) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 55560e759..a51a4f68a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -20,7 +20,7 @@ # padding_size = 128 if envs.VLLM_MOE_PADDING else 0 padding_size = 128 FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 From ca690b0ea9ab14cfed918fe181fa56dfe77d5b0f Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 28 Sep 2024 19:02:21 +0800 Subject: [PATCH 06/50] add fused_add_rms_norm --- .../ROCM/model_impl/modeling_mixtral.py | 78 ++- .../csrc/activation_kernels.cu | 0 .../csrc/dispatch_utils.h | 0 .../csrc/hip_compat.h | 0 .../rocm_kernels/csrc/layernorm_kernels.cu | 627 ++++++++++++++++++ .../csrc/moe_align_block_size_kernels.cu | 0 .../csrc/moe_ops.cpp | 2 + .../csrc/moe_ops.h | 6 + .../csrc/topk_softmax_kernels.cu | 0 .../{fused_moe => rocm_kernels}/fused_moe.py | 12 +- .../ROCM/{fused_moe => rocm_kernels}/setup.py | 4 +- 11 files changed, 701 insertions(+), 28 deletions(-) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/activation_kernels.cu (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/dispatch_utils.h (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/hip_compat.h (100%) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/moe_align_block_size_kernels.cu (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/moe_ops.cpp (70%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/moe_ops.h (68%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/csrc/topk_softmax_kernels.cu (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/fused_moe.py (99%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/setup.py (98%) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index c64292e4e..bdcae1e46 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -55,7 +55,8 @@ from transformers.utils.import_utils import is_torch_fx_available from transformers.models.mixtral.configuration_mixtral import MixtralConfig -from ..fused_moe.fused_moe import fused_moe +from ..rocm_kernels.fused_moe import fused_moe +import rocmKernels as ops if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -176,12 +177,40 @@ def __init__(self, hidden_size, eps=1e-6): self.weight = nn.Parameter(torch.ones(hidden_size)) self.variance_epsilon = eps - def forward(self, hidden_states): - input_dtype = hidden_states.dtype - hidden_states = hidden_states.to(torch.float32) - variance = hidden_states.pow(2).mean(-1, keepdim=True) - hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) - return self.weight * hidden_states.to(input_dtype) + def forward(self, hidden_states, residual=None): + # # ori implementation + # input_dtype = hidden_states.dtype + # if residual is not None: + # hidden_states = hidden_states + residual + # residual = hidden_states + # hidden_states = hidden_states.to(torch.float32) + # variance = hidden_states.pow(2).mean(-1, keepdim=True) + # hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + # hidden_states = self.weight * hidden_states.to(input_dtype) + # if residual is None: + # return hidden_states + # else: + # return hidden_states, residual + + # optimized implementation + if residual is not None: + ops.fused_add_rms_norm( + hidden_states, + residual, + self.weight.data, + self.variance_epsilon, + ) + return hidden_states, residual + out = torch.empty_like(hidden_states) + ops.rms_norm( + out, + hidden_states, + self.weight.data, + self.variance_epsilon, + ) + return out + + # Copied from transformers.models.mistral.modeling_mistral.MistralRotaryEmbedding with Mistral->Mixtral @@ -946,6 +975,7 @@ def __init__(self, config: MixtralConfig, layer_idx: int): def forward( self, hidden_states: torch.Tensor, + residual: Optional[torch.Tensor] = None, attention_mask: Optional[torch.Tensor] = None, position_ids: Optional[torch.LongTensor] = None, past_key_value: Optional[Tuple[torch.Tensor]] = None, @@ -975,9 +1005,14 @@ def forward( (see `past_key_values`). """ - residual = hidden_states - - hidden_states = self.input_layernorm(hidden_states) + # residual = hidden_states + # hidden_states = self.input_layernorm(hidden_states) + if residual is None: + residual = hidden_states + hidden_states = self.input_layernorm(hidden_states) + else: + hidden_states, residual = self.input_layernorm( + hidden_states, residual) # Self Attention hidden_states, self_attn_weights, present_key_value = self.self_attn( @@ -992,19 +1027,22 @@ def forward( if self.mp_size > 1: dist.all_reduce(hidden_states) - hidden_states = residual + hidden_states # Fully Connected - residual = hidden_states - hidden_states = self.post_attention_layernorm(hidden_states) + # hidden_states = residual + hidden_states + # residual = hidden_states + hidden_states, residual = self.post_attention_layernorm(hidden_states, residual) hidden_states, router_logits = self.block_sparse_moe(hidden_states, **kwargs) + if (os.environ.get("LOCAL_RANK", "0"), self.layer_idx) == (): + pass # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states.shape=}') # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states=}') if self.mp_size > 1: dist.all_reduce(hidden_states) - hidden_states = residual + hidden_states - outputs = (hidden_states,) + # hidden_states = residual + hidden_states + # outputs = (hidden_states,) + outputs = (hidden_states, residual) return outputs @@ -1171,6 +1209,7 @@ def forward( return_dict: Optional[bool] = None, **kwargs, ) -> Union[Tuple, MoeModelOutputWithPast]: + residual = None if kwargs.pop("override_hidden_states", False): random_seed = kwargs.pop("random_seed", 1) layer_index = kwargs.pop("fixed_layer_index", -1) @@ -1182,8 +1221,9 @@ def forward( hidden_states = self.embed_tokens(random_input_ids) for _ in self.layers: - layer_outputs = self.layers[layer_index]( + layer_outputs, residual = self.layers[layer_index]( hidden_states, + residual=residual, attention_mask=attention_mask, position_ids=position_ids, past_key_value=past_key_values, @@ -1195,8 +1235,9 @@ def forward( else: hidden_states = self.embed_tokens(input_ids) for decoder_layer in self.layers: - layer_outputs = decoder_layer( + hidden_states, residual = decoder_layer( hidden_states, + residual=residual, attention_mask=attention_mask, position_ids=position_ids, past_key_value=past_key_values, @@ -1205,9 +1246,8 @@ def forward( use_cache=False, **kwargs, ) - hidden_states = layer_outputs[0] - hidden_states = self.norm(hidden_states) + hidden_states, _ = self.norm(hidden_states, residual) return MoeModelOutputWithPast( last_hidden_state=hidden_states diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/activation_kernels.cu similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/activation_kernels.cu rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/activation_kernels.cu diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dispatch_utils.h similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/dispatch_utils.h rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dispatch_utils.h diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_compat.h similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/hip_compat.h rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_compat.h diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu new file mode 100644 index 000000000..681f2bc59 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/layernorm_kernels.cu @@ -0,0 +1,627 @@ +#include +#include +#include + +#include "dispatch_utils.h" +// #include "attention/attention_dtypes.h" +#ifndef USE_ROCM + #include + #include + #include + #include +#else + #include + #include + #include + #include + // #include "quantization/fp8/amd/hip_float8.h" + // #include "quantization/fp8/amd/quant_utils.cuh" + +using __nv_bfloat16 = __hip_bfloat16; +using __nv_bfloat162 = __hip_bfloat162; +#endif + + +namespace vllm { + +template +struct __align__(16) vec8_t { + scalar_t x, y, z, w, u, v, s, t; + + __device__ vec8_t() : x(0), y(0), z(0), w(0), u(0), v(0), s(0), t(0) {} + __device__ vec8_t(scalar_t x, scalar_t y, scalar_t z, scalar_t w, scalar_t u, + scalar_t v, scalar_t s, scalar_t t) + : x(x), y(y), z(z), w(w), u(u), v(v), s(s), t(t) {} + + __device__ vec8_t operator*(const vec8_t& other) const { + return vec8_t(x * other.x, y * other.y, z * other.z, w * other.w, + u * other.u, v * other.v, s * other.s, t * other.t); + } + + __device__ vec8_t operator*(const float& scale) const { + return vec8_t(x * scale, y * scale, z * scale, w * scale, u * scale, + v * scale, s * scale, t * scale); + } + + __device__ vec8_t operator+(const vec8_t& other) const { + return vec8_t(x + other.x, y + other.y, z + other.z, w + other.w, + u + other.u, v + other.v, s + other.s, t + other.t); + } + + __device__ void operator+=(const vec8_t& other) { + x += other.x; + y += other.y; + z += other.z; + w += other.w; + u += other.u; + v += other.v; + s += other.s; + t += other.t; + } + + __device__ scalar_t sum() const { return x + y + z + w + u + v + s + t; } +}; + +// TODO(woosuk): Further optimize this kernel. +template +__global__ void rms_norm_kernel( + scalar_t* __restrict__ out, // [..., hidden_size] + const scalar_t* __restrict__ input, // [..., hidden_size] + const scalar_t* __restrict__ weight, // [hidden_size] + const float epsilon, const int num_tokens, const int hidden_size) { + __shared__ float s_variance; + + vec8_t v8_variance = {0, 0, 0, 0, 0, 0, 0, 0}; + + vec8_t* vectorized_out = reinterpret_cast*>(out); + vec8_t const* vectorized_in = + reinterpret_cast const*>(input); + vec8_t const* vectorized_weight = + reinterpret_cast const*>(weight); + const int vec_hidden_size = hidden_size >> 3; + + // Compute variance. Be careful, hidden_size should multiple of 4. + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + vec8_t x = vectorized_in[blockIdx.x * vec_hidden_size + idx]; + v8_variance += x * x; + } + float v8_variance_sum = v8_variance.sum(); + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStore; + float variance = + BlockReduce(reduceStore).Reduce(v8_variance_sum, cub::Sum{}, blockDim.x); + + if (threadIdx.x == 0) { + s_variance = rsqrtf(variance / hidden_size + epsilon); + } + __syncthreads(); + + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + vec8_t v8_in = vectorized_in[blockIdx.x * vec_hidden_size + idx]; + vec8_t v8_w = vectorized_weight[idx]; + vectorized_out[blockIdx.x * vec_hidden_size + idx] = + v8_in * s_variance * v8_w; + } +} + +// template +// __global__ void scaled_rms_norm_kernel( +// c10::Float8_e4m3fnuz* __restrict__ out, // [..., hidden_size] +// const scalar_t* __restrict__ input, // [..., hidden_size] +// const scalar_t* __restrict__ weight, // [hidden_size] +// const float scale, const float epsilon, const int num_tokens, +// const int hidden_size) { +// __shared__ float s_variance; +// float variance = 0.0f; + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// const float x = (float)input[blockIdx.x * hidden_size + idx]; +// variance += x * x; +// } + +// using BlockReduce = cub::BlockReduce; +// __shared__ typename BlockReduce::TempStorage reduceStore; +// variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + +// if (threadIdx.x == 0) { +// s_variance = rsqrtf(variance / hidden_size + epsilon); +// } +// __syncthreads(); + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// float x = (float)input[blockIdx.x * hidden_size + idx]; +// float r = (x * s_variance) * weight[idx] * scale; +// out[blockIdx.x * hidden_size + idx] = c10::Float8_e4m3fnuz( +// hip_fp8(r).data, c10::Float8_e4m3fnuz::from_bits()); +// } +// } + +/* Converter structs for the conversion from torch types to HIP/CUDA types, + and the associated type conversions within HIP/CUDA. These helpers need + to be implemented for now because the relevant type conversion + operators/constructors are not consistently implemented by HIP/CUDA, so + a generic conversion via type casts cannot be implemented. + + Each struct should have the member static constexpr bool `exists`: + If false, the optimized kernel is not used for the corresponding torch type. + If true, the struct should be fully defined as shown in the examples below. + */ +template +struct _typeConvert { + static constexpr bool exists = false; +}; + +#if defined(USE_ROCM) || (defined(CUDA_VERSION) && (CUDA_VERSION >= 12000)) +// CUDA < 12.0 runs into issues with packed type conversion +template <> +struct _typeConvert { + static constexpr bool exists = true; + using hip_type = __half; + using packed_hip_type = __half2; + + __device__ static inline float convert(hip_type x) { return __half2float(x); } + __device__ static inline float2 convert(packed_hip_type x) { + return __half22float2(x); + } + __device__ static inline hip_type convert(float x) { + return __float2half_rn(x); + } + __device__ static inline packed_hip_type convert(float2 x) { + return __float22half2_rn(x); + } +}; + + #if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +// CUDA_ARCH < 800 does not have BF16 support +// TODO: Add in ROCm support once public headers handle bf16 maturely +template <> +struct _typeConvert { + static constexpr bool exists = true; + using hip_type = __nv_bfloat16; + using packed_hip_type = __nv_bfloat162; + + __device__ static inline float convert(hip_type x) { + return __bfloat162float(x); + } + __device__ static inline float2 convert(packed_hip_type x) { + return __bfloat1622float2(x); + } + __device__ static inline hip_type convert(float x) { + return __float2bfloat16(x); + } + __device__ static inline packed_hip_type convert(float2 x) { + return __float22bfloat162_rn(x); + } +}; + #endif // defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +#endif // defined(USE_ROCM) || (defined(CUDA_VERSION) && (CUDA_VERSION >= + // 12000)) + +/* Vector POD struct to generate vectorized and packed FP16/BF16 ops + for appropriate specializations of fused_add_rms_norm_kernel. + Only functions that are necessary in that kernel are implemented. + Alignment to 16 bytes is required to use 128-bit global memory ops. + */ +template +struct alignas(16) _f16Vec { + /* Not theoretically necessary that width is a power of 2 but should + almost always be the case for optimization purposes */ + static_assert(width > 0 && (width & (width - 1)) == 0, + "Width is not a positive power of 2!"); + using Converter = _typeConvert; + using T1 = typename Converter::hip_type; + using T2 = typename Converter::packed_hip_type; + T1 data[width]; + + __device__ _f16Vec& operator+=(const _f16Vec& other) { + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + T2 temp{data[i], data[i + 1]}; + temp += T2{other.data[i], other.data[i + 1]}; + data[i] = temp.x; + data[i + 1] = temp.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) data[i] += other.data[i]; + } + return *this; + } + + __device__ _f16Vec& operator*=(const _f16Vec& other) { + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + T2 temp{data[i], data[i + 1]}; + temp *= T2{other.data[i], other.data[i + 1]}; + data[i] = temp.x; + data[i + 1] = temp.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) data[i] *= other.data[i]; + } + return *this; + } + + __device__ _f16Vec& operator*=(const float scale) { + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + float2 temp_f = Converter::convert(T2{data[i], data[i + 1]}); + temp_f.x *= scale; + temp_f.y *= scale; + T2 temp = Converter::convert(temp_f); + data[i] = temp.x; + data[i + 1] = temp.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) { + float temp = Converter::convert(data[i]) * scale; + data[i] = Converter::convert(temp); + } + } + return *this; + } + + __device__ float sum_squares() const { + float result = 0.0f; + if constexpr (width % 2 == 0) { +#pragma unroll + for (int i = 0; i < width; i += 2) { + float2 z = Converter::convert(T2{data[i], data[i + 1]}); + result += z.x * z.x + z.y * z.y; + } + } else { +#pragma unroll + for (int i = 0; i < width; ++i) { + float x = Converter::convert(data[i]); + result += x * x; + } + } + return result; + } +}; + +/* Function specialization in the case of FP16/BF16 tensors. + Additional optimizations we can make in this case are + packed and vectorized operations, which help with the + memory latency bottleneck. */ +template +__global__ std::enable_if_t<(width > 0) && _typeConvert::exists> +fused_add_rms_norm_kernel( + scalar_t* __restrict__ input, // [..., hidden_size] + scalar_t* __restrict__ residual, // [..., hidden_size] + const scalar_t* __restrict__ weight, // [hidden_size] + const float epsilon, const int num_tokens, const int hidden_size) { + // Sanity checks on our vector struct and type-punned pointer arithmetic + static_assert(std::is_pod_v<_f16Vec>); + static_assert(sizeof(_f16Vec) == sizeof(scalar_t) * width); + + const int vec_hidden_size = hidden_size / width; + __shared__ float s_variance; + float variance = 0.0f; + /* These and the argument pointers are all declared `restrict` as they are + not aliased in practice. Argument pointers should not be dereferenced + in this kernel as that would be undefined behavior */ + auto* __restrict__ input_v = + reinterpret_cast<_f16Vec*>(input); + auto* __restrict__ residual_v = + reinterpret_cast<_f16Vec*>(residual); + auto* __restrict__ weight_v = + reinterpret_cast*>(weight); + + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + int id = blockIdx.x * vec_hidden_size + idx; + _f16Vec temp = input_v[id]; + temp += residual_v[id]; + variance += temp.sum_squares(); + residual_v[id] = temp; + } + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStore; + variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + + if (threadIdx.x == 0) { + s_variance = rsqrtf(variance / hidden_size + epsilon); + } + __syncthreads(); + + for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { + int id = blockIdx.x * vec_hidden_size + idx; + _f16Vec temp = residual_v[id]; + temp *= s_variance; + temp *= weight_v[idx]; + input_v[id] = temp; + } +} + +/* Generic fused_add_rms_norm_kernel + The width field is not used here but necessary for other specializations. + */ +template +__global__ std::enable_if_t<(width == 0) || !_typeConvert::exists> +fused_add_rms_norm_kernel( + scalar_t* __restrict__ input, // [..., hidden_size] + scalar_t* __restrict__ residual, // [..., hidden_size] + const scalar_t* __restrict__ weight, // [hidden_size] + const float epsilon, const int num_tokens, const int hidden_size) { + __shared__ float s_variance; + float variance = 0.0f; + + for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { + scalar_t z = input[blockIdx.x * hidden_size + idx]; + z += residual[blockIdx.x * hidden_size + idx]; + float x = (float)z; + variance += x * x; + residual[blockIdx.x * hidden_size + idx] = z; + } + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStore; + variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + + if (threadIdx.x == 0) { + s_variance = rsqrtf(variance / hidden_size + epsilon); + } + __syncthreads(); + + for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { + float x = (float)residual[blockIdx.x * hidden_size + idx]; + input[blockIdx.x * hidden_size + idx] = + ((scalar_t)(x * s_variance)) * weight[idx]; + } +} + +/* Function specialization in the case of FP16/BF16 tensors. + Additional optimizations we can make in this case are + packed and vectorized operations, which help with the + memory latency bottleneck. */ + +// template <> +// struct Vec { +// using Type = uint2; +// }; + +// template <> +// struct Vec { +// using Type = uint4; +// }; + +// template <> +// struct Vec { +// using Type = bf16_8_t; +// }; + +// template +// __global__ std::enable_if_t<(width > 0) && _typeConvert::exists> +// scaled_fused_add_rms_norm_kernel( +// c10::Float8_e4m3fnuz* __restrict__ out, // [..., hidden_size] +// scalar_t* __restrict__ input, // [..., hidden_size] +// scalar_t* __restrict__ residual, // [..., hidden_size] +// const scalar_t* __restrict__ weight, // [hidden_size] +// const float epsilon, const float scale, const int num_tokens, +// const int hidden_size) { +// using in_v_t = typename Vec::Type; +// using out_v_t = typename Vec::Type; +// // Sanity checks on our vector struct and type-punned pointer arithmetic +// static_assert(std::is_pod_v<_f16Vec>); +// static_assert(sizeof(_f16Vec) == sizeof(scalar_t) * width); + +// const int vec_hidden_size = hidden_size / width; +// __shared__ float s_variance; +// float variance = 0.0f; +// /* These and the argument pointers are all declared `restrict` as they are +// not aliased in practice. Argument pointers should not be dereferenced +// in this kernel as that would be undefined behavior */ +// auto* __restrict__ out_v = reinterpret_cast(out); +// auto* __restrict__ input_v = +// reinterpret_cast<_f16Vec*>(input); +// auto* __restrict__ residual_v = +// reinterpret_cast<_f16Vec*>(residual); +// auto* __restrict__ weight_v = +// reinterpret_cast*>(weight); + +// for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { +// int id = blockIdx.x * vec_hidden_size + idx; +// _f16Vec temp = input_v[id]; +// temp += residual_v[id]; +// variance += temp.sum_squares(); +// residual_v[id] = temp; +// } + +// using BlockReduce = cub::BlockReduce; +// __shared__ typename BlockReduce::TempStorage reduceStore; +// variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + +// if (threadIdx.x == 0) { +// s_variance = rsqrtf(variance / hidden_size + epsilon); +// } +// __syncthreads(); + +// for (int idx = threadIdx.x; idx < vec_hidden_size; idx += blockDim.x) { +// int id = blockIdx.x * vec_hidden_size + idx; +// _f16Vec temp = residual_v[id]; +// temp *= s_variance; +// temp *= weight_v[idx]; +// out_v_t temp_quant = fp8::scaled_vec_conversion( +// *reinterpret_cast(&temp), scale); +// out_v[id] = temp_quant; +// } +// } + +/* Generic scaled_fused_add_rms_norm_kernel + The width field is not used here but necessary for other specializations. + */ +// template +// __global__ std::enable_if_t<(width == 0) || !_typeConvert::exists> +// scaled_fused_add_rms_norm_kernel( +// c10::Float8_e4m3fnuz* __restrict__ out, // [..., hidden_size] +// scalar_t* __restrict__ input, // [..., hidden_size] +// scalar_t* __restrict__ residual, // [..., hidden_size] +// const scalar_t* __restrict__ weight, // [hidden_size] +// const float epsilon, const float scale, const int num_tokens, +// const int hidden_size) { +// __shared__ float s_variance; +// float variance = 0.0f; + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// scalar_t z = input[blockIdx.x * hidden_size + idx]; +// z += residual[blockIdx.x * hidden_size + idx]; +// float x = (float)z; +// variance += x * x; +// residual[blockIdx.x * hidden_size + idx] = z; +// } + +// using BlockReduce = cub::BlockReduce; +// __shared__ typename BlockReduce::TempStorage reduceStore; +// variance = BlockReduce(reduceStore).Reduce(variance, cub::Sum{}, blockDim.x); + +// if (threadIdx.x == 0) { +// s_variance = rsqrtf(variance / hidden_size + epsilon); +// } +// __syncthreads(); + +// for (int idx = threadIdx.x; idx < hidden_size; idx += blockDim.x) { +// float x = (float)residual[blockIdx.x * hidden_size + idx]; +// float r = (x * s_variance) * (float)weight[idx] / scale; +// out[blockIdx.x * hidden_size + idx] = c10::Float8_e4m3fnuz( +// hip_fp8(r).data, c10::Float8_e4m3fnuz::from_bits()); +// } +// } + +} // namespace vllm + +void rms_norm(torch::Tensor& out, // [..., hidden_size] + torch::Tensor& input, // [..., hidden_size] + torch::Tensor& weight, // [hidden_size] + double epsilon) { + int hidden_size = input.size(-1); + int num_tokens = input.numel() / hidden_size; + + dim3 grid(num_tokens); + dim3 block(std::min(hidden_size, 1024)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES(input.scalar_type(), "rms_norm_kernel", [&] { + vllm::rms_norm_kernel<<>>( + out.data_ptr(), input.data_ptr(), + weight.data_ptr(), epsilon, num_tokens, hidden_size); + }); +} + +// void scaled_rms_norm(torch::Tensor& out, // [..., hidden_size] +// torch::Tensor& input, // [..., hidden_size] +// torch::Tensor& weight, // [hidden_size] +// torch::Tensor& scale, double epsilon) { +// int hidden_size = input.size(-1); +// int num_tokens = input.numel() / hidden_size; + +// dim3 grid(num_tokens); +// dim3 block(std::min(hidden_size, 1024)); +// const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); +// const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); +// VLLM_DISPATCH_FLOATING_TYPES( +// input.scalar_type(), "scaled_rms_norm_kernel", [&] { +// vllm::scaled_rms_norm_kernel<<>>( +// out.data_ptr(), input.data_ptr(), +// weight.data_ptr(), 1.0 / (*scale.data_ptr()), +// epsilon, num_tokens, hidden_size); +// }); +// } + +#define LAUNCH_FUSED_ADD_RMS_NORM(width) \ + VLLM_DISPATCH_FLOATING_TYPES( \ + input.scalar_type(), "fused_add_rms_norm_kernel", [&] { \ + vllm::fused_add_rms_norm_kernel \ + <<>>(input.data_ptr(), \ + residual.data_ptr(), \ + weight.data_ptr(), epsilon, \ + num_tokens, hidden_size); \ + }); + +void fused_add_rms_norm(torch::Tensor& input, // [..., hidden_size] + torch::Tensor& residual, // [..., hidden_size] + torch::Tensor& weight, // [hidden_size] + double epsilon) { + int hidden_size = input.size(-1); + int num_tokens = input.numel() / hidden_size; + + dim3 grid(num_tokens); + /* This kernel is memory-latency bound in many scenarios. + When num_tokens is large, a smaller block size allows + for increased block occupancy on CUs and better latency + hiding on global mem ops. */ + const int max_block_size = (num_tokens < 256) ? 1024 : 256; + dim3 block(std::min(hidden_size, max_block_size)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + /*If the tensor types are FP16/BF16, try to use the optimized kernel + with packed + vectorized ops. + Max optimization is achieved with a width-8 vector of FP16/BF16s + since we can load at most 128 bits at once in a global memory op. + However, this requires each tensor's data to be aligned to 16 + bytes. + */ + auto inp_ptr = reinterpret_cast(input.data_ptr()); + auto res_ptr = reinterpret_cast(residual.data_ptr()); + auto wt_ptr = reinterpret_cast(weight.data_ptr()); + bool ptrs_are_aligned = + inp_ptr % 16 == 0 && res_ptr % 16 == 0 && wt_ptr % 16 == 0; + if (ptrs_are_aligned && hidden_size % 8 == 0) { + LAUNCH_FUSED_ADD_RMS_NORM(8); + } else { + LAUNCH_FUSED_ADD_RMS_NORM(0); + } +} + +// #define LAUNCH_SCALED_FUSED_ADD_RMS_NORM(width) \ +// VLLM_DISPATCH_FLOATING_TYPES( \ +// input.scalar_type(), "scaled_fused_add_rms_norm_kernel", [&] { \ +// vllm::scaled_fused_add_rms_norm_kernel \ +// <<>>( \ +// out.data_ptr(), \ +// input.data_ptr(), residual.data_ptr(), \ +// weight.data_ptr(), epsilon, \ +// *scale.data_ptr(), num_tokens, hidden_size); \ +// }); + +// void scaled_fused_add_rms_norm(torch::Tensor& out, // [..., hidden_size] +// torch::Tensor& input, // [..., hidden_size] +// torch::Tensor& residual, // [..., hidden_size] +// torch::Tensor& weight, // [hidden_size] +// torch::Tensor& scale, double epsilon) { +// int hidden_size = input.size(-1); +// int num_tokens = input.numel() / hidden_size; + +// dim3 grid(num_tokens); +// /* This kernel is memory-latency bound in many scenarios. +// When num_tokens is large, a smaller block size allows +// for increased block occupancy on CUs and better latency +// hiding on global mem ops. */ +// const int max_block_size = (num_tokens < 256) ? 1024 : 256; +// dim3 block(std::min(hidden_size, max_block_size)); +// const at::cuda::OptionalCUDAGuard device_guard(device_of(input)); +// const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); +// /*If the tensor types are FP16/BF16, try to use the optimized kernel +// with packed + vectorized ops. +// Max optimization is achieved with a width-8 vector of FP16/BF16s +// since we can load at most 128 bits at once in a global memory op. +// However, this requires each tensor's data to be aligned to 16 +// bytes. +// */ +// auto inp_ptr = reinterpret_cast(input.data_ptr()); +// auto res_ptr = reinterpret_cast(residual.data_ptr()); +// auto wt_ptr = reinterpret_cast(weight.data_ptr()); +// bool ptrs_are_aligned = +// inp_ptr % 16 == 0 && res_ptr % 16 == 0 && wt_ptr % 16 == 0; +// if (ptrs_are_aligned && hidden_size % 8 == 0) { +// LAUNCH_SCALED_FUSED_ADD_RMS_NORM(8); +// } else { +// LAUNCH_SCALED_FUSED_ADD_RMS_NORM(0); +// } +// } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_align_block_size_kernels.cu rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp similarity index 70% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp index 405155bd5..fde86cee9 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp @@ -9,4 +9,6 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { "Aligning the number of tokens to be processed by each expert such " "that it is divisible by the block size."); m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); + m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); + m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h similarity index 68% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 99c0bb94d..21fe7a242 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -11,3 +11,9 @@ void moe_align_block_size(torch::Tensor topk_ids, int num_experts, torch::Tensor experts_ids, torch::Tensor num_tokens_post_pad); void silu_and_mul(torch::Tensor &out, torch::Tensor &input); + +void rms_norm(torch::Tensor& out, torch::Tensor& input, torch::Tensor& weight, + double epsilon); + +void fused_add_rms_norm(torch::Tensor& input, torch::Tensor& residual, + torch::Tensor& weight, double epsilon); \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/csrc/topk_softmax_kernels.cu rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py similarity index 99% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 0c34e1b7e..7be9a1429 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -8,13 +8,11 @@ import triton import triton.language as tl -import moeKernels as moe_kernels -# from vllm import _custom_ops as ops -# # from vllm import envs -# # from vllm.logger import init_logger - -# from vllm import _custom_C - +import rocmKernels as moe_kernels +# import vllm.envs as envs +# from vllm import _custom_ops as moe_kernels +# from vllm.logger import init_logger +# from vllm.platforms import current_platform # logger = init_logger(__name__) padding_size = 0 diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py similarity index 98% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py index 4fb0d9406..89aa0b21d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py @@ -27,7 +27,7 @@ this_dir = os.path.dirname(os.path.abspath(__file__)) -PACKAGE_NAME='moeKernels' +PACKAGE_NAME='rocmKernels' BUILD_TARGET = os.environ.get("BUILD_TARGET", "auto") if BUILD_TARGET == "auto": @@ -238,4 +238,4 @@ def __init__(self, *args, **kwargs) -> None: shutil.rmtree(f"{this_dir}/build") shutil.rmtree(f"./.eggs") shutil.rmtree(f"./build") - shutil.rmtree(f"./moeKernels.egg-info") \ No newline at end of file + shutil.rmtree(f"./{PACKAGE_NAME}.egg-info") From f989c1adcef02507c783d3bde7b1050ef1044d64 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 28 Sep 2024 21:41:18 +0800 Subject: [PATCH 07/50] enable shuffle/LDS bypass --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 11 ++++++++--- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index d00290755..3425f9b19 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -82,10 +82,15 @@ def infusion_to_model(self): w13_weight[j, 1, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w3.weight"] w2_weight[j, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"] - self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim)) + w13_weight = w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim) + if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): + w13_weight = permute_weight(w13_weight) + w2_weight = permute_weight(w2_weight) + w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) + w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) + torch.cuda.empty_cache() + self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight) self.model.model.layers[i].block_sparse_moe.w2_weight = self.to_parameter(w2_weight) - # self.model.model.layers[i].block_sparse_moe.w13_weight.data=permute_weight(self.model.model.layers[i].block_sparse_moe.w13_weight.data) - # self.model.model.layers[i].block_sparse_moe.w2_weight.data =permute_weight(self.model.model.layers[i].block_sparse_moe.w2_weight.data) self.model.model.norm.weight = self.to_parameter(self.state_dict["model.norm.weight"]) self.model.lm_head.weight = self.to_parameter(self.state_dict["lm_head.weight"]) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 7be9a1429..10e433b05 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -17,6 +17,11 @@ # logger = init_logger(__name__) padding_size = 0 # padding_size = 128 if envs.VLLM_MOE_PADDING else 0 +padding_size = 128 +FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') +VLLM_FUSED_MOE_CHUNK_SIZE = 65536 @triton.jit From 58ece04eb1886c848a02082aaf5288b0f122c0c3 Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Tue, 1 Oct 2024 21:02:05 +0000 Subject: [PATCH 08/50] added explicit padding --- .../backends/ROCM/model_impl/rocm_mixtral.py | 26 ++++++++++--------- .../backends/ROCM/rocm_kernels/fused_moe.py | 10 ++++--- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 09f3a438d..ef0394f4a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -21,9 +21,9 @@ class GPUMixtralLoader(GpuCkptLoader): def __init__( - self, - model : MixtralForCausalLM, - model_config : MixtralConfig, + self, + model : MixtralForCausalLM, + model_config : MixtralConfig, ckpt_path : str = "" ): mp_size = int(os.environ.get("WORLD_SIZE", "1")) @@ -40,7 +40,7 @@ def parallel_loader(self): if self.mp_rank == 0: print(f"{model_dir} not exists or is not a directory") return - + split_model_dir = model_dir.joinpath(f"TP{self.mp_size}") if not split_model_dir.exists() or not split_model_dir.is_dir(): if self.mp_rank == 0: @@ -49,7 +49,7 @@ def parallel_loader(self): model_loader = Mixtral_ModelLoader(split_model_dir / f"device_{self.mp_rank}") self.state_dict = model_loader.load_weight() - + def infusion_to_model(self): self.model.model.embed_tokens.weight = self.to_parameter(self.state_dict["model.embed_tokens.weight"]) for i in range(self.model_config.num_hidden_layers): @@ -87,9 +87,11 @@ def infusion_to_model(self): if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) - w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) - w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) - torch.cuda.empty_cache() + if bool(int(os.getenv("VLLM_MOE_PADDING", "1"))): + w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) + torch.cuda.empty_cache() + w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) + torch.cuda.empty_cache() self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight) self.model.model.layers[i].block_sparse_moe.w2_weight = self.to_parameter(w2_weight) @@ -129,7 +131,7 @@ def __init__(self, xpu_cfg: Dict[str, Any]) -> None: self.transformer_model : MixtralForCausalLM = None - + def init_inference(self): torch.cuda.set_device(self.local_rank) @@ -151,7 +153,7 @@ def init_inference(self): check_memory_usage("After build model") self.load_weight(self.model_path) - + check_memory_usage("After load_weight") self.transformer_model.cuda() @@ -190,11 +192,11 @@ def init_kvcache(self, dtype): value_cache = torch.empty(kv_shape, dtype=dtype, device=cur_device) past_key_values += ((key_cache, value_cache),) return past_key_values - + def forward(self, inputs : Dict[str, torch.Tensor]): model_outputs = self.transformer_model.forward( - **inputs, + **inputs, past_key_values=self.kv_cache ) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index a51a4f68a..3d5588b0b 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -17,12 +17,12 @@ import logging logger = logging.getLogger(__name__) # logger = init_logger(__name__) -# padding_size = 128 if envs.VLLM_MOE_PADDING else 0 -padding_size = 128 +VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "0"))) FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) -print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, , {VLLM_MOE_PADDING=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 +padding_size = 128 if VLLM_MOE_PADDING else 0 @triton.jit @@ -750,6 +750,7 @@ def fused_experts(hidden_states: torch.Tensor, else: out_hidden_states = torch.empty_like(hidden_states) + # print("init config:", config) for chunk in range((num_tokens // CHUNK_SIZE) + 1): begin_chunk_idx, end_chunk_idx = (chunk * CHUNK_SIZE, min((chunk + 1) * CHUNK_SIZE, @@ -769,6 +770,7 @@ def fused_experts(hidden_states: torch.Tensor, intermediate_cache2 = intermediate_cache2[:tokens_in_chunk] intermediate_cache3 = intermediate_cache3[:tokens_in_chunk] config = get_config_func(tokens_in_chunk) + # print("inside config:", config) curr_topk_ids = topk_ids[begin_chunk_idx:end_chunk_idx] curr_topk_weights = topk_weights[begin_chunk_idx:end_chunk_idx] From 509f527ed3e2e9562489894a9ff1acdbc4a1a60f Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 4 Oct 2024 15:54:08 +0800 Subject: [PATCH 09/50] add tuned_gemm --- .../ROCM/model_impl/modeling_mixtral.py | 42 +- .../backends/ROCM/rocm_kernels/csrc/custom.cu | 78 + .../ROCM/rocm_kernels/csrc/custom_kernels.cu | 1309 +++++++++++++++++ .../ROCM/rocm_kernels/csrc/moe_ops.cpp | 9 +- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 15 +- .../backends/ROCM/rocm_kernels/tuned_gemm.py | 139 ++ 6 files changed, 1573 insertions(+), 19 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index bdcae1e46..e17533796 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -57,6 +57,7 @@ from ..rocm_kernels.fused_moe import fused_moe import rocmKernels as ops +from ..rocm_kernels.tuned_gemm import tgemm if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -300,6 +301,27 @@ def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) +class Linear(nn.Module): + def __init__(self, in_features, out_features, bias=True, dtype=None): + super().__init__() + self.in_features = in_features + self.out_features = out_features + self.weight = nn.Parameter(torch.empty(out_features, in_features, dtype=dtype)) + if bias: + self.bias = nn.Parameter(torch.empty(out_features, dtype=dtype)) + else: + self.register_parameter("bias", None) + self.reset_parameters() + + def reset_parameters(self): + nn.init.xavier_uniform_(self.weight) + if self.bias is not None: + nn.init.zeros_(self.bias) + + def forward(self, x): + # return F.linear(x, self.weight, self.bias) + return tgemm.mm(x, self.weight, self.bias) + # Copied from transformers.models.mistral.modeling_mistral.MistralAttention with Mistral->Mixtral class MixtralAttention(nn.Module): """ @@ -337,10 +359,10 @@ def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}" f" and `num_heads`: {self.num_heads})." ) - self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim // self.mp_size, bias=False) - self.k_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) - self.v_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) - self.o_proj = nn.Linear(self.num_heads * self.head_dim // self.mp_size, self.hidden_size, bias=False) + self.q_proj = Linear(self.hidden_size, self.num_heads * self.head_dim // self.mp_size, bias=False) + self.k_proj = Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) + self.v_proj = Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) + self.o_proj = Linear(self.num_heads * self.head_dim // self.mp_size, self.hidden_size, bias=False) self.rotary_emb = MixtralRotaryEmbedding( self.head_dim, @@ -877,9 +899,9 @@ def __init__(self, config: MixtralConfig): self.ffn_dim = config.intermediate_size self.hidden_dim = config.hidden_size - self.w1 = nn.Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) - self.w2 = nn.Linear(self.ffn_dim // self.mp_size, self.hidden_dim, bias=False) - self.w3 = nn.Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) + self.w1 = Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) + self.w2 = Linear(self.ffn_dim // self.mp_size, self.hidden_dim, bias=False) + self.w3 = Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) self.act_fn = ACT2FN[config.hidden_act] @@ -917,7 +939,7 @@ def __init__(self, config): self.top_k = config.num_experts_per_tok # gating - self.gate = nn.Linear(self.hidden_dim, self.num_experts, bias=False) + self.gate = Linear(self.hidden_dim, self.num_experts, bias=False) # self.experts = nn.ModuleList([MixtralBlockSparseTop2MLP(config) for _ in range(self.num_experts)]) @@ -1081,7 +1103,7 @@ class MixtralPreTrainedModel(PreTrainedModel): def _init_weights(self, module): std = self.config.initializer_range - if isinstance(module, nn.Linear): + if isinstance(module, Linear): module.weight.data.normal_(mean=0.0, std=std) if module.bias is not None: module.bias.data.zero_() @@ -1262,7 +1284,7 @@ def __init__(self, config): self.model = MixtralModel(config) self.vocab_size = config.vocab_size - self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.lm_head = Linear(config.hidden_size, config.vocab_size, bias=False) self.router_aux_loss_coef = config.router_aux_loss_coef self.num_experts = config.num_local_experts self.num_experts_per_tok = config.num_experts_per_tok diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu new file mode 100644 index 000000000..a01d9a284 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu @@ -0,0 +1,78 @@ +#include +#include +#include + +// declare templates for front (cpp) and back (cuda) sides of function: +// template + +// void LLGemm_Silu(void* in_a, void* in_b, void* out_c, const int M, const int K, +// cudaStream_t stream, const int rows_per_block); +// void LLMM_Silu(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, +// const int64_t rows_per_block) { +// auto M = in_a.size(0); +// auto K = in_a.size(1); +// LLGemm_Silu(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, +// at::cuda::getCurrentCUDAStream(), rows_per_block); +// } + +void LLGemm1(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int rows_per_block); + +// template +void LLMM1(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, + const int64_t rows_per_block) { + auto M = in_a.size(0); + auto K = in_a.size(1); + // if (N != in_b.numel()) + // throw std::invalid_argument("Size mismatch A.numel(): " + + // std::to_string(in_a.numel()) + // + ", B.numel(): " + + // std::to_string(in_b.numel())); + + // out_c.resize_({N}); + + // call the kernel function... + LLGemm1(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, + at::cuda::getCurrentCUDAStream(), rows_per_block); +} + +void wvSpltK_(void* in_a, void* in_b, void* out_c, const int M, const int K, + const int N, cudaStream_t stream, const int CuCount); + +void wvSpltK(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, + const int64_t N_in, const int64_t CuCount) { + auto M = in_a.size(0); + auto K = in_a.size(1); + int N = N_in; + wvSpltK_(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, N, + at::cuda::getCurrentCUDAStream(), CuCount); +} + +void LLGemmZZ(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int solidx); + +void LLZZ(at::Tensor in_a, at::Tensor in_b, at::Tensor out_c, + const int64_t solidx = 0) { + auto M = in_a.size(0); + auto K = in_a.size(1); + + LLGemmZZ(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, + at::cuda::getCurrentCUDAStream(), solidx); +} +// instantiate the CPP template for T=float: +// template void AddGPU(at::Tensor in_a, at::Tensor in_b, at::Tensor +// out_c); + +void MMGPUKernel(float* in_a, float* in_b, float* out_c, int numARows, + int numAColumns, int numBRows, int numBColumns, int numCRows, + int numCColumns, cudaStream_t stream); + +void MMCustomGPU(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c) { + auto matA_sizes{in_a.sizes()}; + auto matB_sizes{in_b.sizes()}; + auto matO_sizes{out_c.sizes()}; + MMGPUKernel(in_a.data_ptr(), in_b.data_ptr(), + out_c.data_ptr(), matA_sizes[0], matA_sizes[1], + matB_sizes[0], matB_sizes[1], matO_sizes[0], matO_sizes[1], + at::cuda::getCurrentCUDAStream()); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu new file mode 100644 index 000000000..c9eb32c48 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu @@ -0,0 +1,1309 @@ +#include +#include +#include +#include +#include "hip_compat.h" + +#if defined(__HIPCC__) && (defined(__gfx90a__) || defined(__gfx940__) || \ + defined(__gfx941__) || defined(__gfx942__)) + #define __HIP__MI300_MI250__ +#endif + +#if defined(NDEBUG) + #undef NDEBUG + #include + #define UNREACHABLE_CODE assert(false); + #define NDEBUG +#else + #define UNREACHABLE_CODE assert(false); +#endif + +template +__device__ __forceinline__ T loadnt(T* addr) { + return __builtin_nontemporal_load(addr); +} + +__device__ __forceinline__ float4 load_ntmprl(const float4* addr) { + auto addr_alias = reinterpret_cast(addr); + auto dat0 = loadnt(addr_alias); + auto dat1 = loadnt(addr_alias + 1); + auto dat2 = loadnt(addr_alias + 2); + auto dat3 = loadnt(addr_alias + 3); + // auto dat0 = *(addr_alias); + // auto dat1 = *(addr_alias+1); + // auto dat2 = *(addr_alias+2); + // auto dat3 = *(addr_alias+3); + return make_float4(dat0, dat1, dat2, dat3); +} + +// TBlock fetches entire rows of A, and entire col of B (K dimension); assume +// N=1 for time being grid is M/A_NUM_ROWS blocks +template +__global__ void LLGemm1_kernel(float4* af4, __half2* bf4, __half2* c, + const int K) { + __shared__ float red_smem[NUM_A_ROWS_PER_BLOCK][WARP_SIZE]; + const int row_addr = blockIdx.x * NUM_A_ROWS_PER_BLOCK * K / 8; + const int threadid = threadIdx.x; + const int warp = threadIdx.x / WARP_SIZE; + const int lane = threadIdx.x % WARP_SIZE; + const int num_warps = blockDim.x / WARP_SIZE; + const int qwarpid = threadid / 16; + const int qthreadid = threadid % 16; + float4 rowA_elem4[NUM_A_ROWS_PER_BLOCK]; + __half2 colB_elem4x, colB_elem4y, colB_elem4z, colB_elem4w; + float4 sum4; //[NUM_A_ROWS_PER_BLOCK]; + float acc[NUM_A_ROWS_PER_BLOCK] = {0.0}; + __half2 acch2; + __half2 oval; + + // As we later use warp shuffle operations, we may have more threads in the + // block than the actual available data, hence the if guard here. + if (threadid * 8 < K) { +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + // rowA_elem4[i] holds 8 * half numbers seen as a single float4. + rowA_elem4[i] = load_ntmprl(&af4[row_addr + threadid + K / 8 * i]); + } + } + + colB_elem4x = bf4[threadid * 4 + 0]; + colB_elem4y = bf4[threadid * 4 + 1]; + colB_elem4z = bf4[threadid * 4 + 2]; + colB_elem4w = bf4[threadid * 4 + 3]; + + __half2 Af2; + __half2 Bf2; + float2 S; + + auto Ah2ptr = reinterpret_cast<__half2*>(&rowA_elem4); + __half2* ah2lptr; + +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + // Multiply-add on 8 half. + ah2lptr = Ah2ptr + i * 4; + Af2 = *(ah2lptr); + acch2 = __hmul2(Af2, colB_elem4x); + Af2 = *(ah2lptr + 1); + acch2 = __hfma2(Af2, colB_elem4y, acch2); + Af2 = *(ah2lptr + 2); + acch2 = __hfma2(Af2, colB_elem4z, acch2); + Af2 = *(ah2lptr + 3); + acch2 = __hfma2(Af2, colB_elem4w, acch2); + S = __half22float2(acch2); + + // See comment above concerning the if guard. + if (threadid * 8 < K) { + acc[i] = S.x + S.y; // accumulation on float + } + } + +// all reduce across warp. +#pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + acc[i] += __shfl_xor(acc[i], mask); + } + } + + // Warp leaders store the data to shared memory. + if (lane < NUM_A_ROWS_PER_BLOCK) { + red_smem[lane][warp] = acc[lane]; + } + + // Make sure the data is in shared memory. + __syncthreads(); + + if (qwarpid < NUM_A_ROWS_PER_BLOCK) { + acc[qwarpid] = qthreadid < num_warps ? red_smem[qwarpid][qthreadid] : 0.f; +#pragma unroll + for (int mask = 16 / 2; mask >= 1; mask /= 2) { + acc[qwarpid] += __shfl_xor(acc[qwarpid], mask); + } + float oval2 = __shfl_xor(acc[qwarpid], 16); + + if (threadid % WARP_SIZE == 0 or threadid % WARP_SIZE == 32) { + oval = __float22half2_rn(make_float2(acc[qwarpid], oval2)); + c[blockIdx.x * NUM_A_ROWS_PER_BLOCK / 2 + qwarpid / 2] = oval; + } + } +} + +// define the kernel calling code: +// template +void LLGemm1(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int rows_per_block = 4) { + float4* af4 = reinterpret_cast(in_a); + auto* bf4 = reinterpret_cast<__half2*>(in_b); + auto* c = reinterpret_cast<__half2*>(out_c); + + // NUM_TREADS need to be a multiple of WARP_SIZE, as we are using warp shuffle + // operations. + const int NUM_THREADS = + K * 2 / 16 % WARP_SIZE == 0 + ? K * 2 / 16 + : K * 2 / 16 + (WARP_SIZE - K * 2 / 16 % WARP_SIZE); + + int NUM_BLOCKS = M / rows_per_block; + + if (rows_per_block == 2) { + LLGemm1_kernel<2><<>>(af4, bf4, c, K); + } else if (rows_per_block == 4) { + LLGemm1_kernel<4><<>>(af4, bf4, c, K); + } else if (rows_per_block == 8) { + LLGemm1_kernel<8><<>>(af4, bf4, c, K); + } else if (rows_per_block == 16) { + LLGemm1_kernel<16><<>>(af4, bf4, c, K); + } else { + NUM_BLOCKS = M / 4; + LLGemm1_kernel<4><<>>(af4, bf4, c, K); + } + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} + +// instantiate the kernel template for T=float: +// template void AddGPUKernel(float *in_a, float *in_b, float *out_c, +// const int M, const int K, cudaStream_t stream); + +const unsigned int TILE_WIDTH = 32; + +// Compute C = A * B +__global__ void matrixMultiplyShared(float* A, float* B, float* C, int numARows, + int numAColumns, int numBRows, + int numBColumns, int numCRows, + int numCColumns) { + __shared__ float sA[TILE_WIDTH][TILE_WIDTH]; // Tile size of 32x32 + __shared__ float sB[TILE_WIDTH][TILE_WIDTH]; + + int Row = blockDim.y * blockIdx.y + threadIdx.y; + int Col = blockDim.x * blockIdx.x + threadIdx.x; + float Cvalue = 0.0; + sA[threadIdx.y][threadIdx.x] = 0.0; + sB[threadIdx.y][threadIdx.x] = 0.0; + + for (int ph = 0; ph < (((numAColumns - 1) / TILE_WIDTH) + 1); ph++) { + if ((Row < numARows) && (threadIdx.x + (ph * TILE_WIDTH)) < numAColumns) { + sA[threadIdx.y][threadIdx.x] = + A[(Row * numAColumns) + threadIdx.x + (ph * TILE_WIDTH)]; + } else { + sA[threadIdx.y][threadIdx.x] = 0.0; + } + if (Col < numBColumns && (threadIdx.y + ph * TILE_WIDTH) < numBRows) { + sB[threadIdx.y][threadIdx.x] = + B[(threadIdx.y + ph * TILE_WIDTH) * numBColumns + Col]; + } else { + sB[threadIdx.y][threadIdx.x] = 0.0; + } + __syncthreads(); + for (int j = 0; j < TILE_WIDTH; ++j) { + Cvalue += sA[threadIdx.y][j] * sB[j][threadIdx.x]; + } + } + if (Row < numCRows && Col < numCColumns) { + C[Row * numCColumns + Col] = Cvalue; + } +} + +void MMGPUKernel(float* in_a, float* in_b, float* out_c, int numARows, + int numAColumns, int numBRows, int numBColumns, int numCRows, + int numCColumns, cudaStream_t stream) { + // Initialize the grid and block dimensions + dim3 dimBlock(TILE_WIDTH, TILE_WIDTH, 1); + dim3 dimGrid((numCColumns / TILE_WIDTH) + 1, (numCRows / TILE_WIDTH) + 1, 1); + //@@ Launch the GPU Kernel here + matrixMultiplyShared<<>>( + in_a, in_b, out_c, numARows, numAColumns, numBRows, numBColumns, numCRows, + numCColumns); + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} + +template +__global__ __launch_bounds__(512) void HGEMV_WFPerRow( + int m, int n, const _Float16* A, int lda, const _Float16* x, _Float16* y) { + int num_row_per_block = CTA / nThreads_per_row; + int row_id = (blockIdx.x * num_row_per_block + threadIdx.y) * MT0; + int inc = (gridDim.x * num_row_per_block) * MT0; + + while (row_id < m) { + float2 sum2[MT0]; + +#pragma unroll + for (int i = 0; i < MT0; ++i) { + sum2[i] = {0.0, 0.0}; + } + + for (int j = threadIdx.x; j < n; j += (nThreads_per_row * MT1)) { + bool is_active = j < n; + if (is_active) { + float2 x2[MT1 >> 1]; +#pragma unroll + for (int offset = 0; offset < MT1; offset += 2) { + x2[offset >> 1] = {x[j + nThreads_per_row * offset], + x[j + nThreads_per_row * (offset + 1)]}; + } + float2 a2[MT0][MT1 >> 1]; +#pragma unroll + for (int i = 0; i < MT0; i++) { +#pragma unroll + for (int offset = 0; offset < MT1; offset += 2) { + a2[i][offset >> 1] = { + A[(row_id + i) * n + j + nThreads_per_row * offset], + A[(row_id + i) * n + j + nThreads_per_row * (offset + 1)]}; + } + } + +#pragma unroll + for (int i = 0; i < MT0; i++) { +#pragma unroll + for (int offset = 0; offset < (MT1 >> 1); offset++) { + sum2[i] += a2[i][offset] * x2[offset]; + } + } + } + } + float sum[MT0]; +#pragma unroll + for (int i = 0; i < MT0; i++) { + sum[i] = sum2[i].x + sum2[i].y; + } + +#pragma unroll + for (int i = 0; i < MT0; i++) { +#pragma unroll + for (int offset = nThreads_per_row >> 1; offset >= 1; + offset = offset >> 1) { + sum[i] += __shfl_down(sum[i], offset, nThreads_per_row); + } + } + if (threadIdx.x == 0) { +#pragma unroll + for (int i = 0; i < MT0; i++) { + y[row_id + i] = sum[i]; + } + } + row_id += inc; + } +} + +void LLGemmZZ(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int solidx = 0) { + // m -> M, n-> K + dim3 grid(1024); + dim3 block(64, 8); + if (solidx == 0) { + HGEMV_WFPerRow<64, 512, 4, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } else if (solidx == 1) { + HGEMV_WFPerRow<64, 512, 2, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } else if (solidx == 2) { + HGEMV_WFPerRow<64, 512, 1, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } else { + HGEMV_WFPerRow<64, 512, 4, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} + +///////////////////////////////////////////// + +#define DTYPE half + +__device__ __forceinline__ int mindiv(int N, int div1, int div2) { + int nPrRnd = div1 * div2; + int rnds0 = N / nPrRnd; + nPrRnd -= div1 * 3; + int rnds3 = N / nPrRnd; + nPrRnd -= div1; + int rnds4 = N / nPrRnd; + nPrRnd -= div1; + int rnds5 = N / nPrRnd; + nPrRnd -= div1; + int rnds6 = N / nPrRnd; + nPrRnd -= div1; + int rnds7 = N / nPrRnd; + nPrRnd -= div1; + int rnds8 = N / nPrRnd; + nPrRnd -= div1; + int rnds9 = N / nPrRnd; + nPrRnd -= div1; + int rtn = div2; + if (rnds0 == rnds3) rtn = div2 - 3; + if (rnds0 == rnds4) rtn = div2 - 4; + if (rnds0 == rnds5) rtn = div2 - 5; + if (rnds0 == rnds6) rtn = div2 - 6; + if (rnds0 == rnds7) rtn = div2 - 7; + if (rnds0 == rnds8) rtn = div2 - 8; + if (rnds0 == rnds9) rtn = div2 - 9; + return rtn; +} + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support +// This version targets cases where A[] fits LDS capacity +template +__global__ void __launch_bounds__(WvPrGrp* THRDS) + wvSpltK_hf_sml_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, const int CuCount) { + using half8 = + __attribute__((__vector_size__((A_CHUNK / 2) * sizeof(float)))) float; + union bigType { + DTYPE h[A_CHUNK]; + float f[A_CHUNK / 2]; + float2 f2[A_CHUNK / 4]; + double d[A_CHUNK / 4]; + half8 h8; + }; + + //---------------------------------------------------- + // Reserving 64 KB of LDS to have 1 WG / CU + // Goal is to bring the activation matrix A to the LDS + // and use it across the lifetime of the work group + // TODO: When activation matrix is larger than 64 KB + // then this is not goint to work! + //---------------------------------------------------- + __shared__ half s[1024 * 32]; + + //---------------------------------------------------- + // Computation of columns that need to be committed to memory! + //---------------------------------------------------- + // uint32_t commitColumn[YTILE]; + // for (uint32_t i = 0; i < YTILE; i++) { + // commitColumn[i] = 1; + //} + + // It's worth trying to load-balance... + int _WvPrGrp = mindiv(N, CuCount * YTILE, WvPrGrp); + + //---------------------------------------------------- + // Indexing function into the column of weight matrix B + // Algorithm does 64 lane k-splitting / wave and uses + // WG ID and Thread ID to find the index. + //---------------------------------------------------- + uint32_t n = (blockIdx.x * _WvPrGrp + threadIdx.y) * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + // if (n < N && (n + YTILE) >= N) { + // uint32_t startColumn = N - YTILE; + // for (uint32_t i = 0; i < (n - startColumn); i++) { + // commitColumn[i] = 0; + // } + // n = startColumn; + //} + + //---------------------------------------------------- + // Fetch the activation matrix to LDS + // Loop iteration: + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements + // - Each WG will fetch 512 * 16 => 8K elements + // - Then the WG will move to another 8 K elements + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k = 0; k < min(K * M, 32 * 1024); + k += THRDS * WvPrGrp * A_CHUNK) { + uint32_t k_in = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + + // Transpose of A implementation + // uint32_t k_ot = (k_in / M) + (k_in % M) * K; // transopse for + // bank-conflict-free readback + + if (k_in >= min(K * M, 32 * 1024)) break; + + //((bigType*)(&s[k_in]))->b128 = ((bigType*)(&A[k_in]))->b128; + *((bigType*)(&s[k_in])) = *((bigType*)(&A[k_in])); + //((bigType*)(&s[k_ot]))->b128 = ((bigType*)(&A[k_in]))->b128; + } + __syncthreads(); + + if (threadIdx.y >= _WvPrGrp) return; + + float sum[M][YTILE]; + + //---------------------------------------------------- + // Each wave works on a single column of weight matrix. + // There are 16 waves per WG, and hence, each WG is + // working on 16 columns of weight matrix. Moreover, + // we tile in column direction by YTILE, so when YTILE=1 + // the above math is right, however, when YTILE=2 then + // each wave will be working on 2 columns and WG will + // be working on 32 columns. + // + // Top level loop that makes WGs persistent! + // - WGs iterates across columns of weight matrix + // - Each wave within WG works on a given column(s) + // - After completing first set of columns, WGs start + // working on the next set of available columns + //---------------------------------------------------- + while (n < N) { + //---------------------------------------------------- + // 'sum' accumulates the matrix A x B computation + // split across 64 lanes. + // + // YTILE represents how many column of weight matrix + // are being worked on by each wave. + //---------------------------------------------------- + for (int i = 0; i < YTILE; i++) + for (int m = 0; m < M; m++) sum[m][i] = 0; + + bigType bigA[M][UNRL]; + bigType bigB0[UNRL]; + bigType bigB1[UNRL]; + bigType bigB2[UNRL]; + bigType bigB3[UNRL]; + bigType bigB4[UNRL]; + bigType bigB5[UNRL]; + bigType bigB6[UNRL]; + bigType bigB7[UNRL]; + //---------------------------------------------------- + // Fetch weight matrix B in interleaved K-split! + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements (1024B) + // - YTILE represents the number of column being serviced + // by wave + // - Loop for fetching weight matrix (B) are unrolled + // + // Fetch activation matrix A from LDS + // - Loop for fetching activation matrix (A) are unrolled + // + // Finally, do the matrix multiplication in an unrolled + // fashion. This provides lot of food for compiler + // scheduling. + // + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k1 = 0; k1 < K; k1 += THRDS * A_CHUNK * UNRL) { + // Fetch the weight matrix from memory! + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + const half* B_ = &B[(n + 0) * K + k_]; + bigB0[k2].h8 = (loadnt((half8*)(&B_[0 * K]))); + //---------------------------------------------------- + // The following code with YTILE > 1 has to be deleted + //---------------------------------------------------- + if (YTILE >= 2) bigB1[k2].h8 = (loadnt((half8*)(&B_[1 * K]))); + if (YTILE >= 3) bigB2[k2].h8 = (loadnt((half8*)(&B_[2 * K]))); + if (YTILE >= 4) bigB3[k2].h8 = (loadnt((half8*)(&B_[3 * K]))); + if (YTILE >= 5) bigB4[k2].h8 = (loadnt((half8*)(&B_[4 * K]))); + if (YTILE >= 6) bigB5[k2].h8 = (loadnt((half8*)(&B_[5 * K]))); + if (YTILE >= 7) bigB6[k2].h8 = (loadnt((half8*)(&B_[6 * K]))); + if (YTILE >= 8) bigB7[k2].h8 = (loadnt((half8*)(&B_[7 * K]))); + } + + // Fetch activation matrix from either just LDS or from both LDS / memory + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + // Fetch A activation matrix in interleaved fashion from LDS or memory + + for (int m = 0; m < M; m++) { + // if (k_ + K * m < 32 * 1024) + bigA[m][k2] = *((const bigType*)(&(s[k_ + K * m]))); + // else + // bigA[m][k2] = *((const bigType*)(&(A[k_ + K * m]))); + } + } + + // Do the matrix multiplication in interleaved manner + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + // Do the matrix multiplication of activation and weight matrix + // - Remember the accumulation is happening for K-split of 64! + #pragma unroll + for (uint32_t m = 0; m < M; m++) { + #pragma unroll + for (uint32_t b = 0; b < A_CHUNK / 2; b++) { + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][0]) + : "0"(sum[m][0]), "v"(bigA[m][k2].f[b]), "v"(bigB0[k2].f[b])); + + //---------------------------------------------------- + // The following code with YTILE > 1 + //---------------------------------------------------- + if (YTILE >= 2) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][1]) + : "0"(sum[m][1]), "v"(bigA[m][k2].f[b]), "v"(bigB1[k2].f[b])); + if (YTILE >= 3) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][2]) + : "0"(sum[m][2]), "v"(bigA[m][k2].f[b]), "v"(bigB2[k2].f[b])); + if (YTILE >= 4) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][3]) + : "0"(sum[m][3]), "v"(bigA[m][k2].f[b]), "v"(bigB3[k2].f[b])); + if (YTILE >= 5) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][4]) + : "0"(sum[m][4]), "v"(bigA[m][k2].f[b]), "v"(bigB4[k2].f[b])); + if (YTILE >= 6) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][5]) + : "0"(sum[m][5]), "v"(bigA[m][k2].f[b]), "v"(bigB5[k2].f[b])); + if (YTILE >= 7) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][6]) + : "0"(sum[m][6]), "v"(bigA[m][k2].f[b]), "v"(bigB6[k2].f[b])); + if (YTILE >= 8) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][7]) + : "0"(sum[m][7]), "v"(bigA[m][k2].f[b]), "v"(bigB7[k2].f[b])); + } + } + } + } + + //---------------------------------------------------- + // Final reduction step using shuffle + //---------------------------------------------------- + for (int m = 0; m < M; m++) { + for (int y = 0; y < YTILE; y++) { + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:8 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:4 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:2 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 wave_shr:1 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:15 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:31 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + } + } + if (threadIdx.x == 63) { + for (int m = 0; m < M; m++) { + for (int i = 0; i < YTILE; i++) { + // if (commitColumn[i]) C[n + i + m * N] = __float2half(sum[m][i]); + C[n + i + m * N] = __float2half(sum[m][i]); + } + } + } + + n += CuCount * _WvPrGrp * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + // if (n < N && (n + YTILE) >= N) { + // uint32_t startColumn = N - YTILE; + // for (uint32_t i = 0; i < (n - startColumn); i++) { + // commitColumn[i] = 0; + // } + // n = startColumn; + //} + } +} +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support +template +__global__ void wvSpltK_hf_sml_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, + const int CuCount) { + UNREACHABLE_CODE +} +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support +// This version targets cases where A[] marginally exceeds LDS capacity +template +__global__ void __launch_bounds__(WvPrGrp* THRDS) + wvSpltK_hf_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, const int CuCount) { + using half8 = + __attribute__((__vector_size__((A_CHUNK / 2) * sizeof(float)))) float; + union bigType { + DTYPE h[A_CHUNK]; + float f[A_CHUNK / 2]; + float2 f2[A_CHUNK / 4]; + double d[A_CHUNK / 4]; + half8 h8; + }; + + //---------------------------------------------------- + // Reserving 64 KB of LDS to have 1 WG / CU + // Goal is to bring the activation matrix A to the LDS + // and use it across the lifetime of the work group + // TODO: When activation matrix is larger than 64 KB + // then this is not goint to work! + //---------------------------------------------------- + __shared__ half s[1024 * 32]; + + //---------------------------------------------------- + // Computation of columns that need to be committed to memory! + //---------------------------------------------------- + uint32_t commitColumn[YTILE]; + for (uint32_t i = 0; i < YTILE; i++) { + commitColumn[i] = 1; + } + + // It's worth trying to load-balance... + int _WvPrGrp = mindiv(N, CuCount * YTILE, WvPrGrp); + + //---------------------------------------------------- + // Indexing function into the column of weight matrix B + // Algorithm does 64 lane k-splitting / wave and uses + // WG ID and Thread ID to find the index. + //---------------------------------------------------- + uint32_t n = (blockIdx.x * _WvPrGrp + threadIdx.y) * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + + //---------------------------------------------------- + // Fetch the activation matrix to LDS + // Loop iteration: + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements + // - Each WG will fetch 512 * 16 => 8K elements + // - Then the WG will move to another 8 K elements + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k = 0; k < min(K * M, 32 * 1024); + k += THRDS * WvPrGrp * A_CHUNK) { + uint32_t k_in = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + + // Transpose of A implementation + // uint32_t k_ot = (k_in / M) + (k_in % M) * K; // transopse for + // bank-conflict-free readback + + if (k_in >= min(K * M, 32 * 1024)) break; + + //((bigType*)(&s[k_in]))->b128 = ((bigType*)(&A[k_in]))->b128; + *((bigType*)(&s[k_in])) = *((bigType*)(&A[k_in])); + //((bigType*)(&s[k_ot]))->b128 = ((bigType*)(&A[k_in]))->b128; + } + __syncthreads(); + + if (threadIdx.y >= _WvPrGrp) return; + + float sum[M][YTILE]; + + //---------------------------------------------------- + // Each wave works on a single column of weight matrix. + // There are 16 waves per WG, and hence, each WG is + // working on 16 columns of weight matrix. Moreover, + // we tile in column direction by YTILE, so when YTILE=1 + // the above math is right, however, when YTILE=2 then + // each wave will be working on 2 columns and WG will + // be working on 32 columns. + // + // Top level loop that makes WGs persistent! + // - WGs iterates across columns of weight matrix + // - Each wave within WG works on a given column(s) + // - After completing first set of columns, WGs start + // working on the next set of available columns + //---------------------------------------------------- + while (n < N) { + //---------------------------------------------------- + // 'sum' accumulates the matrix A x B computation + // split across 64 lanes. + // + // YTILE represents how many column of weight matrix + // are being worked on by each wave. + //---------------------------------------------------- + for (int i = 0; i < YTILE; i++) + for (int m = 0; m < M; m++) sum[m][i] = 0; + + bigType bigA[M][UNRL]; + bigType bigB0[UNRL]; + bigType bigB1[UNRL]; + bigType bigB2[UNRL]; + bigType bigB3[UNRL]; + bigType bigB4[UNRL]; + bigType bigB5[UNRL]; + bigType bigB6[UNRL]; + bigType bigB7[UNRL]; + bigType bigB8[UNRL]; + //---------------------------------------------------- + // Fetch weight matrix B in interleaved K-split! + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements (1024B) + // - YTILE represents the number of column being serviced + // by wave + // - Loop for fetching weight matrix (B) are unrolled + // + // Fetch activation matrix A from LDS + // - Loop for fetching activation matrix (A) are unrolled + // + // Finally, do the matrix multiplication in an unrolled + // fashion. This provides lot of food for compiler + // scheduling. + // + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k1 = 0; k1 < K; k1 += THRDS * A_CHUNK * UNRL) { + // Fetch the weight matrix from memory! + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + const half* B_ = &B[(n + 0) * K + k_]; + bigB0[k2].h8 = (loadnt((half8*)(&B_[0 * K]))); + //---------------------------------------------------- + // The following code with YTILE > 1 has to be deleted + //---------------------------------------------------- + if (YTILE >= 2) bigB1[k2].h8 = (loadnt((half8*)(&B_[1 * K]))); + if (YTILE >= 3) bigB2[k2].h8 = (loadnt((half8*)(&B_[2 * K]))); + if (YTILE >= 4) bigB3[k2].h8 = (loadnt((half8*)(&B_[3 * K]))); + if (YTILE >= 5) bigB4[k2].h8 = (loadnt((half8*)(&B_[4 * K]))); + if (YTILE >= 6) bigB5[k2].h8 = (loadnt((half8*)(&B_[5 * K]))); + if (YTILE >= 7) bigB6[k2].h8 = (loadnt((half8*)(&B_[6 * K]))); + if (YTILE >= 8) bigB7[k2].h8 = (loadnt((half8*)(&B_[7 * K]))); + } + + // Fetch activation matrix from either just LDS or from both LDS / memory + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + // Fetch A activation matrix in interleaved fashion from LDS or memory + + for (int m = 0; m < M; m++) { + if (k_ + K * m < 32 * 1024) + bigA[m][k2] = *((const bigType*)(&(s[k_ + K * m]))); + else + bigA[m][k2] = *((const bigType*)(&(A[k_ + K * m]))); + } + } + + // Do the matrix multiplication in interleaved manner + #pragma unroll + for (uint32_t m = 0; m < M; m++) { + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + // Do the matrix multiplication of activation and weight matrix + // - Remember the accumulation is happening for K-split of 64! + #pragma unroll + for (uint32_t b = 0; b < A_CHUNK / 2; b++) { + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][0]) + : "0"(sum[m][0]), "v"(bigA[m][k2].f[b]), "v"(bigB0[k2].f[b])); + + //---------------------------------------------------- + // The following code with YTILE > 1 + //---------------------------------------------------- + if (YTILE >= 2) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][1]) + : "0"(sum[m][1]), "v"(bigA[m][k2].f[b]), "v"(bigB1[k2].f[b])); + if (YTILE >= 3) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][2]) + : "0"(sum[m][2]), "v"(bigA[m][k2].f[b]), "v"(bigB2[k2].f[b])); + if (YTILE >= 4) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][3]) + : "0"(sum[m][3]), "v"(bigA[m][k2].f[b]), "v"(bigB3[k2].f[b])); + if (YTILE >= 5) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][4]) + : "0"(sum[m][4]), "v"(bigA[m][k2].f[b]), "v"(bigB4[k2].f[b])); + if (YTILE >= 6) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][5]) + : "0"(sum[m][5]), "v"(bigA[m][k2].f[b]), "v"(bigB5[k2].f[b])); + if (YTILE >= 7) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][6]) + : "0"(sum[m][6]), "v"(bigA[m][k2].f[b]), "v"(bigB6[k2].f[b])); + if (YTILE >= 8) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][7]) + : "0"(sum[m][7]), "v"(bigA[m][k2].f[b]), "v"(bigB7[k2].f[b])); + } + } + } + } + + //---------------------------------------------------- + // Final reduction step using shuffle + //---------------------------------------------------- + for (int m = 0; m < M; m++) { + for (int y = 0; y < YTILE; y++) { + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:8 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:4 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:2 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 wave_shr:1 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:15 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:31 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + } + } + + if (threadIdx.x == 63) { + for (int m = 0; m < M; m++) { + for (int i = 0; i < YTILE; i++) { + if (commitColumn[i]) C[n + i + m * N] = __float2half(sum[m][i]); + } + } + } + + n += CuCount * _WvPrGrp * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + } +} + +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support +template +__global__ void wvSpltK_hf_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, + const int CuCount) { + UNREACHABLE_CODE +} +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support +// This version targets big A[] cases, where it is much larger than LDS capacity +template +__global__ void __launch_bounds__(WvPrGrp* THRDS) + wvSpltK_hf_big_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, const int CuCount) { + using half8 = + __attribute__((__vector_size__((A_CHUNK / 2) * sizeof(float)))) float; + + union bigType { + DTYPE h[A_CHUNK]; + float f[A_CHUNK / 2]; + float2 f2[A_CHUNK / 4]; + double d[A_CHUNK / 4]; + half8 h8; + }; + + //---------------------------------------------------- + // Reserving 64 KB of LDS to have 1 WG / CU + // Goal is to bring the activation matrix A to the LDS + // and use it across the lifetime of the work group + // TODO: When activation matrix is larger than 64 KB + // then this is not goint to work! + //---------------------------------------------------- + __shared__ half s[1024 * 32]; + + //---------------------------------------------------- + // Computation of columns that need to be committed to memory! + //---------------------------------------------------- + uint32_t commitColumn[YTILE]; + for (uint32_t i = 0; i < YTILE; i++) { + commitColumn[i] = 1; + } + + // It's worth trying to load-balance... + int _WvPrGrp = mindiv(N, CuCount * YTILE, WvPrGrp); + if (threadIdx.y >= _WvPrGrp) return; + + //---------------------------------------------------- + // Indexing function into the column of weight matrix B + // Algorithm does 64 lane k-splitting / wave and uses + // WG ID and Thread ID to find the index. + //---------------------------------------------------- + uint32_t n = (blockIdx.x * _WvPrGrp + threadIdx.y) * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + + //---------------------------------------------------- + // Fetch the activation matrix to LDS + // Loop iteration: + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements + // - Each WG will fetch 512 * 16 => 8K elements + // - Then the WG will move to another 8 K elements + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + #define PCML + #ifndef PCML + for (uint32_t k = 0; k < min(K * M, 32 * 1024); + k += THRDS * WvPrGrp * A_CHUNK) { + uint32_t k_in = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + + // Transpose of A implementation + // uint32_t k_ot = (k_in / M) + (k_in % M) * K; // transopse for + // bank-conflict-free readback + + if (k_in >= min(K * M, 32 * 1024)) break; + + //((bigType*)(&s[k_in]))->b128 = ((bigType*)(&A[k_in]))->b128; + *((bigType*)(&s[k_in])) = *((bigType*)(&A[k_in])); + //((bigType*)(&s[k_ot]))->b128 = ((bigType*)(&A[k_in]))->b128; + } + __syncthreads(); + #endif + + #define TUC (THRDS * UNRL * A_CHUNK) + uint32_t kBase = 0; + // find biggest k size that fits in LDS + uint32_t kFit = (32 * 1024) / M; + // kFit = (kFit%TWC==0) ? kFit : (kFit-kFit%TWC+TWC); //round up to multiple + // of TUC + kFit = (kFit % TUC == 0) + ? kFit + : (kFit - kFit % TUC); // round up to multiple of TUC + // if (kFit == 0) kFit = TUC; + kFit = min(kFit, K); + + float sum[M][YTILE]; + + //---------------------------------------------------- + // Each wave works on a single column of weight matrix. + // There are 16 waves per WG, and hence, each WG is + // working on 16 columns of weight matrix. Moreover, + // we tile in column direction by YTILE, so when YTILE=1 + // the above math is right, however, when YTILE=2 then + // each wave will be working on 2 columns and WG will + // be working on 32 columns. + // + // Top level loop that makes WGs persistent! + // - WGs iterates across columns of weight matrix + // - Each wave within WG works on a given column(s) + // - After completing first set of columns, WGs start + // working on the next set of available columns + //---------------------------------------------------- + #ifdef PCML + int YW = (YTILE * _WvPrGrp); + uint32_t Nrndp = (N % YW == 0) ? N : (N - N % YW + YW); + while (n < Nrndp) { + #else + while (n < N) { + #endif + //---------------------------------------------------- + // 'sum' accumulates the matrix A x B computation + // split across 64 lanes. + // + // YTILE represents how many column of weight matrix + // are being worked on by each wave. + //---------------------------------------------------- + for (int i = 0; i < YTILE; i++) + for (int m = 0; m < M; m++) sum[m][i] = 0; + + bigType bigA[M][UNRL]; + bigType bigB0[UNRL]; + bigType bigB1[UNRL]; + bigType bigB2[UNRL]; + bigType bigB3[UNRL]; + bigType bigB4[UNRL]; + bigType bigB5[UNRL]; + bigType bigB6[UNRL]; + bigType bigB7[UNRL]; + bigType bigB8[UNRL]; + bigType bigB9[UNRL]; + bigType bigB10[UNRL]; + //---------------------------------------------------- + // Fetch weight matrix B in interleaved K-split! + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements (1024B) + // - YTILE represents the number of column being serviced + // by wave + // - Loop for fetching weight matrix (B) are unrolled + // + // Fetch activation matrix A from LDS + // - Loop for fetching activation matrix (A) are unrolled + // + // Finally, do the matrix multiplication in an unrolled + // fashion. This provides lot of food for compiler + // scheduling. + // + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k1 = 0; k1 < K; k1 += THRDS * A_CHUNK * UNRL) { + #ifdef PCML + if ((k1 == 0) || (k1 == kBase + kFit)) { // load next chunk of A[] to LDS + if (k1 != 0) kBase += kFit; + __syncthreads(); + for (uint32_t k = 0; k < kFit; k += THRDS * _WvPrGrp * A_CHUNK) { + uint32_t kOff = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + if (kBase + kOff >= K) break; + if (kOff >= kFit) break; + for (uint32_t m = 0; m < M; m++) { + uint32_t k_in = kBase + m * K + kOff; + uint32_t k_ot = m * kFit + kOff; + *((bigType*)(&s[k_ot])) = *((bigType*)(&A[k_in])); + } + } + __syncthreads(); + } + if (n >= N) continue; + #endif + + // Fetch the weight matrix from memory! + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + const half* B_ = &B[(n + 0) * K + k_]; + bigB0[k2].h8 = (loadnt((half8*)(&B_[0 * K]))); + //---------------------------------------------------- + // The following code with YTILE > 1 has to be deleted + //---------------------------------------------------- + if (YTILE >= 2) bigB1[k2].h8 = (loadnt((half8*)(&B_[1 * K]))); + if (YTILE >= 3) bigB2[k2].h8 = (loadnt((half8*)(&B_[2 * K]))); + if (YTILE >= 4) bigB3[k2].h8 = (loadnt((half8*)(&B_[3 * K]))); + if (YTILE >= 5) bigB4[k2].h8 = (loadnt((half8*)(&B_[4 * K]))); + if (YTILE >= 6) bigB5[k2].h8 = (loadnt((half8*)(&B_[5 * K]))); + if (YTILE >= 7) bigB6[k2].h8 = (loadnt((half8*)(&B_[6 * K]))); + if (YTILE >= 8) bigB7[k2].h8 = (loadnt((half8*)(&B_[7 * K]))); + } + + // Fetch activation matrix from either just LDS or from both LDS / memory + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + // Fetch A activation matrix in interleaved fashion from LDS or memory + + for (int m = 0; m < M; m++) { + #ifdef PCML + bigA[m][k2] = *((const bigType*)(&(s[k_ - kBase + kFit * m]))); + #else + if (k_ + K * m < 32 * 1024) + bigA[m][k2] = *((const bigType*)(&(s[k_ + K * m]))); + else + bigA[m][k2] = *((const bigType*)(&(A[k_ + K * m]))); + #endif + } + } + + // Do the matrix multiplication in interleaved manner + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + #pragma unroll + for (uint32_t m = 0; m < M; m++) { + // Do the matrix multiplication of activation and weight matrix + // - Remember the accumulation is happening for K-split of 64! + #pragma unroll + for (uint32_t b = 0; b < A_CHUNK / 2; b++) { + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][0]) + : "0"(sum[m][0]), "v"(bigA[m][k2].f[b]), "v"(bigB0[k2].f[b])); + + //---------------------------------------------------- + // The following code with YTILE > 1 + //---------------------------------------------------- + if (YTILE >= 2) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][1]) + : "0"(sum[m][1]), "v"(bigA[m][k2].f[b]), "v"(bigB1[k2].f[b])); + if (YTILE >= 3) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][2]) + : "0"(sum[m][2]), "v"(bigA[m][k2].f[b]), "v"(bigB2[k2].f[b])); + if (YTILE >= 4) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][3]) + : "0"(sum[m][3]), "v"(bigA[m][k2].f[b]), "v"(bigB3[k2].f[b])); + if (YTILE >= 5) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][4]) + : "0"(sum[m][4]), "v"(bigA[m][k2].f[b]), "v"(bigB4[k2].f[b])); + if (YTILE >= 6) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][5]) + : "0"(sum[m][5]), "v"(bigA[m][k2].f[b]), "v"(bigB5[k2].f[b])); + if (YTILE >= 7) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][6]) + : "0"(sum[m][6]), "v"(bigA[m][k2].f[b]), "v"(bigB6[k2].f[b])); + if (YTILE >= 8) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][7]) + : "0"(sum[m][7]), "v"(bigA[m][k2].f[b]), "v"(bigB7[k2].f[b])); + } + } + } + } + + #ifdef PCML + if (n >= N) { + n += CuCount * _WvPrGrp * YTILE; + kBase = 0; + continue; + } + #endif + + //---------------------------------------------------- + // Final reduction step using shuffle + //---------------------------------------------------- + for (int m = 0; m < M; m++) { + for (int y = 0; y < YTILE; y++) { + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:8 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:4 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:2 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 wave_shr:1 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:15 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:31 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + } + } + + if (threadIdx.x == 63) { + for (int m = 0; m < M; m++) { + for (int i = 0; i < YTILE; i++) { + if (commitColumn[i]) C[n + i + m * N] = __float2half(sum[m][i]); + } + } + } + + n += CuCount * _WvPrGrp * YTILE; + kBase = 0; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + } +} +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support +template +__global__ void wvSpltK_hf_big_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, + const int CuCount) { + UNREACHABLE_CODE +} +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +void wvSpltK_(void* in_a, void* in_b, void* out_c, const int M_in, + const int K_in, const int N_in, cudaStream_t stream, + const int CuCount = 0) { + dim3 grid(CuCount); + half* af4 = reinterpret_cast(in_a); + const half* bf4 = reinterpret_cast(in_b); + auto* c = reinterpret_cast(out_c); + +#define WVSPLTK(_WvPrGrp, _YTILEs, _YTILEm, _YTILEb, _UNRLs, _UNRLm, _UNRLb, \ + _N) \ + { \ + dim3 block(64, _WvPrGrp); \ + /*wvSpltK_hf:*/ \ + if ((K_in * N_in <= 32 * 1024) && (M_in % _YTILEs == 0)) { \ + wvSpltK_hf_sml_<64, _YTILEs, _WvPrGrp, 8, _UNRLs, _N> \ + <<>>(K_in, M_in, af4, bf4, c, CuCount); \ + } else if (K_in * N_in <= 32 * 1024 * 1.2) { \ + wvSpltK_hf_<64, _YTILEm, _WvPrGrp, 8, _UNRLm, _N> \ + <<>>(K_in, M_in, af4, bf4, c, CuCount); \ + } else { \ + wvSpltK_hf_big_<64, _YTILEb, _WvPrGrp, 8, _UNRLb, _N> \ + <<>>(K_in, M_in, af4, bf4, c, CuCount); \ + } \ + } + + switch (N_in) { + case 1: + WVSPLTK(16, 2, 2, 2, 2, 2, 2, 1) // MI308 + break; + case 2: + WVSPLTK(16, 2, 2, 2, 2, 2, 2, 2) // MI308 + break; + case 3: + WVSPLTK(16, 4, 7, 7, 1, 1, 1, 3) // MI308 + break; + case 4: + WVSPLTK(16, 4, 7, 7, 1, 1, 1, 4) // MI308 + break; + default: + throw std::runtime_error("Unsupported N value: " + std::to_string(M_in) + + "," + std::to_string(K_in) + "," + + std::to_string(N_in)); + } + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) { + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); + } +} \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp index fde86cee9..88700a2c6 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp @@ -2,13 +2,16 @@ #include -PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) +{ m.def("topk_softmax", &topk_softmax, "Apply topk softmax to the gating outputs."); m.def("moe_align_block_size", &moe_align_block_size, - "Aligning the number of tokens to be processed by each expert such " - "that it is divisible by the block size."); + "Aligning the number of tokens to be processed by each expert such " + "that it is divisible by the block size."); m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); + m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," + " int CuCount) -> ()"); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 0d1cf1a74..37a23c072 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -2,9 +2,9 @@ #include -void topk_softmax(torch::Tensor& topk_weights, torch::Tensor& topk_indices, - torch::Tensor& token_expert_indices, - torch::Tensor& gating_output); +void topk_softmax(torch::Tensor &topk_weights, torch::Tensor &topk_indices, + torch::Tensor &token_expert_indices, + torch::Tensor &gating_output); void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, int64_t block_size, torch::Tensor sorted_token_ids, @@ -13,8 +13,11 @@ void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, void silu_and_mul(torch::Tensor &out, torch::Tensor &input); -void rms_norm(torch::Tensor& out, torch::Tensor& input, torch::Tensor& weight, +void rms_norm(torch::Tensor &out, torch::Tensor &input, torch::Tensor &weight, double epsilon); -void fused_add_rms_norm(torch::Tensor& input, torch::Tensor& residual, - torch::Tensor& weight, double epsilon); \ No newline at end of file +void fused_add_rms_norm(torch::Tensor &input, torch::Tensor &residual, + torch::Tensor &weight, double epsilon); + +void wvSpltK(at::Tensor &in_a, at::Tensor &in_b, at::Tensor &out_c, + const int64_t N_in, const int64_t CuCount); \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py new file mode 100644 index 000000000..94483b305 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py @@ -0,0 +1,139 @@ +import os +from pathlib import Path + +import pandas as pd +import torch +import torch.nn.functional as F +# from hipbsolidxgemm import hipb_create_extension, hipb_mm +# from rocsolidxgemm import rocb_create_extension, rocb_mm + +import rocmKernels as ops +# from vllm import _custom_ops as ops +# from vllm.envs import VLLM_USE_ROCM_SKINNY_GEMM +# from vllm.utils import is_hip + + +class TunedGemm: + + def __init__(self): + #rocb_create_extension() + #hipb_create_extension() + self.extensions_created = False + self.save_gemm = int(os.environ.get('VLLM_TUNE_GEMM', 0)) + self.untune_path = os.environ.get('VLLM_UNTUNE_FILE', + "/tmp/vllm_untuned.csv") + self.tune_path = os.environ.get('VLLM_TUNE_FILE', "tuned.csv") + self.bestsols = {} + self.load_best_sols() + self.create_ds() + self.cu_count = torch.cuda.get_device_properties( + device='cuda').multi_processor_count + + # self.use_skinny = is_hip() and VLLM_USE_ROCM_SKINNY_GEMM and \ + # "gfx1" not in torch.cuda.get_device_properties('cuda').gcnArchName + self.use_skinny = True + + if (self.save_gemm == 1): + self.tuned_df = pd.DataFrame( + columns=['M', 'N', 'K', 'bias', 'dtype']) + else: + self.tuned_df = None + + def load_best_sols(self): + if self.tune_path is not None and Path(self.tune_path).is_file(): + self.bestsols = pd.read_csv(self.tune_path) + + def create_ds(self): + df: pd.DataFrame = self.bestsols + solds = {} + for i in range(len(df)): + ds = df.iloc[i] + key = (ds['M'], ds['N'], ds['K'], ds['bias'], ds['dtype']) + if ds['libtype'] == 'hipblaslt': + soltype = 1 + elif ds['libtype'] == 'rocblas': + soltype = 2 + solds[key] = (soltype, int(ds['solidx'])) + self.solids = solds + #print('>>>',solds) + def query_sol(self, m, n, k, bias, dtype): + return self.solids.get((m, n, k, bias, str(dtype)), (0, 0)) + + def apply_skinny(self, m, n, k, inp_view, weights): + if not self.use_skinny: + return None + if inp_view.dtype != torch.float16 or k % 8 != 0: + return None + if m > 8 and 0 < n <= 4: + out = torch.empty(inp_view.shape[0], + weights.shape[0], + dtype=inp_view.dtype, + device='cuda') + ops.wvSpltK(weights, inp_view, out, n, self.cu_count) + return out + elif m % 4 == 0 and n == 1 and k <= 8192: + out = torch.empty(inp_view.shape[0], + weights.shape[0], + dtype=inp_view.dtype, + device='cuda') + ops.LLMM1(weights, inp_view, out, 4) + return out + else: + return None + + def mm(self, inp, weights, bias=None): + # F.Linear can take a 3 dimensional input. vllm + # uses this for linear units. However, sampler + # will use torch.matmul with 2 dimensions only + if inp.dim() == 3: + inp_view = inp.view(-1, inp.size(-1)) + batched = True + else: + inp_view = inp + batched = False + if self.extensions_created is False: + # rocb_create_extension() + # hipb_create_extension() + self.extensions_created = True + m = weights.shape[0] + n = inp_view.shape[0] + k = inp_view.shape[1] + use_bias = bias is not None + soltype, solidx = self.query_sol(m=m, + n=n, + k=k, + bias=use_bias, + dtype=inp.dtype) + out = self.apply_skinny(m, n, k, inp_view, weights) + if out is not None: + if batched: + out = out.view(inp.shape[0], inp.shape[1], weights.shape[0]) + if bias is not None: + return out + bias + return out + elif soltype == 1: + out = hipb_mm(inp_view, weights.t(), solidx, bias=bias) + elif soltype == 2: + out = rocb_mm(inp_view, weights.t(), solidx) + if bias is not None: + out = out + bias + else: + if (self.save_gemm == 1): + self.tuned_df = pd.concat([ + self.tuned_df, + pd.DataFrame({ + 'M': [m], + 'N': [n], + 'K': [k], + 'bias': [bias is not None], + 'dtype': [inp.dtype], + }) + ]).drop_duplicates() + self.tuned_df.to_csv(self.untune_path, index=False) + return F.linear(inp, weights, bias) + if batched: + out = out.view(inp.shape[0], inp.shape[1], weights.shape[0]) + return out + + +tgemm = TunedGemm() From 43088a34d36d3d94ae64a6ea3405f3e555678143 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 4 Oct 2024 16:09:33 +0800 Subject: [PATCH 10/50] aligh default behaviar, default enable LDS_BYPASS , disable MOE_PADDING --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 2 +- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index ef0394f4a..673723ad5 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -87,7 +87,7 @@ def infusion_to_model(self): if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) - if bool(int(os.getenv("VLLM_MOE_PADDING", "1"))): + if bool(int(os.getenv("VLLM_MOE_PADDING", "0"))): w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) torch.cuda.empty_cache() w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 3d5588b0b..0bea93ca8 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -19,8 +19,8 @@ # logger = init_logger(__name__) VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "0"))) FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) -print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, , {VLLM_MOE_PADDING=}') +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, {VLLM_MOE_PADDING=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 padding_size = 128 if VLLM_MOE_PADDING else 0 From 694c9c6a8f75378cb12e9d6376e614dc4be7b99b Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 5 Oct 2024 22:50:16 +0800 Subject: [PATCH 11/50] add fused_rope --- .../ROCM/model_impl/modeling_mixtral.py | 21 +- .../ROCM/rocm_kernels/csrc/moe_ops.cpp | 22 +- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 12 +- .../rocm_kernels/csrc/pos_encoding_kernels.cu | 203 ++++ .../ROCM/rocm_kernels/rotary_embedding.py | 1008 +++++++++++++++++ 5 files changed, 1250 insertions(+), 16 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index e17533796..5fe3e8b01 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -58,6 +58,7 @@ from ..rocm_kernels.fused_moe import fused_moe import rocmKernels as ops from ..rocm_kernels.tuned_gemm import tgemm +from ..rocm_kernels.rotary_embedding import get_rope if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -369,6 +370,13 @@ def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): max_position_embeddings=self.max_position_embeddings, base=self.rope_theta, ) + self.rotary_emb_fused = get_rope( + self.head_dim, + rotary_dim=self.head_dim, + max_position=self.max_position_embeddings, + base=int(self.rope_theta), + is_neox_style=True, + ) self.num_heads = self.num_heads // self.mp_size self.num_key_value_heads = self.num_key_value_heads // self.mp_size @@ -794,9 +802,6 @@ def forward( key_states = self.k_proj(hidden_states) value_states = self.v_proj(hidden_states) - query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) - key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) - value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) is_context = kwargs.get("is_context") valid_slot_ids = kwargs.get("valid_slot_ids") @@ -808,9 +813,15 @@ def forward( # kv_seq_len = key_states.shape[-2] # if past_key_value is not None: # kv_seq_len += past_key_value.get_usable_length(kv_seq_len, self.layer_idx) - cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) - query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + # fused rope + query_states, key_states = self.rotary_emb_fused(position_ids, query_states, key_states) + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + # # old rope + # cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) + # query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) # if past_key_value is not None: # cache_kwargs = {"sin": sin, "cos": cos} # Specific to RoPE models diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp index 88700a2c6..dcb747c9e 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp @@ -4,14 +4,16 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { - m.def("topk_softmax", &topk_softmax, - "Apply topk softmax to the gating outputs."); - m.def("moe_align_block_size", &moe_align_block_size, - "Aligning the number of tokens to be processed by each expert such " - "that it is divisible by the block size."); - m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); - m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); - m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); - m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," - " int CuCount) -> ()"); + m.def("topk_softmax", &topk_softmax, + "Apply topk softmax to the gating outputs."); + m.def("moe_align_block_size", &moe_align_block_size, + "Aligning the number of tokens to be processed by each expert such " + "that it is divisible by the block size."); + m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); + m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); + m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); + m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," + " int CuCount) -> ()"); + m.def("rotary_embedding", &rotary_embedding, "rotary_embedding"); + m.def("batched_rotary_embedding", &batched_rotary_embedding, "batched_rotary_embedding"); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 37a23c072..a119a6825 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -20,4 +20,14 @@ void fused_add_rms_norm(torch::Tensor &input, torch::Tensor &residual, torch::Tensor &weight, double epsilon); void wvSpltK(at::Tensor &in_a, at::Tensor &in_b, at::Tensor &out_c, - const int64_t N_in, const int64_t CuCount); \ No newline at end of file + const int64_t N_in, const int64_t CuCount); + +void rotary_embedding(torch::Tensor &positions, torch::Tensor &query, + torch::Tensor &key, int64_t head_size, + torch::Tensor &cos_sin_cache, bool is_neox); + +void batched_rotary_embedding(torch::Tensor &positions, torch::Tensor &query, + torch::Tensor &key, int64_t head_size, + torch::Tensor &cos_sin_cache, bool is_neox, + int64_t rot_dim, + torch::Tensor &cos_sin_cache_offsets); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu new file mode 100644 index 000000000..4df07af7e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu @@ -0,0 +1,203 @@ +#include +#include +#include + +#include "hip_compat.h" +#include "dispatch_utils.h" + +namespace vllm { + +template +inline __device__ void apply_token_rotary_embedding( + scalar_t* __restrict__ arr, const scalar_t* __restrict__ cos_ptr, + const scalar_t* __restrict__ sin_ptr, int rot_offset, int embed_dim) { + int x_index, y_index; + scalar_t cos, sin; + if (IS_NEOX) { + // GPT-NeoX style rotary embedding. + x_index = rot_offset; + y_index = embed_dim + rot_offset; + cos = VLLM_LDG(cos_ptr + x_index); + sin = VLLM_LDG(sin_ptr + x_index); + } else { + // GPT-J style rotary embedding. + x_index = 2 * rot_offset; + y_index = 2 * rot_offset + 1; + cos = VLLM_LDG(cos_ptr + x_index / 2); + sin = VLLM_LDG(sin_ptr + x_index / 2); + } + + const scalar_t x = arr[x_index]; + const scalar_t y = arr[y_index]; + arr[x_index] = x * cos - y * sin; + arr[y_index] = y * cos + x * sin; +} + +template +inline __device__ void apply_rotary_embedding( + scalar_t* __restrict__ query, // [batch_size, seq_len, num_heads, + // head_size] or [num_tokens, num_heads, + // head_size] + scalar_t* __restrict__ key, // [batch_size, seq_len, num_kv_heads, + // head_size] or [num_tokens, num_kv_heads, + // head_size] + const scalar_t* cache_ptr, const int head_size, const int num_heads, + const int num_kv_heads, const int rot_dim, const int token_idx, + const int64_t query_stride, const int64_t key_stride) { + const int embed_dim = rot_dim / 2; + const scalar_t* cos_ptr = cache_ptr; + const scalar_t* sin_ptr = cache_ptr + embed_dim; + + const int nq = num_heads * embed_dim; + for (int i = threadIdx.x; i < nq; i += blockDim.x) { + const int head_idx = i / embed_dim; + const int64_t token_head = token_idx * query_stride + head_idx * head_size; + const int rot_offset = i % embed_dim; + apply_token_rotary_embedding( + query + token_head, cos_ptr, sin_ptr, rot_offset, embed_dim); + } + + const int nk = num_kv_heads * embed_dim; + for (int i = threadIdx.x; i < nk; i += blockDim.x) { + const int head_idx = i / embed_dim; + const int64_t token_head = token_idx * key_stride + head_idx * head_size; + const int rot_offset = i % embed_dim; + apply_token_rotary_embedding( + key + token_head, cos_ptr, sin_ptr, rot_offset, embed_dim); + } +} + +template +__global__ void rotary_embedding_kernel( + const int64_t* __restrict__ positions, // [batch_size, seq_len] or + // [num_tokens] + scalar_t* __restrict__ query, // [batch_size, seq_len, num_heads, + // head_size] or [num_tokens, num_heads, + // head_size] + scalar_t* __restrict__ key, // [batch_size, seq_len, num_kv_heads, + // head_size] or [num_tokens, num_kv_heads, + // head_size] + const scalar_t* __restrict__ cos_sin_cache, // [max_position, 2, rot_dim // + // 2] + const int rot_dim, const int64_t query_stride, const int64_t key_stride, + const int num_heads, const int num_kv_heads, const int head_size) { + // Each thread block is responsible for one token. + const int token_idx = blockIdx.x; + int64_t pos = positions[token_idx]; + const scalar_t* cache_ptr = cos_sin_cache + pos * rot_dim; + + apply_rotary_embedding( + query, key, cache_ptr, head_size, num_heads, num_kv_heads, rot_dim, + token_idx, query_stride, key_stride); +} + +template +__global__ void batched_rotary_embedding_kernel( + const int64_t* __restrict__ positions, // [batch_size, seq_len] or + // [num_tokens] + scalar_t* __restrict__ query, // [batch_size, seq_len, num_heads, + // head_size] or [num_tokens, num_heads, + // head_size] + scalar_t* __restrict__ key, // [batch_size, seq_len, num_kv_heads, + // head_size] or [num_tokens, num_kv_heads, + // head_size] + const scalar_t* __restrict__ cos_sin_cache, // [max_position, 2, rot_dim // + // 2] + const int64_t* __restrict__ cos_sin_cache_offsets, // [batch_size, seq_len] + // or [num_tokens] + const int rot_dim, const int64_t query_stride, const int64_t key_stride, + const int num_heads, const int num_kv_heads, const int head_size) { + // Each thread block is responsible for one token. + const int token_idx = blockIdx.x; + int64_t pos = positions[token_idx]; + int64_t cos_sin_cache_offset = cos_sin_cache_offsets[token_idx]; + const scalar_t* cache_ptr = + cos_sin_cache + (cos_sin_cache_offset + pos) * rot_dim; + + apply_rotary_embedding( + query, key, cache_ptr, head_size, num_heads, num_kv_heads, rot_dim, + token_idx, query_stride, key_stride); +} + +} // namespace vllm + +void rotary_embedding( + torch::Tensor& positions, // [batch_size, seq_len] or [num_tokens] + torch::Tensor& query, // [batch_size, seq_len, num_heads * head_size] or + // [num_tokens, num_heads * head_size] + torch::Tensor& key, // [batch_size, seq_len, num_kv_heads * head_size] or + // [num_tokens, num_kv_heads * head_size] + int64_t head_size, + torch::Tensor& cos_sin_cache, // [max_position, rot_dim] + bool is_neox) { + int64_t num_tokens = query.numel() / query.size(-1); + int rot_dim = cos_sin_cache.size(1); + int num_heads = query.size(-1) / head_size; + int num_kv_heads = key.size(-1) / head_size; + int64_t query_stride = query.stride(-2); + int64_t key_stride = key.stride(-2); + + dim3 grid(num_tokens); + dim3 block(std::min(num_heads * rot_dim / 2, 512)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES(query.scalar_type(), "rotary_embedding", [&] { + if (is_neox) { + vllm::rotary_embedding_kernel<<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), rot_dim, + query_stride, key_stride, num_heads, num_kv_heads, head_size); + } else { + vllm::rotary_embedding_kernel + <<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), + rot_dim, query_stride, key_stride, num_heads, num_kv_heads, + head_size); + } + }); +} + +/* +Batched version of rotary embedding, pack multiple LoRAs together +and process in batched manner. +*/ +void batched_rotary_embedding( + torch::Tensor& positions, // [batch_size, seq_len] or [num_tokens] + torch::Tensor& query, // [batch_size, seq_len, num_heads * head_size] or + // [num_tokens, num_heads * head_size] + torch::Tensor& key, // [batch_size, seq_len, num_kv_heads * head_size] or + // [num_tokens, num_kv_heads * head_size] + int64_t head_size, + torch::Tensor& cos_sin_cache, // [max_position, rot_dim] + bool is_neox, int64_t rot_dim, + torch::Tensor& cos_sin_cache_offsets // [num_tokens] +) { + int64_t num_tokens = cos_sin_cache_offsets.size(0); + int num_heads = query.size(-1) / head_size; + int num_kv_heads = key.size(-1) / head_size; + int64_t query_stride = query.stride(-2); + int64_t key_stride = key.stride(-2); + + dim3 grid(num_tokens); + dim3 block(std::min(num_heads * rot_dim / 2, 512)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES(query.scalar_type(), "rotary_embedding", [&] { + if (is_neox) { + vllm::batched_rotary_embedding_kernel + <<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), + cos_sin_cache_offsets.data_ptr(), rot_dim, query_stride, + key_stride, num_heads, num_kv_heads, head_size); + } else { + vllm::batched_rotary_embedding_kernel + <<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), + cos_sin_cache_offsets.data_ptr(), rot_dim, query_stride, + key_stride, num_heads, num_kv_heads, head_size); + } + }); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py new file mode 100644 index 000000000..06974a146 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py @@ -0,0 +1,1008 @@ +# coding=utf-8 +# Adapted from +# https://github.com/huggingface/transformers/blob/v4.33.2/src/transformers/models/llama/modeling_llama.py +# Copyright 2023 The vLLM team. +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Rotary Positional Embeddings.""" +import math +from typing import Any, Dict, List, Optional, Tuple, Union + +import torch +import torch.nn as nn + +# from custom_op import CustomOp + + +def _rotate_neox(x: torch.Tensor) -> torch.Tensor: + x1 = x[..., :x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2:] + return torch.cat((-x2, x1), dim=-1) + + +def _rotate_gptj(x: torch.Tensor) -> torch.Tensor: + x1 = x[..., ::2] + x2 = x[..., 1::2] + x = torch.stack((-x2, x1), dim=-1) + return x.flatten(-2) + + +def _apply_rotary_emb( + x: torch.Tensor, + cos: torch.Tensor, + sin: torch.Tensor, + is_neox_style: bool, +) -> torch.Tensor: + """ + Args: + x: [num_tokens, num_heads, head_size] + cos: [num_tokens, head_size // 2] + sin: [num_tokens, head_size // 2] + is_neox_style: Whether to use the Neox-style or GPT-J-style rotary + positional embeddings. + """ + cos = cos.unsqueeze(-2).to(x.dtype) + sin = sin.unsqueeze(-2).to(x.dtype) + if is_neox_style: + x1, x2 = torch.chunk(x, 2, dim=-1) + else: + x1 = x[..., ::2] + x2 = x[..., 1::2] + o1 = x1 * cos - x2 * sin + o2 = x2 * cos + x1 * sin + if is_neox_style: + return torch.cat((o1, o2), dim=-1) + else: + return torch.stack((o1, o2), dim=-1).flatten(-2) + + +# class RotaryEmbedding(CustomOp): +class RotaryEmbedding(nn.Module): + """Original rotary positional embedding.""" + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + ) -> None: + super().__init__() + self.head_size = head_size + self.rotary_dim = rotary_dim + self.max_position_embeddings = max_position_embeddings + self.base = base + self.is_neox_style = is_neox_style + self.dtype = dtype + + cache = self._compute_cos_sin_cache() + cache = cache.to(dtype) + self.cos_sin_cache: torch.Tensor + self.register_buffer("cos_sin_cache", cache, persistent=False) + + def _compute_inv_freq(self, base: Union[int, float]) -> torch.Tensor: + """Compute the inverse frequency.""" + # NOTE(woosuk): To exactly match the HF implementation, we need to + # use CPU to compute the cache and then move it to GPU. However, we + # create the cache on GPU for faster initialization. This may cause + # a slight numerical difference between the HF implementation and ours. + inv_freq = 1.0 / (base**(torch.arange( + 0, self.rotary_dim, 2, dtype=torch.float) / self.rotary_dim)) + return inv_freq + + def _compute_cos_sin_cache(self) -> torch.Tensor: + """Compute the cos and sin cache.""" + inv_freq = self._compute_inv_freq(self.base) + t = torch.arange(self.max_position_embeddings, dtype=torch.float) + + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() + sin = freqs.sin() + cache = torch.cat((cos, sin), dim=-1) + return cache + + def forward_native( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """A PyTorch-native implementation of forward().""" + if offsets is not None: + positions = positions + offsets + positions = positions.flatten() + num_tokens = positions.shape[0] + cos_sin = self.cos_sin_cache.index_select(0, positions) + cos, sin = cos_sin.chunk(2, dim=-1) + + query_shape = query.shape + query = query.view(num_tokens, -1, self.head_size) + query_rot = query[..., :self.rotary_dim] + query_pass = query[..., self.rotary_dim:] + query_rot = _apply_rotary_emb(query_rot, cos, sin, self.is_neox_style) + query = torch.cat((query_rot, query_pass), dim=-1).reshape(query_shape) + + key_shape = key.shape + key = key.view(num_tokens, -1, self.head_size) + key_rot = key[..., :self.rotary_dim] + key_pass = key[..., self.rotary_dim:] + key_rot = _apply_rotary_emb(key_rot, cos, sin, self.is_neox_style) + key = torch.cat((key_rot, key_pass), dim=-1).reshape(key_shape) + return query, key + + # def forward_cuda( + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + # from vllm import _custom_ops as ops + import rocmKernels as ops + + self.cos_sin_cache = self.cos_sin_cache.to(query.device, + dtype=query.dtype) + # ops.rotary_embedding()/batched_rotary_embedding() + # are in-place operations that update the query and key tensors. + if offsets is not None: + ops.batched_rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, + self.is_neox_style, self.rotary_dim, + offsets) + else: + ops.rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, self.is_neox_style) + return query, key + + def forward_xpu( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + from vllm._ipex_ops import ipex_ops as ops + + self.cos_sin_cache = self.cos_sin_cache.to(positions.device, + dtype=query.dtype) + # ops.rotary_embedding()/batched_rotary_embedding() + # are in-place operations that update the query and key tensors. + if offsets is not None: + ops.batched_rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, + self.is_neox_style, self.rotary_dim, + offsets) + else: + ops.rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, self.is_neox_style) + return query, key + + def extra_repr(self) -> str: + s = f"head_size={self.head_size}, rotary_dim={self.rotary_dim}" + s += f", max_position_embeddings={self.max_position_embeddings}" + s += f", base={self.base}, is_neox_style={self.is_neox_style}" + return s + + +class LinearScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with linear scaling. + + It supports multiple scaling factors. Since multiple LoRA adapters may have + different scaling factors, we need multiple cos/sin caches. In this way, + instead of running rotary embedding kernel per lora, we can run multiple + lora in a batched way. + + In addition to that, we also keep the cos/sin cache for the scaling factor + of 1 (default) at all times. + + Exemplary for two scaling factors x=1, y and z with embeddings + [[x11, x12, ... x1m], ..., [xn1, xn2, ..., xnm]] and + [[y11, y12, ... y1o], ..., [yn1, yn2, ..., yno]], and + [[z11, z12, ... z1p], ..., [zn1, zn2, ..., znp]], + + we construct the cos/sin cache as follows: + [[x11, x12, ... x1m, y11, y12, ... y1o, z11, z12, ... z1p], + ... + [xn1, xn2, ... xnm, yn1, yn2, ... yno, zn1, zn2, ... znp]] + + We then use offsets to index into the cos/sin cache for + the respective scaling factors. + + The offset to cache can be accessed via `scaling_factor_to_offset` API. + + Credits to the Reddit user /u/kaiokendev + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factors: Union[List[float], float], + dtype: torch.dtype, + ) -> None: + if isinstance(scaling_factors, float): + scaling_factors = [scaling_factors] + self.scaling_factors: List[float] = scaling_factors # noqa + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + # Lazy initialized. + self._scaling_factor_to_offset: Dict[float, int] + + def _compute_cos_sin_cache(self) -> torch.Tensor: + inv_freq = self._compute_inv_freq(self.base) + cache_list: List[torch.Tensor] = [] + # offsets to the next cache in a tensor. + # Each offset corresponds to the same index in scaling_factors. + offsets: List[int] = [] + for scaling_factor in self.scaling_factors: + # NOTE(woosuk): self.max_position_embeddings is the original + # maximum length before applying the rope scaling. + # Thus, the maximum length after applying the rope scaling is + # self.max_position_embeddings * self.scaling_factor. + max_len = self.max_position_embeddings * scaling_factor + t = torch.arange(max_len, dtype=torch.float) + t = t / scaling_factor + + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() + sin = freqs.sin() + cache = torch.cat((cos, sin), dim=-1) + if not cache_list: + offset = 0 + else: + last_offset = offsets[-1] + next_max_len = cache_list[-1].shape[0] + offset = last_offset + next_max_len + offsets.append(offset) + cache_list.append(cache) + self._scaling_factor_to_offset = { + float(scaling_factor): offsets[i] + for i, scaling_factor in enumerate(self.scaling_factors) + } + assert len(self.scaling_factors) == len(offsets) + return torch.cat(cache_list, dim=0) + + @property + def scaling_factor_to_offset(self) -> Dict[float, int]: + return self._scaling_factor_to_offset + + +class DynamicNTKScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with Dynamic NTK scaling. + + Credits to the Reddit users /u/bloc97 and /u/emozilla + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factor: float, + dtype: torch.dtype, + ) -> None: + self.scaling_factor = scaling_factor + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_cos_sin_cache(self) -> torch.Tensor: + # NOTE(woosuk): self.max_position_embeddings is the original + # maximum length before applying the rope scaling. + # Thus, the maximum length after applying the rope scaling is + # self.max_position_embeddings * self.scaling_factor. + max_len = self.max_position_embeddings * self.scaling_factor + base = self.base * ( + (self.scaling_factor * max_len / self.max_position_embeddings) - + (self.scaling_factor - 1))**(self.rotary_dim / + (self.rotary_dim - 2)) + inv_freq = self._compute_inv_freq(base) + t = torch.arange(max_len, dtype=torch.float) + + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() + sin = freqs.sin() + cache = torch.cat((cos, sin), dim=-1) + return cache + + +# Inverse dim formula to find dim based on number of rotations +def _yarn_find_correction_dim(num_rotations: int, + dim: int, + base: float = 10000, + max_position_embeddings: int = 2048) -> float: + return (dim * math.log(max_position_embeddings / + (num_rotations * 2 * math.pi))) / (2 * + math.log(base)) + + +# Find dim range bounds based on rotations +def _yarn_find_correction_range( + low_rot: int, + high_rot: int, + dim: int, + base: float = 10000, + max_position_embeddings: int = 2048) -> Tuple[int, int]: + low = math.floor( + _yarn_find_correction_dim(low_rot, dim, base, max_position_embeddings)) + high = math.ceil( + _yarn_find_correction_dim(high_rot, dim, base, + max_position_embeddings)) + return max(low, 0), min(high, dim - 1) # Clamp values just in case + + +def _yarn_linear_ramp_mask(low: float, high: float, dim: int, + dtype: torch.dtype) -> torch.Tensor: + if low == high: + high += 0.001 # Prevent singularity + + linear_func = (torch.arange(dim, dtype=dtype) - low) / (high - low) + ramp_func = torch.clamp(linear_func, 0, 1) + return ramp_func + + +def _yarn_get_mscale(scale: float = 1) -> float: + if scale <= 1: + return 1.0 + return 0.1 * math.log(scale) + 1.0 + + +class YaRNScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with YaRN method. + + Credits to Peng et al. github.com/jquesnelle/yarn + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factor: float, + dtype: torch.dtype, + *, + extrapolation_factor: float = 1, + attn_factor: float = 1, + beta_fast: int = 32, + beta_slow: int = 1, + ) -> None: + self.scaling_factor = scaling_factor + self.extrapolation_factor = extrapolation_factor + self.attn_factor = attn_factor + self.beta_fast = beta_fast + self.beta_slow = beta_slow + # Get n-d magnitude scaling corrected for interpolation + self.mscale = float( + _yarn_get_mscale(self.scaling_factor) * attn_factor) + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_inv_freq(self, scaling_factor: float) -> torch.Tensor: + pos_freqs = self.base**( + torch.arange(0, self.rotary_dim, 2, dtype=torch.float) / + self.rotary_dim) + inv_freq_extrapolation = 1.0 / pos_freqs + inv_freq_interpolation = 1.0 / (scaling_factor * pos_freqs) + + low, high = _yarn_find_correction_range(self.beta_fast, self.beta_slow, + self.rotary_dim, self.base, + self.max_position_embeddings) + # Get n-d rotational scaling corrected for extrapolation + inv_freq_mask = (1 - _yarn_linear_ramp_mask( + low, high, self.rotary_dim // 2, + dtype=torch.float)) * self.extrapolation_factor + inv_freq = inv_freq_interpolation * ( + 1 - inv_freq_mask) + inv_freq_extrapolation * inv_freq_mask + return inv_freq + + def _compute_cos_sin_cache(self) -> torch.Tensor: + inv_freq = self._compute_inv_freq(self.scaling_factor) + t = torch.arange(self.max_position_embeddings * self.scaling_factor, + dtype=torch.float32) + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = (freqs.cos() * self.mscale) + sin = (freqs.sin() * self.mscale) + cache = torch.cat((cos, sin), dim=-1) + return cache + + +class Phi3LongRoPEScaledRotaryEmbedding(nn.Module): + """Phi3 family of models scaled rotary embedding. + + Based on the original RotaryEmbedding implementation. + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + original_max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + short_factor: List[float], + long_factor: List[float], + short_mscale: Optional[float] = None, + long_mscale: Optional[float] = None, + ): + super().__init__() + + if rotary_dim != head_size: + raise ValueError( + f"`Phi3LongRoPEScaledRotaryEmbedding` does not support \ + rotary_dim != head_size ({rotary_dim}!={head_size}).") + if is_neox_style is False: + raise ValueError( + "`Phi3LongRoPEScaledRotaryEmbedding` only supports neox_style." + ) + + self.head_size = head_size + self.max_position_embeddings = max_position_embeddings + self.original_max_position_embeddings = original_max_position_embeddings + self.base = base + self.short_factor = short_factor + self.long_factor = long_factor + + scale = self.max_position_embeddings / \ + self.original_max_position_embeddings + if scale <= 1.0: + scaling_factor = 1.0 + else: + scaling_factor = math.sqrt( + 1 + math.log(scale) / + math.log(self.original_max_position_embeddings)) + if short_mscale is None: + short_mscale = scaling_factor + if long_mscale is None: + long_mscale = scaling_factor + + self.short_mscale = short_mscale + self.long_mscale = long_mscale + + short_cache = self._compute_cos_sin_cache( + original_max_position_embeddings, short_factor, short_mscale) + short_cache = short_cache.to(dtype) + self.register_buffer("short_cos_sin_cache", + short_cache, + persistent=False) + + long_cache = self._compute_cos_sin_cache(max_position_embeddings, + long_factor, long_mscale) + long_cache = long_cache.to(dtype) + self.register_buffer("long_cos_sin_cache", + long_cache, + persistent=False) + + long_short_cache = torch.cat( + [self.short_cos_sin_cache, self.long_cos_sin_cache], dim=0) + self.register_buffer("long_short_cos_sin_cache", + long_short_cache, + persistent=False) + + def _compute_inv_freq(self, rescale_factors: List[float]) -> torch.Tensor: + rescale_factors = torch.tensor(rescale_factors, dtype=torch.float32) + inv_freq = 1.0 / (rescale_factors * (self.base**(torch.arange( + 0, self.head_size, 2, dtype=torch.float) / self.head_size))) + return inv_freq + + def _compute_cos_sin_cache( + self, + max_position_embeddings: int, + rescale_factors: List[float], + mscale: float, + ) -> torch.Tensor: + inv_freq = self._compute_inv_freq(rescale_factors) + t = torch.arange(max_position_embeddings, dtype=torch.float) + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() * mscale + sin = freqs.sin() * mscale + cache = torch.cat((cos, sin), dim=-1) + return cache + + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + query = query.view(*query.shape[:-1], -1, self.head_size) + key = key.view(*key.shape[:-1], -1, self.head_size) + + k = self.original_max_position_embeddings + long_prompt_offset = (torch.any(positions > k).float() * + torch.full_like(positions, k)).long() + idx = (torch.add(positions, long_prompt_offset) + if long_prompt_offset is not None else positions) + self.long_short_cos_sin_cache: torch.Tensor = ( + self.long_short_cos_sin_cache.to(idx.device)) + idx = torch.add(idx, offsets) if offsets is not None else idx + cos_sin = torch.index_select(self.long_short_cos_sin_cache, 0, idx) + + cos, sin = cos_sin.chunk(2, dim=-1) + cos = cos.repeat(1, 2).unsqueeze(-2) + sin = sin.repeat(1, 2).unsqueeze(-2) + + query = query * cos + _rotate_neox(query) * sin + key = key * cos + _rotate_neox(key) * sin + + return query.flatten(-2), key.flatten(-2) + + +def yarn_get_mscale(scale: float = 1, mscale: float = 1) -> float: + if scale <= 1: + return 1.0 + return 0.1 * mscale * math.log(scale) + 1.0 + + +class DeepseekScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with YaRN method. + + Credits to Peng et al. github.com/jquesnelle/yarn + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factor: float, + dtype: torch.dtype, + *, + extrapolation_factor: float = 1, + attn_factor: float = 1, + beta_fast: int = 32, + beta_slow: int = 1, + mscale: float = 1, + mscale_all_dim: float = 0, + ) -> None: + self.scaling_factor = scaling_factor + self.extrapolation_factor = extrapolation_factor + self.attn_factor = attn_factor + self.beta_fast = beta_fast + self.beta_slow = beta_slow + # Get n-d magnitude scaling corrected for interpolation. + self.mscale = float( + yarn_get_mscale(self.scaling_factor, float(mscale)) / + yarn_get_mscale(self.scaling_factor, float(mscale_all_dim)) * + attn_factor) + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_inv_freq(self, scaling_factor: float) -> torch.Tensor: + pos_freqs = self.base**(torch.arange( + 0, self.rotary_dim, 2, dtype=torch.float, device="cuda") / + self.rotary_dim) + inv_freq_extrapolation = 1.0 / pos_freqs + inv_freq_interpolation = 1.0 / (scaling_factor * pos_freqs) + + low, high = _yarn_find_correction_range(self.beta_fast, self.beta_slow, + self.rotary_dim, self.base, + self.max_position_embeddings) + # Get n-d rotational scaling corrected for extrapolation + inv_freq_mask = (1 - _yarn_linear_ramp_mask( + low, high, self.rotary_dim // 2, + dtype=torch.float)) * self.extrapolation_factor + inv_freq = inv_freq_interpolation * ( + 1 - inv_freq_mask) + inv_freq_extrapolation * inv_freq_mask + return inv_freq + + def _compute_cos_sin_cache(self) -> torch.Tensor: + inv_freq = self._compute_inv_freq(self.scaling_factor) + t = torch.arange(self.max_position_embeddings * self.scaling_factor, + device="cuda", + dtype=torch.float32) + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = (freqs.cos() * self.mscale) + sin = (freqs.sin() * self.mscale) + cache = torch.cat((cos, sin), dim=-1) + print("Cache shape", cache.shape) + return cache + + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """PyTorch-native implementation equivalent to forward().""" + query_rot = query[..., :self.rotary_dim] + key_rot = key[..., :self.rotary_dim] + if self.rotary_dim < self.head_size: + query_pass = query[..., self.rotary_dim:] + key_pass = key[..., self.rotary_dim:] + + self.cos_sin_cache: torch.Tensor = self.cos_sin_cache.to( + positions.device) + cos_sin = self.cos_sin_cache[torch.add(positions, offsets) + if offsets is not None else positions] + cos, sin = cos_sin.chunk(2, dim=-1) + if self.is_neox_style: + # NOTE(woosuk): Here we assume that the positions tensor has the + # shape [batch_size, seq_len]. + cos = cos.repeat(1, 1, 2).unsqueeze(-2) + sin = sin.repeat(1, 1, 2).unsqueeze(-2) + else: + cos = cos.repeat_interleave(2, dim=-1).unsqueeze(-2) + sin = sin.repeat_interleave(2, dim=-1).unsqueeze(-2) + + rotate_fn = _rotate_neox if self.is_neox_style else _rotate_gptj + query_rot = query_rot * cos + rotate_fn(query_rot) * sin + key_rot = key_rot * cos + rotate_fn(key_rot) * sin + + if self.rotary_dim < self.head_size: + query = torch.cat((query_rot, query_pass), dim=-1) + key = torch.cat((key_rot, key_pass), dim=-1) + else: + query = query_rot + key = key_rot + return query, key + + +class Llama3RotaryEmbedding(RotaryEmbedding): + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + scaling_factor: float, + low_freq_factor: float, + high_freq_factor: float, + orig_max_position: int, + ) -> None: + self.scaling_factor = scaling_factor + self.low_freq_factor = low_freq_factor + self.high_freq_factor = high_freq_factor + self.orig_max_position = orig_max_position + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_inv_freq(self, base: Union[int, float]) -> torch.Tensor: + inv_freqs = super()._compute_inv_freq(base) + low_freq_wavelen = self.orig_max_position / self.low_freq_factor + high_freq_wavelen = self.orig_max_position / self.high_freq_factor + + wave_len = 2 * math.pi / inv_freqs + if self.low_freq_factor != self.high_freq_factor: + smooth = (self.orig_max_position / wave_len - self.low_freq_factor + ) / (self.high_freq_factor - self.low_freq_factor) + else: + smooth = 0 + new_freqs = torch.where( + wave_len < high_freq_wavelen, + inv_freqs, + torch.where( + wave_len > low_freq_wavelen, + inv_freqs / self.scaling_factor, + (1 - smooth) * inv_freqs / self.scaling_factor + + smooth * inv_freqs, + ), + ) + return new_freqs + + +class MRotaryEmbedding(RotaryEmbedding): + """Rotary Embedding with Multimodal Sections.""" + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + mrope_section: Optional[List[int]] = None, + ) -> None: + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + self.mrope_section = mrope_section + if self.mrope_section: + assert sum(self.mrope_section) == rotary_dim // 2 + + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """PyTorch-native implementation equivalent to forward(). + + Args: + positions: + [num_tokens,] (text only) or + [3, num_tokens] (T/H/W positions with multimodal inputs) + query: [num_tokens, num_heads * head_size] + key: [num_tokens, num_kv_heads * head_size] + """ + assert positions.ndim == 1 or positions.ndim == 2 + + num_tokens = positions.shape[-1] + cos_sin = self.cos_sin_cache[positions] + cos, sin = cos_sin.chunk(2, dim=-1) + if positions.ndim == 2: + assert self.mrope_section + + cos = torch.cat([ + m[i] + for i, m in enumerate(cos.split(self.mrope_section, dim=-1)) + ], + dim=-1) + sin = torch.cat([ + m[i] + for i, m in enumerate(sin.split(self.mrope_section, dim=-1)) + ], + dim=-1) + + query_shape = query.shape + query = query.view(num_tokens, -1, self.head_size) + query_rot = query[..., :self.rotary_dim] + query_pass = query[..., self.rotary_dim:] + query_rot = _apply_rotary_emb(query_rot, cos, sin, self.is_neox_style) + query = torch.cat((query_rot, query_pass), dim=-1).reshape(query_shape) + + key_shape = key.shape + key = key.view(num_tokens, -1, self.head_size) + key_rot = key[..., :self.rotary_dim] + key_pass = key[..., self.rotary_dim:] + key_rot = _apply_rotary_emb(key_rot, cos, sin, self.is_neox_style) + key = torch.cat((key_rot, key_pass), dim=-1).reshape(key_shape) + return query, key + + @staticmethod + def get_input_positions( + input_tokens: List[int], + image_grid_thw: Union[List[List[int]], torch.Tensor], + video_grid_thw: Union[List[List[int]], torch.Tensor], + image_token_id: int, + video_token_id: int, + vision_start_token_id: int, + vision_end_token_id: int, + spatial_merge_size: int, + context_len: int = 0, + ) -> Tuple[List[List[int]], int]: + """Get mrope input positions and delta value.""" + + if isinstance(image_grid_thw, torch.Tensor): + image_grid_thw = image_grid_thw.tolist() + if isinstance(video_grid_thw, torch.Tensor): + video_grid_thw = video_grid_thw.tolist() + + input_tokens_tensor = torch.tensor(input_tokens) + vision_start_indices = torch.argwhere( + input_tokens_tensor == vision_start_token_id).squeeze(1) + vision_tokens = input_tokens_tensor[vision_start_indices + 1] + image_nums = (vision_tokens == image_token_id).sum() + video_nums = (vision_tokens == video_token_id).sum() + llm_pos_ids_list: list = [] + + st = 0 + remain_images, remain_videos = image_nums, video_nums + + image_index, video_index = 0, 0 + for _ in range(image_nums + video_nums): + if image_token_id in input_tokens and remain_images > 0: + ed_image = input_tokens.index(image_token_id, st) + else: + ed_image = len(input_tokens) + 1 + if video_token_id in input_tokens and remain_videos > 0: + ed_video = input_tokens.index(video_token_id, st) + else: + ed_video = len(input_tokens) + 1 + if ed_image < ed_video: + t, h, w = ( + image_grid_thw[image_index][0], + image_grid_thw[image_index][1], + image_grid_thw[image_index][2], + ) + image_index += 1 + remain_images -= 1 + ed = ed_image + else: + t, h, w = ( + video_grid_thw[video_index][0], + video_grid_thw[video_index][1], + video_grid_thw[video_index][2], + ) + video_index += 1 + remain_videos -= 1 + ed = ed_video + llm_grid_t, llm_grid_h, llm_grid_w = \ + t, h // spatial_merge_size, w // spatial_merge_size + text_len = ed - st + + st_idx = llm_pos_ids_list[-1].max() + 1 if len( + llm_pos_ids_list) > 0 else 0 + llm_pos_ids_list.append( + torch.arange(text_len).view(1, -1).expand(3, -1) + st_idx) + + t_index = torch.arange(llm_grid_t).view(-1, 1).expand( + -1, llm_grid_h * llm_grid_w).flatten() + h_index = torch.arange(llm_grid_h).view(1, -1, 1).expand( + llm_grid_t, -1, llm_grid_w).flatten() + w_index = torch.arange(llm_grid_w).view(1, 1, -1).expand( + llm_grid_t, llm_grid_h, -1).flatten() + llm_pos_ids_list.append( + torch.stack([t_index, h_index, w_index]) + text_len + st_idx) + st = ed + llm_grid_t * llm_grid_h * llm_grid_w + + if st < len(input_tokens): + st_idx = llm_pos_ids_list[-1].max() + 1 if len( + llm_pos_ids_list) > 0 else 0 + text_len = len(input_tokens) - st + llm_pos_ids_list.append( + torch.arange(text_len).view(1, -1).expand(3, -1) + st_idx) + + llm_positions = torch.cat(llm_pos_ids_list, dim=1).reshape(3, -1) + llm_positions = llm_positions[:, context_len:] + mrope_position_delta = (llm_positions.max() + 1 - + len(input_tokens)).item() + + return llm_positions.tolist(), mrope_position_delta + + @staticmethod + def get_next_input_positions( + mrope_position_delta: int, + context_len: int, + seq_len: int, + ) -> List[List[int]]: + return [ + list( + range(context_len + mrope_position_delta, + seq_len + mrope_position_delta)) for _ in range(3) + ] + + +_ROPE_DICT: Dict[Tuple, RotaryEmbedding] = {} + + +def get_rope( + head_size: int, + rotary_dim: int, + max_position: int, + base: int, + is_neox_style: bool = True, + rope_scaling: Optional[Dict[str, Any]] = None, + dtype: Optional[torch.dtype] = None, + partial_rotary_factor: float = 1.0, +) -> RotaryEmbedding: + if dtype is None: + dtype = torch.get_default_dtype() + if rope_scaling is not None: + # Transforms every value that is a list into a tuple for caching calls + rope_scaling_tuple = { + k: tuple(v) if isinstance(v, list) else v + for k, v in rope_scaling.items() + } + rope_scaling_args = tuple(rope_scaling_tuple.items()) + else: + rope_scaling_args = None + if partial_rotary_factor < 1.0: + rotary_dim = int(rotary_dim * partial_rotary_factor) + key = (head_size, rotary_dim, max_position, base, is_neox_style, + rope_scaling_args, dtype) + if key in _ROPE_DICT: + return _ROPE_DICT[key] + + if rope_scaling is None: + rotary_emb = RotaryEmbedding(head_size, rotary_dim, max_position, base, + is_neox_style, dtype) + else: + scaling_type = rope_scaling[ + "type"] if "type" in rope_scaling else rope_scaling["rope_type"] + # The correct one should be "longrope" but keep "su" here + # for backward compatible + if scaling_type not in {"su", "longrope"}: + scaling_factor = rope_scaling.get("factor", 1.0) + if scaling_type == "llama3": + low_freq_factor = rope_scaling["low_freq_factor"] + high_freq_factor = rope_scaling["high_freq_factor"] + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + rotary_emb = Llama3RotaryEmbedding(head_size, rotary_dim, + max_position, base, + is_neox_style, dtype, + scaling_factor, low_freq_factor, + high_freq_factor, + original_max_position) + elif scaling_type == "linear": + rotary_emb = LinearScalingRotaryEmbedding(head_size, rotary_dim, + max_position, base, + is_neox_style, + scaling_factor, dtype) + elif scaling_type == "dynamic": + rotary_emb = DynamicNTKScalingRotaryEmbedding( + head_size, rotary_dim, max_position, base, is_neox_style, + scaling_factor, dtype) + elif scaling_type == "yarn": + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + extra_kwargs = { + k: v + for k, v in rope_scaling.items() + if k in ("extrapolation_factor", "attn_factor", "beta_fast", + "beta_slow") + } + rotary_emb = YaRNScalingRotaryEmbedding(head_size, rotary_dim, + original_max_position, + base, is_neox_style, + scaling_factor, dtype, + **extra_kwargs) + elif scaling_type == "deepseek_yarn": + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + # assert max_position == original_max_position * scaling_factor + extra_kwargs = { + k: v + for k, v in rope_scaling.items() + if k in ("extrapolation_factor", "attn_factor", "beta_fast", + "beta_slow", "mscale", "mscale_all_dim") + } + rotary_emb = DeepseekScalingRotaryEmbedding( + head_size, rotary_dim, original_max_position, base, + is_neox_style, scaling_factor, dtype, **extra_kwargs) + # The correct one should be "longrope" but keep "su" here + # for backward compatible + elif scaling_type == "su" or scaling_type == "longrope": + short_factor = rope_scaling["short_factor"] + long_factor = rope_scaling["long_factor"] + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + extra_kwargs = { + k: v + for k, v in rope_scaling.items() + if k in ("short_mscale", "long_mscale") + } + rotary_emb = Phi3LongRoPEScaledRotaryEmbedding( + head_size, rotary_dim, max_position, original_max_position, + base, is_neox_style, dtype, short_factor, long_factor, + **extra_kwargs) + elif scaling_type == "mrope": + rotary_emb = MRotaryEmbedding( + head_size, + rotary_dim, + max_position, + base, + is_neox_style, + dtype, + mrope_section=rope_scaling["mrope_section"], + ) + else: + raise ValueError(f"Unknown RoPE scaling type {scaling_type}") + _ROPE_DICT[key] = rotary_emb + return rotary_emb From 80200972a8de0662c47355c39dfb15b1b6a75afc Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 5 Oct 2024 23:27:58 +0800 Subject: [PATCH 12/50] default enable VLLM_MOE_PADDING --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 2 +- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 673723ad5..ef0394f4a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -87,7 +87,7 @@ def infusion_to_model(self): if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) - if bool(int(os.getenv("VLLM_MOE_PADDING", "0"))): + if bool(int(os.getenv("VLLM_MOE_PADDING", "1"))): w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) torch.cuda.empty_cache() w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 0bea93ca8..b9e8954e1 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -17,7 +17,7 @@ import logging logger = logging.getLogger(__name__) # logger = init_logger(__name__) -VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "0"))) +VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "1"))) FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, {VLLM_MOE_PADDING=}') From 3fae254980e3fca2ef1b7eceaa74ba2e9dafb8e2 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 27 Sep 2024 22:24:54 +0800 Subject: [PATCH 13/50] moe_final_v0.6.0_sept24 based fused_moe_kernel --- ...4,device_name=AMD_Instinct_MI308X_OAM.json | 244 +++++ ...8,device_name=AMD_Instinct_MI308X_OAM.json | 244 +++++ .../backends/ROCM/model_impl/rocm_mixtral.py | 3 +- .../csrc/moe_align_block_size_kernels.cu | 6 +- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 5 +- .../rocm_kernels/csrc/topk_softmax_kernels.cu | 2 +- .../backends/ROCM/rocm_kernels/fused_moe.py | 861 +++++++++++------- 7 files changed, 1047 insertions(+), 318 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..52a58b46c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..42139fefd --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 3425f9b19..24ae3995c 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -4,6 +4,7 @@ import torch import torch.nn as nn import torch.distributed as dist +import torch.nn.functional as F from typing import Dict, Any from llm_perf.utils.logger import logger @@ -83,7 +84,7 @@ def infusion_to_model(self): w2_weight[j, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"] w13_weight = w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim) - if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): + if bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu index 75ed0f9df..9c9cda9b3 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -108,8 +108,8 @@ __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, } } // namespace vllm -void moe_align_block_size(torch::Tensor topk_ids, int num_experts, - int block_size, torch::Tensor sorted_token_ids, +void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, + int64_t block_size, torch::Tensor sorted_token_ids, torch::Tensor experts_ids, torch::Tensor num_tokens_post_pad) { const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 21fe7a242..0d1cf1a74 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -6,10 +6,11 @@ void topk_softmax(torch::Tensor& topk_weights, torch::Tensor& topk_indices, torch::Tensor& token_expert_indices, torch::Tensor& gating_output); -void moe_align_block_size(torch::Tensor topk_ids, int num_experts, - int block_size, torch::Tensor sorted_token_ids, +void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, + int64_t block_size, torch::Tensor sorted_token_ids, torch::Tensor experts_ids, torch::Tensor num_tokens_post_pad); + void silu_and_mul(torch::Tensor &out, torch::Tensor &input); void rms_norm(torch::Tensor& out, torch::Tensor& input, torch::Tensor& weight, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu index a1f2aff32..a76586de2 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include +#include #include #include #include "hip_compat.h" diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 10e433b05..1c8af28f0 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -2,66 +2,69 @@ import functools import json import os -from typing import Any, Dict, Optional, Tuple +from typing import Any, Callable, Dict, Optional, Tuple import torch import triton import triton.language as tl -import rocmKernels as moe_kernels +import moeKernels as moe_kernels # import vllm.envs as envs # from vllm import _custom_ops as moe_kernels # from vllm.logger import init_logger # from vllm.platforms import current_platform +import logging +logger = logging.getLogger(__name__) # logger = init_logger(__name__) -padding_size = 0 # padding_size = 128 if envs.VLLM_MOE_PADDING else 0 padding_size = 128 FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 @triton.jit def fused_moe_kernel( - # Pointers to matrices - a_ptr, - b_ptr, - c_ptr, - a_scale_ptr, - b_scale_ptr, - topk_weights_ptr, - sorted_token_ids_ptr, - expert_ids_ptr, - num_tokens_post_padded_ptr, - # Matrix dimensions - N, - K, - EM, - num_valid_tokens, - # The stride variables represent how much to increase the ptr by when - # moving by 1 element in a particular dimension. E.g. `stride_am` is - # how much to increase `a_ptr` by to get the element one row down - # (A has M rows). - stride_am, - stride_ak, - stride_be, - stride_bk, - stride_bn, - stride_cm, - stride_cn, - # Meta-parameters - BLOCK_SIZE_M: tl.constexpr, - BLOCK_SIZE_N: tl.constexpr, - BLOCK_SIZE_K: tl.constexpr, - GROUP_SIZE_M: tl.constexpr, - MUL_ROUTED_WEIGHT: tl.constexpr, - top_k: tl.constexpr, - compute_type: tl.constexpr, - use_fp8: tl.constexpr, -): + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + stride_bse, + stride_bsn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8_w8a8: tl.constexpr, + use_int8_w8a16: tl.constexpr): """ Implements the fused computation for a Mixture of Experts (MOE) using token and expert matrices. @@ -120,10 +123,14 @@ def fused_moe_kernel( offs_k[None, :] * stride_ak) off_experts = tl.load(expert_ids_ptr + pid_m) - b_ptrs = (b_ptr + off_experts * stride_be+ - (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)) - - if use_fp8: + b_ptrs = b_ptr + off_experts * stride_be + (offs_k[:, None] * stride_bk + + offs_bn[None, :] * stride_bn) + if use_int8_w8a16: + b_scale_ptrs = b_scale_ptr + off_experts * stride_bse + offs_bn[ + None, :] * stride_bsn + b_scale = tl.load(b_scale_ptrs) + + if use_fp8_w8a8: a_scale = tl.load(a_scale_ptr) b_scale = tl.load(b_scale_ptr + off_experts) @@ -137,17 +144,17 @@ def fused_moe_kernel( for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): # Load the next block of A and B, generate a mask by checking the # K dimension. - a = tl.load( - a_ptrs, - mask=token_mask[:, None] & - (offs_k[None, :] < K - k * BLOCK_SIZE_K), - other=0.0, - ) + a = tl.load(a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=0.0) b = tl.load(b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0) # We accumulate along the K dimension. - if use_fp8: + if use_int8_w8a16: + accumulator = tl.dot(a, b.to(compute_type), acc=accumulator) + elif use_fp8_w8a8: accumulator = tl.dot(a, b, acc=accumulator) else: accumulator += tl.dot(a, b) @@ -160,20 +167,197 @@ def fused_moe_kernel( mask=token_mask, other=0) accumulator = accumulator * moe_weight[:, None] - - if use_fp8: + if use_int8_w8a16: + accumulator = (accumulator * b_scale).to(compute_type) + elif use_fp8_w8a8: accumulator = (accumulator * a_scale * b_scale).to(compute_type) else: accumulator = accumulator.to(compute_type) # ----------------------------------------------------------- # Write back the block of the output offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) - c_ptrs = (c_ptr + stride_cm * offs_token[:, None] + - stride_cn * offs_cn[None, :]) + c_ptrs = c_ptr + stride_cm * offs_token[:, None] + stride_cn * offs_cn[ + None, :] c_mask = token_mask[:, None] & (offs_cn[None, :] < N) tl.store(c_ptrs, accumulator, mask=c_mask) +@triton.heuristics({ + 'EVEN_K': lambda args: args['K'] % args['BLOCK_SIZE_K'] == 0, +}) +@triton.jit +def fused_moe_persistent_kernel( + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + EVEN_K: tl.constexpr, + NUM_SMS: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8: tl.constexpr, +): + """ + Implements the fused computation for a Mixture of Experts (MOE) using + token and expert matrices. + This is the persistent version of the fused_moe kernel. + + Key Parameters: + - A: The input tensor representing tokens with shape (*, K), where '*' can + be any shape representing batches and K is the feature dimension of + each token. + - B: The stacked MOE weight tensor with shape (E, N, K), where E is + the number of experts, K is the input feature dimension, and N is + the output feature dimension. + - C: The output cache tensor with shape (M, topk, N), where M is the + total number of tokens post padding, topk is the number of times + each token is repeated, and N is the output feature dimension. + - sorted_token_ids: A tensor containing the sorted indices of tokens, + repeated topk times and arranged by the expert index they are + assigned to. + - expert_ids: A tensor containing the indices of the expert for each + block. It determines which expert matrix from B should be used for + each block in A. + This kernel performs the multiplication of a token by its corresponding + expert matrix as determined by `expert_ids`. The sorting of + `sorted_token_ids` by expert index and padding ensures divisibility by + BLOCK_SIZE_M, which is necessary to maintain consistency in block matrix + multiplication across different blocks processed by the same expert. + """ + # ----------------------------------------------------------- + # Simply compute how many iterations each persistent block needs to do + start_pid = tl.program_id(axis=0) + num_pid_m = tl.cdiv(EM, BLOCK_SIZE_M) + num_pid_n = tl.cdiv(N, BLOCK_SIZE_N) + # num_tiles = num_pid_m * num_pid_n + tile_id = start_pid + + offs_k = tl.arange(0, BLOCK_SIZE_K) + # offs_token = tl.zeros((BLOCK_SIZE_M,), dtype=tl.int32) + # token_mask = tl.zeros((BLOCK_SIZE_M,), dtype=tl.int1) + + # Load tile-invariant runtime constant + num_tokens_post_padded = tl.load(num_tokens_post_padded_ptr) + + # Compute how many tiles are outside the padding region + num_pid_in_group = GROUP_SIZE_M * num_pid_n + pid_m = 0 + tile_id2 = start_pid - NUM_SMS + num_valid_tiles = -1 + while pid_m * BLOCK_SIZE_M < num_tokens_post_padded: + num_valid_tiles += 1 + tile_id2 += NUM_SMS + group_id = tile_id2 // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((tile_id2 % num_pid_in_group) % group_size_m) + + for _ in range(0, num_valid_tiles): + if GROUP_SIZE_M == 1: + pid_m = tile_id // num_pid_n + pid_n = tile_id % num_pid_n + else: + group_id = tile_id // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((tile_id % num_pid_in_group) % group_size_m) + pid_n = (tile_id % num_pid_in_group) // group_size_m + # Compute the mask + offs_token_id = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M) + offs_token = tl.load(sorted_token_ids_ptr + offs_token_id) + token_mask = offs_token < num_valid_tokens + # Compute the A pointer + a_ptrs = a_ptr + (offs_token[:, None] // top_k * stride_am + + offs_k[None, :] * stride_ak) + # Compute the B pointer + offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N + off_experts = tl.load(expert_ids_ptr + pid_m) + b_ptrs = (b_ptr + off_experts * stride_be + + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)) + + if use_fp8: + a_scale = tl.load(a_scale_ptr) + b_scale = tl.load(b_scale_ptr + off_experts) + + accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32) + + for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): + # Load the next block of A and B, generate a mask by checking the + # K dimension. + if EVEN_K: + a = tl.load(a_ptrs, mask=token_mask[:, None], other=0.0) + b = tl.load(b_ptrs) + else: + a = tl.load( + a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=0.0 + ) + b = tl.load( + b_ptrs, + mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, + other=0.0 + ) + # We accumulate along the K dimension. + if use_fp8: + accumulator = tl.dot(a, b, acc=accumulator) + else: + accumulator += tl.dot(a, b) + # Advance the ptrs to the next K block. + a_ptrs += BLOCK_SIZE_K * stride_ak + b_ptrs += BLOCK_SIZE_K * stride_bk + + if MUL_ROUTED_WEIGHT: + moe_weight = tl.load(topk_weights_ptr + offs_token, + mask=token_mask, + other=0) + accumulator = accumulator * moe_weight[:, None] + + if use_fp8: + accumulator = (accumulator * a_scale * b_scale).to(compute_type) + else: + accumulator = accumulator.to(compute_type) + # ----------------------------------------------------------- + # Write back the block of the output + offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) + c_ptrs = (c_ptr + stride_cm * offs_token[:, None] + + stride_cn * offs_cn[None, :]) + c_mask = token_mask[:, None] & (offs_cn[None, :] < N) + tl.store(c_ptrs, accumulator, mask=c_mask) + + # advance tile_id + tile_id += NUM_SMS + + def moe_align_block_size( topk_ids: torch.Tensor, block_size: int, num_experts: int) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: @@ -220,58 +404,16 @@ def moe_align_block_size( device=topk_ids.device) sorted_ids.fill_(topk_ids.numel()) max_num_m_blocks = triton.cdiv(max_num_tokens_padded, block_size) - expert_ids = torch.empty((max_num_m_blocks, ), + expert_ids = torch.zeros((max_num_m_blocks, ), dtype=torch.int32, device=topk_ids.device) num_tokens_post_pad = torch.empty((1), dtype=torch.int32, device=topk_ids.device) - moe_kernels.moe_align_block_size( - topk_ids, - num_experts, - block_size, - sorted_ids, - expert_ids, - num_tokens_post_pad, - ) + moe_kernels.moe_align_block_size(topk_ids, num_experts, block_size, sorted_ids, + expert_ids, num_tokens_post_pad) return sorted_ids, expert_ids, num_tokens_post_pad -def invoke_mega_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, - topk_weights: torch.Tensor, topk_ids: torch.Tensor, - sorted_token_ids: torch.Tensor, - expert_ids: torch.Tensor, - num_tokens_post_padded: torch.Tensor, - m_blck_sz: int, mul_routed_weight: bool, top_k: int, - use_fp8: bool) -> None: - assert topk_weights.stride(1) == 1 - assert sorted_token_ids.stride(0) == 1 - - #print("\nm=",A.shape[0],"n=",B.shape[1],"k=",B.shape[2],"e=", B.shape[0], "ml_rt:",mul_routed_weight,"tpk",top_k, "\n") - _custom_C.wvSpltK_fsdMoe(#A, B, C, B.shape[1], 80) - A, - B, - C, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - A.shape[0], - B.shape[1], - B.shape[2], - B.shape[0], - topk_ids.numel(), - A.stride(0), - A.stride(1), - B.stride(0), - B.stride(2), - B.stride(1), - C.stride(1), - C.stride(2), - m_blck_sz, - mul_routed_weight, - top_k, - 80) def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, A_scale: Optional[torch.Tensor], @@ -282,51 +424,96 @@ def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, num_tokens_post_padded: torch.Tensor, mul_routed_weight: bool, top_k: int, config: Dict[str, Any], compute_type: tl.dtype, - use_fp8: bool) -> None: + use_fp8_w8a8: bool, use_int8_w8a16: bool) -> None: assert topk_weights.stride(1) == 1 assert sorted_token_ids.stride(0) == 1 - if not use_fp8: + if use_fp8_w8a8: + A, A_scale = moe_kernels.scaled_fp8_quant(A, A_scale) + assert B_scale is not None + elif use_int8_w8a16: + assert B_scale is not None + else: assert A_scale is None assert B_scale is None - else: - A, A_scale = ops.scaled_fp8_quant(A, A_scale) - assert B_scale is not None - - grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ - "BLOCK_SIZE_M"]) * triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]), ) - fused_moe_kernel[grid]( - A, - B, - C, - A_scale, - B_scale, - topk_weights, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - B.shape[1], - B.shape[2] - padding_size, - sorted_token_ids.shape[0], - topk_ids.numel(), - A.stride(0), - A.stride(1), - B.stride(0), - B.stride(2), - B.stride(1), - C.stride(1), - C.stride(2), - MUL_ROUTED_WEIGHT=mul_routed_weight, - top_k=top_k, - compute_type=compute_type, - use_fp8=use_fp8, - **config, - ) + if not FUSED_MOE_PERSISTENT: + grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ + "BLOCK_SIZE_M"]) * triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]), ) + + fused_moe_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + B.shape[2] - padding_size, + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + B_scale.stride(0) if B_scale is not None and use_int8_w8a16 else 0, + B_scale.stride(1) if B_scale is not None and use_int8_w8a16 else 0, + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, + **config, + enable_moe_lds_bypass=ENABLE_MOE_LDS_BYPASS + ) + else: + NUM_SMS = torch.cuda.get_device_properties("cuda").multi_processor_count * 2 + grid = lambda META: (min( + NUM_SMS, + triton.cdiv(sorted_token_ids.shape[0], META["BLOCK_SIZE_M"]) * + triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]) + ), ) + + fused_moe_persistent_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + B.shape[2] - padding_size, + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + NUM_SMS=NUM_SMS, + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8=use_fp8_w8a8, + **config, + enable_moe_lds_bypass=ENABLE_MOE_LDS_BYPASS + ) def get_config_file_name(E: int, N: int, dtype: Optional[str]) -> str: - device_name = torch.cuda.get_device_name().replace(" ", "_") + # device_name = current_platform.get_device_name().replace(" ", "_") + device_name = 'AMD_Instinct_MI308X_OAM' # TODO: need to update dtype_selector = "" if not dtype else f",dtype={dtype}" return f"E={E},N={N},device_name={device_name}{dtype_selector}.json" @@ -358,9 +545,63 @@ def get_moe_configs(E: int, N: int, # If no optimized configuration is available, we will use the default # configuration + logger.info("---> MOE tuned file not found at %s",config_file_path) return None +def get_default_config( + M: int, + E: int, + N: int, + K: int, + topk: int, + dtype: Optional[str], + is_marlin: bool, +) -> Dict[str, int]: + config = { + 'BLOCK_SIZE_M': 64, + 'BLOCK_SIZE_N': 128, # reqd. for MOE shuffle + 'BLOCK_SIZE_K': 128, # reqd. for MOE shuffle + 'GROUP_SIZE_M': 8 + } + # A heuristic: fused marlin works faster with this config for small M + if M <= E or (is_marlin and M <= 32): + config = { + 'BLOCK_SIZE_M': 16, + 'BLOCK_SIZE_N': 128, # reqd. for MOE shuffle + 'BLOCK_SIZE_K': 128, # reqd. for MOE shuffle + 'GROUP_SIZE_M': 1 + } + return config + + +def try_get_optimal_moe_config( + w1_shape: Tuple[int, ...], + w2_shape: Tuple[int, ...], + top_k: int, + dtype: Optional[str], + M: int, + override_config: Optional[Dict[str, Any]] = None, + is_marlin: bool = False, +): + if override_config: + config = override_config + else: + # First try to load optimal config from the file + E, _, N = w2_shape + configs = get_moe_configs(E, N, dtype) + + if configs: + # If an optimal configuration map has been found, look up the + # optimal config + config = configs[min(configs.keys(), key=lambda x: abs(x - M))] + else: + # Else use the default config + config = get_default_config(M, E, N, w1_shape[2], top_k, dtype, + is_marlin) + return config + + def fused_topk( hidden_states: torch.Tensor, gating_output: torch.Tensor, @@ -384,20 +625,69 @@ def fused_topk( topk, dtype=torch.int32, device=hidden_states.device) + moe_kernels.topk_softmax( topk_weights, topk_ids, token_expert_indicies, gating_output.float(), # TODO(woosuk): Optimize this. ) - # print('topk_weights: ', topk_weights.shape) del token_expert_indicies # Not used. Will be used in the future. if renormalize: topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + return topk_weights, topk_ids +# This is used by the Deepseek-V2 model +def grouped_topk(hidden_states: torch.Tensor, + gating_output: torch.Tensor, + topk: int, + renormalize: bool, + num_expert_group: int = 0, + topk_group: int = 0): + + assert hidden_states.shape[0] == gating_output.shape[0], ( + "Number of tokens mismatch") + + scores = torch.softmax(gating_output, dim=-1) + num_token = scores.shape[0] + group_scores = scores.view(num_token, num_expert_group, + -1).max(dim=-1).values # [n, n_group] + group_idx = torch.topk(group_scores, k=topk_group, dim=-1, + sorted=False)[1] # [n, top_k_group] + group_mask = torch.zeros_like(group_scores) # [n, n_group] + group_mask.scatter_(1, group_idx, 1) # [n, n_group] + score_mask = group_mask.unsqueeze(-1).expand( + num_token, num_expert_group, + scores.shape[-1] // num_expert_group).reshape(num_token, -1) # [n, e] + tmp_scores = scores.masked_fill(~score_mask.bool(), 0.0) # [n, e] + topk_weights, topk_ids = torch.topk(tmp_scores, + k=topk, + dim=-1, + sorted=False) + + if renormalize: + topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + + return topk_weights.to(torch.float32), topk_ids.to(torch.int32) + + +def get_config_dtype_str(dtype: torch.dtype, + use_int8_w8a16: Optional[bool] = False, + use_fp8_w8a8: Optional[bool] = False): + if use_fp8_w8a8: + return "fp8_w8a8" + elif use_int8_w8a16: + return "int8_w8a16" + elif dtype == torch.float: + # avoiding cases where kernel fails when float32 MoE + # use fp16/bfloat16 configs + return "float32" + return None + + def fused_experts(hidden_states: torch.Tensor, w1: torch.Tensor, w2: torch.Tensor, @@ -405,21 +695,13 @@ def fused_experts(hidden_states: torch.Tensor, topk_ids: torch.Tensor, inplace: bool = False, override_config: Optional[Dict[str, Any]] = None, - use_fp8: bool = False, + use_fp8_w8a8: bool = False, + use_int8_w8a16: bool = False, w1_scale: Optional[torch.Tensor] = None, w2_scale: Optional[torch.Tensor] = None, a1_scale: Optional[torch.Tensor] = None, a2_scale: Optional[torch.Tensor] = None): - # if int(os.environ.get("LOCAL_RANK", "0"))==0: - # print(f'{hidden_states.shape=}') - # print(f'{hidden_states=}') - # print('w1: ', w1.shape) - # print('w2: ', w2.shape) - # print(f'{topk_ids=}') - # print(f'{topk_weights=}') # Check constraints. - #print("hidenSize:", hidden_states.shape) - #print("hidenSize:", w1.shape[2]) assert hidden_states.shape[1] == w1.shape[2] - padding_size, "Hidden size mismatch" assert topk_weights.shape == topk_ids.shape, "topk shape mismatch" assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" @@ -429,177 +711,112 @@ def fused_experts(hidden_states: torch.Tensor, torch.float32, torch.float16, torch.bfloat16 ] - M, _ = hidden_states.shape + num_tokens, _ = hidden_states.shape E, N, _ = w1.shape + # We execute the fused_moe kernel in chunks to circumvent this issue: + # https://github.com/vllm-project/vllm/issues/5938 + CHUNK_SIZE = VLLM_FUSED_MOE_CHUNK_SIZE + M = min(num_tokens, CHUNK_SIZE) + config_dtype = get_config_dtype_str(use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, + dtype=hidden_states.dtype) + + get_config_func = functools.partial( + try_get_optimal_moe_config, + w1.shape, + (w2.shape[0], w2.shape[1], w2.shape[2] - padding_size), + topk_ids.shape[1], + config_dtype, + override_config=override_config, + ) - if override_config: - config = override_config - else: - # First try to load optimal config from the file - configs = get_moe_configs(E, w2.shape[2] - padding_size, - "float8" if use_fp8 else None) + config = get_config_func(M) - if configs: - # If an optimal configuration map has been found, look up the - # optimal config - config = configs[min(configs.keys(), key=lambda x: abs(x - M))] - else: - # Else use the default config - config = { - "BLOCK_SIZE_M": 64, - "BLOCK_SIZE_N": 64, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 8, - } - - if M <= E: - config = { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 32, - "BLOCK_SIZE_K": 64, - "GROUP_SIZE_M": 1, - } - - intermediate_cache1 = torch.empty( - (M, topk_ids.shape[1], N), - device=hidden_states.device, - dtype=hidden_states.dtype, - ) - intermediate_cache2 = torch.empty( - (M * topk_ids.shape[1], N // 2), - device=hidden_states.device, - dtype=hidden_states.dtype, - ) - intermediate_cache3 = torch.empty( - (M, topk_ids.shape[1], w2.shape[1]), - device=hidden_states.device, - dtype=hidden_states.dtype, - ) + intermediate_cache1 = torch.empty((M, topk_ids.shape[1], N), + device=hidden_states.device, + dtype=hidden_states.dtype) + intermediate_cache2 = torch.empty((M * topk_ids.shape[1], N // 2), + device=hidden_states.device, + dtype=hidden_states.dtype) + intermediate_cache3 = torch.empty((M, topk_ids.shape[1], w2.shape[1]), + device=hidden_states.device, + dtype=hidden_states.dtype) compute_type = (tl.bfloat16 if hidden_states.dtype == torch.bfloat16 else tl.float16) - #print(hidden_states.shape) - #print(intermediate_cache2.shape) - #print("M1:", hidden_states.shape[0], "M2:", intermediate_cache2.shape[0]) - #if hidden_states.shape[0] <= 256 and hidden_states.shape[1] % 8 == 0 and intermediate_cache2.shape[0] <= 256 and not use_fp8 : - - #WVSPLTK_M_THRSHLD = 64 - #m_blck_sz = -(-(M*topk_ids.shape[1]*3)//E) # target 75% of expert distribution for this M size - #if (m_blck_sz >= 12): - # m_blck_sz = 16 - - m_blck_sz = 32 # all calls go to wvSplitK_mfma16x16 - - #if hidden_states.shape[0] <= WVSPLTK_M_THRSHLD \ - # and hidden_states.shape[1] % 8 == 0 \ - # and intermediate_cache2.shape[0] <= WVSPLTK_M_THRSHLD \ - # and intermediate_cache2.shape[1] % 8 == 0 \ - # and not use_fp8 : - if 0: - #print("M:", M, " M_BLOCK PICKED:", m_blck_sz) - sorted_token_ids, expert_ids, num_tokens_post_padded = moe_align_block_size( - topk_ids, m_blck_sz, E) # target 75% of expert distribution for this M size - #topk_ids, config2['BLOCK_SIZE_M'],E) - #print("\nsrtd_tkn:", sorted_token_ids) - #print("w1Shape:",w1.shape) - print('sorted_token_ids: ', sorted_token_ids, sorted_token_ids.shape) - print('expert_ids: ', expert_ids) - print('num_tokens_post_padded: ', num_tokens_post_padded) - - #env VLLM_MOE_MFMASWIZZLE does this swizzle on init - w1_ = w1 - w2_ = w2 - if not envs.VLLM_MOE_MFMASWIZZLE : - if m_blck_sz >= 16 : - w1_ = torch.clone(w1) - w1_ = w1_.view(w1.shape[0], w1.shape[1]//16, 16, w1.shape[2]//128, 16, 8); - w1_ = w1_.permute(0, 1, 4, 3, 2, 5) - w1_ = w1_.contiguous() - w1_ = w1_.view(w1.shape[0],w1.shape[1],w1.shape[2]); - w2_ = torch.clone(w2) - w2_ = w2_.view(w2.shape[0], w2.shape[1]//16, 16, w2.shape[2]//128, 16, 8); - w2_ = w2_.permute(0, 1, 4, 3, 2, 5) - w2_ = w2_.contiguous() - w2_ = w2_.view(w2.shape[0],w2.shape[1],w2.shape[2]); - - #print(w1_) - - invoke_mega_fused_moe_kernel(hidden_states, - w1_, - intermediate_cache1, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - m_blck_sz, - False, - topk_ids.shape[1], - use_fp8=use_fp8) - #print("shdr_invk1:",intermediate_cache1.view(-1, N)) - moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) - #print("shdr_silu:",intermediate_cache2) - #print("shdr_silu_shape:", intermediate_cache2.shape) - #print("-----------------------------") - - invoke_mega_fused_moe_kernel(intermediate_cache2, - w2_, - intermediate_cache3, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - m_blck_sz, - True, - 1, - use_fp8=use_fp8) + if inplace: + out_hidden_states = hidden_states else: - sorted_token_ids, expert_ids, num_tokens_post_padded = moe_align_block_size( - topk_ids, config['BLOCK_SIZE_M'], E) - invoke_fused_moe_kernel(hidden_states, - w1, - intermediate_cache1, - a1_scale, - w1_scale, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - False, - topk_ids.shape[1], - config, - compute_type=compute_type, - use_fp8=use_fp8) + out_hidden_states = torch.empty_like(hidden_states) + + for chunk in range((num_tokens // CHUNK_SIZE) + 1): + begin_chunk_idx, end_chunk_idx = (chunk * CHUNK_SIZE, + min((chunk + 1) * CHUNK_SIZE, + num_tokens)) + curr_hidden_states = hidden_states[begin_chunk_idx:end_chunk_idx] + tokens_in_chunk, _ = curr_hidden_states.shape + + if tokens_in_chunk == 0: + break + + if tokens_in_chunk < CHUNK_SIZE and chunk > 0: + # Adjust the intermediate cache size and config for the last + # chunk. Note that in most cases we only have one chunk + # so the cache size and config are already set correctly and + # do not need to be adjusted. + intermediate_cache1 = intermediate_cache1[:tokens_in_chunk] + intermediate_cache2 = intermediate_cache2[:tokens_in_chunk] + intermediate_cache3 = intermediate_cache3[:tokens_in_chunk] + config = get_config_func(tokens_in_chunk) + + curr_topk_ids = topk_ids[begin_chunk_idx:end_chunk_idx] + curr_topk_weights = topk_weights[begin_chunk_idx:end_chunk_idx] + + sorted_token_ids, expert_ids, num_tokens_post_padded = ( + moe_align_block_size(curr_topk_ids, config['BLOCK_SIZE_M'], E)) + + invoke_fused_moe_kernel(curr_hidden_states, + w1, + intermediate_cache1, + a1_scale, + w1_scale, + curr_topk_weights, + curr_topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + False, + topk_ids.shape[1], + config, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) invoke_fused_moe_kernel(intermediate_cache2, - w2, - intermediate_cache3, - a2_scale, - w2_scale, - topk_weights, - topk_ids, - sorted_token_ids, - expert_ids, - num_tokens_post_padded, - True, - 1, - config, - compute_type=compute_type, - use_fp8=use_fp8) - - if inplace: - return torch.sum( - intermediate_cache3.view(*intermediate_cache3.shape), - dim=1, - out=hidden_states, - ) - return torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), - dim=1) + w2, + intermediate_cache3, + a2_scale, + w2_scale, + curr_topk_weights, + curr_topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + True, + 1, + config, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) + + torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), + dim=1, + out=out_hidden_states[begin_chunk_idx:end_chunk_idx]) + + return out_hidden_states def fused_moe( @@ -611,7 +828,12 @@ def fused_moe( renormalize: bool, inplace: bool = False, override_config: Optional[Dict[str, Any]] = None, - use_fp8: bool = False, + use_grouped_topk: bool = False, + num_expert_group: Optional[int] = None, + topk_group: Optional[int] = None, + custom_routing_function: Optional[Callable] = None, + use_fp8_w8a8: bool = False, + use_int8_w8a16: bool = False, w1_scale: Optional[torch.Tensor] = None, w2_scale: Optional[torch.Tensor] = None, a1_scale: Optional[torch.Tensor] = None, @@ -633,7 +855,13 @@ def fused_moe( Defaults to False. - override_config (Optional[Dict[str, Any]]): Optional override for the kernel configuration. - - use_fp8 (bool): If True, use fp8 arithmetic to compute the inner + - num_expert_group: Optional[int]: additional parameter for grouped_topk + - topk_group: Optional[int]: additional parameter for grouped_topk + - use_grouped_topk: If True, use grouped_topk instead of fused_topk + note: Deepseekv2 model uses grouped_topk + - use_fp8_w8a8 (bool): If True, use fp8 arithmetic to compute the inner + products for w1 and w2. Defaults to False. + - use_int8_w8a16 (bool): If True, use fp8 arithmetic to compute the inner products for w1 and w2. Defaults to False. - w1_scale (Optional[torch.Tensor]): Optional scale to be used for w1. @@ -646,8 +874,18 @@ def fused_moe( # Check constraints. assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" - topk_weights, topk_ids = fused_topk(hidden_states, gating_output, topk, - renormalize) + if use_grouped_topk: + assert num_expert_group is not None and topk_group is not None + topk_weights, topk_ids = grouped_topk(hidden_states, gating_output, + topk, renormalize, + num_expert_group, topk_group) + elif custom_routing_function is None: + topk_weights, topk_ids = fused_topk(hidden_states, gating_output, topk, + renormalize) + else: + topk_weights, topk_ids = custom_routing_function( + hidden_states, gating_output, topk, renormalize) + return fused_experts(hidden_states, w1, w2, @@ -655,7 +893,8 @@ def fused_moe( topk_ids, inplace=inplace, override_config=override_config, - use_fp8=use_fp8, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, w1_scale=w1_scale, w2_scale=w2_scale, a1_scale=a1_scale, From 6ffa0ad0d064677da0d819a41f2653d94b8e4123 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 28 Sep 2024 19:02:21 +0800 Subject: [PATCH 14/50] add fused_add_rms_norm --- .../configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json | 0 .../configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json | 0 .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json (100%) rename byte_infer_perf/llm_perf/backends/ROCM/{fused_moe => rocm_kernels}/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json (100%) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1024,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json similarity index 100% rename from byte_infer_perf/llm_perf/backends/ROCM/fused_moe/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json rename to byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=2048,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 1c8af28f0..55560e759 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -8,7 +8,7 @@ import triton import triton.language as tl -import moeKernels as moe_kernels +import rocmKernels as moe_kernels # import vllm.envs as envs # from vllm import _custom_ops as moe_kernels # from vllm.logger import init_logger From c4f8b8f9ae3f65493b71815c09115a7b73075a4e Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 28 Sep 2024 21:41:18 +0800 Subject: [PATCH 15/50] enable shuffle/LDS bypass --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 2 +- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 24ae3995c..09f3a438d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -84,7 +84,7 @@ def infusion_to_model(self): w2_weight[j, :] = self.state_dict[f"model.layers.{i}.block_sparse_moe.experts.{j}.w2.weight"] w13_weight = w13_weight.view(self.model_config.num_local_experts, 2*ffn_dim, hidden_dim) - if bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))): + if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 55560e759..a51a4f68a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -20,7 +20,7 @@ # padding_size = 128 if envs.VLLM_MOE_PADDING else 0 padding_size = 128 FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 From c7ba512d068ae619efd4b2c25b9f6a563aa781a9 Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Tue, 1 Oct 2024 21:02:05 +0000 Subject: [PATCH 16/50] added explicit padding --- .../backends/ROCM/model_impl/rocm_mixtral.py | 26 ++++++++++--------- .../backends/ROCM/rocm_kernels/fused_moe.py | 10 ++++--- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 09f3a438d..ef0394f4a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -21,9 +21,9 @@ class GPUMixtralLoader(GpuCkptLoader): def __init__( - self, - model : MixtralForCausalLM, - model_config : MixtralConfig, + self, + model : MixtralForCausalLM, + model_config : MixtralConfig, ckpt_path : str = "" ): mp_size = int(os.environ.get("WORLD_SIZE", "1")) @@ -40,7 +40,7 @@ def parallel_loader(self): if self.mp_rank == 0: print(f"{model_dir} not exists or is not a directory") return - + split_model_dir = model_dir.joinpath(f"TP{self.mp_size}") if not split_model_dir.exists() or not split_model_dir.is_dir(): if self.mp_rank == 0: @@ -49,7 +49,7 @@ def parallel_loader(self): model_loader = Mixtral_ModelLoader(split_model_dir / f"device_{self.mp_rank}") self.state_dict = model_loader.load_weight() - + def infusion_to_model(self): self.model.model.embed_tokens.weight = self.to_parameter(self.state_dict["model.embed_tokens.weight"]) for i in range(self.model_config.num_hidden_layers): @@ -87,9 +87,11 @@ def infusion_to_model(self): if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) - w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) - w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) - torch.cuda.empty_cache() + if bool(int(os.getenv("VLLM_MOE_PADDING", "1"))): + w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) + torch.cuda.empty_cache() + w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) + torch.cuda.empty_cache() self.model.model.layers[i].block_sparse_moe.w13_weight = self.to_parameter(w13_weight) self.model.model.layers[i].block_sparse_moe.w2_weight = self.to_parameter(w2_weight) @@ -129,7 +131,7 @@ def __init__(self, xpu_cfg: Dict[str, Any]) -> None: self.transformer_model : MixtralForCausalLM = None - + def init_inference(self): torch.cuda.set_device(self.local_rank) @@ -151,7 +153,7 @@ def init_inference(self): check_memory_usage("After build model") self.load_weight(self.model_path) - + check_memory_usage("After load_weight") self.transformer_model.cuda() @@ -190,11 +192,11 @@ def init_kvcache(self, dtype): value_cache = torch.empty(kv_shape, dtype=dtype, device=cur_device) past_key_values += ((key_cache, value_cache),) return past_key_values - + def forward(self, inputs : Dict[str, torch.Tensor]): model_outputs = self.transformer_model.forward( - **inputs, + **inputs, past_key_values=self.kv_cache ) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index a51a4f68a..3d5588b0b 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -17,12 +17,12 @@ import logging logger = logging.getLogger(__name__) # logger = init_logger(__name__) -# padding_size = 128 if envs.VLLM_MOE_PADDING else 0 -padding_size = 128 +VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "0"))) FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) -print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}') +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, , {VLLM_MOE_PADDING=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 +padding_size = 128 if VLLM_MOE_PADDING else 0 @triton.jit @@ -750,6 +750,7 @@ def fused_experts(hidden_states: torch.Tensor, else: out_hidden_states = torch.empty_like(hidden_states) + # print("init config:", config) for chunk in range((num_tokens // CHUNK_SIZE) + 1): begin_chunk_idx, end_chunk_idx = (chunk * CHUNK_SIZE, min((chunk + 1) * CHUNK_SIZE, @@ -769,6 +770,7 @@ def fused_experts(hidden_states: torch.Tensor, intermediate_cache2 = intermediate_cache2[:tokens_in_chunk] intermediate_cache3 = intermediate_cache3[:tokens_in_chunk] config = get_config_func(tokens_in_chunk) + # print("inside config:", config) curr_topk_ids = topk_ids[begin_chunk_idx:end_chunk_idx] curr_topk_weights = topk_weights[begin_chunk_idx:end_chunk_idx] From 9debce6184b3c1b1785bde109c7f7694013390db Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 4 Oct 2024 15:54:08 +0800 Subject: [PATCH 17/50] add tuned_gemm --- .../ROCM/model_impl/modeling_mixtral.py | 42 +- .../backends/ROCM/rocm_kernels/csrc/custom.cu | 78 + .../ROCM/rocm_kernels/csrc/custom_kernels.cu | 1309 +++++++++++++++++ .../ROCM/rocm_kernels/csrc/moe_ops.cpp | 9 +- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 15 +- .../backends/ROCM/rocm_kernels/tuned_gemm.py | 139 ++ 6 files changed, 1573 insertions(+), 19 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index bdcae1e46..e17533796 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -57,6 +57,7 @@ from ..rocm_kernels.fused_moe import fused_moe import rocmKernels as ops +from ..rocm_kernels.tuned_gemm import tgemm if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -300,6 +301,27 @@ def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) +class Linear(nn.Module): + def __init__(self, in_features, out_features, bias=True, dtype=None): + super().__init__() + self.in_features = in_features + self.out_features = out_features + self.weight = nn.Parameter(torch.empty(out_features, in_features, dtype=dtype)) + if bias: + self.bias = nn.Parameter(torch.empty(out_features, dtype=dtype)) + else: + self.register_parameter("bias", None) + self.reset_parameters() + + def reset_parameters(self): + nn.init.xavier_uniform_(self.weight) + if self.bias is not None: + nn.init.zeros_(self.bias) + + def forward(self, x): + # return F.linear(x, self.weight, self.bias) + return tgemm.mm(x, self.weight, self.bias) + # Copied from transformers.models.mistral.modeling_mistral.MistralAttention with Mistral->Mixtral class MixtralAttention(nn.Module): """ @@ -337,10 +359,10 @@ def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}" f" and `num_heads`: {self.num_heads})." ) - self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim // self.mp_size, bias=False) - self.k_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) - self.v_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) - self.o_proj = nn.Linear(self.num_heads * self.head_dim // self.mp_size, self.hidden_size, bias=False) + self.q_proj = Linear(self.hidden_size, self.num_heads * self.head_dim // self.mp_size, bias=False) + self.k_proj = Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) + self.v_proj = Linear(self.hidden_size, self.num_key_value_heads * self.head_dim // self.mp_size, bias=False) + self.o_proj = Linear(self.num_heads * self.head_dim // self.mp_size, self.hidden_size, bias=False) self.rotary_emb = MixtralRotaryEmbedding( self.head_dim, @@ -877,9 +899,9 @@ def __init__(self, config: MixtralConfig): self.ffn_dim = config.intermediate_size self.hidden_dim = config.hidden_size - self.w1 = nn.Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) - self.w2 = nn.Linear(self.ffn_dim // self.mp_size, self.hidden_dim, bias=False) - self.w3 = nn.Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) + self.w1 = Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) + self.w2 = Linear(self.ffn_dim // self.mp_size, self.hidden_dim, bias=False) + self.w3 = Linear(self.hidden_dim, self.ffn_dim // self.mp_size, bias=False) self.act_fn = ACT2FN[config.hidden_act] @@ -917,7 +939,7 @@ def __init__(self, config): self.top_k = config.num_experts_per_tok # gating - self.gate = nn.Linear(self.hidden_dim, self.num_experts, bias=False) + self.gate = Linear(self.hidden_dim, self.num_experts, bias=False) # self.experts = nn.ModuleList([MixtralBlockSparseTop2MLP(config) for _ in range(self.num_experts)]) @@ -1081,7 +1103,7 @@ class MixtralPreTrainedModel(PreTrainedModel): def _init_weights(self, module): std = self.config.initializer_range - if isinstance(module, nn.Linear): + if isinstance(module, Linear): module.weight.data.normal_(mean=0.0, std=std) if module.bias is not None: module.bias.data.zero_() @@ -1262,7 +1284,7 @@ def __init__(self, config): self.model = MixtralModel(config) self.vocab_size = config.vocab_size - self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.lm_head = Linear(config.hidden_size, config.vocab_size, bias=False) self.router_aux_loss_coef = config.router_aux_loss_coef self.num_experts = config.num_local_experts self.num_experts_per_tok = config.num_experts_per_tok diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu new file mode 100644 index 000000000..a01d9a284 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom.cu @@ -0,0 +1,78 @@ +#include +#include +#include + +// declare templates for front (cpp) and back (cuda) sides of function: +// template + +// void LLGemm_Silu(void* in_a, void* in_b, void* out_c, const int M, const int K, +// cudaStream_t stream, const int rows_per_block); +// void LLMM_Silu(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, +// const int64_t rows_per_block) { +// auto M = in_a.size(0); +// auto K = in_a.size(1); +// LLGemm_Silu(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, +// at::cuda::getCurrentCUDAStream(), rows_per_block); +// } + +void LLGemm1(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int rows_per_block); + +// template +void LLMM1(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, + const int64_t rows_per_block) { + auto M = in_a.size(0); + auto K = in_a.size(1); + // if (N != in_b.numel()) + // throw std::invalid_argument("Size mismatch A.numel(): " + + // std::to_string(in_a.numel()) + // + ", B.numel(): " + + // std::to_string(in_b.numel())); + + // out_c.resize_({N}); + + // call the kernel function... + LLGemm1(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, + at::cuda::getCurrentCUDAStream(), rows_per_block); +} + +void wvSpltK_(void* in_a, void* in_b, void* out_c, const int M, const int K, + const int N, cudaStream_t stream, const int CuCount); + +void wvSpltK(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, + const int64_t N_in, const int64_t CuCount) { + auto M = in_a.size(0); + auto K = in_a.size(1); + int N = N_in; + wvSpltK_(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, N, + at::cuda::getCurrentCUDAStream(), CuCount); +} + +void LLGemmZZ(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int solidx); + +void LLZZ(at::Tensor in_a, at::Tensor in_b, at::Tensor out_c, + const int64_t solidx = 0) { + auto M = in_a.size(0); + auto K = in_a.size(1); + + LLGemmZZ(in_a.data_ptr(), in_b.data_ptr(), out_c.data_ptr(), M, K, + at::cuda::getCurrentCUDAStream(), solidx); +} +// instantiate the CPP template for T=float: +// template void AddGPU(at::Tensor in_a, at::Tensor in_b, at::Tensor +// out_c); + +void MMGPUKernel(float* in_a, float* in_b, float* out_c, int numARows, + int numAColumns, int numBRows, int numBColumns, int numCRows, + int numCColumns, cudaStream_t stream); + +void MMCustomGPU(at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c) { + auto matA_sizes{in_a.sizes()}; + auto matB_sizes{in_b.sizes()}; + auto matO_sizes{out_c.sizes()}; + MMGPUKernel(in_a.data_ptr(), in_b.data_ptr(), + out_c.data_ptr(), matA_sizes[0], matA_sizes[1], + matB_sizes[0], matB_sizes[1], matO_sizes[0], matO_sizes[1], + at::cuda::getCurrentCUDAStream()); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu new file mode 100644 index 000000000..c9eb32c48 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_kernels.cu @@ -0,0 +1,1309 @@ +#include +#include +#include +#include +#include "hip_compat.h" + +#if defined(__HIPCC__) && (defined(__gfx90a__) || defined(__gfx940__) || \ + defined(__gfx941__) || defined(__gfx942__)) + #define __HIP__MI300_MI250__ +#endif + +#if defined(NDEBUG) + #undef NDEBUG + #include + #define UNREACHABLE_CODE assert(false); + #define NDEBUG +#else + #define UNREACHABLE_CODE assert(false); +#endif + +template +__device__ __forceinline__ T loadnt(T* addr) { + return __builtin_nontemporal_load(addr); +} + +__device__ __forceinline__ float4 load_ntmprl(const float4* addr) { + auto addr_alias = reinterpret_cast(addr); + auto dat0 = loadnt(addr_alias); + auto dat1 = loadnt(addr_alias + 1); + auto dat2 = loadnt(addr_alias + 2); + auto dat3 = loadnt(addr_alias + 3); + // auto dat0 = *(addr_alias); + // auto dat1 = *(addr_alias+1); + // auto dat2 = *(addr_alias+2); + // auto dat3 = *(addr_alias+3); + return make_float4(dat0, dat1, dat2, dat3); +} + +// TBlock fetches entire rows of A, and entire col of B (K dimension); assume +// N=1 for time being grid is M/A_NUM_ROWS blocks +template +__global__ void LLGemm1_kernel(float4* af4, __half2* bf4, __half2* c, + const int K) { + __shared__ float red_smem[NUM_A_ROWS_PER_BLOCK][WARP_SIZE]; + const int row_addr = blockIdx.x * NUM_A_ROWS_PER_BLOCK * K / 8; + const int threadid = threadIdx.x; + const int warp = threadIdx.x / WARP_SIZE; + const int lane = threadIdx.x % WARP_SIZE; + const int num_warps = blockDim.x / WARP_SIZE; + const int qwarpid = threadid / 16; + const int qthreadid = threadid % 16; + float4 rowA_elem4[NUM_A_ROWS_PER_BLOCK]; + __half2 colB_elem4x, colB_elem4y, colB_elem4z, colB_elem4w; + float4 sum4; //[NUM_A_ROWS_PER_BLOCK]; + float acc[NUM_A_ROWS_PER_BLOCK] = {0.0}; + __half2 acch2; + __half2 oval; + + // As we later use warp shuffle operations, we may have more threads in the + // block than the actual available data, hence the if guard here. + if (threadid * 8 < K) { +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + // rowA_elem4[i] holds 8 * half numbers seen as a single float4. + rowA_elem4[i] = load_ntmprl(&af4[row_addr + threadid + K / 8 * i]); + } + } + + colB_elem4x = bf4[threadid * 4 + 0]; + colB_elem4y = bf4[threadid * 4 + 1]; + colB_elem4z = bf4[threadid * 4 + 2]; + colB_elem4w = bf4[threadid * 4 + 3]; + + __half2 Af2; + __half2 Bf2; + float2 S; + + auto Ah2ptr = reinterpret_cast<__half2*>(&rowA_elem4); + __half2* ah2lptr; + +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + // Multiply-add on 8 half. + ah2lptr = Ah2ptr + i * 4; + Af2 = *(ah2lptr); + acch2 = __hmul2(Af2, colB_elem4x); + Af2 = *(ah2lptr + 1); + acch2 = __hfma2(Af2, colB_elem4y, acch2); + Af2 = *(ah2lptr + 2); + acch2 = __hfma2(Af2, colB_elem4z, acch2); + Af2 = *(ah2lptr + 3); + acch2 = __hfma2(Af2, colB_elem4w, acch2); + S = __half22float2(acch2); + + // See comment above concerning the if guard. + if (threadid * 8 < K) { + acc[i] = S.x + S.y; // accumulation on float + } + } + +// all reduce across warp. +#pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + acc[i] += __shfl_xor(acc[i], mask); + } + } + + // Warp leaders store the data to shared memory. + if (lane < NUM_A_ROWS_PER_BLOCK) { + red_smem[lane][warp] = acc[lane]; + } + + // Make sure the data is in shared memory. + __syncthreads(); + + if (qwarpid < NUM_A_ROWS_PER_BLOCK) { + acc[qwarpid] = qthreadid < num_warps ? red_smem[qwarpid][qthreadid] : 0.f; +#pragma unroll + for (int mask = 16 / 2; mask >= 1; mask /= 2) { + acc[qwarpid] += __shfl_xor(acc[qwarpid], mask); + } + float oval2 = __shfl_xor(acc[qwarpid], 16); + + if (threadid % WARP_SIZE == 0 or threadid % WARP_SIZE == 32) { + oval = __float22half2_rn(make_float2(acc[qwarpid], oval2)); + c[blockIdx.x * NUM_A_ROWS_PER_BLOCK / 2 + qwarpid / 2] = oval; + } + } +} + +// define the kernel calling code: +// template +void LLGemm1(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int rows_per_block = 4) { + float4* af4 = reinterpret_cast(in_a); + auto* bf4 = reinterpret_cast<__half2*>(in_b); + auto* c = reinterpret_cast<__half2*>(out_c); + + // NUM_TREADS need to be a multiple of WARP_SIZE, as we are using warp shuffle + // operations. + const int NUM_THREADS = + K * 2 / 16 % WARP_SIZE == 0 + ? K * 2 / 16 + : K * 2 / 16 + (WARP_SIZE - K * 2 / 16 % WARP_SIZE); + + int NUM_BLOCKS = M / rows_per_block; + + if (rows_per_block == 2) { + LLGemm1_kernel<2><<>>(af4, bf4, c, K); + } else if (rows_per_block == 4) { + LLGemm1_kernel<4><<>>(af4, bf4, c, K); + } else if (rows_per_block == 8) { + LLGemm1_kernel<8><<>>(af4, bf4, c, K); + } else if (rows_per_block == 16) { + LLGemm1_kernel<16><<>>(af4, bf4, c, K); + } else { + NUM_BLOCKS = M / 4; + LLGemm1_kernel<4><<>>(af4, bf4, c, K); + } + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} + +// instantiate the kernel template for T=float: +// template void AddGPUKernel(float *in_a, float *in_b, float *out_c, +// const int M, const int K, cudaStream_t stream); + +const unsigned int TILE_WIDTH = 32; + +// Compute C = A * B +__global__ void matrixMultiplyShared(float* A, float* B, float* C, int numARows, + int numAColumns, int numBRows, + int numBColumns, int numCRows, + int numCColumns) { + __shared__ float sA[TILE_WIDTH][TILE_WIDTH]; // Tile size of 32x32 + __shared__ float sB[TILE_WIDTH][TILE_WIDTH]; + + int Row = blockDim.y * blockIdx.y + threadIdx.y; + int Col = blockDim.x * blockIdx.x + threadIdx.x; + float Cvalue = 0.0; + sA[threadIdx.y][threadIdx.x] = 0.0; + sB[threadIdx.y][threadIdx.x] = 0.0; + + for (int ph = 0; ph < (((numAColumns - 1) / TILE_WIDTH) + 1); ph++) { + if ((Row < numARows) && (threadIdx.x + (ph * TILE_WIDTH)) < numAColumns) { + sA[threadIdx.y][threadIdx.x] = + A[(Row * numAColumns) + threadIdx.x + (ph * TILE_WIDTH)]; + } else { + sA[threadIdx.y][threadIdx.x] = 0.0; + } + if (Col < numBColumns && (threadIdx.y + ph * TILE_WIDTH) < numBRows) { + sB[threadIdx.y][threadIdx.x] = + B[(threadIdx.y + ph * TILE_WIDTH) * numBColumns + Col]; + } else { + sB[threadIdx.y][threadIdx.x] = 0.0; + } + __syncthreads(); + for (int j = 0; j < TILE_WIDTH; ++j) { + Cvalue += sA[threadIdx.y][j] * sB[j][threadIdx.x]; + } + } + if (Row < numCRows && Col < numCColumns) { + C[Row * numCColumns + Col] = Cvalue; + } +} + +void MMGPUKernel(float* in_a, float* in_b, float* out_c, int numARows, + int numAColumns, int numBRows, int numBColumns, int numCRows, + int numCColumns, cudaStream_t stream) { + // Initialize the grid and block dimensions + dim3 dimBlock(TILE_WIDTH, TILE_WIDTH, 1); + dim3 dimGrid((numCColumns / TILE_WIDTH) + 1, (numCRows / TILE_WIDTH) + 1, 1); + //@@ Launch the GPU Kernel here + matrixMultiplyShared<<>>( + in_a, in_b, out_c, numARows, numAColumns, numBRows, numBColumns, numCRows, + numCColumns); + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} + +template +__global__ __launch_bounds__(512) void HGEMV_WFPerRow( + int m, int n, const _Float16* A, int lda, const _Float16* x, _Float16* y) { + int num_row_per_block = CTA / nThreads_per_row; + int row_id = (blockIdx.x * num_row_per_block + threadIdx.y) * MT0; + int inc = (gridDim.x * num_row_per_block) * MT0; + + while (row_id < m) { + float2 sum2[MT0]; + +#pragma unroll + for (int i = 0; i < MT0; ++i) { + sum2[i] = {0.0, 0.0}; + } + + for (int j = threadIdx.x; j < n; j += (nThreads_per_row * MT1)) { + bool is_active = j < n; + if (is_active) { + float2 x2[MT1 >> 1]; +#pragma unroll + for (int offset = 0; offset < MT1; offset += 2) { + x2[offset >> 1] = {x[j + nThreads_per_row * offset], + x[j + nThreads_per_row * (offset + 1)]}; + } + float2 a2[MT0][MT1 >> 1]; +#pragma unroll + for (int i = 0; i < MT0; i++) { +#pragma unroll + for (int offset = 0; offset < MT1; offset += 2) { + a2[i][offset >> 1] = { + A[(row_id + i) * n + j + nThreads_per_row * offset], + A[(row_id + i) * n + j + nThreads_per_row * (offset + 1)]}; + } + } + +#pragma unroll + for (int i = 0; i < MT0; i++) { +#pragma unroll + for (int offset = 0; offset < (MT1 >> 1); offset++) { + sum2[i] += a2[i][offset] * x2[offset]; + } + } + } + } + float sum[MT0]; +#pragma unroll + for (int i = 0; i < MT0; i++) { + sum[i] = sum2[i].x + sum2[i].y; + } + +#pragma unroll + for (int i = 0; i < MT0; i++) { +#pragma unroll + for (int offset = nThreads_per_row >> 1; offset >= 1; + offset = offset >> 1) { + sum[i] += __shfl_down(sum[i], offset, nThreads_per_row); + } + } + if (threadIdx.x == 0) { +#pragma unroll + for (int i = 0; i < MT0; i++) { + y[row_id + i] = sum[i]; + } + } + row_id += inc; + } +} + +void LLGemmZZ(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int solidx = 0) { + // m -> M, n-> K + dim3 grid(1024); + dim3 block(64, 8); + if (solidx == 0) { + HGEMV_WFPerRow<64, 512, 4, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } else if (solidx == 1) { + HGEMV_WFPerRow<64, 512, 2, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } else if (solidx == 2) { + HGEMV_WFPerRow<64, 512, 1, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } else { + HGEMV_WFPerRow<64, 512, 4, 8><<>>( + M, K, reinterpret_cast(in_a), K, + reinterpret_cast(in_b), + reinterpret_cast<_Float16*>(out_c)); + } + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} + +///////////////////////////////////////////// + +#define DTYPE half + +__device__ __forceinline__ int mindiv(int N, int div1, int div2) { + int nPrRnd = div1 * div2; + int rnds0 = N / nPrRnd; + nPrRnd -= div1 * 3; + int rnds3 = N / nPrRnd; + nPrRnd -= div1; + int rnds4 = N / nPrRnd; + nPrRnd -= div1; + int rnds5 = N / nPrRnd; + nPrRnd -= div1; + int rnds6 = N / nPrRnd; + nPrRnd -= div1; + int rnds7 = N / nPrRnd; + nPrRnd -= div1; + int rnds8 = N / nPrRnd; + nPrRnd -= div1; + int rnds9 = N / nPrRnd; + nPrRnd -= div1; + int rtn = div2; + if (rnds0 == rnds3) rtn = div2 - 3; + if (rnds0 == rnds4) rtn = div2 - 4; + if (rnds0 == rnds5) rtn = div2 - 5; + if (rnds0 == rnds6) rtn = div2 - 6; + if (rnds0 == rnds7) rtn = div2 - 7; + if (rnds0 == rnds8) rtn = div2 - 8; + if (rnds0 == rnds9) rtn = div2 - 9; + return rtn; +} + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support +// This version targets cases where A[] fits LDS capacity +template +__global__ void __launch_bounds__(WvPrGrp* THRDS) + wvSpltK_hf_sml_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, const int CuCount) { + using half8 = + __attribute__((__vector_size__((A_CHUNK / 2) * sizeof(float)))) float; + union bigType { + DTYPE h[A_CHUNK]; + float f[A_CHUNK / 2]; + float2 f2[A_CHUNK / 4]; + double d[A_CHUNK / 4]; + half8 h8; + }; + + //---------------------------------------------------- + // Reserving 64 KB of LDS to have 1 WG / CU + // Goal is to bring the activation matrix A to the LDS + // and use it across the lifetime of the work group + // TODO: When activation matrix is larger than 64 KB + // then this is not goint to work! + //---------------------------------------------------- + __shared__ half s[1024 * 32]; + + //---------------------------------------------------- + // Computation of columns that need to be committed to memory! + //---------------------------------------------------- + // uint32_t commitColumn[YTILE]; + // for (uint32_t i = 0; i < YTILE; i++) { + // commitColumn[i] = 1; + //} + + // It's worth trying to load-balance... + int _WvPrGrp = mindiv(N, CuCount * YTILE, WvPrGrp); + + //---------------------------------------------------- + // Indexing function into the column of weight matrix B + // Algorithm does 64 lane k-splitting / wave and uses + // WG ID and Thread ID to find the index. + //---------------------------------------------------- + uint32_t n = (blockIdx.x * _WvPrGrp + threadIdx.y) * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + // if (n < N && (n + YTILE) >= N) { + // uint32_t startColumn = N - YTILE; + // for (uint32_t i = 0; i < (n - startColumn); i++) { + // commitColumn[i] = 0; + // } + // n = startColumn; + //} + + //---------------------------------------------------- + // Fetch the activation matrix to LDS + // Loop iteration: + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements + // - Each WG will fetch 512 * 16 => 8K elements + // - Then the WG will move to another 8 K elements + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k = 0; k < min(K * M, 32 * 1024); + k += THRDS * WvPrGrp * A_CHUNK) { + uint32_t k_in = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + + // Transpose of A implementation + // uint32_t k_ot = (k_in / M) + (k_in % M) * K; // transopse for + // bank-conflict-free readback + + if (k_in >= min(K * M, 32 * 1024)) break; + + //((bigType*)(&s[k_in]))->b128 = ((bigType*)(&A[k_in]))->b128; + *((bigType*)(&s[k_in])) = *((bigType*)(&A[k_in])); + //((bigType*)(&s[k_ot]))->b128 = ((bigType*)(&A[k_in]))->b128; + } + __syncthreads(); + + if (threadIdx.y >= _WvPrGrp) return; + + float sum[M][YTILE]; + + //---------------------------------------------------- + // Each wave works on a single column of weight matrix. + // There are 16 waves per WG, and hence, each WG is + // working on 16 columns of weight matrix. Moreover, + // we tile in column direction by YTILE, so when YTILE=1 + // the above math is right, however, when YTILE=2 then + // each wave will be working on 2 columns and WG will + // be working on 32 columns. + // + // Top level loop that makes WGs persistent! + // - WGs iterates across columns of weight matrix + // - Each wave within WG works on a given column(s) + // - After completing first set of columns, WGs start + // working on the next set of available columns + //---------------------------------------------------- + while (n < N) { + //---------------------------------------------------- + // 'sum' accumulates the matrix A x B computation + // split across 64 lanes. + // + // YTILE represents how many column of weight matrix + // are being worked on by each wave. + //---------------------------------------------------- + for (int i = 0; i < YTILE; i++) + for (int m = 0; m < M; m++) sum[m][i] = 0; + + bigType bigA[M][UNRL]; + bigType bigB0[UNRL]; + bigType bigB1[UNRL]; + bigType bigB2[UNRL]; + bigType bigB3[UNRL]; + bigType bigB4[UNRL]; + bigType bigB5[UNRL]; + bigType bigB6[UNRL]; + bigType bigB7[UNRL]; + //---------------------------------------------------- + // Fetch weight matrix B in interleaved K-split! + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements (1024B) + // - YTILE represents the number of column being serviced + // by wave + // - Loop for fetching weight matrix (B) are unrolled + // + // Fetch activation matrix A from LDS + // - Loop for fetching activation matrix (A) are unrolled + // + // Finally, do the matrix multiplication in an unrolled + // fashion. This provides lot of food for compiler + // scheduling. + // + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k1 = 0; k1 < K; k1 += THRDS * A_CHUNK * UNRL) { + // Fetch the weight matrix from memory! + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + const half* B_ = &B[(n + 0) * K + k_]; + bigB0[k2].h8 = (loadnt((half8*)(&B_[0 * K]))); + //---------------------------------------------------- + // The following code with YTILE > 1 has to be deleted + //---------------------------------------------------- + if (YTILE >= 2) bigB1[k2].h8 = (loadnt((half8*)(&B_[1 * K]))); + if (YTILE >= 3) bigB2[k2].h8 = (loadnt((half8*)(&B_[2 * K]))); + if (YTILE >= 4) bigB3[k2].h8 = (loadnt((half8*)(&B_[3 * K]))); + if (YTILE >= 5) bigB4[k2].h8 = (loadnt((half8*)(&B_[4 * K]))); + if (YTILE >= 6) bigB5[k2].h8 = (loadnt((half8*)(&B_[5 * K]))); + if (YTILE >= 7) bigB6[k2].h8 = (loadnt((half8*)(&B_[6 * K]))); + if (YTILE >= 8) bigB7[k2].h8 = (loadnt((half8*)(&B_[7 * K]))); + } + + // Fetch activation matrix from either just LDS or from both LDS / memory + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + // Fetch A activation matrix in interleaved fashion from LDS or memory + + for (int m = 0; m < M; m++) { + // if (k_ + K * m < 32 * 1024) + bigA[m][k2] = *((const bigType*)(&(s[k_ + K * m]))); + // else + // bigA[m][k2] = *((const bigType*)(&(A[k_ + K * m]))); + } + } + + // Do the matrix multiplication in interleaved manner + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + // Do the matrix multiplication of activation and weight matrix + // - Remember the accumulation is happening for K-split of 64! + #pragma unroll + for (uint32_t m = 0; m < M; m++) { + #pragma unroll + for (uint32_t b = 0; b < A_CHUNK / 2; b++) { + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][0]) + : "0"(sum[m][0]), "v"(bigA[m][k2].f[b]), "v"(bigB0[k2].f[b])); + + //---------------------------------------------------- + // The following code with YTILE > 1 + //---------------------------------------------------- + if (YTILE >= 2) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][1]) + : "0"(sum[m][1]), "v"(bigA[m][k2].f[b]), "v"(bigB1[k2].f[b])); + if (YTILE >= 3) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][2]) + : "0"(sum[m][2]), "v"(bigA[m][k2].f[b]), "v"(bigB2[k2].f[b])); + if (YTILE >= 4) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][3]) + : "0"(sum[m][3]), "v"(bigA[m][k2].f[b]), "v"(bigB3[k2].f[b])); + if (YTILE >= 5) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][4]) + : "0"(sum[m][4]), "v"(bigA[m][k2].f[b]), "v"(bigB4[k2].f[b])); + if (YTILE >= 6) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][5]) + : "0"(sum[m][5]), "v"(bigA[m][k2].f[b]), "v"(bigB5[k2].f[b])); + if (YTILE >= 7) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][6]) + : "0"(sum[m][6]), "v"(bigA[m][k2].f[b]), "v"(bigB6[k2].f[b])); + if (YTILE >= 8) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][7]) + : "0"(sum[m][7]), "v"(bigA[m][k2].f[b]), "v"(bigB7[k2].f[b])); + } + } + } + } + + //---------------------------------------------------- + // Final reduction step using shuffle + //---------------------------------------------------- + for (int m = 0; m < M; m++) { + for (int y = 0; y < YTILE; y++) { + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:8 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:4 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:2 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 wave_shr:1 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:15 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:31 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + } + } + if (threadIdx.x == 63) { + for (int m = 0; m < M; m++) { + for (int i = 0; i < YTILE; i++) { + // if (commitColumn[i]) C[n + i + m * N] = __float2half(sum[m][i]); + C[n + i + m * N] = __float2half(sum[m][i]); + } + } + } + + n += CuCount * _WvPrGrp * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + // if (n < N && (n + YTILE) >= N) { + // uint32_t startColumn = N - YTILE; + // for (uint32_t i = 0; i < (n - startColumn); i++) { + // commitColumn[i] = 0; + // } + // n = startColumn; + //} + } +} +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support +template +__global__ void wvSpltK_hf_sml_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, + const int CuCount) { + UNREACHABLE_CODE +} +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support +// This version targets cases where A[] marginally exceeds LDS capacity +template +__global__ void __launch_bounds__(WvPrGrp* THRDS) + wvSpltK_hf_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, const int CuCount) { + using half8 = + __attribute__((__vector_size__((A_CHUNK / 2) * sizeof(float)))) float; + union bigType { + DTYPE h[A_CHUNK]; + float f[A_CHUNK / 2]; + float2 f2[A_CHUNK / 4]; + double d[A_CHUNK / 4]; + half8 h8; + }; + + //---------------------------------------------------- + // Reserving 64 KB of LDS to have 1 WG / CU + // Goal is to bring the activation matrix A to the LDS + // and use it across the lifetime of the work group + // TODO: When activation matrix is larger than 64 KB + // then this is not goint to work! + //---------------------------------------------------- + __shared__ half s[1024 * 32]; + + //---------------------------------------------------- + // Computation of columns that need to be committed to memory! + //---------------------------------------------------- + uint32_t commitColumn[YTILE]; + for (uint32_t i = 0; i < YTILE; i++) { + commitColumn[i] = 1; + } + + // It's worth trying to load-balance... + int _WvPrGrp = mindiv(N, CuCount * YTILE, WvPrGrp); + + //---------------------------------------------------- + // Indexing function into the column of weight matrix B + // Algorithm does 64 lane k-splitting / wave and uses + // WG ID and Thread ID to find the index. + //---------------------------------------------------- + uint32_t n = (blockIdx.x * _WvPrGrp + threadIdx.y) * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + + //---------------------------------------------------- + // Fetch the activation matrix to LDS + // Loop iteration: + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements + // - Each WG will fetch 512 * 16 => 8K elements + // - Then the WG will move to another 8 K elements + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k = 0; k < min(K * M, 32 * 1024); + k += THRDS * WvPrGrp * A_CHUNK) { + uint32_t k_in = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + + // Transpose of A implementation + // uint32_t k_ot = (k_in / M) + (k_in % M) * K; // transopse for + // bank-conflict-free readback + + if (k_in >= min(K * M, 32 * 1024)) break; + + //((bigType*)(&s[k_in]))->b128 = ((bigType*)(&A[k_in]))->b128; + *((bigType*)(&s[k_in])) = *((bigType*)(&A[k_in])); + //((bigType*)(&s[k_ot]))->b128 = ((bigType*)(&A[k_in]))->b128; + } + __syncthreads(); + + if (threadIdx.y >= _WvPrGrp) return; + + float sum[M][YTILE]; + + //---------------------------------------------------- + // Each wave works on a single column of weight matrix. + // There are 16 waves per WG, and hence, each WG is + // working on 16 columns of weight matrix. Moreover, + // we tile in column direction by YTILE, so when YTILE=1 + // the above math is right, however, when YTILE=2 then + // each wave will be working on 2 columns and WG will + // be working on 32 columns. + // + // Top level loop that makes WGs persistent! + // - WGs iterates across columns of weight matrix + // - Each wave within WG works on a given column(s) + // - After completing first set of columns, WGs start + // working on the next set of available columns + //---------------------------------------------------- + while (n < N) { + //---------------------------------------------------- + // 'sum' accumulates the matrix A x B computation + // split across 64 lanes. + // + // YTILE represents how many column of weight matrix + // are being worked on by each wave. + //---------------------------------------------------- + for (int i = 0; i < YTILE; i++) + for (int m = 0; m < M; m++) sum[m][i] = 0; + + bigType bigA[M][UNRL]; + bigType bigB0[UNRL]; + bigType bigB1[UNRL]; + bigType bigB2[UNRL]; + bigType bigB3[UNRL]; + bigType bigB4[UNRL]; + bigType bigB5[UNRL]; + bigType bigB6[UNRL]; + bigType bigB7[UNRL]; + bigType bigB8[UNRL]; + //---------------------------------------------------- + // Fetch weight matrix B in interleaved K-split! + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements (1024B) + // - YTILE represents the number of column being serviced + // by wave + // - Loop for fetching weight matrix (B) are unrolled + // + // Fetch activation matrix A from LDS + // - Loop for fetching activation matrix (A) are unrolled + // + // Finally, do the matrix multiplication in an unrolled + // fashion. This provides lot of food for compiler + // scheduling. + // + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k1 = 0; k1 < K; k1 += THRDS * A_CHUNK * UNRL) { + // Fetch the weight matrix from memory! + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + const half* B_ = &B[(n + 0) * K + k_]; + bigB0[k2].h8 = (loadnt((half8*)(&B_[0 * K]))); + //---------------------------------------------------- + // The following code with YTILE > 1 has to be deleted + //---------------------------------------------------- + if (YTILE >= 2) bigB1[k2].h8 = (loadnt((half8*)(&B_[1 * K]))); + if (YTILE >= 3) bigB2[k2].h8 = (loadnt((half8*)(&B_[2 * K]))); + if (YTILE >= 4) bigB3[k2].h8 = (loadnt((half8*)(&B_[3 * K]))); + if (YTILE >= 5) bigB4[k2].h8 = (loadnt((half8*)(&B_[4 * K]))); + if (YTILE >= 6) bigB5[k2].h8 = (loadnt((half8*)(&B_[5 * K]))); + if (YTILE >= 7) bigB6[k2].h8 = (loadnt((half8*)(&B_[6 * K]))); + if (YTILE >= 8) bigB7[k2].h8 = (loadnt((half8*)(&B_[7 * K]))); + } + + // Fetch activation matrix from either just LDS or from both LDS / memory + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + // Fetch A activation matrix in interleaved fashion from LDS or memory + + for (int m = 0; m < M; m++) { + if (k_ + K * m < 32 * 1024) + bigA[m][k2] = *((const bigType*)(&(s[k_ + K * m]))); + else + bigA[m][k2] = *((const bigType*)(&(A[k_ + K * m]))); + } + } + + // Do the matrix multiplication in interleaved manner + #pragma unroll + for (uint32_t m = 0; m < M; m++) { + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + // Do the matrix multiplication of activation and weight matrix + // - Remember the accumulation is happening for K-split of 64! + #pragma unroll + for (uint32_t b = 0; b < A_CHUNK / 2; b++) { + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][0]) + : "0"(sum[m][0]), "v"(bigA[m][k2].f[b]), "v"(bigB0[k2].f[b])); + + //---------------------------------------------------- + // The following code with YTILE > 1 + //---------------------------------------------------- + if (YTILE >= 2) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][1]) + : "0"(sum[m][1]), "v"(bigA[m][k2].f[b]), "v"(bigB1[k2].f[b])); + if (YTILE >= 3) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][2]) + : "0"(sum[m][2]), "v"(bigA[m][k2].f[b]), "v"(bigB2[k2].f[b])); + if (YTILE >= 4) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][3]) + : "0"(sum[m][3]), "v"(bigA[m][k2].f[b]), "v"(bigB3[k2].f[b])); + if (YTILE >= 5) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][4]) + : "0"(sum[m][4]), "v"(bigA[m][k2].f[b]), "v"(bigB4[k2].f[b])); + if (YTILE >= 6) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][5]) + : "0"(sum[m][5]), "v"(bigA[m][k2].f[b]), "v"(bigB5[k2].f[b])); + if (YTILE >= 7) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][6]) + : "0"(sum[m][6]), "v"(bigA[m][k2].f[b]), "v"(bigB6[k2].f[b])); + if (YTILE >= 8) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][7]) + : "0"(sum[m][7]), "v"(bigA[m][k2].f[b]), "v"(bigB7[k2].f[b])); + } + } + } + } + + //---------------------------------------------------- + // Final reduction step using shuffle + //---------------------------------------------------- + for (int m = 0; m < M; m++) { + for (int y = 0; y < YTILE; y++) { + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:8 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:4 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:2 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 wave_shr:1 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:15 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:31 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + } + } + + if (threadIdx.x == 63) { + for (int m = 0; m < M; m++) { + for (int i = 0; i < YTILE; i++) { + if (commitColumn[i]) C[n + i + m * N] = __float2half(sum[m][i]); + } + } + } + + n += CuCount * _WvPrGrp * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + } +} + +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support +template +__global__ void wvSpltK_hf_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, + const int CuCount) { + UNREACHABLE_CODE +} +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support +// This version targets big A[] cases, where it is much larger than LDS capacity +template +__global__ void __launch_bounds__(WvPrGrp* THRDS) + wvSpltK_hf_big_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, const int CuCount) { + using half8 = + __attribute__((__vector_size__((A_CHUNK / 2) * sizeof(float)))) float; + + union bigType { + DTYPE h[A_CHUNK]; + float f[A_CHUNK / 2]; + float2 f2[A_CHUNK / 4]; + double d[A_CHUNK / 4]; + half8 h8; + }; + + //---------------------------------------------------- + // Reserving 64 KB of LDS to have 1 WG / CU + // Goal is to bring the activation matrix A to the LDS + // and use it across the lifetime of the work group + // TODO: When activation matrix is larger than 64 KB + // then this is not goint to work! + //---------------------------------------------------- + __shared__ half s[1024 * 32]; + + //---------------------------------------------------- + // Computation of columns that need to be committed to memory! + //---------------------------------------------------- + uint32_t commitColumn[YTILE]; + for (uint32_t i = 0; i < YTILE; i++) { + commitColumn[i] = 1; + } + + // It's worth trying to load-balance... + int _WvPrGrp = mindiv(N, CuCount * YTILE, WvPrGrp); + if (threadIdx.y >= _WvPrGrp) return; + + //---------------------------------------------------- + // Indexing function into the column of weight matrix B + // Algorithm does 64 lane k-splitting / wave and uses + // WG ID and Thread ID to find the index. + //---------------------------------------------------- + uint32_t n = (blockIdx.x * _WvPrGrp + threadIdx.y) * YTILE; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + + //---------------------------------------------------- + // Fetch the activation matrix to LDS + // Loop iteration: + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements + // - Each WG will fetch 512 * 16 => 8K elements + // - Then the WG will move to another 8 K elements + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + #define PCML + #ifndef PCML + for (uint32_t k = 0; k < min(K * M, 32 * 1024); + k += THRDS * WvPrGrp * A_CHUNK) { + uint32_t k_in = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + + // Transpose of A implementation + // uint32_t k_ot = (k_in / M) + (k_in % M) * K; // transopse for + // bank-conflict-free readback + + if (k_in >= min(K * M, 32 * 1024)) break; + + //((bigType*)(&s[k_in]))->b128 = ((bigType*)(&A[k_in]))->b128; + *((bigType*)(&s[k_in])) = *((bigType*)(&A[k_in])); + //((bigType*)(&s[k_ot]))->b128 = ((bigType*)(&A[k_in]))->b128; + } + __syncthreads(); + #endif + + #define TUC (THRDS * UNRL * A_CHUNK) + uint32_t kBase = 0; + // find biggest k size that fits in LDS + uint32_t kFit = (32 * 1024) / M; + // kFit = (kFit%TWC==0) ? kFit : (kFit-kFit%TWC+TWC); //round up to multiple + // of TUC + kFit = (kFit % TUC == 0) + ? kFit + : (kFit - kFit % TUC); // round up to multiple of TUC + // if (kFit == 0) kFit = TUC; + kFit = min(kFit, K); + + float sum[M][YTILE]; + + //---------------------------------------------------- + // Each wave works on a single column of weight matrix. + // There are 16 waves per WG, and hence, each WG is + // working on 16 columns of weight matrix. Moreover, + // we tile in column direction by YTILE, so when YTILE=1 + // the above math is right, however, when YTILE=2 then + // each wave will be working on 2 columns and WG will + // be working on 32 columns. + // + // Top level loop that makes WGs persistent! + // - WGs iterates across columns of weight matrix + // - Each wave within WG works on a given column(s) + // - After completing first set of columns, WGs start + // working on the next set of available columns + //---------------------------------------------------- + #ifdef PCML + int YW = (YTILE * _WvPrGrp); + uint32_t Nrndp = (N % YW == 0) ? N : (N - N % YW + YW); + while (n < Nrndp) { + #else + while (n < N) { + #endif + //---------------------------------------------------- + // 'sum' accumulates the matrix A x B computation + // split across 64 lanes. + // + // YTILE represents how many column of weight matrix + // are being worked on by each wave. + //---------------------------------------------------- + for (int i = 0; i < YTILE; i++) + for (int m = 0; m < M; m++) sum[m][i] = 0; + + bigType bigA[M][UNRL]; + bigType bigB0[UNRL]; + bigType bigB1[UNRL]; + bigType bigB2[UNRL]; + bigType bigB3[UNRL]; + bigType bigB4[UNRL]; + bigType bigB5[UNRL]; + bigType bigB6[UNRL]; + bigType bigB7[UNRL]; + bigType bigB8[UNRL]; + bigType bigB9[UNRL]; + bigType bigB10[UNRL]; + //---------------------------------------------------- + // Fetch weight matrix B in interleaved K-split! + // - Each thread (lane) is fetching 8 elements (A_Chunk) + // - Each wave will fetch 64*8=> 512 elements (1024B) + // - YTILE represents the number of column being serviced + // by wave + // - Loop for fetching weight matrix (B) are unrolled + // + // Fetch activation matrix A from LDS + // - Loop for fetching activation matrix (A) are unrolled + // + // Finally, do the matrix multiplication in an unrolled + // fashion. This provides lot of food for compiler + // scheduling. + // + // TODO: Logic below will only work when K is multiple of 8 + //---------------------------------------------------- + for (uint32_t k1 = 0; k1 < K; k1 += THRDS * A_CHUNK * UNRL) { + #ifdef PCML + if ((k1 == 0) || (k1 == kBase + kFit)) { // load next chunk of A[] to LDS + if (k1 != 0) kBase += kFit; + __syncthreads(); + for (uint32_t k = 0; k < kFit; k += THRDS * _WvPrGrp * A_CHUNK) { + uint32_t kOff = k + ((threadIdx.y * THRDS + threadIdx.x) * A_CHUNK); + if (kBase + kOff >= K) break; + if (kOff >= kFit) break; + for (uint32_t m = 0; m < M; m++) { + uint32_t k_in = kBase + m * K + kOff; + uint32_t k_ot = m * kFit + kOff; + *((bigType*)(&s[k_ot])) = *((bigType*)(&A[k_in])); + } + } + __syncthreads(); + } + if (n >= N) continue; + #endif + + // Fetch the weight matrix from memory! + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + const half* B_ = &B[(n + 0) * K + k_]; + bigB0[k2].h8 = (loadnt((half8*)(&B_[0 * K]))); + //---------------------------------------------------- + // The following code with YTILE > 1 has to be deleted + //---------------------------------------------------- + if (YTILE >= 2) bigB1[k2].h8 = (loadnt((half8*)(&B_[1 * K]))); + if (YTILE >= 3) bigB2[k2].h8 = (loadnt((half8*)(&B_[2 * K]))); + if (YTILE >= 4) bigB3[k2].h8 = (loadnt((half8*)(&B_[3 * K]))); + if (YTILE >= 5) bigB4[k2].h8 = (loadnt((half8*)(&B_[4 * K]))); + if (YTILE >= 6) bigB5[k2].h8 = (loadnt((half8*)(&B_[5 * K]))); + if (YTILE >= 7) bigB6[k2].h8 = (loadnt((half8*)(&B_[6 * K]))); + if (YTILE >= 8) bigB7[k2].h8 = (loadnt((half8*)(&B_[7 * K]))); + } + + // Fetch activation matrix from either just LDS or from both LDS / memory + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + + // Fetch A activation matrix in interleaved fashion from LDS or memory + + for (int m = 0; m < M; m++) { + #ifdef PCML + bigA[m][k2] = *((const bigType*)(&(s[k_ - kBase + kFit * m]))); + #else + if (k_ + K * m < 32 * 1024) + bigA[m][k2] = *((const bigType*)(&(s[k_ + K * m]))); + else + bigA[m][k2] = *((const bigType*)(&(A[k_ + K * m]))); + #endif + } + } + + // Do the matrix multiplication in interleaved manner + #pragma unroll + for (uint32_t k2 = 0; k2 < UNRL; k2++) { + uint32_t k = k1 + k2 * THRDS * A_CHUNK; + uint32_t k_ = k + threadIdx.x * A_CHUNK; + if (k_ >= K) break; + #pragma unroll + for (uint32_t m = 0; m < M; m++) { + // Do the matrix multiplication of activation and weight matrix + // - Remember the accumulation is happening for K-split of 64! + #pragma unroll + for (uint32_t b = 0; b < A_CHUNK / 2; b++) { + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][0]) + : "0"(sum[m][0]), "v"(bigA[m][k2].f[b]), "v"(bigB0[k2].f[b])); + + //---------------------------------------------------- + // The following code with YTILE > 1 + //---------------------------------------------------- + if (YTILE >= 2) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][1]) + : "0"(sum[m][1]), "v"(bigA[m][k2].f[b]), "v"(bigB1[k2].f[b])); + if (YTILE >= 3) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][2]) + : "0"(sum[m][2]), "v"(bigA[m][k2].f[b]), "v"(bigB2[k2].f[b])); + if (YTILE >= 4) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][3]) + : "0"(sum[m][3]), "v"(bigA[m][k2].f[b]), "v"(bigB3[k2].f[b])); + if (YTILE >= 5) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][4]) + : "0"(sum[m][4]), "v"(bigA[m][k2].f[b]), "v"(bigB4[k2].f[b])); + if (YTILE >= 6) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][5]) + : "0"(sum[m][5]), "v"(bigA[m][k2].f[b]), "v"(bigB5[k2].f[b])); + if (YTILE >= 7) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][6]) + : "0"(sum[m][6]), "v"(bigA[m][k2].f[b]), "v"(bigB6[k2].f[b])); + if (YTILE >= 8) + asm("v_dot2c_f32_f16 %0, %2, %3" + : "=v"(sum[m][7]) + : "0"(sum[m][7]), "v"(bigA[m][k2].f[b]), "v"(bigB7[k2].f[b])); + } + } + } + } + + #ifdef PCML + if (n >= N) { + n += CuCount * _WvPrGrp * YTILE; + kBase = 0; + continue; + } + #endif + + //---------------------------------------------------- + // Final reduction step using shuffle + //---------------------------------------------------- + for (int m = 0; m < M; m++) { + for (int y = 0; y < YTILE; y++) { + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:8 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:4 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_shr:2 bound_ctrl:0 " + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 wave_shr:1 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:15 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + asm("s_nop 0\n\tv_add_f32 %0, %2, %3 row_bcast:31 bound_ctrl:0" + : "=v"(sum[m][y]) + : "0"(sum[m][y]), "v"(sum[m][y]), "v"(sum[m][y])); + } + } + + if (threadIdx.x == 63) { + for (int m = 0; m < M; m++) { + for (int i = 0; i < YTILE; i++) { + if (commitColumn[i]) C[n + i + m * N] = __float2half(sum[m][i]); + } + } + } + + n += CuCount * _WvPrGrp * YTILE; + kBase = 0; + + // Check whether there will be fragmenation! + // This will happen only for the last wave! + if (n < N && (n + YTILE) >= N) { + uint32_t startColumn = N - YTILE; + for (uint32_t i = 0; i < (n - startColumn); i++) { + commitColumn[i] = 0; + } + n = startColumn; + } + } +} +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support +template +__global__ void wvSpltK_hf_big_(const int K, const int N, const DTYPE* B, + const DTYPE* __restrict__ A, DTYPE* C, + const int CuCount) { + UNREACHABLE_CODE +} +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +void wvSpltK_(void* in_a, void* in_b, void* out_c, const int M_in, + const int K_in, const int N_in, cudaStream_t stream, + const int CuCount = 0) { + dim3 grid(CuCount); + half* af4 = reinterpret_cast(in_a); + const half* bf4 = reinterpret_cast(in_b); + auto* c = reinterpret_cast(out_c); + +#define WVSPLTK(_WvPrGrp, _YTILEs, _YTILEm, _YTILEb, _UNRLs, _UNRLm, _UNRLb, \ + _N) \ + { \ + dim3 block(64, _WvPrGrp); \ + /*wvSpltK_hf:*/ \ + if ((K_in * N_in <= 32 * 1024) && (M_in % _YTILEs == 0)) { \ + wvSpltK_hf_sml_<64, _YTILEs, _WvPrGrp, 8, _UNRLs, _N> \ + <<>>(K_in, M_in, af4, bf4, c, CuCount); \ + } else if (K_in * N_in <= 32 * 1024 * 1.2) { \ + wvSpltK_hf_<64, _YTILEm, _WvPrGrp, 8, _UNRLm, _N> \ + <<>>(K_in, M_in, af4, bf4, c, CuCount); \ + } else { \ + wvSpltK_hf_big_<64, _YTILEb, _WvPrGrp, 8, _UNRLb, _N> \ + <<>>(K_in, M_in, af4, bf4, c, CuCount); \ + } \ + } + + switch (N_in) { + case 1: + WVSPLTK(16, 2, 2, 2, 2, 2, 2, 1) // MI308 + break; + case 2: + WVSPLTK(16, 2, 2, 2, 2, 2, 2, 2) // MI308 + break; + case 3: + WVSPLTK(16, 4, 7, 7, 1, 1, 1, 3) // MI308 + break; + case 4: + WVSPLTK(16, 4, 7, 7, 1, 1, 1, 4) // MI308 + break; + default: + throw std::runtime_error("Unsupported N value: " + std::to_string(M_in) + + "," + std::to_string(K_in) + "," + + std::to_string(N_in)); + } + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) { + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); + } +} \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp index fde86cee9..88700a2c6 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp @@ -2,13 +2,16 @@ #include -PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) +{ m.def("topk_softmax", &topk_softmax, "Apply topk softmax to the gating outputs."); m.def("moe_align_block_size", &moe_align_block_size, - "Aligning the number of tokens to be processed by each expert such " - "that it is divisible by the block size."); + "Aligning the number of tokens to be processed by each expert such " + "that it is divisible by the block size."); m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); + m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," + " int CuCount) -> ()"); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 0d1cf1a74..37a23c072 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -2,9 +2,9 @@ #include -void topk_softmax(torch::Tensor& topk_weights, torch::Tensor& topk_indices, - torch::Tensor& token_expert_indices, - torch::Tensor& gating_output); +void topk_softmax(torch::Tensor &topk_weights, torch::Tensor &topk_indices, + torch::Tensor &token_expert_indices, + torch::Tensor &gating_output); void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, int64_t block_size, torch::Tensor sorted_token_ids, @@ -13,8 +13,11 @@ void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, void silu_and_mul(torch::Tensor &out, torch::Tensor &input); -void rms_norm(torch::Tensor& out, torch::Tensor& input, torch::Tensor& weight, +void rms_norm(torch::Tensor &out, torch::Tensor &input, torch::Tensor &weight, double epsilon); -void fused_add_rms_norm(torch::Tensor& input, torch::Tensor& residual, - torch::Tensor& weight, double epsilon); \ No newline at end of file +void fused_add_rms_norm(torch::Tensor &input, torch::Tensor &residual, + torch::Tensor &weight, double epsilon); + +void wvSpltK(at::Tensor &in_a, at::Tensor &in_b, at::Tensor &out_c, + const int64_t N_in, const int64_t CuCount); \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py new file mode 100644 index 000000000..94483b305 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/tuned_gemm.py @@ -0,0 +1,139 @@ +import os +from pathlib import Path + +import pandas as pd +import torch +import torch.nn.functional as F +# from hipbsolidxgemm import hipb_create_extension, hipb_mm +# from rocsolidxgemm import rocb_create_extension, rocb_mm + +import rocmKernels as ops +# from vllm import _custom_ops as ops +# from vllm.envs import VLLM_USE_ROCM_SKINNY_GEMM +# from vllm.utils import is_hip + + +class TunedGemm: + + def __init__(self): + #rocb_create_extension() + #hipb_create_extension() + self.extensions_created = False + self.save_gemm = int(os.environ.get('VLLM_TUNE_GEMM', 0)) + self.untune_path = os.environ.get('VLLM_UNTUNE_FILE', + "/tmp/vllm_untuned.csv") + self.tune_path = os.environ.get('VLLM_TUNE_FILE', "tuned.csv") + self.bestsols = {} + self.load_best_sols() + self.create_ds() + self.cu_count = torch.cuda.get_device_properties( + device='cuda').multi_processor_count + + # self.use_skinny = is_hip() and VLLM_USE_ROCM_SKINNY_GEMM and \ + # "gfx1" not in torch.cuda.get_device_properties('cuda').gcnArchName + self.use_skinny = True + + if (self.save_gemm == 1): + self.tuned_df = pd.DataFrame( + columns=['M', 'N', 'K', 'bias', 'dtype']) + else: + self.tuned_df = None + + def load_best_sols(self): + if self.tune_path is not None and Path(self.tune_path).is_file(): + self.bestsols = pd.read_csv(self.tune_path) + + def create_ds(self): + df: pd.DataFrame = self.bestsols + solds = {} + for i in range(len(df)): + ds = df.iloc[i] + key = (ds['M'], ds['N'], ds['K'], ds['bias'], ds['dtype']) + if ds['libtype'] == 'hipblaslt': + soltype = 1 + elif ds['libtype'] == 'rocblas': + soltype = 2 + solds[key] = (soltype, int(ds['solidx'])) + self.solids = solds + #print('>>>',solds) + def query_sol(self, m, n, k, bias, dtype): + return self.solids.get((m, n, k, bias, str(dtype)), (0, 0)) + + def apply_skinny(self, m, n, k, inp_view, weights): + if not self.use_skinny: + return None + if inp_view.dtype != torch.float16 or k % 8 != 0: + return None + if m > 8 and 0 < n <= 4: + out = torch.empty(inp_view.shape[0], + weights.shape[0], + dtype=inp_view.dtype, + device='cuda') + ops.wvSpltK(weights, inp_view, out, n, self.cu_count) + return out + elif m % 4 == 0 and n == 1 and k <= 8192: + out = torch.empty(inp_view.shape[0], + weights.shape[0], + dtype=inp_view.dtype, + device='cuda') + ops.LLMM1(weights, inp_view, out, 4) + return out + else: + return None + + def mm(self, inp, weights, bias=None): + # F.Linear can take a 3 dimensional input. vllm + # uses this for linear units. However, sampler + # will use torch.matmul with 2 dimensions only + if inp.dim() == 3: + inp_view = inp.view(-1, inp.size(-1)) + batched = True + else: + inp_view = inp + batched = False + if self.extensions_created is False: + # rocb_create_extension() + # hipb_create_extension() + self.extensions_created = True + m = weights.shape[0] + n = inp_view.shape[0] + k = inp_view.shape[1] + use_bias = bias is not None + soltype, solidx = self.query_sol(m=m, + n=n, + k=k, + bias=use_bias, + dtype=inp.dtype) + out = self.apply_skinny(m, n, k, inp_view, weights) + if out is not None: + if batched: + out = out.view(inp.shape[0], inp.shape[1], weights.shape[0]) + if bias is not None: + return out + bias + return out + elif soltype == 1: + out = hipb_mm(inp_view, weights.t(), solidx, bias=bias) + elif soltype == 2: + out = rocb_mm(inp_view, weights.t(), solidx) + if bias is not None: + out = out + bias + else: + if (self.save_gemm == 1): + self.tuned_df = pd.concat([ + self.tuned_df, + pd.DataFrame({ + 'M': [m], + 'N': [n], + 'K': [k], + 'bias': [bias is not None], + 'dtype': [inp.dtype], + }) + ]).drop_duplicates() + self.tuned_df.to_csv(self.untune_path, index=False) + return F.linear(inp, weights, bias) + if batched: + out = out.view(inp.shape[0], inp.shape[1], weights.shape[0]) + return out + + +tgemm = TunedGemm() From 6196a72c7849b50b362983400186f6a2c4d5e8e1 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 4 Oct 2024 16:09:33 +0800 Subject: [PATCH 18/50] aligh default behaviar, default enable LDS_BYPASS , disable MOE_PADDING --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 2 +- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index ef0394f4a..673723ad5 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -87,7 +87,7 @@ def infusion_to_model(self): if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) - if bool(int(os.getenv("VLLM_MOE_PADDING", "1"))): + if bool(int(os.getenv("VLLM_MOE_PADDING", "0"))): w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) torch.cuda.empty_cache() w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 3d5588b0b..0bea93ca8 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -19,8 +19,8 @@ # logger = init_logger(__name__) VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "0"))) FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) -ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "0"))) -print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, , {VLLM_MOE_PADDING=}') +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, {VLLM_MOE_PADDING=}') VLLM_FUSED_MOE_CHUNK_SIZE = 65536 padding_size = 128 if VLLM_MOE_PADDING else 0 From 76f13332a4e3b19f03e1f2ab84343f90c8c00e9b Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 5 Oct 2024 22:50:16 +0800 Subject: [PATCH 19/50] add fused_rope --- .../ROCM/model_impl/modeling_mixtral.py | 21 +- .../ROCM/rocm_kernels/csrc/moe_ops.cpp | 22 +- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 12 +- .../rocm_kernels/csrc/pos_encoding_kernels.cu | 203 ++++ .../ROCM/rocm_kernels/rotary_embedding.py | 1008 +++++++++++++++++ 5 files changed, 1250 insertions(+), 16 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index e17533796..5fe3e8b01 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -58,6 +58,7 @@ from ..rocm_kernels.fused_moe import fused_moe import rocmKernels as ops from ..rocm_kernels.tuned_gemm import tgemm +from ..rocm_kernels.rotary_embedding import get_rope if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -369,6 +370,13 @@ def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): max_position_embeddings=self.max_position_embeddings, base=self.rope_theta, ) + self.rotary_emb_fused = get_rope( + self.head_dim, + rotary_dim=self.head_dim, + max_position=self.max_position_embeddings, + base=int(self.rope_theta), + is_neox_style=True, + ) self.num_heads = self.num_heads // self.mp_size self.num_key_value_heads = self.num_key_value_heads // self.mp_size @@ -794,9 +802,6 @@ def forward( key_states = self.k_proj(hidden_states) value_states = self.v_proj(hidden_states) - query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) - key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) - value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) is_context = kwargs.get("is_context") valid_slot_ids = kwargs.get("valid_slot_ids") @@ -808,9 +813,15 @@ def forward( # kv_seq_len = key_states.shape[-2] # if past_key_value is not None: # kv_seq_len += past_key_value.get_usable_length(kv_seq_len, self.layer_idx) - cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) - query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + # fused rope + query_states, key_states = self.rotary_emb_fused(position_ids, query_states, key_states) + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + # # old rope + # cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) + # query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) # if past_key_value is not None: # cache_kwargs = {"sin": sin, "cos": cos} # Specific to RoPE models diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp index 88700a2c6..dcb747c9e 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp @@ -4,14 +4,16 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { - m.def("topk_softmax", &topk_softmax, - "Apply topk softmax to the gating outputs."); - m.def("moe_align_block_size", &moe_align_block_size, - "Aligning the number of tokens to be processed by each expert such " - "that it is divisible by the block size."); - m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); - m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); - m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); - m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," - " int CuCount) -> ()"); + m.def("topk_softmax", &topk_softmax, + "Apply topk softmax to the gating outputs."); + m.def("moe_align_block_size", &moe_align_block_size, + "Aligning the number of tokens to be processed by each expert such " + "that it is divisible by the block size."); + m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); + m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); + m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); + m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," + " int CuCount) -> ()"); + m.def("rotary_embedding", &rotary_embedding, "rotary_embedding"); + m.def("batched_rotary_embedding", &batched_rotary_embedding, "batched_rotary_embedding"); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 37a23c072..a119a6825 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -20,4 +20,14 @@ void fused_add_rms_norm(torch::Tensor &input, torch::Tensor &residual, torch::Tensor &weight, double epsilon); void wvSpltK(at::Tensor &in_a, at::Tensor &in_b, at::Tensor &out_c, - const int64_t N_in, const int64_t CuCount); \ No newline at end of file + const int64_t N_in, const int64_t CuCount); + +void rotary_embedding(torch::Tensor &positions, torch::Tensor &query, + torch::Tensor &key, int64_t head_size, + torch::Tensor &cos_sin_cache, bool is_neox); + +void batched_rotary_embedding(torch::Tensor &positions, torch::Tensor &query, + torch::Tensor &key, int64_t head_size, + torch::Tensor &cos_sin_cache, bool is_neox, + int64_t rot_dim, + torch::Tensor &cos_sin_cache_offsets); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu new file mode 100644 index 000000000..4df07af7e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/pos_encoding_kernels.cu @@ -0,0 +1,203 @@ +#include +#include +#include + +#include "hip_compat.h" +#include "dispatch_utils.h" + +namespace vllm { + +template +inline __device__ void apply_token_rotary_embedding( + scalar_t* __restrict__ arr, const scalar_t* __restrict__ cos_ptr, + const scalar_t* __restrict__ sin_ptr, int rot_offset, int embed_dim) { + int x_index, y_index; + scalar_t cos, sin; + if (IS_NEOX) { + // GPT-NeoX style rotary embedding. + x_index = rot_offset; + y_index = embed_dim + rot_offset; + cos = VLLM_LDG(cos_ptr + x_index); + sin = VLLM_LDG(sin_ptr + x_index); + } else { + // GPT-J style rotary embedding. + x_index = 2 * rot_offset; + y_index = 2 * rot_offset + 1; + cos = VLLM_LDG(cos_ptr + x_index / 2); + sin = VLLM_LDG(sin_ptr + x_index / 2); + } + + const scalar_t x = arr[x_index]; + const scalar_t y = arr[y_index]; + arr[x_index] = x * cos - y * sin; + arr[y_index] = y * cos + x * sin; +} + +template +inline __device__ void apply_rotary_embedding( + scalar_t* __restrict__ query, // [batch_size, seq_len, num_heads, + // head_size] or [num_tokens, num_heads, + // head_size] + scalar_t* __restrict__ key, // [batch_size, seq_len, num_kv_heads, + // head_size] or [num_tokens, num_kv_heads, + // head_size] + const scalar_t* cache_ptr, const int head_size, const int num_heads, + const int num_kv_heads, const int rot_dim, const int token_idx, + const int64_t query_stride, const int64_t key_stride) { + const int embed_dim = rot_dim / 2; + const scalar_t* cos_ptr = cache_ptr; + const scalar_t* sin_ptr = cache_ptr + embed_dim; + + const int nq = num_heads * embed_dim; + for (int i = threadIdx.x; i < nq; i += blockDim.x) { + const int head_idx = i / embed_dim; + const int64_t token_head = token_idx * query_stride + head_idx * head_size; + const int rot_offset = i % embed_dim; + apply_token_rotary_embedding( + query + token_head, cos_ptr, sin_ptr, rot_offset, embed_dim); + } + + const int nk = num_kv_heads * embed_dim; + for (int i = threadIdx.x; i < nk; i += blockDim.x) { + const int head_idx = i / embed_dim; + const int64_t token_head = token_idx * key_stride + head_idx * head_size; + const int rot_offset = i % embed_dim; + apply_token_rotary_embedding( + key + token_head, cos_ptr, sin_ptr, rot_offset, embed_dim); + } +} + +template +__global__ void rotary_embedding_kernel( + const int64_t* __restrict__ positions, // [batch_size, seq_len] or + // [num_tokens] + scalar_t* __restrict__ query, // [batch_size, seq_len, num_heads, + // head_size] or [num_tokens, num_heads, + // head_size] + scalar_t* __restrict__ key, // [batch_size, seq_len, num_kv_heads, + // head_size] or [num_tokens, num_kv_heads, + // head_size] + const scalar_t* __restrict__ cos_sin_cache, // [max_position, 2, rot_dim // + // 2] + const int rot_dim, const int64_t query_stride, const int64_t key_stride, + const int num_heads, const int num_kv_heads, const int head_size) { + // Each thread block is responsible for one token. + const int token_idx = blockIdx.x; + int64_t pos = positions[token_idx]; + const scalar_t* cache_ptr = cos_sin_cache + pos * rot_dim; + + apply_rotary_embedding( + query, key, cache_ptr, head_size, num_heads, num_kv_heads, rot_dim, + token_idx, query_stride, key_stride); +} + +template +__global__ void batched_rotary_embedding_kernel( + const int64_t* __restrict__ positions, // [batch_size, seq_len] or + // [num_tokens] + scalar_t* __restrict__ query, // [batch_size, seq_len, num_heads, + // head_size] or [num_tokens, num_heads, + // head_size] + scalar_t* __restrict__ key, // [batch_size, seq_len, num_kv_heads, + // head_size] or [num_tokens, num_kv_heads, + // head_size] + const scalar_t* __restrict__ cos_sin_cache, // [max_position, 2, rot_dim // + // 2] + const int64_t* __restrict__ cos_sin_cache_offsets, // [batch_size, seq_len] + // or [num_tokens] + const int rot_dim, const int64_t query_stride, const int64_t key_stride, + const int num_heads, const int num_kv_heads, const int head_size) { + // Each thread block is responsible for one token. + const int token_idx = blockIdx.x; + int64_t pos = positions[token_idx]; + int64_t cos_sin_cache_offset = cos_sin_cache_offsets[token_idx]; + const scalar_t* cache_ptr = + cos_sin_cache + (cos_sin_cache_offset + pos) * rot_dim; + + apply_rotary_embedding( + query, key, cache_ptr, head_size, num_heads, num_kv_heads, rot_dim, + token_idx, query_stride, key_stride); +} + +} // namespace vllm + +void rotary_embedding( + torch::Tensor& positions, // [batch_size, seq_len] or [num_tokens] + torch::Tensor& query, // [batch_size, seq_len, num_heads * head_size] or + // [num_tokens, num_heads * head_size] + torch::Tensor& key, // [batch_size, seq_len, num_kv_heads * head_size] or + // [num_tokens, num_kv_heads * head_size] + int64_t head_size, + torch::Tensor& cos_sin_cache, // [max_position, rot_dim] + bool is_neox) { + int64_t num_tokens = query.numel() / query.size(-1); + int rot_dim = cos_sin_cache.size(1); + int num_heads = query.size(-1) / head_size; + int num_kv_heads = key.size(-1) / head_size; + int64_t query_stride = query.stride(-2); + int64_t key_stride = key.stride(-2); + + dim3 grid(num_tokens); + dim3 block(std::min(num_heads * rot_dim / 2, 512)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES(query.scalar_type(), "rotary_embedding", [&] { + if (is_neox) { + vllm::rotary_embedding_kernel<<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), rot_dim, + query_stride, key_stride, num_heads, num_kv_heads, head_size); + } else { + vllm::rotary_embedding_kernel + <<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), + rot_dim, query_stride, key_stride, num_heads, num_kv_heads, + head_size); + } + }); +} + +/* +Batched version of rotary embedding, pack multiple LoRAs together +and process in batched manner. +*/ +void batched_rotary_embedding( + torch::Tensor& positions, // [batch_size, seq_len] or [num_tokens] + torch::Tensor& query, // [batch_size, seq_len, num_heads * head_size] or + // [num_tokens, num_heads * head_size] + torch::Tensor& key, // [batch_size, seq_len, num_kv_heads * head_size] or + // [num_tokens, num_kv_heads * head_size] + int64_t head_size, + torch::Tensor& cos_sin_cache, // [max_position, rot_dim] + bool is_neox, int64_t rot_dim, + torch::Tensor& cos_sin_cache_offsets // [num_tokens] +) { + int64_t num_tokens = cos_sin_cache_offsets.size(0); + int num_heads = query.size(-1) / head_size; + int num_kv_heads = key.size(-1) / head_size; + int64_t query_stride = query.stride(-2); + int64_t key_stride = key.stride(-2); + + dim3 grid(num_tokens); + dim3 block(std::min(num_heads * rot_dim / 2, 512)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES(query.scalar_type(), "rotary_embedding", [&] { + if (is_neox) { + vllm::batched_rotary_embedding_kernel + <<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), + cos_sin_cache_offsets.data_ptr(), rot_dim, query_stride, + key_stride, num_heads, num_kv_heads, head_size); + } else { + vllm::batched_rotary_embedding_kernel + <<>>( + positions.data_ptr(), query.data_ptr(), + key.data_ptr(), cos_sin_cache.data_ptr(), + cos_sin_cache_offsets.data_ptr(), rot_dim, query_stride, + key_stride, num_heads, num_kv_heads, head_size); + } + }); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py new file mode 100644 index 000000000..06974a146 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rotary_embedding.py @@ -0,0 +1,1008 @@ +# coding=utf-8 +# Adapted from +# https://github.com/huggingface/transformers/blob/v4.33.2/src/transformers/models/llama/modeling_llama.py +# Copyright 2023 The vLLM team. +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Rotary Positional Embeddings.""" +import math +from typing import Any, Dict, List, Optional, Tuple, Union + +import torch +import torch.nn as nn + +# from custom_op import CustomOp + + +def _rotate_neox(x: torch.Tensor) -> torch.Tensor: + x1 = x[..., :x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2:] + return torch.cat((-x2, x1), dim=-1) + + +def _rotate_gptj(x: torch.Tensor) -> torch.Tensor: + x1 = x[..., ::2] + x2 = x[..., 1::2] + x = torch.stack((-x2, x1), dim=-1) + return x.flatten(-2) + + +def _apply_rotary_emb( + x: torch.Tensor, + cos: torch.Tensor, + sin: torch.Tensor, + is_neox_style: bool, +) -> torch.Tensor: + """ + Args: + x: [num_tokens, num_heads, head_size] + cos: [num_tokens, head_size // 2] + sin: [num_tokens, head_size // 2] + is_neox_style: Whether to use the Neox-style or GPT-J-style rotary + positional embeddings. + """ + cos = cos.unsqueeze(-2).to(x.dtype) + sin = sin.unsqueeze(-2).to(x.dtype) + if is_neox_style: + x1, x2 = torch.chunk(x, 2, dim=-1) + else: + x1 = x[..., ::2] + x2 = x[..., 1::2] + o1 = x1 * cos - x2 * sin + o2 = x2 * cos + x1 * sin + if is_neox_style: + return torch.cat((o1, o2), dim=-1) + else: + return torch.stack((o1, o2), dim=-1).flatten(-2) + + +# class RotaryEmbedding(CustomOp): +class RotaryEmbedding(nn.Module): + """Original rotary positional embedding.""" + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + ) -> None: + super().__init__() + self.head_size = head_size + self.rotary_dim = rotary_dim + self.max_position_embeddings = max_position_embeddings + self.base = base + self.is_neox_style = is_neox_style + self.dtype = dtype + + cache = self._compute_cos_sin_cache() + cache = cache.to(dtype) + self.cos_sin_cache: torch.Tensor + self.register_buffer("cos_sin_cache", cache, persistent=False) + + def _compute_inv_freq(self, base: Union[int, float]) -> torch.Tensor: + """Compute the inverse frequency.""" + # NOTE(woosuk): To exactly match the HF implementation, we need to + # use CPU to compute the cache and then move it to GPU. However, we + # create the cache on GPU for faster initialization. This may cause + # a slight numerical difference between the HF implementation and ours. + inv_freq = 1.0 / (base**(torch.arange( + 0, self.rotary_dim, 2, dtype=torch.float) / self.rotary_dim)) + return inv_freq + + def _compute_cos_sin_cache(self) -> torch.Tensor: + """Compute the cos and sin cache.""" + inv_freq = self._compute_inv_freq(self.base) + t = torch.arange(self.max_position_embeddings, dtype=torch.float) + + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() + sin = freqs.sin() + cache = torch.cat((cos, sin), dim=-1) + return cache + + def forward_native( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """A PyTorch-native implementation of forward().""" + if offsets is not None: + positions = positions + offsets + positions = positions.flatten() + num_tokens = positions.shape[0] + cos_sin = self.cos_sin_cache.index_select(0, positions) + cos, sin = cos_sin.chunk(2, dim=-1) + + query_shape = query.shape + query = query.view(num_tokens, -1, self.head_size) + query_rot = query[..., :self.rotary_dim] + query_pass = query[..., self.rotary_dim:] + query_rot = _apply_rotary_emb(query_rot, cos, sin, self.is_neox_style) + query = torch.cat((query_rot, query_pass), dim=-1).reshape(query_shape) + + key_shape = key.shape + key = key.view(num_tokens, -1, self.head_size) + key_rot = key[..., :self.rotary_dim] + key_pass = key[..., self.rotary_dim:] + key_rot = _apply_rotary_emb(key_rot, cos, sin, self.is_neox_style) + key = torch.cat((key_rot, key_pass), dim=-1).reshape(key_shape) + return query, key + + # def forward_cuda( + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + # from vllm import _custom_ops as ops + import rocmKernels as ops + + self.cos_sin_cache = self.cos_sin_cache.to(query.device, + dtype=query.dtype) + # ops.rotary_embedding()/batched_rotary_embedding() + # are in-place operations that update the query and key tensors. + if offsets is not None: + ops.batched_rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, + self.is_neox_style, self.rotary_dim, + offsets) + else: + ops.rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, self.is_neox_style) + return query, key + + def forward_xpu( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + from vllm._ipex_ops import ipex_ops as ops + + self.cos_sin_cache = self.cos_sin_cache.to(positions.device, + dtype=query.dtype) + # ops.rotary_embedding()/batched_rotary_embedding() + # are in-place operations that update the query and key tensors. + if offsets is not None: + ops.batched_rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, + self.is_neox_style, self.rotary_dim, + offsets) + else: + ops.rotary_embedding(positions, query, key, self.head_size, + self.cos_sin_cache, self.is_neox_style) + return query, key + + def extra_repr(self) -> str: + s = f"head_size={self.head_size}, rotary_dim={self.rotary_dim}" + s += f", max_position_embeddings={self.max_position_embeddings}" + s += f", base={self.base}, is_neox_style={self.is_neox_style}" + return s + + +class LinearScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with linear scaling. + + It supports multiple scaling factors. Since multiple LoRA adapters may have + different scaling factors, we need multiple cos/sin caches. In this way, + instead of running rotary embedding kernel per lora, we can run multiple + lora in a batched way. + + In addition to that, we also keep the cos/sin cache for the scaling factor + of 1 (default) at all times. + + Exemplary for two scaling factors x=1, y and z with embeddings + [[x11, x12, ... x1m], ..., [xn1, xn2, ..., xnm]] and + [[y11, y12, ... y1o], ..., [yn1, yn2, ..., yno]], and + [[z11, z12, ... z1p], ..., [zn1, zn2, ..., znp]], + + we construct the cos/sin cache as follows: + [[x11, x12, ... x1m, y11, y12, ... y1o, z11, z12, ... z1p], + ... + [xn1, xn2, ... xnm, yn1, yn2, ... yno, zn1, zn2, ... znp]] + + We then use offsets to index into the cos/sin cache for + the respective scaling factors. + + The offset to cache can be accessed via `scaling_factor_to_offset` API. + + Credits to the Reddit user /u/kaiokendev + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factors: Union[List[float], float], + dtype: torch.dtype, + ) -> None: + if isinstance(scaling_factors, float): + scaling_factors = [scaling_factors] + self.scaling_factors: List[float] = scaling_factors # noqa + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + # Lazy initialized. + self._scaling_factor_to_offset: Dict[float, int] + + def _compute_cos_sin_cache(self) -> torch.Tensor: + inv_freq = self._compute_inv_freq(self.base) + cache_list: List[torch.Tensor] = [] + # offsets to the next cache in a tensor. + # Each offset corresponds to the same index in scaling_factors. + offsets: List[int] = [] + for scaling_factor in self.scaling_factors: + # NOTE(woosuk): self.max_position_embeddings is the original + # maximum length before applying the rope scaling. + # Thus, the maximum length after applying the rope scaling is + # self.max_position_embeddings * self.scaling_factor. + max_len = self.max_position_embeddings * scaling_factor + t = torch.arange(max_len, dtype=torch.float) + t = t / scaling_factor + + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() + sin = freqs.sin() + cache = torch.cat((cos, sin), dim=-1) + if not cache_list: + offset = 0 + else: + last_offset = offsets[-1] + next_max_len = cache_list[-1].shape[0] + offset = last_offset + next_max_len + offsets.append(offset) + cache_list.append(cache) + self._scaling_factor_to_offset = { + float(scaling_factor): offsets[i] + for i, scaling_factor in enumerate(self.scaling_factors) + } + assert len(self.scaling_factors) == len(offsets) + return torch.cat(cache_list, dim=0) + + @property + def scaling_factor_to_offset(self) -> Dict[float, int]: + return self._scaling_factor_to_offset + + +class DynamicNTKScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with Dynamic NTK scaling. + + Credits to the Reddit users /u/bloc97 and /u/emozilla + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factor: float, + dtype: torch.dtype, + ) -> None: + self.scaling_factor = scaling_factor + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_cos_sin_cache(self) -> torch.Tensor: + # NOTE(woosuk): self.max_position_embeddings is the original + # maximum length before applying the rope scaling. + # Thus, the maximum length after applying the rope scaling is + # self.max_position_embeddings * self.scaling_factor. + max_len = self.max_position_embeddings * self.scaling_factor + base = self.base * ( + (self.scaling_factor * max_len / self.max_position_embeddings) - + (self.scaling_factor - 1))**(self.rotary_dim / + (self.rotary_dim - 2)) + inv_freq = self._compute_inv_freq(base) + t = torch.arange(max_len, dtype=torch.float) + + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() + sin = freqs.sin() + cache = torch.cat((cos, sin), dim=-1) + return cache + + +# Inverse dim formula to find dim based on number of rotations +def _yarn_find_correction_dim(num_rotations: int, + dim: int, + base: float = 10000, + max_position_embeddings: int = 2048) -> float: + return (dim * math.log(max_position_embeddings / + (num_rotations * 2 * math.pi))) / (2 * + math.log(base)) + + +# Find dim range bounds based on rotations +def _yarn_find_correction_range( + low_rot: int, + high_rot: int, + dim: int, + base: float = 10000, + max_position_embeddings: int = 2048) -> Tuple[int, int]: + low = math.floor( + _yarn_find_correction_dim(low_rot, dim, base, max_position_embeddings)) + high = math.ceil( + _yarn_find_correction_dim(high_rot, dim, base, + max_position_embeddings)) + return max(low, 0), min(high, dim - 1) # Clamp values just in case + + +def _yarn_linear_ramp_mask(low: float, high: float, dim: int, + dtype: torch.dtype) -> torch.Tensor: + if low == high: + high += 0.001 # Prevent singularity + + linear_func = (torch.arange(dim, dtype=dtype) - low) / (high - low) + ramp_func = torch.clamp(linear_func, 0, 1) + return ramp_func + + +def _yarn_get_mscale(scale: float = 1) -> float: + if scale <= 1: + return 1.0 + return 0.1 * math.log(scale) + 1.0 + + +class YaRNScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with YaRN method. + + Credits to Peng et al. github.com/jquesnelle/yarn + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factor: float, + dtype: torch.dtype, + *, + extrapolation_factor: float = 1, + attn_factor: float = 1, + beta_fast: int = 32, + beta_slow: int = 1, + ) -> None: + self.scaling_factor = scaling_factor + self.extrapolation_factor = extrapolation_factor + self.attn_factor = attn_factor + self.beta_fast = beta_fast + self.beta_slow = beta_slow + # Get n-d magnitude scaling corrected for interpolation + self.mscale = float( + _yarn_get_mscale(self.scaling_factor) * attn_factor) + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_inv_freq(self, scaling_factor: float) -> torch.Tensor: + pos_freqs = self.base**( + torch.arange(0, self.rotary_dim, 2, dtype=torch.float) / + self.rotary_dim) + inv_freq_extrapolation = 1.0 / pos_freqs + inv_freq_interpolation = 1.0 / (scaling_factor * pos_freqs) + + low, high = _yarn_find_correction_range(self.beta_fast, self.beta_slow, + self.rotary_dim, self.base, + self.max_position_embeddings) + # Get n-d rotational scaling corrected for extrapolation + inv_freq_mask = (1 - _yarn_linear_ramp_mask( + low, high, self.rotary_dim // 2, + dtype=torch.float)) * self.extrapolation_factor + inv_freq = inv_freq_interpolation * ( + 1 - inv_freq_mask) + inv_freq_extrapolation * inv_freq_mask + return inv_freq + + def _compute_cos_sin_cache(self) -> torch.Tensor: + inv_freq = self._compute_inv_freq(self.scaling_factor) + t = torch.arange(self.max_position_embeddings * self.scaling_factor, + dtype=torch.float32) + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = (freqs.cos() * self.mscale) + sin = (freqs.sin() * self.mscale) + cache = torch.cat((cos, sin), dim=-1) + return cache + + +class Phi3LongRoPEScaledRotaryEmbedding(nn.Module): + """Phi3 family of models scaled rotary embedding. + + Based on the original RotaryEmbedding implementation. + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + original_max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + short_factor: List[float], + long_factor: List[float], + short_mscale: Optional[float] = None, + long_mscale: Optional[float] = None, + ): + super().__init__() + + if rotary_dim != head_size: + raise ValueError( + f"`Phi3LongRoPEScaledRotaryEmbedding` does not support \ + rotary_dim != head_size ({rotary_dim}!={head_size}).") + if is_neox_style is False: + raise ValueError( + "`Phi3LongRoPEScaledRotaryEmbedding` only supports neox_style." + ) + + self.head_size = head_size + self.max_position_embeddings = max_position_embeddings + self.original_max_position_embeddings = original_max_position_embeddings + self.base = base + self.short_factor = short_factor + self.long_factor = long_factor + + scale = self.max_position_embeddings / \ + self.original_max_position_embeddings + if scale <= 1.0: + scaling_factor = 1.0 + else: + scaling_factor = math.sqrt( + 1 + math.log(scale) / + math.log(self.original_max_position_embeddings)) + if short_mscale is None: + short_mscale = scaling_factor + if long_mscale is None: + long_mscale = scaling_factor + + self.short_mscale = short_mscale + self.long_mscale = long_mscale + + short_cache = self._compute_cos_sin_cache( + original_max_position_embeddings, short_factor, short_mscale) + short_cache = short_cache.to(dtype) + self.register_buffer("short_cos_sin_cache", + short_cache, + persistent=False) + + long_cache = self._compute_cos_sin_cache(max_position_embeddings, + long_factor, long_mscale) + long_cache = long_cache.to(dtype) + self.register_buffer("long_cos_sin_cache", + long_cache, + persistent=False) + + long_short_cache = torch.cat( + [self.short_cos_sin_cache, self.long_cos_sin_cache], dim=0) + self.register_buffer("long_short_cos_sin_cache", + long_short_cache, + persistent=False) + + def _compute_inv_freq(self, rescale_factors: List[float]) -> torch.Tensor: + rescale_factors = torch.tensor(rescale_factors, dtype=torch.float32) + inv_freq = 1.0 / (rescale_factors * (self.base**(torch.arange( + 0, self.head_size, 2, dtype=torch.float) / self.head_size))) + return inv_freq + + def _compute_cos_sin_cache( + self, + max_position_embeddings: int, + rescale_factors: List[float], + mscale: float, + ) -> torch.Tensor: + inv_freq = self._compute_inv_freq(rescale_factors) + t = torch.arange(max_position_embeddings, dtype=torch.float) + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = freqs.cos() * mscale + sin = freqs.sin() * mscale + cache = torch.cat((cos, sin), dim=-1) + return cache + + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + query = query.view(*query.shape[:-1], -1, self.head_size) + key = key.view(*key.shape[:-1], -1, self.head_size) + + k = self.original_max_position_embeddings + long_prompt_offset = (torch.any(positions > k).float() * + torch.full_like(positions, k)).long() + idx = (torch.add(positions, long_prompt_offset) + if long_prompt_offset is not None else positions) + self.long_short_cos_sin_cache: torch.Tensor = ( + self.long_short_cos_sin_cache.to(idx.device)) + idx = torch.add(idx, offsets) if offsets is not None else idx + cos_sin = torch.index_select(self.long_short_cos_sin_cache, 0, idx) + + cos, sin = cos_sin.chunk(2, dim=-1) + cos = cos.repeat(1, 2).unsqueeze(-2) + sin = sin.repeat(1, 2).unsqueeze(-2) + + query = query * cos + _rotate_neox(query) * sin + key = key * cos + _rotate_neox(key) * sin + + return query.flatten(-2), key.flatten(-2) + + +def yarn_get_mscale(scale: float = 1, mscale: float = 1) -> float: + if scale <= 1: + return 1.0 + return 0.1 * mscale * math.log(scale) + 1.0 + + +class DeepseekScalingRotaryEmbedding(RotaryEmbedding): + """RotaryEmbedding extended with YaRN method. + + Credits to Peng et al. github.com/jquesnelle/yarn + """ + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + scaling_factor: float, + dtype: torch.dtype, + *, + extrapolation_factor: float = 1, + attn_factor: float = 1, + beta_fast: int = 32, + beta_slow: int = 1, + mscale: float = 1, + mscale_all_dim: float = 0, + ) -> None: + self.scaling_factor = scaling_factor + self.extrapolation_factor = extrapolation_factor + self.attn_factor = attn_factor + self.beta_fast = beta_fast + self.beta_slow = beta_slow + # Get n-d magnitude scaling corrected for interpolation. + self.mscale = float( + yarn_get_mscale(self.scaling_factor, float(mscale)) / + yarn_get_mscale(self.scaling_factor, float(mscale_all_dim)) * + attn_factor) + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_inv_freq(self, scaling_factor: float) -> torch.Tensor: + pos_freqs = self.base**(torch.arange( + 0, self.rotary_dim, 2, dtype=torch.float, device="cuda") / + self.rotary_dim) + inv_freq_extrapolation = 1.0 / pos_freqs + inv_freq_interpolation = 1.0 / (scaling_factor * pos_freqs) + + low, high = _yarn_find_correction_range(self.beta_fast, self.beta_slow, + self.rotary_dim, self.base, + self.max_position_embeddings) + # Get n-d rotational scaling corrected for extrapolation + inv_freq_mask = (1 - _yarn_linear_ramp_mask( + low, high, self.rotary_dim // 2, + dtype=torch.float)) * self.extrapolation_factor + inv_freq = inv_freq_interpolation * ( + 1 - inv_freq_mask) + inv_freq_extrapolation * inv_freq_mask + return inv_freq + + def _compute_cos_sin_cache(self) -> torch.Tensor: + inv_freq = self._compute_inv_freq(self.scaling_factor) + t = torch.arange(self.max_position_embeddings * self.scaling_factor, + device="cuda", + dtype=torch.float32) + freqs = torch.einsum("i,j -> ij", t, inv_freq) + cos = (freqs.cos() * self.mscale) + sin = (freqs.sin() * self.mscale) + cache = torch.cat((cos, sin), dim=-1) + print("Cache shape", cache.shape) + return cache + + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + offsets: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """PyTorch-native implementation equivalent to forward().""" + query_rot = query[..., :self.rotary_dim] + key_rot = key[..., :self.rotary_dim] + if self.rotary_dim < self.head_size: + query_pass = query[..., self.rotary_dim:] + key_pass = key[..., self.rotary_dim:] + + self.cos_sin_cache: torch.Tensor = self.cos_sin_cache.to( + positions.device) + cos_sin = self.cos_sin_cache[torch.add(positions, offsets) + if offsets is not None else positions] + cos, sin = cos_sin.chunk(2, dim=-1) + if self.is_neox_style: + # NOTE(woosuk): Here we assume that the positions tensor has the + # shape [batch_size, seq_len]. + cos = cos.repeat(1, 1, 2).unsqueeze(-2) + sin = sin.repeat(1, 1, 2).unsqueeze(-2) + else: + cos = cos.repeat_interleave(2, dim=-1).unsqueeze(-2) + sin = sin.repeat_interleave(2, dim=-1).unsqueeze(-2) + + rotate_fn = _rotate_neox if self.is_neox_style else _rotate_gptj + query_rot = query_rot * cos + rotate_fn(query_rot) * sin + key_rot = key_rot * cos + rotate_fn(key_rot) * sin + + if self.rotary_dim < self.head_size: + query = torch.cat((query_rot, query_pass), dim=-1) + key = torch.cat((key_rot, key_pass), dim=-1) + else: + query = query_rot + key = key_rot + return query, key + + +class Llama3RotaryEmbedding(RotaryEmbedding): + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + scaling_factor: float, + low_freq_factor: float, + high_freq_factor: float, + orig_max_position: int, + ) -> None: + self.scaling_factor = scaling_factor + self.low_freq_factor = low_freq_factor + self.high_freq_factor = high_freq_factor + self.orig_max_position = orig_max_position + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + def _compute_inv_freq(self, base: Union[int, float]) -> torch.Tensor: + inv_freqs = super()._compute_inv_freq(base) + low_freq_wavelen = self.orig_max_position / self.low_freq_factor + high_freq_wavelen = self.orig_max_position / self.high_freq_factor + + wave_len = 2 * math.pi / inv_freqs + if self.low_freq_factor != self.high_freq_factor: + smooth = (self.orig_max_position / wave_len - self.low_freq_factor + ) / (self.high_freq_factor - self.low_freq_factor) + else: + smooth = 0 + new_freqs = torch.where( + wave_len < high_freq_wavelen, + inv_freqs, + torch.where( + wave_len > low_freq_wavelen, + inv_freqs / self.scaling_factor, + (1 - smooth) * inv_freqs / self.scaling_factor + + smooth * inv_freqs, + ), + ) + return new_freqs + + +class MRotaryEmbedding(RotaryEmbedding): + """Rotary Embedding with Multimodal Sections.""" + + def __init__( + self, + head_size: int, + rotary_dim: int, + max_position_embeddings: int, + base: int, + is_neox_style: bool, + dtype: torch.dtype, + mrope_section: Optional[List[int]] = None, + ) -> None: + super().__init__(head_size, rotary_dim, max_position_embeddings, base, + is_neox_style, dtype) + + self.mrope_section = mrope_section + if self.mrope_section: + assert sum(self.mrope_section) == rotary_dim // 2 + + def forward( + self, + positions: torch.Tensor, + query: torch.Tensor, + key: torch.Tensor, + ) -> Tuple[torch.Tensor, torch.Tensor]: + """PyTorch-native implementation equivalent to forward(). + + Args: + positions: + [num_tokens,] (text only) or + [3, num_tokens] (T/H/W positions with multimodal inputs) + query: [num_tokens, num_heads * head_size] + key: [num_tokens, num_kv_heads * head_size] + """ + assert positions.ndim == 1 or positions.ndim == 2 + + num_tokens = positions.shape[-1] + cos_sin = self.cos_sin_cache[positions] + cos, sin = cos_sin.chunk(2, dim=-1) + if positions.ndim == 2: + assert self.mrope_section + + cos = torch.cat([ + m[i] + for i, m in enumerate(cos.split(self.mrope_section, dim=-1)) + ], + dim=-1) + sin = torch.cat([ + m[i] + for i, m in enumerate(sin.split(self.mrope_section, dim=-1)) + ], + dim=-1) + + query_shape = query.shape + query = query.view(num_tokens, -1, self.head_size) + query_rot = query[..., :self.rotary_dim] + query_pass = query[..., self.rotary_dim:] + query_rot = _apply_rotary_emb(query_rot, cos, sin, self.is_neox_style) + query = torch.cat((query_rot, query_pass), dim=-1).reshape(query_shape) + + key_shape = key.shape + key = key.view(num_tokens, -1, self.head_size) + key_rot = key[..., :self.rotary_dim] + key_pass = key[..., self.rotary_dim:] + key_rot = _apply_rotary_emb(key_rot, cos, sin, self.is_neox_style) + key = torch.cat((key_rot, key_pass), dim=-1).reshape(key_shape) + return query, key + + @staticmethod + def get_input_positions( + input_tokens: List[int], + image_grid_thw: Union[List[List[int]], torch.Tensor], + video_grid_thw: Union[List[List[int]], torch.Tensor], + image_token_id: int, + video_token_id: int, + vision_start_token_id: int, + vision_end_token_id: int, + spatial_merge_size: int, + context_len: int = 0, + ) -> Tuple[List[List[int]], int]: + """Get mrope input positions and delta value.""" + + if isinstance(image_grid_thw, torch.Tensor): + image_grid_thw = image_grid_thw.tolist() + if isinstance(video_grid_thw, torch.Tensor): + video_grid_thw = video_grid_thw.tolist() + + input_tokens_tensor = torch.tensor(input_tokens) + vision_start_indices = torch.argwhere( + input_tokens_tensor == vision_start_token_id).squeeze(1) + vision_tokens = input_tokens_tensor[vision_start_indices + 1] + image_nums = (vision_tokens == image_token_id).sum() + video_nums = (vision_tokens == video_token_id).sum() + llm_pos_ids_list: list = [] + + st = 0 + remain_images, remain_videos = image_nums, video_nums + + image_index, video_index = 0, 0 + for _ in range(image_nums + video_nums): + if image_token_id in input_tokens and remain_images > 0: + ed_image = input_tokens.index(image_token_id, st) + else: + ed_image = len(input_tokens) + 1 + if video_token_id in input_tokens and remain_videos > 0: + ed_video = input_tokens.index(video_token_id, st) + else: + ed_video = len(input_tokens) + 1 + if ed_image < ed_video: + t, h, w = ( + image_grid_thw[image_index][0], + image_grid_thw[image_index][1], + image_grid_thw[image_index][2], + ) + image_index += 1 + remain_images -= 1 + ed = ed_image + else: + t, h, w = ( + video_grid_thw[video_index][0], + video_grid_thw[video_index][1], + video_grid_thw[video_index][2], + ) + video_index += 1 + remain_videos -= 1 + ed = ed_video + llm_grid_t, llm_grid_h, llm_grid_w = \ + t, h // spatial_merge_size, w // spatial_merge_size + text_len = ed - st + + st_idx = llm_pos_ids_list[-1].max() + 1 if len( + llm_pos_ids_list) > 0 else 0 + llm_pos_ids_list.append( + torch.arange(text_len).view(1, -1).expand(3, -1) + st_idx) + + t_index = torch.arange(llm_grid_t).view(-1, 1).expand( + -1, llm_grid_h * llm_grid_w).flatten() + h_index = torch.arange(llm_grid_h).view(1, -1, 1).expand( + llm_grid_t, -1, llm_grid_w).flatten() + w_index = torch.arange(llm_grid_w).view(1, 1, -1).expand( + llm_grid_t, llm_grid_h, -1).flatten() + llm_pos_ids_list.append( + torch.stack([t_index, h_index, w_index]) + text_len + st_idx) + st = ed + llm_grid_t * llm_grid_h * llm_grid_w + + if st < len(input_tokens): + st_idx = llm_pos_ids_list[-1].max() + 1 if len( + llm_pos_ids_list) > 0 else 0 + text_len = len(input_tokens) - st + llm_pos_ids_list.append( + torch.arange(text_len).view(1, -1).expand(3, -1) + st_idx) + + llm_positions = torch.cat(llm_pos_ids_list, dim=1).reshape(3, -1) + llm_positions = llm_positions[:, context_len:] + mrope_position_delta = (llm_positions.max() + 1 - + len(input_tokens)).item() + + return llm_positions.tolist(), mrope_position_delta + + @staticmethod + def get_next_input_positions( + mrope_position_delta: int, + context_len: int, + seq_len: int, + ) -> List[List[int]]: + return [ + list( + range(context_len + mrope_position_delta, + seq_len + mrope_position_delta)) for _ in range(3) + ] + + +_ROPE_DICT: Dict[Tuple, RotaryEmbedding] = {} + + +def get_rope( + head_size: int, + rotary_dim: int, + max_position: int, + base: int, + is_neox_style: bool = True, + rope_scaling: Optional[Dict[str, Any]] = None, + dtype: Optional[torch.dtype] = None, + partial_rotary_factor: float = 1.0, +) -> RotaryEmbedding: + if dtype is None: + dtype = torch.get_default_dtype() + if rope_scaling is not None: + # Transforms every value that is a list into a tuple for caching calls + rope_scaling_tuple = { + k: tuple(v) if isinstance(v, list) else v + for k, v in rope_scaling.items() + } + rope_scaling_args = tuple(rope_scaling_tuple.items()) + else: + rope_scaling_args = None + if partial_rotary_factor < 1.0: + rotary_dim = int(rotary_dim * partial_rotary_factor) + key = (head_size, rotary_dim, max_position, base, is_neox_style, + rope_scaling_args, dtype) + if key in _ROPE_DICT: + return _ROPE_DICT[key] + + if rope_scaling is None: + rotary_emb = RotaryEmbedding(head_size, rotary_dim, max_position, base, + is_neox_style, dtype) + else: + scaling_type = rope_scaling[ + "type"] if "type" in rope_scaling else rope_scaling["rope_type"] + # The correct one should be "longrope" but keep "su" here + # for backward compatible + if scaling_type not in {"su", "longrope"}: + scaling_factor = rope_scaling.get("factor", 1.0) + if scaling_type == "llama3": + low_freq_factor = rope_scaling["low_freq_factor"] + high_freq_factor = rope_scaling["high_freq_factor"] + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + rotary_emb = Llama3RotaryEmbedding(head_size, rotary_dim, + max_position, base, + is_neox_style, dtype, + scaling_factor, low_freq_factor, + high_freq_factor, + original_max_position) + elif scaling_type == "linear": + rotary_emb = LinearScalingRotaryEmbedding(head_size, rotary_dim, + max_position, base, + is_neox_style, + scaling_factor, dtype) + elif scaling_type == "dynamic": + rotary_emb = DynamicNTKScalingRotaryEmbedding( + head_size, rotary_dim, max_position, base, is_neox_style, + scaling_factor, dtype) + elif scaling_type == "yarn": + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + extra_kwargs = { + k: v + for k, v in rope_scaling.items() + if k in ("extrapolation_factor", "attn_factor", "beta_fast", + "beta_slow") + } + rotary_emb = YaRNScalingRotaryEmbedding(head_size, rotary_dim, + original_max_position, + base, is_neox_style, + scaling_factor, dtype, + **extra_kwargs) + elif scaling_type == "deepseek_yarn": + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + # assert max_position == original_max_position * scaling_factor + extra_kwargs = { + k: v + for k, v in rope_scaling.items() + if k in ("extrapolation_factor", "attn_factor", "beta_fast", + "beta_slow", "mscale", "mscale_all_dim") + } + rotary_emb = DeepseekScalingRotaryEmbedding( + head_size, rotary_dim, original_max_position, base, + is_neox_style, scaling_factor, dtype, **extra_kwargs) + # The correct one should be "longrope" but keep "su" here + # for backward compatible + elif scaling_type == "su" or scaling_type == "longrope": + short_factor = rope_scaling["short_factor"] + long_factor = rope_scaling["long_factor"] + original_max_position = rope_scaling[ + "original_max_position_embeddings"] + extra_kwargs = { + k: v + for k, v in rope_scaling.items() + if k in ("short_mscale", "long_mscale") + } + rotary_emb = Phi3LongRoPEScaledRotaryEmbedding( + head_size, rotary_dim, max_position, original_max_position, + base, is_neox_style, dtype, short_factor, long_factor, + **extra_kwargs) + elif scaling_type == "mrope": + rotary_emb = MRotaryEmbedding( + head_size, + rotary_dim, + max_position, + base, + is_neox_style, + dtype, + mrope_section=rope_scaling["mrope_section"], + ) + else: + raise ValueError(f"Unknown RoPE scaling type {scaling_type}") + _ROPE_DICT[key] = rotary_emb + return rotary_emb From 693ff3b1eb921448f310ab18449b6f8a1eddb883 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 5 Oct 2024 23:27:58 +0800 Subject: [PATCH 20/50] default enable VLLM_MOE_PADDING --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 2 +- .../llm_perf/backends/ROCM/rocm_kernels/fused_moe.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 673723ad5..ef0394f4a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -87,7 +87,7 @@ def infusion_to_model(self): if bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))): w13_weight = permute_weight(w13_weight) w2_weight = permute_weight(w2_weight) - if bool(int(os.getenv("VLLM_MOE_PADDING", "0"))): + if bool(int(os.getenv("VLLM_MOE_PADDING", "1"))): w13_weight = F.pad(w13_weight, (0, 128), "constant", 0) torch.cuda.empty_cache() w2_weight = F.pad(w2_weight, (0, 128), "constant", 0) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 0bea93ca8..b9e8954e1 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -17,7 +17,7 @@ import logging logger = logging.getLogger(__name__) # logger = init_logger(__name__) -VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "0"))) +VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "1"))) FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, {VLLM_MOE_PADDING=}') From 7385d8f249459dddf2115caac6c3678a6ec68399 Mon Sep 17 00:00:00 2001 From: "Yang, JiaRong" Date: Tue, 8 Oct 2024 05:32:07 +0000 Subject: [PATCH 21/50] Fix test_iter and use sys._exit for profile. --- byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py | 2 +- byte_infer_perf/llm_perf/bench_model.py | 7 +++++-- byte_infer_perf/llm_perf/core/mp_engine.py | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py b/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py index 97167e0e8..b95b482bd 100644 --- a/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py +++ b/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py @@ -133,7 +133,7 @@ def signal_handler(signum, frame): logger.info(f"rank {local_rank} received signal {signum}, exiting...") if hasattr(model, 'finalize_inference'): model.finalize_inference() - os._exit(0) + sys.exit(0) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) diff --git a/byte_infer_perf/llm_perf/bench_model.py b/byte_infer_perf/llm_perf/bench_model.py index b1247e893..55d3ac589 100644 --- a/byte_infer_perf/llm_perf/bench_model.py +++ b/byte_infer_perf/llm_perf/bench_model.py @@ -170,10 +170,11 @@ def results_to_csv(file_path, results): for seq_len in seq_len_list: input_template = update_template("context", 1, seq_len) + total_test_iter = 20 start_iters = 2 test_iter = 0 duration_ms = 0. - while duration_ms < 5000. and test_iter < 100: + while test_iter < total_test_iter: result = engine.mp_forward(input_template) if start_iters > 0: start_iters -= 1 @@ -206,10 +207,12 @@ def results_to_csv(file_path, results): for seq_len in seq_len_list: input_template = update_template("decode", batch_size, seq_len) + total_test_iter = 20 start_iters = 2 test_iter = 0 + duration_ms = 0. - while duration_ms < 5000. and test_iter < 100: + while test_iter < total_test_iter: result = engine.mp_forward(input_template) if start_iters > 0: start_iters -= 1 diff --git a/byte_infer_perf/llm_perf/core/mp_engine.py b/byte_infer_perf/llm_perf/core/mp_engine.py index 24f0da17e..2bdbce5f7 100644 --- a/byte_infer_perf/llm_perf/core/mp_engine.py +++ b/byte_infer_perf/llm_perf/core/mp_engine.py @@ -32,7 +32,7 @@ def __init__( def signal_handler(signum, frame): logger.info(f"Received signal {signum}, exiting...") self.clean_subprocess() - os._exit(0) + sys._exit(0) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) @@ -105,4 +105,4 @@ def mp_loop_worker( @abstractmethod def mp_forward(self, *args): - raise NotImplementedError \ No newline at end of file + raise NotImplementedError From c7ae9027b21bd1e0a7777514683347e7c32796ca Mon Sep 17 00:00:00 2001 From: dummycoderfe Date: Thu, 10 Oct 2024 02:52:46 +0000 Subject: [PATCH 22/50] port paged_attn and result&bench ok --- .../ROCM/model_impl/modeling_mixtral.py | 125 +- .../ROCM/rocm_kernels/csrc/attention.cu | 1120 +++++++++++++++++ .../ROCM/rocm_kernels/csrc/attention_dtypes.h | 7 + .../rocm_kernels/csrc/attention_generic.cuh | 65 + .../rocm_kernels/csrc/attention_kernels.cu | 1010 +++++++++++++++ .../rocm_kernels/csrc/attention_utils.cuh | 57 + .../backends/ROCM/rocm_kernels/csrc/cache.h | 33 + .../ROCM/rocm_kernels/csrc/cache_kernels.cu | 405 ++++++ .../ROCM/rocm_kernels/csrc/dtype_bfloat16.cuh | 463 +++++++ .../ROCM/rocm_kernels/csrc/dtype_float16.cuh | 504 ++++++++ .../ROCM/rocm_kernels/csrc/dtype_float32.cuh | 251 ++++ .../ROCM/rocm_kernels/csrc/dtype_fp8.cuh | 41 + .../ROCM/rocm_kernels/csrc/fused_kernels.cu | 195 +++ .../ROCM/rocm_kernels/csrc/hip_float8.h | 137 ++ .../ROCM/rocm_kernels/csrc/hip_float8_impl.h | 316 +++++ .../ROCM/rocm_kernels/csrc/moe_ops.cpp | 19 - .../ROCM/rocm_kernels/csrc/paged_attn_ops.h | 41 + .../ROCM/rocm_kernels/csrc/quant_utils.cuh | 710 +++++++++++ .../ROCM/rocm_kernels/csrc/rocm_ops.cpp | 79 ++ .../backends/ROCM/rocm_kernels/paged_attn.py | 394 ++++++ 20 files changed, 5908 insertions(+), 64 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_dtypes.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_generic.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_utils.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_bfloat16.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float16.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float32.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_fp8.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/fused_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8_impl.h delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/quant_utils.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index 5fe3e8b01..dc1be4be1 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -56,6 +56,8 @@ from transformers.models.mixtral.configuration_mixtral import MixtralConfig from ..rocm_kernels.fused_moe import fused_moe +from ..rocm_kernels import paged_attn +from ..rocm_kernels.paged_attn import PagedAttention import rocmKernels as ops from ..rocm_kernels.tuned_gemm import tgemm from ..rocm_kernels.rotary_embedding import get_rope @@ -769,6 +771,9 @@ class MixtralSdpaAttention(MixtralAttention): `MixtralAttention` as the weights of the module stays untouched. The only changes are on the forward pass to adapt to SDPA API. """ + def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): + super().__init__(config, layer_idx) + self.cache_inited = False # Adapted from MixtralAttention.forward def forward( @@ -807,7 +812,6 @@ def forward( valid_slot_ids = kwargs.get("valid_slot_ids") all_q_len = kwargs.get("all_q_len") all_kv_len = kwargs.get("all_kv_len") - max_kv_len = max(all_kv_len) if is_context else max(all_q_len) + max(all_kv_len) # kv_seq_len = key_states.shape[-2] @@ -823,35 +827,59 @@ def forward( # cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) # query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) - # if past_key_value is not None: - # cache_kwargs = {"sin": sin, "cos": cos} # Specific to RoPE models - # key_states, value_states = past_key_value.update(key_states, value_states, self.layer_idx, cache_kwargs) - # past_key_value: [max_batch_size, kv_head_num, max_seq_len, head_dim] + ##################### init caches ################## + # todo: move tables out of layer, only one per model + block_size = 32 + max_num_blocks = 16384 + # max_seq_len_supported = max_kv_len + max_seq_len_supported = 10240 + if max_kv_len > max_seq_len_supported or bsz >32: + raise ValueError("unsupport kv_len for current hack, too long or bsz too big") + max_num_blocks_per_seq = (max_seq_len_supported + block_size - 1) //block_size + if not self.cache_inited: + self.block_tables_lst: List[List[int]] = [] + for batch_idx in range(32): + block_start = max_num_blocks_per_seq * batch_idx + block_table = [i + block_start for i in range(max_num_blocks_per_seq)] + self.block_tables_lst.append(block_table) + self.block_tables = torch.tensor(self.block_tables_lst, dtype=torch.int, + device = query_states.device) + x = 16 // torch.tensor([], dtype=query_states.dtype).element_size() + key_cache_shape = (max_num_blocks, self.num_key_value_heads, self.head_dim // x, block_size, x) + self.key_cache = torch.zeros(size=key_cache_shape, + dtype=query_states.dtype, + device=query_states.device) + + value_cache_shape = (max_num_blocks, self.num_key_value_heads, self.head_dim, block_size) + self.value_cache = torch.zeros(size=value_cache_shape, + dtype=query_states.dtype, + device=query_states.device) + self.cache_inited = True + ##################### init caches ################## + if is_context: - slot_id = valid_slot_ids[0] - q_len = all_q_len[0] - past_key_value[self.layer_idx][0][slot_id:slot_id+1, :, :q_len, :] = key_states - past_key_value[self.layer_idx][1][slot_id:slot_id+1, :, :q_len, :] = value_states + slot_offset = torch.tensor([valid_slot_ids[0] * max_num_blocks_per_seq * block_size], + device = position_ids.device, + dtype = position_ids.dtype).unsqueeze(1) else: - batch_size, _, q_len, _ = key_states.shape - max_qkv_len = q_len + max(all_kv_len) - for i, slot_id in enumerate(valid_slot_ids): - q_len = all_q_len[i] - kv_len = all_kv_len[i] - past_key_value[self.layer_idx][0][slot_id:slot_id+1, :, kv_len:kv_len+q_len, :] = key_states[i, :, :, :] - past_key_value[self.layer_idx][1][slot_id:slot_id+1, :, kv_len:kv_len+q_len, :] = value_states[i, :, :, :] - - cur_k_cache = past_key_value[self.layer_idx][0][:, :, :max_qkv_len, :] - cur_v_cache = past_key_value[self.layer_idx][1][:, :, :max_qkv_len, :] - select_slots = torch.tensor(valid_slot_ids, device=key_states.device) - key_states = torch.index_select(cur_k_cache, 0, select_slots) - value_states = torch.index_select(cur_v_cache, 0, select_slots) - - - key_states = repeat_kv(key_states, self.num_key_value_groups) - value_states = repeat_kv(value_states, self.num_key_value_groups) - + slot_offset = torch.arange(0, bsz * max_num_blocks_per_seq * block_size, + block_size * max_num_blocks_per_seq, + device = position_ids.device).unsqueeze(1) + slot_mapping = position_ids + slot_offset + key_states_cache = key_states.view(-1, self.num_key_value_heads, self.head_dim).contiguous() + value_states_cache = value_states.view(-1, self.num_key_value_heads, self.head_dim).contiguous() + PagedAttention.write_to_paged_cache(key_states_cache, + value_states_cache, + self.key_cache, + self.value_cache, + slot_mapping.view(-1), + "auto", 1.0, 1.0) + + if is_context: + key_states = repeat_kv(key_states, self.num_key_value_groups) + value_states = repeat_kv(value_states, self.num_key_value_groups) + # if attention_mask is not None: # if attention_mask.size() != (bsz, 1, q_len, kv_seq_len): # raise ValueError( @@ -867,25 +895,32 @@ def forward( key_states = key_states.contiguous() value_states = value_states.contiguous() - # attn_output = torch.nn.functional.scaled_dot_product_attention( - # query_states, - # key_states, - # value_states, - # attn_mask=attention_mask, - # dropout_p=self.attention_dropout if self.training else 0.0, - # # The q_len > 1 is necessary to match with AttentionMaskConverter.to_causal_4d that does not create a causal mask in case q_len == 1. - # is_causal=self.is_causal and attention_mask is None and q_len > 1, - # ) - - attn_output = torch.nn.functional.scaled_dot_product_attention( - query_states, - key_states, - value_states, - attn_mask=~attention_mask, - dropout_p=self.attention_dropout if self.training else 0.0, - ) + if is_context: + attn_output = torch.nn.functional.scaled_dot_product_attention( + query_states, + key_states, + value_states, + attn_mask=~attention_mask, + dropout_p=self.attention_dropout if self.training else 0.0, + ).transpose(1, 2).contiguous() + else: + query_states = query_states.view(-1, self.num_heads, self.head_dim) + seq_lens = torch.tensor( [x + y for x, y in zip(all_q_len, all_kv_len)], dtype=torch.int, device=query_states.device) + attn_output = PagedAttention.forward_decode( + query_states, + self.key_cache, + self.value_cache, + self.block_tables[0:bsz], + seq_lens, + int(max_seq_len_supported), + "auto", + self.num_key_value_heads, + float(1.0 / (self.head_dim**0.5)), + None, + 1.0, + 1.0, + ).contiguous() - attn_output = attn_output.transpose(1, 2).contiguous() attn_output = attn_output.view(bsz, q_len, self.num_heads * self.head_dim) attn_output = self.o_proj(attn_output) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention.cu new file mode 100644 index 000000000..b5d4465bc --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention.cu @@ -0,0 +1,1120 @@ +/* + * Copyright (c) 2024, The vLLM team. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include "hip_compat.h" + +#include +#include "dtype_fp8.cuh" +#include "quant_utils.cuh" + +#if defined(__HIPCC__) && (defined(__gfx90a__) || defined(__gfx940__) || \ + defined(__gfx941__) || defined(__gfx942__)) + #define __HIP__MI300_MI250__ +#endif + +#if defined(NDEBUG) + #undef NDEBUG + #include + #define UNREACHABLE_CODE assert(false); + #define NDEBUG +#else + #define UNREACHABLE_CODE assert(false); +#endif + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define DIVIDE_ROUND_UP(a, b) (((a) + (b) - 1) / (b)) + +#if defined(__HIP__MI300_MI250__) // TODO: Add NAVI support + + #define GCN_MFMA_INSTR1 __builtin_amdgcn_mfma_f32_16x16x4f32 + #define GCN_MFMA_INSTR __builtin_amdgcn_mfma_f32_4x4x4f16 + +using floatx4 = __attribute__((__vector_size__(4 * sizeof(float)))) float; +using float16x4 = + __attribute__((__vector_size__(4 * sizeof(_Float16)))) _Float16; +typedef float16x4 _Half4; +typedef struct _Half8 { + _Half4 xy[2]; +} _Half8; + +using bit16_t = uint16_t; +using bit16x4 = __attribute__((__vector_size__(4 * sizeof(uint16_t)))) uint16_t; +typedef bit16x4 _B16x4; +typedef struct _B16x8 { + _B16x4 xy[2]; +} _B16x8; + +using _B8x8 = uint2; + +////// Non temporal load stores /////// + +template +__device__ __forceinline__ T load(T* addr) { + return addr[0]; +} + +template +__device__ __forceinline__ void store(T value, T* addr) { + addr[0] = value; +} + +template +__device__ __forceinline__ floatx4 gcn_mfma_instr(const _B16x4& inpA, + const _B16x4& inpB, + const floatx4& inpC) { + if constexpr (std::is_same::value) { + return __builtin_amdgcn_mfma_f32_4x4x4f16(inpA, inpB, inpC, absz, cbid, + blgp); + } else if constexpr (std::is_same::value) { + return __builtin_amdgcn_mfma_f32_4x4x4bf16_1k(inpA, inpB, inpC, absz, cbid, + blgp); + } else { + static_assert(false, "unsupported 16b dtype"); + } +} + +template +__device__ __forceinline__ float to_float(const T& inp) { + if constexpr (std::is_same::value) { + return (float)inp; + } else if constexpr (std::is_same::value) { + return __bfloat162float(inp); + } else { + static_assert(false, "unsupported 16b dtype"); + } +} + +template +__device__ __forceinline__ T from_float(const float& inp) { + if constexpr (std::is_same::value) { + return (_Float16)inp; + } else if constexpr (std::is_same::value) { + return __float2bfloat16(inp); + } else { + static_assert(false, "unsupported 16b dtype"); + } +} + +template +__device__ __forceinline__ _B16x4 from_floatx4(const floatx4& inp) { + union tmpcvt { + uint16_t u; + _Float16 f; + __hip_bfloat16 b; + } t16; + _B16x4 ret; + if constexpr (std::is_same::value) { + #pragma unroll + for (int i = 0; i < 4; i++) { + t16.f = (_Float16)inp[i]; + ret[i] = t16.u; + } + return ret; + } else if constexpr (std::is_same::value) { + #pragma unroll + for (int i = 0; i < 4; i++) { + t16.b = __float2bfloat16(inp[i]); + ret[i] = t16.u; + } + return ret; + } else { + static_assert(false, "unsupported 16b dtype"); + } +} + +template +__device__ __forceinline__ _B16x4 addx4(const _B16x4& inp1, + const _B16x4& inp2) { + union tmpcvt { + uint16_t u; + _Float16 f; + __hip_bfloat16 b; + } t1, t2, res; + _B16x4 ret; + if constexpr (std::is_same::value) { + #pragma unroll + for (int i = 0; i < 4; i++) { + t1.u = inp1[i]; + t2.u = inp2[i]; + res.f = t1.f + t2.f; + ret[i] = res.u; + } + return ret; + } else if constexpr (std::is_same::value) { + #pragma unroll + for (int i = 0; i < 4; i++) { + t1.u = inp1[i]; + t2.u = inp2[i]; + res.b = t1.b + t2.b; + ret[i] = res.u; + } + return ret; + } else { + static_assert(false, "unsupported 16b dtype"); + } +} + +template +__device__ __forceinline__ _B16x8 scaled_convert_b8x8(const _B8x8 input, + const float scale) { + union alignas(16) { + uint4 u4; + _B16x8 u16x8; + vllm::bf16_8_t b16x8; + } tmp; + if constexpr (std::is_same::value) { + tmp.u4 = vllm::fp8::scaled_convert(input, scale); + return tmp.u16x8; + } else if constexpr (std::is_same::value) { + tmp.b16x8 = vllm::fp8::scaled_convert( + input, scale); + return tmp.u16x8; + } else { + static_assert(false, "unsupported 16b dtype"); + } +} + +/////////////////////////////////////// + +// grid (num_seqs, num_partitions,num_heads/gqa_ratio) +// block (partition size) +template +__global__ __launch_bounds__(NUM_THREADS) void paged_attention_ll4mi_QKV_kernel( + const scalar_t* __restrict__ q, // [num_seqs, num_heads, head_size] + const cache_t* __restrict__ k_cache, // [num_blocks, num_kv_heads, + // head_size/x, block_size, x] + const cache_t* __restrict__ v_cache, // [num_blocks, num_kv_heads, + // head_size, block_size] + const int num_kv_heads, const float scale, + const int* __restrict__ block_tables, // [num_seqs, max_num_blocks_per_seq] + const int* __restrict__ context_lens, // [num_seqs] + const int max_num_blocks_per_seq, + const float* __restrict__ alibi_slopes, // [num_heads] + const int q_stride, const int kv_block_stride, const int kv_head_stride, + float* __restrict__ exp_sums, // [num_seqs, num_heads, max_num_partitions] + float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + scalar_t* __restrict__ out, // [num_seqs, num_heads, max_num_partitions, + // head_size] + scalar_t* __restrict__ final_out, // [num_seqs, num_heads, head_size] + int max_ctx_blocks, float k_scale, float v_scale) { + constexpr int NWARPS = NUM_THREADS / WARP_SIZE; + const int warpid = threadIdx.x / WARP_SIZE; + const int laneid = threadIdx.x % WARP_SIZE; + const int lane4id = laneid % 4; + + const int seq_idx = blockIdx.x; + const int partition_idx = blockIdx.y; + const int partition_size = blockDim.x; + const int max_num_partitions = gridDim.y; + + const int context_len = context_lens[seq_idx]; + const int partition_start_token_idx = partition_idx * partition_size; + // exit if partition is out of context for seq + if (partition_start_token_idx >= context_len) { + return; + } + constexpr int QHLOOP = + DIVIDE_ROUND_UP(GQA_RATIO, 4); // each 4 lanes fetch 4 different qheads, + // total qheads =8, so qhloop is 2 + constexpr int GQA_RATIO4 = 4 * QHLOOP; + __shared__ float shared_qk_max[NWARPS][GQA_RATIO4 + 1]; + __shared__ float shared_exp_sum[NWARPS][GQA_RATIO4 + 1]; + _B16x8 Qlocal[QHLOOP]; + constexpr int x = 16 / sizeof(scalar_t); + constexpr int KHELOOP = HEAD_SIZE / x; + _B16x8 Klocal[KHELOOP]; + _B8x8 Klocalb8[KHELOOP]; + constexpr int VHELOOP = + HEAD_SIZE / + WARP_SIZE; // v head_size dimension is distributed across lanes + constexpr int VTLOOP = 8; // 16 separate 4xtokens across warp -> 16/2 + // 8xtokens + _B16x8 Vlocal[VHELOOP][VTLOOP]; + _B8x8 Vlocalb8[VHELOOP][VTLOOP]; + floatx4 dout[QHLOOP]; + float qk_max[QHLOOP]; + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + dout[h] = {0}; + qk_max[h] = -FLT_MAX; + } + + const int wg_start_head_idx = blockIdx.z * GQA_RATIO; + const int wg_start_kv_head_idx = blockIdx.z; + + const int warp_start_token_idx = + partition_start_token_idx + warpid * WARP_SIZE; + + if (warp_start_token_idx >= context_len) { // warp out of context + #pragma unroll + for (int h = 0; h < GQA_RATIO4; h++) { + shared_qk_max[warpid][h] = -FLT_MAX; + shared_exp_sum[warpid][h] = 0.0f; + } + } else { // warp within context + + const int num_context_blocks = DIVIDE_ROUND_UP(context_len, BLOCK_SIZE); + const int last_ctx_block = num_context_blocks - 1; + + const int* block_table = block_tables + seq_idx * max_num_blocks_per_seq; + + const int local_token_idx = threadIdx.x; + const int global_token_idx = partition_start_token_idx + local_token_idx; + + const int block_idx = (global_token_idx < context_len) + ? global_token_idx / BLOCK_SIZE + : last_ctx_block; + // fetch block number for q and k + // int32 physical_block_number leads to overflow when multiplied with + // kv_block_stride + const int64_t physical_block_number = + static_cast(block_table[block_idx]); + + // fetch vphysical block numbers up front + constexpr int VBLOCKS = 8 * VTLOOP / BLOCK_SIZE; + int vphysical_blocks[VBLOCKS]; + + const int warp_start_block_idx = warp_start_token_idx / BLOCK_SIZE; + #pragma unroll + for (int b = 0; b < VBLOCKS; b++) { + const int vblock_idx = warp_start_block_idx + b; + const int vblock_idx_ctx = + (vblock_idx <= last_ctx_block) ? vblock_idx : last_ctx_block; + vphysical_blocks[b] = block_table[vblock_idx_ctx]; + } + + // each 4 lanes fetch 8 helems, so warp fetches 8*16 = 128 helems + const scalar_t* q_ptr = + q + seq_idx * q_stride + wg_start_head_idx * HEAD_SIZE; + const _B16x8* q_ptrh8 = reinterpret_cast(q_ptr); + const int qhead_elemh8 = laneid / 4; + #pragma unroll + for (int h = 0; h < QHLOOP - 1; h++) { + const int qhead_idx = h * 4 + lane4id; + Qlocal[h] = q_ptrh8[qhead_idx * HEAD_SIZE / 8 + qhead_elemh8]; + } + const int final_qhead_idx = 4 * (QHLOOP - 1) + lane4id; + if (final_qhead_idx < GQA_RATIO) { + Qlocal[QHLOOP - 1] = + q_ptrh8[final_qhead_idx * HEAD_SIZE / 8 + qhead_elemh8]; + } else { + Qlocal[QHLOOP - 1].xy[0] = {0}; + Qlocal[QHLOOP - 1].xy[1] = {0}; + } + + const cache_t* k_ptr = k_cache + physical_block_number * kv_block_stride + + wg_start_kv_head_idx * kv_head_stride; + + const int physical_block_offset = + local_token_idx % BLOCK_SIZE; // since x=half8, physical_block_offset + // is already cast as _H8 + if constexpr (KV_DTYPE == vllm::Fp8KVCacheDataType::kAuto) { + const _B16x8* k_ptrh8 = reinterpret_cast(k_ptr); + #pragma unroll + for (int d = 0; d < KHELOOP; d++) { + Klocal[d] = k_ptrh8[d * BLOCK_SIZE + physical_block_offset]; + } + } else { + constexpr int X = 16 / sizeof(cache_t); + const cache_t* k_ptr2 = k_ptr + physical_block_offset * X; + #pragma unroll + for (int d = 0; d < KHELOOP; d++) { + const int head_elem = d * 8; + const int offset1 = head_elem / X; + const int offset2 = head_elem % X; + const cache_t* k_ptr3 = k_ptr2 + offset1 * BLOCK_SIZE * X + offset2; + Klocalb8[d] = *reinterpret_cast(k_ptr3); + } + } + + float alibi_slope[QHLOOP]; + if (alibi_slopes != nullptr) { + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + const int qhead_idx = h * 4 + lane4id; + alibi_slope[h] = (qhead_idx < GQA_RATIO) + ? alibi_slopes[wg_start_head_idx + qhead_idx] + : 0.f; + } + } + + const cache_t* v_ptr = v_cache + wg_start_kv_head_idx * kv_head_stride; + if constexpr (KV_DTYPE == vllm::Fp8KVCacheDataType::kAuto) { + const _B16x8* v_ptrh8 = reinterpret_cast(v_ptr); + // iterate over each v block + #pragma unroll + for (int b = 0; b < VBLOCKS; b++) { + // int32 physical_block_number leads to overflow when multiplied with + // kv_block_stride + const int64_t vphysical_block_number = + static_cast(vphysical_blocks[b]); + const _B16x8* v_ptrh8b = + v_ptrh8 + (vphysical_block_number * kv_block_stride) / 8; + // iterate over each head elem (within head_size) + #pragma unroll + for (int h = 0; h < VHELOOP; h++) { + const int head_size_elem = h * WARP_SIZE + laneid; + const _B16x8* v_ptrh8be = v_ptrh8b + head_size_elem * BLOCK_SIZE / 8; + // iterate over all velems within block + #pragma unroll + for (int d = 0; d < BLOCK_SIZE / 8; d++) { + Vlocal[h][b * BLOCK_SIZE / 8 + d] = v_ptrh8be[d]; + } + } + } + } else { + const _B8x8* v_ptrh8 = reinterpret_cast(v_ptr); + // iterate over each v block + #pragma unroll + for (int b = 0; b < VBLOCKS; b++) { + // int32 physical_block_number leads to overflow when multiplied with + // kv_block_stride + const int64_t vphysical_block_number = + static_cast(vphysical_blocks[b]); + const _B8x8* v_ptrh8b = + v_ptrh8 + (vphysical_block_number * kv_block_stride) / 8; + // iterate over each head elem (within head_size) + #pragma unroll + for (int h = 0; h < VHELOOP; h++) { + const int head_size_elem = h * WARP_SIZE + laneid; + const _B8x8* v_ptrh8be = v_ptrh8b + head_size_elem * BLOCK_SIZE / 8; + // iterate over all velems within block + #pragma unroll + for (int d = 0; d < BLOCK_SIZE / 8; d++) { + // Vlocalb8[h][b * BLOCK_SIZE / 8 + d] = v_ptrh8be[d]; + const _B8x8 Vlocalb8 = v_ptrh8be[d]; + Vlocal[h][b * BLOCK_SIZE / 8 + d] = + scaled_convert_b8x8(Vlocalb8, v_scale); + } + } + } + } + + if constexpr (KV_DTYPE != vllm::Fp8KVCacheDataType::kAuto) { + #pragma unroll + for (int d = 0; d < KHELOOP; d++) { + Klocal[d] = + scaled_convert_b8x8(Klocalb8[d], k_scale); + } + } + + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[0].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[0].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[1].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[1].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[2].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[2].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[3].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[3].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[4].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[4].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[5].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[5].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[6].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[6].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[7].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[7].xy[1], dout[h]); + if constexpr (KHELOOP > 8) { + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[8].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[8].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[9].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[9].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[10].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[10].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[11].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[11].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[12].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[12].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[13].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[13].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[14].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[14].xy[1], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[0], + Klocal[15].xy[0], dout[h]); + dout[h] = gcn_mfma_instr(Qlocal[h].xy[1], + Klocal[15].xy[1], dout[h]); + } // KHELOOP>8 + dout[h] *= scale; + } + // transpose dout so that 4 token ids are in each lane, and 4 heads are across + // 4 lanes + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + floatx4 tmp = {0}; + #pragma unroll + for (int i = 0; i < 4; i++) { + const float B = (lane4id == i) ? 1.0f : 0.0f; + // const float A = (global_token_idx < context_len) ? dout[h][i] : 0.0f; + tmp = __builtin_amdgcn_mfma_f32_4x4x1f32(dout[h][i], B, tmp, 0, 0, 0); + // tmp = __builtin_amdgcn_mfma_f32_4x4x1f32(A, B, tmp, 0, 0, 0); + } + dout[h] = tmp; + } + + const int lane4_token_idx = 4 * (global_token_idx >> 2); + const int alibi_offset = lane4_token_idx - context_len + 1; + if (alibi_slopes != nullptr) { + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + #pragma unroll + for (int i = 0; i < 4; i++) { + dout[h][i] += alibi_slope[h] * (alibi_offset + i); + } + } + } + + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + qk_max[h] = -FLT_MAX; + #pragma unroll + for (int i = 0; i < 4; i++) { + qk_max[h] = (lane4_token_idx + i < context_len) + ? fmaxf(qk_max[h], dout[h][i]) + : qk_max[h]; + } + #pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 4; mask /= 2) { + qk_max[h] = fmaxf(qk_max[h], __shfl_xor(qk_max[h], mask)); + } + } + + float exp_sum[QHLOOP]; + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + exp_sum[h] = 0.0f; + #pragma unroll + for (int i = 0; i < 4; i++) { + dout[h][i] = (lane4_token_idx + i < context_len) + ? __expf(dout[h][i] - qk_max[h]) + : 0.0f; + exp_sum[h] += dout[h][i]; + } + #pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 4; mask /= 2) { + exp_sum[h] += __shfl_xor(exp_sum[h], mask); + } + } + + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + const int head_idx = 4 * h + lane4id; + shared_qk_max[warpid][head_idx] = qk_max[h]; + shared_exp_sum[warpid][head_idx] = exp_sum[h]; + } + } // warp within context + + __syncthreads(); + + const int num_heads = gridDim.z * GQA_RATIO; + float* max_logits_ptr = + max_logits + seq_idx * num_heads * max_num_partitions + partition_idx; + float* exp_sums_ptr = + exp_sums + seq_idx * num_heads * max_num_partitions + partition_idx; + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + float global_qk_max = -FLT_MAX; + float warp_qk_max[NWARPS]; + const int head_idx = 4 * h + lane4id; + #pragma unroll + for (int w = 0; w < NWARPS; w++) { + warp_qk_max[w] = shared_qk_max[w][head_idx]; + global_qk_max = fmaxf(global_qk_max, warp_qk_max[w]); + } + float global_exp_sum = 0.0f; + #pragma unroll + for (int w = 0; w < NWARPS; w++) { + global_exp_sum += + shared_exp_sum[w][head_idx] * __expf(warp_qk_max[w] - global_qk_max); + } + if (head_idx < GQA_RATIO) { + max_logits_ptr[(wg_start_head_idx + head_idx) * max_num_partitions] = + global_qk_max; + exp_sums_ptr[(wg_start_head_idx + head_idx) * max_num_partitions] = + global_exp_sum; + } + const float global_inv_sum_scale = __fdividef(1.f, global_exp_sum + 1e-6f) * + __expf(qk_max[h] - global_qk_max); + dout[h] *= global_inv_sum_scale; + } + // logits[h] -> every 4 lanes hold 4 heads, each lane holds 4 tokens, there + // are 4x16 tokens across warp + _B16x4 logits[QHLOOP]; + #pragma unroll + for (int h = 0; h < QHLOOP; h++) { + logits[h] = from_floatx4(dout[h]); + } + + __shared__ _B16x4 vout_shared[QHLOOP][VHELOOP][WARP_SIZE][NWARPS + 1]; + + if (warp_start_token_idx >= context_len) { // warp out of context + #pragma unroll + for (int qh = 0; qh < QHLOOP; qh++) { + #pragma unroll + for (int vh = 0; vh < VHELOOP; vh++) { + vout_shared[qh][vh][laneid][warpid] = {0}; + } + } + } else { // warp in context + // iterate across heads + #pragma unroll + for (int qh = 0; qh < QHLOOP; qh++) { + // iterate over each v head elem (within head_size) + #pragma unroll + for (int vh = 0; vh < VHELOOP; vh++) { + floatx4 acc = {0}; + // iterate over tokens + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][0].xy[0], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][0].xy[1], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][1].xy[0], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][1].xy[1], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][2].xy[0], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][2].xy[1], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][3].xy[0], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][3].xy[1], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][4].xy[0], + acc); + acc = gcn_mfma_instr(logits[qh], Vlocal[vh][4].xy[1], + acc); + acc = gcn_mfma_instr(logits[qh], + Vlocal[vh][5].xy[0], acc); + acc = gcn_mfma_instr(logits[qh], + Vlocal[vh][5].xy[1], acc); + acc = gcn_mfma_instr(logits[qh], + Vlocal[vh][6].xy[0], acc); + acc = gcn_mfma_instr(logits[qh], + Vlocal[vh][6].xy[1], acc); + acc = gcn_mfma_instr(logits[qh], + Vlocal[vh][7].xy[0], acc); + acc = gcn_mfma_instr(logits[qh], + Vlocal[vh][7].xy[1], acc); + vout_shared[qh][vh][laneid][warpid] = from_floatx4(acc); + } + } + } // warp in context + + __syncthreads(); + + if (warpid == 0) { + _B16x4 vout[QHLOOP][VHELOOP]; + // iterate across heads + scalar_t* out_ptr; + int out_num_partitions; + if (context_len > partition_size) { + out_num_partitions = max_num_partitions; + out_ptr = out + seq_idx * num_heads * max_num_partitions * HEAD_SIZE + + partition_idx * HEAD_SIZE; + } else { + out_num_partitions = 1; + out_ptr = final_out + seq_idx * num_heads * HEAD_SIZE; + } + #pragma unroll + for (int qh = 0; qh < QHLOOP; qh++) { + // iterate over each v head elem (within head_size) + #pragma unroll + for (int vh = 0; vh < VHELOOP; vh++) { + vout[qh][vh] = {0}; + #pragma unroll + for (int w = 0; w < NWARPS; w++) { + vout[qh][vh] = + addx4(vout[qh][vh], vout_shared[qh][vh][laneid][w]); + } + const int head_size_elem = vh * WARP_SIZE + laneid; + bit16_t* out_ptr_b16 = reinterpret_cast(out_ptr); + #pragma unroll + for (int i = 0; i < 4; i++) { + const int head_idx = 4 * qh + i; + if (head_idx < GQA_RATIO) { + out_ptr_b16[(wg_start_head_idx + head_idx) * out_num_partitions * + HEAD_SIZE + + head_size_elem] = vout[qh][vh][i]; + } + } + } + } + } +} + +// Grid: (num_heads, num_seqs). +template +__global__ +__launch_bounds__(NUM_THREADS) void paged_attention_ll4mi_reduce_kernel( + scalar_t* __restrict__ out, // [num_seqs, num_heads, head_size] + const float* __restrict__ exp_sums, // [num_seqs, num_heads, + // max_num_partitions] + const float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + const scalar_t* __restrict__ tmp_out, // [num_seqs, num_heads, + // max_num_partitions, head_size] + const int* __restrict__ context_lens, // [num_seqs] + const int max_num_partitions) { + const int num_heads = gridDim.x; + const int head_idx = blockIdx.x; + const int seq_idx = blockIdx.y; + const int context_len = context_lens[seq_idx]; + const int num_partitions = DIVIDE_ROUND_UP(context_len, PARTITION_SIZE); + if (num_partitions == 1) { + // if num_partitions==1, main kernel will write to out directly, no work in + // reduction kernel + return; + } + + constexpr int NUM_WARPS = NUM_THREADS / WARP_SIZE; + const int warpid = threadIdx.x / WARP_SIZE; + const int laneid = threadIdx.x % WARP_SIZE; + + __shared__ float shared_global_exp_sum; + __shared__ float shared_exp_sums[2 * WARP_SIZE]; + + if (warpid == 0) { + const float* max_logits_ptr = max_logits + + seq_idx * num_heads * max_num_partitions + + head_idx * max_num_partitions; + + // valid partition is the last valid partition in case threadid > num + // partitions + const int valid_partition = + (threadIdx.x < num_partitions) ? threadIdx.x : num_partitions - 1; + const int valid_partition2 = (WARP_SIZE + threadIdx.x < num_partitions) + ? WARP_SIZE + threadIdx.x + : num_partitions - 1; + float reg_max_logit = max_logits_ptr[valid_partition]; + float reg_max_logit2 = max_logits_ptr[valid_partition2]; + float max_logit = fmaxf(reg_max_logit, reg_max_logit2); + + #pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { + max_logit = fmaxf(max_logit, __shfl_xor(max_logit, mask)); + } + + const float* exp_sums_ptr = exp_sums + + seq_idx * num_heads * max_num_partitions + + head_idx * max_num_partitions; + + float global_exp_sum = 0.0f; + float rescaled_exp_sum = exp_sums_ptr[valid_partition]; + float rescaled_exp_sum2 = exp_sums_ptr[valid_partition2]; + rescaled_exp_sum *= + (threadIdx.x < num_partitions) ? expf(reg_max_logit - max_logit) : 0.0f; + rescaled_exp_sum2 *= (threadIdx.x + WARP_SIZE < num_partitions) + ? expf(reg_max_logit2 - max_logit) + : 0.0f; + global_exp_sum += rescaled_exp_sum + rescaled_exp_sum2; + shared_exp_sums[threadIdx.x] = rescaled_exp_sum; + shared_exp_sums[threadIdx.x + WARP_SIZE] = rescaled_exp_sum2; + + #pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { + global_exp_sum += __shfl_xor(global_exp_sum, mask); + } + if (threadIdx.x == 0) { + shared_global_exp_sum = global_exp_sum; + } + } // warpid == 0 + const scalar_t* tmp_out_ptr = + tmp_out + seq_idx * num_heads * max_num_partitions * HEAD_SIZE + + head_idx * max_num_partitions * HEAD_SIZE + threadIdx.x; + constexpr int MAX_NPAR = 64; + scalar_t tmps[MAX_NPAR]; + const float dzero = 0.0f; + #pragma unroll + for (int j = 0; j < MAX_NPAR; j++) { + tmps[j] = from_float(dzero); + } + const int last_partition_offset = (num_partitions - 1) * HEAD_SIZE; + const int num_partition_offset = (num_partitions)*HEAD_SIZE; + int idx = 0; + + constexpr int JCHUNK = 16; + + #pragma unroll + for (int j = 0; j < JCHUNK * HEAD_SIZE; j += HEAD_SIZE) { + // lastj is last valid partition + const int lastj_offset = + (j < num_partition_offset) ? j : last_partition_offset; + tmps[idx] = tmp_out_ptr[lastj_offset]; + idx++; + } + __syncthreads(); + + if (num_partitions > JCHUNK) { + #pragma unroll + for (int j = JCHUNK * HEAD_SIZE; j < 2 * JCHUNK * HEAD_SIZE; + j += HEAD_SIZE) { + const int lastj_offset = + (j < num_partition_offset) ? j : last_partition_offset; + tmps[idx] = tmp_out_ptr[lastj_offset]; + idx++; + } + + if (num_partitions > 2 * JCHUNK) { + #pragma unroll + for (int j = 2 * JCHUNK * HEAD_SIZE; j < MAX_NPAR * HEAD_SIZE; + j += HEAD_SIZE) { + const int lastj_offset = + (j < num_partition_offset) ? j : last_partition_offset; + tmps[idx] = tmp_out_ptr[lastj_offset]; + idx++; + } + } + } // num_partitions > JCHUNK + + // Aggregate tmp_out to out. + float acc = 0.0f; + #pragma unroll + for (int j = 0; j < JCHUNK; j++) { + acc += to_float(tmps[j]) * shared_exp_sums[j]; + } + if (num_partitions > JCHUNK) { + #pragma unroll + for (int j = JCHUNK; j < 2 * JCHUNK; j++) { + acc += to_float(tmps[j]) * shared_exp_sums[j]; + } + if (num_partitions > 2 * JCHUNK) { + #pragma unroll + for (int j = 2 * JCHUNK; j < MAX_NPAR; j++) { + acc += to_float(tmps[j]) * shared_exp_sums[j]; + } + } + } + + if (num_partitions > MAX_NPAR) { + idx = 0; + #pragma unroll + for (int j = MAX_NPAR * HEAD_SIZE; j < 2 * MAX_NPAR * HEAD_SIZE; + j += HEAD_SIZE) { + // lastj is last valid partition + const int lastj_offset = + (j < num_partition_offset) ? j : last_partition_offset; + tmps[idx] = tmp_out_ptr[lastj_offset]; + idx++; + } + + #pragma unroll + for (int j = 0; j < MAX_NPAR; j++) { + acc += to_float(tmps[j]) * shared_exp_sums[j + MAX_NPAR]; + } + } + + const float inv_global_exp_sum = + __fdividef(1.0f, shared_global_exp_sum + 1e-6f); + acc *= inv_global_exp_sum; + scalar_t* out_ptr = + out + seq_idx * num_heads * HEAD_SIZE + head_idx * HEAD_SIZE; + out_ptr[threadIdx.x] = from_float(acc); +} + +#else // !defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +template +__global__ __launch_bounds__(NUM_THREADS) void paged_attention_ll4mi_QKV_kernel( + const scalar_t* __restrict__ q, // [num_seqs, num_heads, head_size] + const cache_t* __restrict__ k_cache, // [num_blocks, num_kv_heads, + // head_size/x, block_size, x] + const cache_t* __restrict__ v_cache, // [num_blocks, num_kv_heads, + // head_size, block_size] + const int num_kv_heads, const float scale, + const int* __restrict__ block_tables, // [num_seqs, max_num_blocks_per_seq] + const int* __restrict__ context_lens, // [num_seqs] + const int max_num_blocks_per_seq, + const float* __restrict__ alibi_slopes, // [num_heads] + const int q_stride, const int kv_block_stride, const int kv_head_stride, + float* __restrict__ exp_sums, // [num_seqs, num_heads, max_num_partitions] + float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + scalar_t* __restrict__ out, // [num_seqs, num_heads, max_num_partitions, + // head_size] + scalar_t* __restrict__ final_out, // [num_seqs, num_heads, head_size] + int max_ctx_blocks, float k_scale, float v_scale) { + UNREACHABLE_CODE +} + +// Grid: (num_heads, num_seqs). +template +__global__ +__launch_bounds__(NUM_THREADS) void paged_attention_ll4mi_reduce_kernel( + scalar_t* __restrict__ out, // [num_seqs, num_heads, head_size] + const float* __restrict__ exp_sums, // [num_seqs, num_heads, + // max_num_partitions] + const float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + const scalar_t* __restrict__ tmp_out, // [num_seqs, num_heads, + // max_num_partitions, head_size] + const int* __restrict__ context_lens, // [num_seqs] + const int max_num_partitions){UNREACHABLE_CODE} + +#endif // defined(__HIP__MI300_MI250__) TODO: Add NAVI support + +#define LAUNCH_CUSTOM_ATTENTION(GQA_RATIO) \ + paged_attention_ll4mi_QKV_kernel \ + <<>>( \ + query_ptr, key_cache_ptr, value_cache_ptr, num_kv_heads, scale, \ + block_tables_ptr, context_lens_ptr, max_num_blocks_per_seq, \ + alibi_slopes_ptr, q_stride, kv_block_stride, kv_head_stride, \ + exp_sums_ptr, max_logits_ptr, tmp_out_ptr, out_ptr, max_ctx_blocks, \ + k_scale, v_scale); + +template +void paged_attention_custom_launcher( + torch::Tensor& out, torch::Tensor& exp_sums, torch::Tensor& max_logits, + torch::Tensor& tmp_out, torch::Tensor& query, torch::Tensor& key_cache, + torch::Tensor& value_cache, const int num_kv_heads, float scale, + torch::Tensor& block_tables, torch::Tensor& context_lens, + int max_context_len, const c10::optional& alibi_slopes, + float k_scale, float v_scale) { + int num_seqs = query.size(0); + int num_heads = query.size(1); + int head_size = query.size(2); + int max_num_blocks_per_seq = block_tables.size(1); + int q_stride = query.stride(0); + int kv_block_stride = key_cache.stride(0); + int kv_head_stride = key_cache.stride(1); + + // NOTE: alibi_slopes is optional. + const float* alibi_slopes_ptr = + alibi_slopes + ? reinterpret_cast(alibi_slopes.value().data_ptr()) + : nullptr; + + T* out_ptr = reinterpret_cast(out.data_ptr()); + float* exp_sums_ptr = reinterpret_cast(exp_sums.data_ptr()); + float* max_logits_ptr = reinterpret_cast(max_logits.data_ptr()); + T* tmp_out_ptr = reinterpret_cast(tmp_out.data_ptr()); + T* query_ptr = reinterpret_cast(query.data_ptr()); + KVT* key_cache_ptr = reinterpret_cast(key_cache.data_ptr()); + KVT* value_cache_ptr = reinterpret_cast(value_cache.data_ptr()); + int* block_tables_ptr = block_tables.data_ptr(); + int* context_lens_ptr = context_lens.data_ptr(); + + const int max_ctx_blocks = DIVIDE_ROUND_UP(max_context_len, BLOCK_SIZE); + const int max_num_partitions = + DIVIDE_ROUND_UP(max_context_len, PARTITION_SIZE); + const int gqa_ratio = num_heads / num_kv_heads; + assert(num_heads % num_kv_heads == 0); + assert(head_size == HEAD_SIZE); + assert(max_num_partitions <= 128); + + constexpr int NTHR = PARTITION_SIZE; + dim3 grid(num_seqs, max_num_partitions, num_kv_heads); + dim3 block(NTHR); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + switch (gqa_ratio) { + case 1: + LAUNCH_CUSTOM_ATTENTION(1); + break; + case 2: + LAUNCH_CUSTOM_ATTENTION(2); + break; + case 3: + LAUNCH_CUSTOM_ATTENTION(3); + break; + case 4: + LAUNCH_CUSTOM_ATTENTION(4); + break; + case 5: + LAUNCH_CUSTOM_ATTENTION(5); + break; + case 6: + LAUNCH_CUSTOM_ATTENTION(6); + break; + case 7: + LAUNCH_CUSTOM_ATTENTION(7); + break; + case 8: + LAUNCH_CUSTOM_ATTENTION(8); + break; + case 9: + LAUNCH_CUSTOM_ATTENTION(9); + break; + case 10: + LAUNCH_CUSTOM_ATTENTION(10); + break; + case 11: + LAUNCH_CUSTOM_ATTENTION(11); + break; + case 12: + LAUNCH_CUSTOM_ATTENTION(12); + break; + case 13: + LAUNCH_CUSTOM_ATTENTION(13); + break; + case 14: + LAUNCH_CUSTOM_ATTENTION(14); + break; + case 15: + LAUNCH_CUSTOM_ATTENTION(15); + break; + case 16: + LAUNCH_CUSTOM_ATTENTION(16); + break; + default: + TORCH_CHECK(false, "Unsupported gqa ratio: ", gqa_ratio); + break; + } + // dim3 grid2(num_heads,num_seqs,head_size/HEAD_ELEMS_PER_WG); + // dim3 block2(1024); + // LAUNCH_CUSTOM_ATTENTION2; + + // reduction kernel is only required if max_context_len > partition size, + // otherwise main kernel writes directly to final output + // note there are cases with graphing where max_context_len is the max + // supported by graphing, not the actual max among all the sequences: in that + // case reduction kernel will still run but return immediately + if (max_context_len > PARTITION_SIZE) { + dim3 reduce_grid(num_heads, num_seqs); + dim3 reduce_block(head_size); + paged_attention_ll4mi_reduce_kernel + <<>>( + out_ptr, exp_sums_ptr, max_logits_ptr, tmp_out_ptr, + context_lens_ptr, max_num_partitions); + } +} + +#define CALL_CUSTOM_LAUNCHER(T, KVT, KV_DTYPE, BLK_SIZE, HEAD_SIZE) \ + paged_attention_custom_launcher( \ + out, exp_sums, max_logits, tmp_out, query, key_cache, value_cache, \ + num_kv_heads, scale, block_tables, context_lens, max_context_len, \ + alibi_slopes, k_scale, v_scale); + +#define CALL_CUSTOM_LAUNCHER_BLK(T, KVT, KV_DTYPE, HEAD_SIZE) \ + switch (block_size) { \ + case 16: \ + CALL_CUSTOM_LAUNCHER(T, KVT, KV_DTYPE, 16, HEAD_SIZE); \ + break; \ + case 32: \ + CALL_CUSTOM_LAUNCHER(T, KVT, KV_DTYPE, 32, HEAD_SIZE); \ + break; \ + default: \ + TORCH_CHECK(false, "Unsupported block size: ", block_size); \ + break; \ + } + +#define CALL_CUSTOM_LAUNCHER_BLK_HEAD(T, KVT, KV_DTYPE) \ + switch (head_size) { \ + case 64: \ + CALL_CUSTOM_LAUNCHER_BLK(T, KVT, KV_DTYPE, 64); \ + break; \ + case 128: \ + CALL_CUSTOM_LAUNCHER_BLK(T, KVT, KV_DTYPE, 128); \ + break; \ + default: \ + TORCH_CHECK(false, "Unsupported head size: ", head_size); \ + break; \ + } + +void paged_attention_rocm( + torch::Tensor& out, // [num_seqs, num_heads, head_size] + torch::Tensor& exp_sums, // [num_seqs, num_heads, max_num_partitions] + torch::Tensor& max_logits, // [num_seqs, num_heads, max_num_partitions] + torch::Tensor& + tmp_out, // [num_seqs, num_heads, max_num_partitions, head_size] + torch::Tensor& query, // [num_seqs, num_heads, head_size] + torch::Tensor& + key_cache, // [num_blocks, num_heads, head_size/x, block_size, x] + torch::Tensor& + value_cache, // [num_blocks, num_heads, head_size, block_size] + int64_t num_kv_heads, double scale, + torch::Tensor& block_tables, // [num_seqs, max_num_blocks_per_seq] + torch::Tensor& context_lens, // [num_seqs] + int64_t block_size, int64_t max_context_len, + const c10::optional& alibi_slopes, + const std::string& kv_cache_dtype, double k_scale, double v_scale) { + const int head_size = query.size(2); + if (kv_cache_dtype == "auto") { + if (query.dtype() == at::ScalarType::Half) { + CALL_CUSTOM_LAUNCHER_BLK_HEAD(_Float16, _Float16, + vllm::Fp8KVCacheDataType::kAuto); + } else if (query.dtype() == at::ScalarType::BFloat16) { + CALL_CUSTOM_LAUNCHER_BLK_HEAD(__hip_bfloat16, __hip_bfloat16, + vllm::Fp8KVCacheDataType::kAuto); + } else { + TORCH_CHECK(false, "Unsupported data type: ", query.dtype()); + } + } else if (kv_cache_dtype == "fp8" || kv_cache_dtype == "fp8_e4m3") { + if (query.dtype() == at::ScalarType::Half) { + CALL_CUSTOM_LAUNCHER_BLK_HEAD(_Float16, uint8_t, + vllm::Fp8KVCacheDataType::kFp8E4M3); + } else if (query.dtype() == at::ScalarType::BFloat16) { + CALL_CUSTOM_LAUNCHER_BLK_HEAD(__hip_bfloat16, uint8_t, + vllm::Fp8KVCacheDataType::kFp8E4M3); + } else { + TORCH_CHECK(false, "Unsupported data type: ", query.dtype()); + } + } else { + TORCH_CHECK(false, "Unsupported KV cache dtype: ", kv_cache_dtype); + } +} + +#undef WARP_SIZE +#undef MAX +#undef MIN +#undef DIVIDE_ROUND_UP \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_dtypes.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_dtypes.h new file mode 100644 index 000000000..64f86381d --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_dtypes.h @@ -0,0 +1,7 @@ +#pragma once + +#include "attention_generic.cuh" +#include "dtype_float16.cuh" +#include "dtype_float32.cuh" +#include "dtype_bfloat16.cuh" +#include "dtype_fp8.cuh" diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_generic.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_generic.cuh new file mode 100644 index 000000000..62409c0cc --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_generic.cuh @@ -0,0 +1,65 @@ +/* + * Adapted from + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention_utils.h + * Copyright (c) 2023, The vLLM team. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include + +namespace vllm { + +// A vector type to store Q, K, V elements. +template +struct Vec {}; + +// A vector type to store FP32 accumulators. +template +struct FloatVec {}; + +// Template vector operations. +template +inline __device__ Acc mul(A a, B b); + +template +inline __device__ float sum(T v); + +template +inline __device__ float dot(T a, T b) { + return sum(mul(a, b)); +} + +template +inline __device__ float dot(T a, T b) { + return sum(mul(a, b)); +} + +template +inline __device__ void zero(T& dst) { + constexpr int WORDS = sizeof(T) / 4; + union { + T raw; + uint32_t words[WORDS]; + } tmp; + +#pragma unroll + for (int ii = 0; ii < WORDS; ++ii) { + tmp.words[ii] = 0u; + } + dst = tmp.raw; +} + +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_kernels.cu new file mode 100644 index 000000000..8afa088ee --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_kernels.cu @@ -0,0 +1,1010 @@ +/* + * Adapted from + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention/decoder_masked_multihead_attention_template.hpp + * Copyright (c) 2023, The vLLM team. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include + +#include "attention_dtypes.h" +#include "attention_utils.cuh" + +#ifdef USE_ROCM + #include + #include "quant_utils.cuh" +typedef __hip_bfloat16 __nv_bfloat16; +#else + #include "../quantization/fp8/nvidia/quant_utils.cuh" +#endif + +#ifndef USE_ROCM + #define WARP_SIZE 32 +#else + #define WARP_SIZE warpSize +#endif + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define DIVIDE_ROUND_UP(a, b) (((a) + (b) - 1) / (b)) + +namespace vllm { + +// Utility function for attention softmax. +template +inline __device__ float block_sum(float* red_smem, float sum) { + // Decompose the thread index into warp / lane. + int warp = threadIdx.x / WARP_SIZE; + int lane = threadIdx.x % WARP_SIZE; + + // Compute the sum per warp. +#pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { + sum += VLLM_SHFL_XOR_SYNC(sum, mask); + } + + // Warp leaders store the data to shared memory. + if (lane == 0) { + red_smem[warp] = sum; + } + + // Make sure the data is in shared memory. + __syncthreads(); + + // The warps compute the final sums. + if (lane < NUM_WARPS) { + sum = red_smem[lane]; + } + + // Parallel reduction inside the warp. +#pragma unroll + for (int mask = NUM_WARPS / 2; mask >= 1; mask /= 2) { + sum += VLLM_SHFL_XOR_SYNC(sum, mask); + } + + // Broadcast to other threads. + return VLLM_SHFL_SYNC(sum, 0); +} + +// TODO(woosuk): Merge the last two dimensions of the grid. +// Grid: (num_heads, num_seqs, max_num_partitions). +template // Zero means no partitioning. +__device__ void paged_attention_kernel( + float* __restrict__ exp_sums, // [num_seqs, num_heads, max_num_partitions] + float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + scalar_t* __restrict__ out, // [num_seqs, num_heads, max_num_partitions, + // head_size] + const scalar_t* __restrict__ q, // [num_seqs, num_heads, head_size] + const cache_t* __restrict__ k_cache, // [num_blocks, num_kv_heads, + // head_size/x, block_size, x] + const cache_t* __restrict__ v_cache, // [num_blocks, num_kv_heads, + // head_size, block_size] + const int num_kv_heads, // [num_heads] + const float scale, + const int* __restrict__ block_tables, // [num_seqs, max_num_blocks_per_seq] + const int* __restrict__ seq_lens, // [num_seqs] + const int max_num_blocks_per_seq, + const float* __restrict__ alibi_slopes, // [num_heads] + const int q_stride, const int kv_block_stride, const int kv_head_stride, + const float k_scale, const float v_scale, const int tp_rank, + const int blocksparse_local_blocks, const int blocksparse_vert_stride, + const int blocksparse_block_size, const int blocksparse_head_sliding_step) { + const int seq_idx = blockIdx.y; + const int partition_idx = blockIdx.z; + const int max_num_partitions = gridDim.z; + constexpr bool USE_PARTITIONING = PARTITION_SIZE > 0; + const int seq_len = seq_lens[seq_idx]; + if (USE_PARTITIONING && partition_idx * PARTITION_SIZE >= seq_len) { + // No work to do. Terminate the thread block. + return; + } + + const int num_seq_blocks = DIVIDE_ROUND_UP(seq_len, BLOCK_SIZE); + const int num_blocks_per_partition = + USE_PARTITIONING ? PARTITION_SIZE / BLOCK_SIZE : num_seq_blocks; + + // [start_block_idx, end_block_idx) is the range of blocks to process. + const int start_block_idx = + USE_PARTITIONING ? partition_idx * num_blocks_per_partition : 0; + const int end_block_idx = + MIN(start_block_idx + num_blocks_per_partition, num_seq_blocks); + const int num_blocks = end_block_idx - start_block_idx; + + // [start_token_idx, end_token_idx) is the range of tokens to process. + const int start_token_idx = start_block_idx * BLOCK_SIZE; + const int end_token_idx = + MIN(start_token_idx + num_blocks * BLOCK_SIZE, seq_len); + const int num_tokens = end_token_idx - start_token_idx; + + constexpr int THREAD_GROUP_SIZE = MAX(WARP_SIZE / BLOCK_SIZE, 1); + constexpr int NUM_THREAD_GROUPS = + NUM_THREADS / THREAD_GROUP_SIZE; // Note: This assumes THREAD_GROUP_SIZE + // divides NUM_THREADS + assert(NUM_THREADS % THREAD_GROUP_SIZE == 0); + constexpr int NUM_TOKENS_PER_THREAD_GROUP = + DIVIDE_ROUND_UP(BLOCK_SIZE, WARP_SIZE); + constexpr int NUM_WARPS = NUM_THREADS / WARP_SIZE; + const int thread_idx = threadIdx.x; + const int warp_idx = thread_idx / WARP_SIZE; + const int lane = thread_idx % WARP_SIZE; + + const int head_idx = blockIdx.x; + const int num_heads = gridDim.x; + const int num_queries_per_kv = num_heads / num_kv_heads; + const int kv_head_idx = head_idx / num_queries_per_kv; + const float alibi_slope = + alibi_slopes == nullptr ? 0.f : alibi_slopes[head_idx]; + + // A vector type to store a part of a key or a query. + // The vector size is configured in such a way that the threads in a thread + // group fetch or compute 16 bytes at a time. For example, if the size of a + // thread group is 4 and the data type is half, then the vector size is 16 / + // (4 * sizeof(half)) == 2. + constexpr int VEC_SIZE = MAX(16 / (THREAD_GROUP_SIZE * sizeof(scalar_t)), 1); + using K_vec = typename Vec::Type; + using Q_vec = typename Vec::Type; + using Quant_vec = typename Vec::Type; + + constexpr int NUM_ELEMS_PER_THREAD = HEAD_SIZE / THREAD_GROUP_SIZE; + constexpr int NUM_VECS_PER_THREAD = NUM_ELEMS_PER_THREAD / VEC_SIZE; + + const int thread_group_idx = thread_idx / THREAD_GROUP_SIZE; + const int thread_group_offset = thread_idx % THREAD_GROUP_SIZE; + + // Load the query to registers. + // Each thread in a thread group has a different part of the query. + // For example, if the the thread group size is 4, then the first thread in + // the group has 0, 4, 8, ... th vectors of the query, and the second thread + // has 1, 5, 9, ... th vectors of the query, and so on. NOTE(woosuk): Because + // q is split from a qkv tensor, it may not be contiguous. + const scalar_t* q_ptr = q + seq_idx * q_stride + head_idx * HEAD_SIZE; + __shared__ Q_vec q_vecs[THREAD_GROUP_SIZE][NUM_VECS_PER_THREAD]; +#pragma unroll + for (int i = thread_group_idx; i < NUM_VECS_PER_THREAD; + i += NUM_THREAD_GROUPS) { + const int vec_idx = thread_group_offset + i * THREAD_GROUP_SIZE; + q_vecs[thread_group_offset][i] = + *reinterpret_cast(q_ptr + vec_idx * VEC_SIZE); + } + __syncthreads(); // TODO(naed90): possible speedup if this is replaced with a + // memory wall right before we use q_vecs + + // Memory planning. + extern __shared__ char shared_mem[]; + // NOTE(woosuk): We use FP32 for the softmax logits for better accuracy. + float* logits = reinterpret_cast(shared_mem); + // Workspace for reduction. + __shared__ float red_smem[2 * NUM_WARPS]; + + // x == THREAD_GROUP_SIZE * VEC_SIZE + // Each thread group fetches x elements from the key at a time. + constexpr int x = 16 / sizeof(cache_t); + float qk_max = -FLT_MAX; + + // Iterate over the key blocks. + // Each warp fetches a block of keys for each iteration. + // Each thread group in a warp fetches a key from the block, and computes + // dot product with the query. + const int* block_table = block_tables + seq_idx * max_num_blocks_per_seq; + + // blocksparse specific vars + int bs_block_offset; + int q_bs_block_id; + if constexpr (IS_BLOCK_SPARSE) { + // const int num_blocksparse_blocks = DIVIDE_ROUND_UP(seq_len, + // blocksparse_block_size); + q_bs_block_id = (seq_len - 1) / blocksparse_block_size; + if (blocksparse_head_sliding_step >= 0) + // sliding on q heads + bs_block_offset = + (tp_rank * num_heads + head_idx) * blocksparse_head_sliding_step + 1; + else + // sliding on kv heads + bs_block_offset = (tp_rank * num_kv_heads + kv_head_idx) * + (-blocksparse_head_sliding_step) + + 1; + } + + for (int block_idx = start_block_idx + warp_idx; block_idx < end_block_idx; + block_idx += NUM_WARPS) { + // NOTE(woosuk): The block number is stored in int32. However, we cast it to + // int64 because int32 can lead to overflow when this variable is multiplied + // by large numbers (e.g., kv_block_stride). + // For blocksparse attention: skip computation on blocks that are not + // attended + if constexpr (IS_BLOCK_SPARSE) { + const int k_bs_block_id = block_idx * BLOCK_SIZE / blocksparse_block_size; + const bool is_remote = + ((k_bs_block_id + bs_block_offset) % blocksparse_vert_stride == 0); + const bool is_local = + (k_bs_block_id > q_bs_block_id - blocksparse_local_blocks); + if (!is_remote && !is_local) { + for (int i = 0; i < NUM_TOKENS_PER_THREAD_GROUP; i++) { + const int physical_block_offset = + (thread_group_idx + i * WARP_SIZE) % BLOCK_SIZE; + const int token_idx = block_idx * BLOCK_SIZE + physical_block_offset; + + if (thread_group_offset == 0) { + // NOTE(linxihui): assign very large number to skipped tokens to + // avoid contribution to the sumexp softmax normalizer. This will + // not be used at computing sum(softmax*v) as the blocks will be + // skipped. + logits[token_idx - start_token_idx] = -FLT_MAX; + } + } + continue; + } + } + const int64_t physical_block_number = + static_cast(block_table[block_idx]); + + // Load a key to registers. + // Each thread in a thread group has a different part of the key. + // For example, if the the thread group size is 4, then the first thread in + // the group has 0, 4, 8, ... th vectors of the key, and the second thread + // has 1, 5, 9, ... th vectors of the key, and so on. + for (int i = 0; i < NUM_TOKENS_PER_THREAD_GROUP; i++) { + const int physical_block_offset = + (thread_group_idx + i * WARP_SIZE) % BLOCK_SIZE; + const int token_idx = block_idx * BLOCK_SIZE + physical_block_offset; + K_vec k_vecs[NUM_VECS_PER_THREAD]; + +#pragma unroll + for (int j = 0; j < NUM_VECS_PER_THREAD; j++) { + const cache_t* k_ptr = + k_cache + physical_block_number * kv_block_stride + + kv_head_idx * kv_head_stride + physical_block_offset * x; + const int vec_idx = thread_group_offset + j * THREAD_GROUP_SIZE; + const int offset1 = (vec_idx * VEC_SIZE) / x; + const int offset2 = (vec_idx * VEC_SIZE) % x; + + if constexpr (KV_DTYPE == Fp8KVCacheDataType::kAuto) { + k_vecs[j] = *reinterpret_cast( + k_ptr + offset1 * BLOCK_SIZE * x + offset2); + } else { + // Vector conversion from Quant_vec to K_vec. + Quant_vec k_vec_quant = *reinterpret_cast( + k_ptr + offset1 * BLOCK_SIZE * x + offset2); + k_vecs[j] = fp8::scaled_convert( + k_vec_quant, k_scale); + } + } + + // Compute dot product. + // This includes a reduction across the threads in the same thread group. + float qk = scale * Qk_dot::dot( + q_vecs[thread_group_offset], k_vecs); + // Add the ALiBi bias if slopes are given. + qk += (alibi_slope != 0) ? alibi_slope * (token_idx - seq_len + 1) : 0; + + if (thread_group_offset == 0) { + // Store the partial reductions to shared memory. + // NOTE(woosuk): It is required to zero out the masked logits. + const bool mask = token_idx >= seq_len; + logits[token_idx - start_token_idx] = mask ? 0.f : qk; + // Update the max value. + qk_max = mask ? qk_max : fmaxf(qk_max, qk); + } + } + } + + // Perform reduction across the threads in the same warp to get the + // max qk value for each "warp" (not across the thread block yet). + // The 0-th thread of each thread group already has its max qk value. +#pragma unroll + for (int mask = WARP_SIZE / 2; mask >= THREAD_GROUP_SIZE; mask /= 2) { + qk_max = fmaxf(qk_max, VLLM_SHFL_XOR_SYNC(qk_max, mask)); + } + if (lane == 0) { + red_smem[warp_idx] = qk_max; + } + __syncthreads(); + + // TODO(woosuk): Refactor this part. + // Get the max qk value for the sequence. + qk_max = lane < NUM_WARPS ? red_smem[lane] : -FLT_MAX; +#pragma unroll + for (int mask = NUM_WARPS / 2; mask >= 1; mask /= 2) { + qk_max = fmaxf(qk_max, VLLM_SHFL_XOR_SYNC(qk_max, mask)); + } + // Broadcast the max qk value to all threads. + qk_max = VLLM_SHFL_SYNC(qk_max, 0); + + // Get the sum of the exp values. + float exp_sum = 0.f; + for (int i = thread_idx; i < num_tokens; i += NUM_THREADS) { + float val = __expf(logits[i] - qk_max); + logits[i] = val; + exp_sum += val; + } + exp_sum = block_sum(&red_smem[NUM_WARPS], exp_sum); + + // Compute softmax. + const float inv_sum = __fdividef(1.f, exp_sum + 1e-6f); + for (int i = thread_idx; i < num_tokens; i += NUM_THREADS) { + logits[i] *= inv_sum; + } + __syncthreads(); + + // If partitioning is enabled, store the max logit and exp_sum. + if (USE_PARTITIONING && thread_idx == 0) { + float* max_logits_ptr = max_logits + + seq_idx * num_heads * max_num_partitions + + head_idx * max_num_partitions + partition_idx; + *max_logits_ptr = qk_max; + float* exp_sums_ptr = exp_sums + seq_idx * num_heads * max_num_partitions + + head_idx * max_num_partitions + partition_idx; + *exp_sums_ptr = exp_sum; + } + + // Each thread will fetch 16 bytes from the value cache at a time. + constexpr int V_VEC_SIZE = MIN(16 / sizeof(scalar_t), BLOCK_SIZE); + using V_vec = typename Vec::Type; + using L_vec = typename Vec::Type; + using V_quant_vec = typename Vec::Type; + using Float_L_vec = typename FloatVec::Type; + + constexpr int NUM_V_VECS_PER_ROW = BLOCK_SIZE / V_VEC_SIZE; + constexpr int NUM_ROWS_PER_ITER = WARP_SIZE / NUM_V_VECS_PER_ROW; + constexpr int NUM_ROWS_PER_THREAD = + DIVIDE_ROUND_UP(HEAD_SIZE, NUM_ROWS_PER_ITER); + + // NOTE(woosuk): We use FP32 for the accumulator for better accuracy. + float accs[NUM_ROWS_PER_THREAD]; +#pragma unroll + for (int i = 0; i < NUM_ROWS_PER_THREAD; i++) { + accs[i] = 0.f; + } + + scalar_t zero_value; + zero(zero_value); + for (int block_idx = start_block_idx + warp_idx; block_idx < end_block_idx; + block_idx += NUM_WARPS) { + // NOTE(woosuk): The block number is stored in int32. However, we cast it to + // int64 because int32 can lead to overflow when this variable is multiplied + // by large numbers (e.g., kv_block_stride). + // For blocksparse attention: skip computation on blocks that are not + // attended + if constexpr (IS_BLOCK_SPARSE) { + int v_bs_block_id = block_idx * BLOCK_SIZE / blocksparse_block_size; + if (!((v_bs_block_id + bs_block_offset) % blocksparse_vert_stride == 0) && + !((v_bs_block_id > q_bs_block_id - blocksparse_local_blocks))) { + continue; + } + } + const int64_t physical_block_number = + static_cast(block_table[block_idx]); + const int physical_block_offset = (lane % NUM_V_VECS_PER_ROW) * V_VEC_SIZE; + const int token_idx = block_idx * BLOCK_SIZE + physical_block_offset; + L_vec logits_vec; + from_float(logits_vec, *reinterpret_cast(logits + token_idx - + start_token_idx)); + + const cache_t* v_ptr = v_cache + physical_block_number * kv_block_stride + + kv_head_idx * kv_head_stride; +#pragma unroll + for (int i = 0; i < NUM_ROWS_PER_THREAD; i++) { + const int row_idx = lane / NUM_V_VECS_PER_ROW + i * NUM_ROWS_PER_ITER; + if (row_idx < HEAD_SIZE) { + const int offset = row_idx * BLOCK_SIZE + physical_block_offset; + V_vec v_vec; + + if constexpr (KV_DTYPE == Fp8KVCacheDataType::kAuto) { + v_vec = *reinterpret_cast(v_ptr + offset); + } else { + V_quant_vec v_quant_vec = + *reinterpret_cast(v_ptr + offset); + // Vector conversion from V_quant_vec to V_vec. + v_vec = fp8::scaled_convert(v_quant_vec, + v_scale); + } + if (block_idx == num_seq_blocks - 1) { + // NOTE(woosuk): When v_vec contains the tokens that are out of the + // context, we should explicitly zero out the values since they may + // contain NaNs. See + // https://github.com/vllm-project/vllm/issues/641#issuecomment-1682544472 + scalar_t* v_vec_ptr = reinterpret_cast(&v_vec); +#pragma unroll + for (int j = 0; j < V_VEC_SIZE; j++) { + v_vec_ptr[j] = token_idx + j < seq_len ? v_vec_ptr[j] : zero_value; + } + } + accs[i] += dot(logits_vec, v_vec); + } + } + } + + // Perform reduction within each warp. +#pragma unroll + for (int i = 0; i < NUM_ROWS_PER_THREAD; i++) { + float acc = accs[i]; +#pragma unroll + for (int mask = NUM_V_VECS_PER_ROW / 2; mask >= 1; mask /= 2) { + acc += VLLM_SHFL_XOR_SYNC(acc, mask); + } + accs[i] = acc; + } + + // NOTE(woosuk): A barrier is required because the shared memory space for + // logits is reused for the output. + __syncthreads(); + + // Perform reduction across warps. + float* out_smem = reinterpret_cast(shared_mem); +#pragma unroll + for (int i = NUM_WARPS; i > 1; i /= 2) { + int mid = i / 2; + // Upper warps write to shared memory. + if (warp_idx >= mid && warp_idx < i) { + float* dst = &out_smem[(warp_idx - mid) * HEAD_SIZE]; +#pragma unroll + for (int i = 0; i < NUM_ROWS_PER_THREAD; i++) { + const int row_idx = lane / NUM_V_VECS_PER_ROW + i * NUM_ROWS_PER_ITER; + if (row_idx < HEAD_SIZE && lane % NUM_V_VECS_PER_ROW == 0) { + dst[row_idx] = accs[i]; + } + } + } + __syncthreads(); + + // Lower warps update the output. + if (warp_idx < mid) { + const float* src = &out_smem[warp_idx * HEAD_SIZE]; +#pragma unroll + for (int i = 0; i < NUM_ROWS_PER_THREAD; i++) { + const int row_idx = lane / NUM_V_VECS_PER_ROW + i * NUM_ROWS_PER_ITER; + if (row_idx < HEAD_SIZE && lane % NUM_V_VECS_PER_ROW == 0) { + accs[i] += src[row_idx]; + } + } + } + __syncthreads(); + } + + // Write the final output. + if (warp_idx == 0) { + scalar_t* out_ptr = + out + seq_idx * num_heads * max_num_partitions * HEAD_SIZE + + head_idx * max_num_partitions * HEAD_SIZE + partition_idx * HEAD_SIZE; +#pragma unroll + for (int i = 0; i < NUM_ROWS_PER_THREAD; i++) { + const int row_idx = lane / NUM_V_VECS_PER_ROW + i * NUM_ROWS_PER_ITER; + if (row_idx < HEAD_SIZE && lane % NUM_V_VECS_PER_ROW == 0) { + from_float(*(out_ptr + row_idx), accs[i]); + } + } + } +} + +// Grid: (num_heads, num_seqs, 1). +template +__global__ void paged_attention_v1_kernel( + scalar_t* __restrict__ out, // [num_seqs, num_heads, head_size] + const scalar_t* __restrict__ q, // [num_seqs, num_heads, head_size] + const cache_t* __restrict__ k_cache, // [num_blocks, num_kv_heads, + // head_size/x, block_size, x] + const cache_t* __restrict__ v_cache, // [num_blocks, num_kv_heads, + // head_size, block_size] + const int num_kv_heads, // [num_heads] + const float scale, + const int* __restrict__ block_tables, // [num_seqs, max_num_blocks_per_seq] + const int* __restrict__ seq_lens, // [num_seqs] + const int max_num_blocks_per_seq, + const float* __restrict__ alibi_slopes, // [num_heads] + const int q_stride, const int kv_block_stride, const int kv_head_stride, + const float k_scale, const float v_scale, const int tp_rank, + const int blocksparse_local_blocks, const int blocksparse_vert_stride, + const int blocksparse_block_size, const int blocksparse_head_sliding_step) { + paged_attention_kernel( + /* exp_sums */ nullptr, /* max_logits */ nullptr, out, q, k_cache, + v_cache, num_kv_heads, scale, block_tables, seq_lens, + max_num_blocks_per_seq, alibi_slopes, q_stride, kv_block_stride, + kv_head_stride, k_scale, v_scale, tp_rank, blocksparse_local_blocks, + blocksparse_vert_stride, blocksparse_block_size, + blocksparse_head_sliding_step); +} + +// Grid: (num_heads, num_seqs, max_num_partitions). +template +__global__ void paged_attention_v2_kernel( + float* __restrict__ exp_sums, // [num_seqs, num_heads, max_num_partitions] + float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + scalar_t* __restrict__ tmp_out, // [num_seqs, num_heads, + // max_num_partitions, head_size] + const scalar_t* __restrict__ q, // [num_seqs, num_heads, head_size] + const cache_t* __restrict__ k_cache, // [num_blocks, num_kv_heads, + // head_size/x, block_size, x] + const cache_t* __restrict__ v_cache, // [num_blocks, num_kv_heads, + // head_size, block_size] + const int num_kv_heads, // [num_heads] + const float scale, + const int* __restrict__ block_tables, // [num_seqs, max_num_blocks_per_seq] + const int* __restrict__ seq_lens, // [num_seqs] + const int max_num_blocks_per_seq, + const float* __restrict__ alibi_slopes, // [num_heads] + const int q_stride, const int kv_block_stride, const int kv_head_stride, + const float k_scale, const float v_scale, const int tp_rank, + const int blocksparse_local_blocks, const int blocksparse_vert_stride, + const int blocksparse_block_size, const int blocksparse_head_sliding_step) { + paged_attention_kernel( + exp_sums, max_logits, tmp_out, q, k_cache, v_cache, num_kv_heads, scale, + block_tables, seq_lens, max_num_blocks_per_seq, alibi_slopes, q_stride, + kv_block_stride, kv_head_stride, k_scale, v_scale, tp_rank, + blocksparse_local_blocks, blocksparse_vert_stride, blocksparse_block_size, + blocksparse_head_sliding_step); +} + +// Grid: (num_heads, num_seqs). +template +__global__ void paged_attention_v2_reduce_kernel( + scalar_t* __restrict__ out, // [num_seqs, num_heads, head_size] + const float* __restrict__ exp_sums, // [num_seqs, num_heads, + // max_num_partitions] + const float* __restrict__ max_logits, // [num_seqs, num_heads, + // max_num_partitions] + const scalar_t* __restrict__ tmp_out, // [num_seqs, num_heads, + // max_num_partitions, head_size] + const int* __restrict__ seq_lens, // [num_seqs] + const int max_num_partitions) { + const int num_heads = gridDim.x; + const int head_idx = blockIdx.x; + const int seq_idx = blockIdx.y; + const int seq_len = seq_lens[seq_idx]; + const int num_partitions = DIVIDE_ROUND_UP(seq_len, PARTITION_SIZE); + if (num_partitions == 1) { + // No need to reduce. Only copy tmp_out to out. + scalar_t* out_ptr = + out + seq_idx * num_heads * HEAD_SIZE + head_idx * HEAD_SIZE; + const scalar_t* tmp_out_ptr = + tmp_out + seq_idx * num_heads * max_num_partitions * HEAD_SIZE + + head_idx * max_num_partitions * HEAD_SIZE; + for (int i = threadIdx.x; i < HEAD_SIZE; i += blockDim.x) { + out_ptr[i] = tmp_out_ptr[i]; + } + // Terminate the thread block. + return; + } + + constexpr int NUM_WARPS = NUM_THREADS / WARP_SIZE; + const int warp_idx = threadIdx.x / WARP_SIZE; + const int lane = threadIdx.x % WARP_SIZE; + + // Size: 2 * num_partitions. + extern __shared__ char shared_mem[]; + // Workspace for reduction. + __shared__ float red_smem[2 * NUM_WARPS]; + + // Load max logits to shared memory. + float* shared_max_logits = reinterpret_cast(shared_mem); + const float* max_logits_ptr = max_logits + + seq_idx * num_heads * max_num_partitions + + head_idx * max_num_partitions; + float max_logit = -FLT_MAX; + for (int i = threadIdx.x; i < num_partitions; i += blockDim.x) { + const float l = max_logits_ptr[i]; + shared_max_logits[i] = l; + max_logit = fmaxf(max_logit, l); + } + __syncthreads(); + + // Get the global max logit. + // Reduce within the warp. +#pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { + max_logit = fmaxf(max_logit, VLLM_SHFL_XOR_SYNC(max_logit, mask)); + } + if (lane == 0) { + red_smem[warp_idx] = max_logit; + } + __syncthreads(); + // Reduce across warps. + max_logit = lane < NUM_WARPS ? red_smem[lane] : -FLT_MAX; +#pragma unroll + for (int mask = NUM_WARPS / 2; mask >= 1; mask /= 2) { + max_logit = fmaxf(max_logit, VLLM_SHFL_XOR_SYNC(max_logit, mask)); + } + // Broadcast the max value to all threads. + max_logit = VLLM_SHFL_SYNC(max_logit, 0); + + // Load rescaled exp sums to shared memory. + float* shared_exp_sums = + reinterpret_cast(shared_mem + sizeof(float) * num_partitions); + const float* exp_sums_ptr = exp_sums + + seq_idx * num_heads * max_num_partitions + + head_idx * max_num_partitions; + float global_exp_sum = 0.0f; + for (int i = threadIdx.x; i < num_partitions; i += blockDim.x) { + float l = shared_max_logits[i]; + float rescaled_exp_sum = exp_sums_ptr[i] * expf(l - max_logit); + global_exp_sum += rescaled_exp_sum; + shared_exp_sums[i] = rescaled_exp_sum; + } + __syncthreads(); + global_exp_sum = block_sum(&red_smem[NUM_WARPS], global_exp_sum); + const float inv_global_exp_sum = __fdividef(1.0f, global_exp_sum + 1e-6f); + + // Aggregate tmp_out to out. + const scalar_t* tmp_out_ptr = + tmp_out + seq_idx * num_heads * max_num_partitions * HEAD_SIZE + + head_idx * max_num_partitions * HEAD_SIZE; + scalar_t* out_ptr = + out + seq_idx * num_heads * HEAD_SIZE + head_idx * HEAD_SIZE; +#pragma unroll + for (int i = threadIdx.x; i < HEAD_SIZE; i += NUM_THREADS) { + float acc = 0.0f; + for (int j = 0; j < num_partitions; ++j) { + acc += to_float(tmp_out_ptr[j * HEAD_SIZE + i]) * shared_exp_sums[j] * + inv_global_exp_sum; + } + from_float(out_ptr[i], acc); + } +} + +} // namespace vllm + +#define LAUNCH_PAGED_ATTENTION_V1(HEAD_SIZE) \ + VLLM_DevFuncAttribute_SET_MaxDynamicSharedMemorySize( \ + ((void*)vllm::paged_attention_v1_kernel), \ + shared_mem_size); \ + vllm::paged_attention_v1_kernel \ + <<>>( \ + out_ptr, query_ptr, key_cache_ptr, value_cache_ptr, num_kv_heads, \ + scale, block_tables_ptr, seq_lens_ptr, max_num_blocks_per_seq, \ + alibi_slopes_ptr, q_stride, kv_block_stride, kv_head_stride, \ + k_scale, v_scale, tp_rank, blocksparse_local_blocks, \ + blocksparse_vert_stride, blocksparse_block_size, \ + blocksparse_head_sliding_step); + +// TODO(woosuk): Tune NUM_THREADS. +template +#else + int NUM_THREADS = 128> +#endif +void paged_attention_v1_launcher( + torch::Tensor& out, torch::Tensor& query, torch::Tensor& key_cache, + torch::Tensor& value_cache, int num_kv_heads, float scale, + torch::Tensor& block_tables, torch::Tensor& seq_lens, int max_seq_len, + const c10::optional& alibi_slopes, float k_scale, + float v_scale, const int tp_rank, const int blocksparse_local_blocks, + const int blocksparse_vert_stride, const int blocksparse_block_size, + const int blocksparse_head_sliding_step) { + int num_seqs = query.size(0); + int num_heads = query.size(1); + int head_size = query.size(2); + int max_num_blocks_per_seq = block_tables.size(1); + int q_stride = query.stride(0); + int kv_block_stride = key_cache.stride(0); + int kv_head_stride = key_cache.stride(1); + + [[maybe_unused]] int thread_group_size = MAX(WARP_SIZE / BLOCK_SIZE, 1); + assert(head_size % thread_group_size == 0); + + // NOTE: alibi_slopes is optional. + const float* alibi_slopes_ptr = + alibi_slopes + ? reinterpret_cast(alibi_slopes.value().data_ptr()) + : nullptr; + + T* out_ptr = reinterpret_cast(out.data_ptr()); + T* query_ptr = reinterpret_cast(query.data_ptr()); + CACHE_T* key_cache_ptr = reinterpret_cast(key_cache.data_ptr()); + CACHE_T* value_cache_ptr = reinterpret_cast(value_cache.data_ptr()); + int* block_tables_ptr = block_tables.data_ptr(); + int* seq_lens_ptr = seq_lens.data_ptr(); + + constexpr int NUM_WARPS = NUM_THREADS / WARP_SIZE; + int padded_max_seq_len = + DIVIDE_ROUND_UP(max_seq_len, BLOCK_SIZE) * BLOCK_SIZE; + int logits_size = padded_max_seq_len * sizeof(float); + int outputs_size = (NUM_WARPS / 2) * head_size * sizeof(float); + // Python-side check in vllm.worker.worker._check_if_can_support_max_seq_len + // Keep that in sync with the logic here! + int shared_mem_size = std::max(logits_size, outputs_size); + + dim3 grid(num_heads, num_seqs, 1); + dim3 block(NUM_THREADS); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + switch (head_size) { + // NOTE(woosuk): To reduce the compilation time, we only compile for the + // head sizes that we use in the model. However, we can easily extend this + // to support any head size which is a multiple of 16. + case 64: + LAUNCH_PAGED_ATTENTION_V1(64); + break; + case 80: + LAUNCH_PAGED_ATTENTION_V1(80); + break; + case 96: + LAUNCH_PAGED_ATTENTION_V1(96); + break; + case 112: + LAUNCH_PAGED_ATTENTION_V1(112); + break; + case 120: + LAUNCH_PAGED_ATTENTION_V1(120); + break; + case 128: + LAUNCH_PAGED_ATTENTION_V1(128); + break; + case 192: + LAUNCH_PAGED_ATTENTION_V1(192); + break; + case 256: + LAUNCH_PAGED_ATTENTION_V1(256); + break; + default: + TORCH_CHECK(false, "Unsupported head size: ", head_size); + break; + } +} + +#define CALL_V1_LAUNCHER(T, CACHE_T, BLOCK_SIZE, KV_DTYPE, IS_BLOCK_SPARSE) \ + paged_attention_v1_launcher( \ + out, query, key_cache, value_cache, num_kv_heads, scale, block_tables, \ + seq_lens, max_seq_len, alibi_slopes, k_scale, v_scale, tp_rank, \ + blocksparse_local_blocks, blocksparse_vert_stride, \ + blocksparse_block_size, blocksparse_head_sliding_step); + +#define CALL_V1_LAUNCHER_SPARSITY(T, CACHE_T, BLOCK_SIZE, IS_FP8_KV_CACHE) \ + switch (is_block_sparse) { \ + case true: \ + CALL_V1_LAUNCHER(T, CACHE_T, BLOCK_SIZE, IS_FP8_KV_CACHE, true); \ + break; \ + case false: \ + CALL_V1_LAUNCHER(T, CACHE_T, BLOCK_SIZE, IS_FP8_KV_CACHE, false); \ + break; \ + } + +// NOTE(woosuk): To reduce the compilation time, we omitted block sizes +// 1, 2, 4, 64, 128, 256. +#define CALL_V1_LAUNCHER_BLOCK_SIZE(T, CACHE_T, KV_DTYPE) \ + switch (block_size) { \ + case 8: \ + CALL_V1_LAUNCHER_SPARSITY(T, CACHE_T, 8, KV_DTYPE); \ + break; \ + case 16: \ + CALL_V1_LAUNCHER_SPARSITY(T, CACHE_T, 16, KV_DTYPE); \ + break; \ + case 32: \ + CALL_V1_LAUNCHER_SPARSITY(T, CACHE_T, 32, KV_DTYPE); \ + break; \ + default: \ + TORCH_CHECK(false, "Unsupported block size: ", block_size); \ + break; \ + } + +void paged_attention_v1( + torch::Tensor& out, // [num_seqs, num_heads, head_size] + torch::Tensor& query, // [num_seqs, num_heads, head_size] + torch::Tensor& + key_cache, // [num_blocks, num_heads, head_size/x, block_size, x] + torch::Tensor& + value_cache, // [num_blocks, num_heads, head_size, block_size] + int64_t num_kv_heads, // [num_heads] + double scale, + torch::Tensor& block_tables, // [num_seqs, max_num_blocks_per_seq] + torch::Tensor& seq_lens, // [num_seqs] + int64_t block_size, int64_t max_seq_len, + const c10::optional& alibi_slopes, + const std::string& kv_cache_dtype, double k_scale, double v_scale, + const int64_t tp_rank, const int64_t blocksparse_local_blocks, + const int64_t blocksparse_vert_stride, const int64_t blocksparse_block_size, + const int64_t blocksparse_head_sliding_step) { + const bool is_block_sparse = (blocksparse_vert_stride > 1); + + DISPATCH_BY_KV_CACHE_DTYPE(query.dtype(), kv_cache_dtype, + CALL_V1_LAUNCHER_BLOCK_SIZE) +} + +#define LAUNCH_PAGED_ATTENTION_V2(HEAD_SIZE) \ + vllm::paged_attention_v2_kernel \ + <<>>( \ + exp_sums_ptr, max_logits_ptr, tmp_out_ptr, query_ptr, key_cache_ptr, \ + value_cache_ptr, num_kv_heads, scale, block_tables_ptr, \ + seq_lens_ptr, max_num_blocks_per_seq, alibi_slopes_ptr, q_stride, \ + kv_block_stride, kv_head_stride, k_scale, v_scale, tp_rank, \ + blocksparse_local_blocks, blocksparse_vert_stride, \ + blocksparse_block_size, blocksparse_head_sliding_step); \ + vllm::paged_attention_v2_reduce_kernel \ + <<>>( \ + out_ptr, exp_sums_ptr, max_logits_ptr, tmp_out_ptr, seq_lens_ptr, \ + max_num_partitions); + +template +#else + int NUM_THREADS = 128, int PARTITION_SIZE = 512> +#endif +void paged_attention_v2_launcher( + torch::Tensor& out, torch::Tensor& exp_sums, torch::Tensor& max_logits, + torch::Tensor& tmp_out, torch::Tensor& query, torch::Tensor& key_cache, + torch::Tensor& value_cache, int num_kv_heads, float scale, + torch::Tensor& block_tables, torch::Tensor& seq_lens, int max_seq_len, + const c10::optional& alibi_slopes, float k_scale, + float v_scale, const int tp_rank, const int blocksparse_local_blocks, + const int blocksparse_vert_stride, const int blocksparse_block_size, + const int blocksparse_head_sliding_step) { + int num_seqs = query.size(0); + int num_heads = query.size(1); + int head_size = query.size(2); + int max_num_blocks_per_seq = block_tables.size(1); + int q_stride = query.stride(0); + int kv_block_stride = key_cache.stride(0); + int kv_head_stride = key_cache.stride(1); + + [[maybe_unused]] int thread_group_size = MAX(WARP_SIZE / BLOCK_SIZE, 1); + assert(head_size % thread_group_size == 0); + + // NOTE: alibi_slopes is optional. + const float* alibi_slopes_ptr = + alibi_slopes + ? reinterpret_cast(alibi_slopes.value().data_ptr()) + : nullptr; + + T* out_ptr = reinterpret_cast(out.data_ptr()); + float* exp_sums_ptr = reinterpret_cast(exp_sums.data_ptr()); + float* max_logits_ptr = reinterpret_cast(max_logits.data_ptr()); + T* tmp_out_ptr = reinterpret_cast(tmp_out.data_ptr()); + T* query_ptr = reinterpret_cast(query.data_ptr()); + CACHE_T* key_cache_ptr = reinterpret_cast(key_cache.data_ptr()); + CACHE_T* value_cache_ptr = reinterpret_cast(value_cache.data_ptr()); + int* block_tables_ptr = block_tables.data_ptr(); + int* seq_lens_ptr = seq_lens.data_ptr(); + + constexpr int NUM_WARPS = NUM_THREADS / WARP_SIZE; + int max_num_partitions = DIVIDE_ROUND_UP(max_seq_len, PARTITION_SIZE); + int logits_size = PARTITION_SIZE * sizeof(float); + int outputs_size = (NUM_WARPS / 2) * head_size * sizeof(float); + + // For paged attention v2 kernel. + dim3 grid(num_heads, num_seqs, max_num_partitions); + int shared_mem_size = std::max(logits_size, outputs_size); + // For paged attention v2 reduce kernel. + dim3 reduce_grid(num_heads, num_seqs); + int reduce_shared_mem_size = 2 * max_num_partitions * sizeof(float); + + dim3 block(NUM_THREADS); + const at::cuda::OptionalCUDAGuard device_guard(device_of(query)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + switch (head_size) { + // NOTE(woosuk): To reduce the compilation time, we only compile for the + // head sizes that we use in the model. However, we can easily extend this + // to support any head size which is a multiple of 16. + case 64: + LAUNCH_PAGED_ATTENTION_V2(64); + break; + case 80: + LAUNCH_PAGED_ATTENTION_V2(80); + break; + case 96: + LAUNCH_PAGED_ATTENTION_V2(96); + break; + case 112: + LAUNCH_PAGED_ATTENTION_V2(112); + break; + case 120: + LAUNCH_PAGED_ATTENTION_V2(120); + break; + case 128: + LAUNCH_PAGED_ATTENTION_V2(128); + break; + case 192: + LAUNCH_PAGED_ATTENTION_V2(192); + break; + case 256: + LAUNCH_PAGED_ATTENTION_V2(256); + break; + default: + TORCH_CHECK(false, "Unsupported head size: ", head_size); + break; + } +} + +#define CALL_V2_LAUNCHER(T, CACHE_T, BLOCK_SIZE, KV_DTYPE, IS_BLOCK_SPARSE) \ + paged_attention_v2_launcher( \ + out, exp_sums, max_logits, tmp_out, query, key_cache, value_cache, \ + num_kv_heads, scale, block_tables, seq_lens, max_seq_len, alibi_slopes, \ + k_scale, v_scale, tp_rank, blocksparse_local_blocks, \ + blocksparse_vert_stride, blocksparse_block_size, \ + blocksparse_head_sliding_step); + +#define CALL_V2_LAUNCHER_SPARSITY(T, CACHE_T, BLOCK_SIZE, IS_FP8_KV_CACHE) \ + switch (is_block_sparse) { \ + case true: \ + CALL_V2_LAUNCHER(T, CACHE_T, BLOCK_SIZE, IS_FP8_KV_CACHE, true); \ + break; \ + case false: \ + CALL_V2_LAUNCHER(T, CACHE_T, BLOCK_SIZE, IS_FP8_KV_CACHE, false); \ + break; \ + } + +// NOTE(woosuk): To reduce the compilation time, we omitted block sizes +// 1, 2, 4, 64, 128, 256. +#define CALL_V2_LAUNCHER_BLOCK_SIZE(T, CACHE_T, KV_DTYPE) \ + switch (block_size) { \ + case 8: \ + CALL_V2_LAUNCHER_SPARSITY(T, CACHE_T, 8, KV_DTYPE); \ + break; \ + case 16: \ + CALL_V2_LAUNCHER_SPARSITY(T, CACHE_T, 16, KV_DTYPE); \ + break; \ + case 32: \ + CALL_V2_LAUNCHER_SPARSITY(T, CACHE_T, 32, KV_DTYPE); \ + break; \ + default: \ + TORCH_CHECK(false, "Unsupported block size: ", block_size); \ + break; \ + } + +void paged_attention_v2( + torch::Tensor& out, // [num_seqs, num_heads, head_size] + torch::Tensor& exp_sums, // [num_seqs, num_heads, max_num_partitions] + torch::Tensor& max_logits, // [num_seqs, num_heads, max_num_partitions] + torch::Tensor& + tmp_out, // [num_seqs, num_heads, max_num_partitions, head_size] + torch::Tensor& query, // [num_seqs, num_heads, head_size] + torch::Tensor& + key_cache, // [num_blocks, num_heads, head_size/x, block_size, x] + torch::Tensor& + value_cache, // [num_blocks, num_heads, head_size, block_size] + int64_t num_kv_heads, // [num_heads] + double scale, + torch::Tensor& block_tables, // [num_seqs, max_num_blocks_per_seq] + torch::Tensor& seq_lens, // [num_seqs] + int64_t block_size, int64_t max_seq_len, + const c10::optional& alibi_slopes, + const std::string& kv_cache_dtype, double k_scale, double v_scale, + const int64_t tp_rank, const int64_t blocksparse_local_blocks, + const int64_t blocksparse_vert_stride, const int64_t blocksparse_block_size, + const int64_t blocksparse_head_sliding_step) { + const bool is_block_sparse = (blocksparse_vert_stride > 1); + DISPATCH_BY_KV_CACHE_DTYPE(query.dtype(), kv_cache_dtype, + CALL_V2_LAUNCHER_BLOCK_SIZE) +} + +#undef WARP_SIZE +#undef MAX +#undef MIN +#undef DIVIDE_ROUND_UP diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_utils.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_utils.cuh new file mode 100644 index 000000000..f5a3f7039 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/attention_utils.cuh @@ -0,0 +1,57 @@ +/* + * Adapted from + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention/decoder_masked_multihead_attention_template.hpp + * Copyright (c) 2023, The vLLM team. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include "hip_compat.h" +#include "attention_dtypes.h" + +#include +#include + +namespace vllm { + +// Q*K^T operation. +template +inline __device__ float qk_dot_(const Vec (&q)[N], const Vec (&k)[N]) { + using A_vec = typename FloatVec::Type; + // Compute the parallel products for Q*K^T (treat vector lanes separately). + A_vec qk_vec = mul(q[0], k[0]); +#pragma unroll + for (int ii = 1; ii < N; ++ii) { + qk_vec = vllm::fma(q[ii], k[ii], qk_vec); + } + + // Finalize the reduction across lanes. + float qk = sum(qk_vec); +#pragma unroll + for (int mask = THREAD_GROUP_SIZE / 2; mask >= 1; mask /= 2) { + qk += VLLM_SHFL_XOR_SYNC(qk, mask); + } + return qk; +} + +template +struct Qk_dot { + template + static inline __device__ float dot(const Vec (&q)[N], const Vec (&k)[N]) { + return qk_dot_(q, k); + } +}; + +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache.h new file mode 100644 index 000000000..11c4c5001 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache.h @@ -0,0 +1,33 @@ +#pragma once + +#include + +#include +#include + +void swap_blocks(torch::Tensor& src, torch::Tensor& dst, + const torch::Tensor& block_mapping); + +// Note: the key_caches and value_caches vectors are constant but +// not the Tensors they contain. The vectors need to be const refs +// in order to satisfy pytorch's C++ operator registration code. +void copy_blocks(std::vector const& key_caches, + std::vector const& value_caches, + const torch::Tensor& block_mapping); + +void reshape_and_cache(torch::Tensor& key, torch::Tensor& value, + torch::Tensor& key_cache, torch::Tensor& value_cache, + torch::Tensor& slot_mapping, + const std::string& kv_cache_dtype, const double k_scale, + const double v_scale); + +void reshape_and_cache_flash(torch::Tensor& key, torch::Tensor& value, + torch::Tensor& key_cache, + torch::Tensor& value_cache, + torch::Tensor& slot_mapping, + const std::string& kv_cache_dtype, + const double k_scale, const double v_scale); + +// Just for unittest +void convert_fp8(torch::Tensor& dst_cache, torch::Tensor& src_cache, + const double scale, const std::string& kv_cache_dtype); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache_kernels.cu new file mode 100644 index 000000000..bfd054811 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/cache_kernels.cu @@ -0,0 +1,405 @@ +#include +#include +#include + +#include "hip_compat.h" +#include "dispatch_utils.h" + +#ifdef USE_ROCM + #include "quant_utils.cuh" +#else + #include "quantization/fp8/nvidia/quant_utils.cuh" +#endif + +#include +#include +#include +#include + +#ifdef USE_ROCM + #include +typedef __hip_bfloat16 __nv_bfloat16; +#endif + +void swap_blocks(torch::Tensor& src, torch::Tensor& dst, + const torch::Tensor& block_mapping) { + torch::Device src_device = src.device(); + torch::Device dst_device = dst.device(); + cudaMemcpyKind memcpy_type; + if (src_device.is_cuda() && dst_device.is_cuda()) { + TORCH_CHECK(src_device.index() == dst_device.index(), + "src and dst must be on the same GPU"); + memcpy_type = cudaMemcpyDeviceToDevice; + } else if (src_device.is_cuda() && dst_device.is_cpu()) { + memcpy_type = cudaMemcpyDeviceToHost; + } else if (src_device.is_cpu() && dst_device.is_cuda()) { + memcpy_type = cudaMemcpyHostToDevice; + } else { + TORCH_CHECK(false, "Invalid device combination"); + } + + // NOTE(youkaichao): keep in mind that `block_mapping` should be + // a cpu tensor, otherwise every `item` call will require a gpu-cpu + // synchronization. + TORCH_CHECK(block_mapping.device().is_cpu(), "block_mapping must be on CPU"); + + char* src_ptr = static_cast(src.data_ptr()); + char* dst_ptr = static_cast(dst.data_ptr()); + + const int64_t block_size_in_bytes = src.element_size() * src[0].numel(); + const at::cuda::OptionalCUDAGuard device_guard( + src_device.is_cuda() ? src_device : dst_device); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + // NOTE(woosuk): This can be slow if the number of blocks is large. + const int64_t num_blocks = block_mapping.size(0); + for (size_t i = 0; i < num_blocks; i++) { + int64_t src_block_number = block_mapping[i][0].item(); + int64_t dst_block_number = block_mapping[i][1].item(); + int64_t src_offset = src_block_number * block_size_in_bytes; + int64_t dst_offset = dst_block_number * block_size_in_bytes; + cudaMemcpyAsync(dst_ptr + dst_offset, src_ptr + src_offset, + block_size_in_bytes, memcpy_type, stream); + } +} + +namespace vllm { + +// Grid: (num_layers, num_pairs) +template +__global__ void copy_blocks_kernel(int64_t* key_cache_ptrs, + int64_t* value_cache_ptrs, + const int64_t* __restrict__ block_mapping, + const int numel_per_block) { + const int layer_idx = blockIdx.x; + const int pair_idx = blockIdx.y; + + scalar_t* key_cache = reinterpret_cast(key_cache_ptrs[layer_idx]); + scalar_t* value_cache = + reinterpret_cast(value_cache_ptrs[layer_idx]); + int64_t src_block_number = block_mapping[2 * pair_idx]; + int64_t dst_block_number = block_mapping[2 * pair_idx + 1]; + + const int64_t src_block_offset = src_block_number * numel_per_block; + const int64_t dst_block_offset = dst_block_number * numel_per_block; + for (int i = threadIdx.x; i < numel_per_block; i += blockDim.x) { + int64_t src_offset = src_block_offset + i; + int64_t dst_offset = dst_block_offset + i; + key_cache[dst_offset] = key_cache[src_offset]; + } + for (int i = threadIdx.x; i < numel_per_block; i += blockDim.x) { + int64_t src_offset = src_block_offset + i; + int64_t dst_offset = dst_block_offset + i; + value_cache[dst_offset] = value_cache[src_offset]; + } +} + +} // namespace vllm + +// Note: the key_caches and value_caches vectors are constant but +// not the Tensors they contain. The vectors need to be const refs +// in order to satisfy pytorch's C++ operator registration code. +void copy_blocks(std::vector const& key_caches, + std::vector const& value_caches, + const torch::Tensor& block_mapping) { + int num_layers = key_caches.size(); + TORCH_CHECK(num_layers == value_caches.size()); + if (num_layers == 0) { + return; + } + torch::Device cache_device = key_caches[0].device(); + TORCH_CHECK(cache_device.is_cuda()); + + // Create data structures for the kernel. + // Create an array of pointers to the key and value caches. + int64_t key_cache_ptrs[num_layers]; + int64_t value_cache_ptrs[num_layers]; + for (int layer_idx = 0; layer_idx < num_layers; ++layer_idx) { + key_cache_ptrs[layer_idx] = + reinterpret_cast(key_caches[layer_idx].data_ptr()); + value_cache_ptrs[layer_idx] = + reinterpret_cast(value_caches[layer_idx].data_ptr()); + } + + // block_mapping is a 2D tensor with shape (num_pairs, 2). + int num_pairs = block_mapping.size(0); + + // Move the data structures to the GPU. + // NOTE: This synchronizes the CPU and GPU. + torch::Tensor key_cache_ptrs_tensor = + torch::from_blob(key_cache_ptrs, {num_layers}, torch::kInt64) + .to(cache_device); + torch::Tensor value_cache_ptrs_tensor = + torch::from_blob(value_cache_ptrs, {num_layers}, torch::kInt64) + .to(cache_device); + + // Launch the kernel. + const int numel_per_block = key_caches[0][0].numel(); + dim3 grid(num_layers, num_pairs); + dim3 block(std::min(1024, numel_per_block)); + const at::cuda::OptionalCUDAGuard device_guard(cache_device); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_AND_BYTE_TYPES( + key_caches[0].scalar_type(), "copy_blocks_kernel", ([&] { + vllm::copy_blocks_kernel<<>>( + key_cache_ptrs_tensor.data_ptr(), + value_cache_ptrs_tensor.data_ptr(), + block_mapping.data_ptr(), numel_per_block); + })); +} + +namespace vllm { + +template +__global__ void reshape_and_cache_kernel( + const scalar_t* __restrict__ key, // [num_tokens, num_heads, head_size] + const scalar_t* __restrict__ value, // [num_tokens, num_heads, head_size] + cache_t* __restrict__ key_cache, // [num_blocks, num_heads, head_size/x, + // block_size, x] + cache_t* __restrict__ value_cache, // [num_blocks, num_heads, head_size, + // block_size] + const int64_t* __restrict__ slot_mapping, // [num_tokens] + const int key_stride, const int value_stride, const int num_heads, + const int head_size, const int block_size, const int x, const float k_scale, + const float v_scale) { + const int64_t token_idx = blockIdx.x; + const int64_t slot_idx = slot_mapping[token_idx]; + if (slot_idx < 0) { + // Padding token that should be ignored. + return; + } + + const int64_t block_idx = slot_idx / block_size; + const int64_t block_offset = slot_idx % block_size; + + const int n = num_heads * head_size; + for (int i = threadIdx.x; i < n; i += blockDim.x) { + const int64_t src_key_idx = token_idx * key_stride + i; + const int64_t src_value_idx = token_idx * value_stride + i; + + const int head_idx = i / head_size; + const int head_offset = i % head_size; + const int x_idx = head_offset / x; + const int x_offset = head_offset % x; + + const int64_t tgt_key_idx = + block_idx * num_heads * (head_size / x) * block_size * x + + head_idx * (head_size / x) * block_size * x + x_idx * block_size * x + + block_offset * x + x_offset; + const int64_t tgt_value_idx = + block_idx * num_heads * head_size * block_size + + head_idx * head_size * block_size + head_offset * block_size + + block_offset; + scalar_t tgt_key = key[src_key_idx]; + scalar_t tgt_value = value[src_value_idx]; + if constexpr (kv_dt == Fp8KVCacheDataType::kAuto) { + key_cache[tgt_key_idx] = tgt_key; + value_cache[tgt_value_idx] = tgt_value; + } else { + key_cache[tgt_key_idx] = + fp8::scaled_convert(tgt_key, k_scale); + value_cache[tgt_value_idx] = + fp8::scaled_convert(tgt_value, v_scale); + } + } +} + +template +__global__ void reshape_and_cache_flash_kernel( + const scalar_t* __restrict__ key, // [num_tokens, num_heads, head_size] + const scalar_t* __restrict__ value, // [num_tokens, num_heads, head_size] + cache_t* __restrict__ key_cache, // [num_blocks, block_size, num_heads, + // head_size] + cache_t* __restrict__ value_cache, // [num_blocks, block_size, num_heads, + // head_size] + const int64_t* __restrict__ slot_mapping, // [num_tokens] + const int block_stride, const int key_stride, const int value_stride, + const int num_heads, const int head_size, const int block_size, + const float k_scale, const float v_scale) { + const int64_t token_idx = blockIdx.x; + const int64_t slot_idx = slot_mapping[token_idx]; + // NOTE: slot_idx can be -1 if the token is padded + if (slot_idx < 0) { + return; + } + const int64_t block_idx = slot_idx / block_size; + const int64_t block_offset = slot_idx % block_size; + const int n = num_heads * head_size; + for (int i = threadIdx.x; i < n; i += blockDim.x) { + const int64_t src_key_idx = token_idx * key_stride + i; + const int64_t src_value_idx = token_idx * value_stride + i; + const int head_idx = i / head_size; + const int head_offset = i % head_size; + const int64_t tgt_key_value_idx = block_idx * block_stride + + block_offset * num_heads * head_size + + head_idx * head_size + head_offset; + scalar_t tgt_key = key[src_key_idx]; + scalar_t tgt_value = value[src_value_idx]; + if constexpr (kv_dt == Fp8KVCacheDataType::kAuto) { + key_cache[tgt_key_value_idx] = tgt_key; + value_cache[tgt_key_value_idx] = tgt_value; + } else { + key_cache[tgt_key_value_idx] = + fp8::scaled_convert(tgt_key, k_scale); + value_cache[tgt_key_value_idx] = + fp8::scaled_convert(tgt_value, v_scale); + } + } +} +} // namespace vllm + +// KV_T is the stored data type of kv-cache. +// CACHE_T is the data type of key and value tensors. +// KV_DTYPE is the real data type of kv-cache. +#define CALL_RESHAPE_AND_CACHE(KV_T, CACHE_T, KV_DTYPE) \ + vllm::reshape_and_cache_kernel \ + <<>>( \ + reinterpret_cast(key.data_ptr()), \ + reinterpret_cast(value.data_ptr()), \ + reinterpret_cast(key_cache.data_ptr()), \ + reinterpret_cast(value_cache.data_ptr()), \ + slot_mapping.data_ptr(), key_stride, value_stride, \ + num_heads, head_size, block_size, x, k_scale, v_scale); + +void reshape_and_cache( + torch::Tensor& key, // [num_tokens, num_heads, head_size] + torch::Tensor& value, // [num_tokens, num_heads, head_size] + torch::Tensor& + key_cache, // [num_blocks, num_heads, head_size/x, block_size, x] + torch::Tensor& + value_cache, // [num_blocks, num_heads, head_size, block_size] + torch::Tensor& slot_mapping, // [num_tokens] + const std::string& kv_cache_dtype, const double k_scale, + const double v_scale) { + int num_tokens = key.size(0); + int num_heads = key.size(1); + int head_size = key.size(2); + int block_size = key_cache.size(3); + int x = key_cache.size(4); + + int key_stride = key.stride(0); + int value_stride = value.stride(0); + + dim3 grid(num_tokens); + dim3 block(std::min(num_heads * head_size, 512)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(key)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + DISPATCH_BY_KV_CACHE_DTYPE(key.dtype(), kv_cache_dtype, + CALL_RESHAPE_AND_CACHE) +} + +// KV_T is the stored data type of kv-cache. +// CACHE_T is the data type of key and value tensors. +// KV_DTYPE is the real data type of kv-cache. +#define CALL_RESHAPE_AND_CACHE_FLASH(KV_T, CACHE_T, KV_DTYPE) \ + vllm::reshape_and_cache_flash_kernel \ + <<>>( \ + reinterpret_cast(key.data_ptr()), \ + reinterpret_cast(value.data_ptr()), \ + reinterpret_cast(key_cache.data_ptr()), \ + reinterpret_cast(value_cache.data_ptr()), \ + slot_mapping.data_ptr(), block_stride, key_stride, \ + value_stride, num_heads, head_size, block_size, k_scale, v_scale); + +void reshape_and_cache_flash( + torch::Tensor& key, // [num_tokens, num_heads, head_size] + torch::Tensor& value, // [num_tokens, num_heads, head_size] + torch::Tensor& key_cache, // [num_blocks, block_size, num_heads, head_size] + torch::Tensor& + value_cache, // [num_blocks, block_size, num_heads, head_size] + torch::Tensor& slot_mapping, // [num_tokens] + const std::string& kv_cache_dtype, const double k_scale, + const double v_scale) { + int num_tokens = key.size(0); + int num_heads = key.size(1); + int head_size = key.size(2); + int block_size = key_cache.size(1); + + int key_stride = key.stride(0); + int value_stride = value.stride(0); + int block_stride = key_cache.stride(0); + TORCH_CHECK(key_cache.stride(0) == value_cache.stride(0)); + + dim3 grid(num_tokens); + dim3 block(std::min(num_heads * head_size, 512)); + const at::cuda::OptionalCUDAGuard device_guard(device_of(key)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + DISPATCH_BY_KV_CACHE_DTYPE(key.dtype(), kv_cache_dtype, + CALL_RESHAPE_AND_CACHE_FLASH); +} + +namespace vllm { + +template +__global__ void convert_fp8_kernel(const Tin* __restrict__ src_cache, + Tout* __restrict__ dst_cache, + const float scale, + const int64_t block_stride) { + const int64_t block_idx = blockIdx.x; + for (int i = threadIdx.x; i < block_stride; i += blockDim.x) { + int64_t idx = block_idx * block_stride + i; + dst_cache[idx] = + fp8::scaled_convert(src_cache[idx], scale); + } +} + +} // namespace vllm + +#define CALL_CONVERT_FP8(Tout, Tin, KV_DTYPE) \ + vllm::convert_fp8_kernel<<>>( \ + reinterpret_cast(src_cache.data_ptr()), \ + reinterpret_cast(dst_cache.data_ptr()), scale, block_stride); + +// Only for testing. +void convert_fp8(torch::Tensor& dst_cache, torch::Tensor& src_cache, + const double scale, const std::string& kv_cache_dtype) { + torch::Device src_device = src_cache.device(); + torch::Device dst_device = dst_cache.device(); + TORCH_CHECK(src_device.is_cuda(), "src must be on a GPU") + TORCH_CHECK(dst_device.is_cuda(), "dst must be on a GPU") + TORCH_CHECK(src_device.index() == dst_device.index(), + "src and dst must be on the same GPU"); + at::cuda::OptionalCUDAGuard device_guard(src_device); + + int64_t num_blocks = src_cache.size(0); + int64_t block_stride = src_cache.stride(0); + + dim3 grid(num_blocks); + dim3 block(std::min(block_stride, int64_t(512))); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + if (kv_cache_dtype == "auto") { + if (src_cache.dtype() == at::ScalarType::Float) { + CALL_CONVERT_FP8(uint8_t, float, vllm::Fp8KVCacheDataType::kAuto); + } else if (src_cache.dtype() == at::ScalarType::Half) { + CALL_CONVERT_FP8(uint8_t, uint16_t, vllm::Fp8KVCacheDataType::kAuto); + } else if (src_cache.dtype() == at::ScalarType::BFloat16) { + CALL_CONVERT_FP8(uint8_t, __nv_bfloat16, vllm::Fp8KVCacheDataType::kAuto); + } else if (dst_cache.dtype() == at::ScalarType::Float) { + CALL_CONVERT_FP8(float, uint8_t, vllm::Fp8KVCacheDataType::kAuto); + } else if (dst_cache.dtype() == at::ScalarType::Half) { + CALL_CONVERT_FP8(uint16_t, uint8_t, vllm::Fp8KVCacheDataType::kAuto); + } else if (dst_cache.dtype() == at::ScalarType::BFloat16) { + CALL_CONVERT_FP8(__nv_bfloat16, uint8_t, vllm::Fp8KVCacheDataType::kAuto); + } + } else if (kv_cache_dtype == "fp8" || kv_cache_dtype == "fp8_e4m3") { + if (src_cache.dtype() == at::ScalarType::Float) { + CALL_CONVERT_FP8(uint8_t, float, vllm::Fp8KVCacheDataType::kFp8E4M3); + } else if (src_cache.dtype() == at::ScalarType::Half) { + CALL_CONVERT_FP8(uint8_t, uint16_t, vllm::Fp8KVCacheDataType::kFp8E4M3); + } else if (src_cache.dtype() == at::ScalarType::BFloat16) { + CALL_CONVERT_FP8(uint8_t, __nv_bfloat16, + vllm::Fp8KVCacheDataType::kFp8E4M3); + } else if (dst_cache.dtype() == at::ScalarType::Float) { + CALL_CONVERT_FP8(float, uint8_t, vllm::Fp8KVCacheDataType::kFp8E4M3); + } else if (dst_cache.dtype() == at::ScalarType::Half) { + CALL_CONVERT_FP8(uint16_t, uint8_t, vllm::Fp8KVCacheDataType::kFp8E4M3); + } else if (dst_cache.dtype() == at::ScalarType::BFloat16) { + CALL_CONVERT_FP8(__nv_bfloat16, uint8_t, + vllm::Fp8KVCacheDataType::kFp8E4M3); + } + } else { + TORCH_CHECK(false, "Unsupported data type: ", kv_cache_dtype); + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_bfloat16.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_bfloat16.cuh new file mode 100644 index 000000000..97a25baa1 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_bfloat16.cuh @@ -0,0 +1,463 @@ +/* + * Adapted from + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention/decoder_masked_multihead_attention_template.hpp + * and + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention_utils.h + * Copyright (c) 2023, The vLLM team. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include "attention_generic.cuh" +#include "dtype_float32.cuh" + +#ifndef USE_ROCM + #include + #include +#else + #include + #include + +typedef __hip_bfloat162 __nv_bfloat162; +typedef __hip_bfloat16 __nv_bfloat16; +#endif + +#include + +namespace vllm { + +// Define custom BF16 vector data types. +struct bf16_4_t { + __nv_bfloat162 x; + __nv_bfloat162 y; +}; + +struct bf16_8_t { + __nv_bfloat162 x; + __nv_bfloat162 y; + __nv_bfloat162 z; + __nv_bfloat162 w; +}; + +// BF16 vector types for Q, K, V. +template <> +struct Vec<__nv_bfloat16, 1> { + using Type = __nv_bfloat16; +}; +template <> +struct Vec<__nv_bfloat16, 2> { + using Type = __nv_bfloat162; +}; +template <> +struct Vec<__nv_bfloat16, 4> { + using Type = bf16_4_t; +}; +template <> +struct Vec<__nv_bfloat16, 8> { + using Type = bf16_8_t; +}; + +// FP32 accumulator vector types corresponding to Vec. +template <> +struct FloatVec<__nv_bfloat16> { + using Type = float; +}; +template <> +struct FloatVec<__nv_bfloat162> { + using Type = float2; +}; +template <> +struct FloatVec { + using Type = Float4_; +}; +template <> +struct FloatVec { + using Type = Float8_; +}; + +// Utility functions for type conversions. +inline __device__ float2 bf1622float2(const __nv_bfloat162 val) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __bfloat1622float2(val); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +inline __device__ __nv_bfloat162 bf162bf162(const __nv_bfloat16 val) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __bfloat162bfloat162(val); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +// Vector addition. +inline __device__ __nv_bfloat16 add(__nv_bfloat16 a, __nv_bfloat16 b) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + #ifndef USE_ROCM + return a + b; + #else + return __hadd(a, b); + #endif +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +inline __device__ __nv_bfloat162 add(__nv_bfloat162 a, __nv_bfloat162 b) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __hadd2(a, b); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +inline __device__ bf16_4_t add(bf16_4_t a, bf16_4_t b) { + bf16_4_t c; + c.x = add(a.x, b.x); + c.y = add(a.y, b.y); + return c; +} + +inline __device__ bf16_8_t add(bf16_8_t a, bf16_8_t b) { + bf16_8_t c; + c.x = add(a.x, b.x); + c.y = add(a.y, b.y); + c.z = add(a.z, b.z); + c.w = add(a.w, b.w); + return c; +} + +inline __device__ float2 add(__nv_bfloat162 a, float2 fb) { + float2 fa = bf1622float2(a); + return add(fa, fb); +} + +inline __device__ Float4_ add(bf16_4_t a, Float4_ fb) { + Float4_ fc; + fc.x = add(a.x, fb.x); + fc.y = add(a.y, fb.y); + return fc; +} + +inline __device__ Float8_ add(bf16_8_t a, Float8_ fb) { + Float8_ fc; + fc.x = add(a.x, fb.x); + fc.y = add(a.y, fb.y); + fc.z = add(a.z, fb.z); + fc.w = add(a.w, fb.w); + return fc; +} + +// Vector multiplication. +template <> +inline __device__ __nv_bfloat16 mul(__nv_bfloat16 a, __nv_bfloat16 b) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __hmul(a, b); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +template <> +inline __device__ __nv_bfloat162 mul(__nv_bfloat162 a, __nv_bfloat162 b) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __hmul2(a, b); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +template <> +inline __device__ __nv_bfloat162 mul(__nv_bfloat16 a, __nv_bfloat162 b) { + return mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(bf162bf162(a), b); +} + +template <> +inline __device__ bf16_4_t mul(bf16_4_t a, bf16_4_t b) { + bf16_4_t c; + c.x = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(a.x, b.x); + c.y = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(a.y, b.y); + return c; +} + +template <> +inline __device__ bf16_4_t mul(__nv_bfloat16 a, bf16_4_t b) { + __nv_bfloat162 s = bf162bf162(a); + bf16_4_t c; + c.x = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(s, b.x); + c.y = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(s, b.y); + return c; +} + +template <> +inline __device__ bf16_8_t mul(bf16_8_t a, bf16_8_t b) { + bf16_8_t c; + c.x = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(a.x, b.x); + c.y = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(a.y, b.y); + c.z = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(a.z, b.z); + c.w = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(a.w, b.w); + return c; +} + +template <> +inline __device__ bf16_8_t mul(__nv_bfloat16 a, bf16_8_t b) { + __nv_bfloat162 s = bf162bf162(a); + bf16_8_t c; + c.x = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(s, b.x); + c.y = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(s, b.y); + c.z = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(s, b.z); + c.w = mul<__nv_bfloat162, __nv_bfloat162, __nv_bfloat162>(s, b.w); + return c; +} + +template <> +inline __device__ float mul(__nv_bfloat16 a, __nv_bfloat16 b) { + float fa = __bfloat162float(a); + float fb = __bfloat162float(b); + return fa * fb; +} + +template <> +inline __device__ float2 mul(__nv_bfloat162 a, __nv_bfloat162 b) { + float2 fa = bf1622float2(a); + float2 fb = bf1622float2(b); + return mul(fa, fb); +} + +template <> +inline __device__ float2 mul(__nv_bfloat16 a, __nv_bfloat162 b) { + return mul(bf162bf162(a), b); +} + +template <> +inline __device__ Float4_ mul(bf16_4_t a, bf16_4_t b) { + Float4_ fc; + fc.x = mul(a.x, b.x); + fc.y = mul(a.y, b.y); + return fc; +} + +template <> +inline __device__ Float4_ mul(__nv_bfloat16 a, bf16_4_t b) { + __nv_bfloat162 s = bf162bf162(a); + Float4_ fc; + fc.x = mul(s, b.x); + fc.y = mul(s, b.y); + return fc; +} + +template <> +inline __device__ Float8_ mul(bf16_8_t a, bf16_8_t b) { + Float8_ fc; + fc.x = mul(a.x, b.x); + fc.y = mul(a.y, b.y); + fc.z = mul(a.z, b.z); + fc.w = mul(a.w, b.w); + return fc; +} + +template <> +inline __device__ Float8_ mul(__nv_bfloat16 a, bf16_8_t b) { + __nv_bfloat162 s = bf162bf162(a); + Float8_ fc; + fc.x = mul(s, b.x); + fc.y = mul(s, b.y); + fc.z = mul(s, b.z); + fc.w = mul(s, b.w); + return fc; +} + +// Vector fused multiply-add. +inline __device__ __nv_bfloat162 fma(__nv_bfloat162 a, __nv_bfloat162 b, + __nv_bfloat162 c) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __hfma2(a, b, c); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +inline __device__ __nv_bfloat162 fma(__nv_bfloat16 a, __nv_bfloat162 b, + __nv_bfloat162 c) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + return __hfma2(bf162bf162(a), b, c); +#endif + __builtin_unreachable(); // Suppress missing return statement warning +} + +inline __device__ bf16_4_t fma(bf16_4_t a, bf16_4_t b, bf16_4_t c) { + bf16_4_t d; + d.x = fma(a.x, b.x, c.x); + d.y = fma(a.y, b.y, c.y); + return d; +} + +inline __device__ bf16_4_t fma(__nv_bfloat16 a, bf16_4_t b, bf16_4_t c) { + __nv_bfloat162 s = bf162bf162(a); + bf16_4_t d; + d.x = fma(s, b.x, c.x); + d.y = fma(s, b.y, c.y); + return d; +} + +inline __device__ bf16_8_t fma(bf16_8_t a, bf16_8_t b, bf16_8_t c) { + bf16_8_t d; + d.x = fma(a.x, b.x, c.x); + d.y = fma(a.y, b.y, c.y); + d.z = fma(a.z, b.z, c.z); + d.w = fma(a.w, b.w, c.w); + return d; +} + +inline __device__ bf16_8_t fma(__nv_bfloat16 a, bf16_8_t b, bf16_8_t c) { + __nv_bfloat162 s = bf162bf162(a); + bf16_8_t d; + d.x = fma(s, b.x, c.x); + d.y = fma(s, b.y, c.y); + d.z = fma(s, b.z, c.z); + d.w = fma(s, b.w, c.w); + return d; +} + +inline __device__ float fma(__nv_bfloat16 a, __nv_bfloat16 b, float fc) { + return __bfloat162float(a) * __bfloat162float(b) + fc; +} + +inline __device__ float2 fma(__nv_bfloat162 a, __nv_bfloat162 b, float2 fc) { + float2 fa = bf1622float2(a); + float2 fb = bf1622float2(b); + return fma(fa, fb, fc); +} + +inline __device__ float2 fma(__nv_bfloat16 a, __nv_bfloat162 b, float2 fc) { + return fma(bf162bf162(a), b, fc); +} + +inline __device__ Float4_ fma(bf16_4_t a, bf16_4_t b, Float4_ fc) { + Float4_ fd; + fd.x = fma(a.x, b.x, fc.x); + fd.y = fma(a.y, b.y, fc.y); + return fd; +} + +inline __device__ Float4_ fma(__nv_bfloat16 a, bf16_4_t b, Float4_ fc) { + __nv_bfloat162 s = bf162bf162(a); + Float4_ fd; + fd.x = fma(s, b.x, fc.x); + fd.y = fma(s, b.y, fc.y); + return fd; +} + +inline __device__ Float8_ fma(bf16_8_t a, bf16_8_t b, Float8_ fc) { + Float8_ fd; + fd.x = fma(a.x, b.x, fc.x); + fd.y = fma(a.y, b.y, fc.y); + fd.z = fma(a.z, b.z, fc.z); + fd.w = fma(a.w, b.w, fc.w); + return fd; +} + +inline __device__ Float8_ fma(__nv_bfloat16 a, bf16_8_t b, Float8_ fc) { + __nv_bfloat162 s = bf162bf162(a); + Float8_ fd; + fd.x = fma(s, b.x, fc.x); + fd.y = fma(s, b.y, fc.y); + fd.z = fma(s, b.z, fc.z); + fd.w = fma(s, b.w, fc.w); + return fd; +} + +// Vector sum. +template <> +inline __device__ float sum(__nv_bfloat16 v) { + return __bfloat162float(v); +} + +template <> +inline __device__ float sum(__nv_bfloat162 v) { + float2 vf = bf1622float2(v); + return vf.x + vf.y; +} + +template <> +inline __device__ float sum(bf16_4_t v) { + return sum(v.x) + sum(v.y); +} + +template <> +inline __device__ float sum(bf16_8_t v) { + return sum(v.x) + sum(v.y) + sum(v.z) + sum(v.w); +} + +// From float32 to bfloat16. +inline __device__ void from_float(__nv_bfloat16& dst, float src) { + dst = __float2bfloat16(src); +} + +inline __device__ void from_float(__nv_bfloat162& dst, float2 src) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + dst = __float22bfloat162_rn(src); +#endif +} + +inline __device__ void from_float(bf16_4_t& dst, Float4_ src) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + dst.x = __float22bfloat162_rn(src.x); + dst.y = __float22bfloat162_rn(src.y); +#endif +} + +inline __device__ void from_float(bf16_8_t& dst, Float8_ src) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + dst.x = __float22bfloat162_rn(src.x); + dst.y = __float22bfloat162_rn(src.y); + dst.z = __float22bfloat162_rn(src.z); + dst.w = __float22bfloat162_rn(src.w); +#endif +} + +// From bfloat16 to float32. +inline __device__ float to_float(__nv_bfloat16 u) { + return __bfloat162float(u); +} + +// Zero-out a variable. +inline __device__ void zero(__nv_bfloat16& dst) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + assert(false); +#else + // Same as CUDART_ZERO_BF16 introduced in CUDA 12.2. + dst = __ushort_as_bfloat16((unsigned short)0x0000U); +#endif +} + +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float16.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float16.cuh new file mode 100644 index 000000000..3a1815f0e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float16.cuh @@ -0,0 +1,504 @@ +/* + * Adapted from + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention/decoder_masked_multihead_attention_template.hpp + * and + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention_utils.h + * Copyright (c) 2023, The vLLM team. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include "attention_generic.cuh" +#include "dtype_float32.cuh" + +#ifdef USE_ROCM + #include +#endif + +#include + +namespace vllm { + +// FP16 vector types for Q, K, V. +template <> +struct Vec { + using Type = uint16_t; +}; +template <> +struct Vec { + using Type = uint32_t; +}; +template <> +struct Vec { + using Type = uint2; +}; +template <> +struct Vec { + using Type = uint4; +}; + +// FP32 accumulator vector types corresponding to Vec. +template <> +struct FloatVec { + using Type = float; +}; +template <> +struct FloatVec { + using Type = float2; +}; +template <> +struct FloatVec { + using Type = Float4_; +}; +template <> +struct FloatVec { + using Type = Float8_; +}; + +// Utility functions for type conversions. +inline __device__ uint32_t h0_h0(uint16_t a) { +#ifndef USE_ROCM + uint32_t b; + asm volatile("mov.b32 %0, {%1, %1};" : "=r"(b) : "h"(a)); + return b; +#else + union { + uint32_t u32; + uint16_t u16[2]; + } tmp; + tmp.u16[0] = a; + tmp.u16[1] = a; + return tmp.u32; +#endif +} + +inline __device__ float half_to_float(uint16_t h) { + float f; +#ifndef USE_ROCM + asm volatile("cvt.f32.f16 %0, %1;\n" : "=f"(f) : "h"(h)); +#else + asm volatile("v_cvt_f32_f16 %0, %1;" : "=v"(f) : "v"(h)); +#endif + return f; +} + +inline __device__ float2 half2_to_float2(uint32_t v) { +#ifndef USE_ROCM + uint16_t lo, hi; + asm volatile("mov.b32 {%0, %1}, %2;\n" : "=h"(lo), "=h"(hi) : "r"(v)); + return make_float2(half_to_float(lo), half_to_float(hi)); +#else + union { + uint32_t u32; + uint16_t u16[2]; + } tmp; + tmp.u32 = v; + float2 ret; + ret.x = half_to_float(tmp.u16[0]); + ret.y = half_to_float(tmp.u16[1]); + return ret; +#endif +} + +inline __device__ uint16_t float_to_half(float f) { + union { + uint32_t u32; + uint16_t u16[2]; + } tmp; +#ifndef USE_ROCM + asm volatile("cvt.rn.f16.f32 %0, %1;\n" : "=h"(tmp.u16[0]) : "f"(f)); +#else + asm volatile("v_cvt_f16_f32 %0, %1;\n" : "=v"(tmp.u32) : "v"(f)); +#endif + return tmp.u16[0]; +} + +inline __device__ uint32_t float2_to_half2(float2 f) { + union { + uint32_t u32; + uint16_t u16[2]; + } tmp; +#ifndef USE_ROCM + #if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + asm volatile("cvt.rn.f16x2.f32 %0, %1, %2;\n" + : "=r"(tmp.u32) + : "f"(f.y), "f"(f.x)); + #else + asm volatile("cvt.rn.f16.f32 %0, %1;\n" : "=h"(tmp.u16[0]) : "f"(f.x)); + asm volatile("cvt.rn.f16.f32 %0, %1;\n" : "=h"(tmp.u16[1]) : "f"(f.y)); + #endif +#else + tmp.u16[0] = float_to_half(f.x); + tmp.u16[1] = float_to_half(f.y); +#endif + return tmp.u32; +} + +// Vector addition. +inline __device__ uint16_t add(uint16_t a, uint16_t b) { + uint16_t c; +#ifndef USE_ROCM + asm volatile("add.f16 %0, %1, %2;\n" : "=h"(c) : "h"(a), "h"(b)); +#else + asm volatile("v_add_f16 %0, %1, %2;\n" : "=v"(c) : "v"(a), "v"(b)); +#endif + return c; +} + +inline __device__ uint32_t add(uint32_t a, uint32_t b) { + uint32_t c; +#ifndef USE_ROCM + asm volatile("add.f16x2 %0, %1, %2;\n" : "=r"(c) : "r"(a), "r"(b)); +#else + asm volatile("v_pk_add_f16 %0, %1, %2;\n" : "=v"(c) : "v"(a), "v"(b)); +#endif + return c; +} + +inline __device__ uint2 add(uint2 a, uint2 b) { + uint2 c; + c.x = add(a.x, b.x); + c.y = add(a.y, b.y); + return c; +} + +inline __device__ uint4 add(uint4 a, uint4 b) { + uint4 c; + c.x = add(a.x, b.x); + c.y = add(a.y, b.y); + c.z = add(a.z, b.z); + c.w = add(a.w, b.w); + return c; +} + +inline __device__ float2 add(uint32_t a, float2 fb) { + float2 fa = half2_to_float2(a); + return add(fa, fb); +} + +inline __device__ Float4_ add(uint2 a, Float4_ fb) { + Float4_ fc; + fc.x = add(a.x, fb.x); + fc.y = add(a.y, fb.y); + return fc; +} + +inline __device__ Float8_ add(uint4 a, Float8_ fb) { + Float8_ fc; + fc.x = add(a.x, fb.x); + fc.y = add(a.y, fb.y); + fc.z = add(a.z, fb.z); + fc.w = add(a.w, fb.w); + return fc; +} + +// Vector multiplication. +template <> +inline __device__ uint16_t mul(uint16_t a, uint16_t b) { + uint16_t c; +#ifndef USE_ROCM + asm volatile("mul.f16 %0, %1, %2;\n" : "=h"(c) : "h"(a), "h"(b)); +#else + asm volatile("v_mul_f16 %0, %1, %2;\n" : "=v"(c) : "v"(a), "v"(b)); +#endif + return c; +} + +template <> +inline __device__ uint32_t mul(uint32_t a, uint32_t b) { + uint32_t c; +#ifndef USE_ROCM + asm volatile("mul.f16x2 %0, %1, %2;\n" : "=r"(c) : "r"(a), "r"(b)); +#else + asm volatile("v_pk_mul_f16 %0, %1, %2;\n" : "=v"(c) : "v"(a), "v"(b)); +#endif + return c; +} + +template <> +inline __device__ uint32_t mul(uint16_t a, uint32_t b) { + return mul(h0_h0(a), b); +} + +template <> +inline __device__ uint2 mul(uint2 a, uint2 b) { + uint2 c; + c.x = mul(a.x, b.x); + c.y = mul(a.y, b.y); + return c; +} + +template <> +inline __device__ uint2 mul(uint16_t a, uint2 b) { + uint32_t s = h0_h0(a); + uint2 c; + c.x = mul(s, b.x); + c.y = mul(s, b.y); + return c; +} + +template <> +inline __device__ uint4 mul(uint4 a, uint4 b) { + uint4 c; + c.x = mul(a.x, b.x); + c.y = mul(a.y, b.y); + c.z = mul(a.z, b.z); + c.w = mul(a.w, b.w); + return c; +} + +template <> +inline __device__ uint4 mul(uint16_t a, uint4 b) { + uint32_t s = h0_h0(a); + uint4 c; + c.x = mul(s, b.x); + c.y = mul(s, b.y); + c.z = mul(s, b.z); + c.w = mul(s, b.w); + return c; +} + +template <> +inline __device__ float mul(uint16_t a, uint16_t b) { + float fa = half_to_float(a); + float fb = half_to_float(b); + return fa * fb; +} + +template <> +inline __device__ float2 mul(uint32_t a, uint32_t b) { + float2 fa = half2_to_float2(a); + float2 fb = half2_to_float2(b); + return mul(fa, fb); +} + +template <> +inline __device__ float2 mul(uint16_t a, uint32_t b) { + return mul(h0_h0(a), b); +} + +template <> +inline __device__ Float4_ mul(uint2 a, uint2 b) { + Float4_ fc; + fc.x = mul(a.x, b.x); + fc.y = mul(a.y, b.y); + return fc; +} + +template <> +inline __device__ Float4_ mul(uint16_t a, uint2 b) { + uint32_t s = h0_h0(a); + Float4_ fc; + fc.x = mul(s, b.x); + fc.y = mul(s, b.y); + return fc; +} + +template <> +inline __device__ Float8_ mul(uint4 a, uint4 b) { + Float8_ fc; + fc.x = mul(a.x, b.x); + fc.y = mul(a.y, b.y); + fc.z = mul(a.z, b.z); + fc.w = mul(a.w, b.w); + return fc; +} + +template <> +inline __device__ Float8_ mul(uint16_t a, uint4 b) { + uint32_t s = h0_h0(a); + Float8_ fc; + fc.x = mul(s, b.x); + fc.y = mul(s, b.y); + fc.z = mul(s, b.z); + fc.w = mul(s, b.w); + return fc; +} + +// Vector fused multiply-add. +inline __device__ uint32_t fma(uint32_t a, uint32_t b, uint32_t c) { + uint32_t d; +#ifndef USE_ROCM + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" + : "=r"(d) + : "r"(a), "r"(b), "r"(c)); +#else + asm volatile("v_pk_fma_f16 %0, %1, %2, %3;\n" + : "=v"(d) + : "v"(a), "v"(b), "v"(c)); +#endif + return d; +} + +inline __device__ uint32_t fma(uint16_t a, uint32_t b, uint32_t c) { + return fma(h0_h0(a), b, c); +} + +inline __device__ uint2 fma(uint2 a, uint2 b, uint2 c) { + uint2 d; + d.x = fma(a.x, b.x, c.x); + d.y = fma(a.y, b.y, c.y); + return d; +} + +inline __device__ uint2 fma(uint16_t a, uint2 b, uint2 c) { + uint32_t s = h0_h0(a); + uint2 d; + d.x = fma(s, b.x, c.x); + d.y = fma(s, b.y, c.y); + return d; +} + +inline __device__ uint4 fma(uint4 a, uint4 b, uint4 c) { + uint4 d; + d.x = fma(a.x, b.x, c.x); + d.y = fma(a.y, b.y, c.y); + d.z = fma(a.z, b.z, c.z); + d.w = fma(a.w, b.w, c.w); + return d; +} + +inline __device__ uint4 fma(uint16_t a, uint4 b, uint4 c) { + uint32_t s = h0_h0(a); + uint4 d; + d.x = fma(s, b.x, c.x); + d.y = fma(s, b.y, c.y); + d.z = fma(s, b.z, c.z); + d.w = fma(s, b.w, c.w); + return d; +} + +inline __device__ float fma(uint16_t a, uint16_t b, float fc) { + float fa = half_to_float(a); + float fb = half_to_float(b); + return fa * fb + fc; +} + +inline __device__ float2 fma(uint32_t a, uint32_t b, float2 fc) { + float2 fa = half2_to_float2(a); + float2 fb = half2_to_float2(b); + return fma(fa, fb, fc); +} + +inline __device__ float2 fma(uint16_t a, uint32_t b, float2 fc) { + return fma(h0_h0(a), b, fc); +} + +inline __device__ Float4_ fma(uint2 a, uint2 b, Float4_ fc) { + Float4_ fd; + fd.x = fma(a.x, b.x, fc.x); + fd.y = fma(a.y, b.y, fc.y); + return fd; +} + +inline __device__ Float4_ fma(uint16_t a, uint2 b, Float4_ fc) { + uint32_t s = h0_h0(a); + Float4_ fd; + fd.x = fma(s, b.x, fc.x); + fd.y = fma(s, b.y, fc.y); + return fd; +} + +inline __device__ Float8_ fma(uint4 a, uint4 b, Float8_ fc) { + Float8_ fd; + fd.x = fma(a.x, b.x, fc.x); + fd.y = fma(a.y, b.y, fc.y); + fd.z = fma(a.z, b.z, fc.z); + fd.w = fma(a.w, b.w, fc.w); + return fd; +} + +inline __device__ Float8_ fma(uint16_t a, uint4 b, Float8_ fc) { + uint32_t s = h0_h0(a); + Float8_ fd; + fd.x = fma(s, b.x, fc.x); + fd.y = fma(s, b.y, fc.y); + fd.z = fma(s, b.z, fc.z); + fd.w = fma(s, b.w, fc.w); + return fd; +} + +// Vector sum. +template <> +inline __device__ float sum(uint16_t v) { + return half_to_float(v); +} + +template <> +inline __device__ float sum(uint32_t v) { + float2 tmp = half2_to_float2(v); + return tmp.x + tmp.y; +} + +template <> +inline __device__ float sum(uint2 v) { + uint32_t c = add(v.x, v.y); + return sum(c); +} + +template <> +inline __device__ float sum(uint4 v) { + uint32_t c = add(v.x, v.y); + c = add(c, v.z); + c = add(c, v.w); + return sum(c); +} + +// From float32 to float16. +inline __device__ void from_float(uint16_t& dst, float src) { + dst = float_to_half(src); +} + +inline __device__ void from_float(uint32_t& dst, float2 src) { + dst = float2_to_half2(src); +} + +inline __device__ void from_float(uint2& dst, Float4_ src) { + dst.x = float2_to_half2(src.x); + dst.y = float2_to_half2(src.y); +} + +inline __device__ void from_float(uint4& dst, Float8_ src) { + dst.x = float2_to_half2(src.x); + dst.y = float2_to_half2(src.y); + dst.z = float2_to_half2(src.z); + dst.w = float2_to_half2(src.w); +} + +// From float16 to float32. +inline __device__ float to_float(uint16_t u) { return half_to_float(u); } + +inline __device__ float2 to_float(uint32_t u) { return half2_to_float2(u); } + +inline __device__ Float4_ to_float(uint2 u) { + Float4_ tmp; + tmp.x = half2_to_float2(u.x); + tmp.y = half2_to_float2(u.y); + return tmp; +} + +inline __device__ Float8_ to_float(uint4 u) { + Float8_ tmp; + tmp.x = half2_to_float2(u.x); + tmp.y = half2_to_float2(u.y); + tmp.z = half2_to_float2(u.z); + tmp.w = half2_to_float2(u.w); + return tmp; +} + +// Zero-out a variable. +inline __device__ void zero(uint16_t& dst) { dst = uint16_t(0); } + +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float32.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float32.cuh new file mode 100644 index 000000000..7c6a686db --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_float32.cuh @@ -0,0 +1,251 @@ +/* + * Adapted from + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention/decoder_masked_multihead_attention_template.hpp + * and + * https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/kernels/decoder_masked_multihead_attention_utils.h + * Copyright (c) 2023, The vLLM team. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include "attention_generic.cuh" + +#include + +namespace vllm { + +// Define custom FP32 vector data types. +struct Float4_ { + float2 x; + float2 y; +}; + +struct Float8_ { + float2 x; + float2 y; + float2 z; + float2 w; +}; + +// FP32 vector types for Q, K, V. +template <> +struct Vec { + using Type = float; +}; +template <> +struct Vec { + using Type = float2; +}; +template <> +struct Vec { + using Type = float4; +}; + +// FP32 accumulator vector types corresponding to Vec. +template <> +struct FloatVec { + using Type = float; +}; +template <> +struct FloatVec { + using Type = float2; +}; +template <> +struct FloatVec { + using Type = float4; +}; + +// Vector addition. +inline __device__ float add(float a, float b) { return a + b; } + +inline __device__ float2 add(float2 a, float2 b) { + float2 c; + c.x = add(a.x, b.x); + c.y = add(a.y, b.y); + return c; +} + +inline __device__ float4 add(float4 a, float4 b) { + float4 c; + c.x = add(a.x, b.x); + c.y = add(a.y, b.y); + c.z = add(a.z, b.z); + c.w = add(a.w, b.w); + return c; +} + +// Vector multiplication. +template <> +inline __device__ float mul(float a, float b) { + return a * b; +} + +template <> +inline __device__ float2 mul(float2 a, float2 b) { + float2 c; + c.x = a.x * b.x; + c.y = a.y * b.y; + return c; +} + +template <> +inline __device__ float2 mul(float a, float2 b) { + float2 c; + c.x = a * b.x; + c.y = a * b.y; + return c; +} + +template <> +inline __device__ float4 mul(float4 a, float4 b) { + float4 c; + c.x = a.x * b.x; + c.y = a.y * b.y; + c.z = a.z * b.z; + c.w = a.w * b.w; + return c; +} + +template <> +inline __device__ float4 mul(float a, float4 b) { + float4 c; + c.x = a * b.x; + c.y = a * b.y; + c.z = a * b.z; + c.w = a * b.w; + return c; +} + +// Vector fused multiply-add. +inline __device__ float fma(float a, float b, float c) { return a * b + c; } + +inline __device__ float2 fma(float2 a, float2 b, float2 c) { + float2 d; + d.x = fma(a.x, b.x, c.x); + d.y = fma(a.y, b.y, c.y); + return d; +} + +inline __device__ float2 fma(float a, float2 b, float2 c) { + float2 d; + d.x = fma(a, b.x, c.x); + d.y = fma(a, b.y, c.y); + return d; +} + +inline __device__ float4 fma(float4 a, float4 b, float4 c) { + float4 d; + d.x = fma(a.x, b.x, c.x); + d.y = fma(a.y, b.y, c.y); + d.z = fma(a.z, b.z, c.z); + d.w = fma(a.w, b.w, c.w); + return d; +} + +inline __device__ float4 fma(float a, float4 b, float4 c) { + float4 d; + d.x = fma(a, b.x, c.x); + d.y = fma(a, b.y, c.y); + d.z = fma(a, b.z, c.z); + d.w = fma(a, b.w, c.w); + return d; +} + +inline __device__ Float4_ fma(float a, Float4_ b, Float4_ c) { + Float4_ d; + d.x = fma(a, b.x, c.x); + d.y = fma(a, b.y, c.y); + return d; +} + +inline __device__ Float8_ fma(float a, Float8_ b, Float8_ c) { + Float8_ d; + d.x = fma(a, b.x, c.x); + d.y = fma(a, b.y, c.y); + d.z = fma(a, b.z, c.z); + d.w = fma(a, b.w, c.w); + return d; +} + +// Vector sum. +template <> +inline __device__ float sum(float v) { + return v; +} + +template <> +inline __device__ float sum(float2 v) { + return v.x + v.y; +} + +template <> +inline __device__ float sum(float4 v) { + return v.x + v.y + v.z + v.w; +} + +template <> +inline __device__ float sum(Float4_ v) { + return v.x.x + v.x.y + v.y.x + v.y.y; +} + +template <> +inline __device__ float sum(Float8_ v) { + return v.x.x + v.x.y + v.y.x + v.y.y + v.z.x + v.z.y + v.w.x + v.w.y; +} + +// Vector dot product. +inline __device__ float dot(float a, float b) { return a * b; } + +inline __device__ float dot(float2 a, float2 b) { + float2 c = mul(a, b); + return c.x + c.y; +} + +inline __device__ float dot(Float4_ a, Float4_ b) { + float2 acc = mul(a.x, b.x); + acc = fma(a.y, b.y, acc); + return acc.x + acc.y; +} + +inline __device__ float dot(Float8_ a, Float8_ b) { + float2 acc = mul(a.x, b.x); + acc = fma(a.y, b.y, acc); + acc = fma(a.z, b.z, acc); + acc = fma(a.w, b.w, acc); + return acc.x + acc.y; +} + +// From float to float. +inline __device__ void from_float(float& dst, float src) { dst = src; } + +inline __device__ void from_float(float2& dst, float2 src) { dst = src; } + +inline __device__ void from_float(float4& dst, float4 src) { dst = src; } + +// From float to float. +inline __device__ float to_float(float u) { return u; } + +inline __device__ float2 to_float(float2 u) { return u; } + +inline __device__ float4 to_float(float4 u) { return u; } + +inline __device__ Float4_ to_float(Float4_ u) { return u; } + +inline __device__ Float8_ to_float(Float8_ u) { return u; } + +// Zero-out a variable. +inline __device__ void zero(float& dst) { dst = 0.f; } + +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_fp8.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_fp8.cuh new file mode 100644 index 000000000..e714e321b --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/dtype_fp8.cuh @@ -0,0 +1,41 @@ +#pragma once + +#include "attention_generic.cuh" + +#include +#ifdef ENABLE_FP8 + #ifndef USE_ROCM + #include + #endif // USE_ROCM +#endif // ENABLE_FP8 + +namespace vllm { + +enum class Fp8KVCacheDataType { + kAuto = 0, + kFp8E4M3 = 1, + kFp8E5M2 = 2, +}; + +// fp8 vector types for quantization of kv cache +template <> +struct Vec { + using Type = uint8_t; +}; + +template <> +struct Vec { + using Type = uint16_t; +}; + +template <> +struct Vec { + using Type = uint32_t; +}; + +template <> +struct Vec { + using Type = uint2; +}; + +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/fused_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/fused_kernels.cu new file mode 100644 index 000000000..4f3eea456 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/fused_kernels.cu @@ -0,0 +1,195 @@ +#include +#include +#include +#include + +constexpr int WARP_SIZE = 64; + +template +__device__ __forceinline__ T silu(const T& x) { + // x * sigmoid(x) + return (T)(((float)x) / (1.0f + expf((float)-x))); +} + +template +__device__ __forceinline__ T loadnt(T* addr) { + return __builtin_nontemporal_load(addr); +} + +__device__ __forceinline__ float4 load_ntmprl(const float4* addr) { + auto addr_alias = reinterpret_cast(addr); + auto dat0 = loadnt(addr_alias); + auto dat1 = loadnt(addr_alias + 1); + auto dat2 = loadnt(addr_alias + 2); + auto dat3 = loadnt(addr_alias + 3); + // auto dat0 = *(addr_alias); + // auto dat1 = *(addr_alias+1); + // auto dat2 = *(addr_alias+2); + // auto dat3 = *(addr_alias+3); + return make_float4(dat0, dat1, dat2, dat3); +} + +// TBlock fetches entire rows of A, and entire col of B (K dimension); assume +// N=1 for time being grid is M/A_NUM_ROWS blocks +template +__global__ void LLGemm_Silu_kernel(float4* af4, __half2* bf4, _Float16* c, + const int d) { + __shared__ float red_smem[NUM_A_ROWS_PER_BLOCK][WARP_SIZE]; + const int row_addr = blockIdx.x * NUM_A_ROWS_PER_BLOCK / 2 * blockDim.x; + const int row_addr_d = row_addr + d * blockDim.x; + // int row_addr_1 = row_addr + CUDA_NUM_THREADS; + // int row_addr_2 = row_addr_1 + CUDA_NUM_THREADS; + // int row_addr_3 = row_addr_2 + CUDA_NUM_THREADS; + const int threadid = threadIdx.x; + const int warp = threadIdx.x / WARP_SIZE; + const int lane = threadIdx.x % WARP_SIZE; + const int num_warps = blockDim.x / WARP_SIZE; + const int qwarpid = threadid / 16; + const int qthreadid = threadid % 16; + float4 rowA_elem4[NUM_A_ROWS_PER_BLOCK]; + // float4 colB_elem4; + __half2 colB_elem4x, colB_elem4y, colB_elem4z, colB_elem4w; + float4 sum4; //[NUM_A_ROWS_PER_BLOCK]; + float acc[NUM_A_ROWS_PER_BLOCK]; //= 0.0; + __half2 acch2; + __half2 oval; + + // rowA_elem4 = af4[row_addr + threadid]; + //__syncthreads(); + // rowA_elem4_1 = af4[row_addr_1 + threadid]; + // rowA_elem4_2 = af4[row_addr_2 + threadid]; + // rowA_elem4_3 = af4[row_addr_3 + threadid]; +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK / 2; i++) { + rowA_elem4[2 * i] = load_ntmprl(&af4[row_addr + i * blockDim.x + threadid]); + rowA_elem4[2 * i + 1] = + load_ntmprl(&af4[row_addr_d + i * blockDim.x + threadid]); + // rowA_elem4[i] = af4[row_addr + i*blockDim.x + threadid]; + //__syncthreads(); + } + colB_elem4x = bf4[threadid * 4 + 0]; + colB_elem4y = bf4[threadid * 4 + 1]; + colB_elem4z = bf4[threadid * 4 + 2]; + colB_elem4w = bf4[threadid * 4 + 3]; + + // __syncthreads(); + __half2 Af2; + __half2 Bf2; + float2 S; + // auto Bh2ptr = reinterpret_cast<__half2 *>(&colB_elem4); + // auto Bf2x = *Bh2ptr; + // auto Bf2y = *(Bh2ptr+1); + // auto Bf2z = *(Bh2ptr+2); + // auto Bf2w = *(Bh2ptr+3); + auto Ah2ptr = reinterpret_cast<__half2*>(&rowA_elem4); + __half2* ah2lptr; +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + ah2lptr = Ah2ptr + i * 4; + Af2 = *(ah2lptr); + acch2 = __hmul2(Af2, colB_elem4x); + Af2 = *(ah2lptr + 1); + acch2 = __hfma2(Af2, colB_elem4y, acch2); + Af2 = *(ah2lptr + 2); + acch2 = __hfma2(Af2, colB_elem4z, acch2); + Af2 = *(ah2lptr + 3); + acch2 = __hfma2(Af2, colB_elem4w, acch2); + S = __half22float2(acch2); + acc[i] = S.x + S.y; + } + +#pragma unroll + for (int mask = WARP_SIZE / 2; mask >= 1; mask /= 2) { +#pragma unroll + for (int i = 0; i < NUM_A_ROWS_PER_BLOCK; i++) { + acc[i] += __shfl_xor(acc[i], mask); + } + } + + // Warp leaders store the data to shared memory. + // if (lane == 0) { + // #pragma unroll + // for (int i=0; i= 1; mask /= 2) { + // #pragma unroll + // for (int i=0; i +void LLGemm_Silu(void* in_a, void* in_b, void* out_c, const int M, const int K, + cudaStream_t stream, const int rows_per_block = 4) { + float4* af4 = reinterpret_cast(in_a); + auto* bf4 = reinterpret_cast<__half2*>(in_b); + auto* c = reinterpret_cast<_Float16*>(out_c); + const int d = M / 2; + const int NUM_THREADS = K * 2 / 16; + int NUM_BLOCKS = M / rows_per_block; + if (rows_per_block == 2) { + LLGemm_Silu_kernel<2> + <<>>(af4, bf4, c, d); + } else if (rows_per_block == 4) { + LLGemm_Silu_kernel<4> + <<>>(af4, bf4, c, d); + } else if (rows_per_block == 8) { + LLGemm_Silu_kernel<8> + <<>>(af4, bf4, c, d); + } else if (rows_per_block == 16) { + LLGemm_Silu_kernel<16> + <<>>(af4, bf4, c, d); + } else { + NUM_BLOCKS = M / 4; + LLGemm_Silu_kernel<4> + <<>>(af4, bf4, c, d); + } + + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + throw std::runtime_error("CUDA kernel failed : " + std::to_string(err)); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8.h new file mode 100644 index 000000000..f9c80fcde --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8.h @@ -0,0 +1,137 @@ +#pragma once + +#ifdef __HIPCC__ + #include +#else + #include + #include + #include + #include +#endif + +#include "hip_float8_impl.h" + +struct alignas(1) hip_fp8 { + struct from_bits_t {}; + HIP_FP8_HOST_DEVICE static constexpr from_bits_t from_bits() { + return from_bits_t(); + } + uint8_t data; + + hip_fp8() = default; + HIP_FP8_HOST_DEVICE constexpr hip_fp8(const hip_fp8&) = default; + HIP_FP8_HOST_DEVICE constexpr hip_fp8(uint8_t v) = delete; + explicit HIP_FP8_HOST_DEVICE constexpr hip_fp8(uint8_t v, from_bits_t) + : data(v) {} + +#ifdef __HIP__MI300__ + // NOTE: ON-DEVICE... always optimal bias + explicit HIP_FP8_DEVICE hip_fp8(float v) + : data(hip_fp8_impl::to_fp8_from_fp32(v)) {} + + explicit HIP_FP8_DEVICE hip_fp8(_Float16 v) + : hip_fp8(static_cast(v)) {} + + // Host only implementation using s/w simulation + explicit HIP_FP8_HOST +#else // __HIP__MI300__ + // both Host and DEVICE for non-MI300 using s/w simulation + explicit HIP_FP8_HOST_DEVICE +#endif // __HIP__MI300__ + hip_fp8(float v) { + data = hip_fp8_impl::to_float8<4, 3, float, true /*negative_zero_nan*/, + true /*clip*/>(v); + } + + explicit HIP_FP8_HOST_DEVICE hip_fp8(double v) + : hip_fp8(static_cast(v)) {} + +#ifdef __HIP__MI300__ + // upcast using device specific intrinsic + explicit inline HIP_FP8_DEVICE operator float() const { + float fval; + uint32_t i32val = static_cast(data); + + // upcast + asm volatile("v_cvt_f32_fp8 %0, %1 src0_sel:BYTE_0" + : "=v"(fval) + : "v"(i32val)); + + return fval; + } + + explicit inline HIP_FP8_HOST operator float() const +#else // __HIP__MI300__ + explicit inline HIP_FP8_HOST_DEVICE operator float() const +#endif // __HIP__MI300__ + { + return hip_fp8_impl::from_float8<4, 3, float, true /*negative_zero_nan*/>( + data); + } +}; + +namespace std { +inline hip_fp8 sin(hip_fp8 a) { return hip_fp8(sinf(float(a))); } +inline hip_fp8 cos(hip_fp8 a) { return hip_fp8(cosf(float(a))); } +HIP_FP8_HOST_DEVICE constexpr hip_fp8 real(const hip_fp8& a) { return a; } +} // namespace std + +// Special operator overloading +inline std::ostream& operator<<(std::ostream& os, const hip_fp8& f8) { + return os << float(f8); +} + +// all + operator overloading with mixed types +// mixed types, always converts to f32, does computation in f32, and returns +// float +inline HIP_FP8_HOST_DEVICE float operator+(const float fa, hip_fp8 b) { + return (fa + float(b)); +} + +inline HIP_FP8_HOST_DEVICE float operator+(hip_fp8 a, const float fb) { + return (float(a) + fb); +} + +inline HIP_FP8_HOST_DEVICE hip_fp8 operator+(hip_fp8 a, hip_fp8 b) { + return hip_fp8(float(a) + float(b)); +} + +inline HIP_FP8_HOST_DEVICE hip_fp8& operator+=(hip_fp8& a, hip_fp8 b) { + return a = hip_fp8(float(a) + float(b)); +} + +// overloading multiplication, always returns float, +inline HIP_FP8_HOST_DEVICE float operator*(hip_fp8 a, hip_fp8 b) { + return float(a) * float(b); +} + +inline HIP_FP8_HOST_DEVICE float operator*(float a, hip_fp8 b) { + return (a * float(b)); +} + +inline HIP_FP8_HOST_DEVICE float operator*(hip_fp8 a, float b) { + return (float(a) * b); +} + +inline HIP_FP8_HOST_DEVICE float operator*(int32_t a, hip_fp8 b) { + return ((float)a * float(b)); +} + +inline HIP_FP8_HOST_DEVICE float operator*(double a, hip_fp8 b) { + return ((float)a * float(b)); +} + +// overloading for compare +inline HIP_FP8_HOST_DEVICE bool operator==(hip_fp8 a, hip_fp8 b) { + return (a.data == b.data); +} +inline HIP_FP8_HOST_DEVICE bool operator!=(hip_fp8 a, hip_fp8 b) { + return (a.data != b.data); +} + +inline HIP_FP8_HOST_DEVICE bool operator>=(hip_fp8 a, hip_fp8 b) { + return static_cast(a) >= static_cast(b); +} +inline HIP_FP8_HOST_DEVICE bool operator>(hip_fp8 a, hip_fp8 b) { + return static_cast(a) > static_cast(b); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8_impl.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8_impl.h new file mode 100644 index 000000000..90251c353 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/hip_float8_impl.h @@ -0,0 +1,316 @@ +#pragma once + +#if defined(__HIPCC__) && \ + (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) + #define __HIP__MI300__ +#endif + +#ifdef __HIPCC__ + #define HIP_FP8_HOST_DEVICE __host__ __device__ + #define HIP_FP8_HOST __host__ + #define HIP_FP8_DEVICE __device__ +#else + #define HIP_FP8_HOST_DEVICE + #define HIP_FP8_HOST + #define HIP_FP8_DEVICE +#endif + +namespace hip_fp8_impl { + +#ifdef __HIP__MI300__ +HIP_FP8_DEVICE uint8_t to_fp8_from_fp32(float v) { + uint8_t i8data; + union { + float fval; + uint32_t i32val; + uint8_t i8val[4]; // NOTE: not endian independent + } val; + + uint32_t ival = 0; + val.fval = v; + + if ((val.i32val & 0x7F800000) != + 0x7F800000) { /// propagate NAN/INF, no clipping + val.fval = __builtin_amdgcn_fmed3f(val.fval, 240.0, -240.0); + } + + ival = __builtin_amdgcn_cvt_pk_fp8_f32(val.fval, val.fval, ival, + false); // false -> WORD0 + val.i32val = ival; + i8data = val.i8val[0]; + + return i8data; +} +#endif // __HIP__MI300__ + +HIP_FP8_HOST inline int clz(uint32_t x) { return __builtin_clz(x); } +#if defined(__HIPCC__) || defined(__CUDA_ARCH__) +HIP_FP8_DEVICE inline int clz(uint32_t x) { return __clz(x); } +#endif + +template +HIP_FP8_HOST_DEVICE uint8_t to_float8(T _x, bool stoch = false, + uint32_t rng = 0) { +#ifdef __HIPCC__ + constexpr bool is_half = std::is_same::value; +#else + constexpr bool is_half = false; +#endif + constexpr bool is_float = std::is_same::value; + static_assert(wm + we == 7, "wm+we==7"); + static_assert(is_half || is_float, "Only half and float can be cast to f8"); + + const int mfmt = (sizeof(T) == 4) ? 23 : 10; + uint32_t x; + if (sizeof(T) == 4) { + x = reinterpret_cast(_x); + } else { + x = reinterpret_cast(_x); + } + + uint32_t head, mantissa; + int exponent, bias; + uint32_t sign; + + if (sizeof(T) == 4) { + head = x & 0xFF800000; + mantissa = x & 0x7FFFFF; + exponent = (head >> 23) & 0xFF; + sign = head >> 31; + bias = 127; + } else { + head = x & 0xFC00; + mantissa = x & 0x3FF; + exponent = (head >> 10) & 0x1F; + sign = head >> 15; + bias = 15; + } + + uint32_t signed_inf = (sign << 7) + (((1 << we) - 1) << wm); + + // Deal with inf and NaNs + if (negative_zero_nan) { + if (sizeof(T) == 4) { + if ((x & 0x7F800000) == 0x7F800000) { + return 0x80; + } + } else { + // if(__hisinf(x) || __hisnan(x)) + if ((x & 0x7C00) == 0x7C00) { + return 0x80; + } + } + } else { + if (sizeof(T) == 4) { + if ((x & 0x7F800000) == 0x7F800000) { + return signed_inf + (mantissa != 0 ? 1 : 0); + } + } else { + if ((x & 0x7C00) == 0x7C00) { + return signed_inf + (mantissa != 0 ? 1 : 0); + } + } + } + if (x == 0) { + return 0; + } + + // First need to check if it is normal or denorm as there is a difference of + // implicit 1 Then need to adjust the exponent to align with the F8 exponent, + // in the meanwhile, shift The mantissa. Then for stochastic rounding, add rng + // to mantissa and truncate. And for RNE, no need to add rng. Then probably + // need to check whether there is carry and adjust exponent and mantissa again + + // For IEEE bias mode, the bias is 2^(k-1) -1 where k is the width of exponent + // bits + const int f8_bias = (1 << (we - 1)) - 1 + (negative_zero_nan ? 1 : 0); + const int f8_denormal_act_exponent = + 1 - f8_bias; // actual exponent of f8 denormal + // act_exponent is the actual exponent of fp32/fp16 (after subtracting bias) + // f8_exponent is the converted f8 exponent with bias encoding + // exponent_diff is the diff between fp32/fp16 exponent and f8 exponent, + // the difference needs to be adjusted and mantissa shifted + int act_exponent, f8_exponent, exponent_diff; + + if (exponent == 0) { // fp32/fp16 is in denormal. + /* fp32 denormal is below 2^-127 so it is usually not a concern here, we +mostly concern fp16 here. In this case, f8 is usually in denormal. But there +could be exceptions. fp16 denormal has exponent bias 15 while bf8 with NANOO has +exponent bias 16. It means that there are some numbers in fp16 denormal but they +are bf8 (NANOO) normals - smallest bf8 (NANOO) normal is 2^-15. fp16 numbers +where exponent==0 (actual exponent -14) and highest bit of mantissa is 1 are bf8 +(NANOO) normal. In this case, the fp16 mantissa should be shift left by 1 */ + act_exponent = exponent - bias + 1; + exponent_diff = + f8_denormal_act_exponent - + act_exponent; // actual exponent is exponent-bias+1 as it is denormal + } else { // fp32/fp16 is normal with implicit 1 + act_exponent = exponent - bias; + if (act_exponent <= f8_denormal_act_exponent) { + /* This is the case where fp32/fp16 is normal but it is in f8 denormal +range. For example fp8 nanoo mode, denormal exponent is -7, but if the +fp32/fp16 actual exponent is -7, it is actually larger due to the implicit 1, +Therefore it needs to be adjust to -6 and mantissa shift right by 1. +So for fp32/fp16, exponent -8 is the cut point to convert to fp8 nanoo */ + exponent_diff = f8_denormal_act_exponent - act_exponent; + } else { // both fp32/fp16 and f8 are in normal range + exponent_diff = 0; // exponent_diff=0 does not mean there is no + // difference for this case, act_exponent could be + // larger. Just that it does not need shift mantissa + } + mantissa += (1 << mfmt); // Add the implicit 1 into mantissa + } + + bool midpoint = (mantissa & ((1 << (mfmt - wm + exponent_diff)) - 1)) == + static_cast(1 << (mfmt - wm + exponent_diff - 1)); + /* This part is a bit tricky. The judgment of whether it is a tie needs to be + done before we shift right as shift right could rip off some residual part + and make something not midpoint look like midpoint. For example, the fp16 + number 0x1002 (0 00100 0000000010), it is larger than midpoint, but after + shift right by 4 bits, it would look like midpoint. +*/ + + if (exponent_diff > 0) { + mantissa >>= exponent_diff; + } else if (exponent_diff == -1) { + mantissa <<= -exponent_diff; + } + bool implicit_one = mantissa & (1 << mfmt); + // if there is no implicit 1, it means the f8 is denormal and need to adjust + // to denorm exponent + f8_exponent = (act_exponent + exponent_diff) /*actual f8 exponent*/ + + f8_bias - (implicit_one ? 0 : 1); + + // Now we have the exponent and mantissa adjusted + uint32_t drop_mask = (1 << (mfmt - wm)) - 1; + bool odd = mantissa & (1 << (mfmt - wm)); // if the least significant bit + // that is not truncated is 1 + mantissa += + (stoch ? rng : (midpoint ? (odd ? mantissa : mantissa - 1) : mantissa)) & + drop_mask; + + // Now we deal with overflow + if (f8_exponent == 0) { + if ((1 << mfmt) & mantissa) { + f8_exponent = 1; // denormal overflow to become normal, promote exponent + } + } else { + if ((1 << (mfmt + 1)) & mantissa) { + mantissa >>= 1; + f8_exponent++; + } + } + + mantissa >>= (mfmt - wm); + + // above range: quantize to maximum possible float of the same sign + const int max_exp = (1 << we) - (negative_zero_nan ? 1 : 2); + if (f8_exponent > max_exp) { + if (clip) { + mantissa = (1 << wm) - 1; + f8_exponent = max_exp; + } else { + return signed_inf; + } + } + + if (f8_exponent == 0 && mantissa == 0) { + return negative_zero_nan ? 0 : (sign << 7); + } + mantissa &= (1 << wm) - 1; + return (sign << 7) | (f8_exponent << wm) | mantissa; +} + +template +inline HIP_FP8_HOST_DEVICE T from_float8(uint8_t x) { +#ifdef __HIPCC__ + constexpr bool is_half = std::is_same::value; +#else + constexpr bool is_half = false; +#endif + constexpr bool is_float = std::is_same::value; + static_assert(is_half || is_float, "only half and float are supported"); + + constexpr int weo = is_half ? 5 : 8; + constexpr int wmo = is_half ? 10 : (is_float ? 23 : 7); + + T fInf, fNegInf, fNaN, fNeg0; + +#ifdef __HIPCC__ + if (is_half) { + const uint16_t ihInf = 0x7C00; + const uint16_t ihNegInf = 0xFC00; + const uint16_t ihNaN = 0x7C01; + const uint16_t ihNeg0 = 0x8000; + fInf = reinterpret_cast(ihInf); + fNegInf = reinterpret_cast(ihNegInf); + fNaN = reinterpret_cast(ihNaN); + fNeg0 = reinterpret_cast(ihNeg0); + } else +#endif + if (is_float) { + const uint32_t ifInf = 0x7F800000; + const uint32_t ifNegInf = 0xFF800000; + const uint32_t ifNaN = 0x7F800001; + const uint32_t ifNeg0 = 0x80000000; + fInf = reinterpret_cast(ifInf); + fNegInf = reinterpret_cast(ifNegInf); + fNaN = reinterpret_cast(ifNaN); + fNeg0 = reinterpret_cast(ifNeg0); + } + + if (x == 0) { + return 0; + } + + uint32_t sign = x >> 7; + uint32_t mantissa = x & ((1 << wm) - 1); + int exponent = (x & 0x7F) >> wm; + if (negative_zero_nan) { + if (x == 0x80) { + return fNaN; + } + } else { + if (x == 0x80) { + return fNeg0; + } + if (exponent == ((1 << we) - 1)) { + return (mantissa == 0) ? (sign ? fNegInf : fInf) : fNaN; + } + } + typename std::conditional::type retval; + if (we == 5 && is_half && !negative_zero_nan) { + retval = x << 8; + return reinterpret_cast(retval); + } + + const int exp_low_cutoff = + (1 << (weo - 1)) - (1 << (we - 1)) + 1 - (negative_zero_nan ? 1 : 0); + + // subnormal input + if (exponent == 0) { + // guaranteed mantissa!=0 since cases 0x0 and 0x80 are handled above + int sh = 1 + clz(mantissa) - (32 - wm); + mantissa <<= sh; + exponent += 1 - sh; + mantissa &= ((1 << wm) - 1); + } + exponent += exp_low_cutoff - 1; + mantissa <<= wmo - wm; + + // subnormal output (occurs when T=half, we=5, negative_zero_nan=true) + if (exponent <= 0) { + mantissa |= 1 << wmo; + mantissa >>= 1 - exponent; + exponent = 0; + } + + if (sizeof(T) == 2) { + retval = (sign << 15) | (exponent << 10) | mantissa; + } else { + retval = (sign << 31) | (exponent << 23) | mantissa; + } + return reinterpret_cast(retval); +} + +} // namespace hip_fp8_impl diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp deleted file mode 100644 index dcb747c9e..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "moe_ops.h" - -#include - -PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) -{ - m.def("topk_softmax", &topk_softmax, - "Apply topk softmax to the gating outputs."); - m.def("moe_align_block_size", &moe_align_block_size, - "Aligning the number of tokens to be processed by each expert such " - "that it is divisible by the block size."); - m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); - m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); - m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); - m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," - " int CuCount) -> ()"); - m.def("rotary_embedding", &rotary_embedding, "rotary_embedding"); - m.def("batched_rotary_embedding", &batched_rotary_embedding, "batched_rotary_embedding"); -} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h new file mode 100644 index 000000000..f2f69e9e5 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h @@ -0,0 +1,41 @@ +#pragma once + +#include + +void LLMM1( + at::Tensor& in_a, at::Tensor& in_b, at::Tensor& out_c, + const int64_t rows_per_block); + + +void paged_attention_rocm( + torch::Tensor& out, torch::Tensor& exp_sums, + torch::Tensor& max_logits, torch::Tensor& tmp_out, + torch::Tensor& query, torch::Tensor& key_cache, + torch::Tensor& value_cache, int64_t num_kv_heads, + double scale, torch::Tensor& block_tables, + torch::Tensor& context_lens, int64_t block_size, + int64_t max_context_len, + const c10::optional& alibi_slopes, + const std::string& kv_cache_dtype, double k_scale, + double v_scale); + +void paged_attention_v1( + torch::Tensor& out, torch::Tensor& query, torch::Tensor& key_cache, + torch::Tensor& value_cache, int64_t num_kv_heads, double scale, + torch::Tensor& block_tables, torch::Tensor& seq_lens, int64_t block_size, + int64_t max_seq_len, const c10::optional& alibi_slopes, + const std::string& kv_cache_dtype, double k_scale, double v_scale, + const int64_t tp_rank, const int64_t blocksparse_local_blocks, + const int64_t blocksparse_vert_stride, const int64_t blocksparse_block_size, + const int64_t blocksparse_head_sliding_step); + +void paged_attention_v2( + torch::Tensor& out, torch::Tensor& exp_sums, torch::Tensor& max_logits, + torch::Tensor& tmp_out, torch::Tensor& query, torch::Tensor& key_cache, + torch::Tensor& value_cache, int64_t num_kv_heads, double scale, + torch::Tensor& block_tables, torch::Tensor& seq_lens, int64_t block_size, + int64_t max_seq_len, const c10::optional& alibi_slopes, + const std::string& kv_cache_dtype, double k_scale, double v_scale, + const int64_t tp_rank, const int64_t blocksparse_local_blocks, + const int64_t blocksparse_vert_stride, const int64_t blocksparse_block_size, + const int64_t blocksparse_head_sliding_step); \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/quant_utils.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/quant_utils.cuh new file mode 100644 index 000000000..25cab5a91 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/quant_utils.cuh @@ -0,0 +1,710 @@ +#pragma once +#include "hip_float8.h" + +#include +#include +#include + +#include "attention_dtypes.h" + +namespace vllm { +#ifdef USE_ROCM + +namespace fp8 { + #ifdef ENABLE_FP8 + +template +__inline__ __device__ Tout vec_conversion(const Tin& x) { + return x; +} + +template +__inline__ __device__ Tout scaled_vec_conversion(const Tin& x, + const float scale) { + return x; +} + +// fp8 -> half +template <> +__inline__ __device__ uint16_t +vec_conversion(const uint8_t& a) { + hip_fp8 f8{a, hip_fp8::from_bits()}; + __half_raw res; + res.data = static_cast(f8); + return res.x; +} + +// fp8x2 -> half2 +template <> +__inline__ __device__ uint32_t +vec_conversion(const uint16_t& a) { + #if defined(__HIP__MI300__) + const auto& f2 = __builtin_amdgcn_cvt_pk_f32_fp8(a, 0); + union { + __half2_raw h2r; + uint32_t ui32; + } tmp; + tmp.h2r.x.data = f2[0]; + tmp.h2r.y.data = f2[1]; + return tmp.ui32; + #else + union { + uint16_t u16[2]; + uint32_t u32; + } tmp; + + tmp.u16[0] = vec_conversion(static_cast(a)); + tmp.u16[1] = vec_conversion(static_cast(a >> 8U)); + return tmp.u32; + #endif +} + +// fp8x4 -> half2x2 +template <> +__inline__ __device__ uint2 vec_conversion(const uint32_t& a) { + union { + uint2 u32x2; + uint32_t u32[2]; + } tmp; + tmp.u32[0] = vec_conversion((uint16_t)a); + tmp.u32[1] = vec_conversion((uint16_t)(a >> 16U)); + return tmp.u32x2; +} + +// fp8x8 -> half2x4 +template <> +__inline__ __device__ uint4 vec_conversion(const uint2& a) { + union { + uint4 u64x2; + uint2 u64[2]; + } tmp; + tmp.u64[0] = vec_conversion(a.x); + tmp.u64[1] = vec_conversion(a.y); + return tmp.u64x2; +} + +using __nv_bfloat16 = __hip_bfloat16; + +// fp8 -> __nv_bfloat16 +template <> +__inline__ __device__ __nv_bfloat16 +vec_conversion<__nv_bfloat16, uint8_t>(const uint8_t& a) { + hip_fp8 f8{a, hip_fp8::from_bits()}; + float f{f8}; + return __float2bfloat16(f); +} + +using __nv_bfloat162 = __hip_bfloat162; + +// fp8x2 -> __nv_bfloat162 +template <> +__inline__ __device__ __nv_bfloat162 +vec_conversion<__nv_bfloat162, uint16_t>(const uint16_t& a) { + __nv_bfloat162 res; + res.x = vec_conversion<__nv_bfloat16, uint8_t>((uint8_t)a); + res.y = vec_conversion<__nv_bfloat16, uint8_t>((uint8_t)(a >> 8U)); + return res; +} + +// fp8x4 -> bf16_4_t +template <> +__inline__ __device__ bf16_4_t +vec_conversion(const uint32_t& a) { + bf16_4_t res; + res.x = vec_conversion<__nv_bfloat162, uint16_t>((uint16_t)a); + res.y = vec_conversion<__nv_bfloat162, uint16_t>((uint16_t)(a >> 16U)); + return res; +} + +// fp8x8 -> bf16_8_t +template <> +__inline__ __device__ bf16_8_t vec_conversion(const uint2& a) { + bf16_4_t tmp1, tmp2; + tmp1 = vec_conversion(a.x); + tmp2 = vec_conversion(a.y); + bf16_8_t res; + res.x = tmp1.x; + res.y = tmp1.y; + res.z = tmp2.x; + res.w = tmp2.y; + return res; +} + +// fp8 -> float +template <> +__inline__ __device__ float vec_conversion(const uint8_t& a) { + hip_fp8 fp8{a, hip_fp8::from_bits()}; + return static_cast(fp8); +} + +// fp8x2 -> float2 +template <> +__inline__ __device__ float2 +vec_conversion(const uint16_t& a) { + #if defined(__HIP__MI300__) + float2 res; + const auto& f2 = __builtin_amdgcn_cvt_pk_f32_fp8(a, 0); + res.x = f2[0]; + res.y = f2[1]; + return res; + #else + float2 res; + res.x = vec_conversion(static_cast(a)); + res.y = vec_conversion(static_cast(a >> 8U)); + return res; + #endif +} + +// fp8x4 -> float4 +template <> +__inline__ __device__ Float4_ +vec_conversion(const uint32_t& a) { + Float4_ res; + res.x = vec_conversion((uint16_t)a); + res.y = vec_conversion((uint16_t)(a >> 16U)); + return res; +} + +// fp8x8 -> float8 +template <> +__inline__ __device__ Float8_ vec_conversion(const uint2& a) { + Float4_ tmp1, tmp2; + tmp1 = vec_conversion(a.x); + tmp2 = vec_conversion(a.y); + Float8_ res; + res.x = tmp1.x; + res.y = tmp1.y; + res.z = tmp2.x; + res.w = tmp2.y; + return res; +} + +// half -> fp8 +template <> +__inline__ __device__ uint8_t +vec_conversion(const uint16_t& a) { + __half_raw tmp; + tmp.x = a; + + hip_fp8 f8{static_cast(tmp.data)}; + return f8.data; +} + +// bf16 -> fp8 +template <> +__inline__ __device__ uint8_t +vec_conversion(const __nv_bfloat16& a) { + hip_fp8 res{__bfloat162float(a)}; + return res.data; +} + +// float -> fp8 +template <> +__inline__ __device__ uint8_t vec_conversion(const float& a) { + hip_fp8 f8(a); + return f8.data; +} + +// fp8x4 -> float4 +template <> +__inline__ __device__ float4 +vec_conversion(const uint32_t& a) { + Float4_ tmp = vec_conversion(a); + float4 res = make_float4(tmp.x.x, tmp.x.y, tmp.y.x, tmp.y.y); + return res; +} + +// float2 -> half2 +template <> +__inline__ __device__ uint32_t +vec_conversion(const float2& a) { + union { + half2 float16; + uint32_t uint32; + }; + + float16 = __float22half2_rn(a); + return uint32; +} + +// Float4 -> half2x2 +template <> +__inline__ __device__ uint2 vec_conversion(const Float4_& a) { + uint2 b; + float2 val; + val.x = a.x.x; + val.y = a.x.y; + b.x = vec_conversion(val); + + val.x = a.y.x; + val.y = a.y.y; + b.y = vec_conversion(val); + return b; +} + +// Float4 -> float4 +template <> +__inline__ __device__ float4 vec_conversion(const Float4_& a) { + float4 b; + b.x = a.x.x; + b.y = a.x.y; + b.z = a.y.x; + b.w = a.y.y; + return b; +} + +// Float8 -> half2x4 +template <> +__inline__ __device__ uint4 vec_conversion(const Float8_& a) { + uint4 b; + b.x = vec_conversion(a.x); + b.y = vec_conversion(a.y); + b.z = vec_conversion(a.z); + b.w = vec_conversion(a.w); + return b; +} + +// float2 -> bfloat162 +template <> +__inline__ __device__ __nv_bfloat162 +vec_conversion<__nv_bfloat162, float2>(const float2& a) { + __nv_bfloat162 b = __float22bfloat162_rn(a); + return b; +} + +// Float4 -> bfloat162x2 +template <> +__inline__ __device__ bf16_4_t +vec_conversion(const Float4_& a) { + bf16_4_t b; + b.x = __float22bfloat162_rn(a.x); + b.y = __float22bfloat162_rn(a.y); + return b; +} + +// Float8 -> bfloat162x4 +template <> +__inline__ __device__ bf16_8_t +vec_conversion(const Float8_& a) { + bf16_8_t b; + b.x = __float22bfloat162_rn(a.x); + b.y = __float22bfloat162_rn(a.y); + b.z = __float22bfloat162_rn(a.z); + b.w = __float22bfloat162_rn(a.w); + return b; +} + +/* Scaled and vectorized conversions, for data exchange between high and low + precision domains + + Convention of the scale in API, e.g: FP8_data = Quantization( + High_Precision_data / scale ) s.t. Quantize(HP / scale) => FP8 Dequant(FP8) * + scale => HP + + */ + +// fp8 -> half +template <> +__inline__ __device__ uint16_t +scaled_vec_conversion(const uint8_t& a, float scale) { + hip_fp8 f8{a, hip_fp8::from_bits()}; + __half_raw res; + res.data = static_cast(f8) * scale; + return res.x; +} + +// fp8x2 -> half2 +template <> +__inline__ __device__ uint32_t +scaled_vec_conversion(const uint16_t& a, float scale) { + #if defined(__HIP__MI300__) + const auto& f2 = __builtin_amdgcn_cvt_pk_f32_fp8(a, 0); + union { + __half2_raw h2r; + uint32_t ui32; + } tmp; + tmp.h2r.x.data = f2[0] * scale; + tmp.h2r.y.data = f2[1] * scale; + return tmp.ui32; + #else + union { + uint16_t u16[2]; + uint32_t u32; + } tmp; + + tmp.u16[0] = + scaled_vec_conversion(static_cast(a), scale); + tmp.u16[1] = scaled_vec_conversion( + static_cast(a >> 8U), scale); + return tmp.u32; + #endif +} + +// fp8x4 -> half2x2 +template <> +__inline__ __device__ uint2 +scaled_vec_conversion(const uint32_t& a, float scale) { + union { + uint2 u32x2; + uint32_t u32[2]; + } tmp; + tmp.u32[0] = scaled_vec_conversion((uint16_t)a, scale); + tmp.u32[1] = + scaled_vec_conversion((uint16_t)(a >> 16U), scale); + return tmp.u32x2; +} + +// fp8x8 -> half2x4 +template <> +__inline__ __device__ uint4 scaled_vec_conversion(const uint2& a, + float scale) { + union { + uint4 u64x2; + uint2 u64[2]; + } tmp; + tmp.u64[0] = scaled_vec_conversion(a.x, scale); + tmp.u64[1] = scaled_vec_conversion(a.y, scale); + return tmp.u64x2; +} + +using __nv_bfloat16 = __hip_bfloat16; + +// fp8 -> __nv_bfloat16 +template <> +__inline__ __device__ __nv_bfloat16 +scaled_vec_conversion<__nv_bfloat16, uint8_t>(const uint8_t& a, float scale) { + hip_fp8 f8{a, hip_fp8::from_bits()}; + float f{f8}; + return __float2bfloat16(f * scale); +} + +// fp8x2 -> __nv_bfloat162 +template <> +__inline__ __device__ __nv_bfloat162 +scaled_vec_conversion<__nv_bfloat162, uint16_t>(const uint16_t& a, + float scale) { + __nv_bfloat162 res; + res.x = scaled_vec_conversion<__nv_bfloat16, uint8_t>((uint8_t)a, scale); + res.y = + scaled_vec_conversion<__nv_bfloat16, uint8_t>((uint8_t)(a >> 8U), scale); + return res; +} + +// fp8x4 -> bf16_4_t +template <> +__inline__ __device__ bf16_4_t +scaled_vec_conversion(const uint32_t& a, float scale) { + bf16_4_t res; + res.x = scaled_vec_conversion<__nv_bfloat162, uint16_t>((uint16_t)a, scale); + res.y = scaled_vec_conversion<__nv_bfloat162, uint16_t>((uint16_t)(a >> 16U), + scale); + return res; +} + +// fp8x8 -> bf16_8_t +template <> +__inline__ __device__ bf16_8_t +scaled_vec_conversion(const uint2& a, float scale) { + bf16_4_t tmp1, tmp2; + tmp1 = scaled_vec_conversion(a.x, scale); + tmp2 = scaled_vec_conversion(a.y, scale); + bf16_8_t res; + res.x = tmp1.x; + res.y = tmp1.y; + res.z = tmp2.x; + res.w = tmp2.y; + return res; +} + +// fp8 -> float +template <> +__inline__ __device__ float scaled_vec_conversion( + const uint8_t& a, float scale) { + hip_fp8 fp8{a, hip_fp8::from_bits()}; + return static_cast(fp8) * scale; +} + +// fp8x2 -> float2 +template <> +__inline__ __device__ float2 +scaled_vec_conversion(const uint16_t& a, float scale) { + #if defined(__HIP__MI300__) + float2 res; + const auto& f2 = __builtin_amdgcn_cvt_pk_f32_fp8(a, 0); + res.x = f2[0] * scale; + res.y = f2[1] * scale; + return res; + #else + float2 res; + res.x = scaled_vec_conversion(static_cast(a), scale); + res.y = scaled_vec_conversion(static_cast(a >> 8U), + scale); + return res; + #endif +} + +// fp8x4 -> float4 +template <> +__inline__ __device__ Float4_ +scaled_vec_conversion(const uint32_t& a, const float scale) { + Float4_ res; + res.x = scaled_vec_conversion((uint16_t)a, scale); + res.y = scaled_vec_conversion((uint16_t)(a >> 16U), scale); + return res; +} + +// fp8x4 -> float4 +template <> +__inline__ __device__ float4 +scaled_vec_conversion(const uint32_t& a, float scale) { + Float4_ res = scaled_vec_conversion(a, scale); + return {res.x.x, res.x.y, res.y.x, res.y.y}; +} + +// fp8x8 -> float8 +template <> +__inline__ __device__ Float8_ +scaled_vec_conversion(const uint2& a, float scale) { + Float4_ tmp1, tmp2; + tmp1 = scaled_vec_conversion(a.x, scale); + tmp2 = scaled_vec_conversion(a.y, scale); + Float8_ res; + res.x = tmp1.x; + res.y = tmp1.y; + res.z = tmp2.x; + res.w = tmp2.y; + return res; +} + +// half -> fp8 +template <> +__inline__ __device__ uint8_t +scaled_vec_conversion(const uint16_t& a, float scale) { + __half_raw tmp; + tmp.x = a; + + hip_fp8 f8{static_cast(tmp.data / scale)}; + return f8.data; +} + +// halfx2 -> fp8x2 +template <> +__inline__ __device__ uint16_t +scaled_vec_conversion(const uint32_t& a, float scale) { + #ifdef __HIP__MI300__ + union { + uint32_t ui32; + __half2_raw h2r; + } tmp; + tmp.ui32 = a; + + union { + uint32_t ui32; + float f; + } f1, f2; + f1.f = tmp.h2r.x.data / scale; + f2.f = tmp.h2r.y.data / scale; + if ((f1.ui32 & 0x7F800000) != 0x7F800000) { + f1.f = __builtin_amdgcn_fmed3f(f1.f, 240.0, -240.0); + } + if ((f2.ui32 & 0x7F800000) != 0x7F800000) { + f2.f = __builtin_amdgcn_fmed3f(f2.f, 240.0, -240.0); + } + return __builtin_amdgcn_cvt_pk_fp8_f32(f1.f, f2.f, 0, 0); + #else + union { + uint32_t ui32; + __half2_raw h2r; + } tmp; + tmp.ui32 = a; + + union { + uint8_t ui8[2]; + uint16_t ui16; + } res; + res.ui8[0] = scaled_vec_conversion(tmp.h2r.x.x, scale); + res.ui8[1] = scaled_vec_conversion(tmp.h2r.y.x, scale); + return res.ui16; + #endif +} + +// half2x2 -> fp8x4 +template <> +__inline__ __device__ uint32_t +scaled_vec_conversion(const uint2& a, float scale) { + union { + uint16_t ui16[2]; + uint32_t ui32; + } tmp; + tmp.ui16[0] = scaled_vec_conversion(a.x, scale); + tmp.ui16[1] = scaled_vec_conversion(a.y, scale); + return tmp.ui32; +} + +// half2x4 -> fp8x8 +template <> +__inline__ __device__ uint2 scaled_vec_conversion(const uint4& a, + float scale) { + union { + uint2 ui2[2]; + uint4 ui4; + } tmp; + tmp.ui4 = a; + uint2 res; + res.x = scaled_vec_conversion(tmp.ui2[0], scale); + res.y = scaled_vec_conversion(tmp.ui2[1], scale); + return res; +} + +// bf16 -> fp8 +template <> +__inline__ __device__ uint8_t scaled_vec_conversion( + const __nv_bfloat16& a, float scale) { + hip_fp8 res{__bfloat162float(a) / scale}; + return res.data; +} + +// bf16x2 -> fp8x2 +template <> +__inline__ __device__ uint16_t scaled_vec_conversion( + const __nv_bfloat162& a, float scale) { + union { + uint8_t ui8[2]; + uint16_t ui16; + } tmp; + tmp.ui8[0] = scaled_vec_conversion(a.x, scale); + tmp.ui8[1] = scaled_vec_conversion(a.y, scale); + return tmp.ui16; +} + +// bf16x4 -> fp8x4 +template <> +__inline__ __device__ uint32_t +scaled_vec_conversion(const bf16_4_t& a, float scale) { + union { + uint16_t ui16[2]; + uint32_t ui32; + } tmp; + tmp.ui16[0] = scaled_vec_conversion(a.x, scale); + tmp.ui16[1] = scaled_vec_conversion(a.y, scale); + return tmp.ui32; +} + +// bf16x8 -> fp8x8 +template <> +__inline__ __device__ uint2 +scaled_vec_conversion(const bf16_8_t& a, float scale) { + uint2 res; + res.x = scaled_vec_conversion({a.x, a.y}, scale); + res.y = scaled_vec_conversion({a.z, a.w}, scale); + return res; +} + +// float -> fp8 +template <> +__inline__ __device__ uint8_t +scaled_vec_conversion(const float& a, float scale) { + hip_fp8 f8(a); + return f8.data; +} + +// floatx2 -> fp8x2 +template <> +__inline__ __device__ uint16_t +scaled_vec_conversion(const float2& a, float scale) { + #ifdef __HIP__MI300__ + union { + uint32_t ui32; + float f; + } f1, f2; + f1.f = a.x / scale; + f2.f = a.y / scale; + if ((f1.ui32 & 0x7F800000) != 0x7F800000) { + f1.f = __builtin_amdgcn_fmed3f(f1.f, 240.0, -240.0); + } + if ((f2.ui32 & 0x7F800000) != 0x7F800000) { + f2.f = __builtin_amdgcn_fmed3f(f2.f, 240.0, -240.0); + } + return __builtin_amdgcn_cvt_pk_fp8_f32(f1.f, f2.f, 0, 0); + #else + union { + uint8_t ui8[2]; + uint16_t ui16; + } tmp; + tmp.ui8[0] = scaled_vec_conversion(a.x, scale); + tmp.ui8[1] = scaled_vec_conversion(a.y, scale); + return tmp.ui16; + #endif +} + +// floatx4 -> fp8x4 +template <> +__inline__ __device__ uint32_t +scaled_vec_conversion(const float4& a, float scale) { + union { + uint16_t ui16[2]; + uint32_t ui32; + } tmp; + tmp.ui16[0] = scaled_vec_conversion({a.x, a.y}, scale); + tmp.ui16[1] = scaled_vec_conversion({a.z, a.w}, scale); + return tmp.ui32; +} + #endif // ENABLE_FP8 + +template +__inline__ __device__ Tout convert(const Tin& x) { + #ifdef ENABLE_FP8 + if constexpr (kv_dt == Fp8KVCacheDataType::kFp8E4M3) { + return vec_conversion(x); + } + #endif + assert(false); + return {}; // Squash missing return statement warning +} + +template +__inline__ __device__ Tout scaled_convert(const Tin& x, const float scale) { + #ifdef ENABLE_FP8 + if constexpr (kv_dt == Fp8KVCacheDataType::kFp8E4M3) { + return scaled_vec_conversion(x, scale); + } + #endif + assert(false); + return {}; // Squash missing return statement warning +} + + // The following macro is used to dispatch the conversion function based on + // the data type of the key and value cache. The FN is a macro that calls a + // function with template. + #define DISPATCH_BY_KV_CACHE_DTYPE(SRC_DTYPE, KV_DTYPE, FN) \ + if (KV_DTYPE == "auto") { \ + if (SRC_DTYPE == at::ScalarType::Float) { \ + FN(float, float, vllm::Fp8KVCacheDataType::kAuto); \ + } else if (SRC_DTYPE == at::ScalarType::Half) { \ + FN(uint16_t, uint16_t, vllm::Fp8KVCacheDataType::kAuto); \ + } else if (SRC_DTYPE == at::ScalarType::BFloat16) { \ + FN(__nv_bfloat16, __nv_bfloat16, vllm::Fp8KVCacheDataType::kAuto); \ + } else { \ + TORCH_CHECK(false, "Unsupported input type of kv cache: ", SRC_DTYPE); \ + } \ + } else { \ + if (KV_DTYPE == "fp8" || KV_DTYPE == "fp8_e4m3") { \ + if (SRC_DTYPE == at::ScalarType::Float) { \ + FN(float, uint8_t, vllm::Fp8KVCacheDataType::kFp8E4M3); \ + } else if (SRC_DTYPE == at::ScalarType::Half) { \ + FN(uint16_t, uint8_t, vllm::Fp8KVCacheDataType::kFp8E4M3); \ + } else if (SRC_DTYPE == at::ScalarType::BFloat16) { \ + FN(__nv_bfloat16, uint8_t, vllm::Fp8KVCacheDataType::kFp8E4M3); \ + } else { \ + TORCH_CHECK(false, \ + "Unsupported input type of kv cache: ", SRC_DTYPE); \ + } \ + } else { \ + TORCH_CHECK(false, "Unsupported data type of kv cache: ", KV_DTYPE); \ + } \ + } + +} // namespace fp8 +#endif // USE_ROCM +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp new file mode 100644 index 000000000..81988168a --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp @@ -0,0 +1,79 @@ +#include "moe_ops.h" +#include "paged_attn_ops.h" +#include "cache.h" +#include + +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { + m.def("topk_softmax", &topk_softmax, + "Apply topk softmax to the gating outputs."); + m.def("moe_align_block_size", &moe_align_block_size, + "Aligning the number of tokens to be processed by each expert such " + "that it is divisible by the block size."); + m.def("silu_and_mul", &silu_and_mul, "Activation function used in SwiGLU."); + m.def("rms_norm", &rms_norm, "Apply Root Mean Square (RMS) Normalization to the input tensor."); + m.def("fused_add_rms_norm", &fused_add_rms_norm, "In-place fused Add and RMS Normalization"); + m.def("wvSpltK", &wvSpltK, "wvSpltK(Tensor in_a, Tensor in_b, Tensor! out_c, int N_in," + " int CuCount) -> ()"); + m.def("LLMM1", &LLMM1, "LLMM1(Tensor in_a, Tensor in_b, Tensor! out_c, int rows_per_block) -> " + "()"); + m.def("rotary_embedding", &rotary_embedding, "rotary_embedding"); + m.def("batched_rotary_embedding", &batched_rotary_embedding, "batched_rotary_embedding"); + m.def("paged_attention_rocm", &paged_attention_rocm, + "paged_attention_rocm(Tensor! out, Tensor exp_sums," + " Tensor max_logits, Tensor tmp_out," + " Tensor query, Tensor key_cache," + " Tensor value_cache, int num_kv_heads," + " float scale, Tensor block_tables," + " Tensor context_lens, int block_size," + " int max_context_len," + " Tensor? alibi_slopes," + " str kv_cache_dtype," + " float k_scale, float v_scale) -> ()" + ); + m.def("paged_attention_v1", &paged_attention_v1, + "paged_attention_v1(" + " Tensor! out, Tensor query, Tensor key_cache," + " Tensor value_cache, int num_kv_heads, float scale," + " Tensor block_tables, Tensor seq_lens, int block_size," + " int max_seq_len, Tensor? alibi_slopes," + " str kv_cache_dtype, float k_scale, float v_scale," + " int tp_rank, int blocksparse_local_blocks," + " int blocksparse_vert_stride, int blocksparse_block_size," + " int blocksparse_head_sliding_step) -> ()" + ); + m.def("paged_attention_v2", &paged_attention_v2, + "paged_attention_v2(" + " Tensor! out, Tensor! exp_sums, Tensor! max_logits," + " Tensor! tmp_out, Tensor query, Tensor key_cache," + " Tensor value_cache, int num_kv_heads, float scale," + " Tensor block_tables, Tensor seq_lens, int block_size," + " int max_seq_len, Tensor? alibi_slopes," + " str kv_cache_dtype, float k_scale, float v_scale," + " int tp_rank, int blocksparse_local_blocks," + " int blocksparse_vert_stride, int blocksparse_block_size," + " int blocksparse_head_sliding_step) -> ()" + ); + + m.def("swap_blocks", &swap_blocks, + "swap_blocks(Tensor src, Tensor! dst, Tensor block_mapping) -> ()"); + m.def("copy_blocks", ©_blocks, + "copy_blocks(Tensor(a!)[] key_caches, Tensor[](b!) value_caches, " + "Tensor block_mapping) -> ()"); + + m.def("reshape_and_cache", &reshape_and_cache, + "reshape_and_cache(Tensor key, Tensor value," + " Tensor! key_cache, Tensor! value_cache," + " Tensor slot_mapping," + " str kv_cache_dtype," + " float k_scale, float v_scale) -> ()"); + m.def("reshape_and_cache_flash", &reshape_and_cache_flash, + "reshape_and_cache_flash(Tensor key, Tensor value," + " Tensor! key_cache," + " Tensor! value_cache," + " Tensor slot_mapping," + " str kv_cache_dtype," + " float k_scale, float v_scale) -> ()"); + m.def("convert_fp8", &convert_fp8, + "convert_fp8(Tensor! dst_cache, Tensor src_cache, float scale, " + "str kv_cache_dtype) -> ()"); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py new file mode 100644 index 000000000..9f0000960 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py @@ -0,0 +1,394 @@ +from typing import List, Optional, Tuple, Union +import torch +import rocmKernels as ops + +from dataclasses import dataclass +# from vllm.utils import is_hip +def is_hip(): + return True +# if HAS_TRITON: +# from vllm.attention.ops.prefix_prefill import context_attention_fwd + +# Should be the same as PARTITION_SIZE in `paged_attention_v2_launcher`. +_PARTITION_SIZE = 512 if not is_hip() else 1024 +_PARTITION_SIZE_ROCM = 512 +_DEVICE_PROPERTIES = torch.cuda.get_device_properties("cuda") +_ON_NAVI = hasattr(_DEVICE_PROPERTIES, "gcnArchName") and \ + "gfx1" in torch.cuda.get_device_properties("cuda").gcnArchName + + +# page attention ops +def paged_attention_v1( + out: torch.Tensor, + query: torch.Tensor, + key_cache: torch.Tensor, + value_cache: torch.Tensor, + num_kv_heads: int, + scale: float, + block_tables: torch.Tensor, + seq_lens: torch.Tensor, + block_size: int, + max_seq_len: int, + alibi_slopes: Optional[torch.Tensor], + kv_cache_dtype: str, + k_scale: float, + v_scale: float, + tp_rank: int = 0, + blocksparse_local_blocks: int = 0, + blocksparse_vert_stride: int = 0, + blocksparse_block_size: int = 64, + blocksparse_head_sliding_step: int = 0, +) -> None: + ops.paged_attention_v1( + out, query, key_cache, value_cache, num_kv_heads, scale, block_tables, + seq_lens, block_size, max_seq_len, alibi_slopes, kv_cache_dtype, + k_scale, v_scale, tp_rank, blocksparse_local_blocks, + blocksparse_vert_stride, blocksparse_block_size, + blocksparse_head_sliding_step) + + +def paged_attention_v2( + out: torch.Tensor, + exp_sum: torch.Tensor, + max_logits: torch.Tensor, + tmp_out: torch.Tensor, + query: torch.Tensor, + key_cache: torch.Tensor, + value_cache: torch.Tensor, + num_kv_heads: int, + scale: float, + block_tables: torch.Tensor, + seq_lens: torch.Tensor, + block_size: int, + max_seq_len: int, + alibi_slopes: Optional[torch.Tensor], + kv_cache_dtype: str, + k_scale: float, + v_scale: float, + tp_rank: int = 0, + blocksparse_local_blocks: int = 0, + blocksparse_vert_stride: int = 0, + blocksparse_block_size: int = 64, + blocksparse_head_sliding_step: int = 0, +) -> None: + ops.paged_attention_v2( + out, exp_sum, max_logits, tmp_out, query, key_cache, value_cache, + num_kv_heads, scale, block_tables, seq_lens, block_size, max_seq_len, + alibi_slopes, kv_cache_dtype, k_scale, v_scale, tp_rank, + blocksparse_local_blocks, blocksparse_vert_stride, + blocksparse_block_size, blocksparse_head_sliding_step) + + +def paged_attention_rocm( + out: torch.Tensor, + exp_sum: torch.Tensor, + max_logits: torch.Tensor, + tmp_out: torch.Tensor, + query: torch.Tensor, + key_cache: torch.Tensor, + value_cache: torch.Tensor, + num_kv_heads: int, + scale: float, + block_tables: torch.Tensor, + seq_lens: torch.Tensor, + block_size: int, + max_seq_len: int, + alibi_slopes: Optional[torch.Tensor], + kv_cache_dtype: str, + k_scale: float, + v_scale: float, +) -> None: + ops.paged_attention_rocm(out, exp_sum, max_logits, tmp_out, query, + key_cache, value_cache, num_kv_heads, + scale, block_tables, seq_lens, + block_size, max_seq_len, alibi_slopes, + kv_cache_dtype, k_scale, v_scale) + +@dataclass +class PagedAttentionMetadata: + """Metadata for PagedAttention.""" + # (batch_size,). The length of sequences (entire tokens seen so far) per + # sequence. + seq_lens_tensor: Optional[torch.Tensor] + # Maximum sequence length in the batch. 0 if it is prefill-only batch. + max_decode_seq_len: int + # (batch_size, max_blocks_per_seq). + # Block addresses per sequence. (Seq id -> list of physical block) + # E.g., [0, 1, 2] means tokens are stored in 0th, 1st, and 2nd blocks + # in the kv cache. Each block can contain up to block_size tokens. + # 2nd dimensions are padded up to max_blocks_per_seq if it is cuda-graph + # captured. + block_tables: Optional[torch.Tensor] + + +def _use_rocm_custom_paged_attention(qtype: torch.dtype, head_size: int, + block_size: int, gqa_ratio: int, + max_seq_len: int) -> bool: + # rocm custom page attention not support on navi (gfx1*) + return (not _ON_NAVI and (qtype == torch.half or qtype == torch.bfloat16) + and (head_size == 64 or head_size == 128) + and (block_size == 16 or block_size == 32) + and (gqa_ratio >= 1 and gqa_ratio <= 16) and max_seq_len <= 32768) + +class PagedAttention: + @staticmethod + def get_supported_head_sizes() -> List[int]: + return [64, 80, 96, 112, 120, 128, 192, 256] + + @staticmethod + def get_kv_cache_shape( + num_blocks: int, + block_size: int, + num_kv_heads: int, + head_size: int, + ) -> Tuple[int, ...]: + return (2, num_blocks, block_size * num_kv_heads * head_size) + + @staticmethod + def split_kv_cache( + kv_cache: torch.Tensor, + num_kv_heads: int, + head_size: int, + ) -> Tuple[torch.Tensor, torch.Tensor]: + x = 16 // kv_cache.element_size() + num_blocks = kv_cache.shape[1] + + key_cache = kv_cache[0] + key_cache = key_cache.view(num_blocks, num_kv_heads, head_size // x, + -1, x) + value_cache = kv_cache[1] + value_cache = value_cache.view(num_blocks, num_kv_heads, head_size, -1) + return key_cache, value_cache + + @staticmethod + def write_to_paged_cache( + key: torch.Tensor, + value: torch.Tensor, + key_cache: torch.Tensor, + value_cache: torch.Tensor, + slot_mapping: torch.Tensor, + kv_cache_dtype: str, + k_scale: float, + v_scale: float, + ) -> None: + ops.reshape_and_cache( + key, + value, + key_cache, + value_cache, + slot_mapping.flatten(), + kv_cache_dtype, + k_scale, + v_scale, + ) + + @staticmethod + def forward_decode( + query: torch.Tensor, + key_cache: torch.Tensor, + value_cache: torch.Tensor, + block_tables: torch.Tensor, + seq_lens: torch.Tensor, + max_seq_len: int, + kv_cache_dtype: str, + num_kv_heads: int, + scale: float, + alibi_slopes: Optional[torch.Tensor], + k_scale: float, + v_scale: float, + tp_rank: int = 0, + blocksparse_local_blocks: int = 0, + blocksparse_vert_stride: int = 0, + blocksparse_block_size: int = 64, + blocksparse_head_sliding_step: int = 0, + ) -> torch.Tensor: + # Whether to use rocm custom paged attention or not + num_seqs, num_heads, head_size = query.shape + block_size = value_cache.shape[3] + gqa_ratio = num_heads // num_kv_heads + use_custom = _use_rocm_custom_paged_attention( + query.dtype, head_size, block_size, gqa_ratio, + max_seq_len) + output = torch.empty_like(query) + if use_custom: + max_num_partitions = ( + (max_seq_len + _PARTITION_SIZE_ROCM - 1) // + _PARTITION_SIZE_ROCM) + assert _PARTITION_SIZE_ROCM % block_size == 0 + tmp_output = torch.empty( + size=(num_seqs, num_heads, max_num_partitions, head_size), + dtype=output.dtype, + device=output.device, + ) + exp_sums = torch.empty( + size=(num_seqs, num_heads, max_num_partitions), + dtype=torch.float32, + device=output.device, + ) + max_logits = torch.empty_like(exp_sums) + out = output + ops.paged_attention_rocm( + output, + exp_sums, + max_logits, + tmp_output, + query, + key_cache, + value_cache, + num_kv_heads, + scale, + block_tables, + seq_lens, + block_size, + max_seq_len, + alibi_slopes, + kv_cache_dtype, + k_scale, + v_scale, + ) + else: + max_num_partitions = ((max_seq_len + _PARTITION_SIZE - 1) // + _PARTITION_SIZE) + if blocksparse_vert_stride is not None and blocksparse_vert_stride > 1: + # use blocksparse paged attention + block_size = value_cache.size(-1) + assert (blocksparse_block_size > 0 and + blocksparse_block_size % block_size == 0), \ + (f"{blocksparse_block_size=} needs to be a multiple of" + f"{block_size=} used in block_tables.") + + # NOTE(woosuk): We use a simple heuristic to decide whether to use + # PagedAttention V1 or V2. If the number of partitions is 1, we use + # V1 to avoid the overhead of reduction. Also, if the number of + # sequences or heads is large, we use V1 since there is enough work + # to parallelize. + # TODO(woosuk): Tune this heuristic. + # For context len > 8192, use V2 kernel to avoid shared memory shortage. + use_v1 = (max_seq_len <= 8192 + and (max_num_partitions == 1 or num_seqs * num_heads > 512)) + + if use_v1: + # Run PagedAttention V1. + ops.paged_attention_v1( + output, + query, + key_cache, + value_cache, + num_kv_heads, + scale, + block_tables, + seq_lens, + block_size, + max_seq_len, + alibi_slopes, + kv_cache_dtype, + k_scale, + v_scale, + tp_rank, + blocksparse_local_blocks, + blocksparse_vert_stride, + blocksparse_block_size, + blocksparse_head_sliding_step, + ) + else: + # Run PagedAttention V2. + assert _PARTITION_SIZE % block_size == 0 + tmp_output = torch.empty( + size=(num_seqs, num_heads, max_num_partitions, head_size), + dtype=output.dtype, + device=output.device, + ) + exp_sums = torch.empty( + size=(num_seqs, num_heads, max_num_partitions), + dtype=torch.float32, + device=output.device, + ) + max_logits = torch.empty_like(exp_sums) + ops.paged_attention_v2( + output, + exp_sums, + max_logits, + tmp_output, + query, + key_cache, + value_cache, + num_kv_heads, + scale, + block_tables, + seq_lens, + block_size, + max_seq_len, + alibi_slopes, + kv_cache_dtype, + k_scale, + v_scale, + tp_rank, + blocksparse_local_blocks, + blocksparse_vert_stride, + blocksparse_block_size, + blocksparse_head_sliding_step, + ) + return output + + # @staticmethod + # def forward_prefix( + # query: torch.Tensor, + # key: torch.Tensor, + # value: torch.Tensor, + # kv_cache_dtype: str, + # key_cache: torch.Tensor, + # value_cache: torch.Tensor, + # block_tables: torch.Tensor, + # query_start_loc: torch.Tensor, + # seq_lens_tensor: torch.Tensor, + # context_lens: torch.Tensor, + # max_query_len: int, + # alibi_slopes: Optional[torch.Tensor], + # sliding_window: Optional[int], + # k_scale: float, + # v_scale: float, + # ) -> torch.Tensor: + # output = torch.empty_like(query) + # context_attention_fwd( + # query, + # key, + # value, + # output, + # kv_cache_dtype, + # key_cache, + # value_cache, + # block_tables, + # # query_start_loc is (batch_size + 1,) + # query_start_loc[:-1], + # seq_lens_tensor, + # context_lens, + # max_query_len, + # k_scale, + # v_scale, + # alibi_slopes, + # sliding_window, + # ) + # return output + + @staticmethod + def swap_blocks( + src_kv_cache: torch.Tensor, + dst_kv_cache: torch.Tensor, + src_to_dst: torch.Tensor, + ) -> None: + src_key_cache = src_kv_cache[0] + dst_key_cache = dst_kv_cache[0] + ops.swap_blocks(src_key_cache, dst_key_cache, src_to_dst) + + src_value_cache = src_kv_cache[1] + dst_value_cache = dst_kv_cache[1] + ops.swap_blocks(src_value_cache, dst_value_cache, src_to_dst) + + @staticmethod + def copy_blocks( + kv_caches: List[torch.Tensor], + src_to_dists: torch.Tensor, + ) -> None: + key_caches = [kv_cache[0] for kv_cache in kv_caches] + value_caches = [kv_cache[1] for kv_cache in kv_caches] + ops.copy_blocks(key_caches, value_caches, src_to_dists) From 07e9b242d66a2d718639081142476f6fd9697b19 Mon Sep 17 00:00:00 2001 From: dummycoderfe Date: Thu, 10 Oct 2024 04:10:52 +0000 Subject: [PATCH 23/50] reconstruct kv cache codes --- .../ROCM/model_impl/modeling_mixtral.py | 70 ++++++------------- .../backends/ROCM/model_impl/rocm_mixtral.py | 33 ++++++--- 2 files changed, 47 insertions(+), 56 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index dc1be4be1..52f8c3b37 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -827,52 +827,15 @@ def forward( # cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) # query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) - - ##################### init caches ################## - # todo: move tables out of layer, only one per model - block_size = 32 - max_num_blocks = 16384 - # max_seq_len_supported = max_kv_len - max_seq_len_supported = 10240 - if max_kv_len > max_seq_len_supported or bsz >32: - raise ValueError("unsupport kv_len for current hack, too long or bsz too big") - max_num_blocks_per_seq = (max_seq_len_supported + block_size - 1) //block_size - if not self.cache_inited: - self.block_tables_lst: List[List[int]] = [] - for batch_idx in range(32): - block_start = max_num_blocks_per_seq * batch_idx - block_table = [i + block_start for i in range(max_num_blocks_per_seq)] - self.block_tables_lst.append(block_table) - self.block_tables = torch.tensor(self.block_tables_lst, dtype=torch.int, - device = query_states.device) - x = 16 // torch.tensor([], dtype=query_states.dtype).element_size() - key_cache_shape = (max_num_blocks, self.num_key_value_heads, self.head_dim // x, block_size, x) - self.key_cache = torch.zeros(size=key_cache_shape, - dtype=query_states.dtype, - device=query_states.device) - - value_cache_shape = (max_num_blocks, self.num_key_value_heads, self.head_dim, block_size) - self.value_cache = torch.zeros(size=value_cache_shape, - dtype=query_states.dtype, - device=query_states.device) - self.cache_inited = True - ##################### init caches ################## - - if is_context: - slot_offset = torch.tensor([valid_slot_ids[0] * max_num_blocks_per_seq * block_size], - device = position_ids.device, - dtype = position_ids.dtype).unsqueeze(1) - else: - slot_offset = torch.arange(0, bsz * max_num_blocks_per_seq * block_size, - block_size * max_num_blocks_per_seq, - device = position_ids.device).unsqueeze(1) - slot_mapping = position_ids + slot_offset + block_tables, kv_caches = past_key_value + slot_mapping = kwargs.get["slot_mapping"] + key_cache, value_cache = kv_caches[self.layer_idx] key_states_cache = key_states.view(-1, self.num_key_value_heads, self.head_dim).contiguous() value_states_cache = value_states.view(-1, self.num_key_value_heads, self.head_dim).contiguous() PagedAttention.write_to_paged_cache(key_states_cache, value_states_cache, - self.key_cache, - self.value_cache, + key_cache, + value_cache, slot_mapping.view(-1), "auto", 1.0, 1.0) @@ -908,11 +871,11 @@ def forward( seq_lens = torch.tensor( [x + y for x, y in zip(all_q_len, all_kv_len)], dtype=torch.int, device=query_states.device) attn_output = PagedAttention.forward_decode( query_states, - self.key_cache, - self.value_cache, - self.block_tables[0:bsz], + key_cache, + value_cache, + block_tables[0:bsz], seq_lens, - int(max_seq_len_supported), + int(self.max_position_embeddings), "auto", self.num_key_value_heads, float(1.0 / (self.head_dim**0.5)), @@ -922,7 +885,6 @@ def forward( ).contiguous() attn_output = attn_output.view(bsz, q_len, self.num_heads * self.head_dim) - attn_output = self.o_proj(attn_output) return attn_output, None, past_key_value @@ -1288,6 +1250,20 @@ def forward( random_input_ids = torch.randint(10, self.vocab_size, input_ids.shape, dtype=torch.int64, device="cpu").to(input_ids.device) hidden_states = self.embed_tokens(random_input_ids) + + bsz, _, _ = hidden_states.size() + is_context = kwargs.get("is_context") + valid_slot_ids = kwargs.get("valid_slot_ids") + batch_offset = kwargs.get("cache_batch_offset") + if is_context: + slot_offset = torch.tensor([valid_slot_ids[0] * batch_offset], + device = position_ids.device, + dtype = position_ids.dtype).unsqueeze(1) + else: + slot_offset = torch.arange(0, bsz * batch_offset, + batch_offset, + device = position_ids.device).unsqueeze(1) + kwargs["slot_mapping"] = position_ids + slot_offset for _ in self.layers: layer_outputs, residual = self.layers[layer_index]( hidden_states, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index ef0394f4a..bc30a7e47 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -6,7 +6,7 @@ import torch.distributed as dist import torch.nn.functional as F -from typing import Dict, Any +from typing import Dict, Any, List from llm_perf.utils.logger import logger from llm_perf.utils.ps_utils import check_memory_usage from llm_perf.utils.dist_utils import check_dist @@ -160,7 +160,7 @@ def init_inference(self): check_memory_usage("After model to device") - self.kv_cache = self.init_kvcache(self.mixtral_config.torch_dtype) + self.block_tables, self.kv_cache = self.init_kvcache(self.mixtral_config.torch_dtype) if self.mp_size > 1: dist.barrier() @@ -185,19 +185,34 @@ def init_kvcache(self, dtype): cur_device = self.transformer_model.device + self.block_size = 32 + max_num_blocks = 4096 + while max_num_blocks * self.block_size < max_seq_len * max_batch_size: + max_num_blocks += 4096 + print(f"max_num_blocks:{max_num_blocks}, num_layers {num_layers}") + self.max_num_blocks_per_seq = (max_seq_len + self.block_size - 1) // self.block_size + block_tables_lst: List[List[int]] = [] + for batch_idx in range(max_batch_size): + block_start = self.max_num_blocks_per_seq * batch_idx + block_table = [i + block_start for i in range(self.max_num_blocks_per_seq)] + block_tables_lst.append(block_table) + block_tables = torch.tensor(block_tables_lst, dtype=torch.int, device = cur_device) + x = 16 // torch.tensor([], dtype=dtype).element_size() + k_cache_shape = (max_num_blocks, kv_head_num // self.mp_size, head_dim // x, self.block_size, x) + v_cache_shape = (max_num_blocks, kv_head_num // self.mp_size, head_dim, self.block_size) + past_key_values = () for i in range(num_layers): - kv_shape = (max_batch_size, kv_head_num // self.mp_size, max_seq_len, head_dim) - key_cache = torch.empty(kv_shape, dtype=dtype, device=cur_device) - value_cache = torch.empty(kv_shape, dtype=dtype, device=cur_device) - past_key_values += ((key_cache, value_cache),) - return past_key_values - + k_cache = torch.zeros(size=k_cache_shape, dtype=dtype, device=cur_device) + v_cache = torch.zeros(size=v_cache_shape, dtype=dtype, device=cur_device) + past_key_values += ((k_cache, v_cache),) + return block_tables, past_key_values def forward(self, inputs : Dict[str, torch.Tensor]): + inputs["cache_batch_offset"] = self.block_size * self.max_num_blocks_per_seq model_outputs = self.transformer_model.forward( **inputs, - past_key_values=self.kv_cache + past_key_values=(self.block_tables, self.kv_cache) ) # context: [1, seq_len] --> [1, seq_len, vocab_size] or [1, 1, vocab_size] From 0a4b64ce1050fe0fb4bb2c8932c255157e667d7b Mon Sep 17 00:00:00 2001 From: dummycoderfe Date: Thu, 10 Oct 2024 05:33:34 +0000 Subject: [PATCH 24/50] slot mappings only calc once --- .../ROCM/model_impl/modeling_mixtral.py | 28 +++++++++---------- .../backends/ROCM/model_impl/rocm_mixtral.py | 1 - 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index 52f8c3b37..262bab043 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -828,7 +828,7 @@ def forward( # query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) block_tables, kv_caches = past_key_value - slot_mapping = kwargs.get["slot_mapping"] + slot_mapping = kwargs.get("slot_mapping") key_cache, value_cache = kv_caches[self.layer_idx] key_states_cache = key_states.view(-1, self.num_key_value_heads, self.head_dim).contiguous() value_states_cache = value_states.view(-1, self.num_key_value_heads, self.head_dim).contiguous() @@ -1240,6 +1240,19 @@ def forward( **kwargs, ) -> Union[Tuple, MoeModelOutputWithPast]: residual = None + bsz = input_ids.shape[0] + is_context = kwargs.get("is_context") + valid_slot_ids = kwargs.get("valid_slot_ids") + batch_offset = kwargs.get("cache_batch_offset") + if is_context: + slot_offset = torch.tensor([valid_slot_ids[0] * batch_offset], + device = position_ids.device, + dtype = position_ids.dtype).unsqueeze(1) + else: + slot_offset = torch.arange(0, bsz * batch_offset, batch_offset, + device = position_ids.device, + dtype = position_ids.dtype).unsqueeze(1) + kwargs["slot_mapping"] = position_ids + slot_offset if kwargs.pop("override_hidden_states", False): random_seed = kwargs.pop("random_seed", 1) layer_index = kwargs.pop("fixed_layer_index", -1) @@ -1251,19 +1264,6 @@ def forward( hidden_states = self.embed_tokens(random_input_ids) - bsz, _, _ = hidden_states.size() - is_context = kwargs.get("is_context") - valid_slot_ids = kwargs.get("valid_slot_ids") - batch_offset = kwargs.get("cache_batch_offset") - if is_context: - slot_offset = torch.tensor([valid_slot_ids[0] * batch_offset], - device = position_ids.device, - dtype = position_ids.dtype).unsqueeze(1) - else: - slot_offset = torch.arange(0, bsz * batch_offset, - batch_offset, - device = position_ids.device).unsqueeze(1) - kwargs["slot_mapping"] = position_ids + slot_offset for _ in self.layers: layer_outputs, residual = self.layers[layer_index]( hidden_states, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index bc30a7e47..e78d3e8fc 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -189,7 +189,6 @@ def init_kvcache(self, dtype): max_num_blocks = 4096 while max_num_blocks * self.block_size < max_seq_len * max_batch_size: max_num_blocks += 4096 - print(f"max_num_blocks:{max_num_blocks}, num_layers {num_layers}") self.max_num_blocks_per_seq = (max_seq_len + self.block_size - 1) // self.block_size block_tables_lst: List[List[int]] = [] for batch_idx in range(max_batch_size): From d199c6c53b725515708a20b47c2d0e73372abd22 Mon Sep 17 00:00:00 2001 From: dummycoderfe Date: Thu, 10 Oct 2024 07:21:56 +0000 Subject: [PATCH 25/50] rm useless --- .../llm_perf/backends/ROCM/model_impl/modeling_mixtral.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index 07c4cfb2c..e707229b9 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -771,10 +771,6 @@ class MixtralSdpaAttention(MixtralAttention): `MixtralAttention` as the weights of the module stays untouched. The only changes are on the forward pass to adapt to SDPA API. """ - def __init__(self, config: MixtralConfig, layer_idx: Optional[int] = None): - super().__init__(config, layer_idx) - self.cache_inited = False - # Adapted from MixtralAttention.forward def forward( self, From 8388f5ec1e2db7a03df335e35a0c8ea98a50ef92 Mon Sep 17 00:00:00 2001 From: fe_coder Date: Thu, 10 Oct 2024 08:41:37 +0000 Subject: [PATCH 26/50] hot fix pa perf --- .../llm_perf/backends/ROCM/rocm_kernels/paged_attn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py index 9f0000960..8c6f23d5a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/paged_attn.py @@ -128,7 +128,7 @@ def _use_rocm_custom_paged_attention(qtype: torch.dtype, head_size: int, return (not _ON_NAVI and (qtype == torch.half or qtype == torch.bfloat16) and (head_size == 64 or head_size == 128) and (block_size == 16 or block_size == 32) - and (gqa_ratio >= 1 and gqa_ratio <= 16) and max_seq_len <= 32768) + and (gqa_ratio >= 1 and gqa_ratio <= 16) and max_seq_len <= 65536) class PagedAttention: @staticmethod From 0bca7314876f5e0ec542854b8dd9f94631f684ad Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 10 Oct 2024 17:46:14 +0800 Subject: [PATCH 27/50] add moe_sum --- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 2 + .../ROCM/rocm_kernels/csrc/rocm_ops.cpp | 4 +- .../rocm_kernels/csrc/topk_softmax_kernels.cu | 58 +++++++++++++++++++ .../backends/ROCM/rocm_kernels/fused_moe.py | 5 +- byte_infer_perf/llm_perf/core/mp_engine.py | 2 +- 5 files changed, 65 insertions(+), 6 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index a119a6825..ad95b0508 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -31,3 +31,5 @@ void batched_rotary_embedding(torch::Tensor &positions, torch::Tensor &query, torch::Tensor &cos_sin_cache, bool is_neox, int64_t rot_dim, torch::Tensor &cos_sin_cache_offsets); + +void moe_sum(torch::Tensor &input, torch::Tensor &output); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp index 81988168a..ce7ee3da6 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp @@ -18,6 +18,7 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { "()"); m.def("rotary_embedding", &rotary_embedding, "rotary_embedding"); m.def("batched_rotary_embedding", &batched_rotary_embedding, "batched_rotary_embedding"); + m.def("moe_sum", &moe_sum, "moe_sum(Tensor! input, Tensor output) -> ()"); m.def("paged_attention_rocm", &paged_attention_rocm, "paged_attention_rocm(Tensor! out, Tensor exp_sums," " Tensor max_logits, Tensor tmp_out," @@ -28,8 +29,7 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { " int max_context_len," " Tensor? alibi_slopes," " str kv_cache_dtype," - " float k_scale, float v_scale) -> ()" - ); + " float k_scale, float v_scale) -> ()"); m.def("paged_attention_v1", &paged_attention_v1, "paged_attention_v1(" " Tensor! out, Tensor query, Tensor key_cache," diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu index a76586de2..8cc3c34c8 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu @@ -20,6 +20,7 @@ #include #include #include "hip_compat.h" +#include "dispatch_utils.h" #ifndef USE_ROCM #include @@ -473,6 +474,23 @@ void topkGatingSoftmaxKernelLauncher( } } +template +__global__ void moe_sum_kernel( + scalar_t* __restrict__ out, // [..., d] + const scalar_t* __restrict__ input, // [..., topk, d] + const int d) +{ + const int64_t token_idx = blockIdx.x; + for (int64_t idx = threadIdx.x; idx < d; idx += blockDim.x) { + scalar_t x = 0.0; + #pragma unroll + for (int k = 0; k < TOPK; ++k) { + x += VLLM_LDG(&input[token_idx * TOPK * d + k * d + idx]); + } + out[token_idx * d + idx] = x; + } +} + } // namespace moe } // namespace vllm @@ -504,3 +522,43 @@ void topk_softmax( topk, stream); } + + +void moe_sum( + torch::Tensor& input, // [num_tokens, topk, hidden_size] + torch::Tensor& output) // [num_tokens, hidden_size] +{ + const int hidden_size = input.size(-1); + const int num_tokens = output.numel() / hidden_size; + const int topk = input.size(1); + + dim3 grid(num_tokens); + dim3 block(std::min(hidden_size, 1024)); + + const at::cuda::OptionalCUDAGuard device_guard(device_of(output)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + switch (topk) { + case 2: + VLLM_DISPATCH_FLOATING_TYPES( + input.scalar_type(), "moe_sum_kernel", [&] { + vllm::moe::moe_sum_kernel + <<>>(output.data_ptr(), + input.data_ptr(), hidden_size); + }); + break; + + case 4: + VLLM_DISPATCH_FLOATING_TYPES( + input.scalar_type(), "moe_sum_kernel", [&] { + vllm::moe::moe_sum_kernel + <<>>(output.data_ptr(), + input.data_ptr(), hidden_size); + }); + break; + + default: + at::sum_out(output, input, 1); + break; + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index b9e8954e1..108fb827c 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -814,9 +814,8 @@ def fused_experts(hidden_states: torch.Tensor, use_fp8_w8a8=use_fp8_w8a8, use_int8_w8a16=use_int8_w8a16) - torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), - dim=1, - out=out_hidden_states[begin_chunk_idx:end_chunk_idx]) + moe_kernels.moe_sum(intermediate_cache3.view(*intermediate_cache3.shape), + out_hidden_states[begin_chunk_idx:end_chunk_idx]) return out_hidden_states diff --git a/byte_infer_perf/llm_perf/core/mp_engine.py b/byte_infer_perf/llm_perf/core/mp_engine.py index 2bdbce5f7..7a8176bb4 100644 --- a/byte_infer_perf/llm_perf/core/mp_engine.py +++ b/byte_infer_perf/llm_perf/core/mp_engine.py @@ -32,7 +32,7 @@ def __init__( def signal_handler(signum, frame): logger.info(f"Received signal {signum}, exiting...") self.clean_subprocess() - sys._exit(0) + sys.exit(0) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) From 8fada975e2dc22203bd6cfca7d3ebd1d32f30c07 Mon Sep 17 00:00:00 2001 From: carlushuang Date: Sat, 12 Oct 2024 18:16:37 +0800 Subject: [PATCH 28/50] initial add switch for hipgraph (not working yet) --- .../llm_perf/backends/GPU/gpu_mp_engine.py | 96 ++++++++++++++++++- .../llm_perf/backends/ROCM/setup.py | 24 +++-- byte_infer_perf/llm_perf/bench_model.py | 19 +++- 3 files changed, 130 insertions(+), 9 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py b/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py index b95b482bd..82f5ce599 100644 --- a/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py +++ b/byte_infer_perf/llm_perf/backends/GPU/gpu_mp_engine.py @@ -195,4 +195,98 @@ def mp_forward(self, *args): output_dict = self._output_queues.get(block=True) return output_dict - + +# ROCM_HIPGRAPH modify +class GpuMpEngineWithGraph(GpuMpEngine): + def __init__(self, world_size: int, model_impl: nn.Module, xpu_cfg) -> None: + super().__init__(world_size, model_impl, xpu_cfg) + logger.info("@@@@@@@@@@ GpuMpEngineWithGraph") + + @torch.no_grad() + def mp_loop_worker( + self, + local_rank: int, + world_size: int, + input_queue: Queue, + output_queue: Queue, + model_impl, + xpu_config + ): + try: + torch.manual_seed(1) + + # set rank and world_size + os.environ["RANK"] = str(local_rank) + os.environ["LOCAL_RANK"] = str(local_rank) + os.environ["WORLD_SIZE"] = str(world_size) + os.environ["LOCAL_WORLD_SIZE"] = str(world_size) + + # create and init model based on model_impl and xpu_config + model = model_impl(xpu_config) + if hasattr(model, 'init_inference'): + model.init_inference() + + def signal_handler(signum, frame): + logger.info(f"rank {local_rank} received signal {signum}, exiting...") + if hasattr(model, 'finalize_inference'): + model.finalize_inference() + sys.exit(0) + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) + + # current rank is ready + output_queue.put("ready", block=True) + logger.info(f"{local_rank}/{world_size} rank is ready") + + graph = torch.cuda.CUDAGraph() + + # model process loop + while True: + ( + forward_inputs, + ) = input_queue.get(block=True) + + # this is the capture phase of graph + if 'capture' in forward_inputs: + graph.reset() # reset cuda graph each time + inputs_dict = self.build_inputs(forward_inputs) + # model.forward(inputs_dict) + torch.cuda.synchronize() + with torch.cuda.graph(graph): + model.forward(inputs_dict) + torch.cuda.synchronize() + continue + + log = forward_inputs.get("log", False) + workspace = forward_inputs.get("workspace", None) + + forward_inputs["log_file"] = None + if log and workspace is not None: + workspace_dir = workspace / f"rank_{local_rank}" + workspace_dir.mkdir(exist_ok=True, parents=True) + forward_inputs["log_file"] = open(workspace_dir / "run.log", "w") + + + inputs_dict = self.build_inputs(forward_inputs) + start_time = time.perf_counter_ns() + + # output_dict = model.forward(inputs_dict) + graph.replay() + + torch.cuda.synchronize() + end_time = time.perf_counter_ns() + duration_ms = round((end_time - start_time) / 1e6, 3) + output_dict = dict() + output_dict["duration_ms"] = duration_ms + + # TP realization: rank0 send result back to main process + if local_rank == 0: + output_queue.put(output_dict) + + if log and workspace is not None: + forward_inputs["log_file"].close() + + except Exception as e: + logger.exception(f"[BUG] engine _load_and_listen failed, no more requests will be handled. {e}") + output_queue.put(RuntimeError("[BUG] fatal exception in model subprocess")) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/setup.py index 6c7bcadf6..63eb19e4e 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/setup.py @@ -7,7 +7,9 @@ from llm_perf.backends.GPU.gpu_sampler import GpuSampler from llm_perf.backends.GPU.gpu_scheduler import GpuScheduler from llm_perf.backends.GPU.gpu_mp_engine import GpuMpEngine +from llm_perf.backends.GPU.gpu_mp_engine import GpuMpEngineWithGraph from llm_perf.utils.logger import logger +import os def get_device_name(): return torch.cuda.get_device_name(0) @@ -25,14 +27,22 @@ def get_engine(xpu_cfg) -> CoreScheduler: ) vendor_model = vendor_model_impl.__all__[model_name] - # create mp engine - mp_engine = GpuMpEngine( - world_size=xpu_cfg["tp_size"], - model_impl=vendor_model, - xpu_cfg=xpu_cfg - ) + is_graph = int(os.environ.get("ENABLE_GRAPH", "0")) - return mp_engine + if is_graph: + mp_engine = GpuMpEngineWithGraph( + world_size=xpu_cfg["tp_size"], + model_impl=vendor_model, + xpu_cfg=xpu_cfg + ) + return mp_engine + else: + mp_engine = GpuMpEngine( + world_size=xpu_cfg["tp_size"], + model_impl=vendor_model, + xpu_cfg=xpu_cfg + ) + return mp_engine def setup_scheduler(xpu_cfg) -> CoreScheduler: diff --git a/byte_infer_perf/llm_perf/bench_model.py b/byte_infer_perf/llm_perf/bench_model.py index 55d3ac589..ce3463443 100644 --- a/byte_infer_perf/llm_perf/bench_model.py +++ b/byte_infer_perf/llm_perf/bench_model.py @@ -129,6 +129,13 @@ def update_template(mode, batch_size, seq_len): # warmup num_warm_iter = 10 input_template = update_template("context", 1, 1024) + is_graph = int(os.environ.get("ENABLE_GRAPH", "0")) + + if is_graph: + #ROCM_HIPGRAPH modify + input_template['capture'] = 1 + engine.mp_forward(input_template) + input_template.pop('capture') start_time = time.perf_counter_ns() for _ in range(num_warm_iter): @@ -158,7 +165,6 @@ def results_to_csv(file_path, results): row.append(f"{results[batch_size][seq_len]}") csv_writer.writerow(row) - log_results = [] if xpu_config["perf_config"]["perf_context"]: batch_size_list = [1] @@ -169,6 +175,12 @@ def results_to_csv(file_path, results): context_results[batch_size] = {} for seq_len in seq_len_list: input_template = update_template("context", 1, seq_len) + if is_graph: + #ROCM_HIPGRAPH modify + input_template['capture'] = 1 + engine.mp_forward(input_template) + input_template.pop('capture') + total_test_iter = 20 start_iters = 2 @@ -206,6 +218,11 @@ def results_to_csv(file_path, results): decode_results[batch_size] = {} for seq_len in seq_len_list: input_template = update_template("decode", batch_size, seq_len) + if is_graph: + #ROCM_HIPGRAPH modify + input_template['capture'] = 1 + engine.mp_forward(input_template) + input_template.pop('capture') total_test_iter = 20 start_iters = 2 From 7e3d60d363bf15bd4f8220cd6c26d9fb0c721f9b Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Tue, 15 Oct 2024 14:22:31 +0800 Subject: [PATCH 29/50] enable custom_ar --- .../ROCM/model_impl/modeling_mixtral.py | 7 +- .../backends/ROCM/model_impl/rocm_mixtral.py | 38 +- .../rocm_kernels/dist/communication_op.py | 32 + .../ROCM/rocm_kernels/dist/cuda_wrapper.py | 172 ++ .../rocm_kernels/dist/custom_all_reduce.py | 318 ++++ .../dist/custom_all_reduce_utils.py | 260 +++ .../ROCM/rocm_kernels/dist/parallel_state.py | 1204 +++++++++++++ .../ROCM/rocm_kernels/dist/shm_broadcast.py | 492 ++++++ .../backends/ROCM/rocm_kernels/dist/utils.py | 1551 +++++++++++++++++ .../backends/ROCM/rocm_kernels/setup.py | 6 +- 10 files changed, 4068 insertions(+), 12 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/communication_op.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/cuda_wrapper.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce_utils.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/shm_broadcast.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/utils.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index e707229b9..9ebe0bd6e 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -61,6 +61,7 @@ import rocmKernels as ops from ..rocm_kernels.tuned_gemm import tgemm from ..rocm_kernels.rotary_embedding import get_rope +from ..rocm_kernels.dist.communication_op import tensor_model_parallel_all_reduce if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func @@ -1047,7 +1048,8 @@ def forward( **kwargs, ) if self.mp_size > 1: - dist.all_reduce(hidden_states) + hidden_states = tensor_model_parallel_all_reduce(hidden_states) + # dist.all_reduce(hidden_states) # Fully Connected @@ -1060,7 +1062,8 @@ def forward( # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states.shape=}') # print(f'{os.environ.get("LOCAL_RANK", "0")}:{self.layer_idx} {hidden_states=}') if self.mp_size > 1: - dist.all_reduce(hidden_states) + hidden_states = tensor_model_parallel_all_reduce(hidden_states) + # dist.all_reduce(hidden_states) # hidden_states = residual + hidden_states # outputs = (hidden_states,) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index e78d3e8fc..78ccd1ba8 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -7,7 +7,7 @@ import torch.nn.functional as F from typing import Dict, Any, List -from llm_perf.utils.logger import logger +from llm_perf.utils.logger import logger, setup_logger from llm_perf.utils.ps_utils import check_memory_usage from llm_perf.utils.dist_utils import check_dist @@ -17,7 +17,15 @@ from llm_perf.core.ckpt_loader import Mixtral_ModelLoader from transformers import MixtralConfig from .modeling_mixtral import MixtralForCausalLM - +from ..rocm_kernels.dist.parallel_state import (ensure_model_parallel_initialized, + init_distributed_environment, + set_custom_all_reduce, + destroy_model_parallel, + destroy_distributed_environment) +from ..rocm_kernels.dist.utils import (get_open_port, + get_distributed_init_method, + get_ip) +setup_logger('info') class GPUMixtralLoader(GpuCkptLoader): def __init__( @@ -136,12 +144,23 @@ def init_inference(self): torch.cuda.set_device(self.local_rank) if self.mp_size > 1: + set_custom_all_reduce(True) + + print('init_distributed_environment') + init_distributed_environment( + world_size=self.mp_size, + rank=self.local_rank, + distributed_init_method=get_distributed_init_method("127.0.0.1", get_open_port())) + # distributed_init_method=get_distributed_init_method(get_ip(), get_open_port())) + + print('ensure_model_parallel_initialized') + ensure_model_parallel_initialized(self.mp_size, 1) logger.info(f"RANK: {self.local_rank} {self.mp_size} init_process_group...") - dist.init_process_group( - backend="nccl", - world_size=self.mp_size, - rank=self.local_rank - ) + # dist.init_process_group( + # backend="nccl", + # world_size=self.mp_size, + # rank=self.local_rank + # ) check_dist() check_memory_usage("Begin") @@ -167,7 +186,10 @@ def init_inference(self): def finalize_inference(self): if self.mp_size > 1 and dist.is_initialized(): - dist.destroy_process_group() + # dist.destroy_process_group() + destroy_model_parallel() + destroy_distributed_environment() + torch.cuda.empty_cache() def load_weight(self, ckpt_path): p_loader = GPUMixtralLoader(self.transformer_model, self.mixtral_config, ckpt_path) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/communication_op.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/communication_op.py new file mode 100644 index 000000000..e13505dc3 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/communication_op.py @@ -0,0 +1,32 @@ +from typing import Any, Dict, Optional, Union + +import torch +import torch.distributed + +from .parallel_state import get_tp_group + + +def tensor_model_parallel_all_reduce(input_: torch.Tensor) -> torch.Tensor: + """All-reduce the input tensor across model parallel group.""" + return get_tp_group().all_reduce(input_) + + +def tensor_model_parallel_all_gather(input_: torch.Tensor, + dim: int = -1) -> torch.Tensor: + """All-gather the input tensor across model parallel group.""" + return get_tp_group().all_gather(input_, dim) + + +def tensor_model_parallel_gather(input_: torch.Tensor, + dst: int = 0, + dim: int = -1) -> Optional[torch.Tensor]: + """Gather the input tensor across model parallel group.""" + return get_tp_group().gather(input_, dst, dim) + + +def broadcast_tensor_dict(tensor_dict: Optional[Dict[Any, Union[torch.Tensor, + Any]]] = None, + src: int = 0): + if not torch.distributed.is_initialized(): + return tensor_dict + return get_tp_group().broadcast_tensor_dict(tensor_dict, src) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/cuda_wrapper.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/cuda_wrapper.py new file mode 100644 index 000000000..ce1e19a83 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/cuda_wrapper.py @@ -0,0 +1,172 @@ +"""This file is a pure Python wrapper for the cudart library. +It avoids the need to compile a separate shared library, and is +convenient for use when we just need to call a few functions. +""" + +import ctypes +from dataclasses import dataclass +from typing import Any, Dict, List, Optional + +# this line makes it possible to directly load `libcudart.so` using `ctypes` +import torch # noqa + +# from vllm.logger import init_logger + +# logger = init_logger(__name__) + +# === export types and functions from cudart to Python === +# for the original cudart definition, please check +# https://docs.nvidia.com/cuda/cuda-runtime-api/index.html + +cudaError_t = ctypes.c_int +cudaMemcpyKind = ctypes.c_int + + +class cudaIpcMemHandle_t(ctypes.Structure): + _fields_ = [("internal", ctypes.c_byte * 128)] + + +@dataclass +class Function: + name: str + restype: Any + argtypes: List[Any] + + +def find_loaded_library(lib_name) -> Optional[str]: + """ + According to according to https://man7.org/linux/man-pages/man5/proc_pid_maps.5.html, + the file `/proc/self/maps` contains the memory maps of the process, which includes the + shared libraries loaded by the process. We can use this file to find the path of the + a loaded library. + """ # noqa + found = False + with open("/proc/self/maps") as f: + for line in f: + if lib_name in line: + found = True + break + if not found: + # the library is not loaded in the current process + return None + # if lib_name is libcudart, we need to match a line with: + # address /path/to/libcudart-hash.so.11.0 + start = line.index("/") + path = line[start:].strip() + filename = path.split("/")[-1] + assert filename.rpartition(".so")[0].startswith(lib_name), \ + f"Unexpected filename: {filename} for library {lib_name}" + return path + + +class CudaRTLibrary: + exported_functions = [ + # ​cudaError_t cudaSetDevice ( int device ) + Function("cudaSetDevice", cudaError_t, [ctypes.c_int]), + # cudaError_t cudaDeviceSynchronize ( void ) + Function("cudaDeviceSynchronize", cudaError_t, []), + # ​cudaError_t cudaDeviceReset ( void ) + Function("cudaDeviceReset", cudaError_t, []), + + # const char* cudaGetErrorString ( cudaError_t error ) + Function("cudaGetErrorString", ctypes.c_char_p, [cudaError_t]), + + # ​cudaError_t cudaMalloc ( void** devPtr, size_t size ) + Function("cudaMalloc", cudaError_t, + [ctypes.POINTER(ctypes.c_void_p), ctypes.c_size_t]), + # ​cudaError_t cudaFree ( void* devPtr ) + Function("cudaFree", cudaError_t, [ctypes.c_void_p]), + # ​cudaError_t cudaMemset ( void* devPtr, int value, size_t count ) + Function("cudaMemset", cudaError_t, + [ctypes.c_void_p, ctypes.c_int, ctypes.c_size_t]), + # ​cudaError_t cudaMemcpy ( void* dst, const void* src, size_t count, cudaMemcpyKind kind ) # noqa + Function("cudaMemcpy", cudaError_t, [ + ctypes.c_void_p, ctypes.c_void_p, ctypes.c_size_t, cudaMemcpyKind + ]), + + # cudaError_t cudaIpcGetMemHandle ( cudaIpcMemHandle_t* handle, void* devPtr ) # noqa + Function("cudaIpcGetMemHandle", cudaError_t, + [ctypes.POINTER(cudaIpcMemHandle_t), ctypes.c_void_p]), + # ​cudaError_t cudaIpcOpenMemHandle ( void** devPtr, cudaIpcMemHandle_t handle, unsigned int flags ) # noqa + Function("cudaIpcOpenMemHandle", cudaError_t, [ + ctypes.POINTER(ctypes.c_void_p), cudaIpcMemHandle_t, ctypes.c_uint + ]), + ] + + # class attribute to store the mapping from the path to the library + # to avoid loading the same library multiple times + path_to_library_cache: Dict[str, Any] = {} + + # class attribute to store the mapping from library path + # to the corresponding dictionary + path_to_dict_mapping: Dict[str, Dict[str, Any]] = {} + + def __init__(self, so_file: Optional[str] = None): + if so_file is None: + so_file = find_loaded_library("libcudart") + assert so_file is not None, \ + "libcudart is not loaded in the current process" + if so_file not in CudaRTLibrary.path_to_library_cache: + lib = ctypes.CDLL(so_file) + CudaRTLibrary.path_to_library_cache[so_file] = lib + self.lib = CudaRTLibrary.path_to_library_cache[so_file] + + if so_file not in CudaRTLibrary.path_to_dict_mapping: + _funcs = {} + for func in CudaRTLibrary.exported_functions: + f = getattr(self.lib, func.name) + f.restype = func.restype + f.argtypes = func.argtypes + _funcs[func.name] = f + CudaRTLibrary.path_to_dict_mapping[so_file] = _funcs + self.funcs = CudaRTLibrary.path_to_dict_mapping[so_file] + + def CUDART_CHECK(self, result: cudaError_t) -> None: + if result != 0: + error_str = self.cudaGetErrorString(result) + raise RuntimeError(f"CUDART error: {error_str}") + + def cudaGetErrorString(self, error: cudaError_t) -> str: + return self.funcs["cudaGetErrorString"](error).decode("utf-8") + + def cudaSetDevice(self, device: int) -> None: + self.CUDART_CHECK(self.funcs["cudaSetDevice"](device)) + + def cudaDeviceSynchronize(self) -> None: + self.CUDART_CHECK(self.funcs["cudaDeviceSynchronize"]()) + + def cudaDeviceReset(self) -> None: + self.CUDART_CHECK(self.funcs["cudaDeviceReset"]()) + + def cudaMalloc(self, size: int) -> ctypes.c_void_p: + devPtr = ctypes.c_void_p() + self.CUDART_CHECK(self.funcs["cudaMalloc"](ctypes.byref(devPtr), size)) + return devPtr + + def cudaFree(self, devPtr: ctypes.c_void_p) -> None: + self.CUDART_CHECK(self.funcs["cudaFree"](devPtr)) + + def cudaMemset(self, devPtr: ctypes.c_void_p, value: int, + count: int) -> None: + self.CUDART_CHECK(self.funcs["cudaMemset"](devPtr, value, count)) + + def cudaMemcpy(self, dst: ctypes.c_void_p, src: ctypes.c_void_p, + count: int) -> None: + cudaMemcpyDefault = 4 + kind = cudaMemcpyDefault + self.CUDART_CHECK(self.funcs["cudaMemcpy"](dst, src, count, kind)) + + def cudaIpcGetMemHandle(self, + devPtr: ctypes.c_void_p) -> cudaIpcMemHandle_t: + handle = cudaIpcMemHandle_t() + self.CUDART_CHECK(self.funcs["cudaIpcGetMemHandle"]( + ctypes.byref(handle), devPtr)) + return handle + + def cudaIpcOpenMemHandle(self, + handle: cudaIpcMemHandle_t) -> ctypes.c_void_p: + cudaIpcMemLazyEnablePeerAccess = 1 + devPtr = ctypes.c_void_p() + self.CUDART_CHECK(self.funcs["cudaIpcOpenMemHandle"]( + ctypes.byref(devPtr), handle, cudaIpcMemLazyEnablePeerAccess)) + return devPtr diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce.py new file mode 100644 index 000000000..90e70aac0 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce.py @@ -0,0 +1,318 @@ +from contextlib import contextmanager +from typing import Any, List, Optional, Union + +import torch +import torch.distributed as dist +from torch.distributed import ProcessGroup + +# import vllm.envs as envs +# from vllm import _custom_ops as ops +import rocmKernels as ops +import os +from .custom_all_reduce_utils import ( + gpu_p2p_access_check) +from .parallel_state import in_the_same_node_as +from llm_perf.utils.logger import logger +# from vllm.logger import init_logger +# from vllm.platforms import current_platform + +try: + ops.meta_size() + custom_ar = True +except Exception: + # For CPUs + custom_ar = False + +# logger = init_logger(__name__) + + +def _can_p2p(rank: int, world_size: int) -> bool: + for i in range(world_size): + if i == rank: + continue + if not gpu_p2p_access_check(rank, i): + return False + return True + + +def is_weak_contiguous(inp: torch.Tensor): + return inp.is_contiguous() or (inp.storage().nbytes() - + inp.storage_offset() * inp.element_size() + == inp.numel() * inp.element_size()) + + +class CustomAllreduce: + + _SUPPORTED_WORLD_SIZES = [2, 4, 6, 8] + + # max_size: max supported allreduce size + def __init__(self, + group: ProcessGroup, + device: Union[int, str, torch.device], + max_size=8192 * 1024 * 2) -> None: + """ + Args: + group: the process group to work on. If None, it will use the + default process group. + device: the device to bind the CustomAllreduce to. If None, + it will be bind to f"cuda:{local_rank}". + It is the caller's responsibility to make sure each communicator + is bind to a unique device, and all communicators in this group + are in the same node. + """ + self._IS_CAPTURING = False + self.disabled = True + + if not custom_ar: + # disable because of missing custom allreduce library + # e.g. in a non-cuda environment + return + + self.group = group + + assert dist.get_backend(group) != dist.Backend.NCCL, ( + "CustomAllreduce should be attached to a non-NCCL group.") + + if not all(in_the_same_node_as(group, source_rank=0)): + # No need to initialize custom allreduce for multi-node case. + logger.warning( + "Custom allreduce is disabled because this process group" + " spans across nodes.") + return + + rank = dist.get_rank(group=self.group) + world_size = dist.get_world_size(group=self.group) + if world_size == 1: + # No need to initialize custom allreduce for single GPU case. + return + + if world_size not in CustomAllreduce._SUPPORTED_WORLD_SIZES: + logger.warning( + "Custom allreduce is disabled due to an unsupported world" + " size: %d. Supported world sizes: %s. To silence this " + "warning, specify disable_custom_all_reduce=True explicitly.", + world_size, str(CustomAllreduce._SUPPORTED_WORLD_SIZES)) + return + + if isinstance(device, int): + device = torch.device(f"cuda:{device}") + elif isinstance(device, str): + device = torch.device(device) + # now `device` is a `torch.device` object + assert isinstance(device, torch.device) + self.device = device + + cuda_visible_devices = os.environ.get("CUDA_VISIBLE_DEVICES", "-1") + # cuda_visible_devices = envs.CUDA_VISIBLE_DEVICES + if cuda_visible_devices: + device_ids = list(map(int, cuda_visible_devices.split(","))) + else: + from vllm.utils import cuda_device_count_stateless + device_ids = list(range(cuda_device_count_stateless())) + + physical_device_id = device_ids[device.index] + tensor = torch.tensor([physical_device_id], + dtype=torch.int, + device="cpu") + gather_list = [ + torch.tensor([0], dtype=torch.int, device="cpu") + for _ in range(world_size) + ] + dist.all_gather(gather_list, tensor, group=self.group) + physical_device_ids = [t.item() for t in gather_list] + + # test nvlink first, this will filter out most of the cases + # where custom allreduce is not supported + # this checks hardware and driver support for NVLink + # assert current_platform.is_cuda() or current_platform.is_rocm() + # full_nvlink = current_platform.is_full_nvlink(physical_device_ids) + full_nvlink=True + if world_size > 2 and not full_nvlink: + logger.warning( + "Custom allreduce is disabled because it's not supported on" + " more than two PCIe-only GPUs. To silence this warning, " + "specify disable_custom_all_reduce=True explicitly.") + return + # test P2P capability, this checks software/cudaruntime support + # this is expensive to compute at the first time + # then we cache the result + # On AMD GPU, p2p is always enabled between XGMI connected GPUs + # if not current_platform.is_rocm() and not _can_p2p(rank, world_size): + # logger.warning( + # "Custom allreduce is disabled because your platform lacks " + # "GPU P2P capability or P2P test failed. To silence this " + # "warning, specify disable_custom_all_reduce=True explicitly.") + # return + + self.disabled = False + # buffers memory are owned by this Python class and passed to C++ + # meta data composes of two parts: meta data for synchronization + # (256 bytes) and a temporary buffer for storing intermediate + # allreduce results. + # if current_platform.is_rocm(): + if 1: + # meta data buffers need to be "uncached" for signal on MI200 + self.meta = ops.allocate_meta_buffer(ops.meta_size() + max_size) + else: + self.meta = torch.zeros(ops.meta_size() + max_size, + dtype=torch.uint8, + device=self.device) + # This is a pre-registered IPC buffer. In eager mode, input tensors + # are first copied into this buffer before allreduce is performed + self.buffer = torch.empty(max_size, + dtype=torch.uint8, + device=self.device) + # This is a buffer for storing the tuples of pointers pointing to + # IPC buffers from all ranks. Each registered tuple has size of + # 8*world_size bytes where world_size is at most 8. Allocating 8MB + # is enough for 131072 such tuples. The largest model I've seen only + # needs less than 10000 of registered tuples. + self.rank_data = torch.empty(8 * 1024 * 1024, + dtype=torch.uint8, + device=self.device) + self.max_size = max_size + self.rank = rank + self.world_size = world_size + # if current_platform.is_rocm(): + if 1: + # _share_cuda_() doesn't accept meta buffer not allocated from + # PyTorch cache allocator, use direct HIP call to get IPC handle + handle = ops.get_meta_buffer_ipc_handle(self.meta) + shard_data = ( + bytes(handle), # ipc handle to base ptr + 0, # offset of base ptr + ) + handles, offsets = self._gather_ipc_meta(shard_data) + else: + handles, offsets = self._get_ipc_meta(self.meta) + self.full_nvlink = full_nvlink + self._ptr = ops.init_custom_ar(self.meta, self.rank_data, handles, + offsets, rank, self.full_nvlink) + self.register_buffer(self.buffer) + + @contextmanager + def capture(self): + """ + The main responsibility of this context manager is the + `register_graph_buffers` call at the end of the context. + It records all the buffer addresses used in the CUDA graph. + """ + try: + self._IS_CAPTURING = True + yield + finally: + self._IS_CAPTURING = False + if not self.disabled: + self.register_graph_buffers() + + def _get_ipc_meta(self, inp: torch.Tensor): + # if current_platform.is_rocm(): + if 1: + # _share_cuda_() doesn't accept meta buffer not allocated from + # PyTorch cache allocator, use direct HIP call to get IPC handle + handle = ops.get_meta_buffer_ipc_handle(inp) + shard_data = ( + bytes(handle), # ipc handle to base ptr + 0, # offset of base ptr + ) + else: + data = inp.untyped_storage()._share_cuda_() + shard_data = ( + data[1], # ipc handle to base ptr + data[3], # offset of base ptr + ) + return self._gather_ipc_meta(shard_data) + + def _gather_ipc_meta(self, shard_data): + # Note: don't use `[[None]] * self.world_size` here + # because it will create a list of the same reference + all_data: List[Optional[Any]] = [[None] + for i in range(self.world_size)] + all_data[self.rank][0] = shard_data + + ranks = dist.get_process_group_ranks(group=self.group) + ranks.sort() + for i, rank in enumerate(ranks): + dist.broadcast_object_list(all_data[i], + src=rank, + group=self.group, + device="cpu") + + # we cannot directly use `dist.all_gather_object` here + # because it is incompatible with `gloo` backend under inference mode. + # see https://github.com/pytorch/pytorch/issues/126032 for details. + + handles = [] + offsets = [] + for i in range(len(all_data)): + handles.append(all_data[i][0][0]) # type: ignore + offsets.append(all_data[i][0][1]) # type: ignore + return handles, offsets + + def register_buffer(self, inp: torch.Tensor): + handles, offsets = self._get_ipc_meta(inp) + ops.register_buffer(self._ptr, inp, handles, offsets) + + def register_graph_buffers(self): + handle, offset = ops.get_graph_buffer_ipc_meta(self._ptr) + handles, offsets = self._gather_ipc_meta((bytes(handle), offset)) + logger.info("Registering %d cuda graph addresses", len(offset)) + ops.register_graph_buffers(self._ptr, handles, offsets) + + def should_custom_ar(self, inp: torch.Tensor): + if self.disabled: + return False + inp_size = inp.numel() * inp.element_size() + # custom allreduce requires input byte size to be multiples of 16 + if inp_size % 16 != 0: + return False + if not is_weak_contiguous(inp): + return False + # for 4 or more non NVLink-capable GPUs, custom allreduce provides + # little performance improvement over NCCL. + if self.world_size == 2 or self.full_nvlink: + return inp_size < self.max_size + return False + + # all reduce, assuming inp tensor is IPC registered with register_buffer, + # or, in the context of cuda graphs, register_graph_buffers + def all_reduce_reg(self, inp: torch.Tensor, out: torch.Tensor = None): + if out is None: + out = torch.empty_like(inp) + ops.all_reduce_reg(self._ptr, inp, out) + return out + + # all reduce, assuming inp tensor is NOT IPC registered + def all_reduce_unreg(self, inp: torch.Tensor, out: torch.Tensor = None): + if out is None: + out = torch.empty_like(inp) + ops.all_reduce_unreg(self._ptr, inp, self.buffer, out) + return out + + def custom_all_reduce(self, input: torch.Tensor) -> Optional[torch.Tensor]: + # when custom allreduce is disabled, this will be None + if self.disabled or not self.should_custom_ar(input): + return None + if self._IS_CAPTURING: + if torch.cuda.is_current_stream_capturing(): + return self.all_reduce_reg(input) + else: + # if warm up, mimic the allocation pattern + # since custom allreduce is out-of-place + return torch.empty_like(input) + else: + # note: outside of cuda graph context, + # custom allreduce incurs a cost of cudaMemcpy, which should + # be small(<=1% of overall latency) compared to the performance + # gains of using custom kernels + return self.all_reduce_unreg(input) + + return None + + def close(self): + if not self.disabled and self._ptr: + ops.dispose(self._ptr) + self._ptr = 0 + + def __del__(self): + self.close() diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce_utils.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce_utils.py new file mode 100644 index 000000000..80de95138 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/custom_all_reduce_utils.py @@ -0,0 +1,260 @@ +import ctypes +import json +import os +import pickle +import subprocess +import sys +import tempfile +from itertools import product +from typing import Dict, List, Optional, Sequence + +import torch.distributed as dist +import torch.multiprocessing as mp + +# import vllm.envs as envs +VLLM_CACHE_ROOT=os.path.expanduser("~/.cache/vllm") +from .cuda_wrapper import CudaRTLibrary +# from vllm.logger import init_logger +from llm_perf.utils.logger import logger +from .utils import (cuda_device_count_stateless, + update_environment_variables) +from functools import lru_cache, partial, wraps + +# logger = init_logger(__name__) + + +def producer(batch_src: Sequence[int], + producer_queue, + consumer_queue, + result_queue, + cuda_visible_devices: Optional[str] = None): + if cuda_visible_devices is not None: + update_environment_variables( + {"CUDA_VISIBLE_DEVICES": cuda_visible_devices}) + + lib = CudaRTLibrary() + for i in batch_src: + lib.cudaSetDevice(i) + pointer = lib.cudaMalloc(1024) + lib.cudaMemset(pointer, 1, 1024) + lib.cudaDeviceSynchronize() + handle = lib.cudaIpcGetMemHandle(pointer) + producer_queue.put(handle) + open_success = consumer_queue.get() + if open_success: + # use two queues to simulate barrier + producer_queue.put(0) + consumer_queue.get() + # check if the memory is modified + host_data = (ctypes.c_char * 1024)() + lib.cudaMemcpy(host_data, pointer, 1024) # type: ignore + for i in range(1024): + if ord(host_data[i]) != 2: + open_success = False + break + result_queue.put(open_success) + lib.cudaDeviceReset() + + +def consumer(batch_tgt: Sequence[int], + producer_queue, + consumer_queue, + result_queue, + cuda_visible_devices: Optional[str] = None): + if cuda_visible_devices is not None: + update_environment_variables( + {"CUDA_VISIBLE_DEVICES": cuda_visible_devices}) + + lib = CudaRTLibrary() + for j in batch_tgt: + lib.cudaSetDevice(j) + handle = producer_queue.get() + open_success = False + try: + pointer = lib.cudaIpcOpenMemHandle(handle) # type: ignore + open_success = True + except RuntimeError: + # cannot error out here, because the producer process + # is still waiting for the response. + pass + consumer_queue.put(open_success) + if open_success: + # modify the memory + lib.cudaMemset(pointer, 2, 1024) + lib.cudaDeviceSynchronize() + # use two queues to simulate barrier + producer_queue.get() + consumer_queue.put(0) + # check if the memory is modified + host_data = (ctypes.c_char * 1024)() + lib.cudaMemcpy(host_data, pointer, 1024) # type: ignore + for i in range(1024): + if ord(host_data[i]) != 2: + open_success = False + break + result_queue.put(open_success) + lib.cudaDeviceReset() + + +def can_actually_p2p( + batch_src: Sequence[int], + batch_tgt: Sequence[int], +) -> Sequence[bool]: + """ + Usually, checking if P2P access is enabled can be done by + `torch.cuda.can_device_access_peer(src, tgt)`. However, sometimes + the driver might be broken, and `torch.cuda.can_device_access_peer(src, tgt)` + returns `True` even if P2P access is not actually possible. + See https://github.com/vllm-project/vllm/issues/2728 and + https://forums.developer.nvidia.com/t/direct-gpu-gpu-communication-does-not-seem-to-work-properly/283264/10 + Therefore, we have to perform a real P2P access to check if it is actually + possible. + + Note on p2p and cuda IPC: + Usually, one process uses one GPU: + GPU src --> cuda context src --> tensor src --> process src + + We need to combine p2p and cuda IPC, so that: + GPU src --> cuda context src --> tensor src --> process src + |shared| + GPU tgt --> cuda context tgt --> tensor tgt --> process tgt + That is to say, process src creates a tensor in GPU src, passes IPC handle to + process tgt, and process tgt accesses the tensor in GPU tgt. Any operation on the + tensor in process tgt will be reflected in the tensor in process src, because + they are the same memory segment. + It is important to note that process tgt accesses the tensor in GPU tgt, not + GPU src. That's why we need p2p access. + + The most time-consuming part is the process creation. To avoid creating + processes for every pair of GPUs, we use batched testing. We create two + processes for testing all pairs of GPUs in batch. The trick is to reset + the device after each test (which is not available in PyTorch). + """ # noqa + cuda_visible_devices = os.environ.get("CUDA_VISIBLE_DEVICES", "-1") + # cuda_visible_devices = envs.CUDA_VISIBLE_DEVICES + # pass the CUDA_VISIBLE_DEVICES to the child process + # to make sure they see the same set of GPUs + + # make sure the processes are spawned + smp = mp.get_context("spawn") + producer_queue = smp.Queue() + consumer_queue = smp.Queue() + result_queue = smp.Queue() + p_src = smp.Process(target=producer, + args=(batch_src, producer_queue, consumer_queue, + result_queue, cuda_visible_devices)) + p_tgt = smp.Process(target=consumer, + args=(batch_tgt, producer_queue, consumer_queue, + result_queue, cuda_visible_devices)) + p_src.start() + p_tgt.start() + p_src.join() + p_tgt.join() + assert p_src.exitcode == 0 and p_tgt.exitcode == 0 + result: List[bool] = [] + for src, tgt in zip(batch_src, batch_tgt): + a = result_queue.get() + b = result_queue.get() + if a != b: + logger.warning( + "Two processes do not agree on the P2P access" + " status on %d -> %d, treat as disabled.", src, tgt) + result.append(False) + else: + result.append(a) + return result + + +# why do we need this cache? +# we are testing peer-to-peer (p2p) access between GPUs,across processes. +# if we test it every time, it will be very slow, because we need to create +# N * N * 2 processes, where N is the world size. This is very slow. +# to reduce the time, we use a cache file to store the p2p access status. +# the cache file is generated by the master process if it does not exist. +# then all the processes can read the cache file to check the p2p access status. +# Note that the cache file is suffixed by the CUDA_VISIBLE_DEVICES, so that we +# can have different cache files for different CUDA_VISIBLE_DEVICES settings, +# e.g. used by different vllm engines. The device id in the cache file is a +# **local** device id, i.e. from 0 to num_dev-1, where num_dev is the number +# of visible devices in the vllm engine. +_gpu_p2p_access_cache: Optional[Dict[str, bool]] = None + + +def gpu_p2p_access_check(src: int, tgt: int) -> bool: + """Check if GPU src can access GPU tgt.""" + + # if the cache variable is already calculated, + # read from the cache instead of checking it again + global _gpu_p2p_access_cache + if _gpu_p2p_access_cache is not None: + return _gpu_p2p_access_cache[f"{src}->{tgt}"] + + is_distributed = dist.is_initialized() + + num_dev = cuda_device_count_stateless() + cuda_visible_devices = int(os.environ.get("CUDA_VISIBLE_DEVICES", "-1")) + # cuda_visible_devices = envs.CUDA_VISIBLE_DEVICES + if cuda_visible_devices is None: + cuda_visible_devices = ",".join(str(i) for i in range(num_dev)) + + path = os.path.join( + VLLM_CACHE_ROOT, + f"gpu_p2p_access_cache_for_{cuda_visible_devices}.json") + os.makedirs(os.path.dirname(path), exist_ok=True) + from vllm.distributed.parallel_state import get_world_group + if ((not is_distributed or get_world_group().local_rank == 0) + and (not os.path.exists(path))): + # only the local master process (with local_rank == 0) can + # enter this block to calculate the cache + logger.info("generating GPU P2P access cache in %s", path) + cache: Dict[str, bool] = {} + ids = list(range(num_dev)) + # batch of all pairs of GPUs + batch_src, batch_tgt = zip(*list(product(ids, ids))) + # NOTE: we use `subprocess` rather than `multiprocessing` here + # because the caller might not have `if __name__ == "__main__":`, + # in that case we cannot use spawn method in multiprocessing. + # However, `can_actually_p2p` requires spawn method. + # The fix is, we use `subprocess` to call the function, + # where we have `if __name__ == "__main__":` in this file. + + # use a temporary file to store the result + # we don't use the output of the subprocess directly, + # because the subprocess might produce logging output + with tempfile.NamedTemporaryFile() as output_file: + input_bytes = pickle.dumps( + (batch_src, batch_tgt, output_file.name)) + returned = subprocess.run([sys.executable, __file__], + input=input_bytes, + capture_output=True) + # check if the subprocess is successful + try: + returned.check_returncode() + except Exception as e: + # wrap raised exception to provide more information + raise RuntimeError( + f"Error happened when batch testing " + f"peer-to-peer access from {batch_src} to {batch_tgt}:\n" + f"{returned.stderr.decode()}") from e + with open(output_file.name, "rb") as f: + result = pickle.load(f) + for _i, _j, r in zip(batch_src, batch_tgt, result): + cache[f"{_i}->{_j}"] = r + with open(path, "w") as f: + json.dump(cache, f, indent=4) + if is_distributed: + get_world_group().barrier() + logger.info("reading GPU P2P access cache from %s", path) + with open(path, "r") as f: + cache = json.load(f) + _gpu_p2p_access_cache = cache + return _gpu_p2p_access_cache[f"{src}->{tgt}"] + + +__all__ = ["gpu_p2p_access_check"] + +if __name__ == "__main__": + batch_src, batch_tgt, output_file = pickle.loads(sys.stdin.buffer.read()) + result = can_actually_p2p(batch_src, batch_tgt) + with open(output_file, "wb") as f: + f.write(pickle.dumps(result)) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py new file mode 100644 index 000000000..5bff39382 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py @@ -0,0 +1,1204 @@ +# Copyright 2023 The vLLM team. +# Adapted from +# https://github.com/NVIDIA/Megatron-LM/blob/main/megatron/core/parallel_state.py +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +"""vLLM distributed state. +It takes over the control of the distributed environment from PyTorch. +The typical workflow is: + +- call `init_distributed_environment` to initialize the distributed environment. +- call `initialize_model_parallel` or `ensure_model_parallel_initialized` to + initialize the model parallel groups. + +- any code dealing with the distributed stuff + +- call `destroy_model_parallel` to destroy the model parallel groups. +- call `destroy_distributed_environment` to destroy the distributed environment. + +If you only need to use the distributed environment without model/pipeline + parallelism, you can skip the model parallel initialization and destruction + steps. +""" +import contextlib +import pickle +import weakref +from collections import namedtuple +from contextlib import contextmanager, nullcontext +from dataclasses import dataclass +from multiprocessing import shared_memory +from typing import Any, Callable, Dict, List, Optional, Tuple, Union +from unittest.mock import patch + +import torch +import torch.distributed +from torch.distributed import Backend, ProcessGroup + +import os +# import vllm.envs as envs +# from vllm.logger import init_logger +# import logging +# init_logger = logging.getLogger +from llm_perf.utils.logger import logger +# from vllm.platforms import current_platform +# from vllm.utils import supports_custom_op +supports_custom_op=lambda:True + + +@dataclass +class GraphCaptureContext: + stream: torch.cuda.Stream + + +TensorMetadata = namedtuple("TensorMetadata", ["device", "dtype", "size"]) + + +def _split_tensor_dict( + tensor_dict: Dict[str, Union[torch.Tensor, Any]] +) -> Tuple[List[Tuple[str, Any]], List[torch.Tensor]]: + """Split the tensor dictionary into two parts: + 1. A list of (key, value) pairs. If the value is a tensor, it is replaced + by its metadata. + 2. A list of tensors. + """ + metadata_list: List[Tuple[str, Any]] = [] + tensor_list: List[torch.Tensor] = [] + for key, value in tensor_dict.items(): + if isinstance(value, torch.Tensor): + # Note: we cannot use `value.device` here, + # because it contains not only the device type but also the device + # index (e.g. "cuda:0"). We only need the device type. + # receiving side will set the device index. + device = value.device.type + metadata_list.append( + (key, TensorMetadata(device, value.dtype, value.size()))) + tensor_list.append(value) + else: + metadata_list.append((key, value)) + return metadata_list, tensor_list + + +_group_name_counter: Dict[str, int] = {} + + +def _get_unique_name(name: str) -> str: + """Get a unique name for the group. + Example: + _get_unique_name("tp") -> "tp:0" + _get_unique_name("tp") -> "tp:1" + """ + if name not in _group_name_counter: + _group_name_counter[name] = 0 + newname = f"{name}:{_group_name_counter[name]}" + _group_name_counter[name] += 1 + return newname + + +_groups: Dict[str, Callable[[], "GroupCoordinator"]] = {} + + +def _register_group(group: "GroupCoordinator") -> None: + # looks like Python 3.8 does not understand `ReferenceType` + _groups[group.unique_name] = weakref.ref(group) # type: ignore + + +if supports_custom_op(): + # @torch.library.custom_op("vllm::inplace_all_reduce", + # mutates_args=["tensor"]) + def inplace_all_reduce(tensor: torch.Tensor, group_name: str) -> None: + assert group_name in _groups, f"Group {group_name} is not found." + group = _groups[group_name]() + if group is None: + raise ValueError(f"Group {group_name} is destroyed.") + group._all_reduce_in_place(tensor) + + # @inplace_all_reduce.register_fake + # def _(tensor: torch.Tensor, group_name: str) -> None: + # return + + # @torch.library.custom_op("vllm::outplace_all_reduce", mutates_args=[]) + def outplace_all_reduce(tensor: torch.Tensor, + group_name: str) -> torch.Tensor: + assert group_name in _groups, f"Group {group_name} is not found." + group = _groups[group_name]() + if group is None: + raise ValueError(f"Group {group_name} is destroyed.") + return group._all_reduce_out_place(tensor) + + # @outplace_all_reduce.register_fake + # def _(tensor: torch.Tensor, group_name: str) -> torch.Tensor: + # return torch.empty_like(tensor) + + +class GroupCoordinator: + """ + PyTorch ProcessGroup wrapper for a group of processes. + PyTorch ProcessGroup is bound to one specific communication backend, + e.g. NCCL, Gloo, MPI, etc. + GroupCoordinator takes charge of all the communication operations among + the processes in the group. It can route the communication to + a specific implementation (e.g. switch allreduce implementation + based on the tensor size and cuda graph mode). + """ + + # available attributes: + rank: int # global rank + ranks: List[int] # global ranks in the group + world_size: int # size of the group + # difference between `local_rank` and `rank_in_group`: + # if we have a group of size 4 across two nodes: + # Process | Node | Rank | Local Rank | Rank in Group + # 0 | 0 | 0 | 0 | 0 + # 1 | 0 | 1 | 1 | 1 + # 2 | 1 | 2 | 0 | 2 + # 3 | 1 | 3 | 1 | 3 + local_rank: int # local rank used to assign devices + rank_in_group: int # rank inside the group + cpu_group: ProcessGroup # group for CPU communication + device_group: ProcessGroup # group for device communication + use_pynccl: bool # a hint of whether to use PyNccl + use_custom_allreduce: bool # a hint of whether to use CustomAllreduce + # communicators are only created for world size > 1 + pynccl_comm: Optional[Any] # PyNccl communicator + ca_comm: Optional[Any] # Custom allreduce communicator + mq_broadcaster: Optional[Any] # shared memory broadcaster + + def __init__( + self, + group_ranks: List[List[int]], + local_rank: int, + torch_distributed_backend: Union[str, Backend], + use_pynccl: bool, + use_custom_allreduce: bool, + use_tpu_communicator: bool, + use_message_queue_broadcaster: bool = False, + group_name: Optional[str] = None, + ): + group_name = group_name or "anonymous" + self.unique_name = _get_unique_name(group_name) + _register_group(self) + + self.rank = torch.distributed.get_rank() + self.local_rank = local_rank + self.device_group = None + self.cpu_group = None + + for ranks in group_ranks: + device_group = torch.distributed.new_group( + ranks, backend=torch_distributed_backend) + # a group with `gloo` backend, to allow direct coordination between + # processes through the CPU. + cpu_group = torch.distributed.new_group(ranks, backend="gloo") + if self.rank in ranks: + self.ranks = ranks + self.world_size = len(ranks) + self.rank_in_group = ranks.index(self.rank) + self.device_group = device_group + self.cpu_group = cpu_group + + assert self.cpu_group is not None + assert self.device_group is not None + + self.device = torch.device(f"cuda:{local_rank}") + # if current_platform.is_cuda_alike(): + # self.device = torch.device(f"cuda:{local_rank}") + # else: + # self.device = torch.device("cpu") + + self.use_pynccl = use_pynccl + self.use_custom_allreduce = use_custom_allreduce + self.use_tpu_communicator = use_tpu_communicator + + # lazy import to avoid documentation build error + from .custom_all_reduce import ( + CustomAllreduce) + # from vllm.distributed.device_communicators.pynccl import ( + # PyNcclCommunicator) + + self.pynccl_comm = None + if use_pynccl and self.world_size > 1: + self.pynccl_comm = PyNcclCommunicator( + group=self.cpu_group, + device=self.device, + ) + + self.ca_comm: Optional[CustomAllreduce] = None + if use_custom_allreduce and self.world_size > 1: + # Initialize a custom fast all-reduce implementation. + self.ca_comm = CustomAllreduce( + group=self.cpu_group, + device=self.device, + ) + + # from vllm.distributed.device_communicators.tpu_communicator import ( + # TpuCommunicator) + self.tpu_communicator = None + if use_tpu_communicator and self.world_size > 1: + self.tpu_communicator = TpuCommunicator(group=self.cpu_group) + + from .shm_broadcast import (MessageQueue) + self.mq_broadcaster = None + if use_message_queue_broadcaster and self.world_size > 1: + self.mq_broadcaster = MessageQueue.create_from_process_group( + self.cpu_group, 1 << 22, 6) + + @property + def first_rank(self): + """Return the global rank of the first process in the group""" + return self.ranks[0] + + @property + def last_rank(self): + """Return the global rank of the last process in the group""" + return self.ranks[-1] + + @property + def is_first_rank(self): + """Return whether the caller is the first process in the group""" + return self.rank == self.first_rank + + @property + def is_last_rank(self): + """Return whether the caller is the last process in the group""" + return self.rank == self.last_rank + + @property + def next_rank(self): + """Return the global rank of the process that follows the caller""" + rank_in_group = self.rank_in_group + world_size = self.world_size + return self.ranks[(rank_in_group + 1) % world_size] + + @property + def prev_rank(self): + """Return the global rank of the process that precedes the caller""" + rank_in_group = self.rank_in_group + world_size = self.world_size + return self.ranks[(rank_in_group - 1) % world_size] + + @contextmanager + def graph_capture( + self, graph_capture_context: Optional[GraphCaptureContext] = None): + if graph_capture_context is None: + stream = torch.cuda.Stream() + graph_capture_context = GraphCaptureContext(stream) + else: + stream = graph_capture_context.stream + + ca_comm = self.ca_comm + maybe_ca_context = nullcontext( + ) if ca_comm is None else ca_comm.capture() + + # ensure all initialization operations complete before attempting to + # capture the graph on another stream + curr_stream = torch.cuda.current_stream() + if curr_stream != stream: + stream.wait_stream(curr_stream) + + with torch.cuda.stream(stream), maybe_ca_context: + # In graph mode, we have to be very careful about the collective + # operations. The current status is: + # allreduce \ Mode | Eager | Graph | + # -------------------------------------------- + # custom allreduce | enabled | enabled | + # PyNccl | disabled| enabled | + # torch.distributed | enabled | disabled| + # + # Note that custom allreduce will have a runtime check, if the + # tensor size is too large, it will fallback to the next + # available option. + # In summary: When using CUDA graph, we use + # either custom all-reduce kernel or pynccl. When not using + # CUDA graph, we use either custom all-reduce kernel or + # PyTorch NCCL. We always prioritize using custom all-reduce + # kernel but fall back to PyTorch or pynccl if it is + # disabled or not supported. + pynccl_comm = self.pynccl_comm + maybe_pynccl_context: Any + if not pynccl_comm: + maybe_pynccl_context = nullcontext() + else: + maybe_pynccl_context = pynccl_comm.change_state( + enable=True, stream=torch.cuda.current_stream()) + with maybe_pynccl_context: + yield graph_capture_context + + def all_reduce(self, input_: torch.Tensor) -> torch.Tensor: + """ + User-facing all-reduce function before we actually call the + all-reduce operation. + + We need this because Dynamo does not support passing an arbitrary + object (`self` in this case) to a custom op. We need to pass the + group name as a string, and then look up the group coordinator from + the group name, dispatch the all-reduce operation to the group + coordinator. + + In addition, PyTorch custom ops do not support mutation or returning + a new tensor in the same op. So we need to figure out if the op is + in-place or out-of-place ahead of time. + """ + # Bypass the function if we are using only 1 GPU. + if self.world_size == 1: + return input_ + + if not supports_custom_op(): + self._all_reduce_in_place(input_) + return input_ + + if self.tpu_communicator is not None and \ + not self.tpu_communicator.disabled: + # TPU handles Dynamo with its own logic. + return self.tpu_communicator.all_reduce(input_) + + if self.ca_comm is not None and \ + not self.ca_comm.disabled and \ + self.ca_comm.should_custom_ar(input_): + return outplace_all_reduce( + input_, group_name=self.unique_name) + else: + inplace_all_reduce(input_, + group_name=self.unique_name) + return input_ + + def _all_reduce_out_place(self, input_: torch.Tensor) -> torch.Tensor: + ca_comm = self.ca_comm + assert ca_comm is not None + assert not ca_comm.disabled + out = ca_comm.custom_all_reduce(input_) + assert out is not None + return out + + def _all_reduce_in_place(self, input_: torch.Tensor) -> None: + pynccl_comm = self.pynccl_comm + if (pynccl_comm is not None and not pynccl_comm.disabled): + pynccl_comm.all_reduce(input_) + elif input_.is_cpu: + import intel_extension_for_pytorch as ipex + ipex.distributed.all_reduce(input_, group=self.device_group) + else: + torch.distributed.all_reduce(input_, group=self.device_group) + + def all_gather(self, input_: torch.Tensor, dim: int = -1) -> torch.Tensor: + world_size = self.world_size + # Bypass the function if we are using only 1 GPU. + if world_size == 1: + return input_ + assert -input_.dim() <= dim < input_.dim(), ( + f"Invalid dim ({dim}) for input tensor with shape {input_.size()}") + + # For TPUs, use TPU communicator. + tpu_comm = self.tpu_communicator + if tpu_comm is not None and not tpu_comm.disabled: + return tpu_comm.all_gather(input_, dim) + + if dim < 0: + # Convert negative dim to positive. + dim += input_.dim() + input_size = input_.size() + # Allocate output tensor. + output_tensor = torch.empty((world_size, ) + input_size, + dtype=input_.dtype, + device=input_.device) + # All-gather. + torch.distributed.all_gather_into_tensor(output_tensor, + input_, + group=self.device_group) + # Reshape + output_tensor = output_tensor.movedim(0, dim) + output_tensor = output_tensor.reshape(input_size[:dim] + + (world_size * + input_size[dim], ) + + input_size[dim + 1:]) + return output_tensor + + def gather(self, + input_: torch.Tensor, + dst: int = 0, + dim: int = -1) -> Optional[torch.Tensor]: + """ + NOTE: We assume that the input tensor is on the same device across + all the ranks. + NOTE: `dst` is the local rank of the destination rank. + """ + world_size = self.world_size + # Bypass the function if we are using only 1 GPU. + if world_size == 1: + return input_ + assert -input_.dim() <= dim < input_.dim(), ( + f"Invalid dim ({dim}) for input tensor with shape {input_.size()}") + if dim < 0: + # Convert negative dim to positive. + dim += input_.dim() + # Allocate output tensor. + if self.rank_in_group == dst: + gather_list = [torch.empty_like(input_) for _ in range(world_size)] + else: + gather_list = None + # Gather. + torch.distributed.gather(input_, + gather_list, + dst=self.ranks[dst], + group=self.device_group) + if self.rank_in_group == dst: + output_tensor = torch.cat(gather_list, dim=dim) + else: + output_tensor = None + return output_tensor + + def broadcast(self, input_: torch.Tensor, src: int = 0): + """Broadcast the input tensor. + NOTE: `src` is the local rank of the source rank. + """ + assert src < self.world_size, f"Invalid src rank ({src})" + + # Bypass the function if we are using only 1 GPU. + if self.world_size == 1: + return input_ + # Broadcast. + torch.distributed.broadcast(input_, + src=self.ranks[src], + group=self.device_group) + return input_ + + def broadcast_object(self, obj: Optional[Any] = None, src: int = 0): + """Broadcast the input object. + NOTE: `src` is the local rank of the source rank. + """ + assert src < self.world_size, f"Invalid src rank ({src})" + + # Bypass the function if we are using only 1 GPU. + if self.world_size == 1: + return obj + if self.mq_broadcaster is not None: + assert src == 0, "Message queue broadcaster only supports src=0" + return self.mq_broadcaster.broadcast_object(obj) + if self.rank_in_group == src: + torch.distributed.broadcast_object_list([obj], + src=self.ranks[src], + group=self.cpu_group) + return obj + else: + recv = [None] + torch.distributed.broadcast_object_list(recv, + src=self.ranks[src], + group=self.cpu_group) + return recv[0] + + def broadcast_object_list(self, + obj_list: List[Any], + src: int = 0, + group: Optional[ProcessGroup] = None): + """Broadcast the input object list. + NOTE: `src` is the local rank of the source rank. + """ + assert src < self.world_size, f"Invalid src rank ({src})" + + # Bypass the function if we are using only 1 GPU. + if self.world_size == 1: + return obj_list + # Broadcast. + torch.distributed.broadcast_object_list(obj_list, + src=self.ranks[src], + group=self.device_group) + return obj_list + + def send_object(self, obj: Any, dst: int) -> None: + """Send the input object list to the destination rank.""" + """NOTE: `dst` is the local rank of the destination rank.""" + + assert dst < self.world_size, f"Invalid dst rank ({dst})" + + assert dst != self.rank_in_group, ( + "Invalid destination rank. Destination rank is the same " + "as the current rank.") + + # Serialize object to tensor and get the size as well + object_tensor = torch.frombuffer(pickle.dumps(obj), dtype=torch.uint8) + + size_tensor = torch.tensor([object_tensor.numel()], + dtype=torch.long, + device="cpu") + + # Send object size + + torch.distributed.send(size_tensor, + dst=self.ranks[dst], + group=self.cpu_group) + + # Send object + torch.distributed.send(object_tensor, + dst=self.ranks[dst], + group=self.cpu_group) + + return None + + def recv_object(self, src: int) -> Any: + """Receive the input object list from the source rank.""" + """NOTE: `src` is the local rank of the source rank.""" + + assert src < self.world_size, f"Invalid src rank ({src})" + + assert src != self.rank_in_group, ( + "Invalid source rank. Source rank is the same as the current rank." + ) + + size_tensor = torch.empty(1, dtype=torch.long, device="cpu") + + # Receive object size + rank_size = torch.distributed.recv(size_tensor, + src=self.ranks[src], + group=self.cpu_group) + + # Tensor to receive serialized objects into. + object_tensor = torch.empty( # type: ignore[call-overload] + size_tensor.item(), # type: ignore[arg-type] + dtype=torch.uint8, + device="cpu") + + rank_object = torch.distributed.recv(object_tensor, + src=self.ranks[src], + group=self.cpu_group) + + assert rank_object == rank_size, ( + "Received object sender rank does not match the size sender rank.") + + obj = pickle.loads(object_tensor.numpy().tobytes()) + + return obj + + def broadcast_tensor_dict( + self, + tensor_dict: Optional[Dict[str, Union[torch.Tensor, Any]]] = None, + src: int = 0, + group: Optional[ProcessGroup] = None, + metadata_group: Optional[ProcessGroup] = None + ) -> Optional[Dict[str, Union[torch.Tensor, Any]]]: + """Broadcast the input tensor dictionary. + NOTE: `src` is the local rank of the source rank. + """ + # Bypass the function if we are using only 1 GPU. + if (not torch.distributed.is_initialized() or self.world_size == 1): + return tensor_dict + + group = self.device_group + metadata_group = self.cpu_group + assert src < self.world_size, f"Invalid src rank ({src})" + + rank_in_group = self.rank_in_group + if rank_in_group == src: + metadata_list: List[Tuple[Any, Any]] = [] + assert isinstance( + tensor_dict, + dict), (f"Expecting a dictionary, got {type(tensor_dict)}") + metadata_list, tensor_list = _split_tensor_dict(tensor_dict) + # `metadata_list` lives in CPU memory. + # `broadcast_object_list` has serialization & deserialization, + # all happening on CPU. Therefore, we can use the CPU group. + self.broadcast_object(metadata_list, src=src) + async_handles = [] + for tensor in tensor_list: + if tensor.numel() == 0: + # Skip broadcasting empty tensors. + continue + if tensor.is_cpu: + # use metadata_group for CPU tensors + handle = torch.distributed.broadcast(tensor, + src=self.ranks[src], + group=metadata_group, + async_op=True) + else: + # use group for GPU tensors + handle = torch.distributed.broadcast(tensor, + src=self.ranks[src], + group=group, + async_op=True) + async_handles.append(handle) + for async_handle in async_handles: + async_handle.wait() + + else: + metadata_list = self.broadcast_object(None, src=src) + tensor_dict = {} + async_handles = [] + for key, value in metadata_list: + if isinstance(value, TensorMetadata): + tensor = torch.empty(value.size, + dtype=value.dtype, + device=value.device) + if tensor.numel() == 0: + # Skip broadcasting empty tensors. + tensor_dict[key] = tensor + continue + if tensor.is_cpu: + # use metadata_group for CPU tensors + handle = torch.distributed.broadcast( + tensor, + src=self.ranks[src], + group=metadata_group, + async_op=True) + else: + # use group for GPU tensors + handle = torch.distributed.broadcast( + tensor, + src=self.ranks[src], + group=group, + async_op=True) + async_handles.append(handle) + tensor_dict[key] = tensor + else: + tensor_dict[key] = value + for async_handle in async_handles: + async_handle.wait() + return tensor_dict + + def send_tensor_dict( + self, + tensor_dict: Dict[str, Union[torch.Tensor, Any]], + dst: Optional[int] = None, + all_gather_group: Optional["GroupCoordinator"] = None, + ) -> Optional[Dict[str, Union[torch.Tensor, Any]]]: + """Send the input tensor dictionary. + NOTE: `dst` is the local rank of the source rank. + """ + # Bypass the function if we are using only 1 GPU. + if not torch.distributed.is_initialized() or self.world_size == 1: + return tensor_dict + + all_gather_size = (1 if all_gather_group is None else + all_gather_group.world_size) + all_gather_rank = (0 if all_gather_group is None else + all_gather_group.rank_in_group) + + group = self.device_group + metadata_group = self.cpu_group + + if dst is None: + dst = (self.rank_in_group + 1) % self.world_size + assert dst < self.world_size, f"Invalid dst rank ({dst})" + + metadata_list: List[Tuple[Any, Any]] = [] + assert isinstance( + tensor_dict, + dict), f"Expecting a dictionary, got {type(tensor_dict)}" + metadata_list, tensor_list = _split_tensor_dict(tensor_dict) + # `metadata_list` lives in CPU memory. + # `send_object_list` has serialization & deserialization, + # all happening on CPU. Therefore, we can use the CPU group. + self.send_object(metadata_list, dst=dst) + for tensor in tensor_list: + if tensor.numel() == 0: + # Skip sending empty tensors. + continue + + # send-allgather: send only a slice, then do allgather. + if (all_gather_group is not None + and tensor.numel() % all_gather_size == 0): + tensor = tensor.reshape(all_gather_size, -1)[all_gather_rank] + + if tensor.is_cpu: + # use metadata_group for CPU tensors + torch.distributed.send(tensor, + dst=self.ranks[dst], + group=metadata_group) + else: + # use group for GPU tensors + torch.distributed.send(tensor, + dst=self.ranks[dst], + group=group) + return None + + def recv_tensor_dict( + self, + src: Optional[int] = None, + all_gather_group: Optional["GroupCoordinator"] = None, + ) -> Optional[Dict[str, Union[torch.Tensor, Any]]]: + """Recv the input tensor dictionary. + NOTE: `src` is the local rank of the source rank. + """ + # Bypass the function if we are using only 1 GPU. + if not torch.distributed.is_initialized() or self.world_size == 1: + return None + + all_gather_size = (1 if all_gather_group is None else + all_gather_group.world_size) + all_gather_rank = (0 if all_gather_group is None else + all_gather_group.rank_in_group) + + group = self.device_group + metadata_group = self.cpu_group + + if src is None: + src = (self.rank_in_group - 1) % self.world_size + assert src < self.world_size, f"Invalid src rank ({src})" + + recv_metadata_list = self.recv_object(src=src) + tensor_dict: Dict[str, Any] = {} + for key, value in recv_metadata_list: + if isinstance(value, TensorMetadata): + tensor = torch.empty(value.size, + dtype=value.dtype, + device=value.device) + if tensor.numel() == 0: + # Skip broadcasting empty tensors. + tensor_dict[key] = tensor + continue + + # send-allgather: send only a slice, then do allgather. + use_all_gather = (all_gather_group is not None + and tensor.numel() % all_gather_size == 0) + + if use_all_gather: + orig_shape = tensor.shape + tensor = tensor.reshape(all_gather_size, + -1)[all_gather_rank] + + if tensor.is_cpu: + # use metadata_group for CPU tensors + torch.distributed.recv(tensor, + src=self.ranks[src], + group=metadata_group) + else: + # use group for GPU tensors + torch.distributed.recv(tensor, + src=self.ranks[src], + group=group) + if use_all_gather: + # do the allgather + tensor = all_gather_group.all_gather( # type: ignore + tensor, dim=0) + tensor = tensor.reshape(orig_shape) + + tensor_dict[key] = tensor + else: + tensor_dict[key] = value + return tensor_dict + + def barrier(self): + """Barrier synchronization among the group. + NOTE: don't use `device_group` here! `barrier` in NCCL is + terrible because it is internally a broadcast operation with + secretly created GPU tensors. It is easy to mess up the current + device. Use the CPU group instead. + """ + torch.distributed.barrier(group=self.cpu_group) + + def send(self, tensor: torch.Tensor, dst: Optional[int] = None) -> None: + """Sends a tensor to the destination rank in a non-blocking way""" + """NOTE: `dst` is the local rank of the destination rank.""" + if dst is None: + dst = (self.rank_in_group + 1) % self.world_size + + pynccl_comm = self.pynccl_comm + if pynccl_comm is not None and not pynccl_comm.disabled: + pynccl_comm.send(tensor, dst) + else: + torch.distributed.send(tensor, self.ranks[dst], self.device_group) + + def recv(self, + size: torch.Size, + dtype: torch.dtype, + src: Optional[int] = None) -> torch.Tensor: + """Receives a tensor from the source rank.""" + """NOTE: `src` is the local rank of the source rank.""" + if src is None: + src = (self.rank_in_group - 1) % self.world_size + + tensor = torch.empty(size, dtype=dtype, device=self.device) + pynccl_comm = self.pynccl_comm + if pynccl_comm is not None and not pynccl_comm.disabled: + pynccl_comm.recv(tensor, src) + else: + torch.distributed.recv(tensor, self.ranks[src], self.device_group) + return tensor + + def destroy(self): + if self.device_group is not None: + torch.distributed.destroy_process_group(self.device_group) + self.device_group = None + if self.cpu_group is not None: + torch.distributed.destroy_process_group(self.cpu_group) + self.cpu_group = None + if self.pynccl_comm is not None: + self.pynccl_comm = None + if self.ca_comm is not None: + self.ca_comm = None + if self.mq_broadcaster is not None: + self.mq_broadcaster = None + + +_WORLD: Optional[GroupCoordinator] = None + + +def get_world_group() -> GroupCoordinator: + assert _WORLD is not None, ("world group is not initialized") + return _WORLD + + +def init_world_group(ranks: List[int], local_rank: int, + backend: str) -> GroupCoordinator: + return GroupCoordinator( + group_ranks=[ranks], + local_rank=local_rank, + torch_distributed_backend=backend, + use_pynccl=False, + use_custom_allreduce=False, + use_tpu_communicator=False, + group_name="world", + ) + + +def init_model_parallel_group( + group_ranks: List[List[int]], + local_rank: int, + backend: str, + use_custom_allreduce: Optional[bool] = None, + use_message_queue_broadcaster: bool = False, + group_name: Optional[str] = None, +) -> GroupCoordinator: + if use_custom_allreduce is None: + use_custom_allreduce = _ENABLE_CUSTOM_ALL_REDUCE + return GroupCoordinator( + group_ranks=group_ranks, + local_rank=local_rank, + torch_distributed_backend=backend, + use_pynccl=False, + use_custom_allreduce=use_custom_allreduce, + use_tpu_communicator=False, + use_message_queue_broadcaster=use_message_queue_broadcaster, + group_name=group_name, + ) + + +_TP: Optional[GroupCoordinator] = None + + +def get_tp_group() -> GroupCoordinator: + assert _TP is not None, ("tensor model parallel group is not initialized") + return _TP + + +# kept for backward compatibility +get_tensor_model_parallel_group = get_tp_group + +_PP: Optional[GroupCoordinator] = None + + +def get_pp_group() -> GroupCoordinator: + assert _PP is not None, ( + "pipeline model parallel group is not initialized") + return _PP + + +# kept for backward compatibility +get_pipeline_model_parallel_group = get_pp_group + + +@contextmanager +def graph_capture(): + """ + `graph_capture` is a context manager which should surround the code that + is capturing the CUDA graph. Its main purpose is to ensure that the + some operations will be run after the graph is captured, before the graph + is replayed. It returns a `GraphCaptureContext` object which contains the + necessary data for the graph capture. Currently, it only contains the + stream that the graph capture is running on. This stream is set to the + current CUDA stream when the context manager is entered and reset to the + default stream when the context manager is exited. This is to ensure that + the graph capture is running on a separate stream from the default stream, + in order to explicitly distinguish the kernels to capture + from other kernels possibly launched on background in the default stream. + """ + with get_tp_group().graph_capture() as context, get_pp_group( + ).graph_capture(context): + yield context + + +# logger = init_logger(__name__) + +_ENABLE_CUSTOM_ALL_REDUCE = True + + +def set_custom_all_reduce(enable: bool): + global _ENABLE_CUSTOM_ALL_REDUCE + _ENABLE_CUSTOM_ALL_REDUCE = enable + + +def init_distributed_environment( + world_size: int = -1, + rank: int = -1, + distributed_init_method: str = "env://", + local_rank: int = -1, + backend: str = "nccl", +): + logger.debug( + "world_size=%d rank=%d local_rank=%d " + "distributed_init_method=%s backend=%s", world_size, rank, local_rank, + distributed_init_method, backend) + if not torch.distributed.is_initialized(): + assert distributed_init_method is not None, ( + "distributed_init_method must be provided when initializing " + "distributed environment") + if "CUDA_VISIBLE_DEVICES" not in os.environ: + from .utils import update_environment_variables + update_environment_variables({ + "CUDA_VISIBLE_DEVICES": (",".join(map(str, range(world_size)))) + }) + # this backend is used for WORLD + torch.distributed.init_process_group( + backend=backend, + # init_method=distributed_init_method, + world_size=world_size, + rank=rank) + # set the local rank + # local_rank is not available in torch ProcessGroup, + # see https://github.com/pytorch/pytorch/issues/122816 + if local_rank == -1: + # local rank not set, this usually happens in single-node + # setting, where we can use rank as local rank + if distributed_init_method == "env://": + # local_rank = envs.LOCAL_RANK + local_rank = os.environ.get("LOCAL_RANK", "0") + else: + local_rank = rank + global _WORLD + print('init_world_group') + if _WORLD is None: + ranks = list(range(torch.distributed.get_world_size())) + _WORLD = init_world_group(ranks, local_rank, backend) + else: + assert _WORLD.world_size == torch.distributed.get_world_size(), ( + "world group already initialized with a different world size") + + +def initialize_model_parallel( + tensor_model_parallel_size: int = 1, + pipeline_model_parallel_size: int = 1, + backend: Optional[str] = None, +) -> None: + """ + Initialize model parallel groups. + + Arguments: + tensor_model_parallel_size: number of GPUs used for tensor model + parallelism. + pipeline_model_parallel_size: number of GPUs used for pipeline model + parallelism. + + Let's say we have a total of 8 GPUs denoted by g0 ... g7 and we + use 2 GPUs to parallelize the model tensor, and 4 GPUs to parallelize + the model pipeline. The present function will + create 4 tensor model-parallel groups and 2 pipeline model-parallel groups: + 4 tensor model-parallel groups: + [g0, g1], [g2, g3], [g4, g5], [g6, g7] + 2 pipeline model-parallel groups: + [g0, g2, g4, g6], [g1, g3, g5, g7] + Note that for efficiency, the caller should make sure adjacent ranks + are on the same DGX box. For example if we are using 2 DGX-1 boxes + with a total of 16 GPUs, rank 0 to 7 belong to the first box and + ranks 8 to 15 belong to the second box. + """ + # Get world size and rank. Ensure some consistencies. + assert torch.distributed.is_initialized() + world_size: int = torch.distributed.get_world_size() + backend = backend or torch.distributed.get_backend( + get_world_group().device_group) + + if (world_size != + tensor_model_parallel_size * pipeline_model_parallel_size): + raise RuntimeError( + f"world_size ({world_size}) is not equal to " + f"tensor_model_parallel_size ({tensor_model_parallel_size}) x " + f"pipeline_model_parallel_size ({pipeline_model_parallel_size})") + + # Build the tensor model-parallel groups. + num_tensor_model_parallel_groups: int = (world_size // + tensor_model_parallel_size) + global _TP + assert _TP is None, ("tensor model parallel group is already initialized") + group_ranks = [] + for i in range(num_tensor_model_parallel_groups): + ranks = list( + range(i * tensor_model_parallel_size, + (i + 1) * tensor_model_parallel_size)) + group_ranks.append(ranks) + + # message queue broadcaster is only used in tensor model parallel group + _TP = init_model_parallel_group(group_ranks, + get_world_group().local_rank, + backend, + use_message_queue_broadcaster=True, + group_name="tp") + + # Build the pipeline model-parallel groups. + num_pipeline_model_parallel_groups: int = (world_size // + pipeline_model_parallel_size) + global _PP + assert _PP is None, ( + "pipeline model parallel group is already initialized") + group_ranks = [] + for i in range(num_pipeline_model_parallel_groups): + ranks = list(range(i, world_size, num_pipeline_model_parallel_groups)) + group_ranks.append(ranks) + # pipeline parallel does not need custom allreduce + _PP = init_model_parallel_group(group_ranks, + get_world_group().local_rank, + backend, + use_custom_allreduce=False, + group_name="pp") + + +def ensure_model_parallel_initialized( + tensor_model_parallel_size: int, + pipeline_model_parallel_size: int, + backend: Optional[str] = None, +) -> None: + """Helper to initialize model parallel groups if they are not initialized, + or ensure tensor-parallel and pipeline-parallel sizes are equal to expected + values if the model parallel groups are initialized. + """ + backend = backend or torch.distributed.get_backend( + get_world_group().device_group) + if not model_parallel_is_initialized(): + initialize_model_parallel(tensor_model_parallel_size, + pipeline_model_parallel_size, backend) + return + + assert ( + get_tensor_model_parallel_world_size() == tensor_model_parallel_size + ), ("tensor parallel group already initialized, but of unexpected size: " + f"{get_tensor_model_parallel_world_size()=} vs. " + f"{tensor_model_parallel_size=}") + pp_world_size = get_pp_group().world_size + assert (pp_world_size == pipeline_model_parallel_size), ( + "pipeline parallel group already initialized, but of unexpected size: " + f"{pp_world_size=} vs. " + f"{pipeline_model_parallel_size=}") + + +def model_parallel_is_initialized(): + """Check if tensor and pipeline parallel groups are initialized.""" + return (_TP is not None and _PP is not None) + + +_TP_STATE_PATCHED = False + + +@contextmanager +def patch_tensor_parallel_group(tp_group: GroupCoordinator): + """Patch the tp group temporarily until this function ends. + + This method is for draft workers of speculative decoding to run draft model + with different tp degree from that of target model workers. + + Args: + tp_group (GroupCoordinator): the tp group coordinator + """ + global _TP_STATE_PATCHED + assert not _TP_STATE_PATCHED, "Should not call when it's already patched" + + _TP_STATE_PATCHED = True + old_tp_group = get_tp_group() + global _TP + _TP = tp_group + try: + yield + finally: + # restore the original state + _TP_STATE_PATCHED = False + _TP = old_tp_group + + +def get_tensor_model_parallel_world_size(): + """Return world size for the tensor model parallel group.""" + return get_tp_group().world_size + + +def get_tensor_model_parallel_rank(): + """Return my rank for the tensor model parallel group.""" + return get_tp_group().rank_in_group + + +def destroy_model_parallel(): + """Set the groups to none and destroy them.""" + global _TP + if _TP: + _TP.destroy() + _TP = None + + global _PP + if _PP: + _PP.destroy() + _PP = None + + +def destroy_distributed_environment(): + global _WORLD + if _WORLD: + _WORLD.destroy() + _WORLD = None + if torch.distributed.is_initialized(): + torch.distributed.destroy_process_group() + + +def in_the_same_node_as(pg: ProcessGroup, source_rank: int = 0) -> List[bool]: + """ + This is a collective operation that returns if each rank is in the same node + as the source rank. It tests if processes are attached to the same + memory system (shared access to shared memory). + """ + assert torch.distributed.get_backend( + pg) != torch.distributed.Backend.NCCL, ( + "in_the_same_node_as should be tested with a non-NCCL group.") + # local rank inside the group + rank = torch.distributed.get_rank(group=pg) + world_size = torch.distributed.get_world_size(group=pg) + + # local tensor in each process to store the result + is_in_the_same_node = torch.tensor([0] * world_size, dtype=torch.int32) + + # global ranks of the processes in the group + ranks = torch.distributed.get_process_group_ranks(pg) + + magic_message = b"magic_message" + shm = None + + try: + with contextlib.suppress(OSError): + if rank == source_rank: + # create a shared memory segment + shm = shared_memory.SharedMemory(create=True, size=128) + shm.buf[:len(magic_message)] = magic_message + torch.distributed.broadcast_object_list([shm.name], + src=ranks[source_rank], + group=pg) + is_in_the_same_node[rank] = 1 + else: + # try to open the shared memory segment + recv = [None] + torch.distributed.broadcast_object_list(recv, + src=ranks[source_rank], + group=pg) + name = recv[0] + # fix to https://stackoverflow.com/q/62748654/9191338 + # Python incorrectly tracks shared memory even if it is not + # created by the process. The following patch is a workaround. + with patch("multiprocessing.resource_tracker.register", + lambda *args, **kwargs: None): + shm = shared_memory.SharedMemory(name=name) + if shm.buf[:len(magic_message)] == magic_message: + is_in_the_same_node[rank] = 1 + except Exception as e: + logger.error("Error ignored in is_in_the_same_node: %s", e) + finally: + if shm: + shm.close() + + torch.distributed.barrier(group=pg) + + # clean up the shared memory segment + with contextlib.suppress(OSError): + if rank == source_rank and shm: + shm.unlink() + torch.distributed.all_reduce(is_in_the_same_node, group=pg) + + return [x == 1 for x in is_in_the_same_node.tolist()] diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/shm_broadcast.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/shm_broadcast.py new file mode 100644 index 000000000..34a23256c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/shm_broadcast.py @@ -0,0 +1,492 @@ +import pickle +import time +from contextlib import contextmanager +from dataclasses import dataclass, field +from multiprocessing import shared_memory +from typing import List, Optional +from unittest.mock import patch + +import torch +import torch.distributed as dist +from torch.distributed import ProcessGroup +from zmq import IPV6 # type: ignore +from zmq import SUB, SUBSCRIBE, XPUB, XPUB_VERBOSE, Context # type: ignore + +# import vllm.envs as envs +from llm_perf.utils.logger import logger +# from vllm.logger import init_logger +from .utils import get_ip, get_open_port, is_valid_ipv6_address + +VLLM_RINGBUFFER_WARNING_INTERVAL = 60 + +# time to wait if the queue is full or empty +# if we sleep for too short, it will consume too much CPU +# if we sleep for too long, it will slow down the writer/reader +# 0.1 us is a good balance +RINGBUFFER_SLEEP_INTERVAL = 1e-7 + +# logger = init_logger(__name__) + + +class ShmRingBuffer: + + def __init__(self, + n_reader: int, + max_chunk_bytes: int, + max_chunks: int, + name: Optional[str] = None): + """ + A shared memory ring buffer implementation for broadcast communication. + Essentially, it is a queue where only one will `enqueue` and multiple + will `dequeue`. The max size of each item, together with the max number + of items that can be stored in the buffer are known in advance. + In this case, we don't need to synchronize the access to + the buffer. + + Buffer memory layout: + data metadata + | | + | (current_idx) | (current_idx) + v v + +-------------------------------+----------------------------------------+ + | chunk0 | chunk1 | ... | chunk | metadata0 | metadata1 | ... | metadata | + +-------------------------------+----------------------------------------+ + | max_chunks x max_chunk_bytes | max_chunks x (1 + n_reader) bytes | + + metadata memory layout: each byte is a flag, the first byte is the written + flag, and the rest are reader flags. The flags are set to 0 by default. + +--------------+--------------+--------------+-----+--------------+ + | written_flag | reader0_flag | reader1_flag | ... | readerN_flag | + +--------------+--------------+--------------+-----+--------------+ + + The state of metadata is as follows: + + (case 1) 0???...???: the block is not written yet, cannot read, can write + (case 2) 1000...000: the block is just written, can read, cannot write + (case 3) 1???...???: the block is written and read by some readers, can read if not read, cannot write + (case 4) 1111...111: the block is written and read by all readers, cannot read, can write + + State transition for readers: + + When a reader finds a block that it can read (case 2 or 3), it can yield the block for caller to read. + Only after the caller finishes reading the block, the reader can mark the block as read. + Readers only mark the block as read (from 0 to 1), the writer marks the block as ready to read (from 1 to 0). + + State transition for writer: + + When the writer writes to a block (case 1 or 4), it first resets the written flag to 0, converting either case + to case 1. Then it can yield the block for caller to write. After the caller finishes writing the block, the writer + can reset the reader flags to 0, and mark the block as written (from 0 to 1). + NOTE: the order is important here, first reset the reader flags (so that we are still in case 1), then mark the block as written. The state transition is atomic. If we do it in the reverse order, it will go through case 3 and then back to case 2, and readers might read the intermediate case 3, which is not correct. + + During creation, `name` is None and the buffer is created. We can pass the + created object to other processes by pickling it. The other processes will + get the name of the shared memory and open it, so that they can access the + same shared memory buffer. + """# noqa + self.n_reader = n_reader + self.metadata_size = 1 + n_reader + self.max_chunk_bytes = max_chunk_bytes + self.max_chunks = max_chunks + self.total_bytes_of_buffer = (self.max_chunk_bytes + + self.metadata_size) * self.max_chunks + self.data_offset = 0 + self.metadata_offset = self.max_chunk_bytes * self.max_chunks + + if name is None: + # we are creating a buffer + self.is_creator = True + self.shared_memory = shared_memory.SharedMemory( + create=True, size=self.total_bytes_of_buffer) + # initialize the metadata section to 0 + with memoryview(self.shared_memory.buf[self.metadata_offset:] + ) as metadata_buffer: + torch.frombuffer(metadata_buffer, dtype=torch.uint8).fill_(0) + else: + # we are opening an existing buffer + self.is_creator = False + # fix to https://stackoverflow.com/q/62748654/9191338 + # Python incorrectly tracks shared memory even if it is not + # created by the process. The following patch is a workaround. + with patch("multiprocessing.resource_tracker.register", + lambda *args, **kwargs: None): + try: + self.shared_memory = shared_memory.SharedMemory(name=name) + assert ( + self.shared_memory.size == self.total_bytes_of_buffer) + except FileNotFoundError: + # we might deserialize the object in a different node + # in this case, this object is not used, + # and we should suppress the error + pass + + def __reduce__(self): + return ( + self.__class__, + (self.n_reader, self.max_chunk_bytes, self.max_chunks, + self.shared_memory.name), + ) + + def __del__(self): + if hasattr(self, "shared_memory"): + self.shared_memory.close() + if self.is_creator: + self.shared_memory.unlink() + + @contextmanager + def get_data(self, current_idx: int): + start = self.data_offset + current_idx * self.max_chunk_bytes + end = start + self.max_chunk_bytes + with memoryview(self.shared_memory.buf[start:end]) as buf: + yield buf + + @contextmanager + def get_metadata(self, current_idx: int): + start = self.metadata_offset + current_idx * self.metadata_size + end = start + self.metadata_size + with memoryview(self.shared_memory.buf[start:end]) as buf: + yield buf + + +@dataclass +class Handle: + connect_ip: str + local_reader_ranks: List[int] = field(default_factory=list) + + buffer: Optional[ShmRingBuffer] = None + local_subscribe_port: Optional[int] = None + remote_subscribe_port: Optional[int] = None + + +class MessageQueue: + + def __init__( + self, + n_reader, # number of all readers + n_local_reader, # number of local readers through shared memory + local_reader_ranks: Optional[List[int]] = None, + max_chunk_bytes: int = 1024 * 1024 * 10, + max_chunks: int = 10, + connect_ip: Optional[str] = None, + ): + if local_reader_ranks is None: + local_reader_ranks = list(range(n_local_reader)) + else: + assert len(local_reader_ranks) == n_local_reader + self.n_local_reader = n_local_reader + n_remote_reader = n_reader - n_local_reader + self.n_remote_reader = n_remote_reader + + if connect_ip is None: + connect_ip = get_ip() if n_remote_reader > 0 else "127.0.0.1" + + context = Context() + + if n_local_reader > 0: + # for local readers, we will: + # 1. create a shared memory ring buffer to communicate small data + # 2. create a publish-subscribe socket to communicate large data + self.buffer = ShmRingBuffer(n_local_reader, max_chunk_bytes, + max_chunks) + + # XPUB is very similar to PUB, + # except that it can receive subscription messages + # to confirm the number of subscribers + self.local_socket = context.socket(XPUB) + # set the verbose option so that we can receive every subscription + # message. otherwise, we will only receive the first subscription + # see http://api.zeromq.org/3-3:zmq-setsockopt for more details + self.local_socket.setsockopt(XPUB_VERBOSE, True) + local_subscribe_port = get_open_port() + socket_addr = f"tcp://127.0.0.1:{local_subscribe_port}" + logger.debug("Binding to %s", socket_addr) + self.local_socket.bind(socket_addr) + + self.current_idx = 0 + + else: + self.buffer = None # type: ignore + local_subscribe_port = None + self.local_socket = None + self.current_idx = -1 + + if n_remote_reader > 0: + # for remote readers, we will: + # create a publish-subscribe socket to communicate large data + self.remote_socket = context.socket(XPUB) + self.remote_socket.setsockopt(XPUB_VERBOSE, True) + remote_subscribe_port = get_open_port() + if is_valid_ipv6_address(connect_ip): + self.remote_socket.setsockopt(IPV6, 1) + socket_addr = f"tcp://*:{remote_subscribe_port}" + self.remote_socket.bind(socket_addr) + + else: + remote_subscribe_port = None + self.remote_socket = None + + self._is_writer = True + self._is_local_reader = False + self.local_reader_rank = -1 + # rank does not matter for remote readers + self._is_remote_reader = False + + self.handle = Handle( + connect_ip=connect_ip, + local_reader_ranks=local_reader_ranks, + buffer=self.buffer, + local_subscribe_port=local_subscribe_port, + remote_subscribe_port=remote_subscribe_port, + ) + + logger.info("vLLM message queue communication handle: %s", self.handle) + + def export_handle(self) -> Handle: + return self.handle + + @staticmethod + def create_from_handle(handle: Handle, rank) -> "MessageQueue": + self = MessageQueue.__new__(MessageQueue) + self.handle = handle + self._is_writer = False + + context = Context() + + if rank in handle.local_reader_ranks: + assert handle.buffer is not None + self.buffer = handle.buffer + self.current_idx = 0 + self.local_reader_rank = handle.local_reader_ranks.index(rank) + self._is_local_reader = True + self._is_remote_reader = False + + self.local_socket = context.socket(SUB) + self.local_socket.setsockopt_string(SUBSCRIBE, "") + socket_addr = f"tcp://127.0.0.1:{handle.local_subscribe_port}" + logger.debug("Connecting to %s", socket_addr) + self.local_socket.connect(socket_addr) + + self.remote_socket = None + else: + self.buffer = None # type: ignore + self.current_idx = -1 + self.local_reader_rank = -1 + self._is_local_reader = False + self._is_remote_reader = True + + self.local_socket = None + + self.remote_socket = context.socket(SUB) + self.remote_socket.setsockopt_string(SUBSCRIBE, "") + if is_valid_ipv6_address(handle.connect_ip): + self.remote_socket.setsockopt(IPV6, 1) + socket_addr = f"tcp://{handle.connect_ip}:{handle.remote_subscribe_port}" + logger.debug("Connecting to %s", socket_addr) + self.remote_socket.connect(socket_addr) + + return self + + def wait_until_ready(self): + """This is a collective operation. All processes (including the + readers and the writer) should call this function. + """ + if self._is_writer: + # wait for all readers to connect + + # local readers + for i in range(self.n_local_reader): + # wait for subscription messages from all local readers + self.local_socket.recv() + if self.n_local_reader > 0: + # send a message to all local readers + # to make sure the publish channel is working + self.local_socket.send(b"READY") + + # remote readers + for i in range(self.n_remote_reader): + # wait for subscription messages from all remote readers + self.remote_socket.recv() + if self.n_remote_reader > 0: + # send a message to all remote readers + # to make sure the publish channel is working + self.remote_socket.send(b"READY") + elif self._is_local_reader: + # wait for the writer to send a message + recv = self.local_socket.recv() + assert recv == b"READY" + elif self._is_remote_reader: + # wait for the writer to send a message + recv = self.remote_socket.recv() + assert recv == b"READY" + + @contextmanager + def acquire_write(self): + assert self._is_writer, "Only writers can acquire write" + start_time = time.monotonic() + n_warning = 1 + while True: + with self.buffer.get_metadata(self.current_idx) as metadata_buffer: + read_count = sum(metadata_buffer[1:]) + written_flag = metadata_buffer[0] + if written_flag and read_count != self.buffer.n_reader: + # this block is written and not read by all readers + # for writers, `self.current_idx` is the next block to write + # if this block is not ready to write, + # we need to wait until it is read by all readers + + # wait for a while + time.sleep(RINGBUFFER_SLEEP_INTERVAL) + + # if we wait for a long time, we should warn the user + if (time.monotonic() - start_time > + VLLM_RINGBUFFER_WARNING_INTERVAL * n_warning): + logger.warning( + "No available block found in %s second. ", + VLLM_RINGBUFFER_WARNING_INTERVAL) + n_warning += 1 + + continue + # found a block that is either + # (1) not written + # (2) read by all readers + + # mark the block as not written + metadata_buffer[0] = 0 + # let caller write to the buffer + with self.buffer.get_data(self.current_idx) as buf: + yield buf + + # caller has written to the buffer + # NOTE: order is important here + # first set the read flags to 0 + # then set the written flag to 1 + # otherwise, the readers may think they already read the block + for i in range(1, self.buffer.n_reader + 1): + # set read flag to 0, meaning it is not read yet + metadata_buffer[i] = 0 + # mark the block as written + metadata_buffer[0] = 1 + self.current_idx = (self.current_idx + + 1) % self.buffer.max_chunks + break + + @contextmanager + def acquire_read(self): + assert self._is_local_reader, "Only readers can acquire read" + start_time = time.monotonic() + n_warning = 1 + while True: + with self.buffer.get_metadata(self.current_idx) as metadata_buffer: + read_flag = metadata_buffer[self.local_reader_rank + 1] + written_flag = metadata_buffer[0] + if not written_flag or read_flag: + # this block is either + # (1) not written + # (2) already read by this reader + + # for readers, `self.current_idx` is the next block to read + # if this block is not ready, + # we need to wait until it is written + + # wait for a while + time.sleep(RINGBUFFER_SLEEP_INTERVAL) + + # if we wait for a long time, we should warn the user + if (time.monotonic() - start_time > + VLLM_RINGBUFFER_WARNING_INTERVAL * n_warning): + logger.warning( + "No available block found in %s second. ", + VLLM_RINGBUFFER_WARNING_INTERVAL) + n_warning += 1 + + continue + # found a block that is not read by this reader + # let caller read from the buffer + with self.buffer.get_data(self.current_idx) as buf: + yield buf + + # caller has read from the buffer + # set the read flag + metadata_buffer[self.local_reader_rank + 1] = 1 + self.current_idx = (self.current_idx + + 1) % self.buffer.max_chunks + break + + def enqueue(self, obj): + assert self._is_writer, "Only writers can enqueue" + serialized_obj = pickle.dumps(obj, protocol=pickle.HIGHEST_PROTOCOL) + if self.n_local_reader > 0: + if len(serialized_obj) >= self.buffer.max_chunk_bytes: + with self.acquire_write() as buf: + buf[0] = 1 # overflow + self.local_socket.send(serialized_obj) + else: + with self.acquire_write() as buf: + buf[0] = 0 # not overflow + buf[1:len(serialized_obj) + 1] = serialized_obj + if self.n_remote_reader > 0: + self.remote_socket.send(serialized_obj) + + def dequeue(self): + if self._is_local_reader: + with self.acquire_read() as buf: + overflow = buf[0] == 1 + if not overflow: + # no need to know the size of serialized object + # pickle format contains the size information internally + # see https://docs.python.org/3/library/pickle.html + obj = pickle.loads(buf[1:]) + if overflow: + recv = self.local_socket.recv() + obj = pickle.loads(recv) + elif self._is_remote_reader: + recv = self.remote_socket.recv() + obj = pickle.loads(recv) + else: + raise RuntimeError("Only readers can dequeue") + return obj + + def broadcast_object(self, obj=None): + if self._is_writer: + self.enqueue(obj) + return obj + else: + return self.dequeue() + + @staticmethod + def create_from_process_group(pg: ProcessGroup, + max_chunk_bytes, + max_chunks, + writer_rank=0) -> "MessageQueue": + group_rank = dist.get_rank(pg) + group_world_size = dist.get_world_size(pg) + global_ranks = dist.get_process_group_ranks(pg) + + from .parallel_state import in_the_same_node_as + status = in_the_same_node_as(pg, source_rank=writer_rank) + same_node_ranks = [i for i, s in enumerate(status) if s] + n_reader = group_world_size - 1 + n_local_reader = len(same_node_ranks) - 1 + local_reader_ranks = [i for i in same_node_ranks if i != writer_rank] + buffer_io: MessageQueue + if group_rank == writer_rank: + buffer_io = MessageQueue( + n_reader=n_reader, + n_local_reader=n_local_reader, + local_reader_ranks=local_reader_ranks, + max_chunk_bytes=max_chunk_bytes, + max_chunks=max_chunks, + ) + handle = buffer_io.export_handle() + dist.broadcast_object_list([handle], + src=global_ranks[writer_rank], + group=pg) + else: + recv = [None] + dist.broadcast_object_list(recv, + src=global_ranks[writer_rank], + group=pg) + handle = recv[0] # type: ignore + buffer_io = MessageQueue.create_from_handle(handle, group_rank) + buffer_io.wait_until_ready() + return buffer_io diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/utils.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/utils.py new file mode 100644 index 000000000..c062ceedd --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/utils.py @@ -0,0 +1,1551 @@ +import argparse +import asyncio +import contextlib +import datetime +import enum +import gc +import inspect +import ipaddress +import os +import random +import socket +import subprocess +import sys +import tempfile +import threading +import uuid +import warnings +import weakref +from asyncio import FIRST_COMPLETED, ensure_future +from functools import lru_cache, partial, wraps +from platform import uname +from typing import (Any, AsyncGenerator, Awaitable, Callable, Dict, Generic, + Hashable, List, Literal, Optional, OrderedDict, Set, Tuple, + Type, TypeVar, Union, overload) +from uuid import uuid4 + +import numpy as np +import numpy.typing as npt +import psutil +import torch +import torch.types +import yaml +from packaging.version import Version +from typing_extensions import ParamSpec, TypeIs, assert_never + +# import vllm.envs as envs +# from vllm.logger import enable_trace_function_call, init_logger +# from vllm.platforms import current_platform +from llm_perf.utils.logger import logger + +# logger = init_logger(__name__) + +# Exception strings for non-implemented encoder/decoder scenarios + +STR_NOT_IMPL_ENC_DEC_SWA = \ + "Sliding window attention for encoder/decoder models " + \ + "is not currently supported." + +STR_NOT_IMPL_ENC_DEC_PREFIX_CACHE = \ + "Prefix caching for encoder/decoder models " + \ + "is not currently supported." + +STR_NOT_IMPL_ENC_DEC_CHUNKED_PREFILL = \ + "Chunked prefill for encoder/decoder models " + \ + "is not currently supported." + +STR_NOT_IMPL_ENC_DEC_LOGIT_SOFTCAP = ( + "Models with logits_soft_cap " + "require FlashInfer backend, which is " + "currently not supported for encoder/decoder " + "models.") + +STR_NOT_IMPL_ENC_DEC_LORA = ("LoRA is currently not currently " + "supported with encoder/decoder " + "models.") + +STR_NOT_IMPL_ENC_DEC_PP = ("Pipeline parallelism is not " + "currently supported with " + "encoder/decoder models.") + +STR_NOT_IMPL_ENC_DEC_MM = ("Multimodal is not currently " + "supported with encoder/decoder " + "models.") + +STR_NOT_IMPL_ENC_DEC_SPEC_DEC = ("Speculative decoding is not " + "currently supported with encoder/" + "decoder models.") + +STR_NOT_IMPL_ENC_DEC_BACKEND = ("XFormers is the only backend " + "currently supported with encoder/" + "decoder models.") + +STR_NOT_IMPL_ENC_DEC_PROMPT_ADAPTER = ("Prompt adapters are not " + "currently supported with encoder/" + "decoder models.") + +STR_NOT_IMPL_ENC_DEC_CPU = ("CPU is not currently supported with " + "encoder/decoder models.") + +# Efficiently import all enc/dec error strings +# rather than having to import all of the above +STR_NOT_IMPL_ENC_DEC_ERR_STRS = { + "STR_NOT_IMPL_ENC_DEC_SWA": STR_NOT_IMPL_ENC_DEC_SWA, + "STR_NOT_IMPL_ENC_DEC_PREFIX_CACHE": STR_NOT_IMPL_ENC_DEC_PREFIX_CACHE, + "STR_NOT_IMPL_ENC_DEC_CHUNKED_PREFILL": + STR_NOT_IMPL_ENC_DEC_CHUNKED_PREFILL, + "STR_NOT_IMPL_ENC_DEC_LOGIT_SOFTCAP": STR_NOT_IMPL_ENC_DEC_LOGIT_SOFTCAP, + "STR_NOT_IMPL_ENC_DEC_LORA": STR_NOT_IMPL_ENC_DEC_LORA, + "STR_NOT_IMPL_ENC_DEC_PP": STR_NOT_IMPL_ENC_DEC_PP, + "STR_NOT_IMPL_ENC_DEC_MM": STR_NOT_IMPL_ENC_DEC_MM, + "STR_NOT_IMPL_ENC_DEC_SPEC_DEC": STR_NOT_IMPL_ENC_DEC_SPEC_DEC, + "STR_NOT_IMPL_ENC_DEC_BACKEND": STR_NOT_IMPL_ENC_DEC_BACKEND, + "STR_NOT_IMPL_ENC_DEC_PROMPT_ADAPTER": STR_NOT_IMPL_ENC_DEC_PROMPT_ADAPTER, + "STR_NOT_IMPL_ENC_DEC_CPU": STR_NOT_IMPL_ENC_DEC_CPU +} + +# Constants related to forcing the attention backend selection + +# String name of register which may be set in order to +# force auto-selection of attention backend by Attention +# wrapper +STR_BACKEND_ENV_VAR: str = "VLLM_ATTENTION_BACKEND" + +# Possible string values of STR_BACKEND_ENV_VAR +# register, corresponding to possible backends +STR_FLASHINFER_ATTN_VAL: str = "FLASHINFER" +STR_TORCH_SDPA_ATTN_VAL: str = "TORCH_SDPA" +STR_ROCM_FLASH_ATTN_VAL: str = "ROCM_FLASH" +STR_XFORMERS_ATTN_VAL: str = "XFORMERS" +STR_FLASH_ATTN_VAL: str = "FLASH_ATTN" +STR_INVALID_VAL: str = "INVALID" + +GB_bytes = 1_000_000_000 +"""The number of bytes in one gigabyte (GB).""" + +GiB_bytes = 1 << 30 +"""The number of bytes in one gibibyte (GiB).""" + +STR_DTYPE_TO_TORCH_DTYPE = { + "half": torch.half, + "bfloat16": torch.bfloat16, + "float": torch.float, + "fp8": torch.uint8, + "fp8_e4m3": torch.uint8, + "fp8_e5m2": torch.uint8, +} + +TORCH_DTYPE_TO_NUMPY_DTYPE = { + torch.float16: np.float16, + torch.float32: np.float32, + torch.float64: np.float64, + torch.uint8: np.uint8, + torch.int32: np.int32, + torch.int64: np.int64, +} + +P = ParamSpec('P') +K = TypeVar("K") +T = TypeVar("T") +U = TypeVar("U") + + +class _Sentinel: + ... + + +ALL_PINNED_SENTINEL = _Sentinel() + + +class rpd_trace(): + + def __init__(self, + filename=None, + name=None, + nvtx=False, + args=None, + skip=False): + self.skip = skip + if not self.skip: + self.name = name + self.args = args if args else "" + self.rpd = self.initialize_rpd_tracer(filename, nvtx) + + def _recreate_cm(self): + return self + + def __call__(self, func): + if not self.skip: + if self.name: + self.name += f"{func.__name__}" + else: + self.name = f"{func.__qualname__}" + + @wraps(func) + def inner(*args, **kwds): + with self._recreate_cm(): + return func(*args, **kwds) + + return inner + return func + + def __enter__(self): + if not self.skip: + self.rpd.__enter__() + self.rpd.rangePush("python", f"{self.name}", f"{self.args}") + return self + + def __exit__(self, *exc): + if not self.skip: + self.rpd.rangePop() + self.rpd.__exit__(None, None, None) + return False + + @staticmethod + def setup_environment_variables(filename): + os.environ['RPDT_AUTOSTART'] = '0' + os.environ['RPDT_FILENAME'] = filename + + def initialize_rpd_tracer(self, filename, nvtx): + try: + from rpdTracerControl import rpdTracerControl + rpd_trace.setup_environment_variables(filename) + rpdTracerControl.setFilename(name=filename, append=True) + return rpdTracerControl(nvtx=nvtx) + except Exception as e: + print(f"Error initializing rpdTracerControl: {e}") + raise + + @staticmethod + def create_file(filename): + import sqlite3 + + from rocpd.schema import RocpdSchema + try: + print("Creating empty rpd schema file ...") + filename = str(filename) + with sqlite3.connect(filename) as connection: + schema = RocpdSchema() + schema.writeSchema(connection) + connection.commit() + except sqlite3.OperationalError as e: + print(f"SQLite operational error: {e}") + except Exception as e: + print(f"An error occurred while creating the filename: {e}") + + +@lru_cache(maxsize=None) +def is_hipScopedMarker_available(): + try: + from hipScopedMarker import hipScopedMarker + except ImportError: + hipScopedMarker = None + return hipScopedMarker is not None + + +class rpd_mark(): + + def __init__(self, name=None): + self.name = name + + def __call__(self, func): + + if is_hipScopedMarker_available(): + from hipScopedMarker import hipScopedMarker + + @wraps(func) + def inner(*args, **kwds): + marker_name = self.name if self.name else f"{func.__name__}" + with hipScopedMarker(f"{marker_name}"): + return func(*args, **kwds) + + return inner + + else: + return func + + +class Device(enum.Enum): + GPU = enum.auto() + CPU = enum.auto() + + +class Counter: + + def __init__(self, start: int = 0) -> None: + self.counter = start + + def __next__(self) -> int: + i = self.counter + self.counter += 1 + return i + + def reset(self) -> None: + self.counter = 0 + + +class LRUCache(Generic[T]): + + def __init__(self, capacity: int): + self.cache: OrderedDict[Hashable, T] = OrderedDict() + self.pinned_items: Set[Hashable] = set() + self.capacity = capacity + + def __contains__(self, key: Hashable) -> bool: + return key in self.cache + + def __len__(self) -> int: + return len(self.cache) + + def __getitem__(self, key: Hashable) -> T: + value = self.cache[key] # Raise KeyError if not exists + self.cache.move_to_end(key) + return value + + def __setitem__(self, key: Hashable, value: T) -> None: + self.put(key, value) + + def __delitem__(self, key: Hashable) -> None: + self.pop(key) + + def touch(self, key: Hashable) -> None: + self.cache.move_to_end(key) + + def get(self, + key: Hashable, + default_value: Optional[T] = None) -> Optional[T]: + value: Optional[T] + if key in self.cache: + value = self.cache[key] + self.cache.move_to_end(key) + else: + value = default_value + return value + + def put(self, key: Hashable, value: T) -> None: + self.cache[key] = value + self.cache.move_to_end(key) + self._remove_old_if_needed() + + def pin(self, key: Hashable) -> None: + """ + Pins a key in the cache preventing it from being + evicted in the LRU order. + """ + if key not in self.cache: + raise ValueError(f"Cannot pin key: {key} not in cache.") + self.pinned_items.add(key) + + def _unpin(self, key: Hashable) -> None: + self.pinned_items.remove(key) + + def _on_remove(self, key: Hashable, value: Optional[T]): + pass + + def remove_oldest(self, remove_pinned=False): + if not self.cache: + return + + if not remove_pinned: + # pop the oldest item in the cache that is not pinned + lru_key = next( + (key for key in self.cache if key not in self.pinned_items), + ALL_PINNED_SENTINEL) + if lru_key is ALL_PINNED_SENTINEL: + raise RuntimeError("All items are pinned, " + "cannot remove oldest from the cache.") + else: + lru_key = next(iter(self.cache)) + self.pop(lru_key) + + def _remove_old_if_needed(self) -> None: + while len(self.cache) > self.capacity: + self.remove_oldest() + + def pop(self, + key: Hashable, + default_value: Optional[T] = None) -> Optional[T]: + run_on_remove = key in self.cache + value: Optional[T] = self.cache.pop(key, default_value) + # remove from pinned items + if key in self.pinned_items: + self._unpin(key) + if run_on_remove: + self._on_remove(key, value) + return value + + def clear(self): + while len(self.cache) > 0: + self.remove_oldest(remove_pinned=True) + self.cache.clear() + + +class PyObjectCache: + """Used to cache python objects to avoid object allocations + across scheduler iterations. + """ + + def __init__(self, obj_builder): + self._obj_builder = obj_builder + self._index = 0 + + self._obj_cache = [] + for _ in range(128): + self._obj_cache.append(self._obj_builder()) + + def _grow_cache(self): + # Double the size of the cache + num_objs = len(self._obj_cache) + for _ in range(num_objs): + self._obj_cache.append(self._obj_builder()) + + def get_object(self): + """Returns a pre-allocated cached object. If there is not enough + objects, then the cache size will double. + """ + if self._index >= len(self._obj_cache): + self._grow_cache() + assert self._index < len(self._obj_cache) + + obj = self._obj_cache[self._index] + self._index += 1 + + return obj + + def reset(self): + """Makes all cached-objects available for the next scheduler iteration. + """ + self._index = 0 + + +def is_hip() -> bool: + return torch.version.hip is not None + + +@lru_cache(maxsize=None) +def is_cpu() -> bool: + from importlib.metadata import PackageNotFoundError, version + try: + return "cpu" in version("vllm") + except PackageNotFoundError: + return False + + +@lru_cache(maxsize=None) +def is_openvino() -> bool: + from importlib.metadata import PackageNotFoundError, version + try: + return "openvino" in version("vllm") + except PackageNotFoundError: + return False + + +@lru_cache(maxsize=None) +def is_neuron() -> bool: + try: + import transformers_neuronx + except ImportError: + transformers_neuronx = None + return transformers_neuronx is not None + + +@lru_cache(maxsize=None) +def is_xpu() -> bool: + from importlib.metadata import PackageNotFoundError, version + try: + is_xpu_flag = "xpu" in version("vllm") + except PackageNotFoundError: + return False + # vllm is not build with xpu + if not is_xpu_flag: + return False + try: + import intel_extension_for_pytorch as ipex # noqa: F401 + _import_ipex = True + except ImportError as e: + logger.warning("Import Error for IPEX: %s", e.msg) + _import_ipex = False + # ipex dependency is not ready + if not _import_ipex: + logger.warning("not found ipex lib") + return False + return hasattr(torch, "xpu") and torch.xpu.is_available() + + +@lru_cache(maxsize=None) +def get_max_shared_memory_bytes(gpu: int = 0) -> int: + """Returns the maximum shared memory per thread block in bytes.""" + from vllm import _custom_ops as ops + max_shared_mem = ( + ops.get_max_shared_memory_per_block_device_attribute(gpu)) + # value 0 will cause MAX_SEQ_LEN become negative and test_attention.py + # will fail + assert max_shared_mem > 0, "max_shared_mem can not be zero" + return int(max_shared_mem) + + +def get_cpu_memory() -> int: + """Returns the total CPU memory of the node in bytes.""" + return psutil.virtual_memory().total + + +def seed_everything(seed: int) -> None: + """ + Set the seed of each random module. + + Loosely based on: https://github.com/Lightning-AI/pytorch-lightning/blob/2.4.0/src/lightning/fabric/utilities/seed.py#L20 + """ + random.seed(seed) + np.random.seed(seed) + + if current_platform.is_cuda_alike(): + torch.cuda.manual_seed_all(seed) + + if is_xpu(): + torch.xpu.manual_seed_all(seed) + + +def random_uuid() -> str: + return str(uuid.uuid4().hex) + + +@lru_cache(maxsize=None) +def get_vllm_instance_id() -> str: + """ + If the environment variable VLLM_INSTANCE_ID is set, return it. + Otherwise, return a random UUID. + Instance id represents an instance of the VLLM. All processes in the same + instance should have the same instance id. + """ + return envs.VLLM_INSTANCE_ID or f"vllm-instance-{random_uuid()}" + + +@lru_cache(maxsize=None) +def in_wsl() -> bool: + # Reference: https://github.com/microsoft/WSL/issues/4071 + return "microsoft" in " ".join(uname()).lower() + + +def make_async(func: Callable[P, T]) -> Callable[P, Awaitable[T]]: + """Take a blocking function, and run it on in an executor thread. + + This function prevents the blocking function from blocking the + asyncio event loop. + The code in this function needs to be thread safe. + """ + + def _async_wrapper(*args: P.args, **kwargs: P.kwargs) -> asyncio.Future: + loop = asyncio.get_event_loop() + p_func = partial(func, *args, **kwargs) + return loop.run_in_executor(executor=None, func=p_func) + + return _async_wrapper + + +async def iterate_with_cancellation( + iterator: AsyncGenerator[T, None], + is_cancelled: Callable[[], Awaitable[bool]], +) -> AsyncGenerator[T, None]: + """Convert async iterator into one that polls the provided function + at least once per second to check for client cancellation. + """ + + # Can use anext() in python >= 3.10 + awaits = [ensure_future(iterator.__anext__())] + while True: + done, pending = await asyncio.wait(awaits, timeout=1) + if await is_cancelled(): + with contextlib.suppress(BaseException): + awaits[0].cancel() + await iterator.aclose() + raise asyncio.CancelledError("client cancelled") + if done: + try: + item = await awaits[0] + awaits[0] = ensure_future(iterator.__anext__()) + yield item + except StopAsyncIteration: + # we are done + return + + +async def merge_async_iterators( + *iterators: AsyncGenerator[T, None], + is_cancelled: Optional[Callable[[], Awaitable[bool]]] = None, +) -> AsyncGenerator[Tuple[int, T], None]: + """Merge multiple asynchronous iterators into a single iterator. + + This method handle the case where some iterators finish before others. + When it yields, it yields a tuple (i, item) where i is the index of the + iterator that yields the item. + + It also optionally polls a provided function at least once per second + to check for client cancellation. + """ + + # Can use anext() in python >= 3.10 + awaits = { + ensure_future(pair[1].__anext__()): pair + for pair in enumerate(iterators) + } + timeout = None if is_cancelled is None else 1 + try: + while awaits: + done, pending = await asyncio.wait(awaits.keys(), + return_when=FIRST_COMPLETED, + timeout=timeout) + if is_cancelled is not None and await is_cancelled(): + raise asyncio.CancelledError("client cancelled") + for d in done: + pair = awaits.pop(d) + try: + item = await d + i, it = pair + awaits[ensure_future(it.__anext__())] = pair + yield i, item + except StopAsyncIteration: + pass + finally: + # Cancel any remaining iterators + for f, (_, it) in awaits.items(): + with contextlib.suppress(BaseException): + f.cancel() + await it.aclose() + + +async def collect_from_async_generator( + iterator: AsyncGenerator[T, None]) -> List[T]: + """Collect all items from an async generator into a list.""" + items = [] + async for item in iterator: + items.append(item) + return items + + +def get_ip() -> str: + # host_ip = envs.VLLM_HOST_IP + # if host_ip: + # return host_ip + + # IP is not set, try to get it from the network interface + + # try ipv4 + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + try: + s.connect(("8.8.8.8", 80)) # Doesn't need to be reachable + return s.getsockname()[0] + except Exception: + pass + + # try ipv6 + try: + s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) + # Google's public DNS server, see + # https://developers.google.com/speed/public-dns/docs/using#addresses + s.connect(("2001:4860:4860::8888", 80)) # Doesn't need to be reachable + return s.getsockname()[0] + except Exception: + pass + + warnings.warn( + "Failed to get the IP address, using 0.0.0.0 by default." + "The value can be set by the environment variable" + " VLLM_HOST_IP or HOST_IP.", + stacklevel=2) + return "0.0.0.0" + + +def is_valid_ipv6_address(address: str) -> bool: + try: + ipaddress.IPv6Address(address) + return True + except ValueError: + return False + + +def get_distributed_init_method(ip: str, port: int) -> str: + # Brackets are not permitted in ipv4 addresses, + # see https://github.com/python/cpython/issues/103848 + return f"tcp://[{ip}]:{port}" if ":" in ip else f"tcp://{ip}:{port}" + + +def get_open_zmq_ipc_path() -> str: + base_rpc_path = envs.VLLM_RPC_BASE_PATH + return f"ipc://{base_rpc_path}/{uuid4()}" + + +def get_open_port() -> int: + # port = envs.VLLM_PORT + port = None + if port is not None: + while True: + try: + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.bind(("", port)) + return port + except OSError: + port += 1 # Increment port number if already in use + logger.info("Port %d is already in use, trying port %d", + port - 1, port) + # try ipv4 + try: + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.bind(("", 0)) + return s.getsockname()[1] + except OSError: + # try ipv6 + with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as s: + s.bind(("", 0)) + return s.getsockname()[1] + + +def find_process_using_port(port: int) -> Optional[psutil.Process]: + for conn in psutil.net_connections(): + if conn.laddr.port == port: + try: + return psutil.Process(conn.pid) + except psutil.NoSuchProcess: + return None + return None + + +def update_environment_variables(envs: Dict[str, str]): + for k, v in envs.items(): + if k in os.environ and os.environ[k] != v: + logger.warning( + "Overwriting environment variable %s " + "from '%s' to '%s'", k, os.environ[k], v) + os.environ[k] = v + + +def chunk_list(lst: List[T], chunk_size: int): + """Yield successive chunk_size chunks from lst.""" + for i in range(0, len(lst), chunk_size): + yield lst[i:i + chunk_size] + + +def cdiv(a: int, b: int) -> int: + """Ceiling division.""" + return -(a // -b) + + +def _generate_random_fp8( + tensor: torch.Tensor, + low: float, + high: float, +) -> None: + # NOTE(zhaoyang): Due to NaN and Inf representation for fp8 data type, + # it may occur Inf or NaN if we directly use torch.randint + # to generate random data for fp8 data. + # For example, s.11111.00 in fp8e5m2 format represents Inf. + # | E4M3 | E5M2 + #-----|-------------|------------------- + # Inf | N/A | s.11111.00 + # NaN | s.1111.111 | s.11111.{01,10,11} + from vllm import _custom_ops as ops + tensor_tmp = torch.empty_like(tensor, dtype=torch.float16) + tensor_tmp.uniform_(low, high) + ops.convert_fp8(tensor, tensor_tmp) + del tensor_tmp + + +def get_kv_cache_torch_dtype( + cache_dtype: Optional[Union[str, torch.dtype]], + model_dtype: Optional[Union[str, torch.dtype]] = None) -> torch.dtype: + if isinstance(cache_dtype, str): + if cache_dtype == "auto": + if isinstance(model_dtype, str): + torch_dtype = STR_DTYPE_TO_TORCH_DTYPE[model_dtype] + elif isinstance(model_dtype, torch.dtype): + torch_dtype = model_dtype + else: + raise ValueError(f"Invalid model dtype: {model_dtype}") + elif cache_dtype in ["half", "bfloat16", "float"]: + torch_dtype = STR_DTYPE_TO_TORCH_DTYPE[cache_dtype] + elif cache_dtype == "fp8": + torch_dtype = torch.uint8 + else: + raise ValueError(f"Invalid kv cache dtype: {cache_dtype}") + elif isinstance(cache_dtype, torch.dtype): + torch_dtype = cache_dtype + else: + raise ValueError(f"Invalid kv cache dtype: {cache_dtype}") + return torch_dtype + + +def create_kv_caches_with_random_flash( + num_blocks: int, + block_size: int, + num_layers: int, + num_heads: int, + head_size: int, + cache_dtype: Optional[Union[str, torch.dtype]], + model_dtype: Optional[Union[str, torch.dtype]] = None, + seed: int = 0, + device: Optional[str] = "cuda", +) -> Tuple[List[torch.Tensor], List[torch.Tensor]]: + seed_everything(seed) + + torch_dtype = get_kv_cache_torch_dtype(cache_dtype, model_dtype) + key_value_cache_shape = (num_blocks, 2, block_size, num_heads, head_size) + scale = head_size**-0.5 + + key_caches: List[torch.Tensor] = [] + value_caches: List[torch.Tensor] = [] + + for _ in range(num_layers): + key_value_cache = torch.empty(size=key_value_cache_shape, + dtype=torch_dtype, + device=device) + if cache_dtype in ["auto", "half", "bfloat16", "float"]: + key_value_cache.uniform_(-scale, scale) + elif cache_dtype == 'fp8': + _generate_random_fp8(key_value_cache, -scale, scale) + else: + raise ValueError( + f"Does not support key cache of type {cache_dtype}") + key_caches.append(key_value_cache[:, 0]) + value_caches.append(key_value_cache[:, 1]) + return key_caches, value_caches + + +def create_kv_caches_with_random( + num_blocks: int, + block_size: int, + num_layers: int, + num_heads: int, + head_size: int, + cache_dtype: Optional[Union[str, torch.dtype]], + model_dtype: Optional[Union[str, torch.dtype]] = None, + seed: int = 0, + device: Optional[str] = "cuda", +) -> Tuple[List[torch.Tensor], List[torch.Tensor]]: + + if cache_dtype == "fp8" and head_size % 16: + raise ValueError( + f"Does not support key cache of type fp8 with head_size {head_size}" + ) + + seed_everything(seed) + + torch_dtype = get_kv_cache_torch_dtype(cache_dtype, model_dtype) + + scale = head_size**-0.5 + x = 16 // torch.tensor([], dtype=torch_dtype).element_size() + key_cache_shape = (num_blocks, num_heads, head_size // x, block_size, x) + key_caches: List[torch.Tensor] = [] + for _ in range(num_layers): + key_cache = torch.empty(size=key_cache_shape, + dtype=torch_dtype, + device=device) + if cache_dtype in ["auto", "half", "bfloat16", "float"]: + key_cache.uniform_(-scale, scale) + elif cache_dtype == 'fp8': + _generate_random_fp8(key_cache, -scale, scale) + else: + raise ValueError( + f"Does not support key cache of type {cache_dtype}") + key_caches.append(key_cache) + + value_cache_shape = (num_blocks, num_heads, head_size, block_size) + value_caches: List[torch.Tensor] = [] + for _ in range(num_layers): + value_cache = torch.empty(size=value_cache_shape, + dtype=torch_dtype, + device=device) + if cache_dtype in ["auto", "half", "bfloat16", "float"]: + value_cache.uniform_(-scale, scale) + elif cache_dtype == 'fp8': + _generate_random_fp8(value_cache, -scale, scale) + else: + raise ValueError( + f"Does not support value cache of type {cache_dtype}") + value_caches.append(value_cache) + return key_caches, value_caches + + +@lru_cache +def print_warning_once(msg: str) -> None: + # Set the stacklevel to 2 to print the caller's line info + logger.warning(msg, stacklevel=2) + + +@lru_cache(maxsize=None) +def is_pin_memory_available() -> bool: + + if in_wsl(): + # Pinning memory in WSL is not supported. + # https://docs.nvidia.com/cuda/wsl-user-guide/index.html#known-limitations-for-linux-cuda-applications + print_warning_once("Using 'pin_memory=False' as WSL is detected. " + "This may slow down the performance.") + return False + elif is_xpu(): + print_warning_once("Pin memory is not supported on XPU.") + return False + elif is_neuron(): + print_warning_once("Pin memory is not supported on Neuron.") + return False + elif is_cpu() or is_openvino(): + return False + return True + + +class DeviceMemoryProfiler: + + def __init__(self, device: Optional[torch.types.Device] = None): + self.device = device + + def current_memory_usage(self) -> float: + # Return the memory usage in bytes. + if current_platform.is_cuda_alike(): + torch.cuda.reset_peak_memory_stats(self.device) + mem = torch.cuda.max_memory_allocated(self.device) + elif is_xpu(): + torch.xpu.reset_peak_memory_stats(self.device) # type: ignore + mem = torch.xpu.max_memory_allocated(self.device) # type: ignore + return mem + + def __enter__(self): + self.initial_memory = self.current_memory_usage() + # This allows us to call methods of the context manager if needed + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.final_memory = self.current_memory_usage() + self.consumed_memory = self.final_memory - self.initial_memory + + # Force garbage collection + gc.collect() + + +def make_ndarray_with_pad( + x: List[List[T]], + pad: T, + dtype: npt.DTypeLike, + *, + max_len: Optional[int] = None, +) -> npt.NDArray: + """ + Make a padded array from 2D inputs. + + The padding is applied to the end of each inner list until it reaches + `max_len`. + """ + if max_len is None: + # Unlike for most functions, map is faster than a genexpr over `len` + max_len = max(map(len, x), default=0) + + padded_x = np.full((len(x), max_len), pad, dtype=dtype) + for ind, blocktb in enumerate(x): + assert len(blocktb) <= max_len + padded_x[ind, :len(blocktb)] = blocktb + + return padded_x + + +def make_tensor_with_pad( + x: List[List[T]], + pad: T, + dtype: torch.dtype, + *, + max_len: Optional[int] = None, + device: Optional[Union[str, torch.device]] = None, + pin_memory: bool = False, +) -> torch.Tensor: + """ + Make a padded tensor from 2D inputs. + + The padding is applied to the end of each inner list until it reaches + `max_len`. + """ + np_dtype = TORCH_DTYPE_TO_NUMPY_DTYPE[dtype] + padded_x = make_ndarray_with_pad(x, pad, np_dtype, max_len=max_len) + + tensor = torch.from_numpy(padded_x).to(device) + if pin_memory: + tensor = tensor.pin_memory() + + return tensor + + +def async_tensor_h2d( + data: list, + dtype: torch.dtype, + target_device: Union[str, torch.device], + pin_memory: bool, +) -> torch.Tensor: + """Asynchronously create a tensor and copy it from host to device.""" + t = torch.tensor(data, dtype=dtype, pin_memory=pin_memory, device="cpu") + return t.to(device=target_device, non_blocking=True) + + +def get_dtype_size(dtype: torch.dtype) -> int: + """Get the size of the data type in bytes.""" + return torch.tensor([], dtype=dtype).element_size() + + +# `collections` helpers +def is_list_of( + value: object, + typ: Type[T], + *, + check: Literal["first", "all"] = "first", +) -> TypeIs[List[T]]: + if not isinstance(value, list): + return False + + if check == "first": + return len(value) == 0 or isinstance(value[0], typ) + elif check == "all": + return all(isinstance(v, typ) for v in value) + + assert_never(check) + + +JSONTree = Union[Dict[str, "JSONTree[T]"], List["JSONTree[T]"], + Tuple["JSONTree[T]", ...], T] +"""A nested JSON structure where the leaves need not be JSON-serializable.""" + + +@overload +def json_map_leaves( + func: Callable[[T], U], + value: Dict[str, JSONTree[T]], +) -> Dict[str, JSONTree[U]]: + ... + + +@overload +def json_map_leaves( + func: Callable[[T], U], + value: List[JSONTree[T]], +) -> List[JSONTree[U]]: + ... + + +@overload +def json_map_leaves( + func: Callable[[T], U], + value: Tuple[JSONTree[T], ...], +) -> Tuple[JSONTree[U], ...]: + ... + + +@overload +def json_map_leaves( + func: Callable[[T], U], + value: JSONTree[T], +) -> JSONTree[U]: + ... + + +def json_map_leaves(func: Callable[[T], U], value: JSONTree[T]) -> JSONTree[U]: + if isinstance(value, dict): + return {k: json_map_leaves(func, v) for k, v in value.items()} + elif isinstance(value, list): + return [json_map_leaves(func, v) for v in value] + elif isinstance(value, tuple): + return tuple(json_map_leaves(func, v) for v in value) + else: + return func(value) + + +def flatten_2d_lists(lists: List[List[T]]) -> List[T]: + """Flatten a list of lists to a single list.""" + return [item for sublist in lists for item in sublist] + + +def init_cached_hf_modules() -> None: + """ + Lazy initialization of the Hugging Face modules. + """ + from transformers.dynamic_module_utils import init_hf_modules + init_hf_modules() + + +@lru_cache(maxsize=None) +def find_library(lib_name: str) -> str: + """ + Find the library file in the system. + `lib_name` is full filename, with both prefix and suffix. + This function resolves `lib_name` to the full path of the library. + """ + # Adapted from https://github.com/openai/triton/blob/main/third_party/nvidia/backend/driver.py#L19 # noqa + # According to https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard + # `/sbin/ldconfig` should exist in all Linux systems. + # `/sbin/ldconfig` searches the library in the system + libs = subprocess.check_output(["/sbin/ldconfig", "-p"]).decode() + # each line looks like the following: + # libcuda.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcuda.so.1 + locs = [line.split()[-1] for line in libs.splitlines() if lib_name in line] + # `LD_LIBRARY_PATH` searches the library in the user-defined paths + env_ld_library_path = envs.LD_LIBRARY_PATH + if not locs and env_ld_library_path: + locs = [ + os.path.join(dir, lib_name) + for dir in env_ld_library_path.split(":") + if os.path.exists(os.path.join(dir, lib_name)) + ] + if not locs: + raise ValueError(f"Cannot find {lib_name} in the system.") + return locs[0] + + +def find_nccl_library() -> str: + """ + We either use the library file specified by the `VLLM_NCCL_SO_PATH` + environment variable, or we find the library file brought by PyTorch. + After importing `torch`, `libnccl.so.2` or `librccl.so.1` can be + found by `ctypes` automatically. + """ + so_file = envs.VLLM_NCCL_SO_PATH + + # manually load the nccl library + if so_file: + logger.info( + "Found nccl from environment variable VLLM_NCCL_SO_PATH=%s", + so_file) + else: + if torch.version.cuda is not None: + so_file = "libnccl.so.2" + elif torch.version.hip is not None: + so_file = "librccl.so.1" + else: + raise ValueError("NCCL only supports CUDA and ROCm backends.") + logger.info("Found nccl from library %s", so_file) + return so_file + + +def enable_trace_function_call_for_thread() -> None: + """Set up function tracing for the current thread, + if enabled via the VLLM_TRACE_FUNCTION environment variable + """ + + if envs.VLLM_TRACE_FUNCTION: + tmp_dir = tempfile.gettempdir() + filename = (f"VLLM_TRACE_FUNCTION_for_process_{os.getpid()}" + f"_thread_{threading.get_ident()}_" + f"at_{datetime.datetime.now()}.log").replace(" ", "_") + log_path = os.path.join(tmp_dir, "vllm", get_vllm_instance_id(), + filename) + os.makedirs(os.path.dirname(log_path), exist_ok=True) + enable_trace_function_call(log_path) + + +# `functools` helpers +def identity(value: T) -> T: + return value + + +F = TypeVar('F', bound=Callable[..., Any]) + + +def deprecate_kwargs( + *kws: str, + is_deprecated: Union[bool, Callable[[], bool]] = True, + additional_message: Optional[str] = None) -> Callable[[F], F]: + deprecated_kws = set(kws) + + if not callable(is_deprecated): + is_deprecated = partial(identity, is_deprecated) + + def wrapper(fn: F) -> F: + + @wraps(fn) + def inner(*args, **kwargs): + if is_deprecated(): + deprecated_kwargs = kwargs.keys() & deprecated_kws + if deprecated_kwargs: + msg = ( + f"The keyword arguments {deprecated_kwargs} are " + "deprecated and will be removed in a future update.") + if additional_message is not None: + msg += f" {additional_message}" + + warnings.warn( + DeprecationWarning(msg), + stacklevel=3, # The inner function takes up one level + ) + + return fn(*args, **kwargs) + + return inner # type: ignore + + return wrapper + + +@lru_cache(maxsize=8) +def _cuda_device_count_stateless( + cuda_visible_devices: Optional[str] = None) -> int: + # Note: cuda_visible_devices is not used, but we keep it as an argument for + # LRU Cache purposes. + + # Code below is based on + # https://github.com/pytorch/pytorch/blob/ + # c1cd946818442aca8c7f812b16d187ce1586c3bc/ + # torch/cuda/__init__.py#L831C1-L831C17 + import torch.cuda + import torch.version + + if not torch.cuda._is_compiled(): + return 0 + if is_hip(): + # ROCm uses amdsmi instead of nvml for stateless device count + # This requires a sufficiently modern version of Torch 2.4.0 + raw_count = torch.cuda._device_count_amdsmi() if (hasattr( + torch.cuda, "_device_count_amdsmi")) else -1 + else: + raw_count = torch.cuda._device_count_nvml() + r = torch._C._cuda_getDeviceCount() if raw_count < 0 else raw_count + return r + + +def cuda_device_count_stateless() -> int: + """Get number of CUDA devices, caching based on the value of + CUDA_VISIBLE_DEVICES at the time of call. + + This should be used instead of torch.cuda.device_count() + unless CUDA_VISIBLE_DEVICES has already been set to the desired + value.""" + + # This can be removed and simply replaced with torch.cuda.get_device_count + # after https://github.com/pytorch/pytorch/pull/122815 is released. + return _cuda_device_count_stateless(envs.CUDA_VISIBLE_DEVICES) + + +def cuda_is_initialized() -> bool: + """Check if CUDA is initialized.""" + if not torch.cuda._is_compiled(): + return False + return torch.cuda.is_initialized() + + +def weak_bind(bound_method: Callable[..., Any], ) -> Callable[..., None]: + """Make an instance method that weakly references + its associated instance and no-ops once that + instance is collected.""" + ref = weakref.ref(bound_method.__self__) # type: ignore[attr-defined] + unbound = bound_method.__func__ # type: ignore[attr-defined] + + def weak_bound(*args, **kwargs) -> None: + if inst := ref(): + unbound(inst, *args, **kwargs) + + return weak_bound + + +#From: https://stackoverflow.com/a/4104188/2749989 +def run_once(f: Callable[P, None]) -> Callable[P, None]: + + def wrapper(*args: P.args, **kwargs: P.kwargs) -> None: + if not wrapper.has_run: # type: ignore[attr-defined] + wrapper.has_run = True # type: ignore[attr-defined] + return f(*args, **kwargs) + + wrapper.has_run = False # type: ignore[attr-defined] + return wrapper + + +class FlexibleArgumentParser(argparse.ArgumentParser): + """ArgumentParser that allows both underscore and dash in names.""" + + def parse_args(self, args=None, namespace=None): + if args is None: + args = sys.argv[1:] + + if '--config' in args: + args = FlexibleArgumentParser._pull_args_from_config(args) + + # Convert underscores to dashes and vice versa in argument names + processed_args = [] + for arg in args: + if arg.startswith('--'): + if '=' in arg: + key, value = arg.split('=', 1) + key = '--' + key[len('--'):].replace('_', '-') + processed_args.append(f'{key}={value}') + else: + processed_args.append('--' + + arg[len('--'):].replace('_', '-')) + else: + processed_args.append(arg) + + return super().parse_args(processed_args, namespace) + + @staticmethod + def _pull_args_from_config(args: List[str]) -> List[str]: + """Method to pull arguments specified in the config file + into the command-line args variable. + + The arguments in config file will be inserted between + the argument list. + + example: + ```yaml + port: 12323 + tensor-parallel-size: 4 + ``` + ```python + $: vllm {serve,chat,complete} "facebook/opt-12B" \ + --config config.yaml -tp 2 + $: args = [ + "serve,chat,complete", + "facebook/opt-12B", + '--config', 'config.yaml', + '-tp', '2' + ] + $: args = [ + "serve,chat,complete", + "facebook/opt-12B", + '--port', '12323', + '--tensor-parallel-size', '4', + '-tp', '2' + ] + ``` + + Please note how the config args are inserted after the sub command. + this way the order of priorities is maintained when these are args + parsed by super(). + """ + assert args.count( + '--config') <= 1, "More than one config file specified!" + + index = args.index('--config') + if index == len(args) - 1: + raise ValueError("No config file specified! \ + Please check your command-line arguments.") + + file_path = args[index + 1] + + config_args = FlexibleArgumentParser._load_config_file(file_path) + + # 0th index is for {serve,chat,complete} + # followed by model_tag (only for serve) + # followed by config args + # followed by rest of cli args. + # maintaining this order will enforce the precedence + # of cli > config > defaults + if args[0] == "serve": + if index == 1: + raise ValueError( + "No model_tag specified! Please check your command-line" + " arguments.") + args = [args[0]] + [ + args[1] + ] + config_args + args[2:index] + args[index + 2:] + else: + args = [args[0]] + config_args + args[1:index] + args[index + 2:] + + return args + + @staticmethod + def _load_config_file(file_path: str) -> List[str]: + """Loads a yaml file and returns the key value pairs as a + flattened list with argparse like pattern + ```yaml + port: 12323 + tensor-parallel-size: 4 + ``` + returns: + processed_args: list[str] = [ + '--port': '12323', + '--tensor-parallel-size': '4' + ] + + """ + + extension: str = file_path.split('.')[-1] + if extension not in ('yaml', 'yml'): + raise ValueError( + "Config file must be of a yaml/yml type.\ + %s supplied", extension) + + # only expecting a flat dictionary of atomic types + processed_args: List[str] = [] + + config: Dict[str, Union[int, str]] = {} + try: + with open(file_path, 'r') as config_file: + config = yaml.safe_load(config_file) + except Exception as ex: + logger.error( + "Unable to read the config file at %s. \ + Make sure path is correct", file_path) + raise ex + + for key, value in config.items(): + processed_args.append('--' + key) + processed_args.append(str(value)) + + return processed_args + + +async def _run_task_with_lock(task: Callable, lock: asyncio.Lock, *args, + **kwargs): + """Utility function to run async task in a lock""" + async with lock: + return await task(*args, **kwargs) + + +def supports_kw( + callable: Callable[..., object], + kw_name: str, + requires_kw_only: bool = False, + allow_var_kwargs: bool = True, +) -> bool: + """Check if a keyword is a valid kwarg for a callable; if requires_kw_only + disallows kwargs names that can also be positional arguments. + """ + params = inspect.signature(callable).parameters + if not params: + return False + + param_val = params.get(kw_name) + + # Types where the it may be valid, i.e., explicitly defined & nonvariadic + passable_kw_types = set((inspect.Parameter.POSITIONAL_ONLY, + inspect.Parameter.POSITIONAL_OR_KEYWORD, + inspect.Parameter.KEYWORD_ONLY)) + + if param_val: + is_sig_param = param_val.kind in passable_kw_types + # We want kwargs only, but this is passable as a positional arg + if (requires_kw_only and is_sig_param + and param_val.kind != inspect.Parameter.KEYWORD_ONLY): + return False + if ((requires_kw_only + and param_val.kind == inspect.Parameter.KEYWORD_ONLY) + or (not requires_kw_only and is_sig_param)): + return True + + # If we're okay with var-kwargs, it's supported as long as + # the kw_name isn't something like *args, **kwargs + if allow_var_kwargs: + # Get the last param; type is ignored here because params is a proxy + # mapping, but it wraps an ordered dict, and they appear in order. + # Ref: https://docs.python.org/3/library/inspect.html#inspect.Signature.parameters + last_param = params[next(reversed(params))] # type: ignore + return (last_param.kind == inspect.Parameter.VAR_KEYWORD + and last_param.name != kw_name) + return False + + +def resolve_mm_processor_kwargs( + init_kwargs: Optional[Dict[str, Any]], + inference_kwargs: Optional[Dict[str, Any]], + callable: Callable[..., object], + allow_var_kwargs: bool = False, +) -> Dict[str, Any]: + """Applies filtering to eliminate invalid mm_processor_kwargs, i.e., + those who are not explicit keywords to the given callable (of one is + given; otherwise no filtering is done), then merges the kwarg dicts, + giving priority to inference_kwargs if there are any collisions. + + In the case that no kwarg overrides are provided, returns an empty + dict so that it can still be kwarg expanded into the callable later on. + + If allow_var_kwargs=True, allows for things that can be expanded into + kwargs as long as they aren't naming collision for var_kwargs or potential + positional arguments. + """ + # Filter inference time multimodal processor kwargs provided + runtime_mm_kwargs = get_allowed_kwarg_only_overrides( + callable, + overrides=inference_kwargs, + allow_var_kwargs=allow_var_kwargs) + + # Filter init time multimodal processor kwargs provided + init_mm_kwargs = get_allowed_kwarg_only_overrides( + callable, overrides=init_kwargs, allow_var_kwargs=allow_var_kwargs) + + # Merge the final processor kwargs, prioritizing inference + # time values over the initialization time values. + mm_processor_kwargs = {**init_mm_kwargs, **runtime_mm_kwargs} + return mm_processor_kwargs + + +def get_allowed_kwarg_only_overrides( + callable: Callable[..., object], + overrides: Optional[Dict[str, Any]], + allow_var_kwargs: bool = False, +) -> Dict[str, Any]: + """ + Given a callable which has one or more keyword only params and a dict + mapping param names to values, drop values that can be not be kwarg + expanded to overwrite one or more keyword-only args. This is used in a + few places to handle custom processor overrides for multimodal models, + e.g., for profiling when processor options provided by the user + may affect the number of mm tokens per instance. + + Args: + callable: Callable which takes 0 or more keyword only arguments. + If None is provided, all overrides names are allowed. + overrides: Potential overrides to be used when invoking the callable. + allow_var_kwargs: Allows overrides that are expandable for var kwargs. + + Returns: + Dictionary containing the kwargs to be leveraged which may be used + to overwrite one or more keyword only arguments when invoking the + callable. + """ + if not overrides: + return {} + + # Drop any mm_processor_kwargs provided by the user that + # are not kwargs, unless it can fit it var_kwargs param + filtered_overrides = { + kwarg_name: val + for kwarg_name, val in overrides.items() + if supports_kw(callable, + kwarg_name, + requires_kw_only=True, + allow_var_kwargs=allow_var_kwargs) + } + + # If anything is dropped, log a warning + dropped_keys = overrides.keys() - filtered_overrides.keys() + if dropped_keys: + logger.warning( + "The following intended overrides are not keyword-only args " + "and and will be dropped: %s", dropped_keys) + + return filtered_overrides + + +# Using dynamo with vLLM doesn't really work well with PyTorch versions < 2.4.0. +# In particular, the FakeScalarType is not supported for earlier versions of +# PyTorch which breaks dynamo for any ops registered using ScalarType. +def supports_dynamo() -> bool: + base_torch_version = Version(Version(torch.__version__).base_version) + return base_torch_version >= Version("2.4.0") + + +# Some backends use pytorch version < 2.4.0 which doesn't +# support `torch.library.custom_op`. +def supports_custom_op() -> bool: + return hasattr(torch.library, "custom_op") + + +class AtomicCounter: + """An atomic, thread-safe counter""" + + def __init__(self, initial=0): + """Initialize a new atomic counter to given initial value""" + self._value = initial + self._lock = threading.Lock() + + def inc(self, num=1): + """Atomically increment the counter by num and return the new value""" + with self._lock: + self._value += num + return self._value + + def dec(self, num=1): + """Atomically decrement the counter by num and return the new value""" + with self._lock: + self._value -= num + return self._value + + @property + def value(self): + return self._value diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py index 89aa0b21d..c1d7ad086 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py @@ -98,10 +98,11 @@ def rename_cpp_to_cu(pth): ret=[] dst=pth.replace('csrc','build') for entry in os.listdir(pth): + newName=entry if entry.endswith(".cpp") or entry.endswith(".cu"): newName=entry.replace(".cpp", ".cu") - shutil.copy(f'{pth}/{entry}', f'{dst}/{newName}') ret.append(f'{dst}/{newName}') + shutil.copy(f'{pth}/{entry}', f'{dst}/{newName}') return ret @@ -159,6 +160,7 @@ def validate_and_update_archs(archs): "-DUSE_PROF_API=1", "-D__HIP_PLATFORM_HCC__=1", "-D__HIP_PLATFORM_AMD__=1", + # "-DLEGACY_HIPBLAS_DIRECT", "-U__HIP_NO_HALF_CONVERSIONS__", "-U__HIP_NO_HALF_OPERATORS__" ] @@ -168,7 +170,7 @@ def validate_and_update_archs(archs): } include_dirs = [ - f"{this_dir}/csrc", + f"{this_dir}/build", ] ext_modules.append( From 246420683957b10fd74fa61853ed0438d46b371d Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Tue, 15 Oct 2024 14:27:36 +0800 Subject: [PATCH 30/50] add missing custom_ar code... --- .../rocm_kernels/csrc/custom_all_reduce.cu | 175 ++++++ .../rocm_kernels/csrc/custom_all_reduce.cuh | 534 ++++++++++++++++++ .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 23 + .../ROCM/rocm_kernels/csrc/rocm_ops.cpp | 26 + 4 files changed, 758 insertions(+) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cuh diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cu new file mode 100644 index 000000000..8152cb3d3 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cu @@ -0,0 +1,175 @@ +#include +#include +#include +#include + +#include "custom_all_reduce.cuh" + +// fake pointer type, must match fptr_t type in ops.h +using fptr_t = int64_t; +static_assert(sizeof(void*) == sizeof(fptr_t)); + +fptr_t init_custom_ar(torch::Tensor& meta, torch::Tensor& rank_data, + const std::vector& handles, + const std::vector& offsets, int64_t rank, + bool full_nvlink) { + int world_size = offsets.size(); + if (world_size > 8) + throw std::invalid_argument("world size > 8 is not supported"); + if (world_size % 2 != 0) + throw std::invalid_argument("Odd num gpus is not supported for now"); + if (world_size != handles.size()) + throw std::invalid_argument( + "handles length should equal to offsets length"); + if (rank < 0 || rank >= world_size) + throw std::invalid_argument("invalid rank passed in"); + + cudaIpcMemHandle_t ipc_handles[8]; + for (int i = 0; i < world_size; i++) { + std::memcpy(&ipc_handles[i], handles[i].data(), sizeof(cudaIpcMemHandle_t)); + } + return (fptr_t) new vllm::CustomAllreduce( + reinterpret_cast(meta.data_ptr()), rank_data.data_ptr(), + rank_data.numel(), ipc_handles, offsets, rank, full_nvlink); +} + +/** + * Make sure tensor t's data lies completely within ((char)t.data_ptr()) + + * t.numel() * t.element_size(). This is slightly weaker than t.is_contiguous() + * because it allows transpose of contiguous slice (i.e. slicing the first + * dimension). Currently, we require this because stride information is not + * passed into the kernels and we treat input tensors as flat. + * + * Examples + * A = torch.zeros(3, 3, 3) + * 1. A: OK + * 2. A[1:]: OK + * 3. A.permute(2, 0, 1): OK + * 4. A[1:].permute(2, 0, 1): OK + * 5. A[None].expand(2, -1, -1, -1): Not OK + * 6. A[:, 1:, 1:]: Not OK + */ +bool _is_weak_contiguous(torch::Tensor& t) { + return t.is_contiguous() || + (t.storage().nbytes() - t.storage_offset() * t.element_size() == + t.numel() * t.element_size()); +} + +void _all_reduce(fptr_t _fa, torch::Tensor& inp, torch::Tensor& out, + cudaStream_t stream) { + auto fa = reinterpret_cast(_fa); + TORCH_CHECK(_is_weak_contiguous(out)); + switch (out.scalar_type()) { + case at::ScalarType::Float: { + fa->allreduce(stream, reinterpret_cast(inp.data_ptr()), + reinterpret_cast(out.data_ptr()), + out.numel()); + break; + } + case at::ScalarType::Half: { + fa->allreduce(stream, reinterpret_cast(inp.data_ptr()), + reinterpret_cast(out.data_ptr()), out.numel()); + break; + } +#if (__CUDA_ARCH__ >= 800 || !defined(__CUDA_ARCH__)) + case at::ScalarType::BFloat16: { + fa->allreduce( + stream, reinterpret_cast(inp.data_ptr()), + reinterpret_cast(out.data_ptr()), out.numel()); + break; + } +#endif + default: + throw std::runtime_error( + "custom allreduce only supports float32, float16 and bfloat16"); + } +} + +void all_reduce_reg(fptr_t _fa, torch::Tensor& inp, torch::Tensor& out) { + const at::cuda::OptionalCUDAGuard device_guard(device_of(inp)); + auto stream = c10::cuda::getCurrentCUDAStream().stream(); + TORCH_CHECK_EQ(inp.scalar_type(), out.scalar_type()); + TORCH_CHECK_EQ(inp.numel(), out.numel()); + _all_reduce(_fa, inp, out, stream); +} + +void all_reduce_unreg(fptr_t _fa, torch::Tensor& inp, torch::Tensor& reg_buffer, + torch::Tensor& out) { + const at::cuda::OptionalCUDAGuard device_guard(device_of(inp)); + auto stream = c10::cuda::getCurrentCUDAStream().stream(); + + auto input_size = inp.numel() * inp.element_size(); + TORCH_CHECK_EQ(inp.scalar_type(), out.scalar_type()); + TORCH_CHECK_EQ(inp.numel(), out.numel()); + TORCH_CHECK(input_size <= reg_buffer.numel() * reg_buffer.element_size(), + "registered buffer is too small to contain the input"); + AT_CUDA_CHECK(cudaMemcpyAsync(reg_buffer.data_ptr(), inp.data_ptr(), + input_size, cudaMemcpyDeviceToDevice, stream)); + _all_reduce(_fa, reg_buffer, out, stream); +} + +void dispose(fptr_t _fa) { + auto fa = reinterpret_cast(_fa); + delete fa; +} + +int64_t meta_size() { return sizeof(vllm::Signal); } + +void register_buffer(fptr_t _fa, torch::Tensor& t, + const std::vector& handles, + const std::vector& offsets) { + auto fa = reinterpret_cast(_fa); + fa->register_buffer(handles, offsets, t.data_ptr()); +} + +std::tuple> get_graph_buffer_ipc_meta( + fptr_t _fa) { + auto fa = reinterpret_cast(_fa); + auto [handle_bytes, offsets] = fa->get_graph_buffer_ipc_meta(); + auto options = + torch::TensorOptions().dtype(torch::kUInt8).device(torch::kCPU); + auto handles = + torch::empty({static_cast(handle_bytes.size())}, options); + std::memcpy(handles.data_ptr(), handle_bytes.data(), handle_bytes.size()); + return {handles, std::move(offsets)}; +} + +void register_graph_buffers(fptr_t _fa, const std::vector& handles, + const std::vector>& offsets) { + auto fa = reinterpret_cast(_fa); + fa->register_graph_buffers(handles, offsets); +} + +#ifdef USE_ROCM + +void free_meta_buffer(void* buffer) { CUDACHECK(cudaFree(buffer)); } + +torch::Tensor get_meta_buffer_ipc_handle(torch::Tensor& inp) { + auto options = + torch::TensorOptions().dtype(torch::kUInt8).device(torch::kCPU); + auto data_handle = + torch::empty({static_cast(sizeof(cudaIpcMemHandle_t))}, options); + CUDACHECK(cudaIpcGetMemHandle((cudaIpcMemHandle_t*)data_handle.data_ptr(), + inp.data_ptr())); + return data_handle; +} + +torch::Tensor allocate_meta_buffer(int64_t size) { + auto device_index = c10::cuda::current_device(); + at::DeviceGuard device_guard(at::Device(at::DeviceType::CUDA, device_index)); + void* buffer; + cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed; + auto stream = c10::cuda::getCurrentCUDAStream().stream(); + AT_CUDA_CHECK(cudaThreadExchangeStreamCaptureMode(&mode)); + AT_CUDA_CHECK( + hipExtMallocWithFlags((void**)&buffer, size, hipDeviceMallocUncached)); + AT_CUDA_CHECK(cudaMemsetAsync(buffer, 0, size, stream)); + AT_CUDA_CHECK(cudaStreamSynchronize(stream)); + AT_CUDA_CHECK(cudaThreadExchangeStreamCaptureMode(&mode)); + auto options = torch::TensorOptions() + .dtype(torch::kI8) + .device(torch::kCUDA, device_index); + return torch::from_blob(buffer, {size}, free_meta_buffer, options); +} + +#endif diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cuh new file mode 100644 index 000000000..c640b15a2 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/custom_all_reduce.cuh @@ -0,0 +1,534 @@ +#pragma once + +#include +#ifdef USE_ROCM + #include +typedef __hip_bfloat16 nv_bfloat16; +#else + #include +#endif +#include +#include + +#include +#include +#include +#include +#include + +#define CUDACHECK(cmd) \ + do { \ + cudaError_t e = cmd; \ + if (e != cudaSuccess) { \ + printf("Failed: Cuda error %s:%d '%s'\n", __FILE__, __LINE__, \ + cudaGetErrorString(e)); \ + exit(EXIT_FAILURE); \ + } \ + } while (0) + +namespace vllm { + +constexpr int kMaxBlocks = 64; +// note: we don't want to use atomics for signals because peer atomics are no +// supported on PCIe links +struct Signal { + alignas(128) uint32_t start[kMaxBlocks][8]; + alignas(128) uint32_t end[kMaxBlocks][8]; + alignas(128) uint32_t _flag[kMaxBlocks]; // incremental flags for each rank +}; + +#ifdef USE_ROCM +struct __align__(16) RankData { const void* ptrs[8]; }; +#else +struct __align__(16) RankData { const void* __restrict__ ptrs[8]; }; +#endif + +struct __align__(16) RankSignals { volatile Signal* signals[8]; }; + +// like std::array, but aligned +template +struct __align__(alignof(T) * sz) array_t { + T data[sz]; + using type = T; + static constexpr int size = sz; +}; + +// use packed type to maximize memory efficiency +// goal: generate ld.128 and st.128 instructions +template +struct packed_t { + // the (P)acked type for load/store + using P = array_t; + // the (A)ccumulator type for reduction + using A = array_t; +}; + +#define DINLINE __device__ __forceinline__ + +// scalar cast functions +DINLINE float upcast_s(half val) { return __half2float(val); } + +template +DINLINE T downcast_s(float val); +template <> +DINLINE half downcast_s(float val) { + return __float2half(val); +} + +// scalar add functions +// for some reason when compiling with Pytorch, the + operator for half and +// bfloat is disabled so we call the intrinsics directly +DINLINE half& assign_add(half& a, half b) { + a = __hadd(a, b); + return a; +} +DINLINE float& assign_add(float& a, float b) { return a += b; } + +#if (__CUDA_ARCH__ >= 800 || !defined(__CUDA_ARCH__)) +DINLINE float upcast_s(nv_bfloat16 val) { return __bfloat162float(val); } +template <> +DINLINE nv_bfloat16 downcast_s(float val) { + return __float2bfloat16(val); +} +DINLINE nv_bfloat16& assign_add(nv_bfloat16& a, nv_bfloat16 b) { + a = __hadd(a, b); + return a; +} +#endif + +template +DINLINE array_t& packed_assign_add(array_t& a, array_t b) { +#pragma unroll + for (int i = 0; i < N; i++) { + assign_add(a.data[i], b.data[i]); + } + return a; +} + +template +DINLINE array_t upcast(array_t val) { + if constexpr (std::is_same::value) { + return val; + } else { + array_t out; +#pragma unroll + for (int i = 0; i < N; i++) { + out.data[i] = upcast_s(val.data[i]); + } + return out; + } +} + +template +DINLINE O downcast(array_t val) { + if constexpr (std::is_same::value) { + return val; + } else { + O out; +#pragma unroll + for (int i = 0; i < O::size; i++) { + out.data[i] = downcast_s(val.data[i]); + } + return out; + } +} + +// This function is meant to be used as the first synchronization in the all +// reduce kernel. Thus, it doesn't need to make any visibility guarantees for +// prior memory accesses. Note: volatile writes will not be reordered against +// other volatile writes. +template +DINLINE void start_sync(const RankSignals& sg, volatile Signal* self_sg, + int rank) { +#ifdef USE_ROCM + uint32_t flag = self_sg->_flag[blockIdx.x] + 1; + if (threadIdx.x < ngpus) { + // simultaneously write to the corresponding flag of all ranks. + // Latency = 1 p2p write + __atomic_store_n(&sg.signals[threadIdx.x]->start[blockIdx.x][rank], flag, + __ATOMIC_RELAXED); + // wait until we got true from all ranks + while (__atomic_load_n(&self_sg->start[blockIdx.x][threadIdx.x], + __ATOMIC_RELAXED) < flag); + } + __syncthreads(); + // use one thread to update flag + if (threadIdx.x == 0) self_sg->_flag[blockIdx.x] = flag; +#else + if (threadIdx.x < ngpus) { + // reset flag for next time + self_sg->end[blockIdx.x][threadIdx.x] = 0; + // simultaneously write to the corresponding flag of all ranks. + // Latency = 1 p2p write + sg.signals[threadIdx.x]->start[blockIdx.x][rank] = 1; + // wait until we got true from all ranks + while (!self_sg->start[blockIdx.x][threadIdx.x]); + } + __syncthreads(); +#endif +} + +// This function is meant to be used as the second or the final synchronization +// barrier in the all reduce kernel. If it's the final synchronization barrier, +// we don't need to make any visibility guarantees for prior memory accesses. +template +DINLINE void end_sync(const RankSignals& sg, volatile Signal* self_sg, + int rank) { +#ifdef USE_ROCM + __syncthreads(); + // eliminate the case that prior writes are not visible after signals become + // visible. Note that I did not managed to make this happen through a lot of + // testing. Might be the case that hardware provides stronger guarantee than + // the memory model. + uint32_t flag = self_sg->_flag[blockIdx.x] + 1; + if (threadIdx.x < ngpus) { + // simultaneously write to the corresponding flag of all ranks. + // Latency = 1 p2p write + __atomic_store_n(&sg.signals[threadIdx.x]->end[blockIdx.x][rank], flag, + final_sync ? __ATOMIC_RELAXED : __ATOMIC_RELEASE); + // wait until we got true from all ranks + while (__atomic_load_n(&self_sg->end[blockIdx.x][threadIdx.x], + final_sync ? __ATOMIC_RELAXED : __ATOMIC_ACQUIRE) < + flag); + } + __syncthreads(); + // use one thread to update flag + if (threadIdx.x == 0) self_sg->_flag[blockIdx.x] = flag; +#else + __syncthreads(); + // eliminate the case that prior writes are not visible after signals become + // visible. Note that I did not managed to make this happen through a lot of + // testing. Might be the case that hardware provides stronger guarantee than + // the memory model. + if constexpr (!final_sync) __threadfence_system(); + if (threadIdx.x < ngpus) { + // reset flag for next time + self_sg->start[blockIdx.x][threadIdx.x] = 0; + // simultaneously write to the corresponding flag of all ranks. + // Latency = 1 p2p write + sg.signals[threadIdx.x]->end[blockIdx.x][rank] = 1; + // wait until we got true from all ranks + while (!self_sg->end[blockIdx.x][threadIdx.x]); + } + if constexpr (!final_sync) __syncthreads(); +#endif +} + +template +DINLINE P packed_reduce(const P* ptrs[], int idx) { + A tmp = upcast(ptrs[0][idx]); +#pragma unroll + for (int i = 1; i < ngpus; i++) { + packed_assign_add(tmp, upcast(ptrs[i][idx])); + } + return downcast

(tmp); +} + +template +__global__ void __launch_bounds__(512, 1) + cross_device_reduce_1stage(RankData* _dp, RankSignals sg, + volatile Signal* self_sg, T* __restrict__ result, + int rank, int size) { + using P = typename packed_t::P; + using A = typename packed_t::A; + // note: we don't reorder the address so the accumulation order is the same + // for all ranks, ensuring bitwise identical results + auto dp = *_dp; + start_sync(sg, self_sg, rank); + // do the actual reduction + for (int idx = blockIdx.x * blockDim.x + threadIdx.x; idx < size; + idx += gridDim.x * blockDim.x) { + ((P*)result)[idx] = packed_reduce((const P**)&dp.ptrs[0], idx); + } + end_sync(sg, self_sg, rank); +} + +template +DINLINE P* get_tmp_buf(volatile Signal* sg) { + return (P*)(((Signal*)sg) + 1); +} + +template +__global__ void __launch_bounds__(512, 1) + cross_device_reduce_2stage(RankData* _dp, RankSignals sg, + volatile Signal* self_sg, T* __restrict__ result, + int rank, int size) { + int tid = blockIdx.x * blockDim.x + threadIdx.x; + int stride = gridDim.x * blockDim.x; + using P = typename packed_t::P; + using A = typename packed_t::A; + int part = size / ngpus; + int start = rank * part; + int end = rank == ngpus - 1 ? size : start + part; + int largest_part = part + size % ngpus; + const P* ptrs[ngpus]; + P* tmps[ngpus]; +#pragma unroll + for (int i = 0; i < ngpus; i++) { + int target = (rank + i) % ngpus; + ptrs[i] = (const P*)_dp->ptrs[target]; + tmps[i] = get_tmp_buf

(sg.signals[target]); + } + auto tmp_out = tmps[0]; + start_sync(sg, self_sg, rank); + // stage 1: reduce scatter + for (int idx = start + tid; idx < end; idx += stride) { + tmp_out[idx - start] = packed_reduce(ptrs, idx); + } + end_sync(sg, self_sg, rank); + + // stage 2: allgather. Note: it's important to match the tid between + // the two stages, because visibility across devices is only guaranteed + // between threads that have the same tid. If thread i computes the sum of + // start + i in the first stage, then thread i also gathers start + i from all + // ranks. + for (int idx = tid; idx < largest_part; idx += stride) { +#pragma unroll + for (int i = 0; i < ngpus; i++) { + int gather_from_rank = ((rank + i) % ngpus); + if (gather_from_rank == ngpus - 1 || idx < part) { + int dst_idx = gather_from_rank * part + idx; + ((P*)result)[dst_idx] = tmps[i][idx]; + } + } + } +} + +using IPC_KEY = std::array; +static_assert(sizeof(IPC_KEY) == sizeof(cudaIpcMemHandle_t)); +static_assert(alignof(IPC_KEY) == alignof(cudaIpcMemHandle_t)); + +class CustomAllreduce { + public: + int rank_; + int world_size_; + bool full_nvlink_; + + // below are device pointers + RankSignals sg_; + std::unordered_map buffers_; + Signal* self_sg_; + + // stores the registered device pointers from all ranks + RankData *d_rank_data_base_, *d_rank_data_end_; + std::vector graph_unreg_buffers_; + // a map from IPC handles to opened IPC pointers + std::map ipc_handles_; + + /** + * meta is a pointer to device metadata and temporary buffer for allreduce. + * + * There's a total of sizeof(Signal) of prefix before the actual data, + * so meta + 1 points to actual temporary buffer. + * + * note: this class does not own any device memory. Any required buffers + * are passed in from the constructor + */ + CustomAllreduce(Signal* meta, void* rank_data, size_t rank_data_sz, + const cudaIpcMemHandle_t* handles, + const std::vector& offsets, int rank, + bool full_nvlink = true) + : rank_(rank), + world_size_(offsets.size()), + full_nvlink_(full_nvlink), + self_sg_(meta), + d_rank_data_base_(reinterpret_cast(rank_data)), + d_rank_data_end_(d_rank_data_base_ + rank_data_sz / sizeof(RankData)) { + for (int i = 0; i < world_size_; i++) { + Signal* rank_sg; + if (i != rank_) { + char* handle = open_ipc_handle(&handles[i]); + handle += offsets[i]; + rank_sg = (Signal*)handle; + } else { + rank_sg = self_sg_; + } + sg_.signals[i] = rank_sg; + } + } + + char* open_ipc_handle(const void* ipc_handle) { + auto [it, new_handle] = + ipc_handles_.insert({*((IPC_KEY*)ipc_handle), nullptr}); + if (new_handle) { + char* ipc_ptr; + CUDACHECK(cudaIpcOpenMemHandle((void**)&ipc_ptr, + *((const cudaIpcMemHandle_t*)ipc_handle), + cudaIpcMemLazyEnablePeerAccess)); + it->second = ipc_ptr; + } + return it->second; + } + + std::pair, std::vector> + get_graph_buffer_ipc_meta() { + auto num_buffers = graph_unreg_buffers_.size(); + auto handle_sz = sizeof(cudaIpcMemHandle_t); + std::vector handles(handle_sz * num_buffers, 0); + std::vector offsets(num_buffers); + for (int i = 0; i < num_buffers; i++) { + auto ptr = graph_unreg_buffers_[i]; + void* base_ptr; + // note: must share the base address of each allocation, or we get wrong + // address + if (cuPointerGetAttribute(&base_ptr, +#ifdef USE_ROCM + HIP_POINTER_ATTRIBUTE_RANGE_START_ADDR, +#else + CU_POINTER_ATTRIBUTE_RANGE_START_ADDR, +#endif + (CUdeviceptr)ptr) != CUDA_SUCCESS) + throw std::runtime_error("failed to get pointer attr"); + CUDACHECK(cudaIpcGetMemHandle( + (cudaIpcMemHandle_t*)&handles[i * handle_sz], base_ptr)); + offsets[i] = ((char*)ptr) - ((char*)base_ptr); + } + return std::make_pair(handles, offsets); + } + + void check_rank_data_capacity(size_t num = 1) { + if (d_rank_data_base_ + num > d_rank_data_end_) + throw std::runtime_error( + "Rank data buffer is overflowed by " + + std::to_string(d_rank_data_base_ + num - d_rank_data_end_)); + } + + void register_buffer(const std::vector& handles, + const std::vector& offsets, void* self) { + check_rank_data_capacity(); + RankData data; + for (int i = 0; i < world_size_; i++) { + if (i != rank_) { + char* handle = open_ipc_handle(handles[i].data()); + handle += offsets[i]; + data.ptrs[i] = handle; + } else { + data.ptrs[i] = self; + } + } + auto d_data = d_rank_data_base_++; + CUDACHECK( + cudaMemcpy(d_data, &data, sizeof(RankData), cudaMemcpyHostToDevice)); + buffers_[self] = d_data; + } + + // note: when registering graph buffers, we intentionally choose to not + // deduplicate the addresses. That means if the allocator reuses some + // addresses, they will be registered again. This is to account for the remote + // possibility of different allocation patterns between ranks. For example, + // rank 1 may get the same input address for the second allreduce, but rank 2 + // got a different address. IPC handles have internal reference counting + // mechanism so overhead should be small. + void register_graph_buffers( + const std::vector& handles, + const std::vector>& offsets) { + auto num_buffers = graph_unreg_buffers_.size(); + check_rank_data_capacity(num_buffers); + std::vector rank_data(num_buffers); + for (int i = 0; i < num_buffers; i++) { + auto self_ptr = graph_unreg_buffers_[i]; + auto& rd = rank_data[i]; + for (int j = 0; j < world_size_; j++) { + if (j != rank_) { + char* handle = + open_ipc_handle(&handles[j][i * sizeof(cudaIpcMemHandle_t)]); + handle += offsets[j][i]; + rd.ptrs[j] = handle; + } else { + rd.ptrs[j] = self_ptr; + } + } + } + CUDACHECK(cudaMemcpy(d_rank_data_base_, rank_data.data(), + sizeof(RankData) * num_buffers, + cudaMemcpyHostToDevice)); + d_rank_data_base_ += num_buffers; + graph_unreg_buffers_.clear(); + } + + /** + * This is the result after careful grid search. Using 36 blocks give the best + * or close to the best runtime on the devices I tried: A100, A10, A30, T4, + * V100. You'll notice that NCCL kernels also only take a small amount of SMs. + * Not quite sure the underlying reason, but my guess is that too many SMs + * will cause contention on NVLink bus. + */ + template + void allreduce(cudaStream_t stream, T* input, T* output, int size, + int threads = 512, int block_limit = 36) { + auto d = packed_t::P::size; + if (size % d != 0) + throw std::runtime_error( + "custom allreduce currently requires input length to be multiple " + "of " + + std::to_string(d)); + if (block_limit > kMaxBlocks) + throw std::runtime_error("max supported block limit is " + + std::to_string(kMaxBlocks) + ". Got " + + std::to_string(block_limit)); + + RankData* ptrs; + cudaStreamCaptureStatus status; + CUDACHECK(cudaStreamIsCapturing(stream, &status)); + if (status == cudaStreamCaptureStatusActive) { + ptrs = d_rank_data_base_ + graph_unreg_buffers_.size(); + graph_unreg_buffers_.push_back(input); + } else { + auto it = buffers_.find(input); + if (it == buffers_.end()) + throw std::runtime_error( + "buffer address " + + std::to_string(reinterpret_cast(input)) + + " is not registered!"); + ptrs = it->second; + } + + size /= d; + auto bytes = size * sizeof(typename packed_t::P); + int blocks = std::min(block_limit, (size + threads - 1) / threads); +#define KL(ngpus, name) \ + name<<>>(ptrs, sg_, self_sg_, output, \ + rank_, size); +#define REDUCE_CASE(ngpus) \ + case ngpus: { \ + if (world_size_ == 2) { \ + KL(ngpus, cross_device_reduce_1stage); \ + } else if (full_nvlink_) { \ + if ((world_size_ <= 4 && bytes < 512 * 1024) || \ + (world_size_ <= 8 && bytes < 256 * 1024)) { \ + KL(ngpus, cross_device_reduce_1stage); \ + } else { \ + KL(ngpus, cross_device_reduce_2stage); \ + } \ + } \ + break; \ + } + + switch (world_size_) { + REDUCE_CASE(2) + REDUCE_CASE(4) + REDUCE_CASE(6) + REDUCE_CASE(8) + default: + throw std::runtime_error( + "custom allreduce only supports num gpus in (2,4,6,8). Actual num " + "gpus = " + + std::to_string(world_size_)); + } +#undef REDUCE_CASE +#undef KL + } + + ~CustomAllreduce() { + for (auto [_, ptr] : ipc_handles_) { + CUDACHECK(cudaIpcCloseMemHandle(ptr)); + } + } +}; +/** + * To inspect PTX/SASS, copy paste this header file to compiler explorer and add + a template instantiation: + * template void vllm::CustomAllreduce::allreduce(cudaStream_t, half *, + half *, int, int, int); +*/ +} // namespace vllm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index ad95b0508..d1605a490 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -33,3 +33,26 @@ void batched_rotary_embedding(torch::Tensor &positions, torch::Tensor &query, torch::Tensor &cos_sin_cache_offsets); void moe_sum(torch::Tensor &input, torch::Tensor &output); + +// all reduce +using fptr_t = int64_t; +fptr_t init_custom_ar(torch::Tensor &meta, torch::Tensor &rank_data, + const std::vector &handles, + const std::vector &offsets, int64_t rank, + bool full_nvlink); +void all_reduce_reg(fptr_t _fa, torch::Tensor &inp, torch::Tensor &out); +void all_reduce_unreg(fptr_t _fa, torch::Tensor &inp, torch::Tensor ®_buffer, + torch::Tensor &out); +void dispose(fptr_t _fa); +int64_t meta_size(); +void register_buffer(fptr_t _fa, torch::Tensor &t, + const std::vector &handles, + const std::vector &offsets); +std::tuple> get_graph_buffer_ipc_meta( + fptr_t _fa); +void register_graph_buffers(fptr_t _fa, const std::vector &handles, + const std::vector> &offsets); +#ifdef USE_ROCM +torch::Tensor allocate_meta_buffer(int64_t size); +torch::Tensor get_meta_buffer_ipc_handle(torch::Tensor &inp); +#endif \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp index ce7ee3da6..bf8d3ba0b 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp @@ -76,4 +76,30 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def("convert_fp8", &convert_fp8, "convert_fp8(Tensor! dst_cache, Tensor src_cache, float scale, " "str kv_cache_dtype) -> ()"); + + // Custom all-reduce kernels + m.def("init_custom_ar", &init_custom_ar, + "init_custom_ar(Tensor meta, Tensor rank_data, " + "str[] handles, int[] offsets, int rank, " + "bool full_nvlink) -> int"); + + m.def("all_reduce_reg", &all_reduce_reg, "all_reduce_reg(int fa, Tensor inp, Tensor! out) -> ()"); + + m.def("all_reduce_unreg", &all_reduce_unreg, + "all_reduce_unreg(int fa, Tensor inp, Tensor reg_buffer, Tensor! out) -> " + "()"); + + m.def("dispose", &dispose); + m.def("meta_size", &meta_size); + + m.def("register_buffer", ®ister_buffer, + "register_buffer(int fa, Tensor t, str[] handles, " + "int[] offsets) -> ()"); + + m.def("get_graph_buffer_ipc_meta", &get_graph_buffer_ipc_meta); + m.def("register_graph_buffers", ®ister_graph_buffers); +#ifdef USE_ROCM + m.def("allocate_meta_buffer", &allocate_meta_buffer); + m.def("get_meta_buffer_ipc_handle", &get_meta_buffer_ipc_handle); +#endif } From 8818c04774db16b304b165473c5125dd4ee1b87d Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Tue, 15 Oct 2024 23:13:57 +0800 Subject: [PATCH 31/50] remove runtime cpu2gpu copy --- .../llm_perf/backends/ROCM/gpu_inferencer.py | 131 ++++++++++++ .../llm_perf/backends/ROCM/gpu_mp_engine.py | 200 ++++++++++++++++++ .../ROCM/model_impl/modeling_mixtral.py | 18 +- .../backends/ROCM/model_impl/rocm_mixtral.py | 4 +- .../ROCM/rocm_kernels/dist/parallel_state.py | 1 - .../llm_perf/backends/ROCM/setup.py | 4 +- 6 files changed, 343 insertions(+), 15 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/gpu_inferencer.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/gpu_inferencer.py b/byte_infer_perf/llm_perf/backends/ROCM/gpu_inferencer.py new file mode 100644 index 000000000..a7220c452 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/gpu_inferencer.py @@ -0,0 +1,131 @@ +import os +from typing import Dict, List, Any +from dataclasses import dataclass + +from llm_perf.core.generation import GenerateRequest +from llm_perf.core.inferencer import CoreInferencer +from llm_perf.backends.ROCM.gpu_mp_engine import GpuMpEngine +from llm_perf.utils.logger import logger + +class GpuInferencer(CoreInferencer): + def __init__(self, model_impl, xpu_cfg): + super().__init__() + + self.tp_size = xpu_cfg["tp_size"] + self.pad_token_id = xpu_cfg["pad_token_id"] + self.max_batch_size = xpu_cfg["max_batch_size"] + self.mp_engine = GpuMpEngine(self.tp_size, model_impl, xpu_cfg) + + def prepare_inputs( + self, + tasks: List[CoreInferencer.Task], + **kwargs + ): + input_dict = { + "input_ids": None, + "position_ids": None, + "attention_mask": None, + "all_q_len": None, + "all_kv_len": None, + "is_context": None, + "valid_slot_ids": None + } + + is_context = kwargs.get("is_context") if "is_context" in kwargs.keys() else False + valid_slot_ids = kwargs.get("valid_slot_ids") if "valid_slot_ids" in kwargs.keys() else [i for i in range(self.max_batch_size)] + + + get_input_logits = False + for task in tasks: + if task.request.generate_config.get_input_logits: + get_input_logits = True + break + + input_dict["is_context"] = is_context + input_dict["valid_slot_ids"] = valid_slot_ids + input_dict["get_input_logits"] = get_input_logits + + if is_context: + q_len = len(tasks[0].request.input_ids) + kv_len = len(tasks[0].request.input_ids) + + input_dict["input_ids"] = [ + tasks[0].request.input_ids + ] + input_dict["position_ids"] = [ + [i for i in range(q_len)] + ] + input_dict["attention_mask"] = [ + [1 for _ in range(q_len)] + ] + input_dict["all_q_len"] = [ + q_len + ] + input_dict["all_kv_len"] = [ + kv_len + ] + else: + all_input_ids = [] + all_position_ids = [] + all_attention_mask = [] + all_q_len = [] + all_kv_len = [] + + for task in tasks: + q_len = 1 + kv_len = 0 + + if task is None: + kv_len = 1 + + input_ids = [ + self.pad_token_id + ] + position_ids = [ + 0 + ] + attention_mask = [ + 0 + ] + else: + kv_len = len(task.request.input_ids) + len(task.generate_ids) - 1 + + input_ids = [ + task.generate_ids[-1] + ] + position_ids = [ + kv_len + ] + attention_mask = [ + 1 + ] + all_input_ids.append(input_ids) + all_position_ids.append(position_ids) + all_attention_mask.append(attention_mask) + all_q_len.append(q_len) + all_kv_len.append(kv_len) + + input_dict["input_ids"] = all_input_ids + input_dict["position_ids"] = all_position_ids + input_dict["attention_mask"] = all_attention_mask + input_dict["all_q_len"] = all_q_len + input_dict["all_kv_len"] = all_kv_len + + return input_dict + + + def infer( + self, + tasks: List[CoreInferencer.Task], + **kwargs + ): + input_dict = self.prepare_inputs(tasks, **kwargs) + output_dict = self.mp_engine.mp_forward(input_dict) + + logits = output_dict["logits"] + next_token_logits = logits[:, -1, :].contiguous() + infer_outputs = { + "logits": logits, + "last_logits": next_token_logits + } + return infer_outputs diff --git a/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py b/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py new file mode 100644 index 000000000..2a917d6b7 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py @@ -0,0 +1,200 @@ +import os +import sys +import time +import signal +import pathlib +from multiprocessing import Queue +from typing import List + +import torch +import torch.nn as nn +import torch.distributed as dist + +from llm_perf.core.mp_engine import CoreMpEngine +from llm_perf.utils.logger import logger + + +# context: +# input_ids: [1, s_q] +# attention_mask = [1, s_q] +# full_attention_mask = [1, 1, s_q, s_kv] (sq == s_kv) +def get_context_masks( + input_ids : torch.Tensor, + padding_mask : torch.Tensor +): + # input_ids: [1, q_len] + # padding_mask = [1, q_len] + _, q_len = input_ids.shape + + # [1, q_len, q_len] + full_attention_mask = torch.ones( + 1, q_len, q_len, + device=input_ids.device + ) + full_attention_mask.tril_() + full_attention_mask = full_attention_mask * padding_mask.unsqueeze(1) + full_attention_mask -= padding_mask.unsqueeze(-1) - 1 + full_attention_mask = (full_attention_mask < 0.5).bool() + full_attention_mask.unsqueeze_(1) + return full_attention_mask + + +# decode +# input_ids: [bs, 1] +# attention_mask = [bs, 1] +# full_attention_mask = [bs, 1, 1, s_kv] +def get_decode_masks( + input_ids : torch.Tensor, + all_kv_len: List[int] +): + # input_ids: [batch_size, 1] + # padding_mask: [batch_size, 1 + max_kv_len] + batch_size, q_len = input_ids.shape + max_qkv_len = q_len + max(all_kv_len) + + # # [batch_size, 1, max_qkv_len] + # padding_mask = [] + # for i in range(batch_size): + # cur_qkv_len = q_len + all_kv_len[i] + # mask_per_batch = [1] * cur_qkv_len + [0] * (max_qkv_len - cur_qkv_len) + # padding_mask.append(mask_per_batch) + # full_attention_mask = torch.tensor( + # padding_mask, + # device=input_ids.device + # ).unsqueeze_(1) + # full_attention_mask = (full_attention_mask < 0.5).bool() + # full_attention_mask.unsqueeze_(1) + seq_lens = torch.tensor([1 + y for y in all_kv_len], + dtype=torch.int, device=input_ids.device) + return seq_lens + + + +# basic TP realization mp engine +# 1. main process send all inputs to all subprocesses +# 2. subprocesses process inputs with same logic simultaneously and collaboratively using TP mechanism +# 3. suppose tp = 8, rank 0-7 receive same data, +# computing each part of data, using allreduce or allgather to gather data. +# then rank 0 sends data back to main process +class GpuMpEngine(CoreMpEngine): + def __init__(self, world_size: int, model_impl: nn.Module, xpu_cfg) -> None: + super().__init__(world_size, model_impl, xpu_cfg) + + + def build_inputs(self, forward_inputs): + # list --> torch.Tensor --> cuda + forward_inputs["input_ids"] = torch.tensor( + forward_inputs["input_ids"] + ).cuda() + forward_inputs["position_ids"] = torch.tensor( + forward_inputs["position_ids"] + ).cuda() + forward_inputs["attention_mask"] = torch.tensor( + forward_inputs["attention_mask"] + ).cuda() + + is_context = forward_inputs["is_context"] + if is_context: + forward_inputs["full_attention_mask"] = get_context_masks( + forward_inputs["input_ids"], + forward_inputs["attention_mask"] + ) + else: + forward_inputs["seq_lens_tensor"] = get_decode_masks( + forward_inputs["input_ids"], + forward_inputs["all_kv_len"] + ) + return forward_inputs + + + @torch.no_grad() + def mp_loop_worker( + self, + local_rank: int, + world_size: int, + input_queue: Queue, + output_queue: Queue, + model_impl, + xpu_config + ): + try: + torch.manual_seed(1) + + # set rank and world_size + os.environ["RANK"] = str(local_rank) + os.environ["LOCAL_RANK"] = str(local_rank) + os.environ["WORLD_SIZE"] = str(world_size) + os.environ["LOCAL_WORLD_SIZE"] = str(world_size) + + # create and init model based on model_impl and xpu_config + model = model_impl(xpu_config) + if hasattr(model, 'init_inference'): + model.init_inference() + + def signal_handler(signum, frame): + logger.info(f"rank {local_rank} received signal {signum}, exiting...") + if hasattr(model, 'finalize_inference'): + model.finalize_inference() + sys.exit(0) + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) + + # current rank is ready + output_queue.put("ready", block=True) + logger.info(f"{local_rank}/{world_size} rank is ready") + + # model process loop + while True: + ( + forward_inputs, + ) = input_queue.get(block=True) + + log = forward_inputs.get("log", False) + workspace = forward_inputs.get("workspace", None) + + forward_inputs["log_file"] = None + if log and workspace is not None: + workspace_dir = workspace / f"rank_{local_rank}" + workspace_dir.mkdir(exist_ok=True, parents=True) + forward_inputs["log_file"] = open(workspace_dir / "run.log", "w") + + + inputs_dict = self.build_inputs(forward_inputs) + start_time = time.perf_counter_ns() + + output_dict = model.forward(inputs_dict) + + torch.cuda.synchronize() + end_time = time.perf_counter_ns() + duration_ms = round((end_time - start_time) / 1e6, 3) + output_dict["duration_ms"] = duration_ms + + # TP realization: rank0 send result back to main process + if local_rank == 0: + output_queue.put(output_dict) + + if log and workspace is not None: + forward_inputs["log_file"].close() + + except Exception as e: + logger.exception(f"[BUG] engine _load_and_listen failed, no more requests will be handled. {e}") + output_queue.put(RuntimeError("[BUG] fatal exception in model subprocess")) + + + def mp_forward(self, *args): + # extra args + # workspace: pathlib.Path, where to save files for each rank + # log: bool, whether to save logs to file + # override_hidden_states: bool, whether to override hidden_states + # random_seed: int, random seed for torch.manual_seed + + # send inputs to all subprocesses + for _ in range(self.world_size): + self._input_queues.put(args, block=True) + + # wait for one subprocess send result back to main process + output_dict = self._output_queues.get(block=True) + + return output_dict + diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index 9ebe0bd6e..cadf07546 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -842,16 +842,16 @@ def forward( # f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}" # ) - attention_mask = kwargs.get("full_attention_mask") - - # SDPA with memory-efficient backend is currently (torch==2.1.2) bugged with non-contiguous inputs with custom attn_mask, - # Reference: https://github.com/pytorch/pytorch/issues/112577. - if query_states.device.type == "cuda" and attention_mask is not None: - query_states = query_states.contiguous() - key_states = key_states.contiguous() - value_states = value_states.contiguous() if is_context: + attention_mask = kwargs.get("full_attention_mask") + + # SDPA with memory-efficient backend is currently (torch==2.1.2) bugged with non-contiguous inputs with custom attn_mask, + # Reference: https://github.com/pytorch/pytorch/issues/112577. + if query_states.device.type == "cuda" and attention_mask is not None: + query_states = query_states.contiguous() + key_states = key_states.contiguous() + value_states = value_states.contiguous() attn_output = torch.nn.functional.scaled_dot_product_attention( query_states, key_states, @@ -861,7 +861,7 @@ def forward( ).transpose(1, 2).contiguous() else: query_states = query_states.view(-1, self.num_heads, self.head_dim) - seq_lens = torch.tensor( [x + y for x, y in zip(all_q_len, all_kv_len)], dtype=torch.int, device=query_states.device) + seq_lens = kwargs.get("seq_lens_tensor") attn_output = PagedAttention.forward_decode( query_states, key_cache, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 78ccd1ba8..6facdfffb 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -25,7 +25,7 @@ from ..rocm_kernels.dist.utils import (get_open_port, get_distributed_init_method, get_ip) -setup_logger('info') +# setup_logger('info') class GPUMixtralLoader(GpuCkptLoader): def __init__( @@ -146,14 +146,12 @@ def init_inference(self): if self.mp_size > 1: set_custom_all_reduce(True) - print('init_distributed_environment') init_distributed_environment( world_size=self.mp_size, rank=self.local_rank, distributed_init_method=get_distributed_init_method("127.0.0.1", get_open_port())) # distributed_init_method=get_distributed_init_method(get_ip(), get_open_port())) - print('ensure_model_parallel_initialized') ensure_model_parallel_initialized(self.mp_size, 1) logger.info(f"RANK: {self.local_rank} {self.mp_size} init_process_group...") # dist.init_process_group( diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py index 5bff39382..76b55e3f5 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dist/parallel_state.py @@ -961,7 +961,6 @@ def init_distributed_environment( else: local_rank = rank global _WORLD - print('init_world_group') if _WORLD is None: ranks = list(range(torch.distributed.get_world_size())) _WORLD = init_world_group(ranks, local_rank, backend) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/setup.py index 63eb19e4e..0c9235884 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/setup.py @@ -3,10 +3,10 @@ from typing import Any, Dict from llm_perf.core.scheduler import CoreScheduler -from llm_perf.backends.GPU.gpu_inferencer import GpuInferencer +from llm_perf.backends.ROCM.gpu_inferencer import GpuInferencer from llm_perf.backends.GPU.gpu_sampler import GpuSampler from llm_perf.backends.GPU.gpu_scheduler import GpuScheduler -from llm_perf.backends.GPU.gpu_mp_engine import GpuMpEngine +from llm_perf.backends.ROCM.gpu_mp_engine import GpuMpEngine from llm_perf.backends.GPU.gpu_mp_engine import GpuMpEngineWithGraph from llm_perf.utils.logger import logger import os From 3c836490ddfb456b801077ffa9b0cdbe37f4f9b1 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Wed, 16 Oct 2024 16:41:11 +0800 Subject: [PATCH 32/50] try hipgraph... --- .../llm_perf/backends/ROCM/gpu_mp_engine.py | 98 +++++++++++++++++++ .../ROCM/model_impl/modeling_mixtral.py | 6 +- .../llm_perf/backends/ROCM/setup.py | 2 +- 3 files changed, 103 insertions(+), 3 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py b/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py index 2a917d6b7..9311fe961 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/gpu_mp_engine.py @@ -198,3 +198,101 @@ def mp_forward(self, *args): return output_dict +# ROCM_HIPGRAPH modify +class GpuMpEngineWithGraph(GpuMpEngine): + def __init__(self, world_size: int, model_impl: nn.Module, xpu_cfg) -> None: + super().__init__(world_size, model_impl, xpu_cfg) + logger.info("@@@@@@@@@@ GpuMpEngineWithGraph") + + @torch.no_grad() + def mp_loop_worker( + self, + local_rank: int, + world_size: int, + input_queue: Queue, + output_queue: Queue, + model_impl, + xpu_config + ): + try: + torch.manual_seed(1) + + # set rank and world_size + os.environ["RANK"] = str(local_rank) + os.environ["LOCAL_RANK"] = str(local_rank) + os.environ["WORLD_SIZE"] = str(world_size) + os.environ["LOCAL_WORLD_SIZE"] = str(world_size) + + # create and init model based on model_impl and xpu_config + model = model_impl(xpu_config) + if hasattr(model, 'init_inference'): + model.init_inference() + + def signal_handler(signum, frame): + logger.info(f"rank {local_rank} received signal {signum}, exiting...") + if hasattr(model, 'finalize_inference'): + model.finalize_inference() + sys.exit(0) + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) + + # current rank is ready + output_queue.put("ready", block=True) + logger.info(f"{local_rank}/{world_size} rank is ready") + + graph = torch.cuda.CUDAGraph() + + # model process loop + while True: + ( + forward_inputs, + ) = input_queue.get(block=True) + + # this is the capture phase of graph + if 'capture' in forward_inputs: + graph.reset() # reset cuda graph each time + inputs_dict = self.build_inputs(forward_inputs) + + random_seed = inputs_dict.pop("random_seed", 1) + torch.manual_seed(random_seed) + # for i in range(5): + # model.forward(inputs_dict) + torch.cuda.synchronize() + with torch.cuda.graph(graph): + model.forward(inputs_dict) + torch.cuda.synchronize() + continue + + log = forward_inputs.get("log", False) + workspace = forward_inputs.get("workspace", None) + + forward_inputs["log_file"] = None + if log and workspace is not None: + workspace_dir = workspace / f"rank_{local_rank}" + workspace_dir.mkdir(exist_ok=True, parents=True) + forward_inputs["log_file"] = open(workspace_dir / "run.log", "w") + + + inputs_dict = self.build_inputs(forward_inputs) + start_time = time.perf_counter_ns() + + # output_dict = model.forward(inputs_dict) + graph.replay() + + torch.cuda.synchronize() + end_time = time.perf_counter_ns() + duration_ms = round((end_time - start_time) / 1e6, 3) + output_dict = dict() + output_dict["duration_ms"] = duration_ms + + # TP realization: rank0 send result back to main process + if local_rank == 0: + output_queue.put(output_dict) + + if log and workspace is not None: + forward_inputs["log_file"].close() + + except Exception as e: + logger.exception(f"[BUG] engine _load_and_listen failed, no more requests will be handled. {e}") + output_queue.put(RuntimeError("[BUG] fatal exception in model subprocess")) \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index cadf07546..3253bf2cc 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -1249,12 +1249,14 @@ def forward( dtype = position_ids.dtype).unsqueeze(1) kwargs["slot_mapping"] = position_ids + slot_offset if kwargs.pop("override_hidden_states", False): - random_seed = kwargs.pop("random_seed", 1) + random_seed = kwargs.pop("random_seed", None) layer_index = kwargs.pop("fixed_layer_index", -1) layer_index = layer_index % len(self.layers) # create random input ids on cpu and copy to device - torch.manual_seed(random_seed) + if random_seed is not None: + # RuntimeError: Cannot call CUDAGeneratorImpl::set_current_seed during CUDA graph capture. + torch.manual_seed(random_seed) random_input_ids = torch.randint(10, self.vocab_size, input_ids.shape, dtype=torch.int64, device="cpu").to(input_ids.device) hidden_states = self.embed_tokens(random_input_ids) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/setup.py index 0c9235884..58013b889 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/setup.py @@ -7,7 +7,7 @@ from llm_perf.backends.GPU.gpu_sampler import GpuSampler from llm_perf.backends.GPU.gpu_scheduler import GpuScheduler from llm_perf.backends.ROCM.gpu_mp_engine import GpuMpEngine -from llm_perf.backends.GPU.gpu_mp_engine import GpuMpEngineWithGraph +from llm_perf.backends.ROCM.gpu_mp_engine import GpuMpEngineWithGraph from llm_perf.utils.logger import logger import os From 84a95501bf979e42104752525a89bb7a8f60d4d6 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 17 Oct 2024 10:23:52 +0800 Subject: [PATCH 33/50] reduce mem usage for perf test --- .../llm_perf/backends/ROCM/model_impl/rocm_mixtral.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py index 6facdfffb..48ad43bfb 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/rocm_mixtral.py @@ -205,6 +205,9 @@ def init_kvcache(self, dtype): cur_device = self.transformer_model.device + if self.xpu_cfg.get("perf_config", None) is not None: + max_seq_len = min(max_seq_len, + max(self.xpu_cfg["perf_config"]["seq_len_list"])*2) self.block_size = 32 max_num_blocks = 4096 while max_num_blocks * self.block_size < max_seq_len * max_batch_size: From 819000ba5c654bfe0f26d71773de9f9c1fcf2b1f Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 19 Oct 2024 15:28:31 +0800 Subject: [PATCH 34/50] fuse renorm into topk_softmax --- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 3 +- .../rocm_kernels/csrc/topk_softmax_kernels.cu | 42 ++++++++++++++----- .../backends/ROCM/rocm_kernels/fused_moe.py | 5 ++- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index d1605a490..84ef9021f 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -4,7 +4,8 @@ void topk_softmax(torch::Tensor &topk_weights, torch::Tensor &topk_indices, torch::Tensor &token_expert_indices, - torch::Tensor &gating_output); + torch::Tensor &gating_output, + bool need_renorm); void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, int64_t block_size, torch::Tensor sorted_token_ids, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu index 8cc3c34c8..5c716741d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu @@ -184,9 +184,9 @@ __launch_bounds__(TPB) __global__ void moeTopK(const float* inputs_after_softmax */ template -__launch_bounds__(WARPS_PER_CTA* WARP_SIZE) __global__ - void topkGatingSoftmax(const float* input, const bool* finished, float* output, const int num_rows, int* indices, - int* source_rows, const int k, const int start_expert, const int end_expert) +__launch_bounds__(WARPS_PER_CTA *WARP_SIZE) __global__ + void topkGatingSoftmax(const float *input, const bool *finished, float *output, const int num_rows, int *indices, + int *source_rows, const int k, const int start_expert, const int end_expert, const bool need_renorm) { // We begin by enforcing compile time assertions and setting up compile time constants. static_assert(VPT == (VPT & -VPT), "VPT must be power of 2"); @@ -311,6 +311,7 @@ __launch_bounds__(WARPS_PER_CTA* WARP_SIZE) __global__ int start_col = first_elt_read_by_thread; static constexpr int COLS_PER_GROUP_LDG = ELTS_PER_LDG * THREADS_PER_ROW; + float renorm_value = 0.0f; for (int k_idx = 0; k_idx < k; ++k_idx) { // First, each thread does the local argmax @@ -364,6 +365,12 @@ __launch_bounds__(WARPS_PER_CTA* WARP_SIZE) __global__ output[idx] = max_val; indices[idx] = should_process_row ? (expert - start_expert) : NUM_EXPERTS; source_rows[idx] = k_idx * num_rows + thread_row; + + // Accumulate renorm scalar + if (need_renorm) + { + renorm_value += max_val; + } } // Finally, we clear the value in the thread with the current max if there is another iteration to run. @@ -381,6 +388,16 @@ __launch_bounds__(WARPS_PER_CTA* WARP_SIZE) __global__ } } } + + if (need_renorm && thread_group_idx == 0 && renorm_value != 0.f) + { + renorm_value = 1 / renorm_value; + for (int k_idx = 0; k_idx < k; k_idx++) + { + int64_t const idx = k * thread_row + k_idx; + output[idx] *= renorm_value; + } + } } namespace detail @@ -399,8 +416,8 @@ struct TopkConstants } // namespace detail template -void topkGatingSoftmaxLauncherHelper(const float* input, const bool* finished, float* output, int* indices, - int* source_row, const int num_rows, const int k, const int start_expert, const int end_expert, cudaStream_t stream) +void topkGatingSoftmaxLauncherHelper(const float *input, const bool *finished, float *output, int *indices, + int *source_row, const int num_rows, const int k, const int start_expert, const int end_expert, const bool need_renorm, cudaStream_t stream) { static constexpr std::size_t MAX_BYTES_PER_LDG = 16; @@ -413,13 +430,13 @@ void topkGatingSoftmaxLauncherHelper(const float* input, const bool* finished, f dim3 block_dim(WARP_SIZE, WARPS_PER_TB); topkGatingSoftmax<<>>( - input, finished, output, num_rows, indices, source_row, k, start_expert, end_expert); + input, finished, output, num_rows, indices, source_row, k, start_expert, end_expert, need_renorm); } -#define LAUNCH_SOFTMAX(NUM_EXPERTS, WARPS_PER_TB) \ - topkGatingSoftmaxLauncherHelper( \ - gating_output, nullptr, topk_weights, topk_indicies, \ - token_expert_indices, num_tokens, topk, 0, num_experts, \ +#define LAUNCH_SOFTMAX(NUM_EXPERTS, WARPS_PER_TB) \ + topkGatingSoftmaxLauncherHelper( \ + gating_output, nullptr, topk_weights, topk_indicies, \ + token_expert_indices, num_tokens, topk, 0, num_experts, need_renorm, \ stream); void topkGatingSoftmaxKernelLauncher( @@ -431,6 +448,7 @@ void topkGatingSoftmaxKernelLauncher( const int num_tokens, const int num_experts, const int topk, + const bool need_renorm, cudaStream_t stream) { static constexpr int WARPS_PER_TB = 4; switch (num_experts) { @@ -498,7 +516,8 @@ void topk_softmax( torch::Tensor& topk_weights, // [num_tokens, topk] torch::Tensor& topk_indices, // [num_tokens, topk] torch::Tensor& token_expert_indices, // [num_tokens, topk] - torch::Tensor& gating_output) // [num_tokens, num_experts] + torch::Tensor& gating_output, // [num_tokens, num_experts] + bool need_renorm) { const int num_experts = gating_output.size(-1); const int num_tokens = gating_output.numel() / num_experts; @@ -520,6 +539,7 @@ void topk_softmax( num_tokens, num_experts, topk, + need_renorm, stream); } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index 108fb827c..cddfb0d83 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -631,11 +631,12 @@ def fused_topk( topk_ids, token_expert_indicies, gating_output.float(), # TODO(woosuk): Optimize this. + renormalize ) del token_expert_indicies # Not used. Will be used in the future. - if renormalize: - topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + # if renormalize: + # topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) return topk_weights, topk_ids From 1ac69ac7844160ba2f355c5ccb741dcd4591ef57 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Sat, 19 Oct 2024 16:27:25 +0800 Subject: [PATCH 35/50] fuse renorm into topk_softmax........ for other case --- .../rocm_kernels/csrc/topk_softmax_kernels.cu | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu index 5c716741d..29844a1aa 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/topk_softmax_kernels.cu @@ -111,7 +111,7 @@ __launch_bounds__(TPB) __global__ template __launch_bounds__(TPB) __global__ void moeTopK(const float* inputs_after_softmax, const bool* finished, float* output, - int* indices, int* source_rows, const int num_experts, const int k, const int start_expert, const int end_expert) + int* indices, int* source_rows, const int num_experts, const int k, const int start_expert, const int end_expert, const bool need_renorm) { using cub_kvp = cub::KeyValuePair; @@ -124,6 +124,7 @@ __launch_bounds__(TPB) __global__ void moeTopK(const float* inputs_after_softmax const int num_rows = gridDim.x; const int block_row = blockIdx.x; + float renorm_value = 0.0f; const bool row_is_active = finished ? !finished[block_row] : true; const int thread_read_offset = blockIdx.x * num_experts; for (int k_idx = 0; k_idx < k; ++k_idx) @@ -164,9 +165,24 @@ __launch_bounds__(TPB) __global__ void moeTopK(const float* inputs_after_softmax indices[idx] = should_process_row ? (expert - start_expert) : num_experts; assert(indices[idx] >= 0); source_rows[idx] = k_idx * num_rows + block_row; + + if (need_renorm) + { + renorm_value += result_kvp.value; + } } __syncthreads(); } + + if (need_renorm && threadIdx.x == 0 && renorm_value != 0.f) + { + renorm_value = 1 / renorm_value; + for (int k_idx = 0; k_idx < k; k_idx++) + { + int64_t const idx = k * block_row + k_idx; + output[idx] *= renorm_value; + } + } } // ====================== TopK softmax things =============================== @@ -487,7 +503,7 @@ void topkGatingSoftmaxKernelLauncher( gating_output, nullptr, softmax_workspace, num_experts); moeTopK<<>>( softmax_workspace, nullptr, topk_weights, topk_indicies, token_expert_indices, - num_experts, topk, 0, num_experts); + num_experts, topk, 0, num_experts, need_renorm); } } } From 35fac8e3c53f6a0ffd56b6b72b5e88f71723279f Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Mon, 21 Oct 2024 00:03:45 +0800 Subject: [PATCH 36/50] reduce buffer fill --- .../ROCM/model_impl/modeling_mixtral.py | 1 - .../csrc/moe_align_block_size_kernels.cu | 22 +++++++++----- .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 1 + .../backends/ROCM/rocm_kernels/fused_moe.py | 29 +++++++++++++------ 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index 3253bf2cc..af1504b6d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -961,7 +961,6 @@ def forward( # router_logits: (batch * sequence_length, n_experts) router_logits = self.gate(hidden_states) log_file = kwargs.get("log_file", None) - final_hidden_states=hidden_states final_hidden_states = fused_moe(hidden_states, self.w13_weight, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu index 9c9cda9b3..94aec6f3b 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_align_block_size_kernels.cu @@ -23,6 +23,7 @@ template __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, int32_t* sorted_token_ids, int32_t* expert_ids, + int32_t* token_nums, int32_t* total_tokens_post_pad, int32_t num_experts, int32_t block_size, size_t numel) { @@ -67,10 +68,9 @@ __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, for (int i = 1; i <= num_experts; ++i) { cumsum[i] = cumsum[i - 1] + CEILDIV(tokens_cnts[index(num_experts, blockDim.x, i - 1)], - block_size) * - block_size; + block_size); } - *total_tokens_post_pad = cumsum[num_experts]; + *total_tokens_post_pad = cumsum[num_experts] * block_size; } __syncthreads(); @@ -79,9 +79,12 @@ __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, * For each expert, each thread processes the tokens of the corresponding * blocks and stores the corresponding expert_id for each block. */ - for (int i = cumsum[threadIdx.x]; i < cumsum[threadIdx.x + 1]; - i += block_size) { - expert_ids[i / block_size] = threadIdx.x; + auto num = tokens_cnts[index(num_experts, blockDim.x, threadIdx.x)]; + for (int i = cumsum[threadIdx.x]; i < cumsum[threadIdx.x + 1]; i++) + { + expert_ids[i] = threadIdx.x; + token_nums[i] = num; + num-=block_size; } /** @@ -101,7 +104,7 @@ __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, */ int32_t rank_post_pad = tokens_cnts[index(num_experts, threadIdx.x, expert_id)] + - cumsum[expert_id]; + cumsum[expert_id] * block_size; sorted_token_ids[rank_post_pad] = i; ++tokens_cnts[index(num_experts, threadIdx.x, expert_id)]; } @@ -111,7 +114,9 @@ __global__ void moe_align_block_size_kernel(scalar_t* __restrict__ topk_ids, void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, int64_t block_size, torch::Tensor sorted_token_ids, torch::Tensor experts_ids, - torch::Tensor num_tokens_post_pad) { + torch::Tensor token_nums, + torch::Tensor num_tokens_post_pad) +{ const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); VLLM_DISPATCH_INTEGRAL_TYPES( topk_ids.scalar_type(), "moe_align_block_size_kernel", [&] { @@ -128,6 +133,7 @@ void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, kernel<<<1, num_experts, shared_mem, stream>>>( topk_ids.data_ptr(), sorted_token_ids.data_ptr(), experts_ids.data_ptr(), + token_nums.data_ptr(), num_tokens_post_pad.data_ptr(), num_experts, block_size, topk_ids.numel()); }); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 84ef9021f..7dda9135a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -10,6 +10,7 @@ void topk_softmax(torch::Tensor &topk_weights, torch::Tensor &topk_indices, void moe_align_block_size(torch::Tensor topk_ids, int64_t num_experts, int64_t block_size, torch::Tensor sorted_token_ids, torch::Tensor experts_ids, + torch::Tensor token_nums, torch::Tensor num_tokens_post_pad); void silu_and_mul(torch::Tensor &out, torch::Tensor &input); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py index cddfb0d83..470153b14 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe.py @@ -36,6 +36,7 @@ def fused_moe_kernel( topk_weights_ptr, sorted_token_ids_ptr, expert_ids_ptr, + token_nums_ptr, num_tokens_post_padded_ptr, # Matrix dimensions N, @@ -110,12 +111,15 @@ def fused_moe_kernel( # and accumulate # `a_ptrs` is a block of [BLOCK_SIZE_M, BLOCK_SIZE_K] pointers # `b_ptrs` is a block of [BLOCK_SIZE_K, BLOCK_SIZE_N] pointers + block_token_num = tl.load(token_nums_ptr + pid_m) num_tokens_post_padded = tl.load(num_tokens_post_padded_ptr) if pid_m * BLOCK_SIZE_M >= num_tokens_post_padded: return - offs_token_id = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M) - offs_token = tl.load(sorted_token_ids_ptr + offs_token_id) - token_mask = offs_token < num_valid_tokens + blk_m_range = tl.arange(0, BLOCK_SIZE_M) + token_mask = blk_m_range < block_token_num + offs_token_id = pid_m * BLOCK_SIZE_M + blk_m_range + offs_token = tl.load(sorted_token_ids_ptr + offs_token_id, mask=token_mask) + # token_mask = offs_token < num_valid_tokens offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N offs_k = tl.arange(0, BLOCK_SIZE_K) @@ -157,7 +161,7 @@ def fused_moe_kernel( elif use_fp8_w8a8: accumulator = tl.dot(a, b, acc=accumulator) else: - accumulator += tl.dot(a, b) + accumulator = tl.dot(a, b, acc=accumulator) # Advance the ptrs to the next K block. a_ptrs += BLOCK_SIZE_K * stride_ak b_ptrs += BLOCK_SIZE_K * stride_bk @@ -402,17 +406,20 @@ def moe_align_block_size( sorted_ids = torch.empty((max_num_tokens_padded, ), dtype=torch.int32, device=topk_ids.device) - sorted_ids.fill_(topk_ids.numel()) + # sorted_ids.fill_(topk_ids.numel()) max_num_m_blocks = triton.cdiv(max_num_tokens_padded, block_size) - expert_ids = torch.zeros((max_num_m_blocks, ), + expert_ids = torch.empty((max_num_m_blocks, ), + dtype=torch.int32, + device=topk_ids.device) + token_nums = torch.empty((max_num_m_blocks, ), dtype=torch.int32, device=topk_ids.device) num_tokens_post_pad = torch.empty((1), dtype=torch.int32, device=topk_ids.device) moe_kernels.moe_align_block_size(topk_ids, num_experts, block_size, sorted_ids, - expert_ids, num_tokens_post_pad) - return sorted_ids, expert_ids, num_tokens_post_pad + expert_ids, token_nums, num_tokens_post_pad) + return sorted_ids, expert_ids, token_nums, num_tokens_post_pad def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, @@ -421,6 +428,7 @@ def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, topk_weights: torch.Tensor, topk_ids: torch.Tensor, sorted_token_ids: torch.Tensor, expert_ids: torch.Tensor, + token_nums: torch.Tensor, num_tokens_post_padded: torch.Tensor, mul_routed_weight: bool, top_k: int, config: Dict[str, Any], compute_type: tl.dtype, @@ -450,6 +458,7 @@ def invoke_fused_moe_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, topk_weights, sorted_token_ids, expert_ids, + token_nums, num_tokens_post_padded, B.shape[1], B.shape[2] - padding_size, @@ -776,7 +785,7 @@ def fused_experts(hidden_states: torch.Tensor, curr_topk_ids = topk_ids[begin_chunk_idx:end_chunk_idx] curr_topk_weights = topk_weights[begin_chunk_idx:end_chunk_idx] - sorted_token_ids, expert_ids, num_tokens_post_padded = ( + sorted_token_ids, expert_ids, token_nums, num_tokens_post_padded = ( moe_align_block_size(curr_topk_ids, config['BLOCK_SIZE_M'], E)) invoke_fused_moe_kernel(curr_hidden_states, @@ -788,6 +797,7 @@ def fused_experts(hidden_states: torch.Tensor, curr_topk_ids, sorted_token_ids, expert_ids, + token_nums, num_tokens_post_padded, False, topk_ids.shape[1], @@ -807,6 +817,7 @@ def fused_experts(hidden_states: torch.Tensor, curr_topk_ids, sorted_token_ids, expert_ids, + token_nums, num_tokens_post_padded, True, 1, From 0c3fde32bd2702e46127f884fb9c6969e2f07628 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Wed, 23 Oct 2024 13:50:15 +0800 Subject: [PATCH 37/50] add more MoE tuned config --- .../ROCM/model_impl/modeling_mixtral.py | 6 +- ...6,device_name=AMD_Instinct_MI308X_OAM.json | 233 +++++++++++++++++ ...2,device_name=AMD_Instinct_MI308X_OAM.json | 244 ++++++++++++++++++ ...4,device_name=AMD_Instinct_MI308X_OAM.json | 244 ++++++++++++++++++ ...6,device_name=AMD_Instinct_MI308X_OAM.json | 233 +++++++++++++++++ ...8,device_name=AMD_Instinct_MI308X_OAM.json | 233 +++++++++++++++++ ...2,device_name=AMD_Instinct_MI308X_OAM.json | 233 +++++++++++++++++ 7 files changed, 1423 insertions(+), 3 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=14336,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=3584,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=4096,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=7168,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=8192,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py index af1504b6d..7dc4fe29d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/model_impl/modeling_mixtral.py @@ -813,9 +813,6 @@ def forward( # fused rope query_states, key_states = self.rotary_emb_fused(position_ids, query_states, key_states) - query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) - key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) - value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) # # old rope # cos, sin = self.rotary_emb(value_states, seq_len=max_kv_len) # query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) @@ -833,6 +830,9 @@ def forward( "auto", 1.0, 1.0) if is_context: + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) key_states = repeat_kv(key_states, self.num_key_value_groups) value_states = repeat_kv(value_states, self.num_key_value_groups) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=14336,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=14336,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..5945e09ed --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=14336,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,233 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..49413a63b --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=3584,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=3584,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..c237432d5 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=3584,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=4096,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=4096,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..5945e09ed --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=4096,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,233 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=7168,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=7168,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..5945e09ed --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=7168,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,233 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=8192,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=8192,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..28b467d1a --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=8,N=8192,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,233 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} From 33b180870c9d97bc9e36e3b646d631c5721502bc Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Wed, 23 Oct 2024 14:56:31 +0000 Subject: [PATCH 38/50] add moe int8 kernel --- .../ROCM/rocm_kernels/dynamic_quant.py | 78 ++ .../ROCM/rocm_kernels/fused_moe_int8_a8w8.py | 1009 +++++++++++++++++ .../ROCM/rocm_kernels/int8_quant_kernels.cu | 272 +++++ .../ROCM/rocm_kernels/int8_scale_quant.h | 5 + 4 files changed, 1364 insertions(+) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_quant_kernels.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_scale_quant.h diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py new file mode 100644 index 000000000..5a8706257 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py @@ -0,0 +1,78 @@ +import triton +import triton.language as tl + +from triton.triton_utils import compile_and_cache_kernels +#from blade_llm.module.kernel_backend import get_autotune_triton_kernel + + +@triton.jit +def _abs_max(val1, val2): + val1_abs = tl.abs(val1) + val2_abs = tl.abs(val2) + if val1_abs >= val2_abs: + return val1_abs + else: + return val2_abs + + +_dynamic_quant_configs = [ + triton.Config( + {}, + num_warps=warps, + ) + for warps in [2, 4, 8, 16] +] + + +@triton.jit +def _triton_dynamic_quantize_kernel( + output_ptr, + input_ptr, + scale_ptr, + stride_outputm, + stride_outputn, + stride_inputm, + stride_inputn, + n_elements, + N: tl.constexpr, +): + pid = tl.program_id(axis=0) + offsets = tl.arange(0, N) + mask = offsets < n_elements + input_ptrs = input_ptr + pid * stride_inputm + offsets + input_vals = tl.load(input_ptrs, mask=mask, other=1e-6) + abs_max_f = tl.reduce(input_vals, 0, _abs_max) + dynamic_per_token_scale = 127.0 / abs_max_f + precison_mask = tl.where(input_vals > 0, 0.5, -0.5) + output_vals = (input_vals * dynamic_per_token_scale + precison_mask).to(tl.int8) + output_ptrs = output_ptr + pid * stride_outputm + offsets + tl.store(output_ptrs, output_vals, mask=mask) + tl.store(scale_ptr + pid, abs_max_f / 127.0) + + +def triton_dynamic_quantize(out, input, scale): + assert input.is_contiguous(), "input must be contiguous" + num_tokens = input.size(0) + hidden_size = input.size(1) + # tl.reduce requires the number of elements + # must be power-of-two + hidden_size_padded = triton.next_power_of_2(int(hidden_size)) + kwargs = [ + out, + input, + scale, + out.stride(0), + out.stride(1), + input.stride(0), + input.stride(1), + input.size(1), + ] + grid = (num_tokens, 1, 1) + const_kwargs = {"N": hidden_size_padded} + method_name = "dynamic_quant_" + str(hidden_size_padded) + if get_autotune_triton_kernel(): + dynamic_quant = triton.autotune(configs=_dynamic_quant_configs, key=['N'])(_triton_dynamic_quantize_kernel) + else: + dynamic_quant = _triton_dynamic_quantize_kernel + compile_and_cache_kernels(dynamic_quant, method_name, grid, kwargs, const_kwargs) + diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py new file mode 100644 index 000000000..fdb27564c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py @@ -0,0 +1,1009 @@ +"""Fused MoE kernel.""" +import functools +import json +import os +from typing import Any, Callable, Dict, Optional, Tuple + +import torch +import triton +import triton.language as tl + +import rocmKernels as moe_kernels + +import logging +logger = logging.getLogger(__name__) +# logger = init_logger(__name__) +VLLM_MOE_PADDING = bool(int(os.getenv("VLLM_MOE_PADDING", "1"))) +FUSED_MOE_PERSISTENT = bool(int(os.getenv("FUSED_MOE_PERSISTENT", "0"))) +ENABLE_MOE_LDS_BYPASS = bool(int(os.getenv("ENABLE_MOE_LDS_BYPASS", "1"))) +print(f'{FUSED_MOE_PERSISTENT=}, {ENABLE_MOE_LDS_BYPASS=}, {VLLM_MOE_PADDING=}') +VLLM_FUSED_MOE_CHUNK_SIZE = 65536 +#padding_size = 128 if VLLM_MOE_PADDING else 0 +padding_size = 0 + + +@triton.jit +def fused_moe_int8_a8w8_kernel( + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + stride_bse, + stride_bsn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8_w8a8: tl.constexpr, + use_int8_w8a16: tl.constexpr): + """ + Implements the fused computation for a Mixture of Experts (MOE) using + token and expert matrices. + + Key Parameters: + - A: The input tensor representing tokens with shape (*, K), where '*' can + be any shape representing batches and K is the feature dimension of + each token. + - B: The stacked MOE weight tensor with shape (E, N, K), where E is + the number of experts, K is the input feature dimension, and N is + the output feature dimension. + - C: The output cache tensor with shape (M, topk, N), where M is the + total number of tokens post padding, topk is the number of times + each token is repeated, and N is the output feature dimension. + - sorted_token_ids: A tensor containing the sorted indices of tokens, + repeated topk times and arranged by the expert index they are + assigned to. + - expert_ids: A tensor containing the indices of the expert for each + block. It determines which expert matrix from B should be used for + each block in A. + This kernel performs the multiplication of a token by its corresponding + expert matrix as determined by `expert_ids`. The sorting of + `sorted_token_ids` by expert index and padding ensures divisibility by + BLOCK_SIZE_M, which is necessary to maintain consistency in block matrix + multiplication across different blocks processed by the same expert. + """ + # ----------------------------------------------------------- + # Map program ids `pid` to the block of C it should compute. + # This is done in a grouped ordering to promote L2 data reuse. + pid = tl.program_id(axis=0) + num_pid_m = tl.cdiv(EM, BLOCK_SIZE_M) + num_pid_n = tl.cdiv(N, BLOCK_SIZE_N) + num_pid_in_group = GROUP_SIZE_M * num_pid_n + group_id = pid // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((pid % num_pid_in_group) % group_size_m) + pid_n = (pid % num_pid_in_group) // group_size_m + + # ---------------------------------------------------------- + # Create pointers for the first blocks of A and B. + # We will advance this pointer as we move in the K direction + # and accumulate + # `a_ptrs` is a block of [BLOCK_SIZE_M, BLOCK_SIZE_K] pointers + # `b_ptrs` is a block of [BLOCK_SIZE_K, BLOCK_SIZE_N] pointers + num_tokens_post_padded = tl.load(num_tokens_post_padded_ptr) + if pid_m * BLOCK_SIZE_M >= num_tokens_post_padded: + return + offs_token_id = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M) + offs_token = tl.load(sorted_token_ids_ptr + offs_token_id) + token_mask = offs_token < num_valid_tokens + offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) + off_experts = tl.load(expert_ids_ptr + pid_m) + a_scale_ptr = a_scale_ptr + offs_token // top_k + b_scale_ptr = b_scale_ptr + off_experts * stride_bse + offs_cn + _ALPHA0 = tl.zeros([1], dtype=a_scale_ptr.dtype.element_ty) + + offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N + offs_k = tl.arange(0, BLOCK_SIZE_K) + a_ptrs = a_ptr + (offs_token[:, None] // top_k * stride_am + + offs_k[None, :] * stride_ak) + + a_scale = tl.load(a_scale_ptr, mask=token_mask, other=_ALPHA0).to(tl.float32) + b_scale = tl.load(b_scale_ptr, mask=offs_cn < N, other=_ALPHA0).to(tl.float32) + b_ptrs = b_ptr + off_experts * stride_be + (offs_k[:, None] * stride_bk + + offs_bn[None, :] * stride_bn) + + # ----------------------------------------------------------- + # Iterate to compute a block of the C matrix. + # We accumulate into a `[BLOCK_SIZE_M, BLOCK_SIZE_N]` block + # of fp32 values for higher accuracy. + # `accumulator` will be converted back to fp16 after the loop. + accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.int32) + _A0 = tl.zeros([1, 1], dtype=a_ptrs.dtype.element_ty) + _B0 = tl.zeros([1, 1], dtype=b_ptrs.dtype.element_ty) + + for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): + # Load the next block of A and B, generate a mask by checking the + # K dimension. + a = tl.load(a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=_A0) + b = tl.load(b_ptrs, + mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, + other=_B0) + # We accumulate along the K dimension. + accumulator += tl.dot(a, b) + # Advance the ptrs to the next K block. + a_ptrs += BLOCK_SIZE_K * stride_ak + b_ptrs += BLOCK_SIZE_K * stride_bk + + accumulator = accumulator * a_scale[:,None] * b_scale[None,:] + if MUL_ROUTED_WEIGHT: + moe_weight = tl.load(topk_weights_ptr + offs_token, + mask=token_mask, + other=0) + accumulator = accumulator * moe_weight[:, None] + accumulator = accumulator.to(tl.float16) + # ----------------------------------------------------------- + # Write back the block of the output + offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) + c_ptrs = c_ptr + stride_cm * offs_token[:, None] + stride_cn * offs_cn[ + None, :] + c_mask = token_mask[:, None] & (offs_cn[None, :] < N) + tl.store(c_ptrs, accumulator, mask=c_mask) + + +@triton.heuristics({ + 'EVEN_K': lambda args: args['K'] % args['BLOCK_SIZE_K'] == 0, +}) +@triton.jit +def fused_moe_persistent_kernel( + # Pointers to matrices + a_ptr, + b_ptr, + c_ptr, + a_scale_ptr, + b_scale_ptr, + topk_weights_ptr, + sorted_token_ids_ptr, + expert_ids_ptr, + num_tokens_post_padded_ptr, + # Matrix dimensions + N, + K, + EM, + num_valid_tokens, + # The stride variables represent how much to increase the ptr by when + # moving by 1 element in a particular dimension. E.g. `stride_am` is + # how much to increase `a_ptr` by to get the element one row down + # (A has M rows). + stride_am, + stride_ak, + stride_be, + stride_bk, + stride_bn, + stride_cm, + stride_cn, + # Meta-parameters + BLOCK_SIZE_M: tl.constexpr, + BLOCK_SIZE_N: tl.constexpr, + BLOCK_SIZE_K: tl.constexpr, + GROUP_SIZE_M: tl.constexpr, + EVEN_K: tl.constexpr, + NUM_SMS: tl.constexpr, + MUL_ROUTED_WEIGHT: tl.constexpr, + top_k: tl.constexpr, + compute_type: tl.constexpr, + use_fp8: tl.constexpr, +): + """ + Implements the fused computation for a Mixture of Experts (MOE) using + token and expert matrices. + This is the persistent version of the fused_moe kernel. + + Key Parameters: + - A: The input tensor representing tokens with shape (*, K), where '*' can + be any shape representing batches and K is the feature dimension of + each token. + - B: The stacked MOE weight tensor with shape (E, N, K), where E is + the number of experts, K is the input feature dimension, and N is + the output feature dimension. + - C: The output cache tensor with shape (M, topk, N), where M is the + total number of tokens post padding, topk is the number of times + each token is repeated, and N is the output feature dimension. + - sorted_token_ids: A tensor containing the sorted indices of tokens, + repeated topk times and arranged by the expert index they are + assigned to. + - expert_ids: A tensor containing the indices of the expert for each + block. It determines which expert matrix from B should be used for + each block in A. + This kernel performs the multiplication of a token by its corresponding + expert matrix as determined by `expert_ids`. The sorting of + `sorted_token_ids` by expert index and padding ensures divisibility by + BLOCK_SIZE_M, which is necessary to maintain consistency in block matrix + multiplication across different blocks processed by the same expert. + """ + # ----------------------------------------------------------- + # Simply compute how many iterations each persistent block needs to do + start_pid = tl.program_id(axis=0) + num_pid_m = tl.cdiv(EM, BLOCK_SIZE_M) + num_pid_n = tl.cdiv(N, BLOCK_SIZE_N) + # num_tiles = num_pid_m * num_pid_n + tile_id = start_pid + + offs_k = tl.arange(0, BLOCK_SIZE_K) + # offs_token = tl.zeros((BLOCK_SIZE_M,), dtype=tl.int32) + # token_mask = tl.zeros((BLOCK_SIZE_M,), dtype=tl.int1) + + # Load tile-invariant runtime constant + num_tokens_post_padded = tl.load(num_tokens_post_padded_ptr) + + # Compute how many tiles are outside the padding region + num_pid_in_group = GROUP_SIZE_M * num_pid_n + pid_m = 0 + tile_id2 = start_pid - NUM_SMS + num_valid_tiles = -1 + while pid_m * BLOCK_SIZE_M < num_tokens_post_padded: + num_valid_tiles += 1 + tile_id2 += NUM_SMS + group_id = tile_id2 // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((tile_id2 % num_pid_in_group) % group_size_m) + + for _ in range(0, num_valid_tiles): + if GROUP_SIZE_M == 1: + pid_m = tile_id // num_pid_n + pid_n = tile_id % num_pid_n + else: + group_id = tile_id // num_pid_in_group + first_pid_m = group_id * GROUP_SIZE_M + group_size_m = min(num_pid_m - first_pid_m, GROUP_SIZE_M) + pid_m = first_pid_m + ((tile_id % num_pid_in_group) % group_size_m) + pid_n = (tile_id % num_pid_in_group) // group_size_m + # Compute the mask + offs_token_id = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M) + offs_token = tl.load(sorted_token_ids_ptr + offs_token_id) + token_mask = offs_token < num_valid_tokens + # Compute the A pointer + a_ptrs = a_ptr + (offs_token[:, None] // top_k * stride_am + + offs_k[None, :] * stride_ak) + # Compute the B pointer + offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N + off_experts = tl.load(expert_ids_ptr + pid_m) + b_ptrs = (b_ptr + off_experts * stride_be + + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)) + + if use_fp8: + a_scale = tl.load(a_scale_ptr) + b_scale = tl.load(b_scale_ptr + off_experts) + + accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32) + + for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): + # Load the next block of A and B, generate a mask by checking the + # K dimension. + if EVEN_K: + a = tl.load(a_ptrs, mask=token_mask[:, None], other=0.0) + b = tl.load(b_ptrs) + else: + a = tl.load( + a_ptrs, + mask=token_mask[:, None] & + (offs_k[None, :] < K - k * BLOCK_SIZE_K), + other=0.0 + ) + b = tl.load( + b_ptrs, + mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, + other=0.0 + ) + # We accumulate along the K dimension. + if use_fp8: + accumulator = tl.dot(a, b, acc=accumulator) + else: + accumulator += tl.dot(a, b) + # Advance the ptrs to the next K block. + a_ptrs += BLOCK_SIZE_K * stride_ak + b_ptrs += BLOCK_SIZE_K * stride_bk + + if MUL_ROUTED_WEIGHT: + moe_weight = tl.load(topk_weights_ptr + offs_token, + mask=token_mask, + other=0) + accumulator = accumulator * moe_weight[:, None] + + if use_fp8: + accumulator = (accumulator * a_scale * b_scale).to(compute_type) + else: + accumulator = accumulator.to(compute_type) + # ----------------------------------------------------------- + # Write back the block of the output + offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N) + c_ptrs = (c_ptr + stride_cm * offs_token[:, None] + + stride_cn * offs_cn[None, :]) + c_mask = token_mask[:, None] & (offs_cn[None, :] < N) + tl.store(c_ptrs, accumulator, mask=c_mask) + + # advance tile_id + tile_id += NUM_SMS + +def _abs_max(val1, val2): + val1_abs = tl.abs(val1) + val2_abs = tl.abs(val2) + if val1_abs >= val2_abs: + return val1_abs + else: + return val2_abs + + +_dynamic_quant_configs = [ + triton.Config( + {}, + num_warps=warps, + ) + for warps in [2, 4, 8, 16] +] + + +@triton.jit +def _triton_dynamic_quantize_kernel( + output_ptr, + input_ptr, + scale_ptr, + stride_outputm, + stride_outputn, + stride_inputm, + stride_inputn, + n_elements, + N: tl.constexpr, +): + pid = tl.program_id(axis=0) + offsets = tl.arange(0, N) + mask = offsets < n_elements + input_ptrs = input_ptr + pid * stride_inputm + offsets + input_vals = tl.load(input_ptrs, mask=mask, other=1e-6) + abs_max_f = tl.reduce(input_vals, 0, _abs_max) + dynamic_per_token_scale = 127.0 / abs_max_f + precison_mask = tl.where(input_vals > 0, 0.5, -0.5) + output_vals = (input_vals * dynamic_per_token_scale + precison_mask).to(tl.int8) + output_ptrs = output_ptr + pid * stride_outputm + offsets + tl.store(output_ptrs, output_vals, mask=mask) + tl.store(scale_ptr + pid, abs_max_f / 127.0) + +def triton_dynamic_quantize(out, input, scale): + assert input.is_contiguous(), "input must be contiguous" + num_tokens = input.size(0) + hidden_size = input.size(1) + # tl.reduce requires the number of elements + # must be power-of-two + hidden_size_padded = triton.next_power_of_2(int(hidden_size)) + kwargs = [ + out, + input, + scale, + out.stride(0), + out.stride(1), + input.stride(0), + input.stride(1), + input.size(1), + ] + grid = (num_tokens, 1, 1) + const_kwargs = {"N": hidden_size_padded} + method_name = "dynamic_quant_" + str(hidden_size_padded) + if 0: + dynamic_quant = triton.autotune(configs=_dynamic_quant_configs, key=['N'])(_triton_dynamic_quantize_kernel) + else: + dynamic_quant = _triton_dynamic_quantize_kernel + dynamic_quant[grid](*kwargs,**const_kwargs) + +def moe_align_block_size( + topk_ids: torch.Tensor, block_size: int, + num_experts: int) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + """ + Aligns the token distribution across experts to be compatible with block + size for matrix multiplication. + + Parameters: + - topk_ids: A tensor of shape [total_tokens, top_k] representing the + top-k expert indices for each token. + - block_size: The block size used in block matrix multiplication. + - num_experts: The total number of experts. + + Returns: + - sorted_token_ids: A tensor containing the sorted token indices according + to their allocated expert. + - expert_ids: A tensor indicating the assigned expert index for each block. + - num_tokens_post_padded: The total number of tokens after padding, + ensuring divisibility by block_size. + + This function pads the number of tokens that each expert needs to process + so that it is divisible by block_size. + Padding ensures that during block matrix multiplication, the dimensions + align correctly. + + Example: + Given topk_ids = [[2, 3, 4], [1, 2, 4], [1, 3, 4], [1, 2, 3]], + block_size = 4, and num_experts = 4: + - We initially have 12 tokens (after repeating 'top_k' times) and 4 experts, + with each expert needing to process 3 tokens. + - As block_size is 4, we pad 1 token for each expert. + - First, flatten topk_ids to [2, 3, 4, 1, 2, 4, 1, 3, 4, 1, 2, 3]. + - Then append padding tokens [12, 12, 12, 12] for each block. + - After sorting by expert index, we obtain token_ids + [3, 6, 9, 12, 0, 4, 10, 12, 1, 7, 11, 12, 2, 5, 8, 12]. + Tokens 12 are non-existent (padding) and are ignored in + the subsequent matrix multiplication. + - The padding ensures that the total number of tokens is now divisible + by block_size for proper block matrix operations. + """ + #print("BLOCK_SIZE_M in aligh", block_size) + max_num_tokens_padded = topk_ids.numel() + num_experts * (block_size - 1) + sorted_ids = torch.empty((max_num_tokens_padded, ), + dtype=torch.int32, + device=topk_ids.device) + sorted_ids.fill_(topk_ids.numel()) + max_num_m_blocks = triton.cdiv(max_num_tokens_padded, block_size) + expert_ids = torch.zeros((max_num_m_blocks, ), + dtype=torch.int32, + device=topk_ids.device) + num_tokens_post_pad = torch.empty((1), + dtype=torch.int32, + device=topk_ids.device) + moe_kernels.moe_align_block_size(topk_ids, num_experts, block_size, sorted_ids, + expert_ids, num_tokens_post_pad) + return sorted_ids, expert_ids, num_tokens_post_pad + +# int8 +def scaled_int8_quant( + input: torch.Tensor, + scale: Optional[torch.Tensor] = None, + azp: Optional[torch.Tensor] = None, + symmetric: bool = True +) -> Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]]: + """ + Quantize the input tensor to int8 and return the quantized tensor and scale, and maybe azp. + + Args: + input: The input tensor to be quantized to int8. + scale: Optional scaling factor for the int8 quantization. + When not provided, we invoke dynamic-per-token quantization. + azp: Optional zero-point for the int8 quantization. + Must be provided for asymmetric quantization if `scale` is provided. + symmetric: Whether to use symmetric quantization (scale only, azp ignored). + + Returns: + Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]] : Output int8 tensor, scales, and optionally azp. + """ + output = torch.empty_like(input, dtype=torch.int8) +# if scale is not None: +# # static-per-tensor quantization. +# assert symmetric == ( +# azp is +# None), "azp must only be provided for asymmetric quantization." +# torch.ops._C.static_scaled_int8_quant(output, input, scale, azp) +# return output, scale, None + + # dynamic-per-token quantization. + input_scales = torch.empty((input.numel() // input.shape[-1], 1), + device=input.device, + dtype=torch.float32) + input_azp = None if symmetric else torch.empty_like(input_scales, + dtype=torch.int32) + moe_kernels.dynamic_scaled_int8_quant(output, input, input_scales, + input_azp) + return output, input_scales + +def invoke_fused_moe_int8_a8w8_kernel(A: torch.Tensor, B: torch.Tensor, C: torch.Tensor, + A_scale: torch.Tensor, + B_scale: torch.Tensor, + topk_weights: torch.Tensor, topk_ids: torch.Tensor, + sorted_token_ids: torch.Tensor, + expert_ids: torch.Tensor, + num_tokens_post_padded: torch.Tensor, + mul_routed_weight: bool, top_k: int, + config: Dict[str, Any], compute_type: tl.dtype, + use_fp8_w8a8: bool, use_int8_w8a16: bool) -> None: + assert topk_weights.stride(1) == 1 + assert sorted_token_ids.stride(0) == 1 + + assert B_scale is not None + B_scale = B_scale.view(-1, B.shape[1]) + print("llm Bscale shape:",A_scale) + + if not FUSED_MOE_PERSISTENT: + grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ + "BLOCK_SIZE_M"]) * triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]), ) + + fused_moe_int8_a8w8_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + #B.shape[2] - padding_size, + B.shape[2] , + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + B_scale.stride(0), + B_scale.stride(1), + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, + **config, + # enable_moe_lds_bypass=ENABLE_MOE_LDS_BYPASS + ) + else: + NUM_SMS = torch.cuda.get_device_properties("cuda").multi_processor_count * 2 + grid = lambda META: (min( + NUM_SMS, + triton.cdiv(sorted_token_ids.shape[0], META["BLOCK_SIZE_M"]) * + triton.cdiv(B.shape[1], META["BLOCK_SIZE_N"]) + ), ) + + fused_moe_persistent_kernel[grid]( + A, + B, + C, + A_scale, + B_scale, + topk_weights, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + B.shape[1], + B.shape[2] - padding_size, + sorted_token_ids.shape[0], + topk_ids.numel(), + A.stride(0), + A.stride(1), + B.stride(0), + B.stride(2), + B.stride(1), + C.stride(1), + C.stride(2), + NUM_SMS=NUM_SMS, + MUL_ROUTED_WEIGHT=mul_routed_weight, + top_k=top_k, + compute_type=compute_type, + use_fp8=use_fp8_w8a8, + **config, + # enable_moe_lds_bypass=ENABLE_MOE_LDS_BYPASS + ) + + +def get_config_file_name(E: int, N: int, dtype: Optional[str]) -> str: + # device_name = current_platform.get_device_name().replace(" ", "_") + device_name = 'AMD_Instinct_MI308X_OAM' # TODO: need to update + dtype_selector = "" if not dtype else f",dtype={dtype}" + return f"E={E},N={N},device_name={device_name}{dtype_selector}.json" + + +@functools.lru_cache +def get_moe_configs(E: int, N: int, + dtype: Optional[str]) -> Optional[Dict[int, Any]]: + """ + Return optimized configurations for the fused MoE kernel. + + The return value will be a dictionary that maps an irregular grid of + batch sizes to configurations of the fused_moe kernel. To evaluate the + kernel on a given batch size bs, the closest batch size in the grid should + be picked and the associated configuration chosen to invoke the kernel. + """ + + # First look up if an optimized configuration is available in the configs + # directory + json_file_name = get_config_file_name(E, N, dtype) + + config_file_path = os.path.join( + os.path.dirname(os.path.realpath(__file__)), "configs", json_file_name) + if os.path.exists(config_file_path): + with open(config_file_path) as f: + logger.info("Using configuration from %s for MoE layer.", + config_file_path) + # If a configuration has been found, return it + return {int(key): val for key, val in json.load(f).items()} + + # If no optimized configuration is available, we will use the default + # configuration + logger.info("---> MOE tuned file not found at %s",config_file_path) + return None + + +def get_default_config( + M: int, + E: int, + N: int, + K: int, + topk: int, + dtype: Optional[str], + is_marlin: bool, +) -> Dict[str, int]: + config = { + 'BLOCK_SIZE_M': 16, + 'BLOCK_SIZE_N': 128, # reqd. for MOE shuffle + 'BLOCK_SIZE_K': 128, # reqd. for MOE shuffle + 'GROUP_SIZE_M': 8 + } + # A heuristic: fused marlin works faster with this config for small M + if M <= E or (is_marlin and M <= 32): + config = { + 'BLOCK_SIZE_M': 16, + 'BLOCK_SIZE_N': 128, # reqd. for MOE shuffle + 'BLOCK_SIZE_K': 128, # reqd. for MOE shuffle + 'GROUP_SIZE_M': 1 + } + return config + + +def try_get_optimal_moe_config( + w1_shape: Tuple[int, ...], + w2_shape: Tuple[int, ...], + top_k: int, + dtype: Optional[str], + M: int, + override_config: Optional[Dict[str, Any]] = None, + is_marlin: bool = False, +): + if override_config: + config = override_config + else: + # First try to load optimal config from the file + E, _, N = w2_shape + configs = get_moe_configs(E, N, dtype) + + if configs: + # If an optimal configuration map has been found, look up the + # optimal config + config = configs[min(configs.keys(), key=lambda x: abs(x - M))] + else: + # Else use the default config + config = get_default_config(M, E, N, w1_shape[2], top_k, dtype, + is_marlin) + return config + + +def fused_topk( + hidden_states: torch.Tensor, + gating_output: torch.Tensor, + topk: int, + renormalize: bool, +): + assert hidden_states.shape[0] == gating_output.shape[0], ( + "Number of tokens mismatch") + + M, _ = hidden_states.shape + + topk_weights = torch.empty(M, + topk, + dtype=torch.float32, + device=hidden_states.device) + topk_ids = torch.empty(M, + topk, + dtype=torch.int32, + device=hidden_states.device) + token_expert_indicies = torch.empty(M, + topk, + dtype=torch.int32, + device=hidden_states.device) + + moe_kernels.topk_softmax( + topk_weights, + topk_ids, + token_expert_indicies, + gating_output.float(), # TODO(woosuk): Optimize this. + ) + del token_expert_indicies # Not used. Will be used in the future. + + if renormalize: + topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + + return topk_weights, topk_ids + + +# This is used by the Deepseek-V2 model +def grouped_topk(hidden_states: torch.Tensor, + gating_output: torch.Tensor, + topk: int, + renormalize: bool, + num_expert_group: int = 0, + topk_group: int = 0): + + assert hidden_states.shape[0] == gating_output.shape[0], ( + "Number of tokens mismatch") + + scores = torch.softmax(gating_output, dim=-1) + num_token = scores.shape[0] + group_scores = scores.view(num_token, num_expert_group, + -1).max(dim=-1).values # [n, n_group] + group_idx = torch.topk(group_scores, k=topk_group, dim=-1, + sorted=False)[1] # [n, top_k_group] + group_mask = torch.zeros_like(group_scores) # [n, n_group] + group_mask.scatter_(1, group_idx, 1) # [n, n_group] + score_mask = group_mask.unsqueeze(-1).expand( + num_token, num_expert_group, + scores.shape[-1] // num_expert_group).reshape(num_token, -1) # [n, e] + tmp_scores = scores.masked_fill(~score_mask.bool(), 0.0) # [n, e] + topk_weights, topk_ids = torch.topk(tmp_scores, + k=topk, + dim=-1, + sorted=False) + + if renormalize: + topk_weights = topk_weights / topk_weights.sum(dim=-1, keepdim=True) + + return topk_weights.to(torch.float32), topk_ids.to(torch.int32) + + +def get_config_dtype_str(dtype: torch.dtype, + use_int8_w8a16: Optional[bool] = False, + use_fp8_w8a8: Optional[bool] = False): + if use_fp8_w8a8: + return "fp8_w8a8" + elif use_int8_w8a16: + return "int8_w8a16" + elif dtype == torch.float: + # avoiding cases where kernel fails when float32 MoE + # use fp16/bfloat16 configs + return "float32" + return None + + +def fused_experts_int8_a8w8(hidden_states: torch.Tensor, + w1: torch.Tensor, + w2: torch.Tensor, + topk_weights: torch.Tensor, + topk_ids: torch.Tensor, + w1_scale: torch.Tensor, + w2_scale: torch.Tensor, + a1_scale: torch.Tensor, + a2_scale: torch.Tensor, + inplace: bool = False, + override_config: Optional[Dict[str, Any]] = None, + use_fp8_w8a8: bool = False, + use_int8_w8a16: bool = False): + # Check constraints. + assert hidden_states.shape[1] == w1.shape[2] - padding_size, "Hidden size mismatch" + assert topk_weights.shape == topk_ids.shape, "topk shape mismatch" + assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" + assert w1.is_contiguous(), "Expert weights1 must be contiguous" + assert w2.is_contiguous(), "Expert weights2 must be contiguous" + num_tokens, _ = hidden_states.shape + E, N, _ = w1.shape + # We execute the fused_moe kernel in chunks to circumvent this issue: + # https://github.com/vllm-project/vllm/issues/5938 + CHUNK_SIZE = VLLM_FUSED_MOE_CHUNK_SIZE + M = min(num_tokens, CHUNK_SIZE) + config_dtype = get_config_dtype_str(use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16, + dtype=hidden_states.dtype) + + get_config_func = functools.partial( + try_get_optimal_moe_config, + w1.shape, + (w2.shape[0], w2.shape[1], w2.shape[2] - padding_size), + topk_ids.shape[1], + config_dtype, + override_config=override_config, + ) + + config = get_config_func(M) + + intermediate_cache1 = torch.zeros((M, topk_ids.shape[1], N), + device=hidden_states.device, + dtype=torch.half) + intermediate_cache2 = torch.zeros((M * topk_ids.shape[1], N // 2), + device=hidden_states.device, + dtype=torch.half) + intermediate_cache3 = torch.zeros((M, topk_ids.shape[1], w2.shape[1]), + device=hidden_states.device, + dtype=torch.half) + + compute_type = (tl.bfloat16 + if hidden_states.dtype == torch.bfloat16 else tl.float16) + + if inplace: + out_hidden_states = hidden_states + else: + out_hidden_states = torch.empty_like(hidden_states) + + # print("init config:", config) + for chunk in range((num_tokens // CHUNK_SIZE) + 1): + begin_chunk_idx, end_chunk_idx = (chunk * CHUNK_SIZE, + min((chunk + 1) * CHUNK_SIZE, + num_tokens)) + curr_hidden_states = hidden_states[begin_chunk_idx:end_chunk_idx] + tokens_in_chunk, _ = curr_hidden_states.shape + + if tokens_in_chunk == 0: + break + print("tokens_in_chunk,", tokens_in_chunk, "CHUNK_SIZE",CHUNK_SIZE, "num_tokens",num_tokens) + if tokens_in_chunk < CHUNK_SIZE and chunk > 0: + # Adjust the intermediate cache size and config for the last + # chunk. Note that in most cases we only have one chunk + # so the cache size and config are already set correctly and + # do not need to be adjusted. + intermediate_cache1 = intermediate_cache1[:tokens_in_chunk] + intermediate_cache2 = intermediate_cache2[:tokens_in_chunk] + intermediate_cache3 = intermediate_cache3[:tokens_in_chunk] + config = get_config_func(tokens_in_chunk) + print("inside branch:") + + + curr_topk_ids = topk_ids[begin_chunk_idx:end_chunk_idx] + curr_topk_weights = topk_weights[begin_chunk_idx:end_chunk_idx] + + sorted_token_ids, expert_ids, num_tokens_post_padded = ( + moe_align_block_size(curr_topk_ids, config['BLOCK_SIZE_M'], E)) + # print("llm : hidden_state:", curr_hidden_states) + # print("llm: w1:", w1) + # print("llm w1+scale", w1_scale) + invoke_fused_moe_int8_a8w8_kernel(curr_hidden_states, + w1, + intermediate_cache1, + a1_scale, + w1_scale, + curr_topk_weights, + curr_topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + False, + topk_ids.shape[1], + config, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) + # print("llm : intermediate_cache1", intermediate_cache1) + moe_kernels.silu_and_mul(intermediate_cache2, intermediate_cache1.view(-1, N)) + + intermediate_cache2_quant = torch.empty( + intermediate_cache2.shape, dtype=torch.int8, device=hidden_states.device + ) + intermediate_cache2_scales = torch.empty( + intermediate_cache2.shape[0], dtype=torch.half, device=hidden_states.device + ) + triton_dynamic_quantize( + intermediate_cache2_quant, intermediate_cache2, intermediate_cache2_scales + ) + print("llm: cache2:", intermediate_cache2_quant) + print("llm: cache2_sclae:", intermediate_cache2_scales) + + invoke_fused_moe_int8_a8w8_kernel(intermediate_cache2_quant, + w2, + intermediate_cache3, + intermediate_cache2_scales, + w2_scale, + curr_topk_weights, + curr_topk_ids, + sorted_token_ids, + expert_ids, + num_tokens_post_padded, + True, + 1, + config, + compute_type=compute_type, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) + #print("dtype:",intermediate_cache3.dtype) +# moe_kernels.moe_sum(intermediate_cache3.view(*intermediate_cache3.shape), +# out_hidden_states[begin_chunk_idx:end_chunk_idx]) +# + #return out_hidden_states + # return intermediate_cache3 + # print("before sum : intermediate_cache3",intermediate_cache3) + return torch.sum(intermediate_cache3.view(*intermediate_cache3.shape), dim=1) + + +def fused_moe_int8_a8w8( + hidden_states: torch.Tensor, + w1: torch.Tensor, + w2: torch.Tensor, + gating_output: torch.Tensor, + w1_scale: torch.Tensor, + w2_scale: torch.Tensor, + a1_scale: torch.Tensor, + a2_scale: torch.Tensor, + topk: int, + renormalize: bool, + inplace: bool = False, + override_config: Optional[Dict[str, Any]] = None, + use_grouped_topk: bool = False, + num_expert_group: Optional[int] = None, + topk_group: Optional[int] = None, + custom_routing_function: Optional[Callable] = None, + use_fp8_w8a8: bool = False, + use_int8_w8a16: bool = False, +) -> torch.Tensor: + """ + This function computes a Mixture of Experts (MoE) layer using two sets of + weights, w1 and w2, and top-k gating mechanism. + + Parameters: + - hidden_states (torch.Tensor): The input tensor to the MoE layer. + - w1 (torch.Tensor): The first set of expert weights. + - w2 (torch.Tensor): The second set of expert weights. + - gating_output (torch.Tensor): The output of the gating operation + (before softmax). + - topk (int): The number of top-k experts to select. + - renormalize (bool): If True, renormalize the top-k weights to sum to 1. + - inplace (bool): If True, perform the operation in-place. + Defaults to False. + - override_config (Optional[Dict[str, Any]]): Optional override + for the kernel configuration. + - num_expert_group: Optional[int]: additional parameter for grouped_topk + - topk_group: Optional[int]: additional parameter for grouped_topk + - use_grouped_topk: If True, use grouped_topk instead of fused_topk + note: Deepseekv2 model uses grouped_topk + - use_fp8_w8a8 (bool): If True, use fp8 arithmetic to compute the inner + products for w1 and w2. Defaults to False. + - use_int8_w8a16 (bool): If True, use fp8 arithmetic to compute the inner + products for w1 and w2. Defaults to False. + - w1_scale (Optional[torch.Tensor]): Optional scale to be used for + w1. + - w2_scale (Optional[torch.Tensor]): Optional scale to be used for + w2. + + Returns: + - torch.Tensor: The output tensor after applying the MoE layer. + """ + # Check constraints. + assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" + + if use_grouped_topk: + assert num_expert_group is not None and topk_group is not None + topk_weights, topk_ids = grouped_topk(hidden_states, gating_output, + topk, renormalize, + num_expert_group, topk_group) + elif custom_routing_function is None: +# print("fused topk") + topk_weights, topk_ids = fused_topk(hidden_states, gating_output, topk, + renormalize = False) + else: + topk_weights, topk_ids = custom_routing_function( + hidden_states, gating_output, topk, renormalize) +# print("moe topk_weights",topk_weights,"topk_ids",topk_ids) + return fused_experts_int8_a8w8(hidden_states, + w1, + w2, + topk_weights, + topk_ids, + w1_scale=w1_scale, + w2_scale=w2_scale, + a1_scale=a1_scale, + a2_scale=a2_scale, + inplace=inplace, + override_config=override_config, + use_fp8_w8a8=use_fp8_w8a8, + use_int8_w8a16=use_int8_w8a16) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_quant_kernels.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_quant_kernels.cu new file mode 100644 index 000000000..2266dee46 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_quant_kernels.cu @@ -0,0 +1,272 @@ +#include +#include +#include + +#include "dispatch_utils.h" + +#ifndef USE_ROCM + #include + #include +#else + #include + #include +#endif + +static inline __device__ int8_t float_to_int8_rn(float x) { +#ifdef USE_ROCM + static constexpr auto i8_min = + static_cast(std::numeric_limits::min()); + static constexpr auto i8_max = + static_cast(std::numeric_limits::max()); + + // To match the rounding mode of CUDA, we use nearbyint. + // It uses the current rounding mode, which is always FE_TONEAREST on HIP. + // If that changes in the future, we may need to set the rounding mode + // explicitly, either at runtime or compile time. + float dst = std::nearbyint(x); + + // saturate + dst = std::clamp(dst, i8_min, i8_max); + return static_cast(dst); +#else + // CUDA path + uint32_t dst; + asm volatile("cvt.rni.sat.s8.f32 %0, %1;" : "=r"(dst) : "f"(x)); + return reinterpret_cast(dst); +#endif +} + +static inline __device__ int32_t float_to_int32_rn(float x) { +#ifdef USE_ROCM + // int32_max is not exactly representable as float. + // Therefore, we need to be careful and manually return int32_max on overflow. + // For symmetry, we also do the same for int32_min, even though it is exactly + // representable as float and the conversion should be exact. + static constexpr auto i32_min = std::numeric_limits::min(); + static constexpr auto i32_min_f = static_cast(i32_min); + static constexpr auto i32_max = std::numeric_limits::max(); + static constexpr auto i32_max_f = static_cast(i32_max); + + // To match the rounding mode of CUDA, we use nearbyint. + // It uses the current rounding mode, which is always FE_TONEAREST on HIP. + // If that changes in the future, we may need to set the rounding mode + // explicitly, either at runtime or compile time. + float dst = std::nearbyint(x); + + // saturate on the higher end. + if (dst >= i32_max_f) { + return i32_max; + } + // saturate on the lower end. + if (dst <= i32_min_f) { + return i32_min; + } + + return static_cast(dst); +#else + // CUDA path + uint32_t dst; + asm volatile("cvt.rni.sat.s32.f32 %0, %1;" : "=r"(dst) : "f"(x)); + return reinterpret_cast(dst); +#endif +} + +static inline __device__ int8_t int32_to_int8(int32_t x) { +#ifdef USE_ROCM + static constexpr auto i8_min = + static_cast(std::numeric_limits::min()); + static constexpr auto i8_max = + static_cast(std::numeric_limits::max()); + + // saturate + int32_t dst = std::clamp(x, i8_min, i8_max); + return static_cast(dst); +#else + // CUDA path + uint32_t dst; + asm volatile("cvt.sat.s8.s32 %0, %1;" : "=r"(dst) : "r"(x)); + return reinterpret_cast(dst); +#endif +} + +namespace vllm { + +template +__global__ void static_scaled_int8_quant_kernel( + scalar_t const* __restrict__ input, int8_t* __restrict__ out, + scale_type const* scale_ptr, const int hidden_size) { + int const tid = threadIdx.x; + int const token_idx = blockIdx.x; + scale_type const scale = *scale_ptr; + + for (int i = tid; i < hidden_size; i += blockDim.x) { + out[token_idx * hidden_size + i] = float_to_int8_rn( + static_cast(input[token_idx * hidden_size + i]) / scale); + } +} + +template +__global__ void static_scaled_int8_azp_quant_kernel( + scalar_t const* __restrict__ input, int8_t* __restrict__ out, + scale_type const* scale_ptr, azp_type const* azp_ptr, + const int hidden_size) { + int const tid = threadIdx.x; + int const token_idx = blockIdx.x; + scale_type const scale = *scale_ptr; + azp_type const azp = *azp_ptr; + + for (int i = tid; i < hidden_size; i += blockDim.x) { + auto const val = static_cast(input[token_idx * hidden_size + i]); + auto const quant_val = int32_to_int8(float_to_int32_rn(val / scale) + azp); + out[token_idx * hidden_size + i] = quant_val; + } +} + +template +__global__ void dynamic_scaled_int8_quant_kernel( + scalar_t const* __restrict__ input, int8_t* __restrict__ out, + scale_type* scale, const int hidden_size) { + int const tid = threadIdx.x; + int const token_idx = blockIdx.x; + float absmax_val = 0.0f; + float const zero = 0.0f; + + for (int i = tid; i < hidden_size; i += blockDim.x) { + float val = static_cast(input[token_idx * hidden_size + i]); + val = val > zero ? val : -val; + absmax_val = val > absmax_val ? val : absmax_val; + } + + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStorage; + float const block_absmax_val_maybe = + BlockReduce(reduceStorage).Reduce(absmax_val, cub::Max{}, blockDim.x); + __shared__ float block_absmax_val; + if (tid == 0) { + block_absmax_val = block_absmax_val_maybe; + scale[token_idx] = block_absmax_val / 127.0f; + } + __syncthreads(); + + float const tmp_scale = 127.0f / block_absmax_val; + for (int i = tid; i < hidden_size; i += blockDim.x) { + out[token_idx * hidden_size + i] = float_to_int8_rn( + static_cast(input[token_idx * hidden_size + i]) * tmp_scale); + } +} + +template +__global__ void dynamic_scaled_int8_azp_quant_kernel( + scalar_t const* __restrict__ input, int8_t* __restrict__ out, + scale_type* scale, azp_type* azp, const int hidden_size) { + int const token_idx = blockIdx.x; + + // Scan for the min and max value for this token + float max_val = std::numeric_limits::min(); + float min_val = std::numeric_limits::max(); + for (int i = threadIdx.x; i < hidden_size; i += blockDim.x) { + auto val = static_cast(input[token_idx * hidden_size + i]); + max_val = std::max(max_val, val); + min_val = std::min(min_val, val); + } + + // Reduce the max and min values across the block + using BlockReduce = cub::BlockReduce; + __shared__ typename BlockReduce::TempStorage reduceStorage; + max_val = BlockReduce(reduceStorage).Reduce(max_val, cub::Max{}, blockDim.x); + __syncthreads(); // Make sure min doesn't mess with max shared memory + min_val = BlockReduce(reduceStorage).Reduce(min_val, cub::Min{}, blockDim.x); + + __shared__ scale_type scale_sh; + __shared__ azp_type azp_sh; + + // Compute the scale and zero point and store them, only on the first thread + if (threadIdx.x == 0) { + float const scale_val = (max_val - min_val) / 255.0f; + // Use rounding to even (same as torch.round) + auto const azp_float = std::nearbyint(-128.0f - min_val / scale_val); + auto const azp_val = static_cast(azp_float); + + // Store the scale and azp into shared and global + scale[token_idx] = scale_sh = scale_val; + azp[token_idx] = azp_sh = azp_val; + } + + // Wait for the scale and azp to be computed + __syncthreads(); + + float const scale_val = scale_sh; + azp_type const azp_val = azp_sh; + + // Quantize the values + for (int i = threadIdx.x; i < hidden_size; i += blockDim.x) { + auto const val = static_cast(input[token_idx * hidden_size + i]); + auto const quant_val = + int32_to_int8(float_to_int32_rn(val / scale_val) + azp_val); + out[token_idx * hidden_size + i] = quant_val; + } +} + +} // namespace vllm + +void static_scaled_int8_quant(torch::Tensor& out, // [..., hidden_size] + torch::Tensor const& input, // [..., hidden_size] + torch::Tensor const& scale, + c10::optional const& azp) { + TORCH_CHECK(input.is_contiguous()); + TORCH_CHECK(out.is_contiguous()); + TORCH_CHECK(scale.numel() == 1); + TORCH_CHECK(!azp || azp->numel() == 1); + + int const hidden_size = input.size(-1); + int const num_tokens = input.numel() / hidden_size; + dim3 const grid(num_tokens); + dim3 const block(std::min(hidden_size, 1024)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES( + input.scalar_type(), "static_scaled_int8_quant_kernel", [&] { + if (!azp) { + vllm::static_scaled_int8_quant_kernel + <<>>( + input.data_ptr(), out.data_ptr(), + scale.data_ptr(), hidden_size); + } else { + vllm::static_scaled_int8_azp_quant_kernel + <<>>( + input.data_ptr(), out.data_ptr(), + scale.data_ptr(), azp->data_ptr(), + hidden_size); + } + }); +} + +void dynamic_scaled_int8_quant( + torch::Tensor& out, // [..., hidden_size] + torch::Tensor const& input, // [..., hidden_size] + torch::Tensor& scales, c10::optional const& azp) { + TORCH_CHECK(input.is_contiguous()); + TORCH_CHECK(out.is_contiguous()); + TORCH_CHECK(scales.is_contiguous()); + TORCH_CHECK(!azp || azp->is_contiguous()); + + int const hidden_size = input.size(-1); + int const num_tokens = input.numel() / hidden_size; + dim3 const grid(num_tokens); + dim3 const block(std::min(hidden_size, 1024)); + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + VLLM_DISPATCH_FLOATING_TYPES( + input.scalar_type(), "dynamic_scaled_int8_quant_kernel", [&] { + if (!azp) { + vllm::dynamic_scaled_int8_quant_kernel + <<>>( + input.data_ptr(), out.data_ptr(), + scales.data_ptr(), hidden_size); + } else { + vllm::dynamic_scaled_int8_azp_quant_kernel + <<>>( + input.data_ptr(), out.data_ptr(), + scales.data_ptr(), azp->data_ptr(), + hidden_size); + } + }); +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_scale_quant.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_scale_quant.h new file mode 100644 index 000000000..6c9367d5d --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/int8_scale_quant.h @@ -0,0 +1,5 @@ +#pragma once + +#include +void dynamic_scaled_int8_quant( + torch::Tensor& out, torch::Tensor const& input, torch::Tensor& scale,c10::optional const& azp); From 43fd4ba931074bec7962069e0ea21f8dd0949356 Mon Sep 17 00:00:00 2001 From: shengnxu Date: Thu, 24 Oct 2024 11:49:31 +0800 Subject: [PATCH 39/50] remove comments --- .../llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py | 1 - 1 file changed, 1 deletion(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py index 5a8706257..1d737ad8d 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py @@ -2,7 +2,6 @@ import triton.language as tl from triton.triton_utils import compile_and_cache_kernels -#from blade_llm.module.kernel_backend import get_autotune_triton_kernel @triton.jit From dfd2534cd9dc5c8d3c4887b126844514e893e07c Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Thu, 24 Oct 2024 05:13:40 +0000 Subject: [PATCH 40/50] fix for new triton version --- .../ROCM/rocm_kernels/.dynamic_quant.py.swp | Bin 0 -> 12288 bytes .../ROCM/rocm_kernels/dynamic_quant.py | 77 ------------------ .../ROCM/rocm_kernels/fused_moe_int8_a8w8.py | 7 +- 3 files changed, 4 insertions(+), 80 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/.dynamic_quant.py.swp delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/dynamic_quant.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/.dynamic_quant.py.swp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/.dynamic_quant.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..532aeda67ac1abc7edbb7e4c114d3cd755ba6b20 GIT binary patch literal 12288 zcmeI2ONbmr7{@C@;xkcvAPPb`5z-T9=ds4PE=~}05|UK{36Uihz0=h*?M_#9s;k{y zWAJD|4MHv|;#H4=2!bBPOZ23J0)ZUySN!L$ZJ)jvJ_3P2AP@)y0)apv z5C{YUfj}S-2m}IwK;R}M5GRB@yN8hXZb$I=|NrFg|Eu>Bas~Pc`Uv_E`T%+tQqU=A z8F~!b4gIr^kl&%-pkJZypf8|Lp^MN3D1(Mj3UTNa=n(V-^boWMy1JK;pP|dpSI}qB zCFp&qfKEV*&|miu@-=h;It@|i^4*vRvz%*U4$&dn=l7L$bmp05C{YU|2F}O z7cp`0PYFM`DK#Ec`S87@hJG{_7Wm;ug3Rd%; zy}|uGI%|jPbbR@`9-M=ATxqE*!6S^DX2Y^ycgcJ;;^SNW)dMRB&NQPN4DO=NQaa?C zP5e)6+&#aj=>nVMfJrrKvtbSTBrUayMp=?@!Adi|BF6W`jWACN*5?{4jb*yC^LdNF zKt`uXR5{ZUw-153hacza%oI~5ib}W5SW&Op+FlK4$$vC-=Paagv$OwP^?dIV_b&Oi z;buh`xq?dz%wyF?wsW#*@()(c+t68BH zvaK)+Fw`Xv`q ztr>37xH00OFz5aV?Y3yQ{d9{i;N96>Z@|7I1X5FKmhQCV#&B6QHwXr3QRaKOA?6~m zagAl1cngPmN*C0ThN|D=3y0@zO*f3^98DkSjI(Xnj@fvHkta`|qk`44deUHHid8Iz zJVNX%o~PYZK(SDAsN$SuNfd8pWgki7x44yML)q?Ce6vt)9nS`FWuFN)Lb0FQ#O9%|7gY^R4^v!i3ynOXI=W8c2J5KP0l^X|KMe$*a65vi}?$?=0HwCWeGu~l4G zN>HqZMUzCt)YVVBS&!bd2Tmkd*fKrRpIW<mhcrg|Rq>G1 L7(4N}-bnrh= val2_abs: - return val1_abs - else: - return val2_abs - - -_dynamic_quant_configs = [ - triton.Config( - {}, - num_warps=warps, - ) - for warps in [2, 4, 8, 16] -] - - -@triton.jit -def _triton_dynamic_quantize_kernel( - output_ptr, - input_ptr, - scale_ptr, - stride_outputm, - stride_outputn, - stride_inputm, - stride_inputn, - n_elements, - N: tl.constexpr, -): - pid = tl.program_id(axis=0) - offsets = tl.arange(0, N) - mask = offsets < n_elements - input_ptrs = input_ptr + pid * stride_inputm + offsets - input_vals = tl.load(input_ptrs, mask=mask, other=1e-6) - abs_max_f = tl.reduce(input_vals, 0, _abs_max) - dynamic_per_token_scale = 127.0 / abs_max_f - precison_mask = tl.where(input_vals > 0, 0.5, -0.5) - output_vals = (input_vals * dynamic_per_token_scale + precison_mask).to(tl.int8) - output_ptrs = output_ptr + pid * stride_outputm + offsets - tl.store(output_ptrs, output_vals, mask=mask) - tl.store(scale_ptr + pid, abs_max_f / 127.0) - - -def triton_dynamic_quantize(out, input, scale): - assert input.is_contiguous(), "input must be contiguous" - num_tokens = input.size(0) - hidden_size = input.size(1) - # tl.reduce requires the number of elements - # must be power-of-two - hidden_size_padded = triton.next_power_of_2(int(hidden_size)) - kwargs = [ - out, - input, - scale, - out.stride(0), - out.stride(1), - input.stride(0), - input.stride(1), - input.size(1), - ] - grid = (num_tokens, 1, 1) - const_kwargs = {"N": hidden_size_padded} - method_name = "dynamic_quant_" + str(hidden_size_padded) - if get_autotune_triton_kernel(): - dynamic_quant = triton.autotune(configs=_dynamic_quant_configs, key=['N'])(_triton_dynamic_quantize_kernel) - else: - dynamic_quant = _triton_dynamic_quantize_kernel - compile_and_cache_kernels(dynamic_quant, method_name, grid, kwargs, const_kwargs) - diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py index fdb27564c..e468fa068 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py @@ -345,6 +345,7 @@ def fused_moe_persistent_kernel( # advance tile_id tile_id += NUM_SMS +@triton.jit def _abs_max(val1, val2): val1_abs = tl.abs(val1) val2_abs = tl.abs(val2) @@ -526,7 +527,7 @@ def invoke_fused_moe_int8_a8w8_kernel(A: torch.Tensor, B: torch.Tensor, C: torch assert B_scale is not None B_scale = B_scale.view(-1, B.shape[1]) - print("llm Bscale shape:",A_scale) + # print("llm Bscale shape:",A_scale) if not FUSED_MOE_PERSISTENT: grid = lambda META: (triton.cdiv(sorted_token_ids.shape[0], META[ @@ -897,8 +898,8 @@ def fused_experts_int8_a8w8(hidden_states: torch.Tensor, triton_dynamic_quantize( intermediate_cache2_quant, intermediate_cache2, intermediate_cache2_scales ) - print("llm: cache2:", intermediate_cache2_quant) - print("llm: cache2_sclae:", intermediate_cache2_scales) +# print("llm: cache2:", intermediate_cache2_quant) +# print("llm: cache2_sclae:", intermediate_cache2_scales) invoke_fused_moe_int8_a8w8_kernel(intermediate_cache2_quant, w2, From a4e8a54083c113a0a4e46ce85762fb6ac65c8117 Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Thu, 24 Oct 2024 05:21:13 +0000 Subject: [PATCH 41/50] test for moe int8 --- .../.benchmark_mixtral_moe_rocm.py.swn | Bin 0 -> 16384 bytes .../.benchmark_mixtral_moe_rocm.py.swo | Bin 0 -> 16384 bytes .../.benchmark_mixtral_moe_rocm.py.swp | Bin 0 -> 32768 bytes .../llm_perf/backends/ROCM/test_moe_int8/1 | 305 ++++++++++++ ...2,device_name=AMD_Instinct_MI308X_OAM.json | 111 +++++ .../benchmark_mixtral_moe_rocm.py | 406 ++++++++++++++++ .../benchmark_mixtral_moe_rocm_backup.py | 434 ++++++++++++++++++ 7 files changed, 1256 insertions(+) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swn create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swo create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swp create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json create mode 100755 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py create mode 100755 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm_backup.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swn b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swn new file mode 100644 index 0000000000000000000000000000000000000000..2e7d6a50840281a3357ff7443931792ab79eb618 GIT binary patch literal 16384 zcmeHOOKc=Z8Lotcgw10U0v8UbGIQ`)n#{|Obyji|k3H)hY_BJ?V+&zft@cdKOlP{Q zd%J3EFDoa?;|fxO#05AaA^{SD8%P1JQIh3|B5_GLBb3~-dGJ*~=FuLn?LBbWYUxwg z#M(~tEy}E3ft8Ux{xapTu%}5`QzX1Jo?CAo=iVZi0`^m6`yw5Zqu~8u8_GP z)p8xv;uDne4wreSRmh7j;~j4DylqM*WO-xV%a?CTwy|DgemlR1q+#(k^9@hsZQBVG zduFr8cuVB#o68${rJCPkyxDb3zh^ksq4Z7La9n2iZqvzmHz)X@i!=lGF9T1InNqQ! z`kzicOP~4n*8NL`?zv__GoTsJ3}^;41DXNNfM(!6WI%cklULF22cy1sqx%Di``6Lc ziOQ`+{Z~=F7nT1bQU7J4{>7+)xScPe`fo*ge@N6v#rmch&Gy|Fe&46Y=GoTsJ z3}^;41DXNNz&$Wvwg`C|dLO9uHopJI>;L~=B;?<~N5F01ufQLHw}Cf-4)7B2ec;ZM zg!~hD7q|s10T+PVPZ07JunlYh4PXU$8u$d~3w{T@4!j2308HQ|UYUq433 ze}I1h?*o4Z-T{6Nya9N?F7N~35>NoXygm28(@HT~9eO}E8bwC(z|ZM&u{&eKeZsxud2nkWmN-{-7l zG+o}dIs!&^c1er1!}7Q|vyr9OvUDv=Bf06zB%P*P(z2}|GwLweb8^mXR`0}*iKlc%1^tFLU&ISLw!1sN%cIOA4y%N!97dPpg7Q_ zjwyZX5T{av^bPLvUdwXMX(BbrM(XnU{74;``xslCi!oRqeHqQ3)t|8ADc*MsAzi9O<9hW+6=MUwbbPn(8E2+9>P~rmb9pT^vIZl2IE&OX zdgt_H#K^UQ5q|GRRChv8&e5IdiOQLthtp1(TW5+8^*jfGO)VZK4BzA(cE3rK8*`Vn*U* z)WD>wEG>mrqDICeIn<`HZ@Cy|@);r;J z&lNew_buP$JE_fDqq?D{0+m{IeRFlIlG;V6rHZM*l~Ku+N_lJ5SYEFitM#SYRin1F zyjE!#%S*M!R{dnPtJRuuWwX9qF;*(u##*I*ZK=L`Vk1g=yL!D^UJvA}%a!YaY!D!; zwXNz(FgaF7o-?Wpk%-fkqpY2jRtJ?$+v;#5d?ExU&eLa8wfMfnfe^JE&-EqEs7EM#u8g*2GlQEB8z1PCToyR!jTS8~7mOQylgqPB!6!F( z7gxg;%!Px6fzyL-4C}Ha>XBMutOX1RY6|Llf~2FWeHGy|Fe&46Y=GoTsJ4E#SBP+JvhCC?5miSG~bE=>F>6I&ITb_)A6 z&sA5jtE)afs!fw%3pdU|!3){MSxs_m`N zX0U;H6mBWPGEvT|#;~OjEWdqhD_|9FsIp8{uVj)}m)YLpR0Dh98{xm)Lz8MFd+-N% hY*!@J;(W8~T1_SvccvB&FO{dV6!%i8Jhhu8{{y#5v_${_ literal 0 HcmV?d00001 diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swo b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swo new file mode 100644 index 0000000000000000000000000000000000000000..0ddfaafcf0521c086c9d2f063cfe497cf9d8f3bf GIT binary patch literal 16384 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 LoD$tEi`styZ1+e* literal 0 HcmV?d00001 diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swp b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..856d12c537786b57d4bb6948982447bbc46faa61 GIT binary patch literal 32768 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 V${e+z=mnx%oYAfd%p;X@{||bM<){Dv literal 0 HcmV?d00001 diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 new file mode 100644 index 000000000..a8f0e410a --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 @@ -0,0 +1,305 @@ +import random +import itertools +import torch +import os +import sys +_path = os.path.abspath(os.path.dirname(__file__)) +sys.path.insert(0, f'{_path}/../') +from rocm_kernels import paged_attn +from rocm_kernels.paged_attn import PagedAttention +import rocmKernels as ops +from typing import (List, Optional, Any, Dict, Sequence, Tuple, Union) +from utils import * + +FLOAT32_BYTES = torch.finfo(torch.float).bits // 8 + +# This will change depending on the compute capability. +VERSIONS = ["v1", "v2", "rocm"] +# - 512 as a buffer +# MAX_SEQ_LEN = get_max_shared_memory_bytes() // FLOAT32_BYTES - 512 +MAX_SEQ_LEN = (60 * 1024) // FLOAT32_BYTES - 512 +# There may not be enough gpu memory due to large NUM_BLOCKS. +# Reduce NUM_BLOCKS when it happens. +NUM_BLOCKS = 4321 # Arbitrary values for testing +PARTITION_SIZE = 512 +# flshattF and tritonflashattF supported: {torch.float16, torch.bfloat16} +DTYPES = [torch.half, torch.bfloat16] +NUM_GEN_SEQS = [7] # Arbitrary values for testing +NUM_PREFILL_SEQS = [3] # Arbitrary values for testing +NUM_HEADS = [(40, 40), (64, 8)] # Arbitrary values for testing + +# FlashAttention forward only supports head dimension at most 128 +# https://github.com/ROCmSoftwarePlatform/flash-attention/blob/3d2b6f5d037782cc2c906909a46fb7e2e1b48b25/csrc/flash_attn_rocm/flash_api.cpp#L62 +HEAD_SIZES = [64, 80, 96, 112, 120, 128, 192, 256] + +BLOCK_SIZES = [16, 32] +USE_ALIBI = [False, True] +KV_CACHE_DTYPE = ["auto"] +# KV_CACHE_DTYPE = ["auto", "fp8"] +SEEDS = [0] +CUDA_DEVICES = [ + f"cuda:{i}" for i in range(1 if torch.cuda.device_count() == 1 else 2) +] + + +def ref_masked_attention( + query: torch.Tensor, + key: torch.Tensor, + value: torch.Tensor, + scale: float, + attn_mask: Optional[torch.Tensor] = None, +) -> torch.Tensor: + attn_weights = scale * torch.einsum("qhd,khd->hqk", query, key).float() + if attn_mask is not None: + attn_weights = attn_weights + attn_mask.float() + attn_weights = torch.softmax(attn_weights, dim=-1).to(value.dtype) + out = torch.einsum("hqk,khd->qhd", attn_weights, value) + return out + +def ref_single_query_cached_kv_attention( + output: torch.Tensor, + query: torch.Tensor, + num_queries_per_kv: int, + key_cache: torch.Tensor, + value_cache: torch.Tensor, + block_tables: torch.Tensor, + seq_lens: torch.Tensor, + scale: float, + alibi_slopes: Optional[torch.Tensor], +) -> None: + num_query_heads = query.shape[1] + num_kv_heads = value_cache.shape[1] + head_size = value_cache.shape[2] + block_size = value_cache.shape[3] + num_seqs = query.shape[0] + + block_tables_lst = block_tables.cpu().tolist() + seq_lens_lst = seq_lens.cpu().tolist() + for i in range(num_seqs): + q = query[i].unsqueeze(0) + block_table = block_tables_lst[i] + seq_len = int(seq_lens_lst[i]) + + keys_lst: List[torch.Tensor] = [] + values_lst: List[torch.Tensor] = [] + for j in range(seq_len): + block_number = int(block_table[j // block_size]) + block_offset = j % block_size + + k = key_cache[block_number, :, :, block_offset, :] + k = k.reshape(num_kv_heads, head_size) + keys_lst.append(k) + + v = value_cache[block_number, :, :, block_offset] + values_lst.append(v) + keys = torch.stack(keys_lst, dim=0) + values = torch.stack(values_lst, dim=0) + if num_queries_per_kv > 1: + # Handle MQA and GQA + keys = torch.repeat_interleave(keys, num_queries_per_kv, dim=1) + values = torch.repeat_interleave(values, num_queries_per_kv, dim=1) + + alibi_bias = None + if alibi_slopes is not None: + # Create the ALiBi bias used in the paged attention kernel. + position_ids = torch.arange(seq_len).int() + alibi_bias = (position_ids - seq_len + 1).float() + alibi_bias = alibi_slopes.view(-1, 1, 1) * alibi_bias.view( + 1, 1, -1) + + out = ref_masked_attention(q, keys, values, scale, alibi_bias) + out = out.view(num_query_heads, head_size) + output[i].copy_(out, non_blocking=True) + + +def test_paged_attention( + version: str, + num_seqs: int, + num_heads: Tuple[int, int], + head_size: int, + use_alibi: bool, + block_size: int, + dtype: torch.dtype, + kv_cache_dtype: str, + seed: int, + device: str, +) -> None: + if ((kv_cache_dtype == "fp8" and head_size % 16) + or (version == "rocm" and head_size not in (64, 128))): + return + print("running test:", (num_seqs, num_heads, head_size, block_size, dtype, kv_cache_dtype)) + seed_everything(seed) + torch.set_default_device(device) + scale = float(1.0 / (head_size**0.5)) + num_query_heads, num_kv_heads = num_heads + query = torch.empty(num_seqs, num_query_heads, head_size, dtype=dtype) + query.uniform_(-scale, scale) + + assert num_query_heads % num_kv_heads == 0 + num_queries_per_kv = num_query_heads // num_kv_heads + alibi_slopes = None + if use_alibi: + alibi_slopes = torch.randn(num_query_heads, dtype=torch.float) + + seq_lens = [random.randint(1, MAX_SEQ_LEN) for _ in range(num_seqs)] + seq_lens[-1] = MAX_SEQ_LEN + max_seq_len = max(seq_lens) + seq_lens = torch.tensor(seq_lens, dtype=torch.int) + + # Create the block tables. + max_num_blocks_per_seq = (max_seq_len + block_size - 1) // block_size + block_tables_lst: List[List[int]] = [] + for _ in range(num_seqs): + block_table = [ + random.randint(0, NUM_BLOCKS - 1) + for _ in range(max_num_blocks_per_seq) + ] + block_tables_lst.append(block_table) + + block_tables = torch.tensor(block_tables_lst, dtype=torch.int) + + # Create the KV caches. + key_caches, value_caches = create_kv_caches_with_random(NUM_BLOCKS, block_size, 1, + num_kv_heads, head_size, + kv_cache_dtype, dtype, seed, + device) + key_cache, value_cache = key_caches[0], value_caches[0] + + # Using default kv_scale + k_scale = v_scale = 1.0 + + # Call the paged attention kernel. + output = torch.empty_like(query) + if version == "v1": + pa.paged_attention_v1( + output, + query, + key_cache, + value_cache, + num_kv_heads, + scale, + block_tables, + seq_lens, + block_size, + max_seq_len, + alibi_slopes, + kv_cache_dtype, + k_scale, + v_scale, + ) + + elif version in ("v2", "rocm"): + PARTITION_SIZE = 1024 if version == "v2" else 512 + num_partitions = ((max_seq_len + PARTITION_SIZE - 1) // PARTITION_SIZE) + assert PARTITION_SIZE % block_size == 0 + num_seqs, num_heads, head_size = output.shape + tmp_output = torch.empty( + size=(num_seqs, num_heads, num_partitions, head_size), + dtype=output.dtype, + ) + exp_sums = torch.empty( + size=(num_seqs, num_heads, num_partitions), + dtype=torch.float32, + ) + max_logits = torch.empty_like(exp_sums) + + if version == "v2": + pa.paged_attention_v2( + output, + exp_sums, + max_logits, + tmp_output, + query, + key_cache, + value_cache, + num_kv_heads, + scale, + block_tables, + seq_lens, + block_size, + max_seq_len, + alibi_slopes, + kv_cache_dtype, + k_scale, + v_scale, + ) + else: + pa.paged_attention_rocm( + output, + exp_sums, + max_logits, + tmp_output, + query, + key_cache, + value_cache, + num_kv_heads, + scale, + block_tables, + seq_lens, + block_size, + max_seq_len, + alibi_slopes, + kv_cache_dtype, + k_scale, + v_scale, + ) + else: + raise AssertionError(f"Unknown version: {version}") + + ref_output = torch.empty_like(query) + ref_single_query_cached_kv_attention( + ref_output, + query, + num_queries_per_kv, + key_cache, + value_cache, + block_tables, + seq_lens, + scale, + alibi_slopes, + ) + + # NOTE(woosuk): Due to the kernel-level differences in the two + # implementations, there is a small numerical difference in the two + # outputs. Thus, we use a relaxed tolerance for the test. + atol = get_default_atol(output) if is_hip() else 1e-3 + rtol = get_default_rtol(output) if is_hip() else 1e-5 + + # NOTE(zhaoyang): FP8 KV Cache will introduce quantization error, + # so we use a relaxed tolerance for the test. + atol, rtol = 1e-3, 1e-5 + if kv_cache_dtype == "fp8": + atol, rtol = 1e-2, 1e-5 + torch.testing.assert_close(output, ref_output, atol=atol, rtol=rtol) + print(" test passed!") + + +def test_iters(): + param_combinations = itertools.product( + VERSIONS, + NUM_GEN_SEQS, + NUM_HEADS, + HEAD_SIZES, + USE_ALIBI, + BLOCK_SIZES, + DTYPES, + KV_CACHE_DTYPE, + CUDA_DEVICES + ) + for combination in param_combinations: + version, num_seqs, num_heads, head_size, use_alibi, \ + block_size, dtype, kv_cache_dtype, device = combination + test_paged_attention(version=version, + num_seqs=num_seqs, + num_heads=num_heads, + head_size=head_size, + use_alibi=use_alibi, + block_size=block_size, + dtype=dtype, + kv_cache_dtype=kv_cache_dtype, + seed=0, + device=device) + + +if __name__ == "__main__": + test_iters() diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..36919fa9a --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,111 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 32, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 1, + "num_warps": 2, + "num_stages": 0 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 256, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 1, + "num_warps": 1, + "num_stages": 0 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 32, + "BLOCK_SIZE_K": 64, + "GROUP_SIZE_M": 1, + "num_warps": 1, + "num_stages": 0 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 1, + "num_warps": 2, + "num_stages": 0 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 64, + "GROUP_SIZE_M": 1, + "num_warps": 2, + "num_stages": 0 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 64, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 4, + "num_warps": 2, + "num_stages": 0 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 256, + "GROUP_SIZE_M": 4, + "num_warps": 8, + "num_stages": 0 + }, + "96": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 16, + "GROUP_SIZE_M": 4, + "num_warps": 4, + "num_stages": 0 + }, + "128": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 16, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0 + }, + "256": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 16, + "GROUP_SIZE_M": 1, + "num_warps": 2, + "num_stages": 0 + }, + "512": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 16, + "BLOCK_SIZE_K": 64, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0 + }, + "1024": null, + "1536": null, + "2048": null, + "3072": null, + "4096": null +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py new file mode 100755 index 000000000..0983de20e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py @@ -0,0 +1,406 @@ +import argparse +import json +import os +import sys +import unittest +import torch +import torch.nn.functional as F +import triton +import triton.language as tl +from tqdm import tqdm +_path = os.path.abspath(os.path.dirname(__file__)) +sys.path.insert(0, f'{_path}/../') +#import vllm._moe_C as moe_kernels +import rocmKernels as ops +from rocm_kernels.fused_moe_int8_a8w8 import (fused_moe_int8_a8w8, + get_config_file_name, + scaled_int8_quant) + + +def main(args): + os.environ["HIP_VISIBLE_DEVICES"] = args.GPUID + os.environ["HIP_FORCE_DEV_KERNARG"] = "1" + os.environ["DEBUG_CLR_GRAPH_PACKET_CAPTURE"] = "1" + os.environ["OPTIMIZE_EPILOGUE"] = "1" + + for bs in [ + 1, + 2, + 4, + 8, + 16, + 24, + 32, + 48, + 64, + 96, + 128, + 256, + 512, + 1024, + 1536, + 2048, + 3072, + 4096, + ]: + run_grid(bs, model=args.model, TP=args.TP) + + +## Utilize method from rocm/Triton tuning script +def get_full_tuning_space(): + configs = [] + + block_mn_range = [16, 32, 64, 128, 256] + block_k_range = [32, 64, 128, 256] + split_k_range = [1, 2, 4, 5, 6, 8, 10, 12, 16, 18, 24] + num_warps_range = [1, 2, 4, 8] + group_m_range = [1, 4, 8, 16, 32] + # For now we see better perf with num_stages=0 for all gemm configs we care + # But keep this explicit so that we do not forget we may need to set it to + # other values in the future + num_stage_range = [0] + waves_per_eu_range = [0] + matrix_instr_nonkdim_range = [16, 32] + kpack_range = [ 2] + + for block_m in block_mn_range: + for block_n in block_mn_range: + for block_k in block_k_range: + for num_warps in num_warps_range: + for group_m in group_m_range: + #for split_k in split_k_range: + for num_stages in num_stage_range: + for waves_per_eu in waves_per_eu_range: + for (matrix_instr_nonkdim) in matrix_instr_nonkdim_range: + for kpack in kpack_range: + configs.append({ + "BLOCK_SIZE_M": block_m, + "BLOCK_SIZE_N": block_n, + "BLOCK_SIZE_K": block_k, + "GROUP_SIZE_M": group_m, + "num_warps": num_warps, + "num_stages": num_stages, + }) + + return configs + + +## Utilize method from rocm/Triton tuning script +def prune_configs(M, N, K, configs): + pruned_configs = [] + elemBytes_a = 2 # [DV Note] Hard-coded for float16 (2 bytes) + elemBytes_b = 2 # [DV Note] Hard-coded for float16 (2 bytes) + + mfma = 16 if M < 32 or N < 32 else 32 + + # TODO (zhanglx): figure out the boundary between large and small gemms + large_gemm = False + if M >= 2048 and N >= 2048: + large_gemm = True + + for config in configs: + BLOCK_SIZE_M = config.get("BLOCK_SIZE_M") + BLOCK_SIZE_N = config.get("BLOCK_SIZE_N") + BLOCK_SIZE_K = config.get("BLOCK_SIZE_K") + num_warps = config.get("num_warps") + if mfma == 4 and BLOCK_SIZE_K < 64: + continue + if BLOCK_SIZE_M * BLOCK_SIZE_N < 64: + continue + SPLIT_K = 1 # config.get("SPLIT_K") + GROUP_M = config.get("GROUP_SIZE_M") + # Skip BLOCK_SIZE that is too large compare to M/N + # unless BLOCK_SIZE is already small enough + if M * 2 < BLOCK_SIZE_M and BLOCK_SIZE_M != 16: + continue + if N * 2 < BLOCK_SIZE_N and BLOCK_SIZE_N != 16: + continue + # skip large split_k when not necessary + if SPLIT_K != 1 and not need_split_k(M, N, K): + continue + # skip split_k that leads to EVEN_K = false + leap = SPLIT_K * BLOCK_SIZE_K + modv = K % leap + if modv != 0: + continue + # skip large GROUP_M + if GROUP_M * BLOCK_SIZE_M > M and GROUP_M != 1: + continue + # out of shared memory resource + # TODO (zhanglx): This does not consider the LDS usage in the epilogue + LDS = (BLOCK_SIZE_K * BLOCK_SIZE_M * elemBytes_a + + BLOCK_SIZE_K * BLOCK_SIZE_N * elemBytes_b) + if LDS > 65536: + continue + # Skip small block sizes and num_warps for large gemm + # For fp16 and f8, we want to only use BLOCK_SIZE >= 64 + if large_gemm: + if BLOCK_SIZE_M < 64 or BLOCK_SIZE_N < 64: + continue + if BLOCK_SIZE_K < 64: + continue + if num_warps < 4: + continue + + pruned_configs.append(config) + + return pruned_configs + + +def union_of_list_of_dicts(l1, l2): + result = [] + temp_list = l1.copy() + temp_list.extend(l2) + for myDict in temp_list: + if myDict not in result: + result.append(myDict) + + return result + + +def need_split_k(SIZE_M, SIZE_N, SIZE_K): + return (SIZE_M < 64 or SIZE_N < 64) and SIZE_K > 1024 + +def torch_moe(hidden_states, w1, w2, score, topk): + B, D = hidden_states.shape + hidden_states = hidden_states.view(B, -1, D).repeat(1, topk, 1).reshape(-1, D) + out = torch.zeros( + B * topk, + w2.shape[1], + dtype=hidden_states.dtype, + device=hidden_states.device, + ) + score = torch.softmax(score, dim=-1, dtype=torch.float32) + topk_weight, topk_ids = torch.topk(score, topk) + topk_weight = topk_weight.view(-1) + topk_ids = topk_ids.view(-1) + for i in range(w1.shape[0]): + mask = topk_ids == i + if mask.sum(): + silu_input = hidden_states[mask] @ (w1[i].transpose(0, 1)) + d = silu_input.shape[-1] // 2 + silu_output_shape = silu_input.shape[:-1] + (d,) + silu_out = torch.empty( + silu_output_shape, dtype=silu_input.dtype, device=silu_input.device + ) + ops.silu_and_mul(silu_out, silu_input) + out[mask] = silu_out @ (w2[i].transpose(0, 1)) + #out = out + 2.0 + return ( + out.view(B, -1, w2.shape[1]) * topk_weight.view(B, -1, 1).to(out.dtype) + ).sum(dim=1) +def dynamic_quan_torch_impl(input): + max_input = input.abs().max(-1, keepdim=True)[0] + scale = max_input / 127.0 + out = torch.round(input / scale) + return out.to(torch.int8), scale.half().squeeze(-1) +def run_grid(bs, model, TP): + if model == '8x7B': + d_model = 4096 + #d_model = 32 + model_intermediate_size = 14336 + elif model == '8x22B': + d_model = 6144 + model_intermediate_size = 16384 + else: + raise ValueError(f'Unsupported Mixtral model {model}') + + num_total_experts = 8 + top_k = 2 + tp_size = TP + num_calls = 100 + + num_warmup_trials = 1 + num_trials = 1 + + full_configs = get_full_tuning_space() + M1 = bs * 2 + N1 = model_intermediate_size * 2 // tp_size + K1 = d_model + prune_configs_1 = prune_configs(M1, N1, K1, full_configs) + + M2 = bs * 2 + N2 = d_model + K2 = model_intermediate_size // tp_size + prune_configs_2 = prune_configs(M2, N2, K2, full_configs) + + configs = union_of_list_of_dicts(prune_configs_1, prune_configs_2) + print(f"{bs=} || {len(full_configs)=} | {len(prune_configs_1)=} | \ + {len(prune_configs_2)=} | {len(configs)=}") + + best_config = None + best_time_us = 1e20 + + for config in tqdm(configs): + print("have config") + # warmup + try: + for _ in range(num_warmup_trials): + run_timing( + num_calls=num_calls, + bs=bs, + d_model=d_model, + num_total_experts=num_total_experts, + top_k=top_k, + tp_size=tp_size, + model_intermediate_size=model_intermediate_size, + config=config, + ) + except triton.runtime.autotuner.OutOfResources: + continue + + # benchmark + for _ in range(num_trials): + kernel_dur_ms = run_timing( + num_calls=num_calls, + bs=bs, + d_model=d_model, + num_total_experts=num_total_experts, + top_k=top_k, + tp_size=tp_size, + model_intermediate_size=model_intermediate_size, + config=config, + ) + + kernel_dur_us = 1000 * kernel_dur_ms + # model_dur_ms = kernel_dur_ms * num_layers + + if kernel_dur_us < best_time_us: + best_config = config + best_time_us = kernel_dur_us + + filename = get_config_file_name(num_total_experts, + model_intermediate_size // tp_size, + dtype=None) + print(f"writing config to file {filename}") + existing_content = {} + if os.path.exists(filename): + with open(filename, "r") as f: + existing_content = json.load(f) + existing_content[str(bs)] = best_config + with open(filename, "w") as f: + json.dump(existing_content, f, indent=4) + f.write("\n") + + +def run_timing( + num_calls: int, + bs: int, + d_model: int, + num_total_experts: int, + top_k: int, + tp_size: int, + model_intermediate_size: int, + config, +) -> float: + shard_intermediate_size = model_intermediate_size // tp_size + print("run timing") + hidden_states = torch.rand( + (bs, d_model), + device="cuda", + dtype=torch.float16, + ) + + w1 = torch.rand( + (num_total_experts, 2 * shard_intermediate_size, d_model), + device=hidden_states.device, + dtype=hidden_states.dtype, + )/100 + + w2 = torch.rand( + (num_total_experts, d_model, shard_intermediate_size), + device=hidden_states.device, + dtype=hidden_states.dtype, + )/100 + a2_scales = torch.rand((hidden_states.shape[1]), + device = hidden_states.device, + dtype=hidden_states.dtype) + gating_output = F.softmax( + torch.rand( + # (num_calls, bs, num_total_experts), # THIS + (bs, num_total_experts), + device=hidden_states.device, + dtype=torch.float32, + ), + dim=-1, + ) + + ###### Stuff from fused moe ###### + hidden_states_quant,hidden_states_scales = dynamic_quan_torch_impl(hidden_states) + w1_quant, w1_scales = dynamic_quan_torch_impl(w1) + w2_quant, w2_scales = dynamic_quan_torch_impl(w2) + assert (hidden_states.shape[0] == gating_output.shape[0] + ), "Number of tokens mismatch" + assert hidden_states.shape[1] == w1.shape[2], "Hidden size mismatch" + assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" + assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" + assert w1.is_contiguous(), "Expert weights1 must be contiguous" + assert w2.is_contiguous(), "Expert weights2 must be contiguous" + assert hidden_states.dtype in [ + torch.float32, torch.float16, torch.bfloat16 + ] + start_event = torch.cuda.Event(enable_timing=True) + end_event = torch.cuda.Event(enable_timing=True) + start_event.record() + output = fused_moe_int8_a8w8(hidden_states_quant, + w1_quant, + w2_quant, + gating_output, + w1_scales, + w2_scales, + hidden_states_scales, + a2_scales, + top_k, + renormalize=False, + inplace=False) + hidden_states_dequant = hidden_states_quant * hidden_states_scales[:, None] + w1_dequant = w1_quant * w1_scales[:, :, None] + w2_dequant = w2_quant * w2_scales[:, :, None] + out_ref = torch_moe(hidden_states_dequant, + w1_dequant, + w2_dequant, + gating_output, + top_k, + ) + diff = ~torch.isclose( + output.half().cpu(), out_ref.half().cpu(), rtol=1, atol=1 + ) + #print("output:",output) + #print("out_ref:",out_ref) + assert(diff.sum() < 10) + #print("diff sum :",diff.sum()) + end_event.record() + end_event.synchronize() + + dur_ms = start_event.elapsed_time(end_event) / num_calls + return dur_ms + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + prog="benchmark_mixtral_moe_rocm", + description="Tune the fused_moe kernel for mixtral.") + parser.add_argument( + "--TP", + type=int, + choices=[8, 4, 2, 1], + help="Specify the TP value that the actual model will run on", + required=True, + ) + parser.add_argument( + "--GPUID", + type=str, + help="This script uses single GPU. Specify the GPU to use for tuning", + default="0", + ) + parser.add_argument('--model', + type=str, + choices=['8x7B', '8x22B'], + help='The Mixtral model to benchmark') + + args = parser.parse_args() + + print(f"Running tuning for {args.model} model") + print(f"TP is set to: {args.TP}") + print(f"GPU-ID being used for tuning: {args.GPUID}") + sys.exit(main(args)) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm_backup.py b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm_backup.py new file mode 100755 index 000000000..831aca849 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm_backup.py @@ -0,0 +1,434 @@ +import argparse +import json +import os +import sys +import unittest +import torch +import torch.nn.functional as F +import triton +import triton.language as tl +from tqdm import tqdm +_path = os.path.abspath(os.path.dirname(__file__)) +sys.path.insert(0, f'{_path}/../') +#import vllm._moe_C as moe_kernels +import rocmKernels as ops +from rocm_kernels.fused_moe_int8_a8w8 import (fused_moe_int8_a8w8, + scaled_int8_quant) +from rocm_kernels.fused_moe_custom import (fused_moe_int8_a8w8_custom, + get_config_file_name, + triton_dynamic_quantize) + + +def main(args): + os.environ["HIP_VISIBLE_DEVICES"] = args.GPUID + os.environ["HIP_FORCE_DEV_KERNARG"] = "1" + os.environ["DEBUG_CLR_GRAPH_PACKET_CAPTURE"] = "1" + os.environ["OPTIMIZE_EPILOGUE"] = "1" + + for bs in [ +# 1, +# 2, +# 4, +# 8, + 16, +# 24, +# 32, +# 48, +# 64, +# 96, +# 128, +# 256, +# 512, +# 1024, +# 1536, +# 2048, +# 3072, +# 4096, + ]: + run_grid(bs, model=args.model, TP=args.TP) + + +## Utilize method from rocm/Triton tuning script +def get_full_tuning_space(): + configs = [] + + #block_mn_range = [16, 32, 64, 128, 256] + block_mn_range = [32] + #block_k_range = [32, 64, 128, 256] + block_k_range = [32] + block_mn_range = [16] + # block_k_range = [64] + #split_k_range = [1, 2, 4, 5, 6, 8, 10, 12, 16, 18, 24] + split_k_range = [4] + #num_warps_range = [1, 2, 4, 8] + num_warps_range = [2] + # num_warps_range = [1] + #group_m_range = [1, 4, 8, 16, 32] + group_m_range = [1] + # group_m_range = [1] + # For now we see better perf with num_stages=0 for all gemm configs we care + # But keep this explicit so that we do not forget we may need to set it to + # other values in the future + num_stage_range = [0] + waves_per_eu_range = [0] + matrix_instr_nonkdim_range = [16] + #matrix_instr_nonkdim_range = [16, 32] + kpack_range = [ 2] + + for block_m in block_mn_range: + for block_n in block_mn_range: + for block_k in block_k_range: + for num_warps in num_warps_range: + for group_m in group_m_range: + # for split_k in split_k_range: + for num_stages in num_stage_range: + for waves_per_eu in waves_per_eu_range: + for (matrix_instr_nonkdim + ) in matrix_instr_nonkdim_range: + for kpack in kpack_range: + configs.append({ + "BLOCK_SIZE_M": block_m, + "BLOCK_SIZE_N": block_n, + "BLOCK_SIZE_K": block_k, + "GROUP_SIZE_M": group_m, + "num_warps": num_warps, + "num_stages": num_stages, + }) + + return configs + + +## Utilize method from rocm/Triton tuning script +def prune_configs(M, N, K, configs): + pruned_configs = [] + elemBytes_a = 2 # [DV Note] Hard-coded for float16 (2 bytes) + elemBytes_b = 2 # [DV Note] Hard-coded for float16 (2 bytes) + + mfma = 16 if M < 32 or N < 32 else 32 + + # TODO (zhanglx): figure out the boundary between large and small gemms + large_gemm = False + if M >= 2048 and N >= 2048: + large_gemm = True + + for config in configs: + BLOCK_SIZE_M = config.get("BLOCK_SIZE_M") + BLOCK_SIZE_N = config.get("BLOCK_SIZE_N") + BLOCK_SIZE_K = config.get("BLOCK_SIZE_K") + num_warps = config.get("num_warps") + if mfma == 4 and BLOCK_SIZE_K < 64: + continue + if BLOCK_SIZE_M * BLOCK_SIZE_N < 64: + continue + SPLIT_K = 1 # config.get("SPLIT_K") + GROUP_M = config.get("GROUP_SIZE_M") + # Skip BLOCK_SIZE that is too large compare to M/N + # unless BLOCK_SIZE is already small enough + if M * 2 < BLOCK_SIZE_M and BLOCK_SIZE_M != 16: + continue + if N * 2 < BLOCK_SIZE_N and BLOCK_SIZE_N != 16: + continue + # skip large split_k when not necessary + if SPLIT_K != 1 and not need_split_k(M, N, K): + continue + # skip split_k that leads to EVEN_K = false + leap = SPLIT_K * BLOCK_SIZE_K + modv = K % leap + if modv != 0: + continue + # skip large GROUP_M + if GROUP_M * BLOCK_SIZE_M > M and GROUP_M != 1: + continue + # out of shared memory resource + # TODO (zhanglx): This does not consider the LDS usage in the epilogue + LDS = (BLOCK_SIZE_K * BLOCK_SIZE_M * elemBytes_a + + BLOCK_SIZE_K * BLOCK_SIZE_N * elemBytes_b) + if LDS > 65536: + continue + # Skip small block sizes and num_warps for large gemm + # For fp16 and f8, we want to only use BLOCK_SIZE >= 64 + if large_gemm: + if BLOCK_SIZE_M < 64 or BLOCK_SIZE_N < 64: + continue + if BLOCK_SIZE_K < 64: + continue + if num_warps < 4: + continue + + pruned_configs.append(config) + + return pruned_configs + + +def union_of_list_of_dicts(l1, l2): + result = [] + temp_list = l1.copy() + temp_list.extend(l2) + for myDict in temp_list: + if myDict not in result: + result.append(myDict) + + return result + + +def need_split_k(SIZE_M, SIZE_N, SIZE_K): + return (SIZE_M < 64 or SIZE_N < 64) and SIZE_K > 1024 + +def torch_moe(hidden_states, w1, w2, score, topk): + #print("in side torch moe w1, w2", w1, w2, hidden_states) + B, D = hidden_states.shape + hidden_states = hidden_states.view(B, -1, D).repeat(1, topk, 1).reshape(-1, D) + out = torch.zeros( + B * topk, + w2.shape[1], + dtype=hidden_states.dtype, + device=hidden_states.device, + ) + score = torch.softmax(score, dim=-1, dtype=torch.float32) + topk_weight, topk_ids = torch.topk(score, topk) + #print("torch topk_weight",topk_weight,"topk_ids",topk_ids) + topk_weight = topk_weight.view(-1) + topk_ids = topk_ids.view(-1) + for i in range(w1.shape[0]): + mask = topk_ids == i + if mask.sum(): + silu_input = hidden_states[mask] @ (w1[i].transpose(0, 1)) + # + d = silu_input.shape[-1] // 2 + silu_output_shape = silu_input.shape[:-1] + (d,) + silu_out = torch.empty( + silu_output_shape, dtype=silu_input.dtype, device=silu_input.device + ) + ops.silu_and_mul(silu_out, silu_input) + # + out[mask] = silu_out @ (w2[i].transpose(0, 1)) + #out = out + 2.0 + return ( + out.view(B, -1, w2.shape[1]) * topk_weight.view(B, -1, 1).to(out.dtype) + ).sum(dim=1) +def dynamic_quan_torch_impl(input): + max_input = input.abs().max(-1, keepdim=True)[0] + scale = max_input / 127.0 + out = torch.round(input / scale) + return out.to(torch.int8), scale.half().squeeze(-1) +def run_grid(bs, model, TP): + if model == '8x7B': + d_model = 4096 + #d_model = 32 + model_intermediate_size = 14336 + elif model == '8x22B': + d_model = 6144 + model_intermediate_size = 16384 + else: + raise ValueError(f'Unsupported Mixtral model {model}') + + num_total_experts = 8 + top_k = 2 + tp_size = TP + num_calls = 100 + + num_warmup_trials = 1 + num_trials = 1 + + full_configs = get_full_tuning_space() + M1 = bs * 2 + N1 = model_intermediate_size * 2 // tp_size + K1 = d_model + prune_configs_1 = prune_configs(M1, N1, K1, full_configs) + + M2 = bs * 2 + N2 = d_model + K2 = model_intermediate_size // tp_size + prune_configs_2 = prune_configs(M2, N2, K2, full_configs) + + configs = union_of_list_of_dicts(prune_configs_1, prune_configs_2) + print(f"{bs=} || {len(full_configs)=} | {len(prune_configs_1)=} | \ + {len(prune_configs_2)=} | {len(configs)=}") + + best_config = None + best_time_us = 1e20 + + for config in tqdm(configs): + print("have config") + # warmup + try: + for _ in range(num_warmup_trials): + run_timing( + num_calls=num_calls, + bs=bs, + d_model=d_model, + num_total_experts=num_total_experts, + top_k=top_k, + tp_size=tp_size, + model_intermediate_size=model_intermediate_size, + config=config, + ) + except triton.runtime.autotuner.OutOfResources: + continue + + # benchmark + for _ in range(num_trials): + kernel_dur_ms = run_timing( + num_calls=num_calls, + bs=bs, + d_model=d_model, + num_total_experts=num_total_experts, + top_k=top_k, + tp_size=tp_size, + model_intermediate_size=model_intermediate_size, + config=config, + ) + + kernel_dur_us = 1000 * kernel_dur_ms + # model_dur_ms = kernel_dur_ms * num_layers + + if kernel_dur_us < best_time_us: + best_config = config + best_time_us = kernel_dur_us + + filename = get_config_file_name(num_total_experts, + model_intermediate_size // tp_size, + dtype=None) + print(f"writing config to file {filename}") + existing_content = {} + if os.path.exists(filename): + with open(filename, "r") as f: + existing_content = json.load(f) + existing_content[str(bs)] = best_config + with open(filename, "w") as f: + json.dump(existing_content, f, indent=4) + f.write("\n") + + +def run_timing( + num_calls: int, + bs: int, + d_model: int, + num_total_experts: int, + top_k: int, + tp_size: int, + model_intermediate_size: int, + config, +) -> float: + shard_intermediate_size = model_intermediate_size // tp_size + print("run timing") + hidden_states = torch.rand( + (bs, d_model), + device="cuda", + dtype=torch.float16, + ) + + w1 = torch.rand( + (num_total_experts, 2 * shard_intermediate_size, d_model), + device=hidden_states.device, + dtype=hidden_states.dtype, + )/100 + + w2 = torch.rand( + (num_total_experts, d_model, shard_intermediate_size), + device=hidden_states.device, + dtype=hidden_states.dtype, + )/100 + a2_scales = torch.rand((hidden_states.shape[1]), + device = hidden_states.device, + dtype=hidden_states.dtype) + gating_output = F.softmax( + torch.rand( + # (num_calls, bs, num_total_experts), # THIS + (bs, num_total_experts), + device=hidden_states.device, + dtype=torch.float32, + ), + dim=-1, + ) + + ###### Stuff from fused moe ###### + hidden_states_quant,hidden_states_scales = dynamic_quan_torch_impl(hidden_states) + w1_quant, w1_scales = dynamic_quan_torch_impl(w1) + w2_quant, w2_scales = dynamic_quan_torch_impl(w2) + assert (hidden_states.shape[0] == gating_output.shape[0] + ), "Number of tokens mismatch" + assert hidden_states.shape[1] == w1.shape[2], "Hidden size mismatch" + assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" + assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" + assert w1.is_contiguous(), "Expert weights1 must be contiguous" + assert w2.is_contiguous(), "Expert weights2 must be contiguous" + assert hidden_states.dtype in [ + torch.float32, torch.float16, torch.bfloat16 + ] + start_event = torch.cuda.Event(enable_timing=True) + end_event = torch.cuda.Event(enable_timing=True) + start_event.record() + output = fused_moe_int8_a8w8(hidden_states_quant, + w1_quant, + w2_quant, + gating_output, + w1_scales, + w2_scales, + hidden_states_scales, + a2_scales, + top_k, + renormalize=False, + inplace=False) + output_custom = fused_moe_int8_a8w8_custom(hidden_states_quant, + hidden_states_scales, + w1_quant, + w1_scales, + w2_quant, + w2_scales, + gating_output, + top_k, + renormalize=False, + inplace=False) + hidden_states_dequant = hidden_states_quant * hidden_states_scales[:, None] + w1_dequant = w1_quant * w1_scales[:, :, None] + w2_dequant = w2_quant * w2_scales[:, :, None] + out_ref = torch_moe(hidden_states_dequant, + w1_dequant, + w2_dequant, + gating_output, + top_k, + ) + diff = ~torch.isclose( + output.half().cpu(), out_ref.half().cpu(), rtol=1, atol=1 + ) + print("output:",output) +# print("output custom:",output_custom) + print("out_ref:",out_ref) + assert(diff.sum() < 10) + print("diff sum :",diff.sum()) + end_event.record() + end_event.synchronize() + + dur_ms = start_event.elapsed_time(end_event) / num_calls + return dur_ms + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + prog="benchmark_mixtral_moe_rocm", + description="Tune the fused_moe kernel for mixtral.") + parser.add_argument( + "--TP", + type=int, + choices=[8, 4, 2, 1], + help="Specify the TP value that the actual model will run on", + required=True, + ) + parser.add_argument( + "--GPUID", + type=str, + help="This script uses single GPU. Specify the GPU to use for tuning", + default="0", + ) + parser.add_argument('--model', + type=str, + choices=['8x7B', '8x22B'], + help='The Mixtral model to benchmark') + + args = parser.parse_args() + + print(f"Running tuning for {args.model} model") + print(f"TP is set to: {args.TP}") + print(f"GPU-ID being used for tuning: {args.GPUID}") + sys.exit(main(args)) From 363b99222037033569bb001269d358b6e9f2e45a Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Thu, 24 Oct 2024 05:24:47 +0000 Subject: [PATCH 42/50] remove redundant files --- .../.benchmark_mixtral_moe_rocm.py.swn | Bin 16384 -> 0 bytes .../.benchmark_mixtral_moe_rocm.py.swo | Bin 16384 -> 0 bytes .../.benchmark_mixtral_moe_rocm.py.swp | Bin 32768 -> 0 bytes .../llm_perf/backends/ROCM/test_moe_int8/1 | 305 ------------------ ...2,device_name=AMD_Instinct_MI308X_OAM.json | 111 ------- 5 files changed, 416 deletions(-) delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swn delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swo delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swp delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swn b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swn deleted file mode 100644 index 2e7d6a50840281a3357ff7443931792ab79eb618..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeHOOKc=Z8Lotcgw10U0v8UbGIQ`)n#{|Obyji|k3H)hY_BJ?V+&zft@cdKOlP{Q zd%J3EFDoa?;|fxO#05AaA^{SD8%P1JQIh3|B5_GLBb3~-dGJ*~=FuLn?LBbWYUxwg z#M(~tEy}E3ft8Ux{xapTu%}5`QzX1Jo?CAo=iVZi0`^m6`yw5Zqu~8u8_GP z)p8xv;uDne4wreSRmh7j;~j4DylqM*WO-xV%a?CTwy|DgemlR1q+#(k^9@hsZQBVG zduFr8cuVB#o68${rJCPkyxDb3zh^ksq4Z7La9n2iZqvzmHz)X@i!=lGF9T1InNqQ! z`kzicOP~4n*8NL`?zv__GoTsJ3}^;41DXNNfM(!6WI%cklULF22cy1sqx%Di``6Lc ziOQ`+{Z~=F7nT1bQU7J4{>7+)xScPe`fo*ge@N6v#rmch&Gy|Fe&46Y=GoTsJ z3}^;41DXNNz&$Wvwg`C|dLO9uHopJI>;L~=B;?<~N5F01ufQLHw}Cf-4)7B2ec;ZM zg!~hD7q|s10T+PVPZ07JunlYh4PXU$8u$d~3w{T@4!j2308HQ|UYUq433 ze}I1h?*o4Z-T{6Nya9N?F7N~35>NoXygm28(@HT~9eO}E8bwC(z|ZM&u{&eKeZsxud2nkWmN-{-7l zG+o}dIs!&^c1er1!}7Q|vyr9OvUDv=Bf06zB%P*P(z2}|GwLweb8^mXR`0}*iKlc%1^tFLU&ISLw!1sN%cIOA4y%N!97dPpg7Q_ zjwyZX5T{av^bPLvUdwXMX(BbrM(XnU{74;``xslCi!oRqeHqQ3)t|8ADc*MsAzi9O<9hW+6=MUwbbPn(8E2+9>P~rmb9pT^vIZl2IE&OX zdgt_H#K^UQ5q|GRRChv8&e5IdiOQLthtp1(TW5+8^*jfGO)VZK4BzA(cE3rK8*`Vn*U* z)WD>wEG>mrqDICeIn<`HZ@Cy|@);r;J z&lNew_buP$JE_fDqq?D{0+m{IeRFlIlG;V6rHZM*l~Ku+N_lJ5SYEFitM#SYRin1F zyjE!#%S*M!R{dnPtJRuuWwX9qF;*(u##*I*ZK=L`Vk1g=yL!D^UJvA}%a!YaY!D!; zwXNz(FgaF7o-?Wpk%-fkqpY2jRtJ?$+v;#5d?ExU&eLa8wfMfnfe^JE&-EqEs7EM#u8g*2GlQEB8z1PCToyR!jTS8~7mOQylgqPB!6!F( z7gxg;%!Px6fzyL-4C}Ha>XBMutOX1RY6|Llf~2FWeHGy|Fe&46Y=GoTsJ4E#SBP+JvhCC?5miSG~bE=>F>6I&ITb_)A6 z&sA5jtE)afs!fw%3pdU|!3){MSxs_m`N zX0U;H6mBWPGEvT|#;~OjEWdqhD_|9FsIp8{uVj)}m)YLpR0Dh98{xm)Lz8MFd+-N% hY*!@J;(W8~T1_SvccvB&FO{dV6!%i8Jhhu8{{y#5v_${_ diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swo b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swo deleted file mode 100644 index 0ddfaafcf0521c086c9d2f063cfe497cf9d8f3bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 LoD$tEi`styZ1+e* diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swp b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/.benchmark_mixtral_moe_rocm.py.swp deleted file mode 100644 index 856d12c537786b57d4bb6948982447bbc46faa61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI5e~cVgeZV)6gr5P21SqtK@m?G6!Flg)eKwBCQeyjJoAaG7_Sp~|XV}}Fz1!aI z%w}fx&KF|>s300a+Yk~V)T*TAmneuIQUN72BL1`&TLm>r%AoTNn z@6FE4-mLFz2?SzC`gm_<-jDBm-;a6k`@U~HKX&ZEw6(K1p5xe*%N=>-;)U~{cIR_$ zx*(VHJuj5Y>m5z6T4^qNL0D9O)x1`v;bue{ZMorSt2QXPHug3-f=_DqjT)X{mztuD4I{*v8l zoDBU+({6c=?R(W$vAvoh!{E|D1HY3R=!EsHJ1;uAtu#I+&p(vkY+draqra1?7(Dbq z0|N~VG%(P>Km!8}3^Xv%z(51Ps~QN~7v^r{;h$m@aIyJ4ujluCbAFxqeQwWv%mwPW z-uyPrZdF)698bey2>tDE?E;^=FvhyL#@M%Y&bR1_l}!Xkeg$fd&Q| z7-(Rifq@1F8W?C`pn-t~1{%oFK&6(;J#kSkcg=IS$@+gZ|Nj9K{O`g8a6jA!_rUFN z3oOGMz=kpm!875@q;m^Mdi!A~TmWAqkN3kebijdQun%^^FuVw!0Z%+Tm-`-k1HJ^G zgAc=P@TcIz8(;>mfbH-UI1h4g|Fd$rPs8o-ehA?JJOdtnW-fO(v|%&k;9-mkUxL4Z zx5L|D9$pC-!?&NF%Y7U=unT^SvEuWv3_IbM7&q>K4vfL~F@}5?D)2)1H;gAY!%=t{ z48sfH`EV(G2jj+F@FA!{9yY^IFv|QGJ_@%$0N23lpbXD~Z(s-cdSoO?mak=w-3Jft znX-=@c>Sb3W0kF{=hhnw#RVrU3Ktz~-s`xvioa^jJK>7sxRy#t%PCc%gH`+F$W&TdQ8psac|o zdef_fBw8q0;>Z$c#l|T}p68N6+wZte&DI4NkjU{9xtdeA)b;3cVS2=x8L_5DqLLWi zl^Ytej)sk9;|9lSIpLy*n7-Gt#7Aay&ToXCYlR)R;VxJ~)o--LyX>9{7HDOhwbztqO7C%?;5zazQm`bK_RmC$dT#8oH=ecScirCOtPb}8hulE~{i zxDg2?On#-ZOwGVm$#yzCNb>Y7rExngI|wTaPCz>G$vLF5Qt{hSBI@t6Ok>~SLq}(I zw=s<@3%=KB+h?oXL7RVNH%qn6+=RsN-JT_pS>aDP;MNm z?TJO;RN3Y%8ykD0br_G&4U^yo#qG}_w0*?!o&{}bJ-lXU2kzP zys#JiMy)U(j94v(GtDwXx1gy09I@tR_37NKe!rhc_hJ)cm+wgT$=k+WQA%Ht!Cv~x z`1Wl*vBt+r6X`J9(X`Tn2q_0TOkWVq=F~0oPp>GbKXt!XjBUL+^n|CJQ}KJU>j~YH z*tm|Xx&YORm52BB z%|t>UJ8@7L8fq)^gB(voBuG1XJb%(a*N>J>Eu^O$m=Z987T90m0cD>PbY`4;K zMshN3veMSD*a)@uhj6HUg;Q!1ChssvWzj*cTz?2$XMI7~EDqT%&5`hA_d{2e99 z=#|lTvB{vI!=O(hht2fO?wRLT7mKdTqr(e+%>TdqC#@On23BFLU`nhj)PsEw~&mfd@?ZyCu%x7-(Rifq@1F8W?C` zpn-t~1{xS>V4#741_l}!XyDhO0kI=6-7PvN8zIK-$ReT52yMUNhJ|__o5j`xd$BXh zDwo&{lu=O|&vsd-V!Os^v#J?IoSU_wzJdP znnubw5mqw8xTB`ueo_6{a;;$QOPJnc(P_5JTjsFJPU~InI!Q6Db~nIp>2EoyE_#is z6O@l{*?IC6ySI#3{FX|)x11PJ^Z%Eye*7ucl4brM`S*X8dHxdQVKZ2;3BJXg{}XT$ zW?&l1P=uGlCO8lNmv#Jy;45$sdhto?r-WZnNJ zScQ{t5H`a@tmWSY?}h#F1nc-;hr8f*Sb^){1nh!K;CmQ1J`1wGKMl`=`&iF^56r+O z_!{f^?}ll3I{Xvs`8UGl@EB|Pe-91V3QvLa;D1=de-s{pJK;8X6I=m5V;%nqxF7C= zx55%k!8nY;^Wi(_UzNeHqs{y_=MgoH!m+cpm(MdHq-5^YAt}2E%YE{3rAFJK!d`8m@pxnWxJf{?8zU%i#jJm-+hV z;LWfEuY~jAG3MxZ!mV%`7T_>!hhH#P|1Y>3u7@4)bLQ*ch5O-VxEjPi|Ecib%-z2T zpMaa;B&@*IFbg|iJ50bP$ic(R@$ZFC!e2lOn(%tK23`k6c$_)^kKl*!Rrp8v5WESh za1j0wUJT#F2Jisf4WEYF;a%`f@WF=bU>gjoWgSH?BEBUYY&xTh3MzbtM&5`Uf# zE!ttD<=7puT#Y-WvG}@)TE-dPb>jRa-l?YJ7E%=pDOH(gcV07yzbP6X}K^T zSTD284un+B_V`*^c#0XAf(%(CLNfgsxzJBIGVK*`TEZK7ERJLr-09>A0_;7YT^~~;$ zg4!4~&6bxP6SDcm>=TmHVYO>UU6`_7h0kkgLM1Fdy*QjIA8iwT#KbedQ@y$PPS9zx zuLRw64}C3isBf+ArDetzY-vj+#EbMw6yRVv(<-(V%LW-EBGXGp4Uc&#Aj6)4xdG z(ZP+d;hNo1(M7aiT1q>hh$i9+6NTs(EnyvKmKtqK@7hxCp_cTV_+FA) ztQDyXdXJav?8-%Yk>54CLDGYJk5HF)Y{&077S%+GMX{&ocoU~HoW>it=HqHA$(5}_ zB4|&{=~T>$_41s_j2&dXTiNEswZ7)@h~h|(^g*MBSG@S*OFo@ITttm?zSC|ry@f<| z!G|9geXni>i@3$t*y+{s*ak<{_Bwu5yYWX^XDLS8#YEi1!>~n#}e z%S#z){hJ`&2bA2ha-tVpwn%3zPDfoTTT|8_Sxu*+hb0nSPSEd>*@Fk>ddp-gCn4l8 zQkX7DZ%80!4QE=}839o;~bPD%@r6f1n< zT9u>gu<{nLC9xY`;$`6?QWFoO?DTZWXLkyUj zNShErmOm>^A9b#pw&=KCXJN7XG^U-#$?5_iTIhMEYE-=z>zt01$Mon-H)=mcWNmnn z-a%_4^DYk(OJL8$g>$xfXeDhRkLh*tkc{P!cU8tVMOs!;;6!zzm&)9pV$ z)HKs;VEU?lyPGv_i4fIqsopdkYEE}Iu(_28ED^HmRzmQe4x{(oFeE+oJe`>Io{r1N zjPV&2MCy~&ELGX`kWezCC3!7}O0!C57La$RNncM3T=D!R2HzgBd2i4MRx4&lutbw1 zOHREIR<oBp2RLv9ejhFb+2=3o z{`bNM;my#1{cs8Vn7RK~;XTlS1*pSz_yzO-pM&h(|0tY>H^LS0IP?FHz=uKX0!LvE zitrQc0H1&x;Sg+xOW{#$0QbPH;KP;ha(EdG!;9bo_^HhM;a}hm_z1imZU7gy!U#MY z{*Sr;zr#InC&-@v55hc@;l*$%Tmnxr_x}RC4_4rMXv5V|hV$Xu%=bS7x57^o++dg8X;s3!5TE3x@RZER<&RPt1I!0Eg5X5V{GB26<}|2B}q=psK&`wIw2_(IYhZ}rXhQ%TsACa`eHgI zwXsop%apC4C%Yl5AVHJ`Vg!rFh?;Bk#E`-J{sTvHkqBBk_IB3_>RL)cw6Lp+fmaV( zm6L@v4=-(^S9ZA;i@u@fQ$nYt9Er>jBWg-e<0}b0Mkw>-D`IL&K7o3KMEU#*MJzE& zl?h9RbY1x)F~tJ4u9%5>lH9aubeOMpYL$GfT2&*AwZ>$VszzBk_7Rt${merNTi>v? z^;P-~8-L@;?qIi}D7>y%I%}_lfuT!U$G?DM9Xi5A{wV>2pK33CotW!}!k=a`$ zKhvRmKrye!PjII2eJWDIq^qk_BnMi`+7X-4rQ{^rA#2fVGPxFmofOJQ;xDS|iReYZ zc%9QiK2cbCdQ@3U&>GQCGn5KvRvDsz=5#o&d|Cqe7bEnRQ>Ie0T%ZlNYkN7lC3Rb` zid@HO7@-rFqwg(6vDVgNEqq!3#NBfgp-+V__qo0{fv8B$Z$<#=M;T=B z@7kMdI@R);D{CV~71R8#4Zs=~ql=U(<#{D(HTY1O=wV1IP)e~BQ?iei1mqB-s4dfE z^|=|{kktZA!pty4WibDBTDl@q3TaEUbF%8RvD)g*>f|S_vRGlY8Gm=jFCOZIhw6uo zp^;C2DG?I?tSxW3xlWl&kUr(R@p6|$)-8J#=uG7=0oIiGM(Th>T(=%bpgwg$ZmnA% zBv4izkn0)sKrj57RX3`G%>Q4?%l&E0A!YqP`u_e8nd^TUJ__=!Kk)(h1Na$p{C|b_ zKm&HcFPYoR+W%j{+aZLb@B-Kb@(sT)!j14Icr8r8bKw!@_YcDt;5N7(W?6J7!r!6VG|#n=Cna2vcC=HWGP8C(L7 zGsk}r#9zRH*TAdckKqT*=^ump;N$Su@J6@}UJaMQCJ>*12jDaC0k{?30wuT*zR!IA zA$SnJ1RsZwfd?nxS~w1`h8M$Q%=teB?}c~3GQ18hhM!SpkHa_Ni|`p(0I>@kgkg|! zy%5$pq_$)oYV0pB`JCJ}dsZs7n(SEVh()ikW$RYePPgbFabsrySz*<$oF7Y!xYb6M zyjtndADfd!AU4=APGV@pHl3n%r0rB2^;Na*!37yN$wHCTWxc;9kz86l5i!4YtNK8R z36v#qPQt}<`p)&821_Po`8Z+RA!|vK!mt-eeIZF3xMf+UQVlzNheJI-A1>nag0w`| zwh|I{x8AV+#Ycd!o{Y2WMkJ6!$=@B{%N69Gn_W+M30QNq0&#FC=jZ5%mBQkWo#^+3 zQk(goF^h@OI=0k>GDEX||9NIg0^Twdw^C*CN>lE$^7RnEkYkWxs}HEyn3DKpjcv;w zEZgQAdiu3umPz%nBBvx*gCG*c;^c?6vrIKAI?YO3zU3nCmIBMR`tqJ zMiw?Y_;jdpED$WRg2^W(Q&Y*Jwtk@^Jw=TI=AxwJH){Ztu#8BMbS0H5`qdpCr4j8(mR~@@| zD_M7G1hI=uwNhPlwxtta>G`bE+6ajNef;JM@kocy_Y{Lhvtwhlv0I&HAuBzZdiO{* zUR-WCD+LTz*39s5oZfG1^@_^4YottTJ)?d6Cf2v{GuF4PyBQ^$e)5%`hL>v1anQas zO`4{>vl{7fxEj%$VR*9tOLth^j*MPX_ZMQhDo#pQN$*&h=c`rpl)N?7TT55IL~`Yfc*@|-oTHf~|sAd)H& z-Mz-evN5A63n0-0#r2=wt9xR)`?Zy2TUWz)ABC&h?E9;bkg0Trh%;i$DfN{uw&?zf zrOVXcOkcTT6Rwd<)j#!o=7plv%3CKo#Z6LPLgus>bXo)`(xHd>&ILA}uRZmbj8e1>18a^=?gkOs=THcUKZ5gN+<#XbSOzu9r}9 z6^7Q(`@zIBMORYmN6gemPfMDPwULqPxjxL<$)6HgkAcogN)h~AB~@|Ncrvk;u>pPe V${e+z=mnx%oYAfd%p;X@{||bM<){Dv diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 deleted file mode 100644 index a8f0e410a..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/1 +++ /dev/null @@ -1,305 +0,0 @@ -import random -import itertools -import torch -import os -import sys -_path = os.path.abspath(os.path.dirname(__file__)) -sys.path.insert(0, f'{_path}/../') -from rocm_kernels import paged_attn -from rocm_kernels.paged_attn import PagedAttention -import rocmKernels as ops -from typing import (List, Optional, Any, Dict, Sequence, Tuple, Union) -from utils import * - -FLOAT32_BYTES = torch.finfo(torch.float).bits // 8 - -# This will change depending on the compute capability. -VERSIONS = ["v1", "v2", "rocm"] -# - 512 as a buffer -# MAX_SEQ_LEN = get_max_shared_memory_bytes() // FLOAT32_BYTES - 512 -MAX_SEQ_LEN = (60 * 1024) // FLOAT32_BYTES - 512 -# There may not be enough gpu memory due to large NUM_BLOCKS. -# Reduce NUM_BLOCKS when it happens. -NUM_BLOCKS = 4321 # Arbitrary values for testing -PARTITION_SIZE = 512 -# flshattF and tritonflashattF supported: {torch.float16, torch.bfloat16} -DTYPES = [torch.half, torch.bfloat16] -NUM_GEN_SEQS = [7] # Arbitrary values for testing -NUM_PREFILL_SEQS = [3] # Arbitrary values for testing -NUM_HEADS = [(40, 40), (64, 8)] # Arbitrary values for testing - -# FlashAttention forward only supports head dimension at most 128 -# https://github.com/ROCmSoftwarePlatform/flash-attention/blob/3d2b6f5d037782cc2c906909a46fb7e2e1b48b25/csrc/flash_attn_rocm/flash_api.cpp#L62 -HEAD_SIZES = [64, 80, 96, 112, 120, 128, 192, 256] - -BLOCK_SIZES = [16, 32] -USE_ALIBI = [False, True] -KV_CACHE_DTYPE = ["auto"] -# KV_CACHE_DTYPE = ["auto", "fp8"] -SEEDS = [0] -CUDA_DEVICES = [ - f"cuda:{i}" for i in range(1 if torch.cuda.device_count() == 1 else 2) -] - - -def ref_masked_attention( - query: torch.Tensor, - key: torch.Tensor, - value: torch.Tensor, - scale: float, - attn_mask: Optional[torch.Tensor] = None, -) -> torch.Tensor: - attn_weights = scale * torch.einsum("qhd,khd->hqk", query, key).float() - if attn_mask is not None: - attn_weights = attn_weights + attn_mask.float() - attn_weights = torch.softmax(attn_weights, dim=-1).to(value.dtype) - out = torch.einsum("hqk,khd->qhd", attn_weights, value) - return out - -def ref_single_query_cached_kv_attention( - output: torch.Tensor, - query: torch.Tensor, - num_queries_per_kv: int, - key_cache: torch.Tensor, - value_cache: torch.Tensor, - block_tables: torch.Tensor, - seq_lens: torch.Tensor, - scale: float, - alibi_slopes: Optional[torch.Tensor], -) -> None: - num_query_heads = query.shape[1] - num_kv_heads = value_cache.shape[1] - head_size = value_cache.shape[2] - block_size = value_cache.shape[3] - num_seqs = query.shape[0] - - block_tables_lst = block_tables.cpu().tolist() - seq_lens_lst = seq_lens.cpu().tolist() - for i in range(num_seqs): - q = query[i].unsqueeze(0) - block_table = block_tables_lst[i] - seq_len = int(seq_lens_lst[i]) - - keys_lst: List[torch.Tensor] = [] - values_lst: List[torch.Tensor] = [] - for j in range(seq_len): - block_number = int(block_table[j // block_size]) - block_offset = j % block_size - - k = key_cache[block_number, :, :, block_offset, :] - k = k.reshape(num_kv_heads, head_size) - keys_lst.append(k) - - v = value_cache[block_number, :, :, block_offset] - values_lst.append(v) - keys = torch.stack(keys_lst, dim=0) - values = torch.stack(values_lst, dim=0) - if num_queries_per_kv > 1: - # Handle MQA and GQA - keys = torch.repeat_interleave(keys, num_queries_per_kv, dim=1) - values = torch.repeat_interleave(values, num_queries_per_kv, dim=1) - - alibi_bias = None - if alibi_slopes is not None: - # Create the ALiBi bias used in the paged attention kernel. - position_ids = torch.arange(seq_len).int() - alibi_bias = (position_ids - seq_len + 1).float() - alibi_bias = alibi_slopes.view(-1, 1, 1) * alibi_bias.view( - 1, 1, -1) - - out = ref_masked_attention(q, keys, values, scale, alibi_bias) - out = out.view(num_query_heads, head_size) - output[i].copy_(out, non_blocking=True) - - -def test_paged_attention( - version: str, - num_seqs: int, - num_heads: Tuple[int, int], - head_size: int, - use_alibi: bool, - block_size: int, - dtype: torch.dtype, - kv_cache_dtype: str, - seed: int, - device: str, -) -> None: - if ((kv_cache_dtype == "fp8" and head_size % 16) - or (version == "rocm" and head_size not in (64, 128))): - return - print("running test:", (num_seqs, num_heads, head_size, block_size, dtype, kv_cache_dtype)) - seed_everything(seed) - torch.set_default_device(device) - scale = float(1.0 / (head_size**0.5)) - num_query_heads, num_kv_heads = num_heads - query = torch.empty(num_seqs, num_query_heads, head_size, dtype=dtype) - query.uniform_(-scale, scale) - - assert num_query_heads % num_kv_heads == 0 - num_queries_per_kv = num_query_heads // num_kv_heads - alibi_slopes = None - if use_alibi: - alibi_slopes = torch.randn(num_query_heads, dtype=torch.float) - - seq_lens = [random.randint(1, MAX_SEQ_LEN) for _ in range(num_seqs)] - seq_lens[-1] = MAX_SEQ_LEN - max_seq_len = max(seq_lens) - seq_lens = torch.tensor(seq_lens, dtype=torch.int) - - # Create the block tables. - max_num_blocks_per_seq = (max_seq_len + block_size - 1) // block_size - block_tables_lst: List[List[int]] = [] - for _ in range(num_seqs): - block_table = [ - random.randint(0, NUM_BLOCKS - 1) - for _ in range(max_num_blocks_per_seq) - ] - block_tables_lst.append(block_table) - - block_tables = torch.tensor(block_tables_lst, dtype=torch.int) - - # Create the KV caches. - key_caches, value_caches = create_kv_caches_with_random(NUM_BLOCKS, block_size, 1, - num_kv_heads, head_size, - kv_cache_dtype, dtype, seed, - device) - key_cache, value_cache = key_caches[0], value_caches[0] - - # Using default kv_scale - k_scale = v_scale = 1.0 - - # Call the paged attention kernel. - output = torch.empty_like(query) - if version == "v1": - pa.paged_attention_v1( - output, - query, - key_cache, - value_cache, - num_kv_heads, - scale, - block_tables, - seq_lens, - block_size, - max_seq_len, - alibi_slopes, - kv_cache_dtype, - k_scale, - v_scale, - ) - - elif version in ("v2", "rocm"): - PARTITION_SIZE = 1024 if version == "v2" else 512 - num_partitions = ((max_seq_len + PARTITION_SIZE - 1) // PARTITION_SIZE) - assert PARTITION_SIZE % block_size == 0 - num_seqs, num_heads, head_size = output.shape - tmp_output = torch.empty( - size=(num_seqs, num_heads, num_partitions, head_size), - dtype=output.dtype, - ) - exp_sums = torch.empty( - size=(num_seqs, num_heads, num_partitions), - dtype=torch.float32, - ) - max_logits = torch.empty_like(exp_sums) - - if version == "v2": - pa.paged_attention_v2( - output, - exp_sums, - max_logits, - tmp_output, - query, - key_cache, - value_cache, - num_kv_heads, - scale, - block_tables, - seq_lens, - block_size, - max_seq_len, - alibi_slopes, - kv_cache_dtype, - k_scale, - v_scale, - ) - else: - pa.paged_attention_rocm( - output, - exp_sums, - max_logits, - tmp_output, - query, - key_cache, - value_cache, - num_kv_heads, - scale, - block_tables, - seq_lens, - block_size, - max_seq_len, - alibi_slopes, - kv_cache_dtype, - k_scale, - v_scale, - ) - else: - raise AssertionError(f"Unknown version: {version}") - - ref_output = torch.empty_like(query) - ref_single_query_cached_kv_attention( - ref_output, - query, - num_queries_per_kv, - key_cache, - value_cache, - block_tables, - seq_lens, - scale, - alibi_slopes, - ) - - # NOTE(woosuk): Due to the kernel-level differences in the two - # implementations, there is a small numerical difference in the two - # outputs. Thus, we use a relaxed tolerance for the test. - atol = get_default_atol(output) if is_hip() else 1e-3 - rtol = get_default_rtol(output) if is_hip() else 1e-5 - - # NOTE(zhaoyang): FP8 KV Cache will introduce quantization error, - # so we use a relaxed tolerance for the test. - atol, rtol = 1e-3, 1e-5 - if kv_cache_dtype == "fp8": - atol, rtol = 1e-2, 1e-5 - torch.testing.assert_close(output, ref_output, atol=atol, rtol=rtol) - print(" test passed!") - - -def test_iters(): - param_combinations = itertools.product( - VERSIONS, - NUM_GEN_SEQS, - NUM_HEADS, - HEAD_SIZES, - USE_ALIBI, - BLOCK_SIZES, - DTYPES, - KV_CACHE_DTYPE, - CUDA_DEVICES - ) - for combination in param_combinations: - version, num_seqs, num_heads, head_size, use_alibi, \ - block_size, dtype, kv_cache_dtype, device = combination - test_paged_attention(version=version, - num_seqs=num_seqs, - num_heads=num_heads, - head_size=head_size, - use_alibi=use_alibi, - block_size=block_size, - dtype=dtype, - kv_cache_dtype=kv_cache_dtype, - seed=0, - device=device) - - -if __name__ == "__main__": - test_iters() diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json deleted file mode 100644 index 36919fa9a..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/E=8,N=1792,device_name=AMD_Instinct_MI308X_OAM.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "1": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 32, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 1, - "num_warps": 2, - "num_stages": 0 - }, - "2": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 256, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 1, - "num_warps": 1, - "num_stages": 0 - }, - "4": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 32, - "BLOCK_SIZE_K": 64, - "GROUP_SIZE_M": 1, - "num_warps": 1, - "num_stages": 0 - }, - "8": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 1, - "num_warps": 4, - "num_stages": 0 - }, - "16": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 1, - "num_warps": 2, - "num_stages": 0 - }, - "24": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 64, - "GROUP_SIZE_M": 1, - "num_warps": 2, - "num_stages": 0 - }, - "32": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 64, - "GROUP_SIZE_M": 1, - "num_warps": 4, - "num_stages": 0 - }, - "48": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 32, - "GROUP_SIZE_M": 4, - "num_warps": 2, - "num_stages": 0 - }, - "64": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 256, - "GROUP_SIZE_M": 4, - "num_warps": 8, - "num_stages": 0 - }, - "96": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 16, - "GROUP_SIZE_M": 4, - "num_warps": 4, - "num_stages": 0 - }, - "128": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 16, - "GROUP_SIZE_M": 1, - "num_warps": 4, - "num_stages": 0 - }, - "256": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 16, - "GROUP_SIZE_M": 1, - "num_warps": 2, - "num_stages": 0 - }, - "512": { - "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 16, - "BLOCK_SIZE_K": 64, - "GROUP_SIZE_M": 1, - "num_warps": 8, - "num_stages": 0 - }, - "1024": null, - "1536": null, - "2048": null, - "3072": null, - "4096": null -} From 78096be66b3df13a573681bf521c8988faabcb6d Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 24 Oct 2024 15:28:53 +0800 Subject: [PATCH 43/50] add ck layernorm_2d backend --- .../rocm_kernels/csrc/ck_py_interface.cpp | 73 +++++++++++++++++ .../backends/ROCM/rocm_kernels/csrc/moe_ops.h | 4 + .../ROCM/rocm_kernels/csrc/rocm_ops.cpp | 17 ++-- .../rocm_kernels/op_tests/test_layernorm2d.py | 66 +++++++++++++++ .../backends/ROCM/rocm_kernels/setup.py | 80 ++++++++++++------- 5 files changed, 203 insertions(+), 37 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/ck_py_interface.cpp create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/ck_py_interface.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/ck_py_interface.cpp new file mode 100644 index 000000000..d49e73d2a --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/ck_py_interface.cpp @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved. + * + * @Script: ck_py_interface.cpp + * @Author: valarLip + * @Email: lingpeng.jin@amd.com + * @Create At: 2024-10-24 12:11:58 + * @Last Modified By: valarLip + * @Last Modified At: 2024-10-24 14:39:16 + * @Description: This is description. + */ + +#include +#include + +#if defined(FIND_CK) +#include "layernorm2d_fwd.hpp" + +// common utility functions +#define FOREACH_BUFFER_TORCH_TYPE_MAP(F) \ + F("fp32", torch::kFloat) \ + F("fp16", torch::kHalf) \ + F("bf16", torch::kBFloat16) + +inline std::string torchDTypeToStr(caffe2::TypeMeta dtype) +{ +#define TYPE_CASE(type, torch_type) \ + case torch_type: \ + { \ + return type; \ + } + + switch (dtype.toScalarType()) + { + FOREACH_BUFFER_TORCH_TYPE_MAP(TYPE_CASE); + default: + throw std::runtime_error("Unsupported data type " + std::to_string((int8_t)(dtype.toScalarType()))); + } + +#undef TYPE_CASE +} + +void layernorm2d(torch::Tensor &out, // [hidden_size] + torch::Tensor &input, // [hidden_size] + torch::Tensor &weight, // [hidden_size] + torch::Tensor &bias, // [hidden_size] + double epsilon) +{ + // auto dtype = input.dtype(); + // TORCH_CHECK(dtype == torch::kFloat16 || dtype == torch::kBFloat16, + // "FlashAttention only support fp16 and bf16 data type"); + + std::string dtype_str = torchDTypeToStr(input.dtype()); + int n = input.size(-1); + int m = input.numel() / n; + int stride = n; + bool SaveMeanVar = false; + const cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + layernorm2d_fwd({dtype_str, SaveMeanVar}, + {input.data_ptr(), + weight.data_ptr(), + bias.data_ptr(), + out.data_ptr(), + nullptr, + nullptr, + static_cast(epsilon), + m, + n, + stride}, + {stream}); +} +#endif // diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h index 7dda9135a..99f9395eb 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/moe_ops.h @@ -21,6 +21,10 @@ void rms_norm(torch::Tensor &out, torch::Tensor &input, torch::Tensor &weight, void fused_add_rms_norm(torch::Tensor &input, torch::Tensor &residual, torch::Tensor &weight, double epsilon); +// ck kernel +void layernorm2d(torch::Tensor &out, torch::Tensor &input, torch::Tensor &weight, torch::Tensor &bias, + double epsilon); + void wvSpltK(at::Tensor &in_a, at::Tensor &in_b, at::Tensor &out_c, const int64_t N_in, const int64_t CuCount); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp index bf8d3ba0b..e005d717a 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp @@ -3,7 +3,8 @@ #include "cache.h" #include -PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) +{ m.def("topk_softmax", &topk_softmax, "Apply topk softmax to the gating outputs."); m.def("moe_align_block_size", &moe_align_block_size, @@ -39,8 +40,7 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { " str kv_cache_dtype, float k_scale, float v_scale," " int tp_rank, int blocksparse_local_blocks," " int blocksparse_vert_stride, int blocksparse_block_size," - " int blocksparse_head_sliding_step) -> ()" - ); + " int blocksparse_head_sliding_step) -> ()"); m.def("paged_attention_v2", &paged_attention_v2, "paged_attention_v2(" " Tensor! out, Tensor! exp_sums, Tensor! max_logits," @@ -51,9 +51,8 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { " str kv_cache_dtype, float k_scale, float v_scale," " int tp_rank, int blocksparse_local_blocks," " int blocksparse_vert_stride, int blocksparse_block_size," - " int blocksparse_head_sliding_step) -> ()" - ); - + " int blocksparse_head_sliding_step) -> ()"); + m.def("swap_blocks", &swap_blocks, "swap_blocks(Tensor src, Tensor! dst, Tensor block_mapping) -> ()"); m.def("copy_blocks", ©_blocks, @@ -102,4 +101,10 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def("allocate_meta_buffer", &allocate_meta_buffer); m.def("get_meta_buffer_ipc_handle", &get_meta_buffer_ipc_handle); #endif + +#if defined(FIND_CK) + // ck staff start + m.def("layernorm2d_fwd", &layernorm2d); + // ck staff end +#endif } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py new file mode 100644 index 000000000..1b6697819 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py @@ -0,0 +1,66 @@ +import torch +import torch.nn.functional as F +import rocmKernels + +num_iters = 100 + + +def run_torch(input, normalized_shape, weight, bias, eps): + start_event = torch.cuda.Event(enable_timing=True) + end_event = torch.cuda.Event(enable_timing=True) + latencies = [] + for i in range(num_iters): + start_event.record() + output = F.layer_norm( + input=input, + normalized_shape=(input.shape[-1],), + weight=weight, + bias=bias, + eps=eps + ) + end_event.record() + end_event.synchronize() + latencies.append(start_event.elapsed_time(end_event)) + avg = sum(latencies) / (num_iters * 10) * 1000 # us + print(f"run_torch avg time: {avg} us") + return output, avg + + +def run_ck(input, normalized_shape, weight, bias, eps): + start_event = torch.cuda.Event(enable_timing=True) + end_event = torch.cuda.Event(enable_timing=True) + latencies = [] + for i in range(num_iters): + start_event.record() + output = torch.empty_like(input) + rocmKernels.layernorm2d_fwd( + output, + input, + weight, + bias, + eps + ) + end_event.record() + end_event.synchronize() + latencies.append(start_event.elapsed_time(end_event)) + avg = sum(latencies) / (num_iters * 10) * 1000 # us + print(f"run_ck avg time: {avg} us") + return output, avg + + +def checkAllclose(a, b, rtol, atol): + assert torch.allclose( + a, b, rtol, atol), f"torch and ck results are not close\n{a.shape}\n{a}\n{b.shape}\n{b}\nmax delta:{(a-b).max()}" + + +# for dtype in [torch.float16, torch.bfloat16]: +for dtype in [torch.float16]: + for dim in [4096, 8192, 16384, 32768, 65536]: + input = torch.randn(dim, dtype=dtype, device="cuda") + weight = torch.randn(dim, dtype=dtype, device="cuda") + bias = torch.randn(dim, dtype=dtype, device="cuda") + a, avg_a = run_torch(input, (dim,), weight, bias, 1e-5) + b, avg_b = run_ck(input, (dim,), weight, bias, 1e-5) + print( + f"dim: {dim}, dtype: {dtype}, torch avg: {avg_a}, ck avg: {avg_b}, uplift: {avg_a/avg_b:.1%}") + checkAllclose(a, b, 1e-3, 1e-3) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py index c1d7ad086..2bcdae8ef 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py @@ -26,8 +26,10 @@ ) +ck_dir = os.environ.get("CK_DIR", "/mnt/raid0/ljin1/dk/composable_kernel") this_dir = os.path.dirname(os.path.abspath(__file__)) -PACKAGE_NAME='rocmKernels' +bd_dir = f"{this_dir}/build" +PACKAGE_NAME = 'rocmKernels' BUILD_TARGET = os.environ.get("BUILD_TARGET", "auto") if BUILD_TARGET == "auto": @@ -41,7 +43,8 @@ elif BUILD_TARGET == "rocm": IS_ROCM = True -FORCE_CXX11_ABI=False +FORCE_CXX11_ABI = False + def get_platform(): """ @@ -59,7 +62,8 @@ def get_platform(): def get_cuda_bare_metal_version(cuda_dir): - raw_output = subprocess.check_output([cuda_dir + "/bin/nvcc", "-V"], universal_newlines=True) + raw_output = subprocess.check_output( + [cuda_dir + "/bin/nvcc", "-V"], universal_newlines=True) output = raw_output.split() release_idx = output.index("release") + 1 bare_metal_version = parse(output[release_idx].split(",")[0]) @@ -94,21 +98,25 @@ def append_nvcc_threads(nvcc_extra_args): return nvcc_extra_args + ["--threads", nvcc_threads] -def rename_cpp_to_cu(pth): - ret=[] - dst=pth.replace('csrc','build') - for entry in os.listdir(pth): - newName=entry - if entry.endswith(".cpp") or entry.endswith(".cu"): - newName=entry.replace(".cpp", ".cu") - ret.append(f'{dst}/{newName}') - shutil.copy(f'{pth}/{entry}', f'{dst}/{newName}') +def rename_cpp_to_cu(pths): + ret = [] + dst = bd_dir + for pth in pths: + if not os.path.exists(pth): + continue + for entry in os.listdir(pth): + newName = entry + if entry.endswith(".cpp") or entry.endswith(".cu"): + newName = entry.replace(".cpp", ".cu") + ret.append(f'{dst}/{newName}') + shutil.copy(f'{pth}/{entry}', f'{dst}/{newName}') return ret def validate_and_update_archs(archs): # List of allowed architectures - allowed_archs = ["native", "gfx90a", "gfx940", "gfx941", "gfx942", "gfx1100"] + allowed_archs = ["native", "gfx90a", + "gfx940", "gfx941", "gfx942", "gfx1100"] # Validate if each element in archs is in allowed_archs assert all( @@ -120,9 +128,9 @@ def validate_and_update_archs(archs): ext_modules = [] if IS_ROCM: - #use codegen get code dispatch - if not os.path.exists(f"{this_dir}/build"): - os.makedirs(f"{this_dir}/build") + # use codegen get code dispatch + if not os.path.exists(bd_dir): + os.makedirs(bd_dir) print(f"\n\ntorch.__version__ = {torch.__version__}\n\n") TORCH_MAJOR = int(torch.__version__.split(".")[0]) @@ -133,7 +141,9 @@ def validate_and_update_archs(archs): generator_flag = [] torch_dir = torch.__path__[0] if os.path.exists(os.path.join(torch_dir, "include", "ATen", "CUDAGeneratorImpl.h")): - generator_flag = ["-DOLD_GENERATOR_PATH"] + generator_flag.append("-DOLD_GENERATOR_PATH") + if os.path.exists(ck_dir): + generator_flag.append("-DFIND_CK") cc_flag = [] @@ -148,35 +158,40 @@ def validate_and_update_archs(archs): if FORCE_CXX11_ABI: torch._C._GLIBCXX_USE_CXX11_ABI = True - - renamed_sources=rename_cpp_to_cu(f"{this_dir}/csrc") + renamed_sources = rename_cpp_to_cu([f"{this_dir}/csrc"]) + renamed_ck_srcs = rename_cpp_to_cu( + [f"{ck_dir}/example/ck_tile/02_layernorm2d/instances", + # f'for other kernels' + ]) extra_compile_args = { "cxx": ["-O3", "-std=c++17"] + generator_flag, "nvcc": [ - "-O3","-std=c++17", + "-O3", "-std=c++17", "-mllvm", "-enable-post-misched=0", "-DUSE_PROF_API=1", "-D__HIP_PLATFORM_HCC__=1", "-D__HIP_PLATFORM_AMD__=1", # "-DLEGACY_HIPBLAS_DIRECT", "-U__HIP_NO_HALF_CONVERSIONS__", - "-U__HIP_NO_HALF_OPERATORS__" - ] + "-U__HIP_NO_HALF_OPERATORS__", + ] + generator_flag - + cc_flag - , + + cc_flag, } include_dirs = [ f"{this_dir}/build", + f"{ck_dir}/include", + f"{ck_dir}/library/include", + f"{ck_dir}/example/ck_tile/02_layernorm2d", ] ext_modules.append( CUDAExtension( name=PACKAGE_NAME, - sources=renamed_sources, + sources=renamed_sources+renamed_ck_srcs, extra_compile_args=extra_compile_args, include_dirs=include_dirs, ) @@ -184,6 +199,7 @@ def validate_and_update_archs(archs): else: raise NotImplementedError("Only ROCM is supported") + class NinjaBuildExtension(BuildExtension): def __init__(self, *args, **kwargs) -> None: # do not override env MAX_JOBS if already exists @@ -194,8 +210,10 @@ def __init__(self, *args, **kwargs) -> None: max_num_jobs_cores = max(1, os.cpu_count() // 2) # calculate the maximum allowed NUM_JOBS based on free memory - free_memory_gb = psutil.virtual_memory().available / (1024 ** 3) # free memory in GB - max_num_jobs_memory = int(free_memory_gb / 9) # each JOB peak memory cost is ~8-9GB when threads = 4 + free_memory_gb = psutil.virtual_memory().available / \ + (1024 ** 3) # free memory in GB + # each JOB peak memory cost is ~8-9GB when threads = 4 + max_num_jobs_memory = int(free_memory_gb / 9) # pick lower value of jobs based on cores vs memory metric to minimize oom and swap usage during compilation max_jobs = max(1, min(max_num_jobs_cores, max_num_jobs_memory)) @@ -206,7 +224,7 @@ def __init__(self, *args, **kwargs) -> None: setup( name=PACKAGE_NAME, - version= "0.1.0", + version="0.1.0", packages=find_packages( exclude=( "build", @@ -236,8 +254,8 @@ def __init__(self, *args, **kwargs) -> None: "ninja", ], ) -if os.path.exists(f"{this_dir}/build"): - shutil.rmtree(f"{this_dir}/build") +if os.path.exists(bd_dir): + shutil.rmtree(bd_dir) shutil.rmtree(f"./.eggs") - shutil.rmtree(f"./build") + # shutil.rmtree(f"./build") shutil.rmtree(f"./{PACKAGE_NAME}.egg-info") From bfe52ea9d1269872a40eb96daace48e18495c5b9 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 24 Oct 2024 15:31:52 +0800 Subject: [PATCH 44/50] code clean --- byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py index 2bcdae8ef..3a418b396 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py @@ -257,5 +257,7 @@ def __init__(self, *args, **kwargs) -> None: if os.path.exists(bd_dir): shutil.rmtree(bd_dir) shutil.rmtree(f"./.eggs") - # shutil.rmtree(f"./build") shutil.rmtree(f"./{PACKAGE_NAME}.egg-info") + +if os.path.exists('./build'): + shutil.rmtree(f"./build") From 731b8641ccfa23a37c8975149b04ec76ca0b8e4d Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 24 Oct 2024 16:02:42 +0800 Subject: [PATCH 45/50] update layernorm test --- .../ROCM/rocm_kernels/op_tests/test_layernorm2d.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py index 1b6697819..73f1af02c 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/op_tests/test_layernorm2d.py @@ -22,7 +22,7 @@ def run_torch(input, normalized_shape, weight, bias, eps): end_event.synchronize() latencies.append(start_event.elapsed_time(end_event)) avg = sum(latencies) / (num_iters * 10) * 1000 # us - print(f"run_torch avg time: {avg} us") + # print(f"run_torch avg time: {avg} us") return output, avg @@ -44,7 +44,7 @@ def run_ck(input, normalized_shape, weight, bias, eps): end_event.synchronize() latencies.append(start_event.elapsed_time(end_event)) avg = sum(latencies) / (num_iters * 10) * 1000 # us - print(f"run_ck avg time: {avg} us") + # print(f"run_ck avg time: {avg} us") return output, avg @@ -53,8 +53,8 @@ def checkAllclose(a, b, rtol, atol): a, b, rtol, atol), f"torch and ck results are not close\n{a.shape}\n{a}\n{b.shape}\n{b}\nmax delta:{(a-b).max()}" -# for dtype in [torch.float16, torch.bfloat16]: -for dtype in [torch.float16]: +for dtype in [torch.float16, torch.bfloat16]: + # for dtype in [torch.float16]: for dim in [4096, 8192, 16384, 32768, 65536]: input = torch.randn(dim, dtype=dtype, device="cuda") weight = torch.randn(dim, dtype=dtype, device="cuda") @@ -62,5 +62,5 @@ def checkAllclose(a, b, rtol, atol): a, avg_a = run_torch(input, (dim,), weight, bias, 1e-5) b, avg_b = run_ck(input, (dim,), weight, bias, 1e-5) print( - f"dim: {dim}, dtype: {dtype}, torch avg: {avg_a}, ck avg: {avg_b}, uplift: {avg_a/avg_b:.1%}") - checkAllclose(a, b, 1e-3, 1e-3) + f"dim: {dim}, dtype: {dtype}, torch avg: {avg_a:.2f} us, ck avg: {avg_b:.2f} us, uplift: {avg_a/avg_b-1:.1%}") + # checkAllclose(a, b, 1e-3, 1e-3) From 4160ddcc750ab8548a25bfe3cdeed2122ff2bc3a Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Thu, 24 Oct 2024 17:02:07 +0800 Subject: [PATCH 46/50] add moe config for 32 E --- ...4,device_name=AMD_Instinct_MI308X_OAM.json | 244 ++++++++++++++++++ ...8,device_name=AMD_Instinct_MI308X_OAM.json | 244 ++++++++++++++++++ ...6,device_name=AMD_Instinct_MI308X_OAM.json | 244 ++++++++++++++++++ ...2,device_name=AMD_Instinct_MI308X_OAM.json | 244 ++++++++++++++++++ 4 files changed, 976 insertions(+) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=2048,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=4096,device_name=AMD_Instinct_MI308X_OAM.json create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=8192,device_name=AMD_Instinct_MI308X_OAM.json diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..a172153cb --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=2048,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=2048,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..a172153cb --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=2048,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=4096,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=4096,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..7eca8f657 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=4096,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=8192,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=8192,device_name=AMD_Instinct_MI308X_OAM.json new file mode 100644 index 000000000..a172153cb --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=8192,device_name=AMD_Instinct_MI308X_OAM.json @@ -0,0 +1,244 @@ +{ + "1": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "128": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "256": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "512": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1024": { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "1536": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "2048": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3072": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "4096": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "8192": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "16384": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "18432": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20480": { + "BLOCK_SIZE_M": 128, + "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 8, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + } +} From d5bce8f4296c1ec2b474f1ea5093bf53c500f903 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Fri, 25 Oct 2024 17:20:38 +0800 Subject: [PATCH 47/50] update config --- ...4,device_name=AMD_Instinct_MI308X_OAM.json | 377 +++++++++++++++--- 1 file changed, 326 insertions(+), 51 deletions(-) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json index a172153cb..67ac2bd47 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/configs/E=32,N=1024,device_name=AMD_Instinct_MI308X_OAM.json @@ -1,27 +1,60 @@ { "1": { "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, - "kpack": 2 + "kpack": 1 }, "2": { "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "3": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, "4": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "5": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "6": { "BLOCK_SIZE_M": 16, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, @@ -32,52 +65,74 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, + "7": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 1 + }, "8": { "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, - "16": { + "9": { "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, - "24": { + "10": { "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, - "32": { + "11": { "BLOCK_SIZE_M": 16, - "BLOCK_SIZE_N": 128, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, - "48": { + "12": { "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "13": { + "BLOCK_SIZE_M": 32, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, @@ -85,9 +140,9 @@ "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, - "kpack": 2 + "kpack": 1 }, - "64": { + "14": { "BLOCK_SIZE_M": 16, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, @@ -98,19 +153,19 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "96": { - "BLOCK_SIZE_M": 32, - "BLOCK_SIZE_N": 128, + "15": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, - "num_warps": 8, + "num_warps": 4, "num_stages": 0, "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, - "128": { - "BLOCK_SIZE_M": 32, + "16": { + "BLOCK_SIZE_M": 16, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, @@ -120,8 +175,19 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "256": { - "BLOCK_SIZE_M": 64, + "17": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 1 + }, + "18": { + "BLOCK_SIZE_M": 16, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, @@ -131,8 +197,74 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "512": { - "BLOCK_SIZE_M": 128, + "19": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "20": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "21": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "22": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "23": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "24": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "25": { + "BLOCK_SIZE_M": 16, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, @@ -142,20 +274,163 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "1024": { + "26": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 1 + }, + "27": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "28": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "29": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "30": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "31": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "32": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "40": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "48": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "56": { "BLOCK_SIZE_M": 64, "BLOCK_SIZE_N": 128, - "BLOCK_SIZE_K": 128, + "BLOCK_SIZE_K": 64, "GROUP_SIZE_M": 1, "num_warps": 8, "num_stages": 0, "waves_per_eu": 0, + "matrix_instr_nonkdim": 32, + "kpack": 2 + }, + "64": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, "matrix_instr_nonkdim": 16, "kpack": 2 }, - "1536": { - "BLOCK_SIZE_M": 128, - "BLOCK_SIZE_N": 128, + "72": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 1 + }, + "80": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 1 + }, + "88": { + "BLOCK_SIZE_M": 16, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 128, + "GROUP_SIZE_M": 1, + "num_warps": 4, + "num_stages": 0, + "waves_per_eu": 0, + "matrix_instr_nonkdim": 16, + "kpack": 2 + }, + "96": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, "num_warps": 8, @@ -164,9 +439,9 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "2048": { - "BLOCK_SIZE_M": 128, - "BLOCK_SIZE_N": 128, + "104": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, "num_warps": 8, @@ -175,9 +450,9 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "3072": { - "BLOCK_SIZE_M": 128, - "BLOCK_SIZE_N": 128, + "112": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, "num_warps": 8, @@ -186,9 +461,9 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "4096": { - "BLOCK_SIZE_M": 128, - "BLOCK_SIZE_N": 128, + "120": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, "num_warps": 8, @@ -197,9 +472,9 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "8192": { - "BLOCK_SIZE_M": 128, - "BLOCK_SIZE_N": 128, + "128": { + "BLOCK_SIZE_M": 32, + "BLOCK_SIZE_N": 64, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, "num_warps": 8, @@ -208,8 +483,8 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "16384": { - "BLOCK_SIZE_M": 128, + "256": { + "BLOCK_SIZE_M": 64, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, @@ -219,7 +494,7 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "18432": { + "512": { "BLOCK_SIZE_M": 128, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, @@ -230,8 +505,8 @@ "matrix_instr_nonkdim": 16, "kpack": 2 }, - "20480": { - "BLOCK_SIZE_M": 128, + "1024": { + "BLOCK_SIZE_M": 64, "BLOCK_SIZE_N": 128, "BLOCK_SIZE_K": 128, "GROUP_SIZE_M": 1, From 722c0cc990477d4586565906c12247510bcbaec2 Mon Sep 17 00:00:00 2001 From: Marvin Tsai Date: Mon, 28 Oct 2024 08:27:53 +0000 Subject: [PATCH 48/50] add int8 a8w8 gemm --- .../csrc/.moe_align_block_size_kernels.cu.swp | Bin 0 -> 16384 bytes .../ROCM/rocm_kernels/csrc/gemm_a8w8.cu | 134 ++++++ .../ROCM/rocm_kernels/csrc/gemm_a8w8.h | 8 + .../rocm_kernels/csrc/gemm_a8w8_common.cuh | 233 ++++++++++ .../csrc/gemm_a8w8_common_hip.cuh | 234 ++++++++++ .../ROCM/rocm_kernels/csrc/gemm_a8w8_lookup.h | 115 +++++ .../rocm_kernels/csrc/gemm_a8w8_manifest.h | 254 +++++++++++ ..._8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu | 51 +++ ...8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip | 52 +++ ..._8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu | 83 ++++ ...8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip | 84 ++++ ..._8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu | 83 ++++ ...8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip | 84 ++++ ..._8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu | 81 ++++ ...8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip | 82 ++++ ..._8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu | 51 +++ ...8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip | 52 +++ ..._8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu | 86 ++++ ...8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip | 87 ++++ ..._8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.cu | 82 ++++ ...8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip | 83 ++++ ..._8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu | 82 ++++ ...8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip | 83 ++++ ..._8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.cu | 82 ++++ ...8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip | 83 ++++ ..._8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu | 82 ++++ ...8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip | 83 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu | 86 ++++ ...8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip | 87 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu | 85 ++++ ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip | 86 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.cu | 85 ++++ ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip | 86 ++++ ..._4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu | 86 ++++ ...4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip | 87 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu | 83 ++++ ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip | 84 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu | 85 ++++ ...8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip | 86 ++++ ..._4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu | 82 ++++ ...4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip | 83 ++++ ..._8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.cu | 83 ++++ ...8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip | 84 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu | 86 ++++ ...8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip | 87 ++++ ..._4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu | 83 ++++ ...4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip | 84 ++++ ..._4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu | 86 ++++ ...4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip | 87 ++++ ..._8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu | 83 ++++ ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip | 84 ++++ ...1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu | 82 ++++ ..._8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 83 ++++ ..._16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.cu | 52 +++ ...16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip | 53 +++ ..._32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu | 52 +++ ...32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 53 +++ ...1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu | 51 +++ ..._8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 52 +++ ..._4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu | 51 +++ ...4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 52 +++ .../ROCM/rocm_kernels/csrc/paged_attn_ops.h | 2 +- .../ROCM/rocm_kernels/csrc/rocm_ops.cpp | 2 + .../ROCM/rocm_kernels/fused_moe_int8_a8w8.py | 6 +- .../backends/ROCM/rocm_kernels/gemm_a8w8.hip | 135 ++++++ ...rocmKernels.cpython-39-x86_64-linux-gnu.so | Bin 0 -> 25789704 bytes .../backends/ROCM/rocm_kernels/setup.py | 5 +- .../test_moe_int8/benchmark_mixtral_gemm.py | 408 ++++++++++++++++++ .../benchmark_mixtral_moe_rocm.py | 36 +- 69 files changed, 5707 insertions(+), 20 deletions(-) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/.moe_align_block_size_kernels.cu.swp create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_lookup.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_manifest.h create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip create mode 100755 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rocmKernels.cpython-39-x86_64-linux-gnu.so create mode 100755 byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_gemm.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/.moe_align_block_size_kernels.cu.swp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/.moe_align_block_size_kernels.cu.swp new file mode 100644 index 0000000000000000000000000000000000000000..83368c6751355b7be75f14e3eff947c27e86e14f GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu new file mode 100644 index 000000000..059b6fe9e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" +#include "gemm_a8w8_manifest.h" +#include "gemm_a8w8_lookup.h" + +using RowwiseKernel = std::function< + torch::Tensor(torch::Tensor&, torch::Tensor&, + torch::Tensor&, torch::Tensor&, torch::Tensor&)>; + +// Define a custom hash function for std::tuple +struct IntTupleHash { + size_t operator()(const std::tuple& t) const { + auto hash1 = std::hash{}(std::get<0>(t)); + auto hash2 = std::hash{}(std::get<1>(t)); + auto hash3 = std::hash{}(std::get<2>(t)); + return hash1 ^ hash2 ^ hash3; + } +}; + +// For certain high priority shapes, we directly use the best kernel rather +// than use heuristics. +using RowwiseKernelMap = std::unordered_map< + std::tuple, + RowwiseKernel, + IntTupleHash>; + +template +RowwiseKernel rowwise_heuristic_dispatch(int M, int N, int K) { + // Apply shape heuristics to find a suitable kernel implementation. + if (M < 64 && N < 2048 && K < 2048) { + // Kernel that generally works well on small shapes. + return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; + } else if (M < 64 && K < 2048) { + // Kernel that works well for small batch size and small K. + return a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2; + } else if (M < 64 && N < 2048) { + // Kernel that works well for small batch size and small N. + return a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2; + } else if (M < 64 && N > 2048 && K > 2048) { + // Kernel that works well for small M but larger N and K. + return a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1; + } else if (M < 64) { + // Fallback to generic small batch kernel if we cant find a good match. + return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; + /* } else if (((M < 512 && K < 8192) || (N <= 2048 && K <= 8192) || (K <= 2048 && N <= 8192)) && K >= 1024) { + // Kernel that is optimized for larger batch sizes but otherwise small + // tensors. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5; */ + } else if (K < 1024) { + // Special case for small K. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1; + } else if (M < 1024) { + // Kernel for generic medium batch sizes. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3; + } else if (M >= 1024 && N >= 1024 && K >= 1024) { + // Kernel for very large gemm + //return a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; + return a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1; + } else { + // Fallback large kernel. + return a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; + } +} + +// Helper function to return the next largest power of 2 +static constexpr int nextPow2(unsigned int num) { + if (num <= 1) return 1; + return 1 << (CHAR_BIT * sizeof(num) - __builtin_clz(num - 1)); +} + +template +RowwiseKernel rowwise_dispatch(int M, int N, int K) { + // For a given shape, either find the best kernel via lookup or heuristic. + // For many small M shapes, we bucket them to the next largest kernel. + // This is fine since kernels are padded anyway. + int padded_m = M; + if (M > 1 && M <= 16) { + padded_m = 16; + } else if (M <= 16384) { + padded_m = nextPow2(M); + } else if (M <= 20480) { + padded_m = 20480; + } + // First check if this shape is available in the direct lookup. + static const auto lookup = []{ + if constexpr (std::is_same_v) { + return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(F16)}; + } else if constexpr (std::is_same_v) { + return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(B16)}; + } else { + static_assert(false, "rowwise_dispatch used with unsupported dtype!"); + }}(); + + auto it = lookup.find({padded_m, N, K}); + // If we found an optimal kernel, use it. + if (it != lookup.end()) { + return it->second; + } + // Otherwise, use heuristics. + return rowwise_heuristic_dispatch(M, N, K); +} + + +namespace blade_llm { + +torch::Tensor gemm_a8w8( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) +{ + TORCH_CHECK(XQ.dtype() == at::ScalarType::Char && XQ.dtype() == WQ.dtype(), + "Weights and activations should both be int8!"); + TORCH_CHECK(x_scale.dtype() == Y.dtype() && w_scale.dtype() == Y.dtype(), + "Scales and output should have the same dtype!"); + + int M = XQ.size(0); + int N = WQ.size(0); + int K = XQ.size(1); + + if (Y.dtype() == at::ScalarType::Half) { + rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); + } else if (Y.dtype() == at::ScalarType::BFloat16) { + rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); + } else { + TORCH_CHECK(false, "Unsupported scales/output dtype!"); + } + return Y; +} + +} // namespace blade_llm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h new file mode 100644 index 000000000..e11d3a70f --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h @@ -0,0 +1,8 @@ +#pragma once +#include +torch::Tensor gemm_a8w8( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common.cuh new file mode 100644 index 000000000..3e00ed247 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common.cuh @@ -0,0 +1,233 @@ +#pragma once +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#ifdef USE_ROCM + +#undef __HIP_NO_HALF_OPERATORS__ +#undef __HIP_NO_HALF_CONVERSIONS__ + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "ck/ck.hpp" +#include "ck/tensor_operation/gpu/device/gemm_specialization.hpp" +#include "ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_v3.hpp" +#include "ck/tensor_operation/gpu/element/element_wise_operation.hpp" +#include "ck/tensor_operation/gpu/element/unary_element_wise_operation.hpp" + +#include "ck/library/utility/device_memory.hpp" +#include "ck/library/utility/host_tensor.hpp" +#include "ck/library/utility/host_tensor_generator.hpp" +#include "ck/library/utility/literals.hpp" +#include "ck/library/reference_tensor_operation/cpu/reference_gemm.hpp" +#include "ck/library/utility/check_err.hpp" + +#include "ck/utility/blkgemmpipe_scheduler.hpp" + +template +using S = ck::Sequence; + +using I8 = int8_t; +using I32 = int; +using F16 = ck::half_t; +using B16 = ck::bhalf_t; +using FP8 = ck::f8_t; +using F32 = float; + +using Row = ck::tensor_layout::gemm::RowMajor; +using Col = ck::tensor_layout::gemm::ColumnMajor; + +using ADataType = I8; +using BDataType = I8; +using AccDataType = I32; +using CShuffleDataType = I32; +using ComputeDataType = I8; + +using ALayout = Row; +using BLayout = Col; +using D0Layout = Row; +using D1Layout = Col; +using DsLayout = ck::Tuple; +using ELayout = Row; + +using PassThrough = ck::tensor_operation::element_wise::PassThrough; + +using AElementOp = PassThrough; +using BElementOp = PassThrough; + +struct RowwiseScale +{ + template + __host__ __device__ constexpr void + operator()(E& e, const C& c, const D0& d0, const D1& d1) const; + + template <> + __host__ __device__ constexpr void operator()( + F16& e, const AccDataType& c, const F16& d0, const F16& d1) const + { + const F32 x0_f = + ck::type_convert(c) * ck::type_convert(d0) * ck::type_convert(d1); + + e = ck::type_convert(x0_f); + } + + template <> + __host__ __device__ constexpr void operator()( + B16& e, const AccDataType& c, const B16& d0, const B16& d1) const + { + const F32 x0_f = + ck::type_convert(c) * ck::type_convert(d0) * ck::type_convert(d1); + + e = ck::type_convert(x0_f); + } +}; + +using CDEElementOp = RowwiseScale; + +template +using DsDataType = ck::Tuple; + +#if 0 +template +using DeviceOpInstance = ck::tensor_operation::device::DeviceGemmMultiD_Xdl_CShuffle_V3 +// clang-format off +///######| ALayout| BLayout| DsLayout| ELayout| AData| BData| DsData| EData| AccData| CShuffle| A| B| CDE| GEMM| Block| MPer| NPer| KPer| AK1| BK1| MPer| NPer| MXdl| NXdl| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockLds| BBlockTransfer| BBlockTransfer| BBlockTransfer| BlockTransfer| BBlockTransfer| BBlockTransfer| BBlockLds| CShuffle| CShuffle| CBlockTransferClusterLengths| CBlockTransfer| +///######| | | | | Type| Type| Type| Type| Type| DataType| Elementwise| Elementwise| Elementwise| Spacialization| Size| Block| Block| Block| | | XDL| XDL| Per| Per| ThreadCluster| ThreadCluster| SrcAccessOrder| SrcVectorDim| SrcScalar| DstScalar| AddExtraM| ThreadCluster| ThreadCluster| SrcAccessOrder| SrcVectorDim| SrcScalar| DstScalar| AddExtraN| MXdlPerWave| NXdlPerWave| _MBlock_MWaveMPerXdl| ScalarPerVector| +///######| | | | | | | | | | | Operation| Operation| Operation| | | | | | | | | | Wave| Wave| Lengths_K0_M_K1| ArrangeOrder| | | PerVector| PerVector_K1| | Lengths_K0_N_K1| ArrangeOrder| | | PerVector| PerVector_K1| | PerShuffle| PerShuffle| _NBlock_NWaveNPerXdl| _NWaveNPerXdl| +///######| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | S| +///###### RRR +/// < Row, Row, DsLayout, ELayout, ADataType, BDataType, DsDataType, DEDataType, AccDataType, CShuffleDataType, AElementOp, BElementOp, CDEElementOp, GemmSpec, 256, 256, 128, 64, 16, 4, 32, 32, 4, 2, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, S<16, 16, 1>, S<0, 2, 1>, S<0, 2, 1>, 1, 8, 4, 0, 1, 1, S<1, 32, 1, 8>, S<8, 8, 1>, ck::BlockGemmPipelineScheduler::Interwave, ck::BlockGemmPipelineVersion::v1, I8>; +///###### RCR + < Row, Col, DsLayout, ELayout, ADataType, BDataType, DsDataType, DEDataType, AccDataType, CShuffleDataType, AElementOp, BElementOp, CDEElementOp, GemmSpec, 256, 256, 128, 64, 16, 16, 32, 32, 4, 2, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, 1, 1, S<1, 32, 1, 8>, S<8, 8, 1>, ck::BlockGemmPipelineScheduler::Interwave, ck::BlockGemmPipelineVersion::v1, I8>; +// clang-format on +#endif + +template < + typename DEDataType, + int BLOCK_SIZE, + int MBLOCK, + int NBLOCK, + int KBLOCK, + int WAVE_TILE_M, + int WAVE_TILE_N, + int WAVE_MAP_M, + int WAVE_MAP_N, + typename ABLOCK_TRANSFER, + typename BBLOCK_TRANSFER, + typename CBLOCK_TRANSFER, + typename CBLOCK_SPV, + int CSHUFFLE_MX_PER_WAVE_PERSHUFFLE, + int CSHUFFLE_NX_PER_WAVE_PERSHUFFLE, + ck::BlockGemmPipelineScheduler LOOP_SCHED, + ck::BlockGemmPipelineVersion PIPELINE_VERSION, + auto GEMM_SPEC = + ck::tensor_operation::device::GemmSpecialization::MNPadding> + using DeviceGemmHelper = + ck::tensor_operation::device::DeviceGemmMultiD_Xdl_CShuffle_V3< + ALayout, + BLayout, + DsLayout, + ELayout, + ADataType, + BDataType, + DsDataType, + DEDataType, + AccDataType, + CShuffleDataType, + AElementOp, + BElementOp, + CDEElementOp, + GEMM_SPEC, + BLOCK_SIZE, // Block Size + MBLOCK, // M per Block + NBLOCK, // N per Block + KBLOCK, // K per Block + 16, // AK1 + 16, // BK1 + WAVE_TILE_M, // M per Xdl + WAVE_TILE_N, // N per Xdl + WAVE_MAP_M, // Mxdl per Wave + WAVE_MAP_N, // Nxdl per Wave + ABLOCK_TRANSFER, + S<1, 0, 2>, + S<1, 0, 2>, + 2, + 16, + 16, + 0, + BBLOCK_TRANSFER, + S<1, 0, 2>, + S<1, 0, 2>, + 2, + 16, + 16, + 0, + CSHUFFLE_MX_PER_WAVE_PERSHUFFLE, + CSHUFFLE_NX_PER_WAVE_PERSHUFFLE, + CBLOCK_TRANSFER, + CBLOCK_SPV, + LOOP_SCHED, + PIPELINE_VERSION, + ComputeDataType>; + + +template +__forceinline__ torch::Tensor gemm_a8w8_rowwise_impl( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) +{ + int M = XQ.size(0); + int N = WQ.size(0); + int K = XQ.size(1); + + int StrideA = K; + int StrideB = K; + int StrideE = N; + + auto device_gemm = DeviceGemmInstance{}; + auto invoker = device_gemm.MakeInvoker(); + + auto a_element_op = AElementOp{}; + auto b_element_op = BElementOp{}; + auto cde_element_op = CDEElementOp{}; + + constexpr ck::index_t NumDTensor = DeviceGemmInstance::NumDTensor; + + auto argument = device_gemm.MakeArgument( + reinterpret_cast(XQ.data_ptr()), + reinterpret_cast(WQ.data_ptr()), + std::array{ + reinterpret_cast(w_scale.data_ptr()), + reinterpret_cast(x_scale.data_ptr())}, + reinterpret_cast(Y.data_ptr()), + M, + N, + K, + StrideA, + StrideB, + std::array{0, 0}, + StrideE, + 1, + a_element_op, + b_element_op, + cde_element_op + ); + TORCH_CHECK(device_gemm.IsSupportedArgument(argument), "This GEMM is not supported!"); + + invoker.Run(argument, StreamConfig{at::cuda::getCurrentCUDAStream().stream()}); + return Y; +} + +#endif // USE_ROCM diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh new file mode 100644 index 000000000..3f0bb0672 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh @@ -0,0 +1,234 @@ +// !!! This is a file automatically generated by hipify!!! +#pragma once +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#ifdef USE_ROCM + +#undef __HIP_NO_HALF_OPERATORS__ +#undef __HIP_NO_HALF_CONVERSIONS__ + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "ck/ck.hpp" +#include "ck/tensor_operation/gpu/device/gemm_specialization.hpp" +#include "ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_v3.hpp" +#include "ck/tensor_operation/gpu/element/element_wise_operation.hpp" +#include "ck/tensor_operation/gpu/element/unary_element_wise_operation.hpp" + +#include "ck/library/utility/device_memory.hpp" +#include "ck/library/utility/host_tensor.hpp" +#include "ck/library/utility/host_tensor_generator.hpp" +#include "ck/library/utility/literals.hpp" +#include "ck/library/reference_tensor_operation/cpu/reference_gemm.hpp" +#include "ck/library/utility/check_err.hpp" + +#include "ck/utility/blkgemmpipe_scheduler.hpp" + +template +using S = ck::Sequence; + +using I8 = int8_t; +using I32 = int; +using F16 = ck::half_t; +using B16 = ck::bhalf_t; +using FP8 = ck::f8_t; +using F32 = float; + +using Row = ck::tensor_layout::gemm::RowMajor; +using Col = ck::tensor_layout::gemm::ColumnMajor; + +using ADataType = I8; +using BDataType = I8; +using AccDataType = I32; +using CShuffleDataType = I32; +using ComputeDataType = I8; + +using ALayout = Row; +using BLayout = Col; +using D0Layout = Row; +using D1Layout = Col; +using DsLayout = ck::Tuple; +using ELayout = Row; + +using PassThrough = ck::tensor_operation::element_wise::PassThrough; + +using AElementOp = PassThrough; +using BElementOp = PassThrough; + +struct RowwiseScale +{ + template + __host__ __device__ constexpr void + operator()(E& e, const C& c, const D0& d0, const D1& d1) const; + + template <> + __host__ __device__ constexpr void operator()( + F16& e, const AccDataType& c, const F16& d0, const F16& d1) const + { + const F32 x0_f = + ck::type_convert(c) * ck::type_convert(d0) * ck::type_convert(d1); + + e = ck::type_convert(x0_f); + } + + template <> + __host__ __device__ constexpr void operator()( + B16& e, const AccDataType& c, const B16& d0, const B16& d1) const + { + const F32 x0_f = + ck::type_convert(c) * ck::type_convert(d0) * ck::type_convert(d1); + + e = ck::type_convert(x0_f); + } +}; + +using CDEElementOp = RowwiseScale; + +template +using DsDataType = ck::Tuple; + +#if 0 +template +using DeviceOpInstance = ck::tensor_operation::device::DeviceGemmMultiD_Xdl_CShuffle_V3 +// clang-format off +///######| ALayout| BLayout| DsLayout| ELayout| AData| BData| DsData| EData| AccData| CShuffle| A| B| CDE| GEMM| Block| MPer| NPer| KPer| AK1| BK1| MPer| NPer| MXdl| NXdl| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockLds| BBlockTransfer| BBlockTransfer| BBlockTransfer| BlockTransfer| BBlockTransfer| BBlockTransfer| BBlockLds| CShuffle| CShuffle| CBlockTransferClusterLengths| CBlockTransfer| +///######| | | | | Type| Type| Type| Type| Type| DataType| Elementwise| Elementwise| Elementwise| Spacialization| Size| Block| Block| Block| | | XDL| XDL| Per| Per| ThreadCluster| ThreadCluster| SrcAccessOrder| SrcVectorDim| SrcScalar| DstScalar| AddExtraM| ThreadCluster| ThreadCluster| SrcAccessOrder| SrcVectorDim| SrcScalar| DstScalar| AddExtraN| MXdlPerWave| NXdlPerWave| _MBlock_MWaveMPerXdl| ScalarPerVector| +///######| | | | | | | | | | | Operation| Operation| Operation| | | | | | | | | | Wave| Wave| Lengths_K0_M_K1| ArrangeOrder| | | PerVector| PerVector_K1| | Lengths_K0_N_K1| ArrangeOrder| | | PerVector| PerVector_K1| | PerShuffle| PerShuffle| _NBlock_NWaveNPerXdl| _NWaveNPerXdl| +///######| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | S| +///###### RRR +/// < Row, Row, DsLayout, ELayout, ADataType, BDataType, DsDataType, DEDataType, AccDataType, CShuffleDataType, AElementOp, BElementOp, CDEElementOp, GemmSpec, 256, 256, 128, 64, 16, 4, 32, 32, 4, 2, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, S<16, 16, 1>, S<0, 2, 1>, S<0, 2, 1>, 1, 8, 4, 0, 1, 1, S<1, 32, 1, 8>, S<8, 8, 1>, ck::BlockGemmPipelineScheduler::Interwave, ck::BlockGemmPipelineVersion::v1, I8>; +///###### RCR + < Row, Col, DsLayout, ELayout, ADataType, BDataType, DsDataType, DEDataType, AccDataType, CShuffleDataType, AElementOp, BElementOp, CDEElementOp, GemmSpec, 256, 256, 128, 64, 16, 16, 32, 32, 4, 2, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, 1, 1, S<1, 32, 1, 8>, S<8, 8, 1>, ck::BlockGemmPipelineScheduler::Interwave, ck::BlockGemmPipelineVersion::v1, I8>; +// clang-format on +#endif + +template < + typename DEDataType, + int BLOCK_SIZE, + int MBLOCK, + int NBLOCK, + int KBLOCK, + int WAVE_TILE_M, + int WAVE_TILE_N, + int WAVE_MAP_M, + int WAVE_MAP_N, + typename ABLOCK_TRANSFER, + typename BBLOCK_TRANSFER, + typename CBLOCK_TRANSFER, + typename CBLOCK_SPV, + int CSHUFFLE_MX_PER_WAVE_PERSHUFFLE, + int CSHUFFLE_NX_PER_WAVE_PERSHUFFLE, + ck::BlockGemmPipelineScheduler LOOP_SCHED, + ck::BlockGemmPipelineVersion PIPELINE_VERSION, + auto GEMM_SPEC = + ck::tensor_operation::device::GemmSpecialization::MNPadding> + using DeviceGemmHelper = + ck::tensor_operation::device::DeviceGemmMultiD_Xdl_CShuffle_V3< + ALayout, + BLayout, + DsLayout, + ELayout, + ADataType, + BDataType, + DsDataType, + DEDataType, + AccDataType, + CShuffleDataType, + AElementOp, + BElementOp, + CDEElementOp, + GEMM_SPEC, + BLOCK_SIZE, // Block Size + MBLOCK, // M per Block + NBLOCK, // N per Block + KBLOCK, // K per Block + 16, // AK1 + 16, // BK1 + WAVE_TILE_M, // M per Xdl + WAVE_TILE_N, // N per Xdl + WAVE_MAP_M, // Mxdl per Wave + WAVE_MAP_N, // Nxdl per Wave + ABLOCK_TRANSFER, + S<1, 0, 2>, + S<1, 0, 2>, + 2, + 16, + 16, + 0, + BBLOCK_TRANSFER, + S<1, 0, 2>, + S<1, 0, 2>, + 2, + 16, + 16, + 0, + CSHUFFLE_MX_PER_WAVE_PERSHUFFLE, + CSHUFFLE_NX_PER_WAVE_PERSHUFFLE, + CBLOCK_TRANSFER, + CBLOCK_SPV, + LOOP_SCHED, + PIPELINE_VERSION, + ComputeDataType>; + + +template +__forceinline__ torch::Tensor gemm_a8w8_rowwise_impl( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) +{ + int M = XQ.size(0); + int N = WQ.size(0); + int K = XQ.size(1); + + int StrideA = K; + int StrideB = K; + int StrideE = N; + + auto device_gemm = DeviceGemmInstance{}; + auto invoker = device_gemm.MakeInvoker(); + + auto a_element_op = AElementOp{}; + auto b_element_op = BElementOp{}; + auto cde_element_op = CDEElementOp{}; + + constexpr ck::index_t NumDTensor = DeviceGemmInstance::NumDTensor; + + auto argument = device_gemm.MakeArgument( + reinterpret_cast(XQ.data_ptr()), + reinterpret_cast(WQ.data_ptr()), + std::array{ + reinterpret_cast(w_scale.data_ptr()), + reinterpret_cast(x_scale.data_ptr())}, + reinterpret_cast(Y.data_ptr()), + M, + N, + K, + StrideA, + StrideB, + std::array{0, 0}, + StrideE, + 1, + a_element_op, + b_element_op, + cde_element_op + ); + TORCH_CHECK(device_gemm.IsSupportedArgument(argument), "This GEMM is not supported!"); + + invoker.Run(argument, StreamConfig{at::hip::getCurrentHIPStreamMasqueradingAsCUDA().stream()}); + return Y; +} + +#endif // USE_ROCM diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_lookup.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_lookup.h new file mode 100644 index 000000000..dbc678065 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_lookup.h @@ -0,0 +1,115 @@ +#pragma once +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#ifdef USE_ROCM + +#define GENERATE_LOOKUP_TABLE(DTYPE) \ + { \ + /* QWen-57B \ + NK= 4608, 3584 */ \ + {{1, 4608, 3584}, \ + a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2}, \ + {{32, 4608, 3584}, \ + a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2}, \ + {{64, 4608, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{128, 4608, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{256, 4608, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{512, 4608, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{1024, 4608, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{2048, 4608, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{4096, 4608, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{8192, 4608, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{16384, 4608, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{20480, 4608, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + /* QWen-57B \ + NK= 3584, 3584 */ \ + {{1, 3584, 3584}, \ + a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2}, \ + {{32, 3584, 3584}, \ + a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2}, \ + {{64, 3584, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{128, 3584, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{256, 3584, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{512, 3584, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{1024, 3584, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{2048, 3584, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{4096, 3584, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{8192, 3584, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{16384, 3584, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{20480, 3584, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + /* QWen-57B \ + NK= 3584, 20480 */ \ + {{1, 3584, 20480}, \ + a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2}, \ + {{32, 3584, 20480}, \ + a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2}, \ + {{64, 3584, 20480}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{128, 3584, 20480}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{256, 3584, 20480}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{512, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{1024, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{2048, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{4096, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{8192, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{16384, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{20480, 3584, 20480}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + /* QWen-57B \ + NK= 40960, 3584 */ \ + {{1, 40960, 3584}, \ + a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2}, \ + {{32, 40960, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{64, 40960, 3584}, \ + a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{128, 40960, 3584}, \ + a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3}, \ + {{256, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{512, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{1024, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{2048, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{4096, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{8192, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{16384, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + {{20480, 40960, 3584}, \ + a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4}, \ + } + +#endif // USE_ROCM diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_manifest.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_manifest.h new file mode 100644 index 000000000..840722507 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_manifest.h @@ -0,0 +1,254 @@ +#pragma once +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#ifdef USE_ROCM + +#include + +#include + +template +torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template +torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +#endif // USE_ROCM \ No newline at end of file diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..1472a7279 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that works well on small but not super tiny shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 128, + 16, + 128, + 16, + 16, + 4, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<2, 2, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..8dd634308 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip @@ -0,0 +1,52 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that works well on small but not super tiny shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 128, + 16, + 128, + 16, + 16, + 4, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<2, 2, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu new file mode 100644 index 000000000..c1c61eb45 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 128 != 0) || (N % 32 != 0) || (K % 128 != 0); + + // This kernel seems optimal in the most purely compute bound tasks. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 128, + 32, + 128, + 32, + 32, + 2, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 128, + 32, + 128, + 32, + 32, + 2, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip new file mode 100644 index 000000000..b6d90cd49 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip @@ -0,0 +1,84 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 128 != 0) || (N % 32 != 0) || (K % 128 != 0); + + // This kernel seems optimal in the most purely compute bound tasks. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 128, + 32, + 128, + 32, + 32, + 2, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 128, + 32, + 128, + 32, + 32, + 2, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..df5494f46 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 16 != 0) || (N % 32 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + + } +} + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..eb8bebcf8 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip @@ -0,0 +1,84 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 16 != 0) || (N % 32 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + + } +} + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu new file mode 100644 index 000000000..ac9089541 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 16 != 0) || (N % 32 != 0) || (K % 128 != 0); + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else{ + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip new file mode 100644 index 000000000..32c3cf881 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip @@ -0,0 +1,82 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 16 != 0) || (N % 32 != 0) || (K % 128 != 0); + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else{ + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..f18ed38f8 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.cu @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 512, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..c03ae3d2c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip @@ -0,0 +1,52 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 16, + 32, + 512, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..1dbcb0514 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 128, + 128, + 32, + 32, + 1, + 2, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 128, + 128, + 32, + 32, + 1, + 2, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..a32846f99 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip @@ -0,0 +1,87 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 128, + 128, + 32, + 32, + 1, + 2, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 128, + 128, + 32, + 32, + 1, + 2, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..d3e728914 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.cu @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A small kernel for small but not tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 32 != 0) || (N % 16 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<2, 2, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<2, 2, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..a0900a718 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip @@ -0,0 +1,83 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A small kernel for small but not tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 32 != 0) || (N % 16 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<2, 2, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<2, 2, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..6c267cba1 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.cu @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that works well on small but not super tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 32 != 0) || (N % 64 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..10e67c7ca --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip @@ -0,0 +1,83 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that works well on small but not super tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 32 != 0) || (N % 64 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.cu new file mode 100644 index 000000000..9ebcb72a3 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.cu @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that works well on small but not super tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 32 != 0) || (N % 64 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip new file mode 100644 index 000000000..826a060c0 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip @@ -0,0 +1,83 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that works well on small but not super tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 32 != 0) || (N % 64 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 32, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu new file mode 100644 index 000000000..8bd4ae239 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.cu @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A small kernel for small but not tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 64 != 0) || (N % 32 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 64, + 32, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 64, + 32, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip new file mode 100644 index 000000000..87c4f1ff9 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip @@ -0,0 +1,83 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A small kernel for small but not tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 64 != 0) || (N % 32 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 64, + 32, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 128, + 64, + 32, + 128, + 32, + 32, + 1, + 1, + S<8, 16, 1>, + S<8, 16, 1>, + S<1, 16, 1, 8>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu new file mode 100644 index 000000000..3a3a49427 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip new file mode 100644 index 000000000..f0926ab81 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip @@ -0,0 +1,87 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu new file mode 100644 index 000000000..7d261cf55 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // V5 kernel that works well on some medium shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip new file mode 100644 index 000000000..8b3c15ddb --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip @@ -0,0 +1,86 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // V5 kernel that works well on some medium shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.cu new file mode 100644 index 000000000..9bb59a793 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.cu @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // V5 kernel that works well on some medium shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v5, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v5, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip new file mode 100644 index 000000000..c184da5f6 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip @@ -0,0 +1,86 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // V5 kernel that works well on some medium shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v5, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 128, + 32, + 32, + 2, + 2, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v5, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu new file mode 100644 index 000000000..9734c09dc --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 64 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 64, + 32, + 32, + 2, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 64, + 32, + 32, + 2, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip new file mode 100644 index 000000000..617451c2b --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip @@ -0,0 +1,87 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 64 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 64, + 32, + 32, + 2, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 128, + 64, + 32, + 32, + 2, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu new file mode 100644 index 000000000..ab7aa472b --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 128 != 0) || (N % 64 != 0) || (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 64, + 128, + 32, + 32, + 2, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 64, + 128, + 32, + 32, + 2, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip new file mode 100644 index 000000000..51f948b72 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip @@ -0,0 +1,84 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 128 != 0) || (N % 64 != 0) || (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 64, + 128, + 32, + 32, + 2, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 128, + 64, + 128, + 32, + 32, + 2, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu new file mode 100644 index 000000000..d5f8c8c2c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // This kernel works well for many medium to large shapes. + + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + + bool kpad = K % 128 != 0; + + if (kpad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 224, + 256, + 128, + 16, + 16, + 7, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 224, + 256, + 128, + 16, + 16, + 7, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip new file mode 100644 index 000000000..404f8f494 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip @@ -0,0 +1,86 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // This kernel works well for many medium to large shapes. + + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + + bool kpad = K % 128 != 0; + + if (kpad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 224, + 256, + 128, + 16, + 16, + 7, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 224, + 256, + 128, + 16, + 16, + 7, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu new file mode 100644 index 000000000..85c419538 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.cu @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A small kernel for small but not tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 256 != 0) || (N % 128 != 0) || (K % 64 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 128, + 64, + 32, + 32, + 4, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 128, + 64, + 32, + 32, + 4, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip new file mode 100644 index 000000000..2f0f35572 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip @@ -0,0 +1,83 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A small kernel for small but not tiny shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 256 != 0) || (N % 128 != 0) || (K % 64 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 128, + 64, + 32, + 32, + 4, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 128, + 64, + 32, + 32, + 4, + 2, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.cu new file mode 100644 index 000000000..4af680193 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.cu @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 256 != 0) || (N % 224 != 0) || (K % 128 != 0); + + // This kernel seems optimal in the most purely compute bound tasks. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 224, + 128, + 16, + 16, + 8, + 7, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 64, 1, 4>, + S<8, 8, 1>, + 2, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 224, + 128, + 16, + 16, + 8, + 7, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 64, 1, 4>, + S<8, 8, 1>, + 2, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip new file mode 100644 index 000000000..5fe78bdbf --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip @@ -0,0 +1,84 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 256 != 0) || (N % 224 != 0) || (K % 128 != 0); + + // This kernel seems optimal in the most purely compute bound tasks. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 224, + 128, + 16, + 16, + 8, + 7, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 64, 1, 4>, + S<8, 8, 1>, + 2, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 224, + 128, + 16, + 16, + 8, + 7, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 64, 1, 4>, + S<8, 8, 1>, + 2, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu new file mode 100644 index 000000000..d6eb900e0 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 128, + 16, + 16, + 8, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 128, + 16, + 16, + 8, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip new file mode 100644 index 000000000..0dcfc433d --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip @@ -0,0 +1,87 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 128, + 16, + 16, + 8, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 128, + 16, + 16, + 8, + 8, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu new file mode 100644 index 000000000..ec0bf5333 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.cu @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 256 != 0) || (N % 256 != 0) || (K % 64 != 0); + + // This kernel seems optimal in the most purely compute bound tasks. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 16, + 16, + 8, + 8, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 16, + 16, + 8, + 8, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip new file mode 100644 index 000000000..8d97e37f0 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip @@ -0,0 +1,84 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 256 != 0) || (N % 256 != 0) || (K % 64 != 0); + + // This kernel seems optimal in the most purely compute bound tasks. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 16, + 16, + 8, + 8, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 16, + 16, + 8, + 8, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 2, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu new file mode 100644 index 000000000..74008a4e3 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.cu @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 64 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 32, + 32, + 4, + 4, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 32, + 32, + 4, + 4, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip new file mode 100644 index 000000000..9a799d208 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip @@ -0,0 +1,87 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (K % 64 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 32, + 32, + 4, + 4, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::KPadding>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 256, + 256, + 64, + 32, + 32, + 4, + 4, + S<4, 64, 1>, + S<4, 64, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v4, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl( + XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu new file mode 100644 index 000000000..61b1ddbc9 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.cu @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 64 != 0) || (N % 64 != 0) || (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 64, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 64, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip new file mode 100644 index 000000000..d55e4f41a --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip @@ -0,0 +1,84 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // A kernel that seems to work well on mid sized tensors. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 64 != 0) || (N % 64 != 0) || (K % 128 != 0); + + // Dispatch based on whether padding is needed or not. + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 64, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 256, + 64, + 64, + 128, + 32, + 32, + 1, + 1, + S<8, 32, 1>, + S<8, 32, 1>, + S<1, 32, 1, 8>, + S<8, 8, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v3, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..1aab00230 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 16 != 0) || (N % 16 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 8, 1>, + S<8, 8, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 8, 1>, + S<8, 8, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..81247aa02 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip @@ -0,0 +1,83 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + + // Check if this input needs to be padded. + int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); + int N = WQ.size(0); + int K = WQ.size(1); + bool pad = (M % 16 != 0) || (N % 16 != 0) || (K % 128 != 0); + + if (pad) { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 8, 1>, + S<8, 8, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } else { + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 128, + 16, + 16, + 1, + 1, + S<8, 8, 1>, + S<8, 8, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); + } +} + +template torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.cu new file mode 100644 index 000000000..49d09a615 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.cu @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Secret kernel that seems good with small M but large N and K. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 256, + 16, + 16, + 1, + 1, + S<16, 4, 1>, + S<16, 4, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip new file mode 100644 index 000000000..aad6a58b2 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip @@ -0,0 +1,53 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // Secret kernel that seems good with small M but large N and K. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 256, + 16, + 16, + 1, + 1, + S<16, 4, 1>, + S<16, 4, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Intrawave, + ck::BlockGemmPipelineVersion::v1, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..997eeb8c6 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 512, + 16, + 16, + 1, + 1, + S<32, 2, 1>, + S<32, 2, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..70ac89246 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip @@ -0,0 +1,53 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 512, + 16, + 16, + 1, + 1, + S<32, 2, 1>, + S<32, 2, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2, + ck::tensor_operation::device::GemmSpecialization::Default>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..caa06fd3c --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 512, + 16, + 16, + 1, + 1, + S<8, 8, 1>, + S<8, 8, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..54612361e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip @@ -0,0 +1,52 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 512, + 16, + 16, + 1, + 1, + S<8, 8, 1>, + S<8, 8, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu new file mode 100644 index 000000000..38d6de058 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.cu @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 64, + 16, + 16, + 1, + 1, + S<4, 16, 1>, + S<4, 16, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip new file mode 100644 index 000000000..3026d1ac7 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip @@ -0,0 +1,52 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "../gemm_a8w8_common_hip.cuh" + +template +torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) { + // The smallest kernel we have available. Works well for memory bound shapes. + using DeviceGemmInstance = DeviceGemmHelper< + DEDataType, + 64, + 16, + 16, + 64, + 16, + 16, + 1, + 1, + S<4, 16, 1>, + S<4, 16, 1>, + S<1, 16, 1, 4>, + S<4, 4, 1>, + 1, + 1, + ck::BlockGemmPipelineScheduler::Interwave, + ck::BlockGemmPipelineVersion::v2>; + // Run kernel instance. + return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); +} + +template torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); + +template torch::Tensor +a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h index f2f69e9e5..376c02ecc 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/paged_attn_ops.h @@ -38,4 +38,4 @@ void paged_attention_v2( const std::string& kv_cache_dtype, double k_scale, double v_scale, const int64_t tp_rank, const int64_t blocksparse_local_blocks, const int64_t blocksparse_vert_stride, const int64_t blocksparse_block_size, - const int64_t blocksparse_head_sliding_step); \ No newline at end of file + const int64_t blocksparse_head_sliding_step); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp index e005d717a..974ceefe7 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/rocm_ops.cpp @@ -1,5 +1,6 @@ #include "moe_ops.h" #include "paged_attn_ops.h" +#include "gemm_a8w8.h" #include "cache.h" #include @@ -53,6 +54,7 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) " int blocksparse_vert_stride, int blocksparse_block_size," " int blocksparse_head_sliding_step) -> ()"); + m.def("gemm_a8w8", &gemm_a8w8, "gemm_a8w8"); m.def("swap_blocks", &swap_blocks, "swap_blocks(Tensor src, Tensor! dst, Tensor block_mapping) -> ()"); m.def("copy_blocks", ©_blocks, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py index e468fa068..c044abdff 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/fused_moe_int8_a8w8.py @@ -468,8 +468,11 @@ def moe_align_block_size( num_tokens_post_pad = torch.empty((1), dtype=torch.int32, device=topk_ids.device) + token_num = torch.empty((1), + dtype=torch.int32, + device=topk_ids.device) moe_kernels.moe_align_block_size(topk_ids, num_experts, block_size, sorted_ids, - expert_ids, num_tokens_post_pad) + expert_ids, token_num, num_tokens_post_pad) return sorted_ids, expert_ids, num_tokens_post_pad # int8 @@ -724,6 +727,7 @@ def fused_topk( topk_ids, token_expert_indicies, gating_output.float(), # TODO(woosuk): Optimize this. + renormalize ) del token_expert_indicies # Not used. Will be used in the future. diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip new file mode 100644 index 000000000..006138e9e --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip @@ -0,0 +1,135 @@ +// !!! This is a file automatically generated by hipify!!! +// SPDX-License-Identifier: MIT +// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. + +#include "gemm_a8w8_common_hip.cuh" +#include "gemm_a8w8_manifest.h" +#include "gemm_a8w8_lookup.h" + +using RowwiseKernel = std::function< + torch::Tensor(torch::Tensor&, torch::Tensor&, + torch::Tensor&, torch::Tensor&, torch::Tensor&)>; + +// Define a custom hash function for std::tuple +struct IntTupleHash { + size_t operator()(const std::tuple& t) const { + auto hash1 = std::hash{}(std::get<0>(t)); + auto hash2 = std::hash{}(std::get<1>(t)); + auto hash3 = std::hash{}(std::get<2>(t)); + return hash1 ^ hash2 ^ hash3; + } +}; + +// For certain high priority shapes, we directly use the best kernel rather +// than use heuristics. +using RowwiseKernelMap = std::unordered_map< + std::tuple, + RowwiseKernel, + IntTupleHash>; + +template +RowwiseKernel rowwise_heuristic_dispatch(int M, int N, int K) { + // Apply shape heuristics to find a suitable kernel implementation. + if (M < 64 && N < 2048 && K < 2048) { + // Kernel that generally works well on small shapes. + return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; + } else if (M < 64 && K < 2048) { + // Kernel that works well for small batch size and small K. + return a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2; + } else if (M < 64 && N < 2048) { + // Kernel that works well for small batch size and small N. + return a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2; + } else if (M < 64 && N > 2048 && K > 2048) { + // Kernel that works well for small M but larger N and K. + return a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1; + } else if (M < 64) { + // Fallback to generic small batch kernel if we cant find a good match. + return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; + /* } else if (((M < 512 && K < 8192) || (N <= 2048 && K <= 8192) || (K <= 2048 && N <= 8192)) && K >= 1024) { + // Kernel that is optimized for larger batch sizes but otherwise small + // tensors. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5; */ + } else if (K < 1024) { + // Special case for small K. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1; + } else if (M < 1024) { + // Kernel for generic medium batch sizes. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3; + } else if (M >= 1024 && N >= 1024 && K >= 1024) { + // Kernel for very large gemm + //return a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; + return a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1; + } else { + // Fallback large kernel. + return a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; + } +} + +// Helper function to return the next largest power of 2 +static constexpr int nextPow2(unsigned int num) { + if (num <= 1) return 1; + return 1 << (CHAR_BIT * sizeof(num) - __builtin_clz(num - 1)); +} + +template +RowwiseKernel rowwise_dispatch(int M, int N, int K) { + // For a given shape, either find the best kernel via lookup or heuristic. + // For many small M shapes, we bucket them to the next largest kernel. + // This is fine since kernels are padded anyway. + int padded_m = M; + if (M > 1 && M <= 16) { + padded_m = 16; + } else if (M <= 16384) { + padded_m = nextPow2(M); + } else if (M <= 20480) { + padded_m = 20480; + } + // First check if this shape is available in the direct lookup. + static const auto lookup = []{ + if constexpr (std::is_same_v) { + return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(F16)}; + } else if constexpr (std::is_same_v) { + return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(B16)}; + } else { + static_assert(false, "rowwise_dispatch used with unsupported dtype!"); + }}(); + + auto it = lookup.find({padded_m, N, K}); + // If we found an optimal kernel, use it. + if (it != lookup.end()) { + return it->second; + } + // Otherwise, use heuristics. + return rowwise_heuristic_dispatch(M, N, K); +} + + +namespace blade_llm { + +torch::Tensor gemm_a8w8( + torch::Tensor& XQ, + torch::Tensor& WQ, + torch::Tensor& x_scale, + torch::Tensor& w_scale, + torch::Tensor& Y) +{ + TORCH_CHECK(XQ.dtype() == at::ScalarType::Char && XQ.dtype() == WQ.dtype(), + "Weights and activations should both be int8!"); + TORCH_CHECK(x_scale.dtype() == Y.dtype() && w_scale.dtype() == Y.dtype(), + "Scales and output should have the same dtype!"); + + int M = XQ.size(0); + int N = WQ.size(0); + int K = XQ.size(1); + + if (Y.dtype() == at::ScalarType::Half) { + rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); + } else if (Y.dtype() == at::ScalarType::BFloat16) { + rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); + } else { + TORCH_CHECK(false, "Unsupported scales/output dtype!"); + } + return Y; +} + +} // namespace blade_llm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rocmKernels.cpython-39-x86_64-linux-gnu.so b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rocmKernels.cpython-39-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..4abb5acf7c097b925cbd08a6ac5176d2f07b0299 GIT binary patch literal 25789704 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%0AUT|IqnJluy}?$6kWh`9`7s;ygI7Jmj=p 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

y1l5r~vf9@__iFN**jE3u8VsHN3YMqp)KR5Y1 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

JvuN`54428F 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 z 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 z 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

WE$>;$1 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

  • %yHT+$q{w}0X5052b{}pd&4N`8x_V*x^h5TK{ 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≻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®9GCO@~L;Y|F8 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�nEj8> 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 _Lztkvl`?tXD-(uLFJ7)j3 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%0D;P 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

    SdP3IHgm%;3Svi|- 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

    f@%d>GGqPm=xlxQ6yY@4B}>quzCW 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

      fjVh@UD4&kW!kz`f|3mFREHpgz#+K&c;Qf>J-s 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�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

      2vj&B^u`nY|m6fpn!9<1cN0fL-A*Yc~*+Q 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

        ^3?QZSt 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⪼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� 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�MQ>GA^sKuOKVnz@%Pd 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 zè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:oK!Gc;uB%N2TZ>jop1WQgy1 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≫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
        s!MX>s!JK_0F&#>sv$b)whJ+rgw(^ zNZ%U#-};u|d-TrW_4?MJ$Mh{hi}cQ*$Mvl{P`*l<;I38DL~bQb+qAmbiVWO#MF#E~ zMdm5gJ4FWW)rt(Hbr_e))iZn(~=JFIIxc)Pykpsf2R%0^4|@!(Q@>w!7?mIJcxUy9#> z8hz_qFY8<0l67Awes9I;Tlc@JZ`m*F&MJQUQ}nH$%+R-dBI~*pzfWfATTjWl&%|{L z+<#Z@owDg$KWf*vd{m%!e)OEa_2f={%gJoL^W+Qq))lfYl=6iAp)GLdP+sA7!mSnl ztxd8nNRfftqR7A~8MuoSnR1kaA_I4p z@+`QM6q!<4Cn+*;XDBjos}-3NS(m2Bz&%Hifjdi)DUx+5iVWPd6&biQ6d9|m+b{fE z;MOTJa32!xR*S6bP-NhaRb=4atH@-_x?_qA+-Zso+@}ImzE^pYx`+e)lQ%CcCw(uA8lM&PxCyeF$Y!SR?pEE9c_t!L6x!Al!_R5QUpEL5% zD4TgY@vO#tGtUdTkuN1bBK<6#BSt4)Q2N?tlwcM3$}j>oO;%8@)!GTz3Mmli@Xh3 zziDlO$~W9&Jo;twGEn`dJSg>>o~6`p<`(sv+#>y6_4|D3r}{mZ>8JWl=~wDE@vhWw z<`(sv+#>yapSGyqQ2nO#i~UogUd^U?-&(QHxsCMRo7TVMW-t3Z^~Ts%e4Le^cbGc%AdXOL%DkDF*V9j z>DN5<82O8S&P$JxzsO_1dW`LJ7JAHcUj1eA(w`nH68(gt$LRfzqQ{u~EB4bWKX5XL z>8}~&ewy}y5=Tm%`YLs)KRxF768$vQb7~)#Lbvu;zm_Bo6C zF&OTAqW2sBFiB~@@HNDzI9|; zvWS_)PMzt>ym5 z-jlCq{>S34C;uf&xc}MrtgiC7WYC?009Ia7nT!<%`(3UUPk^d~4yp%A1w!DD(-!9(^q;VR( zmy#Us{wDf1mD=^0P5wT~;rUZY4$spPelE-Rk^jl>$@df5=E#xcFW)KO1*APX6i56W zh~p!Z>?E0*lcp?^S@@ADn-FQfi4bX?Plz;C5z4dVd?3XUPU)CwRj2TJneX~(jeLTY zbzPW_dI>q_`5g**Ox z9`5)DrqfEADGn-&6Cdc^Y3};KbcTgHo^Xc3o%jO}cjEV^zbfG<4hr|-?|Z@>|GnvN zEZm8Nzag9sWvczta<%KjKl1P&{=sxc2~TlR`2BD4d;8xsjaTl$ok92B`a@6LC;nji z1LCGQPv6q0cEx^}@CQoUTfgGr-};s5Z%TN$&rtXS-r+xFY5OqYLkf4`Z5A$t()i{c zHLiQY!_C4U^bY?=5&n-9{@}0qa}WNyCmh@qj(DVaPrtoK-Ok(DsWy%$TR5I@aO|RX z&_!vutuc`B^c{_Xr}@2?yEyJT#PPWfj_nktox;rQ)TF4GemSP&cr={jI}*o3I$ocr zko@V7_h?)l-u0@Bxv=AoZcD;%Dcn;}^KegX zHNB&hAH_i&Y}?wy!IrJ2cUicn65ge7+qUy?+nzT4RtZOOP`DjW_k?@uY18jmxNQl) z6Wn!B{{Q43=-TlNk7LJn)4NI>6rbRZy9(SPy}AdJ676+klYd^|D0W%uUmIl>!xU~~f8n0u;i|mDy&%H9 zK;f$9^XFB0KCg<0tM(4}q6qgQg{xk`!&Q5RtLEW0d51e9!X2S-n|L~jgXgyT2e`cQ zxrv8=!aMwLMEKuO_$T_y=MyX(>2r$rh0Tc9=^e*j5yxJN!?}v5-RYV3Hva4fy~DjO z!o5!69_%mNMjmdpces5b+&&7onun7p&l~*JF0bdV=HZ*Y!@nWIzd_-f`+IJ)JI@sF z3lI6L1Cf8MuJ8Vb<>+sQVh_Zpz%bz7fmZ;}0z-j+1BL+40BP^eUx7FeE&4Pt2>2IZ zAn+3)I?3pdfdRl%KsE5sK!4yzKo#&$KtJF~AU0!1yBywm=@5D8pu9L5c-cEV%ihV$ zpwT{!%Ehty7Z${{%jyBtyr;R%Q2 zn&SDqZKh4^c{>s|(es)-@5yqfNJ}TX*I!y3JP#|p!|f5__E5ML%X!`#J@ek^m4_D^ zFs3Z>j-y?~(N1v`74tZXJmU~!$`bGX<5?E2DB)QOS2CA}D=9X$D>|IwpnjmVxThZ| zDmLw8;Yt#AQn=DG9}gJ>lS{ zaLSmneVThr87jtL6@);JX9ha}HEz zrg4CYm-V;V2FYH)&!|IO{~y&seyegr6ZCmHQ#e|5l7kCr##YOv*KFRN|oc z5JwS}*A|o);Wme4A#8I<1%#Wx4dQ6qJn_QEtWz;&rLe8gNrda5lL%X&lL*&3q&A9k z+C_|MH%!!YQCKJH4&iFl9YP1vN7#h8Db9x`o_EYkbtlCiVGcMX9pQe|8N$7&Lxdf? z?l`FIR{5WITwK8G&PkGQYrwcz_O3f?Mcr9TT*@ZSgWONuN%XEekFaoZ!Xp$eaWoH? zXfmx;_@g+e4kVd+>VRxAJ<6Y#@F;~#8pFdSjW#`^grhhpT=M9iaEYT$KW5>Q5`HY| zP6y?GE5^mi*YY@$$Cw^f;-L5tM-7$NGKW+|Scf`8Sc^JDSObm_$J)*Q7d~d5N@Hb& ztwJ3kw1Zc|Qq&>BB5*@-PP>RP^@imbOC#(Yhtx$l8+C@zhV&5@ApI2QLnJqc^uYPY z+^Z&HA2*XdLGA1W!biXPqd>y=w>dsH^+$mz65`KCJtLfgdPbOodPZn*NF@Klv>yd3 zW11TBKaKPdoId=f?@pM+ZElQ0~* zlJsm6(nBaCJ%mQ2hfs&ICCtL}2{Z6~!ZbXeFhz_pLctAP2Z0+xHMk)}DozvrfA-!7 zKC0@>8^4*{ncyVEU?*`B0^S*hcr!s9LZp$6beMz~5H->PZ8zco0dH>5jTS9hj5lF~ zi=vJSIJM9jFkqyS%~IB7yQ~gFq|rqiEcNI1!@F;Ap+$?`y#2Xdr)$gmea^Xe5<&w0 zsqen)@0U+LpYQqeoacGYzvrGi_nhY(fPBLJkWaV|@(H^KZM8&m_T52SEl|8~&<2Gl z-Z^N4{1lH5+LJiNqmWOy3GxXegSMfc;`*R%NKjmZeCqEb7nt{yzh?CD+)eo_M<1K@ zG>+P;t!95-Y}|?MV%xFV^~VK4VtWKcdE-N>rF}ho;%)fn%k)=IVejn|SZkgHJ`Vg> z;6~tkz{h|mfR6(Efg6D4StaA_QHOE%sM|QZ(io4`-R$njoR9NEk4@^%)E`cGZ*D5YnU}NPJDV_qgtOkVrUWn%c)aQF znwpwRaDE_>@qMuen9LZL6}#z4S8T<0SIqmoE4Fc`OAs24W7|i`3r{}T^yBT@n>IiH zeAD5bJDb{`cwtiVi6^gYi@!K28Q*?o+m0ViO73|6%C?S|CM7#|UitH~UCl2%d2{oz zvL~8?I?90UH*7;?1}A@e!6^TbIiMIQvUK6fj^qWd?jrBzGqwfao75eA9%Ly z+U{E48S@;4kCvZ4{&-V9^dw&`y&E6DvKP7?Ej_OO^zr|x=5J4_ci&v<{i{36ylZaX zSmsz(igPMu>fvRNH-}}}6NaCc@Wv-6(;l7qOTH-{2Hv>jR=9xEHytfNzp-S}ej<{QeI!``yV>pQFws`=47Dy%FWef&3}7W zHDvB=iUqjL?S{E^DSUU5+w;bDQ_^$%p?6G%L&8+d%U& zXwD*!&W<6hI?814%Qu#(jvGo<>cf1Tf6Kr0DO>&=q(Ptj+20h2KlN7v{Y7&32?DB* zZvY581Yuuf>IgcNmNv%)Kb`r0jOc(>TqkdHn|$@;XQ#`G;pb^%9?!3f`MgX==MWte zoX6u5r%{o|bapO>ei(m-@2DqyJb(3I9S+*^uQKXTHdqH5bI;y9O>zDYpVzr;ni}@` zJl$7KS2s_e(&R*aw|sx881t38ov3dzV~P0eouy5i{-<2FX;~@8c04Y|q{xf3=4*dxi%q$D5}kWWWPFQ_i%kL^m8dt)C&dr%gq|;yruj3z z`QK!EntX{CW$>TwI}D+Q<4)`yGt+tm0slNd2{T9GINyiI_Bv_>f64uBwYCb{nl*y< z;Dds;dNpPN_6Aph+G*r(*&=A0HVN9(PYYTk!qx<09rBBe{9pc3(B6Gl(B64R(2gBr zYX?z9ezB4N``-)NM;{5=?|vs}0|SDO_(O~@gUj&~f}aYXHtH`5gq6UR|6Cw61DpS! za_)Zu{6a)W>Tz4|q_IqPp2oA2jpsGT9njnGF)@|uOJ}GtULA&yET`cktB%UGHNeKw z-a}Bv8Wu}a?^vz0tzPU-u3lX-^??R;YUyhA>N1)8#sZBKHns2puhN|Xe^{6-G1=$d z=JQF8X+EXb=PLoK`O~&|{TU5xj@AHX$ zd}M9flCBSYe&ILLPhX#UL*~f!+M={=LA|zYDVh3g1M1{O-L?$Y3wvG*pY_7__}q@o znN-FrCYo=JR>t3Lv<=FbzA@3^$C5o>QhDia_GGA)~d9%qF-8D zOQt?-_Dk!z{qnHUFAq__Y`RFlJnfzPJ>D;MtY3a7vVOtbBKw^SzY%03fK`S+ESL*? zyX9$hWS@~&DDgP6$B0iQdkkDnwgbp*hv_qKnC;MfhF_XtHY4pHVwkPa8VvejHiE`} zF6MF`A@r9BVFSo^bNs%b+;pKC2WrK?HGNWjchw;ZVlU`?lgQoOeLFEIKmm5A$!!TQVV3ZpCVQN zOO7}F3&;6?;CTOWj;jVZ-uruwEgy62jdA?;I~;HGa$NK~j=_&Op7{mG55CXw^glBs z9miT)aaYH>SE{Uet=CyEV|R0mS$*uGSyo5uH>?FLPIqveY zu8teiXV}m-Z9c3S7C*?(RKOmwz45pkhwY7jZZ$s}hIC_ZJnPG<+Z*^9D$GiwZCQHZ z1N;mX$Oq4`Awo7Ai$q5A=c-Hk3>)guK19!U)Q8~|%uuW^Qr%`ez5uG6qF5vRTJMw{mSna2d(MFY9%@lA7o==dhNY;XLq@lEN* z8LD%}H?uDRmD-_+1?+Ywl$?&akEH$7~cB(O%kF4?HNdGi(pi8MehZ!{);owso)EG8TK| zZFE=1x>p*Eu*uKZ8=vOK?6$%0y4!uS<~#2U8|EcD!^X}rIdO)~dAkMei}#;9mg3tX z-Xo3j#u>Kr>WjH`!TM5Lnfe)L*wXq@eW^b$RNtvX>U-@7^@aR2KQ@mqP+yE0R$r7E zwZ5i4`k$r+Q$C;koK>*tA5Raa%FE^NQ}_?J2U87}(l+`|<9kqU!}k~c6Hcp9TKQ_W z=T+b9W95%inSJG~{Qp4Mhjko&qc4^?I`cR>1de$v9CJb($IvXC z`lj&<_0|as_5J&UdS72q|H)4v>p)O{`DMs@CFrv-oexMH_vdlkCvfae3I8hJLv3d{ zA-51V{7U`~P{SS%TqEjCEfz{Ov|VbArF1RQ*CPEtD802oUQ6jkcgXEj&SxvVhrX$m zi={2}T@24f_AZF;0aey&(TQ@ur*g&9WG9ttXl4DE@~x4trg9OVd@uMEf)3XiI#W;6 z{%6n$cR(NF+rawP+><-&_JF8&_XksN`{buc{(gsSC;GnkW=K^OQ? z&%yo4RnxFP`G7-yhG<_dkpDomubh;hrg(q9{GSvrcu%&IY{c&cc4OUy@i2wzg&(JW zKI;T{Y;wrUQ6?LD|B3Y8V#s~2S8hc5a-@Gm>3iRhmlMx@Z^?I(jDlZr-fx@)9oLJ# zGgqAoWZ6*$*Eu>KH}wgQ|_d=!%})D>Dw!m zW)I;xD+AxZ3-aYvMC-gY#7o>FbGR)o+5S4?d9p+N42v712D+Y1VhbC(P4>j8A80P#?;tvvZJ7C-1LS!{}3>xfOg?@^mI&-@QAy ziu1XZ>9c#ce5Qd!v&<;n2rBk_J##(EtOOY#(-#sip)pfW0b)@ebmcDgJo9TP@1fx8@iuKE$J@P8_ zOUIBj{q*TzJ?Z#*z#8Z2Z0x0IzJfNjhxCK(agZLsE{8k=ay3qy9*3u=eo!o-;q@ zK%WCVJ*`g{=Rb$l8}jFv(hEa!Q?fLz^4{`>WA?OaXz&spV~B^jf_vn2z-`-&(>jl zS~#C`#uR_X?O}Z4Bk)-YKG9)(R*uT2>zsD1eJLqcjlgpncvcMK*}!>DGwV1lUB{)2 zXXOZdeBk37#^*N9$7k~KrTK&ypD82onGQbkFh11RHA~v@4PXu1yV6Z~T;qFR`i#9W z$7qiXvt7rj9pgNF-deee>onceX?j|xB-2S8L8o%)Bn;E3lJhAy`IM*mB+~6pdew+Dl~&H=`|y8-dRP@bU9>R!$FxgY}$G zHRBTw%he{Iu*Ue9IxcOqi2XD_>aZt^aK6U(fcdc}i{dqu&gRK{nkS>Z2h#JckLtW6 zkR{O`uKmUyvI835@7rzcA=^jkjNbv`H`@E&nIY{!^+|bg#>elMT_ztt zw;v~m(WgK&8GMcnDW?YlK@X3+8J|EvcAI<N5RKJNZPY#0#8-OhGrV6dZ@2aHIe(h^IZphegZm*hibn?b zL&k}JTl=Sf2U`;ORQs!?gBL$jNc#CQq0f;E?6brgN~5-Y7vk6A*rneg~K_L!MyjfN&9Xpt2{2lr1*KTY`-@OI9)RPf&hk zCF9did@3sk`BYXgJ}uPFYqSgQzb<;|GrY?!Pg?up6Zzvg+B`3YdGe2Pka-X%*9wS%foAaI9I* zv9>LlmEh(3iMF3;UvJMMobe{dnnyU+Uf0g|bys103uvE8Jc9@;@Ju4~5o)itQ1}z{ z4dKVw%S`x@Cin>lFn0;3plu0d%w0l{CTN5bo{xlQjJ@2a@!X{NNjygh`|-TX02V_B zLML<}bU-#?9&8U`4&)P#fqX&{@(CfOoA5Z~6TUmRe$^=6H~8G{r+D4qb2~wC|KM}j zd@kpa4Z?F+AnYEreIbf>LOx*!B)@2Kg7W zF&CK|7aQ9&hKjBWeCoa2^t_;ZB8vG=;h*n3@U?7a>c z`|;|Hy)}Lsk1@aMmgvrg(A~JZVP$KgyjGcvdkM~#8+SsKmn#WD5E3&xls5O0n|YQmms(5`>216}WR@(hIwk=`VIFg}7&60qz}W+qK7? z+_kHutux_Hc6OGu?Z%x8yLXqgb@jNDU0o%&UcN`2^g^u~x_p;9{lyjP65NYW_@i=l z>0_Phf|okfTj%apCgs;E-<%7+`74y{xdlpLevcA-q+D6B;jj|h?Qkz#-l4{Jb-KT~ z9CuO_>~Uw)9SG$~_cn(^THn#&+1A-1t?ydw*|w)sTAz5%voPPGd~;`qk_|n3akoQn zM@LC7bX%C;r+#zi+iLcUpQy_94sX+)1>V-zI=uE}xJMIr6f9WQ!R{oW`v}4vyWrRV z?9r)9yy61j)k~&|LEw!`Zn84J`W?I6vCiFY@`>+< z;Y)u~AO2~Vw{T9mx~RHK4R>{U)|cl^UIc#n>~C9RU3=V%P_91XTh_BP%M}g%5-U$g zg$EN#TO#RR@>o($CK4ru2g}tZxQn51!(~meM7eugdASstUas_(mzRX5JDMN;+H`Md zPC_lLE?4P3gY}7m$sx#iZ1xH<20kGsqmBIzwg?7?`ZR=3$|N(vWSaLbb-5Qk_NdD5 zjx1N_JTen96H06*mpQ?ZIbnKIU2?G8J7LbuL76k1lWQPzBgxbsb=NSNfk+g}~*C7r1WMAtQiNASQ1Ie$!gdw|Y=u{J# zF@g@$eCm6~zUg|D5e4kMW;&ItZN8bF2{$+tx+@ClPlR}WU967l=ozA;C4jd4O%K~US&!!=+jnj5n;y1@GDP`x;5yORSN-zKg0^p;pzYl&Xx-fy z+{nKT`9356l~)AqzyU$~$xj4r|9*j<(_#Y@%iwbSgy44@_F3QdHwD7Cf#3ey0^wW0 zZ~eHO@4E)S5YeHWamL0;Zm*t}k~C?t_IrEqtJW z@4Lq2jXC(fYrC=U8mMMZ+ne5Z{jFy(UTNPo>?rNKz775EyxeWIXYS+su2CnWF5rfJ z*WG*5^|5Cxfvs3`-2N%+Q=iem<|MU;xfgVBKl!k|pqO)0^M~xa#$C&W&(dAXKDQnF zu1P<(?;2W}dqD^5NOvvo^?vIaZeOTQh52s2@A}VJpU_vUK5S3RMfY8^ei^dwn)>Bo zqhGM^+HUT<9<^U+?tVJcz3+OMjUXFD`;5re(0&xMDY+P5WIJ*jxb2{P zvK^E^n(ZK)LG<;6#`wfuRGY+3-t_`Wn zMQz8$>O-~zG;EBTwqtOA@94JU|JM4D?f44Srz(2)Vt%*N)shfFc(uRfxPY*ZaQAE; zj;>rRg^lzG!fQ+#g!h>=>SBJk6Y)VfYSJLwYtkr-r4Ex1!f}%Z;UgvuyW43oyW8n% z`mH5>x6@*Fw-Zad(A`e#?xH)`-9?PnX5L+N2fMq7rCsFiB6`l5_H=Np4%>@9#GaIn99^tm^(Jtcc%?w6*$vRF?!|G#&aQUkk7X)5)9`Yxpgc9#-MOW&o`!0u9FY3aL^ z8rWS*EG>PPQUkk7iKVf-lp5GwN)(TrX<&CLvAhf2rSwDtzoTm^#y7%^GxXYwLxW}Z?8~7bvM1ydrNrQ00q*>R%?{*>@ zglkM1gdHYLxPjm8L^KHdO&WyrOq%uvezy~7G(O%&+>`wt_5lyy=N@Tq<#$1S1MPsY zhj=0!)mr&oPzXm5t|PfbgRo@M%xmR$K@knY9+L*)lSVjN*UImLA{vC9CJn;6U?}BROcR^9v8Lj*-D1>!{513^uTKQd2 zM1ydi$sghUCe7hie&-y~AlzcoAlzZLNlz=kbB<^bUTM-G95-o_t^Ce8qCt3*NrN!m zIrj~W>1d*r-#JG#2uDmBgu6^WyIT3(R78Vt(4;|lzDd*3%I~Hk8ieaj8ieainjNkD zZYrWdSToXfgo7qcyp`Wg1sd~gMH5q?J%(I8x5(ja`sq^XMVJF18VVV_BZ@M$Cb=RDs- z>tK2}9(w+P<~Z9YKJ5GhrGK9DJ?!oalohbf$H(n2wEuqiSta@=L~D4egL(de^fb>u zu<#c=-($%*-|m@X_>1-h=}+$-r2m(7zK7j?@g<(`p?4#g}>nW9va`o=gZQc z#y9D2j&G9n=RDuT?!Fkjd*ln*myyn|vEKxs|9{o_p2vj2^F3RPuz7ywt9ZUg8B*Wx zj8I>^dtdZ?Pyes=SIx6xS_b=F>4N8bj{Um*RavM%Zo%(U5zynE>l?E&eXaB!=p1wU zXyF4(Md!oiN+bj4pD@y?Etz6L!8fWI>R-&W6+V;B*ukQFAmyu)0 zKs`p4LFd&>89y~-fc_jAL^D)I0y17RWPH|osAoT2J(iu_@Tzk5^VQ>VL&nAGu?{jG zgADlET5o>4jpO%3^ofP~LleLK5ZNlkH?jEC@8a~!eS+rwj-bi+;QRf#w0Y;yJ`CE2 zK>Iz=K7eob=h8~&&^`;=&7ge-v`^tX|GBijb7*6r-3HnpfcE=>@h#b6d~1%Ao|ZXd zRU5vS*)DCfnf|^gJu-EY5_9Lex8~+bHu(P;cPY;E`f}X1QkR;*y?1B5)7iJmv)&t( z1gv!Ys+(2go3zdJCq{g1Hx{Zn;GY9uNXEBo);^J`*Ehv#$Gf){6-hZ)-Q4{A_)t?g zROrqrUDllNE^iw26V}v3{5!5{ZjQ-L$x$db#mb#hVWGDvHs2|g6i#V^AEZgfck>*Q z`Rw?q@Yi(Lq?gC9Y;K$KSCjs3e36=2=v0$(>6MPsQZ?x(t?q52 zC~dZiO0OuE0M)!w8}ejtrgchLY`)0yON@M=YMDN@EN{9^$+VVxV?{iFtdS2?^9oVE z(24SrH|EcB$1}xNM>Y2=wWa#1=FRYVv>yJoO6J_CK3jctb9n02lh@B*IeF}y@oG+W zp&EA1_pC1}@@%RuZ7!^yuI5!&H|OA+#b)@R$^*VU`wp7}ICl0A#6I}W88^)he=^fN z^zATz(o%8U&2A+;rOZ=;__(rL#c;XTLw=CP-Gy+V%tL;Z#*JSDUd-PcA4m8e70ZMNW+NY{?kGihjH#@#HD$57OW{8+r`7ab zwfBbQ&ClL=b@O`kHTgUH@eOx2hgaM=d3~UIGWm7m{;+O@U$?T!e{;jK=J*Xw%{y+m zp_%&a*|~pdqdwa{_h&eFg>f+V2e!V@oGYK7bA59d_1%HA7p{NI_I&g8P2tA5lRFT9 z{_1CJVdd({yC__Jhb=ts>dD;{F1y2Ke81bv<~RCiZ$=^OJMxdUH-q;b`PbS@eTV)y z#=>p3Sk3j5-eKVlwpiT_lVlct$`+e{^CbGlyf@?fwpeJ{B$b5^;Y zhiES1bDx>Wzv*Jl=A*Lnjc>a^f#Q|Mw_zZCbHa0kJy&9)&28-QVdq3GXd4^m8I`es z*6_E*Xxl`m5_5`D4s1zM%qeL@*_^Q=zU8vtYkB#xu!WaOs^OE1rP*9LO4j&XC6-g< z-UfSY8(*aK78R8M)vWRNdJVr_GpWC?{ce#OhHbGuAgSwNBP%f`^2UE4Cde-rI*ENl zMbFtXSG6+#Ug$992MM~;e(zYzy=Hxw&Qu>u#tC+A7?r9d8K1XqnU@x+ma)U?HXe0z z4c5)53zK8JkJsVc`rhyTi|_C{&SZ6aFI_iV=4$?p81*}+ZZnO#t-61Ny1g&fXEacM zekJP`x=7s)eTp&pW%V2N7aM!%pW)+^)^1qyu`x(%H?u!!&Lf@mm3IIAg0^avpxt|~ zptZEHHQdlLw1z{Rz1wNSz6sMBZYZt9X_*fKZP?xtTEh*cr8OMl^Jy+5^+<3U{H= z8D;YGL1&T4#|ND~PDxGdEHFK5$Mj2kYQ177l?ZGHR_!}9xC#dheH>m&a zzM#JE{-8ed0r(;L9{iBNS4bs%h5XR9P=5|SNw&f#NfbUww!kOJs_zH&r{R}m^|s(s zICH_y9lK+}XwvP{-G39*c>SJYZQ}lMFnmt@Z-dwp3%b7xMj8HnP}eE`55XwIe+;Ia zPMOXQrqowtI`fy3vP&N!%yE}8-~G8#Dcw`Jn)79CpW5ri6_M~yFf?tSkENx=TzM?$ zQ??vA56FMF!1@+@)gxo!kK<)goRlGGlb7S?%-}DConN=9vW4hzex2zOaWKCXsizC%F!5VylXEEl zZc)AiX!5JDlD`lq^Iws2+$}#sG|rVW`RdRU4vC#p+fpEtAB$Af$$VI(o-2~cXGI>J z!x$S7Q(I-`uOj6vXXR3|kLeIi6iDR5K|jpLO!RP(q!(e%_Q;Yh%RwsdbOq9P2ZiVi zfm7q>vx+r-CLzx_qu`))J~rtcV6^cW?J?$ftuE=h9*ovLD(R0t8q{mXxb!iXER5FJ zUAjGcp*}CirRR)Y7@e2v(sM6esMkd#JrW5<>zov#0R*J^ZPm0^>M68aP+61>tX(*QU$f_ z{9CH1hR@HfPI)cLlfMP#(`auIuh+iA%%>5hGoM8-3#Byg$=1+3a$7ME_qWTlNf+-t ze$S^)dW*LCTyJhKeqv$eQU^4g4F;{J4C4rMzN8dmhT8?==P3<{bwkU&BJy$x_?RI2 z9tZjz*w@3(ho>4IWxkA3i*<}Aq_^y1K9XpzO5kVT&@QI#?O;BO=sC@7kx+;+AlkZl zn>55Z-WK5))Hv2t`JA2YVhz`apL2fuFgxd*vK&I4Ax}KW&N`=#X>tJd@^e~#Zu=dy z3-#mu>u`TBXdevAboVRSK;j*G1iHQZgiO96Qil&??184ehw*FVeE2!?U-q+e?y2J& z_Q)CA{&z8dW-|++lXw}ERRd~ z;2Aut#HE+u8C=yM=?x9RXw_m#U%WV|2U;W@cOgdu_ewhMJ|-UZJCmaBUnS|d!+9b>Euc7m+4o(;(nQs&ieFM+~*Xvo1gSJVX;R2Cnf#l>0oNiDdwl?JJ5^y zX0rcU{tneS=QlF>V!9vc%>PpEhw}ZD4&LOyDs|>0Wb?itp7p0J)|Bv1%zstN^9^%0b3yezw?bliJzPUxY6#lv@Q^%+HqXeddoQ z^?~8v>NNS`g0CR{Tv4}&57S||T=ye5d&>3R80V-*IEG2C2WL|?9@q2--w*2F{tf)feHdi#;Zzs+ zkjUAf_mtTq@OtxjD~(I z>A(GLP+uXqbRlD5bcMyGTQI*HMVBsG7e*UxF5Q;3Fm-yVOukhb__*Rei_&!q$>cBP zHlD}FyjeftPMLh5R1F=g7Gpj!o>X@#FQ(U^RR7Qt3+&@^_^S|Xl|yBk>Wa7M*k!9`6V|?-tfh zyLZU9P&=`57;iiHd3oKjJ(%j6$Ao(>`~rGrCv7Cp`KBd(Cs~~M^}=2e9?|$+TM5`PiuX`@1J(No$r)a!;q`DYv1Iu& z8U1mIx#5taha6De@67uo#LIkK&+#MDqj-6HmY>H5NVfsfZ7la? zkmE|Gb!#CVK7kJa!jJKOOZXAqcL@jZp38ZBLb?r?WAdlG77OT$!H3W}_@3;icploD zZ0!{E2ceAqAoQR=2qnl7fH^2nI0oejMd(2&V5}0($5xYCSqt2VJ|ffypTQc%HF`z>yC9#i6Y>c=jAu!l>>1)) z&$oBoq+bL065a;BghBK@VLkLBtU|jGRzfer3QZ6QeKbdb2S%U6-IRX>{0V!h9eH0D zS(8~2O6!3v!UThv!>8@I}_VShL z^uJo6UXSxRg^!f0^=t1|E7mLOEo;N-H5*iw{28fGo)cEd7r-_}k+!L-w0`9d&$hc)O4T^0U(=*0 z_GVSdhW_LypjS~!dR4Wg7kXDu?@()+cB%H}PBr_k-RgonyS(3ge2+Kyq{F*#dx4kE z(r1$|0h~prGxWF2=I75VSbLRXPl&^_KAd2AAtP^wk#}~cLrI`*aaNg~=WnC){Aj3l1|G%M2NQL&k-D2F!xb zfL>4Ic%12X^7HsPL(bzP%+BBE43Tr5&wy|6`qEi-3(i@e?;pVF&Y9*kd=$)3+njHB zmct*wNaz3gdH;Fd_xPT!IrRejZftkX z;phAdm!m&?N8mr=Ew)$Z&LvNz_tMy~m!^7ojk;)Ats1Va^{lVy^0?7&i-@MC*6l_; zY#AHGn&n~j)@AF|@Va&AKiv}mP0f;AtKr9BYKY6MjD^>^1FXy?R?qS}b@H-#ss(3b zMM1c_h0|1p=gsqYu(!)|=|RzRO`YliFVEMvh=xCd`5LE#PlS1H599TeNPY^&UlU?J z1AISw&PqNA$Y+2pqe)zTXQNWSv(a0=tWga&HhRjz&-c@}I27_o*Hx)kT<2FNf>wGy zDaNX1xhI0wlJS7pxE-`V8l)wD(m~LGpO4Xi-yvP8c}@4$R0q^>AmEXR=BMk#m_OjQ zFq$@zY>@V-ai3CA5$Iq1(|cf`zp)2qEY-=_>tZqYw;209 z*!k_Yq9T6h94KQ&k~G#ODQ(!JmXxFtgw;H2kvcAm_RC-|OCCNFVjoS`cpLY9fJTdn zIc(3D#n`h2R5Qoo``_g@)l!(FhHW;_`kWjOeFwBY!etV{h@s4k&DLtV&js@H3E4_7ZWA;ZtBT_4lERjKMFn-{^S) zebD1rzwZn#^5poEf79pFkz#?EsAJrTd;V%g9w+q;gaa3Dn7p^6|*Dhdc9MxLv!Z!$8FM~}0 zuDJ|00r=o$uob}7m$7#M`mRkjiOw#Q?V<188X<_t#!x=l7|O4NO{u)62=YEWI`h6F z$ouf}RC;Xahg8Eod|NCE>OOVViL$ot;Ug9?Fg-tr0B?zlyFSV;VV{@5pq3_-H>>MTgQreehciS!* zquMf^Y(COA`)zi+w0_JOk1gA-^xEwuKs777z?+RZO*V$sV`7$_%}1&$%}3P1=Fezg z`j|dq`17#zzhzy>wou!C73vcDGu7qLry659L&lgx$sS9-RP1g$#+V)ZiOJ@(v;W2z zvm0X!sAgx|y;ft4i9^R2Mo>#;1HF6aggB0==P3F)Vm@NuCf*gjO_?I$l)Ez1-_P0m zVUF>BI0oaBGoX62)$}KrqEebqM zqBMzgnY)(xfuC~Y+O#e{(qW46E-vG}pW+^k|2`#Y=I>KghMY=6PKCkSN4$ODT~d0; z{9SQMzomitOYY<7p?vwOL+0;_X?=QL=lUFeb5NfF3)iQg5c>2HLZ1X7^cmnh=NmHW z3>h^Ep6(}o{E(M8k!kJbX;b1HCbH7?ZnZOhkW_9YB9m%X}!EgJ53qd zPMKVvenM&|LTV>MYA4QP3XP%Ra)$FSIk8q8fSo{}t?cKB=Lw59(zuaNtrZhI9-{h$ zkoM8*YuWd+-@myw{k^Oo&o%nZYk+X2@taf#x>3B5(izW{Os8RTO#a>Ild5 zH@#yg)|%hRT1b}`(q;Q0_U-QXI}fFGiIdFL#_wrs&~FrPF@8^5Md?hJHKfaMSsKqv z^FMYF{CV2O5J$b9Bl~vu&TEIvZ;~46q>)ZdnKr`T-^KCR5{~aI&$Rh0O!iiZV>FNB zCTiDrPOUY+Sw@Ig1Zh2UtJ$}t!#7r^e^Zw%s81C0lW?nsrxh@Q`AfKo(i^Bhy9^nf zhKvq@r^ktR9J~{_Ey~C1vQ^?3&Ev?vB_*%I&I=w->+_MJ&+nnnfWYJ&=;yev6(jP!Zus%o2`$NPv^AJTf7s@d<@hwrLR{}vshHhdS) z2EyZbRuJ~#*+F=W(i^C4KQUx{Y{>Y?;5|TNs)g%(JjC(cdXC5Z9Q%A6&qy3k=W#qq zdJRCY#F9f<0#ECwcyjq6{LT*f7kHNWD8I_E<&}mlufY66`8et+P`;0BC~&^>nEFr{08H<+}n8h9cZ5jr3W#W20pMg!>Rj`5iZ|%}P+b8@dx7LEQ;^jo;II&^8oL zVE&N~TOo%q%FC}VU7M9h@lB9N7%|4!Cs?15J|7!n>?32$4IrQR9p~jAylQP$h~n>p zj_?@h2>UdFehc?e_zYwco<`jWPeK-9|KPKM@5Ou+^bO4BOB|Ivj*SAx5Vczf^^Uxc zy%9XEIKgQP5$FagV!^z%l zB$EGnyO`j4KGMlYX}ISmk7S<;urxVn!c4tgN}O-p)R_G9ehxD;~ol{~DML+yk@&UjkkN z>;jGf{s@=_+zrI0F6WCtE3gwN0$%`T0(Su|z@5MhUt0Hl&n=D0Xegt-Z?Uy-nyn#@(Rz+--$eU|7SkR_s7!>)VBduCO~%&E zX}jVaJ0l!Bh^`&`Dl{ICQ`tC`eI5HEc-klZ96#>k_z~r|zu9g}@c00g8K5#RCP)3w zOZn|DCC~fL8+t$e&GSeoleI~2J;$Ctlv(;=!2IT!AUO%7g-%$qjCbXnZccmN_gtb| zddhO%x7-lEM8y4fYmt5oo9S2GyR9x$HZN3<2#yQ$?Rw)-_`bvxz;HE1)p zU5VK*ldNC6Oli9eexb{{)Z}HCl~})KR~JpVOu4jFR;{J|O6)Sbn|`yn#CVsyB>O$} zo)dQOCF3qrt@zy|Y`1&XUv`;i5#A{;8CxKlKCg4g=QU)Ib&S~)lGXHiUB-Q0TMydR zB@+^gwe+MCOK=$>Lq;h3SL%08*}b80i9s2O(;o79y^3TQKCg2!+L(+4li`-EliW(1 zyT`q>%&R8d?h@-HyP7}24H+NcygQdM&X6%K`;2=3Z|vT2rszKNJe~zyPnCIZH?SSZ8gumbsm=yo_CY`%DHuFACqyD+E$k{d0nPO zi3wbW02ycTI~bk6M_A3sws?h01T`beqJ}LNkAQDb!lgJ9d!wKVkSAc%YfP}X;T;8I zJ41|=j8S4^?Cz}?qat{P?IrH7;rISN@D#I4)Ha-B&AS3L#av$Q5P1lzV)hts?l|D3 zW7IHym$O2i_0mGoIvHt@XT9<=k@$;{my@Ia!0WjOG$f6E|sI1HYd-!H@suXdyn?mx}cLWe207Gsw)3`zFF57Tko3 zjPF|^L1>{hIHfu0XImf^H4(xU>>C%)t2e%X3C8y?FwG;HF#`RR%xOI6NJ_&`qxfUz zw^5Ae#qs+(rR@*|6vcbCWer=y4G>~YmmnO#8j|oMT6Z_F_XbYO!s+MJ@aK{r_kT#4 zD2KJ4j}U7>fw0e5*B=8v*xSH0qd&idOeUj`>}elpeNBO^5b@~6x{?sq){M zzSb_kYxL)vpYu#m9pY5xwDBH*b*D!0eyoKFPtw|zKl^+euqTX{JMWpN@$~)#^ecbd zk`=O`EY`~{gj+?~NLNf6$EgiE#S;J4fQ>#^iBi>%}<9 z!X8b5rwOFvKqmMdz&f9BKl*`ipRs1|#(M_Ios-`8xv@X9f!aau;}}kG)Tj*v;@@Nu zJMQs4yz8Edhdb}7e0cXgRS$RF<9~S1Jv9$^-&6PS-h1Xh+?@d#9RlBL6vqUiIJGQc zR4{)dIbf`L_Zw^8eZ)U-mqpb08nL?{@$xzCS^ZRQwedc-#(4i~L0u?)6{RV!X4-=zmK0U_1~?(2uYReLz?VdX%3yCu!@Wcm?W1=ri8!=0hi{R~>XB ztbtC1e#jbs$>1&`L z;p)M5O;EhW7>ha3i^k>{V=Ri$i{hxIIj2Gtj}Fc$KgA=^hp-F!5OxmE4~^n+v=8AY zkWctAb$>S&r95Gf{e)=8OoGY6$GR1nH=kRkp?>&}i z^U$B0-VcZoPUF!yN&_6z@3BNH5$%a~v5)6fBsltf8BB-tJ1Wuoh!*=k@_1g2z|r5r zG5u~zw0_V=GBU08JTK_ySWkKNl=ptXDgd`wGuiv`mJj*5e#%mBG6+;R?JXck{e8agM7a99L-^Tc}J6l{t}Qzk{zhl{CLG ztnBABN*~9@1ji7S2~io`Uq-m%wRSdcf-VdDhPG(3g^izJVSwSH349y{$F;Nf!$tXg zJOwlO`{5!hA6Gbw%ia$cOy=*0^@RazJYx;B2i=6Q4;mrtL4*+Yp&s%VO!)NUuzp;C zKWkv428ai2R)P>Vs*kXP(i_MYbP0pcn$A9wlaDdX^Ewh7t+~;^8QjU0`jupG z)3Wf#q)!AqJ+6SQp68$Q+j5+Ez&>^p!d_~Gu#XYKla$^-bw5Kq<2-zt_?1i!*djch zo(n|NPvv?I`+mf*=Ly5U_fR_HcZAcja4+dNKspvCv-)^`dae+iFB3cu7|(+J#t6{6dQ@PWkT++5?T^eb9%n z3;Gat4$kca#pArZZ35Pa7R0wgFT&{HToouD8Jv3|ihn$0?vea)NvogI2T&ivGsgPo z^x%BbD7~NN0q_X)A?yWTl(*$4t$h^l8Jss48~f&1rv49+4jHh)qm1i|jZ-Rb!x={U z{onE_#v#d^I6-^G@a>sz`1WLeG$)FukLF);KTo#mY@%=Ed7C4 zQg$=%gDVI7VC&D)b;zea$iLCc`vC1&lIczN!RDWBc=frTrR%_CK(A3{ zhR`kvZ5BssobGtQJ~xf~v2zOo`z@&Gtf0Sw#eqQmFvc>owKb#tl_Kky*6~(*YX;__ zSaIy3Vrx$81Zysf3&IC|wn__rB-GXkm?uJBL%(}shSnj5zu8McZe$S!6bLaCSk_jJ$5r+achO>-$CY z%pRsEomTp!44ua&v32phUN+ALnCn*(PcOx+Ts8^+U@rJH2vw$|a`x}pEp z);hRu2phVw?{m1nk?VzYQ=c|VL2DoBh&KNs?PedL-F#-h8e@z0!_nBnIAvoiPY{Z} zh|H136nLk{RPK;5MYeV5n4&nfP0k2oit=boF-2iRxAVpn z=|*FUY!vn3m!TVtDbmdxQ`B$fn4++u+c{&3(oKELF-5w5k^UWROp$JeKX#+9Z=?H8 zi#B4Pu!u)A$vlL6Mz6SbmZCYHdq~R1nUrg)l#R5n9%YC5Pv_6z{6X6TJGH*}8mt}* zo_k2MRJ9U)wxGXi+{=`2`ur}&`8Sd^(L!s91z1bS{27J*BOclLoQGN7n2XsOw|x#O zYZo4QJ3F8DZ=XHtxXvpwyMfA3dBGn%E(p?jb;KCIU>&J_hSm}E=hTt<ljb)@k^<>|Te9@!tn|4%=6>P`FfIiEZ1ZWFYFX-mJzSRcto zgbe*m8$r)F(?(F(7*FTf2(smtj4$`O(_-jm+6d}D(?(F((Cr)>LFr~&k&R$?lY9v_ zLNoi-7+W;f{!cx3XiU-kGuJXS*FMX0hutS)jHxffw$qp*{me1-S)MyIroPPQ4vi_& z%^XwIZ|0by@TYn1u=_y1q%lRh{r}IM(Vwl&#tcEL zsKD=A$n#r-D+p&<1T@)Et;)iF_Y!f?)MwbPsX`rPzdXfJ`oJV!+LW;@J# zvr)d6w;OIP(O%up-!JW*934?(-R93=^dV zR@bPLaJJl?U#{-QIUCa3fp?qy>2wB1cH3uraR#TRwUhE-H@3;LwBGCW*h^)lSC&ic zrF749!0Y-3zt330+ABZ*K`~0}Ln&Psl!PC3oIU32G}_bAhAzRq*{JWQsZae^tUjTy zR(;qwJ9N%Cn<*9k#Z0Ab<}7z|=FF19zrcBRjI)X6IKy~9XPjM2RcF-s9N0RXnZmT>x_&>t$w#Xx&V9252Wc1Y~vyIFW1t&`ov)h}ps7J{qIx z`3!qRwr9}h;JJ!1OEv{%veR}W5Wrv`v|E$O7UBFUrt48Uk2;C4)<~Q@$PP_}-I#ct9d_=+qta|U>pMfalm5 zx=-n1c7}91r~il88Csuw7CVzGrR#E0I|E(Qb`#O*$st5hGdGhdZ& zp}BC*I2&STMjvM*+nHS08N*Kqvojj(1s-BWh943~h{q?I>l#Z2Td&~va7O2TkFQ?} z>v{Zwc1FYerM19gybP1K5x=oP-h{J)hBb=~CnXL00NXRvo}_Kku(eExc%nW085{@g zO91u(X_%8_U(EH5)(9K56gDbU#n&dtuQzy*T_Ij%SD4+p+``u}(An^{FtS}inNRb) zC%ZyzOZ@*U*Dpq0E^1exYuc_LeBOHO|CaU3pQ}D(SH431bB*NdD6&m}a*_F}P z$s^kp(XcD9(`maxHrw#Y!R!j+%&q|KWLJR9t^k=`0W!M+yr^BFXFu5$(5CGQ!V^A^ zJt6x__JnY_J)vj(h3pCClRcrbY@GreZcj*8Qx2*^{qOea^8b{}t;L^Q@+ECem&CD>Tkr)fi{3ij1>d0mCn0 zy>a$xqH*4;*7z-=#CTWm(>Dh58#aBrruiDH@w(mkeiI9+ZeOO-nwU|bRBtF(&(4^q zXjqz`oiRg6028xTDA#Y-)w8qWJbl(ImL3TNl-S0V?%KI`tC5*AmB8{2)pu>D>Ylw@ zjfK11vA`bp*KvO3>z8g2V+9E*HZLi~X7;$3A#DNtxW#7lN_3{F1ZSG)Y?wdes2E$J zNU^vo#b&)BZCiOn+Sb)2ZQZj+`uc3Yy0xcAT6S%vnvJttlMf}8@vk3NrZ@E}_04Z7 zSNzi(ih%VQek`gWTmX|)`=+b}Uh*ogzwS^bytYeeOLV#0l6%~3hkM+~M4}{_OqL`M zA1-O@J>pLG_Lj80b=sYL>#dTuH$HGD-*}_sEPf}Ub3kXkUWVb0Gw$%N-?|q))}`M1 z*dBH1V~;|Y0(J7CdFuF|&QPbnzCx}4SzKN5d_rCId{Vs+XPK_}r&(%WM@LC5&ad_D z+Eo(3S+M)zBksHKO_z<|Y9>#gr;LaH#6^$HP;PysOPK?|kDA?9rrq z&fFd~w&$?>*15fEY~vf~qdIlMi=B$=N4u4YPd=d(!MEf#U6;0XbV%D0329q0DQ!D^ zSX#ehhiCn+U7q!g@cq~GmS=r$uV>pEjnewMH#|j`*C|Ce^e9EsPb(Ae{6Lww{fsj4 z8&%5nxPP>|%QBl$hKb5`kQQ7;%6D7T9 zkKV?{636wjn!n5oAAK{_MeEn8fem4G&Xc-&>&{12l*2utvL}q+tmq7!RJ{Pp>a$0S z|6-9i{_+B^=j)Z;>KnY?!1Qu&&7Cv6bGFa)mVaZGcj zl{b4?0pv8Qh0Ds-@z<|VCtN>Mz2f>=DxIk#pMb^7DphHjUv(`DsGjTLfAIQw>cs1- z)Nnz8C)`-;37409!Yh_~!ZT-j!n0;UA3kQum!KcM1jCh$p0Iy~hy3-?*u$eQ6t0`$ zA)kfes&yXH`<5kBv0ONN^qcUJNWKAAELnk{+0GulbIxJ>w0QPtl$i@;G65j0C3^Y?#3Q=;Okp3cYyztYo*`ms6MgEnQrns z7=tfF^2aDKecKox2@hNHH%NXCS^eRAk zPXyuBMp#Gqz-*o#UFnd*CJn-COd5m}CXMQlwwg2uM@<@pdrTU|A$6EE2**ttgnLbz zUmb8oe&vw<=>KPSep~;Q&lNrSiYs!`A$?+|oh)}n-}{3r^4>m|{$8ak+TSfj`uDr^ z{wi1WutV}0ydnq(O&JJRnlgGE(iD>h;d+w>;R=%`>5y7X8iX578id0p4emS&nluQ9 zOd5o5Gijbcdzmx{uQF*6-e}TnM7l|XaEnQUux`>k>X7^Bl#H2yE z)1*Q8m`P*%zAIw81$PTZJy#_64%~nAuq&GLT~{RMTeuVHAy?G?j4NWl5BDTJ>xzzf$`u*&9o(I?*%jR* zOA(TZePa=XHj+1U^k|nXtu$#6)=e6OH<>iMWhrjbAiT+>L3qDO(Qq=wTQpEj7-1+r$DJuPg6p_y2PO_s? z^sR5ZB5%pkf1+(1IQOr=wb~Uu(%_05k)@B!v?DF9=o=NT$Q!bB)=Yb2rYqVz!xib3 zr9YWzy|Y}=-!5=Pek)7AH`9K*$Q3;!OaEcSBMASynRh1Wihj`TihLkTe=yTNc-a*_ zz1I~vElVGpX{UeUimsETJhScy*O+xj*lE^1EK4~i4Z?nt24ROu(=JPrNrUiwlLleg zq|s!l*rY+Y&ZI%uW75o%rFV_=2*SlC4Z{6KI9ex5y(SI9PLl@V<0efl)zcV12v0F- z5Ee{XHPjad4Z^ZXgYYLtI6AY~6`5J&(r3z2x0zPybVVu)Tzch1S9Au(k;wyLhsgus zgh^k4ab(gUoM+M?e88mHB}*Z*Z4hoSX%JRSeLIkD(ja`BNrP~sNwWibnluP^8DSma z)h10`mO4!uggZGzeFkvJm#0G>x((nluPknKTHGF=>{fpG_KsSDG{k z*PApUj60JCVa23Dc)m#!kflB&J%X^uq(S(Y5svz0smG*2STbo4K4Q|$lBLro4Z;;B z4Z;H^O_eO2G-(j_nKTHWF~Y|Fp%U7&xe5DIH=FxY@_moKdb3|5@uU#(Z`ao9uP32rygbm#a+bn$Vbz#|{ zZfuV#78_rdZj#YIOwdM4EwzYeLVyDWonpY$f-_*iK%<*dmgVckWrrbB>|!@s>iYI$`vwaZEq1eA z*LAwS<@^1f=bXtO6Va{idu_jRk?Z&Tx$pbApTFmsbDsNtjI%;$5plk<`A;d+98+dr z@!T`s8Dz#(UZQtQ-L?rSUSH1(-R_IRu665bhg;*2VI`<|o0j}B>{;O$*|cy@A!w@lT1 zJfk{y;2G6I9pemqy><{dqgp6zEv}bmRMCHwG1}`BG6tMc9j!@zVarm0GpeJ#RvbpT z^h)6!^K4>GLuJTsoKgKy9Wll~vW{$@zI6nBzdEvCKB|s5V=C$hz9H+#F*;No!7u6v z{vqqg@j`yu9EdZjh?~zCb8Rx;EBz^BXs|T`eJ9$K@0$OV=Z-j|igqyd{ZsTDY>fyR z`k8A4zeAX71j8To+_744M)fm%?lc&>nQH`oq-WL$h7H~Ntr1K&+lp(1IHUR*tPz^o zug2KoSo`mK?r=A!zT*L3jOB^E>Yt|)Y3(nXOx4uAo%}YvNhi=`uHfnu(?IC;P zkGYrWP-=zWn1sY(F^M)!qLNne;Rp9N_Q?3yZi%igi3LfC&h%J+X{p1$Aw9P|c&EdW zm40omIuU&7v9+ZWnSSS;GW~NJtQsB{|BaSySefBj+gCXv3T^d_d`USg5nvQ||^ zdaP7sdQFW?e{Y-W73s~TUZ&5RC)0gC-0946ca+}DblhhwSKB^DAV76Pc0Ma@0XS#-ER@?G~}J{=>-cU-|v5~P7-{7D4j%k3qO$Q zPd%kxE7Jd1dM(qx?3^$3diP!RU6Fp}#CMr~;Vqfo)1&^oNH3W9??`WuQC+CkGkxxt)o%g0f5ZwR{BF6vWVNL~P}N6BcjsL7 z^Q1$0vx&~T)km3rVLtBcq?}syn<9UadIykaEEL%Dm)-*zZ+q3vq-nU|<-OeL2jBMI zLWItviO_j2F&I=ICaMe6)j-N{LWXO81-=`J{+gTqWrKQ7wBv)N=h(i#Qq}iF+*kS@ z;}_qN?RJrOyW>(7$VmGxdJ8D`jH>>JLHi%1{oTJv+TZo1{hgpS%PxJV(w6S_y6?0Y zvM_&o3>iI?(S26R=P@xKbb?uq|OzBhg?`QA9|?J@PF4C;CAY;mT% z?z7(C3%)ld{+@j2&P%>?zxMvC$wwLFd-K=5d~f{P`)`8p+{AwapBwF1@YXt8`pw@+ z{x{Eie{b?r7Wq%UB=b(bxMJ$K`7^|5bGJWt(z`VW%- zr~lynH>p*h zKl{gCK7`4~ex%%z)*xtzg3x?KJgPNJH%u9nXY>Q*YZjkNK9+KEr zBe69gQM^}3Q07bPgukusm)AKuWZuq%#Fm)EW=&#@dc?@{r3&G1tNWe`(|_`oZb_qe zNo-0=)X1ZeXFmL{WQjgI<(7ETDX~+Lm~_g%t0H~(J6Vo&TmQa0ZS>t~wq@IX*$!=k z^xc8}efJB&*EaDNAT^dN4CeB zki^wB5?2KzHn2?_DDx$GkHzVikJ~$B-pYi;a7^MdO=5^VA@Y0)zGGOH*Um?D|!-r6SX#u3U-pUewyGrl23cqlt->I~x!~Of~kkMa<*nZ(U zS@&??{tC-yMx;OA-x+*=N4`kCi%7mif4(k*uZw(%-I6cSm#3;QWmHhkq^Z(r7hXbGu>3xIMbD!YjdQQ2A_d>4TUq+`Pqmwf9 zO;UHgukHz1_U8V4FB*I=l5g{1e0wC{mi~Mv489ZO+amcC)_Hf9E#0r&Et3DS{`@~N z_dC_5T$} zpZYyO`qcjyAbslp4v2@O>m49{>R$xXr~Yq&^r`y-d0iG^AlTHUQ^#ZRZSVXq(t6ex@fWv8~XDdH~5Z|Z^JrS_r|_; zZ|qlx!%^%hL;YoR7&1C2BeYn`2=$d=>?xP@e}4Qx@P#J+fP71qO1>qFy&dKnP8oa- zEL+_B90)D;9u#~_CLSc;vgML**;4NhOg_pW--@NZd`p&ke<=8tP5dGF+~|*j{n%5k zxL5M8SnfS&@>3T1t7pr+>e=3ZGV>6Ajd^pH_sU+j+`AXDDYFB2R;9gs$yYJMn=t#4GT4t*GkV8CV1{>(;H#LphkR8t zC0|vgcelw$8RVN)*~?c^>3v4<4v_vE%DMcD4&Xb>epN`N|}p&+BbA`;Rg>1}1rX z$AIef?vUk8+(Euc*Gj%gW!~*3A7zkla#=5*ugv?T;F~n@Nn`9JS^xdm7f-%U%9wnu zcZVs1@*tyu?X^aeemqxW%rL$RV~E&*K7x#9-0RhlRm=Hx`91S&?v=s25@UoIM!yo5 zVGI#N=o`ws;}h(ucdx@<8oage^+;TZF+&VOKVl8^r_8OStEHZo-*a!OvYYhZd0^dVkEdlE08 zJ&ETqpNQ|`!!xl*k-k4KVnho%Mf&_4i+VEdLOqEEs3*~hwUX=aBF!T-4hQ1*}iyq=plutZ@@`;B~KCz>Bt#)(HzTUf5 zD~xybu0bKj+j`fa0ON_?^(4V~3(6-pqkLklcWvlqT<={Ql8kF8pZ$I6Bj!Ex*9<+L zJD9(6=&@PDaTKlW@4vHl=y7Ljv_;R%s5zr3Zt*SLrfzv8Vr|?A|C^hBnXmuYf-{qk zW3Q z^s#5hryhHJVl=UTd@8YfVsy{<$EWr@Gcnrw-1t=M-ibdi+gJbW<9F4cE_!6%42mu^scBIJ;fK^?yU`X-B(t3qV6l< z_#Ut4mE~LO*KzC<3}&w5B&akVb{LpyCu64TZ=cgey?QLzTL$e+y1%a z75LNm$=0oPqoLyAJFv-j4P;i8k22_y0uJexqqA?% zj<-HL{#EcLEwi&PRg{VTiTm~!Z{NSaF533}@xQ45etoKK|HSS4%j$n|-~PJob@_Gi zwzBcNd}YO_%gX9b`pPDrE*n+9DZi}j^d0-_x8Gh?-{dQsu(56QgwrTv^XxA=;*fJ% zlyP@9`|?#TJHXS5(#uTND}PTXEuR{wYRRiezjb@2*W z=5C|R-DS_#|9o#*+3q_kd&{i2YQiCu`E8aNt{;C$l!>#a{nyYVgL0poP3ldnFiUN_-M_|`Lg@@#d={OY*hCvu}65`dXt7WxaLan0xZBDPhm^CsEXSGSMEzgKB zJ7EWDM*oc?KIyvgv|~wHz9hy)vw}w?>J7V-#EHGo^I303zL0y>7lfXsT+)IE|1*7u zAyj+Dr6{dtTBoAmzsyfznPb@SB_Ph#Xs*9`gujQhwQI4%S)*tVKdfl0S7R37T+?(= z7a93Gb|_kNv!ZR=rf9L4*bCUIkw4bR|K%?g?e*6c?X}kw?euA}XRt+(KhDU1?>$9( z_gzK%{qGg6rw4{IkdI>g7FkY!2ze3sABp^8jIt8A@_&s{>VftDR4#o5KwgM+R1a(X zFhy~3u5g_%Ks&m`cwTd+0D2q#04B4(hCibM!=I7M@Mly_zG!W&^kW3dc-H25=W-jS&f{4?R* z=*O>5jZx;{_1Y1R?m)eE>?oc5WG(9CL)~`t)(hu)3!n61?eTjGwwFh!pIJxNZzJr? zdg}<=IPVVM?N6v;jbWV%y&n6gU7ygOSAC|lUygrhysZsK*P>t6t}UJXsM#-T`}fPE zM!!75erdi;ziji({+8^QYSAyhm;Q_}x43@i;anxx2;g+XcM+Bge5aLZ)m)#ESLl{; zu^uBnnd>odwc+ktKWz2sM{czjto^)wOve9x&YJ%I?_Jea4d<_f|9eNT|NF@q z+alCETE0ly>s)7?$E{r?ZFvwk&MIF=9j?P(K%-p|T1eOxq0h{=>Z{{p#|QCGIlr>&zoj;NbCj;M<{jy_5+j-$^~FR=&cGmf~nnd7Lh%~RiT#P%}V z$s9-2@v|65Y%}A0w@a=a3;BC&x?xu&esdguxHdfdk!@kE_Nhna+|wMc{$@=2z6WpL zv(NaA?V^sZd;D^qKoHM}-ulf&s|{m(sHvG3EQU6B}Xg|I6syvK?cc$Z$eZpsR2S7hj5*cE-Kju_h?Sx2@{-#UW6 zUme+3A63WPUb~_p>uA~)4OU0;vyLct$U2%j=!g74p1(}n6^A}%OfWrWjQT#q1qH!$ zL4g|OHwXX2Y7V|7=m%w*#K&JY`j7JG>jy{8*I#`# zsP7y-UvIf;zW#LKeEq4b=j%s~1of^i(EKQxc!Mx#IcjBG)bbF;O2XfMsQ#4x5A)j&; z$Ud@_V79N52StJO?4aN-QDVcGJft2!NWLp?Z8@(aWjeaqKurgkg?{c z>T>Wr2)!>+@3rUD2gwU(2+NTEHKhNM>Dv_V*O=b?Gxc7Uaqdm)&`G_zs2A?j zTn3*1B+m}WAWz3n)fM1bf%JEoe(;pKg6W6eR= zY%|KvvEW;-^Cfi^c$S0beezuSvbvl+?tg$R@=$Ngrv)zu)2B|U-vF&X?;nE!>h_Y= zz6yNrk?&_eQ&)kHZNcyg@&qN%L*OCZe}GQEa3T10g#Vp97cQt@H+e3g4u)=&o%6EQ zuJ4fZbv?`6c9od#KQiet_r*MKmNZSIiMT!vxlkZ!*2?saqp1sVO(&$LY@uDWk zd$#dopTW#IFVA4E!riAma(-U+3}((tmp_B4QID6cjwAA$k+?U-TubMp9TGBqIG>wb zZ<_<++tPf-x%SRC+r{XMLxac(Le5T^9u#ug+JdpZa@yK@<+REEY8gPE2F({CCnnQH z`TBta!7WnG7ll3t4ya!=^+7m@K5ZUE&H~8c_pPMpt-U>{_m$b+-Yc`c zO~_>5lQ($J$3MH7gL|Gkvcy_3uiX1 zJKu+I?FusRj_M+fAm+wWKZ3hBuK={x(hng0Cq z!4?@`CHm$0=f%3v+9!=`Kn-<#sluL+>0<1qIbYF->F22*)}8|D0cw0c5eS{U~dy{kUyS-~5#;MSgk=>x428=X%2aCH;-}q-@kN z_;Q8)by?qj^J6CT>5}OgecGk`nWEk(f2KJe$7~j|PY)ue3UW>jkkcmRRGD(BGIDew zr)dy5iy^0BfShGgj+l3Bk6=d50U>AMAaX*G6C5BXG^Cuier;B@KV{S8m~(R+y4miy zTbg*IWu0xyAm!bL^41I}ZW%Pbbl&23OXBOnF8X%`Z%9&-#nU#^VMaY>p zh@7R6;~yX=DCP7USK>K0=6NA!>L7BKK+dEAa%zT@)84NgXFZ3pH;BwBkXb!I=1M7Z zidn}gnK~{JGUpB=#}7GG1LTCI9KR{YpOF(1asq?MxgK(+50JyYu3Fq^OIX%?yAnLecg&HvHxZ;Fbj&-eI5IGf;gL>!eudw9~kQW$IUZ;?^dJuVcLte)K zIh4QTxe8mmOdmwQ6+)gih`bueYwN?OYg({X#%G9nYMMI3tf#h2$l>~}uujXZwjQ|_ zT?`M9kp|xvAUo7YmfqMHtd(`H5V9K^RaipE{Vc)(wBfQr@I^l1myC*5?b`Z?6|!hrOtL)LQx=xvUR zGXHaI2mRJtgVb@!v5M^Ut<%+UkauoCzQ2$B^sTq{w*Re7ptm_r%lvUd-t_6g^z`X! zG30a&kP~2Athd@rWV+m2+$#4LV%;vdRmeNlC*R!nx*@Mqre~h(ZW$Nl@;N%r?9VaN zGwTP-Tyl%muE?>_Z?7;OGT$E{bCQg^#TbE1cSfdMKR%H8{p5Hc=iNShdLR%~WxQC( z2?W$)Q%*pxAKe4!)1a9EIj{HO(<>^1V`bbUx+k1b? zak7sLy{anclJW6EW>u9s-jrDdXJ(KY;#h6dhCC}wx$fsa!EdbPjgD?P=P!uo3gx%- zp7YZfkM*AOOHh8a@#FsvTU_z6&JDYdUEWrX`uVe<|%KZre)#Z?QU( zvd#OAo2$`JM`U_tOc%)b)#muS+Uy&QMec)-4kD)rat_J#BJ$}|rv{yUtj zNRHh2p6GzecTN}(vCI8SW=8JYxY?1oaK9j zY10IMH~FVc>*b#|Rq!{kZP#cYd6u~7xliyLZh6YyCCAn|_FV_%uhc&BTyatK^1u5s zztqW^~Y4kwKlR9vqG};dT@a^rTU%cx1$oOYxMM78Yi(J2dMPxDVK`Z=z zIsCr2Mdm%%8u{Yv1L5(bXNA8o8*)dl2oIkLOd3F^PxHq=emh5V4b#H86RI=;&HuuJ4SIPX*1>rC3Z4D2H zo+k?mq_1@7Hh=W1kuU81V`TV#XMNpm1-?h`9plqqZ1v?V#XWxTZ$58nYow{5phWmA zZ{1hIyObv{_6gtM*TMIA5b^NhJMFxikiNd-Z3jHOpD=*?38nA-+4i7_-)-NOYIhf+ zeNLhc3ZJ{Oe$!9deT6g2BMU0qBTen?B^%2NCMc~OZH1Qmy7<1 zmnYqY@X;SlraX(kor&9cmEj54peJ{4JftlW3a%$s}5ym{<|DwO#c%hWe}szjOj zqRd%}(!erv6zR8op5eDVs3@yqw-(^e#W9|pW5&31aPNK7m~v0yP34iUF=I+|u9_B! zmfu?Pxs9M{8spgonhMZdLLToHKsbUs>3tP5ftB)(yx}-cJbYx-HvAT(L7(9_`D~QW z{;Co8N!FgJ!h}IHU=9kMs$w?|qQew_ z5|a7V@oK4KNgo}p7I7cecN-+lLgWdZOO^vM{*1e|p3-D~Eytm(!!g_N8;m+!-&+Tc zxod9ohh0DCd19Q~#FC{LQ?m3`8 zea}}SHu}0RN1M(v=aL6A9wZFZ1k-^R?s|v<`lmE1H`fLSO2+VkbfL{ z8uEqQYx>JIc;M4M({~ug;yf|dK$%vq;P{;po^0G7gu=u<(wVcq1I`21;5jMI68i@~ zOB`Z;HKdjs`G*fH+Mz>=cJQF0b#!2GBYz?CryBV$yr5`Dk1E=aexztejwpOi+iIbh zMV1pFLf%509bWi@G0K;LU;eu>%9ns&`eC^|OAL7-(t*#g8*%l$8`WjrjXHhMv&80I zT%YVL@o1bSzN(=2Y$w*!!f%d|XNfU+;|208agK487#JBo*K6UEyzABP$-!A->X*6e)i_JsTSwmYdeHZ!C*=CVIu(vK&Jur$ z^$GoX)#u}#B^LeC=PWV%-mY8dI9`5?$ z+6|m;+$-kdxC_a&YOc-5ga1}Rvyf{s;*&KQuQl&b>DUYiv>%Jp{WF>qzs zCS$$T`>eNlx_o|cJnR2|zeDD~?ar23d1uRHjECoI<((}E>j<}S%ply-Uh7_IgkuQn z95bXrxY?vRP%H0jp&W#pO&Wxcm^5v*^3E30ARIGk5I$tm{Fm-*sTFs&OvbyhxO3Ea zuIIG3b6N1V9P6tK>#lL{^XGf-bn%NjU0i&(X58swtdFkPPiw{9E|f=`EzFC_x^c$~ zZMQg2Vkcwbu9s@^XYP85iMw7znz-vFChmG+Ja#cA?s^e zX}s&@v6#F|s2XjC@G7<$!aBlR*k%Z~Y(csajv?G&(jcsxG@E1cE+NW6xZR{d_;r&; zkIB1)NP}>jNrUidlV(Fq-aSJagsV&%gk2_0Q%v4HLmGqwCJn*`CQV~Z-aSJagy)(x z2&*QI7L#|+kOtvulLp}ulV%R|H_~GWk2Pr!?l!_L)iHVZ4CNr~GHDP#W75oGyUX^B zAw0>XL0B=%s*1_GXDA0@)uciA15-}s?wOdpdj_;E{qCNL$-8GL<3_ZHDFfl8DPw9( z-aSJagqSZLNFbqD3XHdtkd* zTU!c@6yC$VT5Y7Mwzh1-#;LU@=Vt7VB_-ibpRgjbq02-lc2A-}v6hcpO> zO&Wyfnlu%Dc_$8O5H2xk5I${$TLOM}rxA`J>^5l-K4sF}>X&!oP!7UVO&WxIOq%I_ z_co?xdHjDV=Z@_xs>x$<4nxd%>;Jc@Icb=hj_M?3iw2y%HTcG`>k{m$m z?nnD1Xt#s*3DABA-$(n)_4lKVgLW5azX#gyD#kZBtMQF4K|QTAM?@U>&fpjsb(p?? zm>!!vJ{TINu%NB%WM}YwwB}-|`&B zx4>4)aokZD$%Xt}_(d_k`HA+4O}?!zKI>}F&Y~iB?zMN-KXY}ct|?UL$@MO+Px_YE z_4*8|tE2qZYwPRds>@wasMf{HUGBm{UtN5z%UxPHsSZ9-#vA^Na#`k+S5JoTmixvZ zzItVSbkbMH|NYfPk*q>jB&B*M7I?jpl+Qb{(0hF(HOV`%)O$w+GQ)+1<>AsoSNO1f zZg_;fC>(XWOX4;a{(ij0R+{ z7;$VdMiN&O-1Py1?)D#RJ)% zM3!xBL8bIDv!n9b`t9(4vJt*^N@v~?d9w1l`liX(P1rbh<%AJ4ua4wa7Dk#}b4xZB z6_qqsdg}`-ua7t@E9-NyPu&iGG)~~*8DDV}07uODo~;XhH1el-;9Fu!3BS3F9>2tv zf0rlRG^wnl6!HABFWQ>QeI@jXl7An<6=fy#sgi&70>~1+pX4~gZ_tG03R~P&zc5J=zFYWfq5qcz{I$fFd5aIC z4^nE`#Ditm(g)6X<2$k#OHYtDd9FZG7nVVY*jO@8~WY}@-wPo2OmX*aT zWd3d=9~g1WxVLQ2jFI8&5dn-FnZMo02S)aI!H+SOJ)){CUOf`Nv~t&)eryijzP$d) zJFctWh`y%pqaWUWZ++8>dnatHsGL9_PtrHe9q{o~HsJ@iFRf49URS^8_S@^(Z%@wt z8wdMr_w0X!oeIXm?C&|cLNg~mGxN6kCe(Ki(w@ET+m2`IZ>wusHhV%V;?G?7grg~Z z-GqG%SANCOH0Qbr9SoO!#bJE+I4I^f`skpgQ1l&r$7vCcI^tEg zjekvqH#y?fw~tpv_&bjH+`Go}+uT9RcOCK2((w@yK8Bwy;voFN!rOc zR=~W7qLebt$^9VStpqF*-Nyd#67QqIeIul)#y79(?-VI>fOEFvs~_&E;Tb-OoQ5&sy!ve$f5Y0)N#ffRdd`ux zYAt_@+R$ObR}FOK+1Pl)gJyk%&a98sa#q+|LdR(=xcn$yBc*X?yZ|q z7g3Jm>#`30>-&)JufHbic(bV68=1N}vR2D)Yp7qpy4`HlZPi1A)a@->jir|D|7TgZ z&}Hg&{9}yC&#K?pUt;W`e+G_E?%nWiQ;b0kdpEN`Ip>is`bvA~Aw^rYO3@yCP|+G1 z#2&6M5BG40i+3vneR^>Z*O%5UX@$MEHo#X8_i%k_xral1F6V;w^wWyAbEl#`^^~Hu zwBVaFe(Mikjb z4rl~_-##|e9D~eFfjzz&OcxbN zyLGo)+N*m!(iR=}Bhdz3kNDiW&ll9gez)%T2le~Q-FkU>P+#dT*4@SP)3^_bHl4KF zr|l-~+-a+scGn5pNj_`E`(Dgh@h;hT4s$N(M{L2g%_i*S^&dHcX@^7D%Ik-7gX!Fe zu!Yy(AA#^nVF%x`C)cg#<_2SX^4#g%`_*im-EK)3X$hv4c$u~{P;&;Wjf3yXNZ%sk z*^H-ia|K^(pENx$FPM<=n4rnaQ)7_Bb(eFs0c#%4=jMha4y%!93rK_=fyf^llIW_D zSP+ot)c3gDy2};R6SB?peV$_7GjV>4K=@>6W&A6_7J&~0^=V%V>VNn;d^dapeil~4 zf5W%XU+~#b4xbG#z-Pmb@$>a<@Y~S5J*davmtpO9gZjhY3+iij1@(vGK|R&s);l_a zEvdt9`d!du-D*X9z%N6SjNc>T^v|&QsGB|-S~kDnrjG_41BAXCTJ%@l^zD##xm4O% zrQN?!X&aUH4ENGDKAr3F3g6v%ZsBubwUjH`J$=N7YvEvH**EP+evy{8<*6fZ);{gX zRh>Zj&H{T|obQc|pg#ngN;}uIZ;whJ4rzZv*yFZKSy`fwUT~;cke}`Nv zUFjBgcA2(LHN{q2o8%L|iPNv*{srp}9niYqdAhlF_U+NDW5ma&>V z$L++qa;6tBU5-oc|A!izEuEX)`sU3+eb%sIeb^QATV~}H>p8>c>s7hMdhUq%Eme8N zdfv$S`kazty=21tmO0zp`nGLBy}H@0H#Y}cs&}~c9Xo=wW6}?`1oeYY1^rn6Fkgne zlaDt2`c9117L3)W;ZNi#_!DV7;-=4#mc}2sh0hSp7?YYYCN~&ka)TU`dedpQe)@E< zrRg=d{@QCn{jt~G`s=R;TORwRTmR)RgZh>;ZvD)eV9SGC9x_gF_0e9DSYmvi)P7r>8p}=^X+s=KQK=hslpG; z!4qmDW_^g0{2_;|H|0D#nUj4=At1TVbp2%lCp!@+GA`Q@XPN{SCgZPGLWrUbI>Ia%s?| zKbZ&j37;;Uqi)E{+0q8$XgO^v^7Y+ z2gKO=73Lbt?`9d0{Ra7AlXWxv7fpr#qFe3r^&7M2^EolgYqjZz&*J&`Yxo#Ck9Fra zL4Cm$^YwXHyMiO;`#}@il(KEaI1v6{xQ5+otYNp77VD)G=j+pPhNiYQ*fM>QTVJ#& zs8=+&b=-T}Qt_Z$$33T%QL{H?(*vvAI_@i_{~h|dp&uFH=jM$!gddsoxpTso4SmfB zUp8;PDSS_)kuQ7(z1c1LlkFIwUT3ZLmcTi;e(pjrJ?y;jZA1S&!k6ra z(gxNq^Bxj;i!MspZ`0lu?S7FovfruiRM?lY&cd&d)sWLrA#7kv`pS9Gkh6+*matuy zdEXFaz(3A6sQ*Rsp^OXC7Sq&!)(q%xdr9~zVmk_7MUJ;*JHAcdM&yw`fg0rVWhM97 zSntC8EdgA{IbOr|g@2ELObhwtGjNSzbG+IqrM@B;EVl%9eVUAG`s%lW`j>wTpIq+*#cy%e1-^Im+JAvBBI(= zy$%0CqV4JHNRD6Ozv*}I+r)H1kM@1L*B6oodAab>lZ`QJ#b3gL`skXpQQM+Pn>0<6 zcV{#)UDR_6>p4*OjLu6gxaotXWy#xa{q47ddg!8Czj!g&68fE6|K0C``U<63S1j{e zR#=O5E9Uz$Td{7l&u>}gDApa>^V1iWs8gW-N;$5ipO;MCLMr`Bgk_!_^Je{&dsX_3 znAUf!T8;T6WU}t$w`KOCtbb^+73<}4*!RQVMBg&aad~kC(dk)ZCkG&*{+1ntgli7j0co0-34Mx!Gs<1zg}fm`g~+QzuW-t2j~kL6sdfgc*Z zUG7U;4kX-qA`xt9+vC>v>{9Fmg>Jecv|k$wJ$rt-Fb6`z|8dI!Q#^o9)Q4J+Lh^ZFr;6HaE() z(Wkb#b@-fWnR>uYpHceF?QWfZp2q%dP#cN(muLiu=Z%9EiryC$h^BnTOHV= z-p#fWd>C_kq`k53+8s={-z;pK)6efww~{6~En~mTy254>d`UmXz?P zRx%^yV0o^Wt(p6Y5|nomYZmd8Chy%zVl895lj*gr_bHY$uucQ(;aP0W_GbzDGj55m zJ0+fGxh2c3*@}#JQMWFnut< z{Xr~2e-Pa$M*-%7pEwNsL>u%VDj2K8xfsjDYK&!K6~;0#0Dj6@34UT2{KRG8Cx&|W z6K?9Wx_3XJFy6rDEpQ9^h^Y5Ihc(7EJ|}?fD4*Dd@`^de5x6ou&L90eX7dJcCm{}kjCPqH0lUl-X^*)gVdqAX&P zV;*>B=sD5B{EH})7+f zc4TbHjdLcsrVY7q79hZS#sePMjJsho?t{&^`Vltc;qZv47P)kD1S3O18}mEl3|oQt zzKSynvsS`({C?PuH@V~C4eoeEcaOhsW%&B9-XAVp-xQv@aYOiqO?o)Gah7F}reUB%l>!mZV+8h~w->k^2t5!y?|LTg!ZLq~D zTwflkS$BVA>c(*7?sZL(8#YBEv?IT9_6Ea_T!$U`mhfK{7KEop9}8C$jtSooO@!kc z$~|#C?1>jdJUKI0!k+wo&+wT|5!zDk3WwdhA`$n-m3vBd-M`XZ2|MSix^OtBJ`x@d z{b^@?G8`^F8Htphgx;0cw??Y!_C<2)+akm7I}n+7Z@cdcTc7s@A20CD-#x}hTjb%i z#fB{}ZIJJtA?NTd~|1I$?*c;@IJQC8^@dwWh^zy2pDC2w9WOcu(>{2 zvg~TuM7yLtb8a7dW`u?Pa&Dh;K4f$Kd0AiD`dVS9`eFNOmnV0M%dqjjF%otCv}8H# zsRy&4miE$fe9K|;JaabAn3v0X7aH|099OMB!w!6MNR~M*-n79}A$YE^mn^T2OjtT6Vufv? zP55*cdQESdGpD2kXS_;A9hjHrLDVT^26iyUbUwYF>i%-ARGY+&?%QtPyc7yi&y|k3)J_Z`d^9vftJFbVTUetY6l@*buii#39X@0W7 z77tW-tb!(L;~J!GHttv{DpE9;OVP&QX;n~wnIO)s#E6KkBDxeT&p?l&EF)H6@gq)! zPXpqOc#skU3Lb;Nu?il8SZf(BfiDYUk)l))%N0B_j68h$foMrLPEo)n!&qD)N`|cp z9yJKp;JIR>C8BvZ%z*FSA?8m*{vxAZ1MEf{m_Hr)EkoQz!~AL#W|8Fth>$lO=VGRR zvq-rWcA+{6hcV6_iEnrOUd=YooP~k@##xvVtdnu(#cG~& zG0uGm+xch_&bL@_HU*UNBDZ@)u{#{aS+$hgU5aqTX)lW8XY;$`P>^=0=(vj*^YJxh4D_=*afjtj6~_*4e0oHDIab z9LnK&7>*e^e$FBZ=XyTHy5wg&M13-K!MR1&g>|qN=0&KRIJ1L#@jTncyu6a$df6gb zcGk-lX|mZweX{L7dB;(oy43s`)g|;P)P?IdzA+aVcG{!4ULsy%*kn&&e;>ch82l{z zjn5P4gC58JU4}6)u zW>YYwUeSuIN-oi5RfZGCSQQNESF{4F^4G+NaugiPctu;4qufM%Fo%~kzM?hcC@@`m zMO%9%)&$_1E3qa3AHEW61#tD1;x_=#dvHyn%`Mj+o>kF^AmSRse6BIfpN2JM+5<%> z@10j}{(2G0d*_v#zBW#*Eu^m@oiUbiHY6vWn=Jjdm><4kcBXJS(>S1H1g5hHUVxg+w#+QRSNIm2_q!$9E`CXoGZ@Q ztQ%u2#~5S4$nfDgKD#l-Y<dmEq{CGh9nNFk!TA@#C*j0P5f5$)n(a;lkUsP zd`lO<4|9#*hr{rDoWBQcntZQ-8EncH>(XW9moCn-bx4}A35l+l!~&M9F3+-QGVY{K zPU^I~(ng%Lw=$!X_*4ndFwJIwh8v<(3|+ zv?(&p%``W4nY~W<&YpC~x{NM0Ln|A&9ZmMv`GnxYD{7Y^Hb-u?3#@C>a*L>XK$}Q2}6$#BHBqa z^oS9mmr+KoQN}`}jG!UAhWgY{pJSDFV(P_8)8FEx?yOplYqd*ai4*ziiugCG z53xQWq`mvnI`Iwdy_eTzzL|C7xyE;1J;as9JE@TIj%pdxWf?-J0p*zTJ7oHrgv8Y` ziJ9+ur_Zi4zm+vmmj>#x`?&ai_uk&)8C??8VYTr-Z4LU3@do34+A5|CUDi;Sfn{kj zFC+i-G02x`TS5}`8j0fj-D@u%H@{12)JdaGby*JLd-q8^y;$OF%d;GQt0;S?TVjh- zVl&(Iwe#!D@0KyjiXp9YcBS~9bmET6%sX|r74>Ps{3Pzw(cJ4yfW`Qr{v#*>thq>SBJ*~C42 zC9Xau@!=P`zkZ<6T2`564u4)cH(E;_EdMPX{D+`6XU-OT6Hec#eAY zK(FNDt;N){5amTqx_F}mid`K-B`<~8Eg4e%s=oaP)~*Vey*XwxyHNPYGaM9 zGS=7t*EHnU8t-x!O8z})pBU4Fm`lVO&{5vlp`T+t%*UF^@>ege%kHWDyS`4*orNtjkU^-hsLkPeFI$N#lKbC)$SbB<3G= z*okt8Es}q=cU`uV@n)1qj2UC>1ME+z&-=z0d)F9qJ;H14EJV0A&P_*7TOuT-R$u zGH+px#31uGykj-j^_mWuo|}+3EGE%LSv8b(w!(ZaneSV~dmn{)FIjD**>JwX-Xr_B@qT6$bZ?I*_ZtgXFNv2ugyVV9`Fai5x@>$F7R)G!-3BObAZnQuK>0KhXKD2 z%my9+;-HsnKhO?r1KNPk0<(bofL7pMpas|pRDemTR|D(Uz&h+t+5J}0zFXW9b*Dt} z4BYTs%6x8V_Vp~jN zE9n|>wnCHf1bGwWeF=P+8uB|Y^BbQ_eds%H z=&j5*&r_i+(IzKrBzAUzXURJi<~PqI%Sj?Fbk>?}{8rBGkhCBAo=dtV=dB<5mK(yi z+#bnuv|HklE{TV_$%AjaNg3~8c^xbd{_}}T;O{;Jtf`Y{o#x%wXm>KcslsM_>&jz% z-c~t}YGyQw`801P<`e0rqy)~pA!Q37KDG{X0yyqItJu$u-Be*WzLgc!Fnw!<-LUC) z8sExH|I0OT+dhx+9Zj)jwXUV_-yF+qdp!4m$C1^xHi&qx9&c;%HP^cj4`h%q+PXK=0sK7&yPSI2lx(rq_=2A4^n!S-W0k;T^}!*=hv za6Bo?2pMIBhQAs4+W8z`C_mX-M)E=leFm>$8HUf`TuW4xkrZWk-1hOFaMaW3SyJYU zq&%Kd`}my5=xaPE<89cz%QEtfGV+ICj6C$)9AAFEr?(7`r-U}t`7A^AdHCHB?PW{O zVOw>&?JstQqn#%_OP@IrNp*IX+F#6xEVXooExQvD`|jU``u1T9M8@c~Qk+6-u1J~1|JmoHjEv{HS@VH9SGt%UAmN+KlMn>VA z!7$J|MtN*;=arseg0|S^JU=#^_nWc4ypdxgO=HKFMxGv(m+;`WC-wl#hgfq{lfzPD??oV)M zfe(8|X=KB=(cU zPPx}Ezi;U0TR_T8vJMIITrhqIVBe`R-i^I5@f`QA^4aI#gfn51??cZ#O{RAzpKOxHU{l4Adk#&?OOUQ&YlXv2UfuZpy+xD1A2j3lL{sMXcdlFV4RcBq`^5yy z!Z}SvrYY31Ckyh9VxLbuf_@+#GWP5p_?^LWXJUVoRm=Ks>6WN>No-0=)Yt|J<=0tl ztq=Gg-S@!MN828l_UM5Jra#*LK;Y5mAE#G z-$(hxcYD`4KgaADluvve89MO$A(qzmL4fR)QSZ}Hbo-FipbCWhBfC(vn9(`Bl8LZ5y-&>%7M z+my5c(8erT_8OTN3`neDUJdi!s<11-9ri5o`*_DYa$mpWyxh<4crhjR@!RZ>0lIDP zRG792L*6$|*|KS?*=etH+KtIub1B#l|7udn#7ZCNY*118o!TB_?jL zSDL>chkVyYo*weNl@j+2ZFnb@-67>&Oh~*ClXy;(*iD{p@|?w*#d6L!X7|XvQ{56z zc1i3^N=%X`NuFa?@$PZMi&pb@<572((Eo^2;vq$12YEWcv&}D#L|pM=qZl{AVypOuwqSx)jGtg(g}?>Z$Z-_RZxp`|7mSwUDQJH zR+5M{s*Bjl^jfY3?Mm;nrmc(RjK&z2d96u_3ARN7c{P?s`CP}^=(j@7PED?zSR0*; zH#1$x-ATD_8Ezr(JbRj~zs;ml_f4V~lu?>9wr;MaoRb@CC{%olxP3$#`Zikfxh_Cyn*} zl(C*CjrF~g=|bKqNh`u9sbddyEKFs0$^6V*A)P-9GLIV1f+NPW;1JrA=^bdtEFtG8 zY27k>gz`$SNo6}_JTs3-(?C9~{UM@mJUg0_SRyQyD(V|I;GJZn~I@>$b>Hk3STNSl!1)s$B{x-mN@5{ID;i8iz$QGsmgW4C5EFh2Ifd!PW* zou~_O66#7+QCDIK(!p;lPB}Ej-O!OZ9d#g1Lmh}yQ4Z0MKI7b)3w?;ylHV~Q7JUH%`g#fE^>>|64!CIAodQuF+oL`1;G= zU)ta=W8g1iVDK@Z{E7db_!QQcC}jK({g-ugtzyqhI-!0b%bN7F8o=oQ4Oqo^wj;Tk zXvs@11n|3TfwJv|f@4Zlu_%W%CH}$$W&MvwXX4rms}V1_q(m=~FK&rhS}c!)Hmc~( z*yusiN5)1vm2JvKOVkq2kLB;mf83If@Vfk%<)meUVtFDuN*@)q#<4Bfr95s`ilfCR zl?_(q>FBso)*ol1y!>(2ZEG!WzfinRf%_yKX^lVDlqX*JBGE|CKL(lOEZas|tkIFs zYosMVns3S1^K+H8%5BP8E8L4Kacj(KvFOk}=Z}{jy-OL1JnN|FD63W1@}Gz*_UUU! zjT^OX+^A7I#*G>mwT>ILV^sdQZKI;a2scKp`A_5TiXRt`8nu3$)w+IE6f}rK&-Koy z^B=cbth&__jao)pw<%UF>dd!Bt)12lPHQX*cbPwSHd)tO;?9`!Y3Jh>rxSI~k6H6k zem+_NdOACu8!XOP)H!nGHtIZ58Hu`}UGnq$={!;y7lnO;u8n#cI#;Y6S3GW8@wjn2 zipLd4mEv*Gy?C2atU)`(NA1BMbRIWuy+={j%QVK7^-8{?EBRVfv0Ar{w4#1!JF63j zwuQ&@7jm5*Wy$$*?ug>`?01`D)9e=f=umRCY|Ds7O&g;X92?g- z?kZ)QrdhPn$1IH&7y3hYJZ9Ci9=mi@Dg6LLX5CS1sY7WBH(B+P`<3;tR$Qkj_iwU= zqe`3)Fo>`XGA<$SkEk>9?@U`` zEOXcvhjqb5q}#y5{P&TM@SU>_{^}|#K}3ovjTq8MBaIeqxS0$wTruJ_MLJT{)I~e+sYVhEAC)TJ&^x2rC-v>$3+ z*LK;ibsdZ3^M1}bcQQe{-_QR0<@E~h^W%A*^W&cPIp^N{%sumEdZjfqVjS{kyqY(d zHl@b?7tdRI6iSs4SlUOcsuEa8lb0n5ZoGr0L z;w*{95^s=LB=LHQg%YomSRiqxM8CvqCFV<OpB+(<$Ezu=0NupDtL!w=xO`x5Q3~$0QC*d`03> zi9eP2vc#WAJR~F_>9E8 z5}%g1N8;Z}d`jXEBo0Y@QsNU5AD6gW;`b%)lK7a!sKoC{+$r%}Qi4RL0kob_qZ4w`pXh_^Dv0vf?68j`>kru?e&&+?Sg5iql2yZo;YLu6z#EA z^suFL4m*W!>0!4#f1vFIg};LEPhV>LKc-$~B?}c7vrthH3sqIIP{LmVnCWud%09$%Wm*l$gl!a^3Bk6-LT?iT#m zI8;)?!?&d)90;)UQf^G*Wr_F{|7q>{`Anz<`$57r3PTmo zgjOr;uTpM0#aAixgXlA%l?t0ixI$r{%6yID%N0E51vV+{YQjc^q3UNs4GKf^&xC>s zZWn;L3Z4T4eF|=$fH?}oZ`IC(vK1DS_8b()4-)^@?;`78sA=C?Q-j~~K@Puf`r#ll;@qcLe?E?V96);M8 z3o1o;8yb;Baw!V?Z>je_m9eIWDa>+qjdhmoKV>?6Y|ex{Ff;;tFyG`GFyIO=-Tu0@V|d@E(1G2Eg>hCRL(8IK~|YK9@VI>E-*7}G~kXQ!;M z)0R?@^hgTYk=hnQt=vd=p&f1;e5)SGjJHFa#q+Rj3hI@VG*#_QP4Oi?o6^3AY=5l> z*AMBacM8yxG($B;JX&NV)z?P(t{xUexI>1GQI|HhSCr?G<#}vb1(P1iY9HI1&HHmQ z(vwk-$vA7q`;f1_H#ODgdOEe;1^X`a=T*Q-Ni)^n>@44;r?c84WP5E7#xv59zlq{k ziGBt*OOlc9O`4;2Q+l#U$MDOKjAr{fWm**BE*a+i+?wt4$#?|eOVvU*iZGMu#=2~u z-;_bvBg0XIy{1fCwlCY1L0C0q5O$g}?b*IOQwHHwQwHHo8Rp}(AzPg1h&DtJ=I3rA z97XsXohOK}(U>jHdnFl!cboM_c#jMlP1)j{QIbJ8YRVwY&p;$Q%VA%pM-b-c9wI%8 z@M*KGOHXK#OMlj)mriKLWkZWxen*R5{s`alyIYH}UuseIxOSN8KShjT%un|l%2w?N zrKN~8&~;-(c~pxk-_v-%f0U_3KC028AHA;`AD_}9A0N=7A0O0=Pja-#CnZ|+lcSpP zX@?g1G+m2+x<=#ua-mI&TzE-~Uid&W-b>XY@8R6m_bzJ2`?*@={k2;3{d&##AWMsU zFsemA7}1P3y;|hWIxYIem| zUEsy|NyamVa0K!1W*3C0{$4STFxTeN_)5mJfIfMxh_4u51(A2|)uQhdh<4Rv`x<0^ z1Yv%@B=sl4@0#n%$IGzYWLY01ze9(x+2 z+CjL(ltH-9lqpcf*~DZA;Vx4K;Q>=77}O%cQuCaIK2u2%R+@8C+A?=(@i>^8%=7QDlX_3|2wdm@QW~_Nli>%4lqH7LoMoYIA zX?atNw&Ymt)}17;te{FP?Beol+L{;3vy{ar1CscjjmT|75jVF}SUAftycCe3Sz@IDzf z4sFmP2UT%)H?Ey=aHAGIpo+8R=~^Ou)RaBYr$zRwz7sN@VOQJo)Q&b||2B=D{aNu0 zl9yFt7iSiOqY;E#NS^qLaGwlEitXb3VoFEYkm=DPyEq4%bP?_}brBvgbqnp{>|xSH zI3m;eb5cB$9YRVv7W2R@T zzH&1i;W`=4#BZ%*WncR>u5LTsbM#qM>j166F8C`vC znFG7qGI#H3%iMFgZG^7DH+op+yPa+4DO}#ejuLL@VHxK-+b+no1J*-5lNc{n*tzP2{6d9YNR0aw)}0u~eN|gx91rUo663gk3d%V3BfD2TceiX1 z&(zB*5hq^@p@~0r53Hc7l=aBrz{%>>nkNo#@`M>%%bNQIRo8(g=-v;?C$md=S zdEd-$a{1hubiP9@8{b1G%)z(HNj?SgUdSiooAjIh5R4tnp80hypEDDOnc8C)+GgHG z_+InS=iC;ak4O zx*rE)hmQJRq3`-0JcNG2cYTi@L_gu1`5!$RjP2Or|0Btr_+Bu!bEi0OVF&dOGUTT`#gl*9-MuBjo7Y#>P>Si~1kqayxMyAs5|&>j=4vj|F4VsQ=d__rdprv0c0T z|4MSvPjT)M!Dj{wh8oBtAa92IR@Lv2~} z%pccRfxjPv+ovf%7T`X>D<4xF#)!CXza_i%blnd5Um&{&NBMXBV~0jCeo%gakozgg zy&>cdAx!0Md^GHc9US%_rh4GIzX)s<<*%gj>CB%N5x| zPe(oYx8V> zy|ZWj1UN$FyrMX20zn#2@%k5v_(tBI3x|Rys`+^1aVl>kY>gzO85b@DkBay=d3iXC zfzD4joS23>P}=^4G~>PZg8M{V)D!0_h=wd<0k)FxP=MV^$O7z?u<>KE@%Eknz5a-Z|HZWV z7sj@c&FvN|9`g*p{Z|-_P#J#-*e?iK#$}(mosY90t+0fKC_fhFzv1nAY}6hRZQ^nU zey=tl;ug{~6eVbgxa{8x!9Ee^eMfx)F8b4HzEKo^2H}N5e<$@f(BKg;sv1RHo34 zw|r5tsc^ z65NznSCmJ#x)Rc8Tz4j18#-fz#&Bz58tOo4s}s`b8n%eI;J0}eNwFBCu?u2+9~5o* zE%hgj=if56y%TjW`E1k{D=EepK%3qx!5C2O>2mz?=hhhC{5f`UfK8?Jk^tK;Y@O$} zuqK?xvmCNjYI)UmQsn)H^8R}4;q^4GUxUFGD(f#{+c}Xh$MskFxIUO}2{loEEWm#w zQ1X~!s}pUCkLwx{kB^Tk5$EHB#zKXN@1$~#!t1f`V19hJ4&x!)Kbde{4$d9}7HT** zjM=F^rH_VfM}*!Ku9uq|Ja|PpZ(UK&sVmFD`FYp!avJ<_pg}py{WF2op3>t1TdZ)I z-;eknp?57Wr?D}(JE5FdW23(W*Y#W#pZnr%d`rY9aDZg_xo53Zo@%e6a$ZsJ?33%h zNA_u*evh%I81nKzQ`FPKPP~n$63U68{#5px326rS7fool$-h`GwGHE>wFzxf?cJix zKbU3yfw7%brXRnXY7^sMwk0>%Jt5v2EKjtLIuO5$6Vm9KmWp^O*^jMT=P!j!VPYEQ z1xm|HNHf~nf_@R7!}Z$Q{Bs}^%awdsmy2;hZD_@~0Jg2;XVT%h9iOxLyOZ32c$d-| z5bsvj1=tDE)_2L~Yp=xkxV{9XkqP7ZYwLZY?D)71igqWHo{`-e%oh1FzAo4%`d!A` zf?m32e+j6W6Xe>14HN8q6f70xO1+PRtrP5A3ci()pZv@noM(q{pY0?2v9NmJPHS7a zkm=@i`{a}01z}?|kAM1UutDVa@c8A+!S_Xeh{thm3x1^3Y|Q@>&R<&AY*ba_yrpKG z+jJ++Sz3>Co4(#`th}|^IC59B(e;gHW5q4a#%tF#8;9?1Hr~U%LFk@lBmAvqyI}Z=bmgf-u*$d;eV{z_|^BDgQC7Wc>Vl;*L+yiSH_=iu9%Sj!{(zC@}F;Rnvnma z<~-f5VH_2{z)L%&P72op@B2Ince`QpS72NK> zfzr+MVX{)id1$rEQFm~)v5C)lA#ojkOy$#D_hUSBzX%(yWuuN*=OX`isf^Yvan{?q zOn%l|tR3?Q+1T02@0a?7jlAw(Y3_?4`l1!rTiSC*ruEP zZ&JLb9rc8*x;FH?YNz+c2XF&S_vGiP9_z!7Sob3Ton)hOvHv9L=u7xnOtH{S{QT2c z?M~6A`W?J}bRY2oJsW_H(`4h(fFpMQB7VkEtbeipYh=q<;@?ZQwtdCFmg2i__g|oR zT|KWyY)u{NEzWouAsb5+N30^v{{hLAX86~WPT6Ar`xFm<#otEpzT5rJP#o(DttYY6 z23{|VY>Q_p+VVu2{|=HJ`l|mkl8t_ipWF43xYpt6_&$@*EkJicpJutwPD_qTLLtW)IQ&hv3rY@XI*-qvAN)w&D z@?`L$$iIWfUw=KgL*(Dd<8Qpd?_==UXMTTCv@{^kx9qV~eyqhK&Y@kK>~}!MFLaA} zUKHnm(HPt1^*fR06M3_E9`5~TQQmNhKM8r+iFqTtcpmj@5x&1*IX1RFHcIE|G5e83 zxf3|UjBJ#b}*x*vX^*>Byu0E1ENEkG(F=*o&>5 zFV5_%5a&4=;(Gs-?9smdr;P3Gq&{CZYTKPy)*G^{qm|-3zKRN**@rRhk^7<+>KoNQ zAnd)!?O|?x5$|!xUd|o3Pl!?(ZL^dA{*fNEDeEc$D zKR$kog?%|*hl8I8`S|$th{HA#K-eVAr~Ld zn}pr?cs?!iKIG^x)mYhWan<`{@pT`6YmeH41}v>dNe0bygwvegiB3bglkOQ z>^$-QkaQ8Qlj*!3=KCMy@woZ^2k~eY`lL$qSp?w*88#5+?-HrZ%slZfk!&NJY1S(} zPrOSc8H87xx(H{R^-9GxG1C$DCDzL;-y=bv*UKZ{4Iv&)L4TR`LO9#Bfw0rG?S(xv z9bu1IuVnOvsf)1RltI{Q>Uz-EW;(*DiS;tyMVa+7-$hZqTqwu1jj(FkK=>0g-HAGy z=?F8kUUu}IDTA=rltK8CnXaNPW;(*E)TQ_LcqEHI{+^@$BF0_2jowl4XIyJ2-jVdG zBNQ%xFE0F8b@;J%=V8l^cNlPJI#2SGwm3rcP5|%sPE$N>p<{$_y46AX9aFaO?+SNJ z73m$CmD|VjnvxLmH`?e~@a4Dv06#T~cO_Zvp^Yf76Xk6{c^#s>zoNVd$xm8nr}BPO zCY}v%Oxwcu3>&Av%J)KDQx@`Ppk{R?hVoiSe$o~jm3I*DDVr#swva!wduqDXM)`ZDY~kOJ*)vt7@6oK> zKAv@NWXPxQ&ro@I{@70OXp&V8Z9{nm%IimYeWJWeD9=mslNPE}-l2eacCj;Ui&{+S z(_d97KRRWh>LZ*g(xcj|D)k@k33D$ZyZ_#b>%50czcT>mfdVHJL)LE%SQfH{TgSiR65JsK1~qev6J zr9t6aig{4f!YARLwHQH0+lyCk#xl<>nu zn8xSWa>2i~3%1xI%l8Ps%;m6)@M+RPnAiCV-%J`icfv2AiP}47q3w%&HOV)Vd@-v? zW~tT2eKLQ6G4?lnGFu?mTD`^gH+?hz5xVfrq%vFQq0IlmN0Z8IU4}BR@YU>j9X6!D zCiN@ssn;>cJ~zXv{w@DalEeKE-y`my2|4M{8TZE|n>BeF_s1MW-y?j2`VL|0W421n zInOOvs77lJ3;)bjxE8gCg?}c(5rj{Y4#H7{FUYX)&pa&rGm%IA{xbY7d{pN-ThwUW zUo%hJLDw5)lD{TzXK9{RLF10Pq58)lAOdwDD$do~NpDBZINQS9j_Ah%? z?fD1PF)vR$Y04wqY04wK$+VfDr@d*)Alz-rARIAe{OAW$2H_4<2H`$arXWu{ZOS0r zWy&BtAj3UBL!JH?{*&C7@dR}Km%fZWqtN+Z`Yv++*Z+3V|$-jkB67+j~_p9Oy27(p=X(=XdGI=FY2r3dl=sXeg?lS zia&#U9>Vu~7~ivg&;uVU#P?z?Aw1c`P7%J@!+2l+Ll1k4;@|CId@TM)594F#Ob_GZ z<#N) z{onBI>0evV_52IIIsLEJy*>l4KUkwZ zC#ZcR()aAoJ$N64_^}?wIeM{&ouv4I9>%%$`yR&U9_rIk_|J|i!jJbd;v=i^+llwI z=x|7k;R~1xhQnI)=z09^L)XgWyt550_DaoY#d+jy z6!`-}yw9SH{l)Md-J@NiYrPxs1H;-U za{NXPeyZ)Da&a$+`%W!-=wMsTBNaDixl3gMVc;X(W0|jr06;P7NCjzKz@H%;2-7t>3^5+mM`xS>2(o-3nRsi zq7QJtS7trZ6R9uIq9wbvNC|xQv-340XSrthUeb(Q`0!@$(xN&0v`Ef&E#iX@Z|-R= zlDkvr7G@vdO3ql5dV z8E<_f7~8Oc`==S%cL!sgo!m#wX#Zv~wsE8MQ`;Pjb%(fbn(+jM!`wg3=%?_2pM2De zP6}`LhbXLfBit?hyn2E$y-)agb?g2zdUny*?Vk%YJ`(jAN)sUQ1$c4FF*k8`&LjHL`^PY#E6)m)WsMGV1g^UG^p^o51%&nD=k2ir$=#bGyHZfep_d3yC)dy z>f*kDM&GxBv3m!&KcKOZ!V&HhXl$VHpzsSkMd5q7ubz>4Uof_56Zh9MI=&r@-G4v# z*)wt;3C6Z>7k+!s?cn}zL8|8j|FP%%U!r>M+~=)Nc7`mrP_xXUs*e~qeMz&Lg9qtQw?;&BwD|EPD z;HHDzjs@4A;;&>GlhsHyRtde-+Azb-(0aKyA|x^J_r1 zs2x==q8-VipUC&n*d+A1|KZCz*I!L_tQY1E7X7sS2=6DdMeVBk3EI^n>UBHW zvWt4Hp|DHTh5Qu_kFeE3;X%>%x2cTi_qZ?OAu40Xu&D3Oqy9?N+iZIk{KAZosPA#o zIWOvajCAhbDeBd|LtMWuQ5Orztrm6pFOs`=m;XlUi%n797sJ-KdW^S(Y!vyl7RB!E z_Rps=u%{e+NeTzh|tH z^c$Xr{!qkU2OW(4Goc7%U;aTbHZ;WFZ}PH-2K`Hrk45oJXb=w#!Hd75fC!cUY`{K5 z_3Kw%dG)BZV{VnzHz)sjg z|8Cy_JLtnV?+B6)1^G%EtL_Yvf5uLdYuzRMqt-?F`_>&;BaNt#{i)f%t<)aaIC}@b z4*$+rZ6~$=alB)I&3}%|QCn3z_ea7S#Ql+q(6>WmZ-~FQr1|PHo}G|>!_&|oqCQdW z!eWze37yVRXg`NQO19- zn@(#ho^Kk3@Y^dT`9l7_+<57RV64c;{g*b0_3$2=uc__#;CHUZNy;x0en^F)&x|sm zPd-WKs`y$P_f30C#3%T^@iAH~ugmgcp8;P#@{1#1rqc=Xi{y&?#4dS{{f71JMULS}%MtQHAy57tM%DD7 zD&)Op{k-w|WpjC&qc5Ug{L@Dr(r4n^y#1K}zRlPQ&ZFPS-@2cd9DP^**8LpDa{YMw zW}r+@LV1SI7mWFQ{zuI+eJeyA>&A8RpyRwk=e+0>?$1X0Q{wtTp}$hJk$g_7#5LpX zqw+5OP2F6nJ6<;VsCcg^`xBv`%livu=f=zSP3W%zZPam6lx^YtRfYHZm}iVNlX_Bwd4A; zpkFHV<8#A#y4Kf+9jAnyFPI}rgq@agJH@awa)lkA&=>uLc_iLX2va-Ey-LBXu)}y` z+}542byV2mx<*Y+a7fs?hWANLjsF_6O*OTmE~m!z*Fisch5nmDKhM<9i|f}2{j=lx z71Pkv@alsjKtPFzvwqhF_c0<95im=HeB0GDTd>o6wKXn+ThI zLS+>!2{??`#%+BKwmwSGrMa_P#JN8y&7;?vb!li6bvZGvzZUw^w~d!g`X_~cA#V%x z3*-6?LjUz~{X3xlVS>D|a%FIY`edo%NEPXRZf7O@LQOkOa(+8GZl@J?q)#E2H=3G) z9|=B*dNehS*8^d*PpGVdWs1Wn8@DwLwhjy3X;ijRRu;S{;==c=tc?4f@pS}Yetk;E z^|PRVRLFB*Bcrr5_+g@cY3aB=!lW<#hPdAd?f;7LEr$^5mNi{5eSo;%2<6Sf^GYLi zygc#?+{^buX~CAna#B;r%SjdM6!#IrI%TAf>${=fCiJ*}pOKy(T%BkKK6B)U$J?7O z>~J3=vXeP(hx`kT`I$Z=Gcy>=%;bJmdxV|1@4`@`-TCv!?IP@dQQ1qxzC3H`DBqvM zx5jQ%j@RXC>Qhm+^utOG9uaZji-~LOHm^;p9E%m>`s5dM@CyC?e^XzKMMJcqh{isR zw<0|E?&M=})Fyp+Zs2*L%WvO+?`j&J@$$$|Dk%J7C2g zeTnj@Q(WFF+ToP#pgzymMr}sQczeiKEKles@qS5331%nSOGz2Gmm=&XNqgk~H-?(E z(6zii%a=gd(v;1 zdHBs}yP=Mkr=UFP2gdCiI1Df~u{`+k#LH7fe_Gy;=*4!87eiDJr z0gg4j;dCrLbbNx*8pXcYI|F90_QhycD zxvyw1)*k*oyzm9le+93I{wu`!GEF4+3(MScetqk zI$jX{*Zzv=zmDUg|Jr{c`mf`R=)ZQHYgA0~KgT$P-vss5D%+^zeK9A^Cq6vc#qzgw zDL%?uorL>beE;`Dk^d#ix8QqZU#hmL{W#b0qDZe0>B?D)<0G+^(fL`Dyz$w5OW2dP-3jz+7g7~LMzY6$Q z;56VEFbjwWacnB^Ghin065jBjex$p)8oKbUO0(g6-@Wl@Z>NTzq$*soy0K+@>1+__`shjk+ zUVRhtSD&w_PYQ*QAFwHQh2$5wLRL64g+sgZlG%yVsVI~3YmyYcHdax;&b_F93H|(~ zDf4V;UB+e_w}>}-1upkmczgvDxGF;Su~+PQb>P^|?kDs{_ilZe`zgK2J*3mS*e|>H z>dW1G^k(;SI?2{xKN)oI)7NAi)oU|G^jP|+UTe3p#Tf$#Z`T(iT$gbI;n(y!gqLJQ z5FXT*Alz8>!Y><-E19*xriYcxCLlPR$&1qr1F>SZLIPD3&Hf@i- zEDiNa8`6iU&I`hJk`I1I!Q;`;F;kbqi_`W(exFX)>o)gxeU*DauSY#duckVT-#!fL z^{5ZN2ks}I*3=yeTad9s=Qd#PEABykwL798q;jxNzA2**ZRpo;f)1B?RKb>s%DErq z?9>CON8JNT<}E0TbZW4tUV$3qxm@d`G@#*p7Zh{HAXU-SU}X2Y;tAk`NOA=dx?_gC~@nphV{@W$hju6LMM<2&U4ufNjV_;e+ zgl`Rn`>DR9SIzZoT(7!L=v6NkdesYs9wU%0Hk^5Js{09zX#Gha{);6%=%De~FviJN0_^4xPRQ8pzm#ak^Iz zV4O`maIiz6YlC-18q}gx{xLD0X+8)b-<*dQ$@(pVuAILD za{j8nIqeAMh?jNJX+j-|1AIP#K9z5_^KP`IHe(2Nc#6+gH)BqrxrNrgYO{?$7;j_Z zd^WL-VYG3G&lL^e-$FO|=I+z$Fn`3-ck(%p&k?eHi^26;;;!I-<|1&r2HajExlQxp z#Qwm%khX)%PvCdFzq&cUiFb|QY_ihVFSwV&i1T0h34El9i$)6gJ#_ZA7fqh0aGu}# zLzCwztP=U?XPo=i*I!9G-6@>w_1`7V6Tee9pRxY~BECI^&karSxgmwAG*3H8zAxaT_ExH*Ff4AoJ-)X$xHCI1-vZ9y>9xxa9eM92j^~m z6S&(=JYIdi65Jgj?k-Xs;T;`*;&$0Gu^%X3qL}BZ=6Q0Q&BYim1D`3a zTyps)=+r}}M)IGyJW*#qbPmLIh>OIXGT1cdjzt-wehFMIlUxqmly;EMAEeWOI-2_R z&?hdNToYUt^9k)eZo(Q|56%#mm!XZEPnb(gt|fALBG<&4N@>J3vmfi^x=s6+iSh&B z-geQ4ShvkSTq65}xID2x4D`pg3H>oKAJ;9dLoWvp>%RvM*^T~k;#p@dn}@VpUr>OE zZ_MRfz2$iYh;e|T-c*Wg8!g3F8M30^KL2bZBk zbtj#2=zQ7wTa|RmYlKeuLZMSWSLl?N5tpNFBN*FLqa72uOo_zh<3Qr_D3G}PDv-GR z4?yDbYe3@i&w#|`6F}nfNg#3g=Ro4}>pvEY~Q_3)|raiT%!$sGpORUQ`XLO1E z>Z3~L66{y&uwR{<(E;vn(C0#)uR-^i`&8OL@8#pL?k=$|-{{u$N_V$jF4v)QbL>i; zx!6CO{I8VzOtM*q{A!d}h4SXf`ptu`T$fEQS1wN5k1`MNI@Y0%#AUNi#AUO5;&MRV zBhdb1G5A%RHo&>ugf>>9%u4LZtKDIg8JaL(@jO}I8?nw-VoyzJRhX|#F4ts)&?jNO z@0cjx2l;-%<=$~FFT(s0OV@RppEy_J{SiWcgawy3i}p;+ALnu{PMAt|4M;ARa4r*f z1(!?Uhc|S#`B~|Y*Hyx~{bj7>g4-qIT!sz72>Ryw}CG1AnSonYf1h@4PR)sk2 zyQ?T3D#35DF;=j@PWEi?ui(6#2Yj>-GIRu&=W#AC zGr3$PxqRd2xjgk)=3r*Dqm8bucs>R`9mHTK9=`x29v=b{kMV;R&f~ua5|3X35|3X5 z5|8nt2F~LnK;rRFfW+gMfyCpV0*S{ciSu|ENIZT8NIX88$m0#1$8#$Mk4viq_{~q< z`Np}f(A18Ow%(3To?i|Q)BR!5oUnat*QPeyOR(Nelvj7YywMdhIZQIe^TPHK*5#je zEMqWn9bSy}u@>tiakozT9WeuM&KoFXw>ym;**SIy#OG&$#OLRL#OEIZiO)X*(z<*A zNPK=CNPOO(z~_w{IbY|2&sE@J3Emr}tB($su*+vEu2a#$b>~awV{Pti<#Hw9b%c10 zbD`5WZR+UVMCp)8;56kI&kVpfOWZSyb$A`P+$y=;i8W!PPFx<@@I=S7Cx$xc-grL7 zatZiRayRjKBY507fyX>g@_06$U6p{7lvW<+vDi;nN$wMmC+h5l&c3(~jZZUwDava= zdDU_aCjMT@-PySBEWtA)UZz}wO?{e2{uXa%r=eYPKi!zo%K4EvSACAJcZhw)JgmY0 zPkfEb|3C6IF8_JH^0vwR*=g%gZ`2oDtG@?)wNK<4?R8DA5vPg2iF_vhntU!ne#xD* zpC0TlA^x@2v)M=^zRsrjI>CA3tI7F^YcTlg9F)(bmVm>booTYlXHs(Qt(I$Vwd7qj z-$#o&6IW>;ee>U1duPjibP4v+9j$F4Jg}eIx^5z0Bj6A5^*cb~>mZQ$`duLL^?N|# z>rNo?^-&=4bqA368U+$x9|IC!cL9m7-v<(3p9B(Lp8yhH9|sa&cPH?5-8#<0*^;lN zc)vS4fvdBLtF4l&CE|H^(If?2UDMIKW;N$(QAK?H4TOlRQxub{wZzqh?zMOZ)ABj4 zj&0b%`(@gWopHVvgMY=~>mu-{<_f;@JjvHt;7&2PLun>oO}-@Zb)wF0=sXeEA-;QcJ{wOH<%D>7OHU$Ooz z!n3IwJe!&g4#(2h>9Zlr*SD{leBA`T8hm~T+(GLr<~Z0dmGe=lIUh;+*?6v8g7uPf z4s%#FJ;;S-|Yqa*6Tq}jl z&5tXrl(^Sc&*mUbe4az`_Ig%~c=6Z3SJ)_~w3d1{3u!mv`PM9ouN7-B@i%e(t+{V} zPDoZKu9G*J>*O4!jq~d~nYT9hx7AuO;AXz4hlRt;r?xgicAh&?%WE_*zm- zeC=whBEELDOyp|_{2{*f0*S9-An|nzkodY4NPO)F5?>zx5?}j(#8(4Ie0>l|eBA~l zzCHvbzCHpZzHSE+Umpe%Uk4KS+S0=LT3nnIV&Gb`O~Imi`OFP+ZB@#^*DjUIDByG_ zWC|vY+S1n$U+KM79o}1w^Of=or;OU<+A8^K$2e9wUyJ3~DaP0t+pv@O%e0+Q&eyVx zPF=xxQ80EEx!W<8+w@r&-?8+y`Yg!vyt~C%wt}k)p660p=~u-*c`@dNTFeV2vJB$N zM4bWXZ09<~a(tTkOTe8v&K>a%hqxox*J8OhF13QM3iwJo0Xz>PzMJ~Q*Ey(jDe6po ztwdYQJ%lx_8+v{G9=AS2)k~?)n3K$V)*GcP-3#zMn`q-4aH$mhqqH)}&qDi((Y`8q z-%tC8iSpob+D1N~6yv^swj1js_B7S9KWGl(^NX}U3(um8algSin$RD`GT)kJN4-^@ zxJJ*7+mk19jreMEjW|uuniAK}#_x~wSwX(yfDP{;-Wq|QYCW?eZSGy>SzPtt`q0^V zcTeQ}!k%%?v*hjk{&<099`2bxJJVprQ61o3*=)hRvJ%0)GReI%aF2Pn^Z9{vilK9p z^*GllmK-mZ951#Cz7{Kvfy^#-;(cu=ctbqB8%R9e2qd0<6G%M$7La&)FOYb850H4; z1tgws0uoQ}0}@Z~2NF-e4J4lS0EwqMka)ToNIdOM;Hhfo9JGR`Ug9bIS&pq4XzLxI z^t$s_EADSqoO!Gka=G+U@l3j4Mws9KR@@NhXk`m=bY|E__iG^(CAk`)we?1K5!Qr4 z$yG6iiK`hqH%+*wwPG)vj&YfeacQm#iCpD*a&67PI7$caD6L#_)m+0%0e*Yw$PZ6wa7V|}}Vx0SqHtdF0!fi{4b#9g!9#NAR^Ct453Seu`w zXMRtMuPV_!?G4})uS-JP=g2jb)HtY4#;=M z+dUhcF9GN0$~B#y^-YxD0QpWKk2O8s#(4Qf$S)Ke#+rL2hih=3o5*3}w8>%O=VEZy zN_@4~vvkDMZx9?#r?kR){H_W2xw!Ampm>qkGgpGs<~n`@^5@*Hup20UO+7q_2K#AE zr}eWGe5|mZ;e0H$3J#Y_4wp&}mx9C7HqqHKV(uY5;<44_@eM++c(&kvafak^I__!J z!nUb}MHAQD7FhYx<+VWK^4EaGX901x5_`D{tgovfyN0i?G`4xZ zTw^ncvsm*eE$1s@ja>-60Q5?vUYxgaoj&OF$93Z45&4UtTLaz1{i)L?^CGJ&u-t~f)S7V*b z!TL&RC0P4zaIeve+^h96X_t68QN9iG?OYz;#srVoU@cw^UW)w*@p7VkE9BP+dCYlc zKjg^rGtvYvbHI;Eta-E-&LNIe)U&IRM(=U1rg&vND?*(1u|*VLT@Nk|ovp(&XOmMV zFKI8F$jjMxjPsJ#@Hy)ha0fQby)vFpncSznaN@qU!ra$New7r-eeKn9Uz;QL!c=GC zWDYnv-+CYCa?UKl$(&-LlOs8q15S>ClOdwUmAq_1BJpw=ka)QqNWA5;^j&p@$yz6@p2WAczGL;czHXJc)12hy!;A~c)9uucv+MbDkfgSCzPI_ zWhGCw^>$^0vvuc_bBLokoWGNC|5`;HU8LB^A0v7EzO{_f3zsM+M+<0eo$JoQd)sWj zwiaQm#?p)QB8;0cdk626X&oClPjfOV^kj_74@MG@ZH7V0--G(f&lzX9?*Z-E%c zlQH&_F_tMUeW~E+baLU)$brG2;LXo2Kt(d4uc z^uu4MPaM4gHi}?F+_#Fkh~|mOX{({PhVO$bGP2`y(Jagh#e7~6ZRG1XwP(7yhPHs; zYsH*^HeLt$0zL-_d71G*hl_*&!(u( z#MN}@lv!`(I_cL6o%DR6lRjDSJ3X1W+S)ckbZJ#5uAx;(B(7EiiK_u1adjb(xVjif zT&)EXR~G?^t2IF4Y8{Zcx&%mE#kPQR^(G*3^=2S(wGl{MT?!;<;zZs4Dlsxx~{Oz|$hh z(*nuU0*tXS`)b}F(^jwHJXLTn$9V&u&cc{4#+bhj+@-bmI>_@pc`r2?&pnbchAAx_ z>o4)-8tCLgr%>t?eom(YIve6T=D5T?x^o6}^PqdZ)V&_MlBcuyfqI^L`1a?Z_TbQbju)(1J~ax(vb-39Dl`Qi7(G-k@A-uZ#0EpZ3X~d5~c%{UeZ(e9a=h zUW;*@FZr4)$8j#kPR8m+anHI^_)u6e|C@ZB3I6!OpKCH|z}H&+8gr~IHP=-;#@b3T z))ooAPJ>Psbn-Gvp;M;keNJZ;bg;$|$L9#X@$%v}*XYw>BO5kmWHiCXa(xEbz}z6Y znhmHf?-?aqO{F??tFIPW9jGfw;Z>oQop?IzEzmOQ)K zY=^~c`$S%v?e@ub`#vX+{YqM8yxnFSH7T!sPQD!S^W*aIc`aT(>WcN2)cvIXm{Ynzx0@Y60zn?6sTK`-N1FOX;0%Q*2mo8}6{ zlRew$2`o4{6Y$xYYpoW}Nha@ES%%;-OBZV=n~ZzbMuzvW+xo3ikIq$R)=6B?nl1Qm zohJ0GSwhbW{*S2kj;Z$SiR-No#nO7K0cpL(q{8`p4UpDbYz#P`v0>nRo&luwHV;Va ztsh8yrs~srOI<*FS_JHnT8xMp#|P zw7Pn}=H`O0oKslOH0*zV2S-&ev1id3v_g z%QnYnT&D>-%ehWUB9D=uhB8x8=Jbpz@He1OhpyyqisWwAWUQU$I+#hmFZ;RnQ4wKFZd!P}eN9Z@POv=8AGXLvlL*2)sOk3Nj^5(&XUTGZ ztTN*16#QOI@YG2>wYgoo>UQ$`*p!S+@E}W1!PpsNCF1>SNh#-QdPbhEVyvlCl}v{_ zS+~1A`c+c?D#-J^8G@&_v@%`A*rYT&CA^th0vKI#;1qM zgH1QqSr^vXv>jt9IWo%EUG`X15X0m+z00(Uw?xzMc#_ zlhU%F=jZ!lE863PzH^3>>2{~1%v60cI2=pQ(I-Qe=S>xDOu}<;XIdVYcTHC^&3^P| zq(VMj_kK=38}d1#57Wl`aEk1YDUg@_>m+X4(o)eM=@a^6Vm_{0np3xfN2$}mSEaw- zPW;%l=Dzaa?syOBq~;cuWqN{tJ@*? z>bBD}r!cQG>DZw&)jE~y*yUPmcL^Q4P3YKFx{vjU_phES?qfk8&Q}YN_==4_=c^S+ z>nb{f^A(-M`HF^dzM{dLujm}kS9A*JD;moAibiq1V$;I;nhd0MbrO*H>Pg_Ms&Fn^ zl%$XaJk69mwOGJYkB8^k?Mb2Z;?$1b)KtXl&b!j$>!?feGMRX3jz988ROEP7Fh<5$ zp?J@VXKv)jWC14_#;gltb`r*{2V>TX`@C4XUAID>)=IV9c_#e4%3#+??#j z{uu9cRXKK5=uOlqhE56BQ80GRwS#OpdXT?{UpfqevtB( zv=sD1s^|yUr+%22kMh!(PWPK$@TomHEbli3U#875?>AkXb5pVYCGzd68RLATeJ!)n z`%_}YG6p8fBaRcFoZwT2RpWee+5`uks^F7T z-fuc_zsc}>Ku`rb7W^Xhvoq<|B(9@4gpOhtI*LVb5VOhv?&`2U4ICR|YW^5_5mM}W zNPTB>yDv1Xvp(ZVW+2ar9qjori`9j1c?Qp^45vRc`$!Agg5Mh-WSNeGV=N_qZ0u^W z-i@&kP5@$-kR{Br!^6s$68iA2&&I4{R{A~j7!La8bF|&6>WrN_ZBJHMugB|iv7eu@ zTWm_7*W2b~DQBEk3+wf!`&=2R`K~FsZBr)UdfDGUW1q~_vEHa#=fL51eH-nqd0R zDwt>#i?6L$QFX&oS=EYx%^nf359dXj8vdkWQCqy5|iXH%|0Kj!({lxx*? zg}rfFL7d8>y;#BT(o@jy3i^GEs`^rH@#|x%nturw zHU)jAT9WX60pG7vQhOM)W$PAO4*DiMJejvS!rSbXZJr|AthW#Lr&ulz+acqbG%)O) z^zg7}l4sDPFx?yS{Mw2gCbf(DS$AFDs@pGb<$cd~ZGK{G>oN73@bH%{#<38iG1)hK zGs1lq`v|?3P|(N6QJ#W6K8|b6uZxZ8)Mkcj!;lv0^y&=PC4lm2Y||W-8ESsl%Iy5N z+H7Rcc_=bJ#x>Hguj1&WXK(5xXTEK+E8m8`wav0%z3e}$61rV&D$*!S*GEO)I4x74 z+x#xLp;B6A=z-r@RXhLoh*^en618DqIEU(D**Q01{W@)OEbMgPHyf-(uCvV@XCtrT>!q|hyfLnDB{-~c(zS$qL4)_Mb zYTgGo!+QtkogAj8++qeTI!@;s-uUGk6A1k z{k=s=)q9n6-5KgW=W*iu*eRE{dIz>|CpkOh?0A6X1V8(6eMDSSL-;bamF5HJ*fH+C z>^s9=Hi*CP4tp_Qq;%p{tjzOCESAW8+lN>1>+98hxCTyqnuOW}WG>W&%EcBS-;HlD zSa97exNZurB?EH)Q{1ZH^J+B4Ex3+d=j@&y=0+RX$k2HR@$2lvHFdh|oO{Ytx|WgQ zDg0Uv@@vWUlpd7Hbd>dZUDSu_!fd!MDT7aELo(Z}v zbkDmA`kmogPa5m)r#Y4QWML6LZs-n9;Sf zxJK}}8-1ya(BpQNlsrPW|CsJaHW8}HBP#*44yaZ(s2sQST2y5)UkUeGEv{p#lJo$3 z(h~79PiTr|QaFVrhpw_r3Df!%!l6ugn5RM*40*?$Vdu5Vpz@?OlJulIq9iFHtJ@m3 zC2i}?v!@L9vA*GyzLf2GidRokQuJ#v4>_wgonshdsa2ilh^IEirMr}5Jx_5$#-nFe zb)Uo6S1{UA^$6x3w>4Aula34LY~gz5;kuSrbrGkTf;q8DhC?A+XvT3{*ygtl+McvW zY)P(=-R%y~a3J1i+dczz@WW=EEI%mA$L+MfQkLmJew!@IhWc(I+o-Dx<%DE89>`BZ zofXv8ih3JTH(J%g+e7n3GGwOkc6l%dChJ2|Chxe?%Ph)E2c_%`%mp)KT8M>*HzA%k zru5RhLw#zES|7oj+^ZP&$c!&cw?%Ar^#4|Cuk}es#PPV}5vv2?Esluwq_tnMZtHa! zuHMN{DiP&z<&nvXr`K~*>7T4T)a!OB#~din;Z7RVEguYfwkQ$Wb2%_4g|Ob-LMYQ6 z$6?cL9ducfdTpqe&FbiNV9)LFFdaX}$8|#;pG=A*S*-@@&i9&lK&C56u3lGCk`Z!j z>t$F=v1b@`yIecnE_ZK|+qKi>a1XkAJqSP8o8)*1e@VwYF4qI@q@)L2y^ulN?Q%R| zePJuhr%l#IMwQ?MbM^2}i%((cg#DxNTE zhq&uu{GrZn_XCp@|@-^X^tB)%+hRO0Ir&q{npVsSvU%NG!J z^GakAFUm4mwlVA+bB6Yxw6UbIr2os_`@lz4oq6MT?%bJ7k|9h&{t;rF8-{ojB8@S` zKrx0Pgb+gvbb?4JrZnP^rZiHtXyarOFkTgLnqoRqq$!Jt7HOpDQi~WPb*W3;KwVe6 zZa3{qt+lqx_O-6lqWOKFbDley;GcKUx z!#c)puMADa*w{>A7(05(ecm3m#MkF@7TISPmh_c7eHbIpq$f|&RC`gVmE=4abLl*~{Rs2yG{SZntudpLdMXU_2XT9A+G1 zR2Ip252Kf{jIm~sY`13iw=#Azh8ZI)*S|=||_ZY-X%s zEMxRCdKeYPb9G!k<0#`W;}GK@V}vox*vZ(+*vweNSjOmO^e`%n=N5DMjH8Uhj6;lr zj1k5#V<%%PV>4q7V;Q5D(Zi@P-r-SvC#a90A12!}gWGbQ-up6@l_@r*u}8^Xm4Q8+ zRNF#zL{W=U>}pdc{5JTv<`#IT7OTPg6lK-DxZ^z)@+WCcW>cDCN@0o3>2%-eQ!oy_ zcRD>8Yp|twPB8{ypMcybFT-Afv20GrOMWpHWn%1SI) zil(3(8|t9gbSUb~RUWugP#@^MqW3X&B3{&y;-?lD1##`x$~zH9&qFfrLI!TsF}q}% z)9Jd?tN2n-Mk?xP)C5GmXx>vpbpVf4JN8iRzECsyQGcqF3cnrWst5INrSJ@{E5=tv zEeUmU7(Gj}y&x1OKgN%tWk7IkkTJp-X6$5aWo%}wVJu_xGI|&l#&eA_|1ri<#$m=G z#zDpiW0fv*FGS)eD(Cxbs6;U_qt;Zf|H%gcri? z3k?hTBDjsvTf$uecWG!CXD>^-cYdTIIXwn9CUc;8sdy=RHA!KqUW5%%;9BX ze?sh`^|%!8R@|Z6>(YQu-#G53qg}sDWjEHx4<64}4j#`@9y^Zu6rGUi#9g#>x27#Q zOACjwVAINqjyj!17c1X6J{{rORW{ATcV^ zm7Y0p7rbI~VXxN?Oi9K5Auw&K;z|a(rzoCupeJ3)mal{2~NQ?yx{c{|;O;X`}&C?13E0i1>JCudL??Z>D2#GQ;jkE+Zr^#n6191GA{ zd0I~f?gpf@eFyfdwVu2kbS8~_Gm6ET!)L^qH2m3gb_5i*Q@{ec+tRXyuxuRYZp$2; z31{O>czSAiC^xlC?9pBfdyWFwbLgpl*pk$QEZYpr_JYpR$mWFhgi>qH=R}I;(T2EKB7gC<=U?xtW*rQ6rjROzEWCAbQX3a)~i zqJI%z!B4?g@Rs_I;4HW*I17$aUlP2{g^dgG7W|FZ2mGADyu~?qxTnG`I6I?Aa@GmX z4r^{>*yS_m&c|6e9HIOCW`S?R9(QoI+t-nSJNn3G#{qkoOt{I;j@+ean+*Fhj9-$2 zm%{Ia4LO}Z|7AGnW)4bw%@1-=a`VGDSOk7b4oaKL4{}g)lk6`(z(Lr4PU0XqIf;X? z(VWCVaB>m{r!WVBf`dT8L7?E^GUgyqa1bas2%MJXzJP;87jUoy_FSc*2@cNrXbysN z76+Zg!6}l9#6jX>E^!V>Hdum#;4ImPNDk&P2lJSNc{pJJzhF1wfsEuM+!W@89Ts6e z*>4dCVZ;RPl{zJ#N|}SDQzV~CiGzs0l=*fk^X*bxY$w7~C-_#wd~0UDwKCs2nQ!A6 z?qC=Sw%A?K(NlpB5I2Eye<8l*5#M01(Oc;=NPlJ|a1Qn-2GwgEyd$JL8i{*!{~mE~ z9NeRD!9U!qC;3;bWWp`^SNz}nvvlBpCH}#l(oG!7En)tZF#k%Jebo69ofPc-wp5_&QR()5@`Yu`UFT>Zn zg8Ao@IxiVI54Hsc)oUEzo*<-q6=!KUzazw4blejNQuyqE){%j`v!LXl^Oh=^aJ$$& z8~RSQy-!u_u%Td*e*l8_PK;#%!{=#auKOb5YXW7h^tJfca?L zo|)}~C(l7O)_>CO_=EaS>ctP!e?HhlN&P2vRw?0~zWsVb^@*1I(C@ zIW91JK64g7o`HUwtxEkj+a>3dvs0vgo6Y(U`cTYKOH*ZhX)^0aZ9@Nrua;}th(!0G zM9+}K%;INe_0MwC9T2Vw&Lyk|<8#b}HDP>?nXoR5&oMt_ZAic2DfUWkX)de{VO!bb z)_mj54f3};4K5$)KaKgPx|71QpPAV|tbl`QE@NEr8VkX-@w7sLbgzOBToh|WFRi)Z zx7LS+sxmX61vA|P%*pGN47kaL++n*8zs!)FoUOTn%u5gPRI@L)c$vv-!(6f}#5^^h z)`ph-p|wUNURvu!YmG>}wD@PO5v_HjwML|Qycc$p)UGc6JpkDYCbNAm*#f5U?~5+v zE48~1>q%ay)@D$&B6a4gm ze-=M2UW&D%#mlA4Q=s4_Q1BFptqHNlO9m%h;N~=}`6jOwKYpHS%|pdn5d0%vx?ra$ zY#_l);v?~p=A+q|hfZ2c(%La)K&;uqnX8#=tC^RpnU|}<-GM&IN4SZP`Kyr+Fn2Zc za<$-P3G=dqd0CPwc~_Dm=cTimm*A;bJI=Aj7Qe<_g`&b_Ey}it1g^>e&oI< z=`hSCC+RTW?~Lm(=q#Em#&sC>R!9fMb=X4IVL+k7fI^1>#oQ8mC}OS&yl}6@nj=o= zus?0TbCM2&PO@|u=`Na6PTEVs-pV8$2A$?nKbm84UO~pvU2-qw!*v+uigNDAIt+72 zp`)o6zjux7VU_pj*aSrHH%D`6ex1jm%jo#Hn^4!S%hqn|mp6zjc}qRz8dx;ltc zvlH|f?O$s6?a*INkGcL2=80~eCw}-IXBwYB{BO+@c|Rr2G0Yn$aV(iR1{53v3XTCk zbU$+n&l7>^Si5u3zA$uGNiwhPXx~I}8DX(jllzwAN|Cq=Z#>P2--$>GX@%xkV9t3Oea+YCoh~ce(-!w`?GL~_CYeR z5Awg_63rnm+|#hQM13W!fj5wm`;i~drAv4p6!K2YJCg+5x6rfWS7f95lBo=4{KUI^K-%=mZgfrvF4 z>iggOApb@88UK^*gM=lIToH-xL5ZFriCCk##W_|n_8R4$-v#Gye};WV>nuPeZs8n& zxK*6UE%#2=Tg$O`pSU)&&fHubv}a$Eur{N$nl_=k{*&)9%Cj{$+lGB`|3jXw{aMy# z|EoQGtkHxn16pTm)>)g}!^iKz;(Pf2F>ABLvo+eo|ERT@C*`BpW>R#h)Swg%o=XW7=CiP%F~%)A7OJrtneB`^tlCQh+ug1e7!ww4Zl zl0BtmhiRR)S$if~IR7TQ%nSES#6Bd}V|1^NYpOi!PTVu0y_8I>-)N3WcAB(zLiaj& z@C`yahb-sySUKMbRL*-Q<>2Mryk}Cv`za;7zf!_yY|`e$;5`!~NuHe<%sYekOp4u3 zv2Tg>*fv_v6}u!aixc)tY9#-h%@R{uC8l*s%ox^O9mTHF4!Soz2YZq;6Za&Y_$4#h zLPPJx&%R-6DeNn;hKrwl<2+p0SK#B)$aY+X%&kJ)q1V@E-N7Yw-Gt4hWoIe4!rTH^BzKrw;E-6a z8Eo?mu8DZVEx83QPV9X!w>-=(FLSGmxit>E3URLXpOIg%O_uz^y?xp?=2tp&V1YbW z`)`i@*W{SGjX9RV9Lr#i(YNbq&mT7};2tH(u@u%e-y`t<=V_SDluhDV%j;0 z8L&;1=W5Vnq))Q{0y-=^kN5aVhvEJ?y-uzdX@04)ezQS`(QhO0TO{Z(>^5eE`z{u4 z8#q=k&(-Rc4oiR0UXEgSe3brDr2a~Q{=&Tt&|@CxF{!`gJTYz~3H@c=!Dij9X3ZNd zn@Q4Nc{ydQzbf#Xnaa=y^;Z?b=Z7wwGm`$I?<d;z_zS*S! z<-KxY(I3M2trl$QVCzVE0LAY}h+8;wOT*oBxciarmJ4gR;s~jUOS4#C&0>8u%P#fN zESqz?4SmOFzg;6an9_=yptroKoxhA=v$Q!y_1B()9KEd0$cwyn~M8QY>}z9^qzEEx|z;* zlAvewD0IJv&1Pcl8NZW6QK$7xqx(J5zlQrg7KEl1OzSV0Hf^9_T0xImFl}I3dO`oR z9vyDn-I2Zrf6342)27`~fcrhB^*{!G)bkF{p7i^0SDvZbdU|YA)qX_{_h3!dqn=Rv zJZhxJrrMwJY*X*BebW>1?D5=Z^LX&g=@B&@<)@b>G4dRD()nis!YYR zpk30_C)IhXQqWVNC}w!t9@N<%D$oo1^@4%{y+H3#^a9jf?^pCNY6t(cz4$|&3kvQi z#1Cg>82Obu@Iy3HNe}lZs@gvlcm1ILJ*o$YJ4xuS5jXAvnnLaBp3}` zm|Emiw&89L)3*`7)Uy-XytbXO8OMlw+z3_yc!q!*_FQF z7a_X{*KB?9E+zO3@)$hkEV3o3?Y+lb-nabt?Y)NIgu7ftw&eZ6`}Vt5ek$43h~K2H zT7loTJLtFfE_czVrnsB7I-}m0drz{I)49@-+ zaBK8?dc@K1=@H))QzKNSYr9ijc_+d(q@j5FEj`>#OF4c0*LIZLd0@Bib0~L7@;pZx z?k;lfao(5aOzTPOEsW@j6WqH~{N^`DQ-k!oS2e?iwdtBMTcItSqpHCiRTJU1JQ=QL z+rqjnttSch%;YLEjZ$EjX)5jETvZ9i!{>8&wLLs+9yW5G^Y#0NeLX%6GSAKIpE*3U zXC{@QxJ4Pb98%=tOhMV$f5}mf$nZ27zPiXJ@)z}U%Dj~ll&K_?Ifu(Ew};2g?M4`F z;ya=Qshq27Ui~rrxz&tUGA>~JB;$O>d5l$zS1?vG&Sk7%yqvL|@iN9T#!oQLVZ4;F zlyNp=31cy%!FUN{5#uaIALC5MLPnj@%Xl$k0pmrC`HV9d^BAWy<}&6mW;13nW-?A= z%wSAs^e|3kOkwF_I>yC}wTz1x{frA4YZ$L*T+8?w#x;zeW?ap99pfs-YZ+HEwlD@5KgGC$aXDi% z;};n>GJb)vgYol>?Ti~3gN!#au4lY~v5oO_jO!Rb%h<};%@|_5ow1AYD~z`>-paUz z@ym?2Fy73#nej`En;36m>|}g~@i^ntjK>(i&-fJM_ZW{d{x##1j88BgVf-%RVaCT9 zhZw)Zc!=>a#)FLCW_*Rs(e28%$<6klEW&9T7AmcX~_b@)lxSR1CjJp^g zV2m<;opFHie#V`QUt{cN{3>IF@jk{KjQ28bXS|2;ZpOP9O~yMJ`xx(F+{U<-v6r!j zG0gaPj4v|&i18HT-!i_y_(R5%jDN%UJmU`-PcS~mIKucW<1phtGyatEpBP_b{71&0 zFuuz83gbU8zRdXdj4v_%nDGqbX~t2;e_{MB<8K(>V*EAZn~c9=e4FuqGX9QHH_hAM zVD~Q>yRp8c?^+=WBSovf^JK}Y`;WHYdGx5S=g=YJ+9!^btp4k#+P6LRl<(Td4wiiS zu|w_GVt#XN@=cDjRz4ja%F3@FY~Ob9pzjpTu~v2~%N{!zJW1|ryOnDnI}|)Y?$5ye z{U?L}!%A0Ot%S?Ul<=H6O1P#*30GAq;mS%SY#2(os7MLd*DK+=Iwf3NtNh$b)6jq! z#_?BIVnQ6Qs8GT_pYSikrO-dKWJ*hw@O=Cp4szGxXW`-Ua^e0oe&ihX`;{@48)tl< zk?su9535Re0ajWy$6sBBi8|rRN{QD}mhgYN8eiw(G`FGM9ke#ZC8e}qAiguwPG?{U z3-WhK*3(%S{B5dop3~ve8~Ap-itmR2Tlw1}Yx$caYgFZrEQe2ToDQ#6*3H^*is-=!U(cU;)5e0uSk4I0H` zoi5hzPO_#=RWf=LvL%0&}p72_{cfwEOCB)BIa2~QwQ5w#1`r-Y~poTl)>~`Ej z>_{nb+>_EyvgXcL^vKTJ^ytp@x;fz0BLj2v=s=lnM%(pBRMVqTmu~LL*CV@1_2{lT z9p5JM+8=VZk3TAHB$AM)6L}^%JSDFCJngV)_c|YOx6^l;>{IV@IDih^Q+SY`%h8RB zzW*xv)7sy2z20FYIp@@S9rP^<`oZcD$vYum^Zu)N+;;jdgL%xUM~=C@t2oX)-l|8A zyS=UKkHXz%xgobEA&<}DD&1k!*~RsBIWkI;@5{h*WCp{iRVu<$@Eoa*+!FVFx$)nfyv3!wVuojZ}KAD#LaTbNUgWcvx ziax$ymgna3+>X4GDfi^HkMGY94x=7Z5uS#6Om%omJok9p@vRDP%0rp$bf-!R+H)Fk zN^-H*lb`3E@=#uTgz{e3jsA>q#BU-0G}+F$|Dc?{edkG@t94O$nhZzxD~gQddpkKS z3ioDqi*|0y_j=hMf&2VInKlZy!r|une6L~2!0l#t6mE|t6U_JKTQYEKmJHl3OQt>F z>$7Cw&a`CU&Skggr;YjEA+ARR?pNqeTs%({?$_9DHsyPdS~76&w(1S{K6abU`QB5O z4BSym2JV-vd{!WTO9t*!R#|Y5S~BPN=#lfk)1&84=;r&T9(n&Kdi4FbbyK-Xk0?LZ zqsoK&5vqT>?86wJZZp+8^`jJq`{bx!gRYw*>iv3D{kksN{q0;m@^-BreftgFeCL!N zdFPNGeP>8F-!0H1@0RP)caQ1jA3F5NAF}o6AJ*!kUCsve$k`|L=-D@Q^Yu(U^7>PH z^!0PP`9`50d1IX(eWO7)-^|k^Z;t5EH-~leC669?sa}u1bX+%I&d?(-zokcC{;h7l zvPF-)(xyjWc~LiilBW0W$q%M|E5C&9_e;YbLvIBBujQA7ss6Ypk9dr+wvhT)8ukLV z@w=kuLjNj>{Nxrr`jZm*T($Y$MvjlbeZp!_xZkkavo7CTWy!#O(vpGutR+*wK#$bt zd&jJ}`bynwsMaG5`QDw@du*uCdvQ-ek|V7o>Atjf8ds7qo@fqNiFS`mj7u8EqwQ1{ z_DXo)JPYthyfPVWLv7lHdNst59j!hMY0W~I{`uw>vq zXUV{Q#FD9UdTT5hxTBT~+{2d4e5bdWW!zMkdz^Ai1^1^qv=a3mt$ioQ^D`9CH$+r$ zJxbxYla#`tdNLyOHSZwhi?Ar%``9h|+yc$}7PTGXB5)tHGRx$-uqck_iO#NMMB?4bCv@EbhEWfkF>s|M_WU>xvp1_tUI7b*FCBaQu+xUyI!>YDZd^$bzYC28q>`e z59*N@BYO13v${Dts7FSd^yuhb-8}PiJ#uDLkDl45o0JFXbv!Th`Z|%viGDqD;-nru z@q%tXze|ri->65QkLu=0Lyw$9AF$f^?gQ*L4{y{XLz?%99_z1VbZWHbWR=8L5mRjL(*RVTUpn1zI8MrGf8Mte$ z@O;f%Wrf3C&+c68%jQ~bpJJDF$Zl%^S4R z!o9|lfji%-OQz;+pWPZCEmJd#to>r?=D!hdYzQ#k*0t4k;VGZj!kIWx=hn+l2dF zE8Mlw>$1Y(Rwy6HN1YqJxt0vv9!m!9^H#XF(VJ<7!>w`JoQ{pboQ<19R5RcaIcWvcQT-GOe!m#WIyM88*6x)S|ZR|OOOSVuJ``mufru%Fsdxkc`~+cwHQ z^~!4a>0VUCT~RsVo$czdl`Vwl{K}UJf9qFnA$-fPbV24Oa{t_q&td_`{K^*z zf9h8@6268n7u{_OnA`4XF*kjw#oYMCmYAX%EAdg1*tW-vYY8`f$5=(U(Pmr+G`)`p z%vZh}F!L{JG28W)*wBD+HN_v^X*3Y#f5TWt=zYLwBzY6^dm!Hj`A(95-{=+)P;TD`PXsXF%Qq`LtgI%q_nR#D?;VKQH79irWd#28+Ky_u6_^JBxPKoTSU>4%~>pneM>-IgLX~`2AOZj`ip{e9v>$dm~BafXwR!%4@gG>sKN# z74LxZQt%Em=RTQ7Oyn{A{;M$@Vp1NPY|kapKF+J?VCIm_>mMkuH)LLWMPBs2C@*?n zsQ+3icMr)OBe|&YfRG!&dxTtcC*C9E&OH!_MWe<)k=&c#2*h^nGX9a|qJJt^^eZVn#=HK@w9h1+pmY!wp!@t>318%+pZjVxY z%%3z&_<)*Z4$JrUGs?Gt-rHg0amsgS1pNp39v(*jLHQ+8?)xP7qLe!fHP{@$e6 z&~f94kUwTT0c?}yucGqJp`k#l^j}AQ>L=GB?V5xz^YG!oD(T-WWKfUIq8@J=Pa;36 z_oiq4NwLFk7=I1_<_q%gOvua1zat@x@()UXpOt@~$iJZYsHk^-@%Mn#E}NcKlWP6q z9`bnoOQnC4c%HL|11A=W{wDlX-X`QVoDgQ7JsUVC{a+I0ojq%O2{K0#!|;q0b}%8# zeEs#n0qK|ZeEoGp)>AcXRL`?R7^mpH9L6}MIgiL^`Zp>=L7)9Me2gHBXW0Cn3N9-K zKKbNaNn@VsSFR--@++$d5Brtt2o=9_O6Kuh%H!1=|82uj>Hocz=kGx<%5#U!j%}Xf zul^AkMyQP6`<-W{tRiF|zFzdR@2s?i2Pr<*>l`9{V8j`b&m`nbMG0(|ejBATRW)Er zKezAMz&7a@ZAWbaE*jZ1-l(dPLwL5-$R&Jzjxil*$a>_8{L0D#Ug@7M{N?2VpY+G` z&zJs*{L9LW%PGI|a-$qb&$r`#Kgwx0=8AHHMg`C#)0K;S+u8zd>A#%(v9>nja=cF^ zAd!w@lpURDqw@Dg z9I^5;^Z`86>*eSJnlqdGZw?{)x7f!n^DEQIU+z~9%Dl!zUeF0+*vp~3Ds0a=PRh7{ zrno;obMFS~*UuxvRx0cFy^hypJooF*ihezmZ3{P3e9Z5tA$&k})XQgz_v>2ekN1xn z=@eL{Uv2ruRKoQIhKI0JH`0MrpNji?9Yw$&Z!H_DJ(QD5#=-*FrYy>D~w_wJx|56en+fyxnaP+Po}#>l+)A{*qu;Ltf|Q; z$9sLPMvQ&&XM9EaCvkve)9GEcQF)q^+Nl|?dz03>FL)MWv_y`qW4s7ROSrW}q=bw&=etjN^ zh9~vs&u#F^vg7?WAfG#p(wX^ffqWUy{`G;NYe|2%a6rI@?S6$9lCxH`;?$Ql?AP?cH|+XJsC@3;!Sf5NMR~ z-NOI=`++xPd|3DuTZ`FjZ!zb8vc(K6Z!v2YwwTo|EoQ}yE#`s^EoSBCTg+A0wU|f0 z&|+@>VvD)*+7|Qq*)8Ugn_A4*u{H?b++y~Axy5|+))uqtD=lW|$`ZWwwTeoTFm}?TFe(7Y%yQ^W{dgLZ?%}l11;vu z-)ITQ`tB6 zP71i*D#KH#9nPE(!x~Yqe z*@%nHUt&B){^n&y3HfWTF&-g*;A&$Q{M2`hXM44svTv4%Jl5Y}l#ontso{gnn9N_s zwcjY?R&6jYrTjWRZ|o-7jrSX+Wnn&b5So~JH`*ffi|&T z+9vZjBJzMfJfbN5l!yBUevD+3KWt66GiSao?bE&bP(%$_UV;%W-UvHcxe|>|fM{I39>a96#$YYrD zSgIz)7GxQ3l1xR8v4PT5E-~I9fA41ud_)%O^6QO<$q&6k`XrXwDC$Ld(6hLg;aT=% z88?vZ;Af5ZNH+R8qYeJI<-0Bv{b1MAMj^%Rea4tUvUPR%`4IA3TN|$vJ(qj2Kj~az zKi!uj`f2RZ&lq_~_m+&y6L}uI-pHdo4?SyKgt)=PxS{7{Tx+H5E5|DEjwYVnJr~b@ zILpYVx@6Bct`~Kw5_Q=v-~E%;yMIzq_JmQl{N<`Mnpn3ZT(^<6Mk}SyUL(tT(kABr zv1qpO8o~!NcFzkJhE(r)yZ#$ha~Q7i~4lC~lX>a3Rhs z<1Q0%So>c_amO?8vs1;HpBOj1OTsU3)qVx-pAJEP7qE>1f{Fq(l_k_p~W9t(* z$D#ZRZooPrN^OKRyQn=hG`E~HVG{>-B@_3eNxKf&m&YO0O7+>$>log@FsRA*7@r?4 zko`@(C)4c@oR@WGe>CuttdHUQVk@?5_Z<)-W`|I(* zyHY;hf8Ej_@4ut6JkfvGJ$&#^7nJ(U+PfEFXf8HYFe~f zb{QY<&x0~veCOF59Sv-g@f+wpm}kxes0|C2^*U%>qoN;V%6L`uBfn;-)Q_T013L*$ zkBrkr+%EJjiaX}QPpPrSm2raqvExyrk>Z9^39rI$-)CeXu2aUz{`>rV(SKtnON=bUZB9)0!ZDGK+OlA->WGaRMkZup zRa6H0m&i|Z?v(FBaE0_dOorAeNRzQ#)jDK;qWxoMzyi~c*%c%ucq(6>vnMlTB9llWSOGA=jR>Xpv+sdAwTh40^cST{)2oj0e|#x zl|280yNvQ&I-*4m`{X$w>?q_ppiiCyl3$zy`s6tv{EZS1CJ&RpE9Maq2gjF9q% z+vND@9G^TRq&(p6wDN#^JG&#LK6yq+Y2l7=I6Zsj+!0OG%gg65kP&|C90vYqp--M4 zQW+4N_Wz`Grd@B#QT~^*6)rL%2o%J zH-vM_X7Xn(5_@)gFS0u*eqZ`l2ZisOF2ncfc9B2!x?zy~@{b1`c8$uz{$o4&qsewH zd^gH7QC=U)+a}99kMcYuKV^|dhzI{sgsi&0i(W6TE$tRWYks}H{|9YJB4pRPew>rCD#GK$` zY*&X!ZW-SHhuE-6JJNu(BQ3$0LUmlY$QeBrkT#E_<5>_U>?}zZZeeE$w;2pbJ4?7Da0@$2l7U;;S&~e9K-yWtO??k*{gO`PyKdHV zj!63&X?HmXY2ePKI>0U3xN(iNyM!P2rAfO>l7ss-8b9DRo7PCXOSma-tR=;Kxvdy^ zH=UApnCp=S?tS#EaGTAiq#Y*Q5xAoq9)$clZ^ zE^`I)g?p6Jz%A;0fo&%Bof}~n&`i%ecah`6Y&FR?lWZ|-NM@PcA#5^#gg*8WHkqxE zYg@S0@sYNfe~YxR&7?Bh=Aq1wvC*V5+m@ru3v4yJUqBvguSxBSHT8N0vX9QPYaeC5 zNpe{Kh&kfHV#u*QXWSl>@~rjg!XC39Z4dVeYCE{8jg{4M%z5<6MOw7>h_ugKjdxLZ zMA~P<9fA8KrGYyN_gQwE!annew9iBwwfj@ByYNz-=Wf-aaeGalzLVZJ%8bHZQ#>a= zGq-^H9n}f$x42GGxR0^BjPhCboMu+~^nfJ`_c==z?j!6rt9*KmB?EWVl7V~Jl9}(* zg^eZ3^dRqp3m0h-gbiAiWm1@+@plTcX>kl`V?RI&Wj7R zXU6wGyaAh+%5UDe;~8G-ETz57Q`8S_;1{*kW8I3F1HK2lE%HB%H4ot%-HMpAzS#{M zEBNQnU%D01hfa4ZqMw}VRz&|h)2)bk_1||Z zf>%H3RssIJH)xWXd9r|1QVCV(=&%5up_ji9EHexT@_lJIE-xvBP`)l3*U_TK0 zNBjQnf3_d&z7_KO>`#WG_E6{n`;pLq-3*P{p9=lVel+w;d$jumJ>M|fp8c*H=Rxp4 z)2#@Op6gallK)V*BDnU8Zbghe)TSe_pB+)99q;?_53j**Ctla1$HTG@pT$^kyjPDN z8^iBDLV6{w(XckGw0Ct2_Yk>vc6+EjzKtXG(( zJ+dD5^Fi3{whil%V5uHy8_~s__YstFune}N`}Fhlu6M(K=(zqa_ut6SAM~A6F4lrr zck0o@PwAt)Rut=iUEPXUCwv3tm%`R|4(wyg4(Vn&Y=WC$1KU)gn~jxvq^U}el-{C8 zn$POdIcN09oJa9nfM&8Q`o$56zv1)gU-Q}W`}<^geMI7-NLiC?1FZKd?MJ&K4JCTC ze77Dchs}O|k!}{O&`s}?x>*Pt-uzv9wBUdqDcGS$ys+Ud9MvO*12R3-b_yFcv;9kf*rrWvr*?ZF))f}EY33es_X_(ovya@{4YE-)JITGn2$MV11$P(Q zd36V3p>5L6t1Dzw(%!|kF5?QI`L?XbV(fRACuBWhwD-}m$EYE>jk}G7Bv&WpYDvx| z<$8r&uTdrB!p1zHwdSF{qDA(%@Z-YwUtOdqesi!Ra1LW@^@Afx^xXeS`Rv~)o_mGJ zXTMP=^4VuB0iOTb_F%pJw;|ettXGsuN?Y^L2-Y^oU#&wUns?tEh;801Yyr(}Uk=1> z*)Hq>%}wNv2%A82Bf0yfUEnEl-y&@F%-mZ8u`OGKy`I_el|bya+l0-YS#VzN#-0SO7H7$$WoHa&O9fe+>5+J?kUANoJW8<@$ z>c?R-mM7!MzR)a`c?lcCwbW0#jC&~GW7Ic7#%j1@T~8WU(zAt*h<8AF(R0*1f#*n* z?L@YR<`$V=*dIO>66x1aUJbJS9;duQPsw)Laa6Puk=i+GsI*m+#mci@;&je1+pUIV)@Gc4=-ETtKf^?ioY z+%_QV)wNT;zs<5PHj-N->+(NI?v`D~Rn!(+qM|L1+h6H6Uy-s=#FH+H-O^>ur#`T+ zJ3#&PH;OVpjAv|k5a%>#(|@+);HJJ^N8ImHl_i8Bi~&2TUW4KcjMD!?QK~6@<3mV4 z7%}RR27Ui@I0D(Hz7>cK4vO`vW%%4)&c41R#4$F7?Giu-M1IP>QyJIKv zK^wkwLx5~3$X3!^ePe*^GX_YmZI`rmGXT;hBtmshBw0A<~93Z zw>fAJkloymkhfWMX&_dbFKvzxMm8qqfr|pM{CshSY_6dA0%?nsPslbW>csDLvq`sN zf72|5-ChOBmx}Xp^T|&HVspI0erb!;hd0xBP0xNa_NmO16hBAWA(hHDGb?3!vPpWa zM(EnOZQ3i+Kgsq@^wBbYFDuHtCT#u4E{<%OMib=8F7A}{7m4!)*rXL%Z3{QGz1cjG zo@}2Kv|;vxs`gSsIBd@lRC@ai5)k}7kRPUK6`>cFMw#&&6oRt2lqOH&urdoB% zUm@&H&Dx3dg-HL#1?f+GWcp^AzF9su*>9NhFA69N#k>BH@(QGUK+2PShgow`K$G$w ztA3t%{qlu8jnU`O4#q_zNo+Im74iHS|GuIqD+P~!&cAgZV~+lmf9w7l`f|g>^UXq; z?u7D8uQw3$dX4+7GQBHh9qT93_>jhRL7FkyCc>VL(x=DM2W0wH@)^nIq(;6o@qAR? z`HxIn$Z03aCL0yc1!cc0(-(^NLfM7!vb~eqt3)43Iw{MxiT0|&xjx1jbL~X_Wb48< zN!cW0mX-!yk>%xx{K5YmD}V5s?3B$l6Y0rD<%BFFo_klruSLteev|QGX0r} z^kgIRZi2j7UmqByHi6wrz6_rw@~N*kW?A{b{zkl;(TRM>w&vUg`Q%E!95<0ZK5oKo zwF#9~vechsK0lGy=aARi32ABU?2>+APfFwHC01P;n`B*1Or&3j^laNE%BJ)uW%^R_ zEJ$A(Pv0ohzc7*h2Bd#0LEc=oDlklKvP@0Nl;MWRXBF&1t$dn!d^}mVA=+Xl|aU2i#VhP+29*)g-fWA}_KrIwI4~pt8-%%D_44m$qk>mBRK+=n=TZ z`>B{nPqs$Kq`a^-GAk+qZzZO$sF+9(H>GF0Az?Q{^S?6O#c@xh;wvcTy zy|868^YQ|XiTUN_P2`s+^Aq=;Aiq;`e3%%Q+1@JeQolGe%fC#{$MayXaz*=&cE88|Ba(iRi%IMsSLncNo_Or$5fprH%WAN6dm_NKbZGGJTau z&vtJj-dx}bcoXGOr?|XFK8K5+gW5b_A90u&6VF4oVm_HZS+q+=Mj$^izl@BD{4!*I z!e$EXOZI=`s97t$%S(I3`Xm1`x&Fw5ZBDc3k8&N7w@ejhudrKmm_-xilbudPmM83{ zOt(AGCH>+(#qfTUtmk*9$+6Klk)CXMwp@_DQ~F)>Je1xQPwy7#*;Z$x)#qRii$m6z zf9$+S#hnadPWnYF4!;>~H?@iKRFubdU?P9hqXjY(%Yz+HygW^|7g|d8Bj-ducI1;Q z)7eG4JDmYfVm?miL_SWLkKM}0HIa{oe9RJ;*L1l8F_%l&FKtiAhx+Me=@;*p`fRe* z9-a(gV`Lf=>B+Wf+Xd-6q+hHPD1BNyy+@>HyER@%xB{+3dDJN`?~>1fLvPU@)aEW7 z>!Fm1=W(EXw@mL4?UIrb&=T`YNtwtmMdl}LoVY(KXlxI?%S+{2$#t1rD>-5BA{IxfY zB#lw{&AkF^Z|xO!68_u$0&9EZZ!7)xs!78n|5a6_#~x0082<7vpcf%O?8y|6zv3oU zjOFDw%Q3y;Ryn4Z-!8}WiXJ(pm)|SL^op;Ji1gTtDC$J|hA)hu3B=xlpZtwCjR-C_ z+}tbo1a9TMg4-o08+#-t8}5~yZ2YP!(qnyIt{{EW7gS-FfHf;FwSM`>%{QrH-Pv@r zY}4jjWt%qLF59%ZN49Cxy>k88{M8YW9&1jqx4Pmn*?w4qIjQ{ukIVL3@w9Bez_YUb zR{Th|U*NQCzZE}_?HBl=Y(LClgq=dlW3v4)Z^@(fb3ZQIFXd_3e(q;w`=$Iywx9d7 zY`>Hr$o6ypP_`fRP$9Kf$z!tppnJr5cBp$@VKfE!(f;2eSQ2 ze<<6}8b{h6lkJDGBZbv&eSU;B?_`*oa_?brST*?t{AL_dVx1hv&_ z$4Jr}a!i^}eE8;OrD*GB)k|?}lCjRk{l9O?_)k*24fm0Ka-l=(Q&rzN8NNV!R zw18uIKe3%dDjV=$fhzEK(l%)g)>?`k{{M;aR3MCgloa4Qz+~X>fiB?NKo9U;U^+0S zD5LZ|SNfBb4EXA{K{SMVh-;rB*WlGo%W2WA4*q5f97|leP z6knUH3f;Jt+VzTa8qRypd@|kU$l7e)PP~V|iN2!)TtVN_0j{L)=m1woD1Xcq>3am% zr1plIQp2I;se3}rsk_DZ2tJj%H?$&kFw~N|KSZ*%m`?^$_k~(>4utA*hVe~-kx(5B z(wF3HhkHk83EcHLC*XcQR1f#koCw_gp`~!w;Qs%bXVu&~VAH*7ZWFNi2WqYee?)ar zcpZ?!n}7?m217MjdqYdI9u3uH9S>cTwI|e+wL3IOb-uFKN$FO6RmJvb_!%n?axcv4 zN4kCDyIP;dGp)umHK2Z!u6AKBe*3T^)PVZ*C=r8fS~Ic7eI@EC@<6>lle#0cCUtvg zh|0k{`Rbf)c!s{v)z&k772hTh<=lpHc8YX$cc{77ruK<6wU|?{Ox+f0%rTMf?oi_g z(hVS8RHXCYrRH{`oN~vALzIuauR}hokbW7bUxxGxv$iA6E@9_Zkt}5?ZT#8ebuuA$ zcc=#6C|L0|+?&`Q?!y__>2O#T^RRNv!zixlo2ugHaPnXOZB<#A;9veNRjFZrE#ep7 zr3#zC%2~Zh?VfO-I7cvHkBPWt_o_-A$+Exk>#DMt{Z}Hs;VUw2RdH`pErs8vf>b9) zv$m*8mWKP_dkS`3g6{zIthz0fru6pFxxy!o#87;Pl>Y9oASP#*i@-M`H*K^~4zRb0Cc!{{u*4$1j02 zcDxRxvEvs&8avJcY3z6dNMpyZfHY>j38XOt3Ra96{{o~jGoZ-DnDN%cJ&rxw zwh2!A{mJ3HzU&>@T?c|a2VigsURSrIgnN2vOjt9v5M#h7`a|Vhe-d%NdSQz2SIzTd z%n_Vz7~b4v4CCx>ID9C`ylx^Jh^tcvLJg@qLv+8VKW88M-u{pueP_m@p$?VWyGs?{ z{c6eS3N?T`4G*cg%TjlR8dIa8Mcl_1L0-h&F8lb^;9f)4;gBEljp*aluGgTPCX`c~ z6Ga)jLbXUk@qSLTDC7Uykvl8RN-fuHRy$>DwiBIfJOfUNHt);{)llh1N5EYvLIb$EeBA*o$Wz4AJ=0 z2>veu|NP)zea=qgJs`$0F*fn@Edh7yz(w)Q_p7;!Q|}JdrkbIpJOH9 z;$pQQX2BQ4U2DbF;X90>E^!y<^se5?JRAith=-?vq|46$iHAQ15)c0YNIZNQNId*| zAo1`eAo1`OAo1{3Ao1`gK;q#)0!erOGmv=rQy}s1pMa#hUrXSj#WV1*6+ElJdNlh$ zZ?LC#r{H2kGq~7Ayj(L@4K5B77Z-Woid=b2s|c9?8x92XK@!Di(zuCV8`c&|n{lrzl zZ}?r*SN5SE_@1KVX0hOAz~WyexQRG=FI4W8wqlh3-sw--ag8CkTM6!thoZq@^w;Up zj>-I_K;q}KK;q{Jkofr=kofsGK;q}~K;q{QfW*%eK;q{~Ao25uK;q{MK;q}$0*Rl0 z2PA&J2qb>~2uS=qmB7yq{3rn2tE@~GcE06T`W@N5yMjHtb_;$sT?2kbnV;Y=&C%v8 z9&z^W?h^d027f86Y$?`oQeW1M!&YY)MUBJmMqqfacz)(*HSu!^=6rRS^O5eXul>PY>-suSr>t9;_8pXcT@M_2;R)IkRkKb!H4)hM$XbL)keKi6RXoH#!a zaa`Z4z@2K$w<)X!W01wq+MF=jq*u%hCd+Swe4pfJ&jddgV@!x;he9;w2>!*}BaHR{ zN0EQk?ecjh$8SbFI0|mn;mb~G_+G2zXSv`f@lo1 z!B6BN=E9q0SZxo_h1tL84pq5|IL-d0(5=Kp^1G?8U|yT%-qDA3FZeeP`M!60h5c88 zfAfi-h@0T&Ji*W97C)<#!qcD0?az&N1Sid5htPqEn~wvDn}>nKP5d}SaPzN$#LXvx z#LXvw#7+D_KydRYkhu9hAaV04AaV2iK;kA=+k%_NfyB+HfyB*YiQL>MxOqjjypqKpBtUbUWE@>8yEAJ?Po zC!PvD3V)irzmN3vmA0kG|Gm@K*#AlJ^9t~9#-5Eq58`Rup!h1pUt#~5h_8bF9Pa4s znBKW*vhEzj%OQS#3rPIj3nYI26_9l2!$9KaejxGlAt3Q{ACPqC0U+`75g_sNQ6Ta2 z+d$&ycYvfj4*`jvj{%9F2NU?YX_MgJJn*vy+$zVJO15_Y@p61abHQv44OTx^J|FtC zvrWjAgQpSV=`6o9d&`!No-Gs(nFNkfd|9y{c1v>YDRt#~aI=lM*@Sh%dv(l$GlRM$$HXCPvw6U4=>NcbMZX3DW^^J_r$U1 z1N^%|&IRT{PyW037nlEc@-Hs`LH>zne`5~^bIcmj zVeBV93LVFO;-k=U@Rvir{6?C`GXL6SSe$?CkMocHasI)d=IZY&XMUA~U(NO(3VxM? zf1V5CuCd~1?%L5NzGpnWZT)2aMZgE*-&cXezkVR`?`uHf-`9b}zX2fe?|vZhZzquW z7X=dk9sm;mb^(ch-vAQ-z6m7$?Ew=19t0Bqb|>&}{d&Qx%b9-_ILo{|fqRz|_u80y z<#KO#&J-2gTiemIc8%cPoCR_H=noV3(p8Ilb;P|zsq3&e(fR@Ijc?p3+GWPhfjIxl zz^5|sZ!!2#djbDM9P{roaG?xbpfHPnR{u}r-{dsAk!DXk4e`&4xA?x0b?S%k&wm;C zPzHS@%H(;jm7e&w2zB}&*pM)GM2qQ zbU9>&{`suMzb)XODfsTcf%G57EaYFo<4c7#zOek|So4)bp9v0OOj-!}8pzMh2_paY z(A*EmcR@ZR;V!7dx6Bktw7@7oj~Fs zau*!D14ta)1|$xeK;qzCK;q!tK;qy%K;qziK;qyIAaU?sAaQVe0tZ`L1qaK@lEVu4 zljcyN_})ML3D$pVB{;ZQ6EZ4z+6kGGDI<>TwZuU>cd5s@%LE50zBGNr!TOIm=tSSt z1P9BwKa`&=(Dlxb)m~3FXC>J{nHNq zsW{u9u!_%09k>KsuLIZ1xeV(6lhbTRnjIod8TUCWeku4+FZdwOAczmF1Iu_mT44tV zRdA5fSZ4`Vdg9<*)VTt6CJt8PSu8zo$9hWzKWGlxkfVhvsLmK?thL`&EKBom5$BN4 zI2Zh=0H-Ld67rYf`O5HoHN1W%9Y0wf{LI=U#)vYkpD#~^4#T`-A-4yOD`L#x{4dMu z0LQ{YzC58l$~fNo4m9zN_F>x7KAwZ5zY;mv^op-B1>NqE^T@E)fYZ3aGc{k} z^(6b}-J~jWiMQ-u)UASV(yyfL=u-v9<{|BSryK3bf@3N;sCXvFU2VlxB!zP~Ym?W8 zo!|lS?j|7dZWEAr_az|l?#n>p-7P@UeK!M%cbkF4yDdQC-K{|4-EBbP-B*CbyKW%y zE(9dr-3}z)btUjla|%w`!8;G}4)zt#tlb{$*-qj0V|F{%h#J1ZtCb45>LV?Na8R?32X3oPjNq)`fP=KeN%#veD11 zu{)7_B98T6PL?y24IWWg6?4zhv*p~EiF=dNM3AOmq#+$k`fqal&XA>dFK7Kl9L$Ce zx`2n(qFm^(59Wbq0MCev)^igVE4WUiv&NO6LBp+B7Y60J@Dt#Ns7u1L&t*MFdP~G@ zketlPT8lEm^4X#1EKbtcMSQ0{u*vf6knf5=_vPSlIXHX;>s{Idn=Ib}`A#Vhy&HeV zc=>Y>Un=yXAA0dZPS#?rn5Y*?Pg_$^PokGbh3mm(B6nh_~CX6Y>8adv60D)p4GSpFR8i z!D_YA>I)(5%8Ps?guKW?7K#w7MPMNVmdTnBf~n#Vx>gk;JJ=zh;S#Yi#+zb;pmyg9|giFgUbYvFi#9_HihL!7aEoP7U6 z_$tKhLEOSQA#<;pbzoOH_*jPha*=0Y|3rMryDp43otP)ec_neKocc33u&lgEuc5Lc zUN>}89J;A+ekj5gOP@H)T(fm{Bwx&LX{H}a2^N8J~3&k9l-78?T5nP6w=AVT;>NI)OEa#tvVI5{z z3+A5SSem-}#XReWC-Lk$An|Mika+fXAo1)SK;qd(Ao1*aAn_~-B%W;o63^ZVB%W;s z63^ZRB%b{Nka)HgNIbg%NIcu}20Uwar(?u3oFOFJZ-W#D{o2UCX^m=fu90-#Ro)uxAyy0B*Nnb5UDm8OqaVyThD4jpAKD>! zS5w}p`_a$*i^;y;j6K9A{fhFnkYBG~0eKO&T=vT%^kqN#Ci#`ElblDxm(4V1Q zdHKbVZ-V?%u2Wuz=H&+<550&yYmmO#9%lYUp&FDM?DiuKf338=2>w=sOYmFzZssq$JFz|#{AD+BQ}CDEu&?-$983ta?*tVr6srzrU&DC*ncoO%p7!}-00Ev4mfyBM5fyBMlK;qsi zAaM`ITEV?uAaQREkhljmEVy?Kkhpg(khr%VNZeZoB<`&(;GT`wbd8dG0i4w>+qpfJ z*`5--YgNhiLLA(3-d`_eJgcT`#Jkp|o;2@CG!t)qYo=^G=d2^%T>;)TGw&Lica7*X zGmb5yJ?3xODtM=2EhKmV-Yr2Nj-d}P0vAa)E`q!Wv!7v&>spAoQN&%$aTg;l^RAA0*Eomk$dlsJdXM5${)^KfTCDeyf_F;`>S%KPa?bPeOUk?~Zxoxr@@|*MWW}O;X zzTp!2e#j5zj09jdmE7WwgO0e>jDzr zmIH}zorQek^SK(d!sZ^hfu#*^Ie8|*D)V!xZX8LZwB|~J}TNso&lzL^rCVlUw4x? zwalAZvmO?+?mft3b)Gk7y~AAZ@Fnt?PlUSi^)~AmVfn}<@^Q%b=H>I_R6c){75cCU zyu^E#f|m=3BQ<^aZt}#r7}jIe1@7i|@%O|LPHVg-tof=aoYre_`z_Fio;$`OMuxcEQhPAn_BE3BgZHB4`|^v+0>?=3kYx#{}@6iywB-Mz(|c>!1%E z%;7RA<5`%nl_ecR83*(8vOGU)0>sY-yq_TV0fWTLTJ+Bv=4BQ4wJP+5Nu_saes7=9 ziFM$g;3V`-1oNmc=27#x-^_{gO~j4~ANWd@0g5c^Bkxa~>K5KO*3V z-*LxSh&U2$#C^IG=N4VBDy0SP2I#hu0{7+MYLMNt^U$%eO7g3&67$fiC47GZyB93u zdlcABJfyXqkavyoJhW2GLl>HJ%^=M~=Y~biuriv5R?9uW>YBN{3xEeS4=o1L8W4pQ zyh9}f@5+HR4@Ch4?@)QcJ5*Zm4lO2lhYAVaVUQ8Ln-3(tSPLY*SOX;9VbBu1!(f%? zT@A18g6^~e&IH`5%?93CnRm7_@UGe==Akyfl<~|{ZDo$wP$o8OE9Lp9jneQH9$b2kas|y>f=Tn7vhwb2arclFTEsA2jX4hHjKo5q> zHNt#m&4r;d#|i3_eOh5W)RRC`9g5?)K?lJ<3y}DS$*$m^6-etqR95g0 zl@$C#=l@ywq2~KbtDJWl`ODU*z?t zE0}i{3wY=Ai7|5W_uGfI=(=YtK3 z&bnC8#})KJ5BlId^g$o`pcU(+=`x3Ig*@pv3RfCrKeV6^DxrEA$1b^6jcOg%YZbw|^8h#IPZpTvuz2GN~BM!zS z5nuF8#3!zqb#*Xz97w|+!Z?He974JtsvkHr&kOE(D|BbM4|(}@C*(w!Th`5sd7THG zaX{WTPpzfKzD>HM7WBss=x&=?I*~7oF-PlZ~jshdu{0d?5>2qLU+x(OBPb6m2ToB%85O` zpN^$nesFK%oTo%p(k`EP#<+}Uk9a1YrCsR2$dC9%?FsACrKSE4#(s! zLYseb6M*`f&8m#6k6JPon>t>vj%KVD&uN?L-mlzi$p#c(y4W&rG^qH~C6?mRv})7S zxRgGM8${D-OFH_fYt(hQIvSEwtB6jcK02bs3SPOPuX`WxG#7xss?no z8q_aWOEKQ>`mW-_eXa3f@jZ6C>d`%_UyrIT$oTY%_#W|{atCCyYMJh}R_GeV@!&fH zstP#;=S=WDZDmAJhZVfHC!f=4dwSuc_EEcLAGhD@$lBeWw8QHiUFd{+pZ(xMltDw9 zy_|oN^M`uVH*ua$gr_(!JIcF@(neW5$S2MD_#i(IWmZvEE6Qzf++2J>)Q9?%A2P+F zUOwFmnF*GOKB{IEi~8_MmR+dqKfRFs(#q(mU2sQd)C|^?3bm;Ocr%~m3=7;mH);t7g@E)I&w8FXKC-juojN z&3HZPX(#e?dfnr?<)^27d)2I6G2l0PI<4G!>K%ma?|c+#dadIgt2<*yx$IVF#%XmL zPM@MHS1b74P{w=RS+~_{pzNO4XGX5Y;!#)Ko{Y!sHqy>JGK!t%1DK)JMPK&@cfaC+xb!axlj8%p8a08d%q_G8MwV3=YGdg_aTv=b#KOMcaGx?pp3(f zGCb}ab2!H`sPk#ZKF5C121lt4oEZno;}H3y1yD|swK{LlIPLavDzja+qb_I{l&`SN zcGa8ls;ZIpd=zD_(7itIxX03V383#sC1kC zD02#*v&P@vQ|d6r&|#N;f&0;U#W{fe$87Ek7fZfB4X~rz$56rR* z$MyTV!G-XM@&MyQj9+1#Vtj(}9OHKwV+mQWa6*xh- zM`^fnDR@y4BjI7h!DdCqIlGnU-icqc%pzqK8iC!w^*C?Ve%`*xMOYCgVqlCck1Z`#wL76$6}4a-KrlTcLnZ`=K7weI5ylf z%{a+;l2KVH!vl-pBX=<3o&JVVq)og7F-u z6Yi1u26|-q6vhjj-+4xZ{P9}^(f*?Cuaj*bBY(6#wRxPL(dPYxXwv~gwBvA(Y`Z;# zXtRH^jGnTp4t=5rbx=o?&u|%LFy=#3PPpjFXHf87COCjA_PU#sS8D#yDe)G0YfXR2VN@&G|E)Wt?O@$vDB7WlS>; zGY&BJGsYQXjA6zAqr!M$HRsQGmT{8tB;y2QmNCsZ%s9Z<&lqQnF@_lfj0)q0Rh&QL zS;k4mlZ+FLS;jQuFyjDYKVzIR#u#P{Fe;4u14{I9>LcifZcAxuUxg!ls8reLu_$XZ zO4+8M@{OmxmTq-QQR_Wcb$uz^7P$9T)P#!~)YKtG+4M2o`{0HA8Qcp4TtBVUHCh}F z-|bNaT45Alix`F3L#ZMGf_-1FEv|c7#!VNakh8 z;2C8sYb6MPn^mC9;sHWfvi!zpWG-vl}Ux$ig7i7@(+-I zkjskkRZ$!DVfLfCxUDsMn%o#aPObxjYZHuF#x&zF;{annW1KO@7-kGGDvTG_%Jk1O zo@Jb5Jjpo0m}N{e4l@og_A|yAV~kT_j9JDs<1pg@V?Se@F~%5X3@|E;7wC7Uv6S&F<0K<} zR{>)-?!!@)dlj|rE>#V~K$61Zt&aMfVz=o^b^4StqojXy=+zmEybEVW=nO1ZozNKu z)-6uxl^M*-p%UQd!Lv^{#IqmI0eu2?4=41&4D`Zz@mz-I3cXjzRN=W=#{vs7HFyr| z6T-g^&ry9+$k*dp(=lydz#8`&x{E+xDdcZiL;Y(PhJ26uB{bpYG&-KRpzJ*Uc)6Q|0R&z(Yf>K~W! z#9dr;w~)mhvZd2lu-Rhuk2oClwaQ5jbzZFBx16_ooaqKvFqH|qu*8J_Wzyf~ccwF&JbJD2C#QlAmsT9}Yopj- zDMMYH?+9SYtDLJSo@ZNVGd@i3FGkUx86}|6JtzzD{kS0c`Qhh}iaTkd0h|G83ZzQO z9}CchRklnJccZ|B{j?pn1zV=-AlZnKZm>bv5pEDRVz|r5_5&1qjldeZ+sE8%F!vDX zJ1ga|(U!qRTj_1lE4(qW=U9vVk{axnM7#;?)x>pk@59{NAX^yi>5$#aQ{D?3P@nFB zjmFFN9WS1Jd``xP=Xq>zo`+{TS8y5jMa7;^c@lB4=K}vidu^b66Z|&|TWoQ87|(S& z*;&Ot#~QVQY)z%G6O{t#yb{@tD`2k{XK$`oE664mhMlScSoKb|A^^mFn-wDdD%B-y zRX~bg3Z(cxpxAf0PIXayKak>A04aU|SOR-p5OzCn2y05%pF$z*#lQwFZP69FdA`ov zW2uC#t^)fp#Ubb=*wB2i9rKY=gE5I^lfl+h zLu=bm<5=Wi#J4_`Y4b%h>)WE#PXzzKJHbEjP4pS!AUG#D2rg2e5Ih9`1P{SG>K}rO z6_t{U;AFl$;M{!Xq61vawE6@O=hsUfI>5t8n@^i`MK!wfW}%O4=0I?0GT=)s@SM!)xK*1}Z;1y8tY8~?mD0l@F zyaJZMRy&th^%wD~5qqFb`Yf-S-;h_tn^N$|`YPsCmE@JL3VSSL%qu(-kD^t~E86pfTf;^nc-2I_0xmA#Pn`MF&-@u+{tPpJ zW`e#{8cMLi*E*DG#YfWCgG0Y3{!|fvuqQIw78Q4A1PeHXJsyq9H3J?I(j7I#CAxov zxHJPUk-y**?i-POYEVk?Ecw*%-+VIl)PE&D;Y@+#QzP@Kk@?ifd}_pd!*?*B@GSV$ z$b7L;ngF4a%+EcV6vN$lU_Ob+R%AoxV{ILzCG zek#MfkMvCi_(l4u2J=4BH@HhWub)JGJL@N)ms6py0(oe;3(_Wlbeh1Qm?!g-d0mz7Xo~uLhr>a8{91M3z z4%T%DJ}q)d{nX@}o!_Oek?X>&MBjwOz)6Xv4W}25FZ9uSd#+gy6|AZ9bGm|cRenxa zu(rz2>E2*{MdwBv!jdaCoG)m=`GSnk7MLcIrdH^h-W(YWVgH%rvW9$ z7TH`Wo(BeqcQ)&FCeKQFeN{nw>zEf-)B4KXgE!Y%#4~fPWv;V`XC|M_b(XpIGS^u& zZw}+^0JW=&&#cj&xtq_N(0;gw&$M35KWg_V)@0PyZ?*>W^SRVZ_y^tuz%$}Y5NCNz zo)PcLSdUfndaH)lTUZ|n-r<`Of^Pxv$>f{KGqK(>dA5dm2NXO53f=*+ycg>vH#p`3 z*GjN%`fcWg=Dd%16T~`-c;>=hJ@E|XLSNwbCV({WGuLA@FQj>6z;i_MtaP*FS>0yl z*=FY1W^nO{V) zV54(jv1ldEt}I+-Q}gSn|6tA$pDLMi72sS3?@vVf`i3%nVZpUP0oO`hN5r{x;ztnA zq_gRH(p5LKs7@Oq&JZQg4z9`I> z0P`ixe2Fn%W}uVOxTO659$&)XOJXRKp!be?&#Sz43P3lN+Gh1h5YHxGW?Xfm%-H%J zy8I%}&|EI`d(|;<)-iIKSz>lo-1 znw#Zy3~UXgBl0??n{^CO=op~TF+eewgH1uq?SL2C9?Ut}td9BZYQ9HjxlX_ zrj8*UL^eB9#|Ya5bWT9Mh%?X^@@yvS80Zr}Wae-NdPuIPSjW^$9n-`*=JEp0Ov*Ko z>#RiId5M7w5=&=%{o>qWL%(l`*8LUGF_GV~j;UZB;~*W=?~6tf8-_9)l7cghtYaMD zj8b}d%pvs3b+BlUGiTOdy|hu3dC^AK5OHKtfu14zoXuMKd(<qHs zA#?p>u7^y{5J!q5v-2|ZY$e(0XuU(+q4kf+8FT$J7|8OxEFtG*;RJIgA?IbT1kQN! z`p3uXpK4zJV9n&Cc^a>O7QeyzXHx1D&smB7^Adv>B$h4gccn5eU-a~bKq?am&aQ!e z2X<|DfnB@7MQb2eG!5O-=;pN%*%1_%w98?iC{1e~rC!|sG2_?r_khq^N34D7dF=yx zo!DQ}uPPUW(V(bQ$&QxNurMbZ4)N9--xey=w0fB)W+8~RAv82+>E zEx|@JXK(30#s=;Nr-E1mnfmF?Y~X`|BW$yq)iL6o0&^`C+zgH#VVm7%w%KiFn;ox( zG^v*^V;guwfel<)%X>%?{b7m0n8dP4Uoh1Wl=koZdgniwUv%Gz%KQ>`Z`cNjTjsot zY;-hl14G2xhURUgo8>wunpzZX8gdJMEHu|SL7Kyr&8~BP5BsjB{p~;5{t(vxbL;?c zoA$Sh=V+Ji57~Yv+#tI^5O#roiyJg&yLkRJhZ{CIXOsJ`Z_SO%nH%l`Zp4`z{mhL4 z=Eg8{L#%T!&NtY|p4}QNB+0%DDW^8UA7;J>IH z?RRV!NK0P0vJ!n05(6hCVvXYy`zQ^trAeFCMf*R$13Q{&yH<%Suv-&X8Vb4MJIs3J zI@p>E*EZ&!k86l*%#8(W8(QnwW_8Q|<2E$8x8vjUK$qGBs#DOmHowXNEZ z_bc)4G~Tle;yp{bwL zZglQW?(O_`HU#m$<#K6v3t(@D_BMmOr%Gq($R<$6HiT+(Pqn~?V7{*@_IAJ{b8pnN zAqbnoD&`qb*c5<*XFw-x2o7OG!29Ib+bIU$=uDh>md@PkF>MGT?5EP%x{GZHUd-77 zSkE|tt|Ga2O7CZyb~m~^MC|1N>8zc(7ewFl5O%iG7HKmmYe5>Y3;0|3ed`wRjL$7p z^SOl@KDQ9&a|?CyOoHZ+d#H4V&ODPAmwa;cOY{s#^bbo6PTE{U4X&mkx@)lq zKp(kW(a7r6Lz&flr-#WkoK>K+I`W)BgA#NZ;w}ceC8A6!HA9PPqWIv|Yfl%^y$kaE zo1eHs_5tQfkoQ5$cptQi_CbqqCx{<+f|&cE#1(T-)Z7oHvYPvy=6S%KM^KY_qQBebK^msHSc) zIb(9gX<8axHsgYGjq7xL#~PV%v`ui?1MHi zSF{4ID9n`rb0y4Ni7{7Zu*fGspWIn2(`_g6T17U$fA>PVVa{ zuAy2n2Xp83OcZXL)&6FBMv;2P13iOx-l1;-&^J=g$oX0RtQ+)5slyU~65 zq<`>IE#6f~i@Rsic+Z9UL^{a#a9}P^^Y=97_=EnRj-@^L#C)kwNtfYM=@mHfhV#`? zMb5!$ZNUGVcV<{m=!#w5a}l@ly%)evR3PnCCwr(SPQL%bGJF3;Dekf;eH5?%Sd@p; z%J?a|lOdFMr^THNr8A1SlY#EUu;lRN3%u8)7)9C88~XdRm>!NRx8qKYdyBKh_Y@zp z6ytesan^DMU)!+UnJF5}>N3CVN#G+>WD3{+-oGG>x8^wGl1Ae)TLiZb3EC%?Uzmq{xOEM*Nzd`Yx zxZj{lFR3jVuPrG#Qd?4+QEN+%loZ#Fmt-P%#@z+Q_u|ieI#N=yzZUl!lw=?SH_Exc z=xFgF)q*`7-_u&s^uC3i)hZhH>AGwwNScDi#aXO=@>Ns>j2IbGFML9_U$=3HS9d8^{)My{xOIzc%W9)5CO+mJNiJ~0tmiMGg*_G63q&0COR&QCN4vwC% zg^zRCgw0lOu^&nK9S-!<+r|5V^nRQ}wWJRn@o&7QsBLYzuQWw|9)~4eUK&l6NBf04 z=&_{9U-Mhi{vvsTM$@F7Q$ag@2e@^Z#w=@==!~}iSYE%qp5zpKYgezw&`QB*hXbZZ0(s? ztR5dISbrVMU;C#@yuV> zZ3W_4=$+|U+otRBJfGf~Mi{*_jqvr;>K7L_oeZ?{#_h@^Ow}d z+aGu&dIR#cxNo-C+*_NiJz9IHrnV+iGg^}^$+e}*?uw;`uch}xPd(d5c<_8 z);nE;`!J8lQ5kI`N}t=6m&41MO6Go#X1~%mc)Q16?_3&abU7V^x8pns-HmB=SK98T zc-9fc>UQMgSuwp)i)@W*v2So6WG6_*0hxKeyo>{fDl5I7!8LXp(#E@=NKeH9>>-lH z-3$)g?(2l?62swlhYc@pyNit@+&Y{P(l8$Vm)igGJIJ21eT>+Z?pWZQCtt)F!a9;5PZ z9KqRc%ejr#ZtOCh!MT0h*5dXw+O3{J(N0CT+G#)0j=Mi*j(bvR{C*jaFYNfNZ_o*O zJLH`#?|_^G@?IfdDdZ=Gd?4)lY(U%*LGpfj z*5Vl~5whzXwAQz~*V$$uE6XC~!z>?W`3TF?`~G(Kej%SP3(~J+`8vp_sU7Bxpro%q zi@EPc%8$+%xQf)~+j*SCd@mybrWFQ>w}mxsc`6wfWw#mx3L?=FNxmR|F zcT$*FhGC9BNO#E@FZv?c7x#s8FOG$cpWPkF{>%vHes)*HxNt`}d%+XVUC_eDFZ_}0 zFB-$SUsTC*e5*a2{Z>af_pQ#b@$If~_S?6FbKl+-Hl7KFv(E$~yC@&rS3q_1DawxA zGo=yZJK=ElI~C#FcgkcM-)#wJziW%+zUzn>&$%Mm=RA?zbFE?Hd{sDmJ`m2G4@Qh1 z)P=J@C=2I)P!SnD+MA00X>TLV!J`g7R|e^RHwArsfWmQ)29*i_iSNN1$9@vY z9{X-2ckG3TasSUE+53MK$=!b;VjMpo$sSk2y&NZZ{JDtnz)vID2YwLAJ@BIZO%E&K zb`H-Tu8HK}K0tSiArIq-67Dg>@SJ7;9G(xGGC3vOYRcrQBe`5OV%(*K`%OPQ8)iH_ z?=$0lp*o!X!huNc3pHWm;b=Jfa5|EExISz=@?<3Y$Y3P*$hRU{N&{m*wJ+X{xY78^ zGm-39c1Lnwc`CAv!l*AH41Hz0X#2-q;q2qBk=)~}BgWUBh-AMu6v=(^wVdIIjk?a$_k=zsCmi2$KKazd2FOqw5L&SK>7tTJ_7Rf#34;yD+iDb{#MRI31 zMvQZtBiVB|MsnwdBgR+NaQ3SMk=$2H!^Wv(Bzvkok~_5{VoY{KvXkLRZW8sK+7!u7 zZH?rnwnfU@1CZwZnYO$EaU_=>Is^o!ads5l=>z;H{pKa(NEp9BL3{(rg0l+7vplq zPR6$}b}%kuY-hZRv5j#lV=Lp8j4g~y7-NiAFg7zTW^7_y#MsE#z^E}^&REa5kTJ@5 z8Dkw|gfYxm%UHv>fU%l!K4TSQC1V9+Ib#`Ph_RHhgfYli%ot!SV)Qf4WArh489j_{ zMi--#(ZOhEv@u#4RYnV=!gwv?dd78(YZ|5}Dh;fkdCdL%w zA2M!dd@tiR#`iGZ$oOu?0mczVo$I#{1e8z7(d0BWBerJ5ynq29%j6g zah&nvj9JD*j0YJ%#(047ql|YjeuU9ryq$53aX;fe#=VTAj2Xr>W_^7$0SvWc)tkbBy0({4V3)Gk%BhS;l7={}J_&noz#u>)f z8DC?3mGNI0UtyePe3|iI7=O+9E5=_k{xjn*7=O-qfiXMU95zN1;as{coJ}`{jdVPm z(|f}B%5*sUU~kxXaD6y;qA#31u{vy=SR39$b5RZR5X{M88n}hljk%w031@%0A#D6~ zYdH79#&Gt9{;=`F=5X#O+rrtOYziAc*&fdQXds;ZQ8H}&=*BR`y%VMf5m#Lo$*P}? z80wcIIps5vtn%j(L-}GP_xeMT?CU2Z#_L~+HO5#uWh zu0Le`%82nu?e$sfBO}Jck?TKheR#z9!e!S_SI=l84#hED^O~j;hOG@5!a7Ss8fe_N z;Cf@C_Il%3rw0eMzazQh z?}ywD?QcnLP(|G!w?jeQAh&x^$aRq1&`@%ED5bRux!1LWB$s+sJ4AAK-ISb8rL-QB z8PGqg5_N;zu9T2lMsl5<$?47xZ2>)ZbtaAWcDOsWKcY5hZ`TG1Q*{kB z6u%?fP)+e$Ta(kRt=fKy<5-p?xlwv{y)9|9v?QlHI<)swyp|Si2VrYX!vc!mUfoa$ zH0?x6TJ)LQF5tTkW7AX4RChnE+g8$CTA6(P*_F6}m%`GoO*wbQ#rdsj5vH7a_H?zP zoTqrd8g(9)@e&l4*n4G4Dc*9vvbtcsg8O05l5Aw9bCPfYE>EsniaIoEAu6|~C5>=6 zX_PHZ8o^-FC|#B`>gtk41?p2(1;6DR$#w=b7rDEtv=5MbTcg$l_np==BhwZ24FO6=i#E799ja@3;Y#Q9 zjX~`ek{_th8Y%wPuy!lCw`f`exi`0JJIU?&iB?Q$1b(D>ISp#3^p92NbYqn^kHRV{ zG)jM1w)J0|ztLagGS@U@ebcIAdZS0vC|#{i6J>(gstR#-$~aG%ah}2@d=w|}n(D~O zupSCK{gJQUwC$qb`8oW~SxWy`2}j~n<>I&X@^35Fo%n4hC_J*)k=XA|B|ce_N_?U? zWvthdC&_=oV-6!;nKahockF9S8VUTyoy(G%%y$9hYjkuZo20u&xWNg^GtjWoVXR+~ zG+~CkV;SS5R=22S2rFj$v4sAjh)gkcXDWp-QmD2Cfh_ryaWSqaDIK-8|QIw;@ zRNv_-d$kM;i1a$cT7c4PuM@uo^-tpB9x1a?#0L*I!Zt_o1FucljW+PXSd=vGKwFJn zmAqTZt|HmzK6>h=r2LIE5f@ziK9t4)<^8KsyRiq{iAIw~eSOlXu1*>?HA&*5Ta$bg z_5kRbev*%@v>Ug9W4pkwTdqzTJJ%$QXRb>cPrW@Er|<<N|WWWF6uiexm+rLf3Mf?A-4JHK2?^g+%kwkyp(Va9@^vBYk zq_OE5(f+PB+5W=z(l(-mNj|dIW^7xRG&<04l|hVg?@Jn~_a}|lZ%)Q2e8FQjV~+d}TD4(*F@Q+*sip0Z6RJGJ+azp82q{T>cQ{+4xq zIcC-PG(Y?ena5?Kjlqx06y<>nNJE)7<(%GFtvyV6)H}2wrGdSo5Mg_jHlMHqV?XeK zOyfNw4RG{5igJX~P%Dwfrm%J+m1A?Ab{C}u`|f+my`@n*M(*kwP3YXZYEiCM`I`$) z(>~8jc#-}*m1n^y#`&=JhZJ{Po%SabcY9RZPVQ8__GjdV&Jp8reOQ#2_-L;xu(?%9 z{is9|P6c{sdTXn;jpBDjwLc(?*K2oEI*B%IE4h2xwUgwoub1_2kBWMe4x6MhEri|} zP_+9Ql6Llk8fT_7^0( zzEv9__h7sBU2+d~XjhB0n>7oi5o^kq<1DrF;)HX0hpN3wvcoZLHOb!6sl7t(on6`* za^Du${*~OWHrXHATl3|hx~NN0mt8ikmt@gr#5|@`5nRs7-*=h$`{EOl2h&vldC-Ns z9ojUd8}AT&pLVp1ezr}<*>1+!t|-{Q{`TMEtg+*zk4)YamA|vlL-aeJuaWvsSpfZa zr(NhjwMPDS!ZunX^`8PcDcCOzqsLUAOHjo>A@@M2OE!D0kH-599!+ny{UkaUsd16w; z>yT~dYS*mz9X822K4{kQK}ET1nBvTvviHg`g~F!0@VQV*Kh}j~k<{=Gqfbhf=NVLvn#BpbG0`pB{Tj4iR>p}?8r1d?Y7?}5AGIyo{(GX0V%j>m zjY8S>gpj2=;roF0>5fiqEyZ#0?@`(=xV5FA4m9VsVXsG_cEGpRrsInC14=)^`bqJL z-(aAiUK9uC0q&zX_#T=qambQ-{=<*oWV@)Z{s4V7K*l3JVeDXICHhJvLg()mD zYKsvr#CL@$J$y%z{2hy>zhmhX_PA$%gC9Een||Q@&Q19>gYx>bKf*fm0^;0ee+=W5 zn7iCU?p^N3oHWQAts)=j^^Ixx58AER`G5Uc=Wor(9*~U^YlRl{`cFh zHgaQ*DdsiD-B#O~i}L*;@(qyeyp=Y}*M)N~^c#r15}a)aQ&?!P`0ejs{+Rgfj~A~L zzy0w_>3_WYF?3C#Yu8_Z`~!<06YUQEuO|12C676uk@-5r?>h-Sh+pD7$u5w;uiYX0 zoY;#&zGo>6YoSTPrSkVZ5s|;|i3aI^Vwu%B@)Y_chwvQZaARC0!1)2PHBni&G@z_{kFY_JEsAVXWSb%z6`e7la&B4nm}BId zNc&CB8c^TE+)3zwt&1PC7oI&RJZnI5(7`tjBh7&&kJ(3_M4E4M*1***>1K=w_}3%nrvKhFtHJ^KSh3Q+nB$Vt??sk{Ydsd;H*H5(p&nNEmv@6VC1h* zo;Nu+Ky7g>veH&~exUHYz{ul>i}L|g&SMRGZEtl>fbu@J40&ICUI6bO8NcOu0dX$j zw>&ct91Uh>4j#HGt>B%-?8haJ-zjn5eu;-aA@Rs3CFVXQFj!(cJu|vjJnw#G|7o5J ze3RE>-$=>1!5LmZe?2YTQ*6(8lmBaQ5eLWCGv6I%+M|KW$BpWG6P`JlDoZ?&O9@ZV#Q=!uhT}ossNGoVhsu zRKz%fGa`HXBUWo}M74H|eB8QK*u_ozxADjV*tVq&+<2Itr5)V(0zJ>#!cF_PF+u*) z25uaq=YQ464sIN!=V?vY!XKjN1r5@!U3>j>O{78CwX18TT|2zs->_@fHAuU5xZ$ns z+VyPLj=rT`J3rS;&(8G@Mjmrc5AHzOu}(-0q1X&V+YFp-js1@e@}IM%sFmnS*x@d%r{v8yXN z-PNU$ZC=RZ*-mM;OBu4q8=bJx!%j#xdm+=_DP_V^hV0KqStNOu%D5bB;IOns3)zYe zDI1isWScfhOOj-#Hq7*b?LvmiNNJ2OOE?XeSCoQ#ea=J{~!G%m9kS`;p zF&GGQ+l@ye=X+BZrWvX2`BQig2gQl>)6Y?U%(GdH$K z8M2#8nK~)6S;~+dJ&khsB36g7QOc4nT*`)pES2vQI9yJCBpZ02>R@|!-j@0tY^hmF z=hlQ+69ll1pCI@0QGtPFa-HwHc}m)bi>Dlv?rF@;jrFoDWOG)m+eVCS)MjPE_AJZ6 zbzdvx$QEt%$+BLSFDutQDSvOWPkXGdj2N%Tv?lU$T>p(yj%?M#qW+klZIH4j^0Hii z@cB`ECx^;HvVr$a+1ZxdDCS|{+V>mfJj{3Ns92i>utx6}^-l;4ER$<^-_5F6!{8lm zJFQQr6s5&jFUvx9UZY3Wi)_7f>fR}3$o6X_WI2!LWw`DM**;_gHoBw?*@0y`T<^G) zi9<#a^|soKHkl{cd!_7by}ypNBKeUles>$&aP#&4A?h8VbZ$+EwGn=Iu{Of*E)c)F zSUcf&7Z@m>!uQZ$fA$+#qZx**6WL^qJBpKEvJQ_-gCCEWNs@UY zFC+P6L}k6mK5Nv=`jCxQ)~8wa`D!UcHd~`c%8=bw$}|ZX8apnaKCZ=6PPT&z8wmAP zd@4R++$PIHc3xwbY-6(V$~3s2-Xdkl=4x_G~PpLoU%MK)a6eaP-BWbsV<3r2^OC0neK zb0^6rbe}2X!utsYdc3dyqZr# z?r#{cOBu3#8?T1M?@9J=Szp*+slF}JpX}kr7RfWRiOb)hOtxW6%8(sAjWQ{VRfo}3 znWTLdvU3aBic%rVHg2(3N_=04wL8V}z%Kq)_U$am*rmQx+*03p3hde^DIEH4lWccs zA4dAH53MI#w`s>Fn>V!u*|J5s@GR>26DdQsZQ})5AF^-HX$#oMO?$WTqHGJYdCRtF zlx=Zd%8>1QShNN9OrI-H{)6>9Bh>$1%FAm)J}JxlP4U~MUw`(Scps4BmBJp*w(PvU z|9RL@2PjS0vI$G^N$q}eyQTgsWg9m3ScLw=Jq&iX?`|;D-=HXs#xt_6WM5{RHurfo z$@b<_v)`4PkDJa=i1yLAKi!4*H^jVG6ETZ8`5H}4$((eTi*jIpDX*iO zG?C7LZ1=ZQIO)o_!&XOWmBQ}*X0~hWvk3iLYM1&K{ZQ!NQnp)Tf5lcjzj)j_-+IJa zY|X?dJ?P^6nne+7mW~VX*MBwTB>Tu2yzWKrG|sr3C;yj51*U&KD(uYq4GDqicPE^a z6#hL`VETDg#K)YrEDitqU#Y?#j5%Ztxiy@*$ddm{a;~WTTym%W2FV@m-Eyv2|2;WZ z)SjOb@iAAdA4a^EUrpgPBQYmiP3~5l9T*`0mt@~-{kiOWEjP%%*ZS^+=yNUKlYOuC zc~!)xxtD@?UB6O={T6c_Ke^-B{|=Dv(_}onH zrjN+>Yy6ySzoyU2_G|p2Y`>;2%l2!$N48(nr)B#QU#Y$N_RID|KlPA%?MGz$^?gpZ z-`da1_UrqiY`?W%mhIPfk8HoSpGH4~9h=&!!#?FaCi}lQH*oJBrGD=oHB4ch?kVR! zyeD~FhKq9x^u5Xz-FDlUszy&p|2Xl+qNw!kPkTCTO9y7`qqt^%#9nD1CtL7&%4hMY z(^hFaVzWCkBoi`as_f&oD)M(`M!qJ?)P}j$DP2c7l;|VM-SwCdpHl-^>C!hX1FzZo zZ20Eol`q?5k^PFEh@oyzRK4dGkPzpc-m zP9uD^U3Jj?dL7-Kv~u@OZS?NjqIB1BDe|Q7UbpJlO5YK^>IK`|(8eo@U$TYv7#}8% z!M&dDE&^_#yNiGu>Fy%n<}9VXIN_kXC9d@z)z^FP*01y4r}uj&#N85a_uj8>@E+5z z_dcMLZ10kUBk4V^)BOrB(?452`NmPXNikA9!s@*Vl*c)>np(>WR=X z{kjm!7n;x~sO(rPlYH_cDz<0Rr_H$ZyfSn@6^X#bh^8u4`rdaz1^b@ zDpMcIlu>qx?~j)5QpNnT8+8+DA>A9icj#NZhJKRrTQ}vnru+cva!|hp@#f|?iu?|X zcs(CeE8c;46sPyPDaS^{U(4~J=@Fi?cL0#UAiCNe(i-!C+<<{#e0QYt=KUSv_Idw z!kHGh%DGQqkJAvi(s^M1S9QFrH7e>!@m3<<3M)?9A>PVv8E@s)GTzG7GTzFB^T6cp z(NyK=z9DlA5@XMKaG%DW=Ycf#`~XN}&JTe!=KKSY#+;u3Y0UXCkj9)J0cp&60Z3!c zKLTm2`6-abntuY)So6PuG}inKNMp@QKpJaalw%EzF`0e)#8{BP*ibcAcCajce=2i- zT8tm@4W4vnbX0_QuXd-;(r>af;iR!5p7aQJJ8XJ94)jg#c|e=oc|x1iA58I>u%7Jx z*LX+uK5ts^I#GTY{TuxY{cQe&Cx=w}Z5~j?J#8DxkLhvnE&d6$Vx9MhzSetKFXX%k z`!n3b0{(S}9?;{VhlD)zT?Mu4wcz1;@UVyTps`_YoG&2G!y--sc~CkuF2s?hIW85B zB|M(Rc|7a8HuMO_im&KBG;Ds;@>FR)y}+doZSu z9!z3<=tG>od#H|gp^iEIYUbY6kQHGck#)QV<5C~SrPYvM3;uPZ9ph-nUans+PJ>Z`$9vkh0GJrZb-HJtt$vprb88{;EYDt?rXt z+!sW@pE!5JmsKFRITi%JC(ga=izd&5g6Hr2tjY7B5=VF(+zcR%IK@c^m2UX;-KhfM z9u0!m;5Yaz_+~N!0Hb^=B^k5|^*??$F!3LxRik@*Mj3U3wh-YX1Glu?2wN z=RV2h_2~a?=vQr@QY)5uZ_(Sm!+Ljl8uFuhH{?awJ+hx)1)bXlK9gU2Msj%#;`Aa; zg5%J5F*nW$#Cb3uhq&BJ`5{e{hby^!G+$sYw=tLFYeFaWUW^|Urw?T`sbjK{$KCV`n?YNrfG&D}kl|KOatZYM! zZ)O`_&Fw*Bg=i1v>Q&IgZK1I_?J+kTzguWXZwIH=eF_}Hn;q@MyWu)z8T{V)c@+rv zEp>vc@A#YwB%am@o?Z_fE_qs~v_Zb@{qkNz92tH(JyfS$1;3U1RUq6u>J%C?dOxND z;oes##*03TA#%K+dl1oAj-ed5FO%j5ot6fSA+J51v=$3q_OLGPiA!GgER($KX$O}P zhssWI+7ajN*5_@cf7@3|F1IISoc60^oc1>2^6u0m`gY~+p}AZpPvY{UK;rTgkhuI9 zkhuJHAaVI?K;rUW0g20x1BuILfW&1iHU*cT01}t6m=j#aVJE@mr+~!ezXlSQpDf_= z(2(G1Tbn!GPxGeb347VmTq={hOK^D|ae4PF-%moOdDWC-^e#hix#wC>n*3sGrW~w` zduH}bXp_ilX6Jnp^<$#`gL`{oU%x!Gr6pT%X{>8&ZFJzyBy~#%%e^I zQy#=cO0x~&*LcUFQ?vRq)_Kbi_aZL$tO%Vzo)3yL_Of0#%S2pWg);Y`%*5q5^OMG` z70`WMnCp^WzP4P}u?O5V>sUBmndwp4R)h{9-a(OH55_B#%Y|drT={*FHzb!KZ*qBM z`5v^PF4i-GtNHdwqdi6?mp?4qV{Z5?m#_H*IE1@+C6`+Smx;TQ%PmR=czFG1R3Lb` zvjv++(B;snSTjGJ-qSM6Wuzgw+#F(sq?3`0;4xO>g2#UeBp!dYkjFa&kFV;IJZ|ky*wfIp>#p*oD~EmQNH{`n^ABX%Z*3V>%m@B^z@?%mSV*rgKbHg!53JvSTSIOz|G0E9J z!C6{gOV0KQK5l?MmVE3JeC>xmmVE64k0#Ewe*pT~GtT2epBNWNKg)5UPjDFP2Ig>| z(DAgEmO8#q@#C8c3Blzx(BZE=eXTiPzDn{k!Msd#@qD=hYvZFkQUS!Ha(Ci8+Z~8^ zmGvKOq?@@GW!o@&tZN;`670#OM2f#OFT+5}*GZNPNB@ zNPPY?Ao2MakobHYNPPYbkof!nkof#rAo2MxfHcQ`5J-CYb3o$ri2^>~a*N>WGVnPL zF1D;w?Pa!4oNB>cu*($sI?B<{zCHA|7|3FSmdnEjJU7<=nWC$0Ce*d?n`7E#M^i zwdZ+!3wS&X9!s4=Jf0ipe#AMRk3;>_3}1)*){6PNT)Pv0FXrx*m>0KTUM%ut9c;#@ zapcW-du0gqf*zK9-6r@^I96T4*Z0bK#xl%}eBTf^43;9g^HTm3v@RmQM`Skc$3+dEteae;aBfefq?(LHE#8;E^ zw4Nru#wk1vzPiR)_pTATxBoZMy@(@q?;4?duYEJ!dnM1KTQH9v+9vMhuH3eLE?=|Y z5ApTmK;r8-kobBhkofvZAo2AGkobztC&5>2N(sK^fW+5N0g1170g11F0wliP3nacC z1rlHH0TN&DF5v6-?Sh9_GGAM-Q|(t4aP>;!>Ne(Ti?n?=V=uXE_tv4z)-8go&CB!p zH<2c;7ON&#SJV1;rT0eIR0b~L>dcPAqFv@6K9c8a4E&3MudBeH9`L7-uOf{3x&+*b zfji`9^3~)^Az$alxf^kg=Hn1w&2V#k=w|)+27FB{0e@o9cOp;L+h%;?>q?Y4fijbx zZDAeQ0^TnHUt`dF#MkBJ1Cp=Mf2&|?>Vd84%JOX(zqadFLRRRvcbk0O4Za#;d`P^P z^ee_Vq~FTpQL8x~vHX=-&$d8c3eI5+>xO(B@=ME8NPkdYdWrlV$m>%6CaGVkJ}sQy zlF*GP_kd1ZTTOgb=W>m>WOA()GGupZC2pnql%;SJpO=z*uuqA>9eWS>iZo*6H_(Uc zNhi*&_^=9u`$nmQiND0J^sv;wJs+AK6a2Qhdh!}mPcD`EwWC$edpnqW9pGL7acF!X z-P!`(+GqWSjdW|vG8w0(UB+oyBKg`9BfjnwcY;^$9GJ`3H26b&%>aq7qd?;8ULf)H zb|CR}3`l(44^LIYW&V+z;A>m?u&$!NsOUSZyo2b=DSZk0_jK8f`Vz>Cu$yIH zwt}lF*16=@`ffQ-z8d4gYK#jloCk4bZkz*%b5O*IasM>K*MK{{f;(~_i@3x3HO6z} zRx9|bg0B=O!E0nQKJj%a%G`=F6JNVf7jq6_4edd^eS)ujs;6Jw6YnBy_4_h{}@O-y$wh_y%k72-3cU~?gA1|KL{kA?gkQ1KLjM6jsS_LI*@q!VIc8zPXSMD z4#7bycp4y{E>74^Z#|I893cPR^HwX?xA^BFZAQ3X`l|^ zC2`lRH*vR>%S8HcMoHzrKm32#`x@}5j`Q5JXa9d#tyZhm4?@}%EBR;<@*)da5Fu7V zU?BsR$(mq-sq7HCs0xu?;u1<$y8`56LSQ2kvT<#!xYQ*Mafxr@IJqgvvYSxHbumqI z?KE+4{_3W2E=iNra&7Cr-^_PbE5L5ro8-2)<$1(=X6BnYGqdx~H}lP$nLtv`X|D#K zL|zKYzL<3==|mB>U2?drbPL`wAj=LNYH*nPI_e+D);C*z5b}HS<-P`-ZwBYDWt~p8 zzS;6SAU`DKq0{qa%)h@0;f*Q5Vd&gTIou7~RUwCo(*}o$pVxu220w#v)BW$n;UICg zu~#XBUmNDVW#n#>W9ANU+R)=yBYg4isLIt8zNHttiN;1rr<49{0Uwu{pA&p+F-s1& zFo#>1!!6+O+}$>;_sYJ9;t`L{29K|n@nY9V?#IfQ$3e_#Ese>F#-`aiw;v6jxO^*+ zxO^LsxcnXxpjOOFy+atnPB5pV07LHGut4*w9JIcV{Al7QdI}6)0;!B=(pnqz| zm{pE(iKAuI{=u0gWsRw7$}8e^Lifd?`wGXZB5a}LWexOXHS{a_HADAZ?cS1Va&Jzx za=OIJ+44!q4+!}tq`wIAG00!b;}hcLZ27H_-zMeJ=Na`-&F?QOmAtG5KRTfEXe?Y! z9BJ=WYT&mL^UNA@cl6>T6FCoUBKPKAa0%-=hi5ot@RG*Dg}l7xy)(Qd{x9CHf;&jV z7%Rg*WpJOy!iD47WyZLc`PJOSNS*5qan%T+s%vBRds|81kFn^5` zM^~y=+K=I#nYXr*f8%P^;Am8?+g4-Uwo2&MCbZS5U{k6I?Pl6GDC%VH;10o4x_d|5 zd$W+%DVnfu+nBn#Ox`tmHRMGY?z*8iRfM+hMO!96y048mvH)?Sh!f*D)DO&#vj=ff z`8br05xx*{8xeOA$E9&Mb2Q2vZ7RZk1TWS`jCU5sr}tltG@6ixoVUupi28}5(#?ps zh3BnR`Mzio`h}S27i1ZQ9;fomGjwP__jcE-odl63e z3Xz@3OI)n##eMVR=NI0r%6sRld+|}#`1u7lsq}HxbLlm`%2jYLx>W_jy-wPhqRhJ} z+UK?APYK>dYb5WY)slBn=3NxL^TEzUc_yv~5vSFBvxpPCO2!G+%Q(Rz$?u?-xVkkt zL3G(_nXN!x zkhppSkhr=INL*bDB(AP0;Hrh^q*2LL-;I-&;LdHy%(f)B*>j;qB|8&wcJl>qy_9jS zoU{;6TNb<0yuQ;!Jol`g6nApH1ABpqr&r_dttRGalzAFO8=JOm7WFZA^A^EV6>~Yk z8}M`y+I$RcegU{U73@eYfV>Ffxl|GC9$vIz!5QdZ;>mo(sYRSdj?;KqoI%9dk&k1v zOU%(7b%+~5+=U!>A>uMmYni9fS$zZEN%3jEO7UesQ4Jnd37*z-IqQ**xpWQYs|mr= z#RX+F`i86comX9!-*w3EhJ1dF@@XuuT_)cR`Biy&qf8Af-*B0H59E9E@`dH0XJfuf z9E+|6PqFsmCC)I%h=)bw2FHlYH1{mzF>%b`u`yqz^_#-^YTfFY@i1|H{>s^0UvNVK z*RifzD>%1AsRie*Hs38cS6e1IR~wX^t7XpBf^)PMOL?aGsuyvZ=$=x{alOoKFLT?= z^Hnd+SGQg=Uxktv{Dg8B{Dfi`{KTMK@bg+A@v{|3{KN!X@Dl@b!Ou1z@e{^#!A}^? z1wTO$!O!JD;%5ht__+*7{A@4eC(l=FVOm9obb=U;! z+68%@*3&rIgYPD%m5tg2UdLnKO5*EP;A=hewU*m)E!s}m=5=z;x>2sfn$iCod~E=K zH1KCW-(xr5XlrW?y=p^S+bG-GO3Bx`h*OC;kurIoUgWYkn-B*&j&#>z$v5%7e41NQ z^N>ar(x@xzLqD-TRYz%{Z(#0LGIwi58aG}k4V0m@Ps~~8qujO3-)b&*HPV~L8DLL{ zI+FXxXp{H*blm zR8n8S?wVz)GPl4@ysl!m*K>d@u;63^;Em_5!d=_MNrmUEN}1%b5|p}ADZ-p}oq~1P z1L7_~ibr=N;Zi6O&s-(>Z=NgTnJZ;HGx$GYu?<$(s%Gok5ME3AHVmY(F*+5&=lMX= zw-^`*K4ZWj_*@4heH#IizSV%lXUab5TdD#Y8!rHozP%bqd~N~~pBDm&&y59qu42Ac zO8b*F^wl2a~8f}^Q0=)!I;#@VM zca3|St2kbj(LVEW`VeQmh~qEhF~Upn&H&yykMG5thq%mLKXbRT2)fhIgVmh{97cT7 zyT%>SK`vtuX%v;l5vL3NQB|rEd96hG@^?rxx62?W!g$;|x3oP~3Et7zw+dqrqg>@& zu5!rF9v8+DJ~F0Q=B z(AkwjXICvUxL+x3PsCfPvn#RwIy#C>f~OTqIrvs*zE$w8yj1e7JRtd2ULyHc?x%6_ zsK_(L@gq*eyjsNZvyS$&j`p*T_KR_Gm0W+Vs-DeLA9zDNEd~-#Q5k}#s06`NWK{4J zotNM#3NLtyN)bFo<^@kHfW%XDP=crEm;_HTi4Z)+7gvP}duav>Jyq2IXHkgUc*phjCY*C1(#rSqjeqZDuo?6|m zlm&Ox(!M8uSvmArWy+7XGp#hs_1ESW!PQ_{Bqi>1tx(JDZruCr_M}Q!z6A0jtWNUO zTH2bjply;L&LtE)bs~-faROyNyu+UgToz|3;+#j<_UJ+Ky}>4u(lLC=7Jz&(<-1J23i8#m z4ohe1u$b$k81h`d!WLjH4WK@Pv+84ZIDR+W!)^oD0&~gcG&*V{{&^}DJN!b+RUq8n zO6(0DKVSV0`rZw0U!_9#;Z|L%0^#;oDi*luK3pH}f3}dH!=+f^=Pso?a^ZH-{m|5q!nKL-2JDkof8;;4AK!CN7#(XW9gwmNQRH zCh!#ZNm7{2=1d1;fx%250C&#?S7~04x|o+<;-%64h?gq2R~2n!8h56~@v-Mz*xYCz zlL?$q(B@revvbg9J!rFL%=4y#wv-w2q(doOX^`#Kgf^>`*2_3n$;~1+#>ZIGwQ$?D zAl~daF~n&Waa6QjLw8V`#qL_%Z5>Kk%N%&8D`iDo<|cj*!A(~Y^p2PM1mpvKn20ah zGU5|Ajk4O9Yjn4@y!$x>&O1`#UTAP^j=K`&D^J>V|3rN zXO3EK+^g;2a?#z`;x1~Ix0m`-w$gG@E(PT>?%#HD`cBA;dSH1|sUP(akoAD{sUBvB ztKvRtns55RrvdK>&o?Ds<}Nnon=Zk*3h2K=zLnI?@Quc`@($`Bji%AmOmMqOR3)v- zd#urqD`}5MaGiLW_M&0peZ+C%lLLGzGlvDA99GFeheh(q!ShWA=9>z>2Lx3R2VWE; zPSETWaa6mEquOK~)g(EHUgaQe0fm10&+%_!PUw`1yL;0L-+gV8cV8<`?*ys%w8=Kn zO+~Ts9oUwcJFqRd_gH-b-ve9Jv3lH#Y&N;hSX2k@JvL>1iYr}ga^ov2PrAf3XC$r0 zQ)yh{8o|BU>9i>wdBQqky-FQZaYwS_0cRGsoTtrB^GL+z9owhuJMG=)Jrq$bDTiuH zU8OppM|O!bIsQ5PDfoSm`3KdXXMINPqA!Y#w-=e;Qki>RKI7T+oEr&WhMSofFD z>9j3f_k?Z4rrE}94|uaSha>HEI!Eg4aPPAns>3@qq}#^t>n?bo9scyL9)6b%dD}?o zsyIV$$dc;kXBX0NBTR+78Tm`n-FT4M74OgI-2)kH1w;89DJNvoEE9P`#hv2nV_BA^ zd&TS6FRhG-d&MKuD(-7WH;%e9=gfyy`p#6hXX~!$Z_C>3sOP)P8S?{C5u$#~AvUECkexLxvIafjO}?iKg!RkJhqir51#MNI2|9xpYx2z<=XFdI`_LWkb&Fn za_qMsa~>A&Gw;oqZH_V3F_N)6k%y-oqjtw#8I<{qeV={5sDoov2ab##`N93Xct2_Y z`6O9nIpeU|#wgGDeNh(F3-VW(XPfHIxalr**N2hk@|4@-9`m@}M?G#&M)kOnch8vW z8A0ygc6|hY$g|tMAGZhZmwx0{_p46agYLvV;&%I(%|4p3nejdc?lo8LIZd3jF0hW7 z7E~Usv{q(bF^!%s(Tfii>Hb3(^6g08KdvZyPg5ILh8(GL)Q-S|3C2^5BRI2pTj%i1FqRFB-r=2690{ZgP<6G0k|6@dD#TMrDPJ=UXA`D#Y#>W1O*%v7hB`TOog&0meHR zcQcMK9$*|}yqEDoPUj-y1y27Q;{@X=#=dUk6ZP*$os0UuQP#IY{-|#sA=N1%>M}-% z`ic{xp8nA^a@wqRrTV*(Z^&)$mgSvBzp11#bVc7eL}BPxKUf$RNAJ)6cNh9k;Cw>% z{{;Ih%Kp>12I#a+4Wz89KZOO8)Oa`a2=aZBF})W0Mj2MlC~Ey(iZ3*-l-HXo{NlcD zWsX%n)r0)f@5q>COfwEK_A~Y|#u;ObAx0mg!g%pInf?XFbBq&=rx?c>vy5rRA;x~j zKE^m>j4{OMV^kO~uHyGIo@1O~JjFQ9m}N{e4l(vK_A$m8V~in2AEUx}aV5W>@f_m> z<0-~*#w=r+afq>>v5zs%7-I}E`WO|)i_{+R`(9u?$2h^b-={?OaT{@(0?B>l^`XN7 zb%V>SuF0sDjX~uvpHoep>ZEF`ciC<0%HcM{y|*0q%rB}<9#++jA5ql}(BW&&;%pn> zx+ygpEw*qaK*(^kv6 zIUH`D+mt*Quxz*sVQ$1DnO7l$=XFz-V6@C;bKIp_A}+iGdfB3^#yi2G@_2%{qlVBw z2G9@s$RGJvhtN;b+yMP&3CcCc978zDK;c2kYx;}{eu~rlBj&b-j<_$^l z?8UP$)h}fIcn+k-#d9$AxQaQpS_!|ZR9dBY)p!nJenZc-c#fpfLbe{yTI!^Dj^ep7 zm4^Mqj`4u1qJ38%J8jr9)2lZVR~%W1o^gr3QxXH|wc`9oaSubrp@jB2)X<2-0<=Y@ zalQ;@1F$#Wce+%$|8!6}dAdyb%;|BQm$pyFvyz>I&dM@5OD*X%CSsOY{o^)UeU0*G zrz_xZS#GlUWE~B|ZgCXFI$z|&8V<0;cdNzJU>>v3nN06=SZqM`CdD$+?26Fb116>O zrs7gd#^H)&Jl+VUUuUEhRgTtS>~D&i#^@{@kUJB>1X;;6;ko*Glf$W~W}wThxZFT* zk>YRyJ#!RaG0<16_)CEP5~Xr3Fj%IPR{#U0c{?!KiR`uRv;zB))n!jNIQ+?s-w~nx z5BB-e-{Q5WGaFs08s(2p`)v-bIOf$xu!a*vS?urfVJfSfFE5^Bsk7)GqVHKFsLzao z^DOaP=TKoUho2XI-iSC`DdJO=1&zLBfczt>Qdeoo_;J1u+2^gWFIX~_hsdssbo~v& zZg7jRE5jWm`wvj8e*&xNyeeZo!&s*n#+mnJu_ELK7wj}{w(+>}?BTsZ9z4%s8}%GK(;lYzSgRH5 zN@WSe#r_8P7utAzWgFqYN!V|T%R+drO_6O@tfj10%gNppfUPJ1q&-?>Z!U+8TkLVX zNiCc<-p3D)p8%ODy)`^_$yV1uvY;oegH`EJwUOxbEE1I>s>&KUk;@BK41xK zc7E9I+^`9|V1p_xh0ZC}Qqq21o-+0z8tXU}u-BEB#!|(l7}J-AQXbfkJg^hb0R|S3 z9T)bbG8MMk@$>$xVEYC7=Br9EupH|&#u^T-+tNN^@4(0?Or6iA%UwtVSV=ZvX$vO1 zZ#wA0UgD8a*i@cNhg?VpSPQ!_VU>&bY9I#IS{vLpv}K^nwol+3n=a5}JE#OkMk!rt zW2A2#<_2MpauvxqF0YK^Dwc6vKHEW~kC~8tiR+w1?*)neixPtq{+47zOY2~CG<+!R zS(nVTdLo&1tr2Qdf~(-D;3~K&+86N^{1kizZ>jwV&Vs9gv*0MTCBfTrtWyzh!Cxak z#M`;dTiCMGnHG=W?A&_ESsOSzVex1aj)+F*Hr08^9tZ^ACVZac0#9Vnk8^ft-OY+M ztpJ{Bt(=}4Q8#|`TJ&F%gA3udVILUTkbgTI^e_jz!I4#0;GpE@l{i=reo79?eG`{+ zP;!&jP%h&j_HWGMAUHXTgV<*=i-X|gEDp|L4gv)Sfr5iT!NIl6L7?CuP;d}fQtG*c zgY}ni5c6d0&!6F7(_3>8oHICRBM#1yTqF(>7t4urK-ym@I0(+t8js{)C3CQnIarDH z6YvacKR(DvKH{1DLRd>BtfDnoU^NyZ!M#SC3z=^VeKLHZ zdxmdHuh8i(pG0p+qCX}vIPLc&Y0S{zX&KD4v_!(|z`5TN-ztf3SaTU^#o5u|p}&B0 zSVPh%U(?_nA)T{C+@mvehJpRFq-w*!v zB{O~Nf1~=Yf%TnJ@XsF^StRos?xbPG!~uqC6eU7 zAYmEw+SWQKjp_BfKoU5ZFfYRnOf#X zpY7H#21Q?uu_)>88jMG)F&@qDNpiPhuV4%I`z^(Ozc#T~q84kcats=W{_DDe{*!v~ zO8PH?HBG7iq>j8?|H-}Zm+C*U{{VZCNdNi4KN?eF3@P+q5Mxl%XXW6d*dK*4DCx6G zj8P5!C*oUK{{h9A6e#o`Q0POfb&4@4Q0POT(0@Qot+0o|fiWm-&{zvC!8p{9@u)Ed zEyegWfN`p!|H?2v4Pu;n=@^vs9_=lleF;viW72x51@m0mhd}y|_9v7!NPS59kH)OD zHtKa9V*V{<-YrEM;FfPG(g5NM4HSZoGX|Q z=Es-?bHe->vtVABA7fr&ZkUE{YY6ci(1E!j_D5tqmdJEpuiSszOZ$U*E?AghyQ zaAyA4gaQtF9on>ls|UfgX>V=*yq^fTDCUSEnsa0RXUq?4Rb_s{k_>o`GAD0V{CK8) zU{-vrL*FkDCl^>8FfoX6sE>GRG2dwLGQe}ga@re!acULK4UIhn#vGC6hQ>V6m?Ki1 z8~iioh{n9pm?P3SKE%9q@SZ+e^LO$d8(PnI@gCtz=ZsYE5zHs4uHS0@=;eLBm+=)m z^MRMdFF*D!8N4K(23b#5@m#T*=Zcuy37%Ghr-EPLpTSRqmtwAH@NzZt6exHJ6g&mO zG$H1APH@rzZkAxqH+!!5_TyAz94h95;2-hQfxQM|9|L$vd?X&ycr=J{=&ZRU%^h7w z#hfi2*u-4h#Jt?Zyxaut9vzkYjqpr-tlEThfaRN*mzxAHqs+@F^D^p|yoDgrBprsam z&a$PzwlYhHL8tlDx8_)$SCBDum$ao^S%+b)D94Vh!!U*vItsQH!Lh5DV^=Z9t}2q@ zS9xc2SeiMOWsZ$A$4=!r)+hFXHuQN0$<9#@9Txr#>#%axVK&lXeV$0TYyDtmeL`?7 z$~w#jjwyj7VqdS7J^=TRF~?S8zPCZ-dBFz9AaQCzfgU6Kr3L$ce|vh&!5owGx63(p zWxJ*vCwh3Ccx4->m)9TuUE@Tyr{pAYsWeVB=5K`@qxsu_FU#Y^E*>X# z@i?&yb3dB1bz#r!A>PM6Gk=rg#M$$=g%-)Nh0HP7B?ZS8GRN}sH|AJ={$?xSm>dtf zvJ$=H68)zn2J8A9$&AAjIkVoE%=r8>bGYBYI)SrbouI)%b2vvN4c!%W^4yN>CW=E# zi@BP#TTUzW;yjyaua-a8hURKw?pDupH`p`9+8$OIl)%iqP4ORPTjtHm{0))heDKdt zbGJx-?k3jtEWgz?g@6CLo)h{`+Eo6tt?R)iHEUh(?dNJ0IBVoB*Yyh46o`X<%;9KG z_jYRv1HPkdQ<<5E$#uO=Y(LoqP99~O<|ejj&dlKqJxFt~`KHHp*`6$*AU^^u) z8skW^VbVAfj1qG*8b{I?LC(`6$pw+dL8stToiR`I)0mR>*1x@d5@R0NB@Nrh|J@q7 zVV}IR9`o?p`K9B-!ZGAq+B9-J(sRxJIGbcC5#z`e#4kij3J%OB`0&q$y{<4 za7kIi>vIylA&LH&#Gsg`L7y~OXnmk1QinDg^@c5(-rw+=IFBPM*%m_kSmyo;HV`pK zLw^6;4)R~r&iEh94ic9ZebmO zxYba|Ezc3wTQ|aXUpO~2*4!L}WV4SJ%*|-7W|`4l|G{mHa&7Ic^xJQAZuYO)@G(ad zx(sNntr=@=(uR+3rSdlXU(ejEaBc1F=4L+EThGm;?&=cjZwQsq$CeN~|!5Vip*0`^{wr1E&hp-)cR(kX!%O{m`O~ zgImNA-<%n45m#`3z2H_QuK`r?I(FfnXG3=x95c9OaLwSB;93Et^;`8v85-SD0JiisTM+3mg*jHI4T?gKHvO^GI%ii!-(lIc~I_ zljyo2(R)#%e;WHL#JbvlM1Em!vg8-e-m&aseicIpR?Bs@|K`|#O^)GyTFEg#bIi{i zqx)yc=I@71WP~~9VtsY_w*|j0j-{DnS?1U{bL>=}V-~rt20cdlB=}p#cs7A!J#t;GM;SEq7uj+Yv-Pd?mm>9- z3;N3e{e^xPdQ9psIZn*)k%ay-&QUSWM={2Y#-2&iUzKGs)?Y2y580Z!Tz|E}e`)H{ zF(c_OIwP6%yo>j2UAi~R!|ULe+A75vGK;1D@ROmqel=`Ye_^sNrf<>=mxnX_TiqCKSXtrqsu;VdUg11P>DA#Twb zG&ny7=Qq*$Fln3~mPTyiQXT87I@VWpW~q{8BT zg}(AR}QO6I1@grz*h4>rlv%mQ&L=`igQZBdzFH7N;3I# zO31&M&a0_0jg^?xj2HRxnu;^UreeL=qoi;FcnYm2qtKZjCXoLH;vp z5m1rmk9cqn(3~gcWafChV?pnsjCqdhjK}N6IY8#DMX{uw6ZDMMo7i(u;35SK}LbMQKV-LbeQN0UznaxeYiQV$!N4&mgVwld*c! zB6VQoq$PBM!^XvT@JEwgn+@&sF7XX5eM4$fP3gl&y&JACYF$(22_(tSWizGA0+D1{ zq))j0E)(X0n=fcyQ`%eP&De2XOSuvkVT#`@!a`N%ba`A!mMiO}e@OZ_M9k^3Cridk zCh(i~A^geUSa2ek39e5k%and8tI70Zjd*Xr0{@)!k4gVEEv9sN8nzDPA>Jm_Rod}B zh2D3sl#NUOwcX})rd8Rv4&U=DbQVGDvHI&DIJRzYY&{zl7XAK-~jcxo$EVe;e z6kBsP7OTf)3F~fT`5XRNiQaYJ@yI=-Go7ognUfEN#vh8+pQL)kSp%j;Cz5xaP&Z_7 zenA4~7|!F3oz4XW%ZEx8AU>4wb(PT53=JVV}r~bPhQ4`4Nw(s*T8D41!?2^Xr!m& z!+=4OMSHYazqwuHH;(+`%*btN+{ z$lmW8@N?RJk~O&oN`&lM8`&tV&b5|l$jZD(`4G#8SU$}1bAORmxZurGw5V%smnh>!)1!ctD0_@m$5v zIXpM=v;JsTIQyt86f(jdZ4cA$q3>~pBJ7tWyanmU-+TdAdF;+2tlW^tbBv$$)VgqP zq(jF4`FJ?{^MO$A=Q~3BFCPqNe>oJ&{qoL`{_3%C_SIx4_v&D1h~hbAx)?FvslRqS zoPBL)DEHd#&`t_-%P`F22dGT?k3He+kN1UgKOPO~Ke;cQ{fQpR{p8-Te(^vkd(joj zUDQJQ&%EL6&!VB+&njg;zTOtfetl^u_x1LW{*8`M_8WJEa^Kh$(x3N-vd{a%yXZYQ z&x6Y5QIs9I=L2E=o1swlo8_V0H-j>bZ#9Rq-?D^r-?D}E7aig3i>`3)#g>qMp)!=c z;0xt0_`~{lYeU)Z21B{;mWM}<^&}&I+!Kx9_lcmt(&-%$yaT@>=(KL+a|r)}5q`V% zpb?HdAbgW3>wTl)?0tbyoWfkgO76ZrVf~mM&K?Vd));=r4utjbJHpxVK&ajD8{Zk$ zAG|Z1eXuED0a5nq1 za4y>z*2kK|*|A@Sb7PysA*UKOnT#~|TQ(bM;+;ryeXR&r2IvfM1#P^a!f_4~;fpG5euZOdg2Ks)g zU(6eB)4%k5IQymD;oO&=4R56|YD)-1TiGV+{wYT&`&3If_tdJe{*|Z0*{=+Sb6+_h z*3Vi(*|Xi@+*w;lfBIZF`*cq@_w+Yp`Jd?vXP@Z}=bl*~)}Qr+vd^}LbI*E1`nlJ_ z*>knw+_?>5{rskI_WW((-1(uf{$(|k{c?Xe_vJuHKb;6?Pq&40r+0+)iKXG}L@1n_ zKzS!OhO?7f!nw(<;j&ga7MWXXO4HnNC!P0Ji+p3e5MsZr>{k|VO3e>jh-8EuJ_0%wl9yr@Hc6k zn%lv+jIo{Z9gIsEmoT<5Ud!0ZxR|kp@fyZv#zl-V#;X~d7#A`&GA>|@GBz-3j8`$% zGuAOi80RzAGKLvLj5UnajPn?)80RupGFC8_GnO$18A}-hj3tbI#$rYvV-cg5aSo%0 z(aq>$bTT>^?Tj`?E2D+c%&0P&7!}4F7}qhbWn9B}J!3E9YQ`SM>ljxtu4L?HT*27I z*vS}Y{2j(EjJGguW_&l}CdQi?H!{A9aRcK`j0whfGOlO5k+F~Q{fs*p-^Vz}_%4GJb$@C*$uk z-obb~;}GK+#?y>{&iG}<|H=3z#xF8H&iDn!#~44)_&LV^!T2cSXBkg1{u$#VjGtjV z$@po;hZ#S`c!Kdy86RT&6UO6=f6VwG<0l!%86RLg#&|#DeT;v^crW887;}stXFSUI zF~%c|_b`qzev~oGc$o1J<3|_|GJcrx0OQ?^I^$i8qm26*_c88e9AV5brWya5@ma>d zVtj`2Ym84b{w3pC#;-Ddh4C*KpJIHHagy-~#tFvnFuut6ZN_gg{vG2t8DC(0p7DP% zeuMFE8Nbf>H;m^QpJP17_`ex{!uSf~j~V}w@kfmR!1yxb-!uM@@du3GXZ#-HcNt$| zyudik_$K2UjIT5P3*&2yQ;e@N{xjn*8Gpg}bH;yS{2Aj<880$sN18(VNLMJAZVhGA zjUhc959Lzbp=>G^%0AK)(jQqD%AM>DWlydO=_l8O_Rv^V!#D(Ea+n70pm}5NN1H?0 zAFU7RKiU$?y}TimeYr2Bzq~1w`{CA5_JEFLCL~-wd=|RL* z*M_s|r^CAXg>X*!R5+{rX;@c2AI`n`XgK@ksj&X$m%_Q%9|>n)KN;3ve?0t(IW>I9 z{M4}irFl0UHh*bYf4t_VtoiX_{ju;(A2mNVtbcC)O;c6V+OSQrO;x|4;W7r>RLIOCZ;Z4)Sk!j_WC3Ll$iS2 z&$MsgdFrCKVc2G|P5sQ%kOJy=-kF%Xb4Y6=xg9$aQ#%H<#UwZM8uA3Wfme|y$gTOk z#MHom_O~Q=;{A}@q5TcX4X7v^8cb>}LheoN5XmK9*AA21 zz1tI0$)wgza-%X%7s(}miL%jqe~z+2ZdX#sEg`w~_QX{CQf(eRceE$;wl=uiwcn#U zXlv632$Qu9)f9hesG*ADx3natT3WRI6vwtCL2@JX?082)Z*ERZEnTX;pW-z)YdZ*A zsvG7}{I;rw3ZP*pQqrQ$+<6iArHoEZ+LN7qG;do$V`*jL%@V*RtB{pl5O{C4sv%?YQInJtx>HJ?t9E1Kh%mT4d3^%eM07i>M8vL z)jk!i)aFoFc{#Q*S!_eHuK&vTjs6M;AEzPfnNn?28(f-3>1wr_$P>&~m58%b#(CC= z^DHjip*X%bR9jAlbyL`xyT81B>m|SQi};RTeY+auy6ThvSe_Ju{#BV!J;o-fu zuKn(0*T+keT^}n>>g%+`De|B9q)m@kB=j}-9ebk*y$io_`;vqv-#d@qt1n%eXq4`1 z;RYw@oxX+@Hhtalgx=kqh{*6d5#HOIh)H+7aIaZ|bh{FI#|;TR9#2qye06(K51RHa zs$bMygzBZTN83Q|XjGd|ZgA*kxI;3nIg}Q0X%2;fLmLrBW$^uA5@}Rw0s0-HNDH`2 z#`$ZCLtOc5ML9M^<(-?4*NUuGl`6#`%TJc*@`y?*zkun=ZeDH7sY;zRf_r|1E zZv`Lp1quBC>T2}b#C=kBCCR?{;nUj_@;A~%TyXI_P#XR8?q7^p^*!KDB$CkU>l1oa zRYI?>P7oiRn&hLf2SC^Kk$iZCRlgG)+Xa5zaa}^+xjLage`7*__MM41h0ilv^=I(g zeSL01fBL3`e*Rqv-LWyDuX=YvKj%!)JADm%t@<}^N$3{v(FR_6z)vrD+V{H&ef{|HZ z4^-=v&8DgJTX-#+4Vac`EH~p!fZv%c3XH zUUzgRbQSF}(4EjXUN7q3(JJd-*j`$3t~1Gp_geI=YZLlXv|D8WecbyJdh-1V{mt7G zF$$meq(y)I_tB?+0DavbB=pz^6MEwxCZ?i_b_42Tjm(#c@-fw-Y9^GE@?mROVVP>R zXzQrXq>Nd}wAnN>)kP$vy_@Q{zE+zccU6_PiQLuI+E>WEG@{)IH|5b*x7RY&Uax(e z{8vS_KKQrGG+iRio)*nTVSTOIEtJOkHto;J4bE*QcjZ#;^KesnY(JQ^OeNa2_mID; zY6|@xHbwrHwO-k0ReLlq{B`+``J#@&kNJx7@I|Dd%$c-LZK%>7qj%KXG(V+*wW3nO zwn}X-;ZpSdz=JZ4_lPvW(f26IQA$ItKpGoE+HI7NO|{y+losr}?#EYeu45cZv_2(Nc&xiyR}yPBZ|8%qHQC0vR?ZWazp2c{Um+8eQJlQy-u=2F>Mve z-qEhTM(&**+G=v&8Q1=W+>Tb+9@<*+`Jl3>i&2(c7OjV5(PqRrrd<(S&dT3+iShg5 z>eoYQDnBk{nc8jBrYPO`Qo;8rTbpQSTVOW;3^xr*Jq5srs`P&KGXtmUTN_a%*3Z-t+mZkI>x@`JSObPv>Iidg1p3q-* zCiEYbCiEXKO6V7s2_03naKxs+xI8h1{qyhS^8JkRjQ(vsxzQ$nLhe97yNTTR&3+2^ zDN27abP~pi2@!9ptUE`WX2$QZQI_!$ql}Lz%DqDrXU?RxM}{dBHr1hM*nER@JFs1o z+CaN#^9dHD*hjF5;#XHpS}%Nfa(h75QAC8Jj$VQRy`R#bH)8Gjs9DsJ32WmN zE^NfGv-eSWxXT(RtW&KdU)?Zb?JmfVj%DQ|aWMuJ{grOBCE8@TI4@gwI1&eCxafQI zKp@d4!^`PidMuXMC&R@!mB!L7GCV)dpnOy>?6T_Poub~aNBw1GoG_(9bswfWLEZOK z-JRk$O<910YZ5D6CY@ z3+`NIwv+6x;=OkA-&G;~cXgV@d!W}hq~SkcHDl%f%@?4vJIFogG}}&G^4=Hm-Ym(^ zSz)91y7|3gtpV>Hr?Aq!f=dI-o)nxNEM8$F|G^6BKiK)Cjn;=S586Eh{~gvRt>ng- z`%ZEXIiIvXe#v{kgZK86?3}$;dask;E7mda-aZN|T_Jd|W0_g-V5oSnmHdY)r2kMS zv^3s>ar%G)|A(w*3%N1I6yur`PP66gCGY(n-s>aTIV&vmUI+HM&~G5tO0c&fL}8_S z#c%)6vM0rFf1-GW`0Ymi$u+(%%M`v{Ou_LN2LBfxVG&te||p2a=_Do=QYE&HfN z?k6A_+E4ITsG~g=xu1a2z_ZvtK;d|fb;6EBX<+{V*_tS?n;VeVRJX7}ku8dBQe>MV z8x`#_pnPs#@}zC}Ye@So_8L&z!`MmafGrE3v=;6?DBNp6a?ruI4I$0`MNe9XpFx^$ zvDd)SDeMWV(T-li0(n2;ZJCGp#9Qn`px?v9?MtlPp?&pH9Lz67{@-SgLY(9lo2|50 z;j+C6Pa~haH-YldAKq(yyFCi@&i;lK*229C!)K9(*lVE5y#`pxJp;pkf&9G1z5%L>=n?!QIIPq*)KZ-pfd-}p=b8c8QFCG4m3R|X`dR{fxKg$kQ_w5-`d{&`!`6N z*jbF5E`keV@0+yi_uZbD8XA%|{^Xrn8^!lXd%3Xp5A4)h;P<_cZ%?wVS=uX=(=W7O zAf$VxEUgLXmA{v`fOHRi0CUstf9Swq?UMEM#CJB^eXsDUC7A zbM+2aV#?(bHg|njM`Eg@LnGU~kjJx?(rlA5WRKU|VWWqgkZkrsrmbDdgrp4FpY>ok zagOr140GU+v_%Wq@}*MNFJ;L#tp`dHWT)1R^!#l?hVn>hj4kQ1>khZbBiZ%!7Qc`u z`@cxje}_!7S*A%gf88e2q;&x)GbCkdr3~4?_41O$1m*E|%(3x)vUy8czm%<%vSb6- z{bh-%ptOSv8J{noM@nO?ShbTK6hyyM-zMXctz6$4M7*G|my3A8N}2X;Qikl~dcTw* z8@ZGzmoi(V4B5=}%~FQ!=2E6s%50J{WJgaUAD*z;rf-n4WDA$FAt6io`xrKtlOM_Y z-ly8w-krClz6e`tmeTn^mzWdyFpnQ6_p%Xzz9n*=@40}JTt8S(F>7=4G>+57*$j+;G%W{#ecUIZkr3~4A^)8vu6L}dfdzY*q zvH|NIQiklnG94~=T*|~Dqlj{wEqbebC)s`b}8in${Bkt}|93)^t><^CSZ?Gxqh z5_2Q`?qY6)-(4VncQJRu?=H|+Jc*Bt-hAONF-OyNSthc{>IaGwUoa01Pk|qg8~N}t zpGKt|*=6-T#R-ymIxi#nq(@}A$Udvr%kq$oR+gtpw)rY4LpEEzTFQ{!R?0LA8R|PO zqCAd;lXkX)3L6Nu)p?52rQa#@LUvw#m#ky5@yax~o!%j3$mXl>lro>m%kXdIk$EB8 zukQ6E$i7bYUy+W-EA#t|Oo!~j`q$?O8L|mW8PBZzdSKsWTdP;J$vEbiUiAM@%QW6Y zX`Htvrf|0c*?>hFmTLJPhei04T~}Wv<;k`yWL#Ck{->Xlamm)Jf5R^Hh=Xjnu=|kR zSIFX-))(}pQkHD7dd`_3o6v)Xj04{%6zCC;6?)`Z?A=rxLXPagxz0W@uAy@1imWHH z56k?xgl$NFW+o2VjE~HU6G)K#iEPLsPQW4KoToT4jBLAX0~0nqT?q=k<8VUnpzk4@ zuZSD06*fNo+)P}u1Gmk3pKMEH>y>drB95VlJg`ser)T1mZJO+ zVQVAX^~-TlCt}S)S7jNAwQJb89Ww87{UhKL>mMQ= z@J*ycduchHex&pKtaQ}GS?PAr??bj_hmj8z_r>vVOYg!R^mev2KO@>CIP?r`QTjHM zC>Pnl^`tpLX}q3KL#}V=Z%P@mee186ir_h9w)@|6a$>vRULAGp>FFcEK{!q%0ZCig?mWS-yv+4pi za>L%O|5(-q*}P?4L}guEkTPWZ9ujqdHPaW%5`S<0<}kItSMu_jkWa|`eog##={H~a z8omdlcmdeM*_NHR_rC-iYCok3TQ*?;*W34z+bQ*5fNj`VV-flf=SNuCzPsK?f4!na z_2*?-$-c}sZEo{wg6+)#qum9J{2KLyIkVAj$p+0fZy`^6B~Hk8TPosXjhpsRi2BjE zJ>84%H^jJC6EiZyr{U)aoP%$(QJc&0UOJvS4d?AZ#Hf1zr5T*eF1d-cY~ zL{7TPL_V;-l-JRXnnxzjXf?G$p4iQf$5)) z2s?A?mM($mTf6KN6#i{hVEQFh#K)L6n1+A-FH~U<#u&1i+#2>=WXb;(IabtuD!EgC zi{y@Ws~juVe_M_fwU;JEe2f+AhY+v%7nAtRNQ}u=k-G(Z2l~nX71{P$ek$8u^DVON zwcOez+FbLuW!r0cNfq&F?4=-H$1hZ2zr|R`OYS(5VeybeQ zbbMQmY2q(oOoRMjOw)Q1@dozG`onm^M()A8W&I6&M%LfpXJ!2jd|uYy;1^~64css5 zZ}5|{{?J$YslHtMW&NQ)swB7PZdre>&&c}od{)+<>+`byJYSUc=el3kpXZaZ{%UbI zEY(+ZzpOv-xryA3cgy;Ven!?`<7Z|4ML#d=uknkr{-XEG`fL28tUux_)mQI+S$}A! zE^@EATh?FiXJq}Y`K+wJ-p|YWTk}O(f4%q1`djl!v_sgjsjikbyKjfB z71lAb1z(`|EF7_0DlA7WR$GQ-N)4Gx>zJjI{Oy_HugE;LVr+Ffl|nw0$m7a=^%xMJ zSACf2(!H;~H!Qst+zWfns}{;*Tk)hl4tK|5e07Qah}bf8W(0XdXMpF*Z<;P5mI?S% zpbGq%TnA`hG-6lGaQ_qh-N1hax`4j~I)T3cI)Fb1`hfJYXfY7V;~bR-^JT>k_iOMk z0saecE^r!H349Y+0ek~k4tyP!Bjk_bws#^f@>y!bx8a%kL(|Hio<`e&ReQirGSNdW<-}>X@~P8TDW5)_N$-r%SrkkAU1^eQzfrZ*w;`Qf&UD3* z-O0@EI}yJ5!aI7M=`_MuSydaIJGivdl~(TCsg2xsXN1nA4&a>>-s4nlTj;LcYhSj! z19iN-_!Ud(9{oeaF}T;!nM=U+bmkIp1D&}9+?1uX7k1g`?1~%Q$5QLu_oZ%hKbY!s zkBhS_-syfQwcdR^b(8zy6v_51>ar!=C&YbS{bjqv`4nAc6F7%rGS!8z8&{O=!}Dlr z1)jUhp2G82Qr&o7S*GLpKx!qP*Wv7kbx)|}UBJHmYIz@U{a>i%!vBM+gZ#UI3C|K@{YMO$tUhsu{@JLW5lKB6{QbB{)E`4`fm4V zYLk0kiq6L9MP4XwPv?k@^3;nwWt3gwj^4m7Rg5n?Q8tkl(!IrfAhp@8r%uuP)=t{4 zFFS~`97HqBM&*_ohg;#VKX!otM`E%29eS)rE5|5`T(w%m>n=E9pFoeX1CH zG%v(DI>P$?SXH{&pWN#oP!+623c2NQuNzjCE^_0vgLb%AeNYu^ajkVD_5ojdbTx&c z?kH^SM^&Y#z`f?c4N-6G!raPan!u`~ljk|D8!N}-x z$h6~pmgV@aaEtj3oT0Jj!tySAdhVBT?KbYm?d0%IgfBN+trXt5%ATIsJ(8>#**9qP zDWWgA04`Hs@)D5xlJ5ek5BVOD`jEc|QXld|AoU?X08$_FeIWHAF9WF$`3E5N9X|q6 z-|>$?>O1~7kou0F0IBbI1xS6zk7eIMeMV;AKEdrSaJ_Ogcqo{DD4BUEE&7A_dRIC# zG9tn|S2@$?@cXtd?y?j2;|Z5=x4}loyzZUY^RPCt^Q1PBdL+plUq^QQ>)j)%UUypX zw5#k0+AG=^+RfZYP7SJ5*AJ`Wytwsc$5V0eC;l`!oR3;5Jo z`fw^<`lyhH{wk+>y#c&h2VQmaJBaJE<9rTr9usl8@D56ccpgWZMn6;7H*o(H=l-ep zhSJBu{V%1usV`uT({nfC)BCSSo_mpJ;`OSs`%unfsa43s%F+X=ZuAkP*An1+FXHsx zPi4FpWz40nV=i3>SrK-(EaUa)XL`}ktb+U+@Tn8^7)L$!aQS*5PhqQA{yOk*6}W5E z;R@787wTg*r@z{$50>vN9YcK_k@dlR6>;<7I>Ha8;^0x=hrw5M->BeW+OLq`Enj3F zviseiR~2giX?EZIX%%wP-Az2bo9E zx(5YE<7GLt-Fs7Uw3oRLoq(wx_5Psb=sL9PRM%d#lrm>4t6=E#8= z4t-QDH|lW}k3ES0v*p1j@Klr;{gzRO*KvJNA0Wb*gV&bsLwy{YRUfm%(+D3)wSr4) zKLKvw3k>W=lo_Ss?cz)e} zgXhxS^AUsR(%p-`Ax>$eYcb|TTRDz=;5<&!;q5q&vl|>tn2QAmyIa9ggwgLp@1^io zgul~_tuNqcD>yv8dv|gI?X_a};B0=9C-D=;e8JC2Ao24_Ao267K;q|DfW*(g01`i+ z0un#Z0*RlP=m~y44J3YIA|?2VjYfi>&jN{`e+49dK2yNY!9l^j)>db_kH$vJx~#!t zxnw4Hui)oe;^*!e4xfTd)5=NP$i2GYXZH=RH2K9=Puf^-c2Dma*Cz0)>75TsOdS{H zFXZP+cPiEG-Xr+g%H!8ow3WHX9~z|lbxX$$e(p?lpzU`+KV65h+A56It}Pox+uf16 z7V;wO1CpQ1ptG{K#Ltz;b2su#{ERc_s2^GmJ=IZqRPghLGFirM z@XaV=VIO3qM|oQg{nY{fkY6|YAcLQU{m*RqeUR5BKOt}Mb4A%6)L}}@B?SNS^+Eg_ zmHhmWtdH5@I}yG|@bmhQffqRMSMsx2@RRr``6=BueahgcboW93Nq#mfOTo{M56Clv zg`V9h{Z@dpapE7lyTMl)ryB0-z*o$9g`4hRroPC&Fg< zxkT`Dy}{28d%EIG`B?ex!6f}&G=>yo*;8o1#LdqFNq0U9ByRo>AaU~xK;q_OK;q`- zfyB+v0g0QB1Bsho1d{Ij5|Ft0KY^q>@fN{N%xncW{~So%{Bj{TcL;7?+abBx(%EHA zLnp4i)|IXp986{gheUWA#=11;YFa#Eo6hZ)=Y8*{u$~KT;4kxX70JY~?m40C)aITk z8)H6-vqP?f9$N)HMrR{-@c60&?X>Lpv80#_WBx$r{a%Z<+J?5*hVj*E_aSiWU}`zH zrR9(pVceFMlZLQL0p&}=Rw3dF5-0X7;bj>Ln&h{-N|~B z^mH3|%-rl?-MNb589H-z8b|PsqhjuAl$-e3#d#tfK8-p;o5cM=umhm%q(|3Xq3ng@ z`PuKt;vHkM?9hwL(cg8T+}*54X)Hfm{vhNJ$#O%!6Y_D$uVg(+bNkuy`yf9m<-u!e z-?PIpmMI-d5yvD?$HZJNy|Y&#Kbo(`1&5@2J@lsJSTFP`#>ekxj_r`{w%;e7j>-8g z`>g;k#k`i?#7i-rX7_50eY@x#aC>og1L^5@+=YHE_<4i*+k&6hf`4<5?MV6%PW=Xj zw;}vm^GhPU4Rg_n!J)y5p*v>l&T;%W#LrIxiJuPwiJyNAB!2!Wkofr!kofs0K;q|d zAo24Akofs2Ao25IAo26lK;q}00cmXe2#|E=XMn`dlLh>|;|{^UCE#Zq+-hE{T7#C4 zoo>b%tjiWyP+>h6nwLU<4s8{3&ERR4cv{zG3+~=MnAuJKkSX9Og~za0VKz6nfty>I zn?vZg??@3hCw3egoO^71ka)QiZL=Bez4>|l~vYs^JQ@`+5JiMk9 z<$|u1{M#zpdtu*m8UNlZ#{x?*CjFK8mzVz)`Inc!oPVNh9DYsdHsl-m1($lE=3f?kApU(6Nco)* z692H+BKU_z7{R|BkoflrAo1^BAo1^yfW*HCfW*IJK;qy1K;qwh1^nB#P4Ma(=3mQ= zs`Z)z?p;IN+sfQ)mbTs|tepmTZyC&N*(|u%v@EY5yVAtHV%6Z@Dw;>GaNh=-L;q#m zo8ECm)XUr>NAvuPflo2;ZzcH94L%g|PlPf57J&;faDn^`{u%ARkbkq|+=n>F@^OfN zM!3QEPS#&n;9u7w@F50$B;Lt-)re30TY)@xA4q)lnzF6vkG7?*fvnI!w;KH04gTqZ?_KXD{f9ma>9=tI(qi;4EPoB=h0V}s zf~4Yl;_cuc(h%d+WUoSg%Rj_Al-c2Zm(r* zv<2yrero~$t~Wm?_}3C68_$>+pVIp%JcjUI^AjRG27XQt?iA-`SM2Pc&A~J{K^)8g ziGw3R;^1B&aquo6aS*8s4(m_J|Rh7QBH zqm%1{`W4YuS$?dALn0U+X6BjPZP^Qs?P5nE#Pzxa%QEXy*G;kO z&DvSNDNU*CP27~t60gVWSnvNi=eeU1#_49?CU4)j<@Xc+^YNUId+zz)=X^YK4)N|z zAn|Sska+iHAo1?^fW*7IfTa7r0wmsT1rqPJ0f~2C1rqP>1`_XnA4t600VLj~fyBFe zfW*7)MZD8=!6_$r=O^A>ozR|Nw?CEHPvPz7oleXVH99}GLCA$>%k|g#8U11odHpp7 z&MoLB&cQyE<~$~fV(ukK|9z&c5#Q|w=AP`6#J$QxcaNJFIx+qXp`V4&&+Kn^G516q z>%YnhJskp%D6E;eXY1Kn+?R=aca!$5BFkUZ`p0qjX1mA7|2ZdhLmn!5BT~owK4r{hK$^HdjU{12X5kq;aE|VoqWuu!V+Z2u=g2jk#_PuTNZ}2z&;Dc{%KOZS zhr{~T)Re7v3;lNu`jF@g*AoX9VEi;6`mYQ9YMs!3q(4MF>%dClAaoLiMQ)Zla1qia zkZu;IEAX(8W*5@zDWoa%FT^iK+E%139uqS68d(P}s01HF*gq6y7WYr2m%Lkm@6CLS z6Xm#)I9Eyi863E-vLPLzx+2{|=%yCvrsDCTh`Ux*eNi_Zx zJet2$p|Hi+I}|)(KaCx)Aw9+ZcHF4Y$o>%XjK-frw>2yU7Y1MZ)a}e8_LD9YV_f!s z25UBAj0-=FKSRtj;?easj~eCpvp8;^9XAVOPjJknu6{YsIuJ-aTL~ndtpXCyeiukQ zyAen{TMZl#d;MHPSX9?X{ei#<|S7dgff? zMD%MP_SEb$i_=s2*C3BZB*-zXQ{3SouSA58ibeIqQ^V4*1A9R?nUaq|q$IZ3lz{^o>Lu#11{|0Tmj%z_6 zaSxMG!My~KxVH#M+`9ot+-n08_Z9<*dswU$+-nCC_m%*Odr-rId!Gdo_dW+C?yUe4 z_m%^Rd&`Qrr}3PwUUJXBazqPl-I&U3ObOo2R%z{pIM{XGS1V;ai$^r#-RwCYllLSV ziMQS*BjVnt-+?_S@$MSj@6^b=t7qQTqtA@$U7|gvbgdJ-Q!y73JOJ;mMIUZLAD#&= z=0gk8Ga)bHcrG%rq8ojAz2pG&BlY{~NK=C}4Vlem;ZcjgQH%fc)Bmy!}jdEMNCA`3}hU6y%GahurpjkN8o)9K6GR!3^RN zbAoskFY+s>t7Pqe?%F6Y{ht zSUlgm#-7vFfOnV0HQI5tnD1@4Y`zCYE%=5HfZ!XHs^A-xt>7CrHU!`10*P->(t>Z8 zcnZEX1Bq|f0f}$(fTZit;RWBYXe9Wy07!hh9!PwfU(7e2@72gLrGH_+W)hbQ^E~ES zM8;1<^**CYZ+2Gb?e=6LA^e9-BAQm^ahx=Wy81-ik8X3cRtOJIc=;{g^z) z6BP>z&uu?rjOAk=lW&21dqKYNohp=%y5io_iQuKdyqroLi7drcT7$1OVLlcv@;827 zRi?0?=6DU5^Hr0d=4=U#Ke4BLB4ORb^U{fBIq-<6bH6^OC&` z=|eCZ`tT~;6HWS1sm7ddg@V1neLN?u!yJ?D1>`wlgywvD?_@nZULT@h!B133@Dm>q z!B2c#1V8bC5d6f4LGTkFCBaX8j08XNK@t3<>JUHak%*rd6bODou?v1S0*Rj(ObC8r z5JBH@VRss4{#DEM82_~i&4+c+dR_-}d#AK76*`gbtrqz_Y*T$Dx z;COo+8UR0H;D=A&x2J+Q5U*D#Y-T6jsXpefgKnEtCZV$C?2ehmMbn+i@Wphlb@IU^p_KcYg4I z#-ZgvnggP;f_Hcb!8=q$@D3Fayu-r_-r=DI?@)2UJ3Nr!9X>LGclh`S-r)lxc!v*% z;2l0%f_L~>6?hlnxm}>tRKOX3DSnd%-Z`0fS_r%gyTv$E^GO-}eo_nRO}&|>v9(ej zk7|?$ekW@4&P}{?m3h({?j0rDm_TI}^h|X+fW9!Q%#wS6vt|qKg(~A|aYrZabuTHy z9no};J+JyX>x zyB+-#STWXy<=h_SkmvRlb7@ya5bY5i*B;~J{fG~wHE=CBh1OvB zZftk8LSfO*@cpCgkNghZVG6FWKm2LB_g?zlkS{H#J;44wWfbQ3z&3R7HGc)&(>>;& zI8~MR1|yzyX8^hrm4)u~U=609^;)UWYt^=1(`XH5eB5L^&Q1LD%Kbm@W%EGLLGaH3 zB>rKrEBNOG(mb#PNb^7)NaIpGoZufGO7IUA6Z|U$lHS9E2>#^*@jX&&eUlHQvD zq;aXYh<~{Mm*#j5wG_7KAH7<|ymL6fJKV`fak^e=hMI!CnP3q9_Vb>Kf}ZoRe)AE} z?EXYNQ@Q`Cc;}4|Ihv+B$px_?;S&l?4Y-Dz=mFE}%ytQyZ( zl`g6DqAXv!1acy-R6bi7#&sTWhVBIRPEf1tyN})cTy%f2xG$LHODg=hyS_?1mxAZA z??^7?{7WG(+JWUA;Ew{HQJ9MSsU610yAkhA(-_cSM*9h}ADhGqgiV=4_W+~+vwt%5 z6}oG|KWPSaTInZF>ZP=w@RL2J+XwF99^pxL0kMLdz@m#>EGu_ic&+YvE#``7hvctUhY#oeW*!gv2Vzoi2rp$ujX5 zRNSeoK9glxx>tDyhnY&hxK}wos^Y#{e1g$-&Ybgpm40Vum1JjJF!&`+lbz?w#(e^Q?1^>fD#{Sf0$phjHiegX;YgRd2?7mhK|{TBgh+?^Sk}m5O_n zy*t&cOR=6WQTm@Zl|Lxlt4!hU7m#O}bHL*)&FH9??sR9|PPgUus%gg!DxMK_#CtAv zIxXDwD(+QwOjOgjPc-8xEwxPdzKp{~`rR{7=J6aV^OR*u%RGlX?y><-#tZkonNs)H z@K^f0*W=k;R$98-lYtEUWghqLl7~v~7v(v3W}LcvKy~+LN=i|OGwwYl?!6g2^YbOU zN_LAjc!=7-ohdMcXvy#uPZAGL$ub07Xt=d!ZhxIJ~Z3?sj~TP?*s(53wuwWMS~ zFWHmPohZ+Zd!5m?#7Wmo*MMVY^`UB4b><%(drnWX$`4Gm0te0)`jNbUSy6VLrarFp zxzp#UAAtwMj6;lrj7Nbb_oJ#3vX+NldZ}C3-R{LwG z-F^PFr!Sc9qdeR@l$}bXc2t>P`yph?=O`8qnrOdZM#F9lCRN zI(R2^xH=m$bJHCpgS(L2C4|@m}~DhscljG{~4`G#Sq^o@czss4SA{{EK8; zMcLoP*uvPs*v)e57s+?i!?=a8FnV(@r&!?rufBA-AbjKJO^Ln~I5HC%&D1 z6o>EXSBv9X@b%~LdyB(|aXuS|e}ltu&G~6ugK}C|gK3wFal7hI54J*&px(zB&E?QH z$`0juMXlYd_@jeLRjp%kK-^cXOmL|~?WixkN5(9p$=Ju(&Dg=%!q~(ZW%M&Dj2CZ^ z`JZPz$2iP5#5l;9Wi%Q47`que7+V;d7^94SMuqWW8<)>`j&YcAh;fiH%V;w8F?KU{ zFt#u@F-95vj0)q$#auq)ImTheA;v+*EThTT$Jou-!Pvss#297tGb)T1sXyZVo@YGA zILx@)uf%t8A1QSNQ@g5aqxT2Z)gIhwo>8?mA>3uI(w*z7Uh65*SJ2()PWX3L;hybl zYf|^C>YDphbv1POva>kb1Bm<4>+8#LC;Q$8H6FwmvI2M8N1cu7Vd@j$M#vdWNAVpx zM}BZ81A_ugyEJfdzfH4_Z2 z3Bp~5dW|CPBL&k6m$qU8$2+GqruGN5)q4?F=F*mt%=?gmdqrLg)mP#!_q~P|_n-{u zWldRvGQpv$mLzdUjpF+l#COn7;i$jbhwmhf>+$`Zgy)*zY(hMqf#O3{SMzxX!W4B@ zx{1T+SxTLebPM_M{pec`#Cz#x>|ktRY+{Tu`WY3*i_2vC^Ni;hhZ%<$2N|=BCSxCC zH)9853u6;wl+n+qFkbvDm(O^PahP$4agZ^~XfpOOb~AP`wlFp^Mj8E#3ggA4Tt4GD z#$m=G#zDp`qsiFE*v;6%*uvPv7-jS`DvTHDJrb`N&oK@&4lxcgW*JS!^k30B`0m%7 zE>(G0QELvXY7~ncDNMkiw$Zm-&=X)~!ln^^lO!FWJb(Z3@PownB%%_UvL6?aymcTl2#NMg`jF3!Ib z=g?=|N_3}NjrO}WpdKH^`5KrFU~Tuv=?dk+(;?;f=}P6P(}OrKYL`ssqBROSE67n= zp_wKoVp>z}v$|e8P5IX8$q3gztjN?ovf{0zGAlrwr(usJKgk-U*7o9Oy4s0+WD&NlNt;V5m~5nhXq96xL*Eji;oh z4D)Z?kK-vZ>)e4Xzd0l_6mU!I8TGIC3g}paHYgx1>L+e(a%66>bEKPf`#!|-XGi7jl z+0Mla_XJ)qo&Y!5<4niCrr5KoOd>7zOb}kY-s-PhgYdOtEw#Kd3U^JK)=9-a#S*oO z){25y=LrJI-iX$ItFYcIY-c*vD%yjIVx6f9SbdXPI;X-&%eCaHv~3?}?~zQ#T3Z$N zQ_3qarpKDD7i&LWtl0*E!I`wiinX9hdhb|My$b8FK>u{wFByET>Qh+T1(Kak1(0k~ zeLekquw417S>;i%T=}YLcoea28}!KaT4=`}oNt4zi&xF42l)YOJ=hNghOt&lSdTR< ztR>ZXbW;iTi?t+L>!togy4CHh6KhQ#pKjXUjbZtH@SKzAJ1;SCQDSH~FgsN@dv0(2 zp4fqycSR~Q*Bj5Qm>Z{lBKQa13I2g^qR$Wq!8yS}aFP0i;34=YcnIE6{}5cPnk=~p zPTKV$E>2-C>fmB#wpZ|QO0DFf4jv9`USrrDH|Xq|8D3iR27*Jwes5}~H{Kh-86>nX z<-++RLAYr@iQElngMf26zDbf-SHrKvc97O|e>=SLGOt?E@7u1xE6KMj@v0V_lf064 z10Uy=%JntL4lqpx_ly@CrBy zYpvsXReKq)F!zPs=@_pXugELnO%Ob?d8NZ2m@vjG;#n2(2uQpl9)`d}+C!1Ns+PQ} zt!7?TOI~@au}89pc?CD|C|=FHqCHFa4Q%v*R}I7~;MGO^QI-n5>+wtUMI{EBB!)%< z-W2KeI`8b>%^QoTsRL^{>hwbS;<`dk4PxZ{F zdgfF8C-SL<`P9LD>SjLm74c~p{j$y*=**gym``!3 zlS-kJFsC)BUZXgxn~=_gnSoyx(s>^={u}itQxrZksr3eMb^w$RbkY(f2siBqk$Wce zk?Jfj=qJ)w_1GW!)%q!r4qy+wq72{FvbZ>>v9b)`)G`C(K730t{v+Kw4P(Fv#()JI zo3gpEWt$Cqw0W>cYZkTwHQ1Ash0ZRQOb=b%CleDG2TtA8Z zci7aBehPq3G>*f#P3Wf(#(ku3s=zN{dxLQw>6>bd3vK-*(z{qc0mV2FDD)Fh=qv0E zig6!M=qsSmPe4p(u!rx)xDV^T*gKqrv0ngVKzrO*fiYnaV?$d%RbosS!r1WgaUbcW zGVHC}`|e~9s$p(PdxA9Xn*gk+llqGEQ#t&!m+12xko)sh^CW+Q^LRgg9`b_j!7l{- zkP+iN_dLm;>UqcyanX5_gEjL6pJuwHeroWJjqh4ME9ZqB6209L{e2RHb^V0{06>!SuHbxa(Uk2`s`f3VioW#K`G0%#UuE!k8o@3R(MmMRYg5E>S zv73|t++?@pa@+*#KgqF~nj6z}G4Asd?=$J#3SD`MitTJ&rjUwe=^>!F+62 z`Z4~2H-7Mp_!59Ej?FXTU5NEqnCDv&o^N4(BzRX1-U+^dPd49do{9OE&9f!UJD}hh zQ1A|j>AjdIm4ah#aBULiO~1~#&>r^@Zvx;G@yw0AcH)^IJhR7rG|!@OpFJO=aUqQx z{hmXTXTi0SXEke?XKR^fYr(}sl4oJK1;5rxo>i@tJd3XtJgaA(%`D=X!aVac&!Wt; zCgxd8d-U`$>|yFOvg2xsPloNujK!K-m`D8!bB_2lnK@Sl&SA|q9$UJ!H?uSk)zrh#C2)*>r z@Ws|k^+kLcmg711If>r$68#q?21lWjOf0wlzsHv-_>$<&BO8ZizW1ujI74H(ir=b^X%S;NH|vs*>zFIA?U9bL*BZR6OD-Sp`95iF zk8}*iZsT+eujv(Z40H;O%?dgOYYn6$3OZ&X>lmQWF+ibXfMP6%H3c!Y175!NV2{bh zbj+`}rf2IId(F<)G4|S>tz$?B(VCsDW5n77bdF!Wj5E*|SgwcdCF__d^a^CgaRz!w z&Zk(%)Jh%Gz&hrtBF>o1nJjZ=kU29{;7o_GJFM&Q_R_q+3OXkC8`d#ZtYdW2F&*A` zEU~ILvnnY#Q_ng^2WOPv!9BXrD=V?0J;0nZ(s73M#t9DjMT5`BXb z149x+GdkR!(jz1Ml%4;x)T5 z9V7RacrFxJ3yvM)HM_OEX1A8t?07C@NWCRs9G2183|9Q-I`TCpC7ynQ9hcN#iw+;Zmz5aIj z813WxL)veI8?-JEz`DRc#|;{@T|WLA#|=%6+2p?Kuja;8%#G3_ZYaxme@LP)DlyO` zF(l?W_|Dg9w4OaXJ_CKO-WSs{OMkQxuM7MeT}S&3 zuM4zDUbs6Xdb=h1`y^srz$^Aq>adn3*R(F%|M?B9quFcMDsctt*2I;%Vy<`(vR+w< zwdUfvjlJjN?xi*6`l7iF&2_Xf-SV$|4NdOte3Jh8jm~ZUxix3ZafGe`+Iu_pUXNUJ z#_wYaYtH{NbDQG5onJM#@q7N6xs8?(`#)kmz~0;Wgt?8q9#FjI+_Ieab|iYcCHng$ z27mkeI&vRrw4+V#>$K7DDcjHMJTB9)4nXspVVc+YV8cVmXH|^)e1$VB3iBIblZd?? z@0k4@?du?!9K(6{^B&K&*z@tG3~)-v@8xECmBQW*+0H4L^Ze?yY9D?diQhiscaj18 zPEzje$o*7%FIDdC$g?}9Vb3&zJ<}`i?bvGw@?4*fuOVD{Z*cx|?nM`SH38mJC0jZgfVIPP6Rbd~8Jyq%h!afeRa>7;>wsVELfKQbXxn2;`p^x0|c&x3hH`B&v za@bshtpeHVNIQc%CE&KiSqd&kOc_=py)z?mTv+wXS0~cB334CQM_i%x0p?18_d!Fv z4_Zz8pc8SXhYx3Z*!!Wx6?;$A-Vdd^+WVdMeyF`iYIBC>ff3jYP@Cv{ZU+6PxcGO& zpR_+(%#~l)Mpg7#aE1E3f5I47sPE%WWxs;ygW&e&YBxnpxhaHohX zLPxM>p;)Y_dfJn&@rKEUXvyrgEKQ? zZF0Uv<2jY}j{`b}?9B1|4UEUoLIHD+Twin0xK8ftDDK{AVho1gb+Mj_!>>7ApQL9L zsb@UUGj8Y^d>^52q@I!Evx2P~^o)IegncfAJzleI-$>6?S2nSpnGL(Px#^GVnP!B~ zOJ6=#BRxZBrIJ4Ou&vJJHaTA2U%h-yPMn=FN9q|L^bF|@|8-+~qvA{ojM2n-`p`3^ zFN*EnMEYx0x6m^{p?82n&j3aG>v8G<(y2h9Z-7G20Oi>n?t-4N$6B_Yaa5={2SZ8Q zXCT^RHG7O^>ls>Ora4Zrp3%za+!;9rv-f{!>_+F^lm5YvYw=qJQ=A=R;&(38C(Hn! zqk*wJjo(e|Vf6TZvd8q`%J`sHF+;feyb2a?u&<6Qatt<21O6*K^MW3r@XvWFt+?b_ z7cEXc0|Pi80w%DP(9LIGIL6Mt2r2`ogD>DGLJs8_T;hG2&S|J9_)T$6LvU0P=QPlH z7>*onx4>_o6w9BjxMKLk>_opZpzOtY8V{Fe%O5Pi-%$?t&ho6|EN;|r{6S`tH3?@Z zC|Tt}<$j!Qmx-KJz}E*eQzyxD8p@}t;+%%aP9=M#a~deToX+c*>KK^hP;usiBRkPi zo+)>fTjgFQt=yob@pdx`oq6DJSoj8ra~iObfZt+H%1oj&56b@_qqyd!CrzC+Fm=+T zLsKVB&8Sl+9hy`=bzo8^0yoYxD1Q)trO!tuP1-#bXC6$-Kn8x)bGQGY^7~Z>&OLBs zGC2QXKvB&M<~$kojJn6KW-|`e`MiIZy4&%vKkI+Uf4{@;$1|5_)pC?yjut>Y{b&4p z9R6&^KXKv!)p?>a5zm5lDK8&a=ZVVH436-!%t;TT&Nw43GIby_b?TwW)JR5&Ohw%z z14_h1?cksEF#b^IsZ)1P!w(B(82Odmn5bAvxtUQ^bzmaSIYIq1svn4R8Wfz#;l(*9 z6R2Ii69z&P?i1&rcqfF!IVhT zsPX0a?b>JY8)2vNQ0hyN{oJ*R@})29D+$$Dy`qr=Q zso$GD8ov$YE-GE(@;!`mP9DOC_ZjbI{3_!%#@}PSi}5RrTN%I1xP|df z#y-Yrj1k7EjA6zpjMa>j8LJp88AFT}j6udpi~+`SMnB_3Mjzt@MlWL-qldAS(al)G zs5814HAW|+%IIKJ7_VV$WW1WOfpI2dJ!2iC!FUy8E#nNvIOBB28par7l<_l+3mC6w zoX_|>jPn?;V{B&pG~-;xIgGOzKgBqU@mj_v#?LXXU|i0)jPbLKOBt6iwlm(q*v7b+ zv6XQVV}fxZV+-RgjO!S0X6$18JmXr%n;6$H-pII`v6C^$_`8g&7*{fOFn)<~GvgN- zdl|pL*u%JqF~xWX<3`5Y88p3|`xy@~-p9C~@oS9x81H4Y822*nVcgBQ zi*YAoKVyc`WPF(MA;t$8k1+lb<6*{cFyW}I$@m!KF~*~e|AFyQ#zz<1pjj zF#d?~|6+WL@xL>I_%7p58Gpj~ z-xx13{tw2VGlmAOd){I9KQQjVJkqSMSGE!M_bVn1=F&KhX!~~MZI&_bzFRT3ZBxv< z?o!OHTa~}J!?$cv%)UOw+`L)I3=J83hfdb6{nj(}YaV#EXYaGm#xqYpZQS_Xll5!= z_`W20iWv?ykCvtrJjtC)tNn6Xx zkE+nR0FL*4)$Ab~I$(;=GTumgP4I6}l@B?cIKOy3pIh9`=M}HxbBeoE<$tl9IHP>6 zD$gdzne#Xn_*HYYs(irlG4ikCbH_XQyzv!$&iFDuvph-r8j!>9n8a@>-)-xuL4TNDdau?* z@3>}%^7+L-*rZWB=HvLS6V81l8%`kR?eB9rnA72RX!zee{pL>rgsYJ$;f<&i;pfr* zVvP**{Qt@6x~YtHIIjoigRFC2>-z5;F7{+-9bg#w!9%zj@1F2Rym!LS<0TaKJg{!G zUQw1_C*JFF0bQjNwD%KuF4qoJ^rJV?pVs|?>-8QZ$>|gCbLl|(f#HWFuS34&qc`!m zJ#==gbxMn6PkCcFi7u8s?T_V72V%KXz8J~err?Yj)XB~Dak~QbrF#RYXE0@=)G~y7 zP|q?~RlRp_RiU0#9+g`TEG?a^WrBfd>DL22m#F;PcHsRW9PyKY-cp=YGOWk4!@*c? zI25x+Jh9OOGJh}U?{!tzPuN}EGkPGL8b-Mj5$;2|6J61I|L$lH&c}^{)uqJYt$bCvfc1{+vsi?f9V{}OW{5lj_y>O9jS`t zMyg|?o%V;L7bqXZXW{N$DBU@@x3b$h5RSfU%fP+emVw){WwPPud0PhVK3fLvZMMun zIQot)1NSal2JZdr7X55lI67p@!5y{b;EvmQtq4a?*)nh+XLk`#+Cm-*1fN-hVA-eehl^`$1DI_rdEi(JmJvvFwGVvD}3>V%FO=vFzJFisjxu zAG6+hJC=RtR4n(-aLoG2Ph#1h+#SpPWF%(2{%$P$dTT8AdRxr;!Npki2VJq;58jGd zZeHrH@3yBAHEaoe=MBxJrS<=qrdpDM$m7;|26oj{y4vkc!+Oh4fQ7<=JG+i zKY>f=PxaX!ZiwZ6_+$B8t>Ne!c6-9@x7!o$Wp;bEg`;oTGH_SfGH`dzq zx9FT#^wAvLhAp!+9DUuEf%{!s2JQxy>BsNJOI)~FX|Jz`z8fX@UT7|Ny|&vezB?Me zH(`1ntcCFUd9~Z6*E{#>JsRYl;CUJQiT_UUTD*(ddUTM=M!GEA=csJBb8uf`w>4Lf z9<^oQe%+RVTcP?v-fGsPmMsJKSz89~H|%`o>Cycxj!g6rG!*1~{n6E`QP&tUp!hO<~gL|0W)&ecs zXUo8S%9erqj4jimMZ0VnxR2N}a38m25?Zv|mVtZFmVx_Oc8hk7Ytf`F2e)O*!F|xq zt5%Dyv1Q=S+A?tGY#Bp~F0*Ce?zLs$-fqj(Ytar{2JUUP4BY!|nPf7SO={5;y+3Nh zWJ}Ciorq;uYf;kBK0!nz;nCX5vlej0l{ ziZcxc->)0So11!OYG&s{8b(mNU#r46p`G7pe^J;n4%>M|%3)1S>9FOB!jc@8TYH!M zrtDe}%kDZD%k7HCtUdLy?4Coh+@7s5%bFX@S_fh|YkthyR~yUjTM^6cGhz*teoWVH z6z}Mjp;-2nY%KT6$(Z&1XJgs#55#ice=cU7I~vQL>xkvfJsGoJn;px(_IND!+B2~# z%7gSfo)`Lky~yLtky!T3s#xyKLow^6PEc6MeDlkQQyX{X<(~xu?-*Y+1NF z?6{|Q#j?l21NK+yT56ism9mcSi_zMj6Kjy7tXX>W0`&>vKiucpZNWWEeTc%F^yo!9 z9PTq5o@>;jAKGc*e&3dX`>dU|L65qr4)l$H`xOos>!etd6m_W4qK{Kr;w#)o*=@nS zjpQjjszrzFaJaW~crF4C*fMaZ*lodW+Tmd>y44Pcdl$Q_ur6C=x4p+H>r#z2v+Dx) zGP_K;=iB*Jp`Gn;xLY_p7ee`VTDZGx8Ms^Rv_bHN!>jO4BHH$p6?8}2DW14P?*{9# zqFn-dG)}Vg4&V;6+k(4+*N27K)+)W&w^XbuMJ1yLXEd%##JFOS_*x_(DbGUdn zD%ZiYF6t$jYfu*48oMpHkJ5XkaQC{X+YX2O0*B}Hbo%k+H*8H+Z9kH#I&w5sb@XJanK<_)ocZ~q?$jD`H|w2RKC@n z>f*4UI#29qQnIh*hE(Mso%;+q;Xke_M~eMTs?t>KZ%~z%Vt-UsvWcSfm{;YB{g_Af z(Ru84{+K_R?5B2A?vm^7j?HpSy>Tx5bZ#W#u4x=|&zePU)ED!qR!WbvfJtWFyfK*t z*aNWBu2?bVUbTwcNQ=2rvMBA^wH%H)n>d%A@+3KYQ|GhXJ^0>ymF8_fPbk|6FD8`V zBm7xHxr^}Kgt8qncar@|#KiBV&h<|IkPad1qZl$UEvxlJAB5CCI-A`Ja>gd&chz`Af## zLjHdl_XzpCv7O{=ARmGJPayyHG{{HmzAWTx>b3~^pBi5wjQlraE6HDk{JW5U=kJr2 z`47qbP`K_3LOxR0LwKR5?u&$P_ty22yc_Zwj+=pQgre23%?Qu{#e5Va5FUXgMaNbV&m_hTXVHrkowE})$?opc!8`*ktVL4EMY^c_;n zkKX(-=A##JhtQf|j+9twnb&E`YrV{CNaUsB9Z+5h-hrlHl6m}{$Yc1UH~$Wsn3TsB z$BQMj-t#6pn6*yk^^cU-ESc9)kr%x$%8T9?>i@cw%aPn`B$qS(P{Al@V7 z&VM7B&*hANBDpvID49Qe*f>UVxetsi$sK;*_&UkGCFPzbxi*qJWjre64jTtZ?o`gW zA9$Xg`4{~qvlof>SVzyYE`Rf;7I5=vaQhs^=MyEvgx^q0tP%O%zDM~E(|bE%{D|@$ z8bSX-z9)v!e^CC9rQ8XU+a~4y25u^E%LDx-`JvOscZK{Z;~A0!mK<4_r1!msp3fQ@ zN*B&f{S9Aw0v@UygulilIPe zHGPxRgmNR{P(oQlcp{;7aWeAXRupF8+4_p} zNByZU=9{SA=qIzN-kNw12fnB3EwUdM@^2c~uV*FQ#d)DT%Im|HvA$0I`hDpi*RL-Y zhoKJCuP+pZ(K|dZ{aZy_pXa7?F#-9DFW>Z2D>&~+h%KI{}ABnv1&HfSAYACOE$4*y^?6?0w zaif3bOi{mfAj1wS>lX=Ea$LW@RrKqjki%@D_`K?BBK*dPwo8^#=+~z7kM$4f7yX0! z!ZztYMCDoyS7ThD7(VJ>`@_aW!UGY*PuLJM%7Ij$_6HKKQ!-t-NLN#n9J;KWXD=(~ z@ypApsWGk+uI@_jZ|ouPBG8OvABL%O%8jo}Z;AnH}ffpWIs1 zu2cu&cW+S`z0;KRw^RQ40|$(D$PCH8F2nF$ps>e_!mMmIc~ttBh;-Sku>>;t8s@`+ z8uSZ#hW+Rl!0Z9^3r)wmocLx>B&hGTQZOBqHgcMpX`$F{2t-|;Dh8FGJc2f zfAmpunT$7uUvYF=31_D@?{_+_R+#id$)i-up^)oxIt#@`>3qI3n#WD7;{Ys~0 z{9dOu_tTx${OdcdXTREMJ@@;a*3dnj*2x{6*6cZ*)-#z->*&r->q*QPj_>WXp1!x! zI`Xwn>!Albt-*&otw$f}v~u6*v=0AK=TTX=0a0H3KXfXxeD)vf92^(_&CW}*y*d7m zJNJ)^f2#AHaq-_mTZwNy%YVD`jdAhc5#K8hz7yRt+(Y%q?>|}Rp}u?InYuE>_0hZg z#)zw{SSFh@gv`KU!wZ>?;mogKCj55WTKy_0W8#57S%DCwwZr%;Xbc#zXH|i0Wl5yhOmv8x; zaTUcSKWogOJgJNq656}6ZuKJl#`}zVl1VKw;*fc(IIib@8Mo%^#?^@HmU+u`y?-F% zHa}oAATC)PxB3r79JQhGy%ATwey_0zGPp+*KNrDwpgM^51GcTgvjSIii0`Xk@<{Yy z`mTNl>-QIthiBzTNxpBf@fTFj{ndCDq&ZN9`T_^=ts*?MU(B6?G7r)3N%x*qlmW`a zdmr*xaD$PcdTd!@yi9p*U2ZHU|6QLmzDfSp0n`(DwP*33FfMJu9wjEjG(SI2_4s;! zNq*a6;|@x5_YKCMQ=08djE&?^f7Uol{9!Qkr=Pou{ zDb1c6jN1sUCB|cvcHeGeJ^7F9HJ%`U`%+Pl{GN8yThkrLW0>+-qL$?6R~UarGP5g< zO_avG!FZkg{kx46`FHI#9w$F^80oHjaG9tV46!{;0-k3uEwl<@T^4QZ_s0TfZcX6WRb=hBJUp`tX`f~oU-9|Oios)6ZqMtpv z*QlmEkH26{McgaJaZkS}a}T-ap5Q(B1nWb^YwncS$>xa`YI{)jQIXo zK`S|1#(r@agN(mL#GgK$jLY=h!aqEm?33}g3jfGR@{EjMFZ^fDBuy%JiK=gqa$ynP+?*Vi za#MwW-n?YDjK59zUwSF|tc>3v{AbT5yJYTEq4&nd)_r*L($GfI>ODyl# z8)Upr@p;Q@=+uw)`HT|C7&5L^#N{lbmEsQj4L9PVGH$Vm!`y!{#hnfqrHBg`#|hRzxw8;{Kx`h8sttD%bnRL^Js21B8WRF<02yedGn13<^NK`h#_uJ#)&q` zpFL$vMI5zXVvefkUv4p?kjd|xhceI?=QpEoYkHM@-+xN^QD6R3MR}~7+I(fd>qv1~ z-{-PUEkIe6em?R8dU@PsQQK&GSmq~mK7CKWi~SqQFLEE|AvtOzq&ZCOp`p3um<)?J zuq)y7xBPq_S3vgVzlKl;)#vL8*YNubQ-*wxh5kHW_BZjKEN>zim+|b+C6~$i2)~~H zE770tz`A$~<@tc>s*=xG=)V`FPAT-?CYe9?*VDy`P5_RqftE{JEOvXH)+@&js`{7xsRUEt4A8)$l5<}2Eo^2H?hNy;~PU%!?=Ol_g* zfBlyZ>`$U!YYDbpC1_a$(TrSKo;eF^w;Cz|E{AKZPE=aLau_C#Fn1HvxG68nI0 zxerKwu@4xR`+)FgpN`9YK#IdYAk{OtT-CD2<8nWc!m$q+pn5c+jtjBhfH2{2Q04vy z{JB~2=!KR(5toJgJi9HphZ8cKo;kQUp=F!ma*vSmhWiZ1=NjX3j}YNmxZk()fcq@V zWEe@JQJPI0&ew`r#h$L0PZrGietZ81{#-TM+ipL&m)Z4# zd%m4_72cH{4tEQO=R&B9ofhscTL$h{J8dv7_Y$dIaJLuN%g_5rcD=m3H$?Rc#G`RL zZ@9yD-f%bAdHdsXUy<^LTkI=RT3=l5E5e3ndaJZX`>t*jnK~A)n zy%$A!d*X7hk@A3Bv-5!a=tAy?ZuAv99PSGop3~!UuaVNi?YCv%j@!?q#pPZjWGuK1 z4!8F_$hPFiWIu?0*W;o+3bBT^j{Lo)FP4~F>S0?8JJ!vxW9^ND|JcKTf!cYJpRf~` z-D6K+uG|yosaRApOyN_VB^2LVzO&>U;ba-!8*_^Mu^!Ymgzzn{7ojmfdJ}6kwdCJg z`l4>GM|s^SZyn0(lI4w}yg`zmuv4e^c^hPT4wTnH@)H)hsJx+Ba!v5j z3a3~Te01uI8pR(iU*u{boGinS#$MDY{|i`yj3WGyYp3vIeY1!Bxze4Qc{j@2hVt%0 zd0S<9FQGhz^aD(?jLKmFvdSfuq4PJPiu@wsxRM&Y^1GCUVUINA^Mz?zE)ub&~` zAI34&MD&}*~Ddw}!D&{lKDCWtN3O)Zu?DJ+R|2d2F9pA?o;aAwMnk2W}sb9&4 z)wUxYq`ED{ukK(&T5MBVY~xAgwO+SKCtFY3#?soKl=hYN;1}Gz#5=fiaBpR|bs#D2 zD-lk0XJ@2+iE!#)f4xfbXZ`hyT-jAerCsJKq=7q3 zY2X%hzRWh0-u)fe*KeWco#S*}$ySqWGszaSiDZ_)s0o|QzeFGT1e?qb$Zc4-$n}Y~ znSX(_u+5}0H(ZA@e}#=EmAPRh%Dl{0bH~fbgY7k`T`?!#7=`SUGqCpj3HF;LhxyBT zk~>}pIkx94*ke+jt?}3!^d1J#_Hg^D?ck<1R@TaI#*^1OwOs2-X`i_k@2l;kw9kY) z3wITzfjb9x7rU+YlhQtuWZ-^_^akA2{?EaF!cTRdvq;Oe$72SUX)TS%UbpK4_q&t^ zb;-fqz%rs8aE;fXEeH2GTMq6^?Czudm%r$;=Eh@3ZCSWqw`Jj0>~fo7+h)taeb$zN z`wezm^Ww4nETd3+E_7;HguPX4 zZF#sYTORI%cAmBI*cw{~?yM~Xcg~hE;<0764BWl84BXponfiFF!|}pUTg7mHIHRP^d;RH$_9zi^Z+NQq{OJ4nO(y8~kMHe%p6<$>Lvy5`tIBM`i>mS| z!k?+iEW&qHjJkb8@;_p$bnd%KaL`R8VGrwx+v0$OLiSHnn`ZmLE}1-dqv7gyBR4b>}I;Q7)?U1&$t$7k0CG0`TSip2d6pa zU5YZ#O5dEkuy8xOTC@o3I0Gr2Lw{ zF;Y^3yjA=irMh2~&vBC6mqwK{gzt|kuM>Vair#Sg%>{Vj*1p@5`3)O{9hkN2j%0r0 zc3}%V#Ydd^u7C-V;t8p3wy$V0}b=s5?E7_))ad71A&k=z?H-(zr#wtBF?#Hx8D znI9Z9guU0sM~x0j6On0z?N@40us5rurGUE_G4-9ME!WPw0G)#(wIZf zw)t`K4()f|{KQC!^^R;OvOBX(nO@kQjmY%UCP}v6k5J$I=BH&lrH_ktqP*z2nx8_O zxMjU=p}aI%FS1j!JTk9a$*s%0y2<@9d!~~H*)x&7nyBx|A!9D;Z9jYSx6yV1Szn9V z&L``;htl*sBkR?BQog@xSr=)`BTnu?E0MQHx?q@LQ2<9i&U^*Lgj|&IUelS2MHfZ zh`Hg~W2$a7Y>!&owj~^zY;O>DM^>W@&u`x@?2oLb#;DcUn9Mhx5_U+|EZcut z*dtNCT~GDv)&V=bQP>w*`?ZFkfrWcvGs{Y2h;M%d2e`%en{qx~{X zrN|f0vrGDgeNeu!(WpYc+ls=d?tRiP>O#-a0-1c{bHaWp-z59qcsrv;+pcI_zM}6n zriD${Hq*$xRCB7~F8NG^ik?}fw3 zYy`65u#|;c%0{G}QJ9eJNz}35%8IhEwn$~=R>(Bj6$hf&;}^CsR@BZXD(sXr$yxF2 z)Nbpreq*h8CTczNOfvt>3Tbn6@);n${mWKFE!Y(0S4bPAxa>y-TcfD-uNChFd#`Kp zjG`S^oD}=8)~aPuYuU17e%Uf%yA-}GeNg)A?DTbo^v}uk9b@Uq)~Siw|ABtZds#l3 z^c!|QMj@YPMLt9F{nv_kw0W%^4>#H9h~FQhO}(;h#5alB<`%4FQJGz^8?$QEDA_&I zyCgfW$7P-c+oz+_zf_a~yQ8Ic88y;QPW;vxW!UyT7Z!Gj@zf=WnwAiLcTl32@`=*( zKB#Jh=x3Tj{zno5yPi_T`Vsn}%TMv&PH28vfAK!3{+L$!thTXwPe;AGWLpV)3ahOx zStb3l-q`yt)EjQHU$t7t($^sUGAUm}^|M-Alm6oLt*v9};TGu=PSIv$%VEvCF=-ad zuU(wJ$tYx0PYKPua=@1(@7XC!WWUE+31*N670 zd2j^3mlWTu&r=wEqdt$d(oW*~kFmB)cwSY0m+(ibf@KfpWagn~gJ^5B~`u6s*^l*#xYh-(nO^S6_ zXR`Yf+v8Cwzgo(Zok~{9in?LGmrQU6q-;*glAVincyTfh zPCjMl*E&?FBjpjN@$B5OzDl+*itH~_L|>gdH~G5ktAhLaxpR#gJ1@9JU!6Uco@`<+ zNqJ!tW6hqOJXf54_Uy6ra8r6i@>A?J6F)a#EqoYttA0=|X^?SZ-5Flcny^$p5zvao5vH`xk}koGpXe83=jx~A z*gi~S=mlftPeb`h4;Ha_Q&~S>B)v=__FjTKQaA$k-kdy zInjR9=elstqlvml9#n06lbfk7q-$@+K8@uaE01h?*yf3CFuchIS)TCcyQs0RzkCiiw+FR(^br-mAsTxgvTKUV^rfQwKp+_|&My!c%P%1F6X&*Ye!P-j8BjZ`F>KPc|hvSsvT`c#~P_7w?JQZ%N_( z*2?}EA4^YmCkHP}Z+&9=xJVzB{ZX_Z^||%fyK6$-0}qbid;u}G5q3KicbkIut&NqZ zqCB=)S|Qr&h?We>@`RskPFC3U)nt2txw1d%WBE9dPnAsP6#3|S(qEj9u8-xT%Y2-6 zKJKx6G~{E|yQ7xdoy@!4!q#TL%%?)+TVJ2tR-A8r{aC(mlRb=OjHM?#ob6IRDAF57 zvbQ+BVT`4Ro6@t56}N{w=`NN>oeJ&Ymd~N_b5NTHAHkf!Gxj_#l<$@4U7~!CC#e9wZer~-&<*rwVed{TW(cLhA8}Y`5kZBB){Vez9_%rEqC^d@A!hN69QYVO^AJa ztOtnsdE3qCiKs8;>nlv;(|)U}cLUpQmpp9WBzf5OMajeVJ0%a>u9iG(zg89d zLb}?UNAOz2Tx}Kkjax@V`_%p63`&C!S_6tvz?FZd6i`pylfNVd~H{_3Ey`!7L7t8jGE|KjQ z>6Gmky-BuTq(Zh|bh0YiZ#{oI^ao`7;d?Q+3Hi7&*Np=8#r*=^OJw`$owEJhH_7(X zD`fk*C!-%?U!U4anK9xbRO?1uJFt&?k;1+r+fDuINXd>@_KWpdWw&fQ_1^xH9oVxy zM{@Vb_ER&7654wlM%aoOY6)RSooureUy*Ir@m1MoD|X8^>$q38*@}B)n{{Lo`i?)x z*>gzSHbd13+v{XIwS9&A*;i#dwe6Pe)PApQr?z`!JGEz27ws=LA?>OeBN}0{PPWae zugJDZepR;3s@<|}lK0BCS#^(Wn`8!U^O9_v&~n)}RV&dp*ngw82~Cx4Qx!woVBhRK zh21RMrs`I-4elYKwh7%X+ooz0+6H@N)F#!-W!r>T%C@PV%Ka(E{pn`zPq)gpslHvd zO?VU92Iq27n?#n&wu!EkZ4;TweJI9#=;nm0Tj~|@t$$coYIi~x?7}(28)Udf-#Q1* zJ<}GtgdI)v)`V-1s>V|?UZr@PjQ*O#;n7S}F$1HHeq49H!!g-0fFJ%HQXE>Qh3ay< z>Z14xJH8t6)fDf_oOXLqt`aA?=qAE0r z0>1)u1GfVGKpZ%rlmovC3;^$z-|)Fp(Jv;!|N97^0>n1IQVmQ4Cj;*RRspwT^`3vP z9;I?){TiMmqhulnMwN$8qjET-?#Ss<<-yZ9R68DYA&#EuX7smA?E#N+^mLhW?DRC{ zo2N7Fcyzk6Kr1!r-ZphwDOwYG-l}Som3gVmJRjn5rn6FFDwyY!yTo5&I=!t%l-lmo zme4D6Z%=6dH+ydbA60eckDs~olF4KUlMrACA$)ctF42bdq#tg=cRwGn z-zKOZX64}fF!&}F-BXyvHy`L*1VdteDb5;)lAtRN=%t??w+X)u_+LN` z_*XmcB9^%!Uh%I}|Eq4}-v zBU#@=9V%g+lBOViQ>YL+)Na-{mE?DZ@Xh<7V3kTMSQ(Vx_Qp3RtZyqxH|dnJPHAOO ze)|hL)Nb4ns}kHiDY zJ>~pDd^*B%t3FHZ=bNb7&sU(@&xgC^sQrBTs{QCUufHY`of0T%E8O7U?60qnT09rF z;+M`wZ_w;O%`QASKv$OhPS)8Dr=V|SosDm3(KoWr#&@&m`&eh=n_2XIth4bwEi0Ww zi3ld@-N8h_BY7<{cWF_zQB(TTV()IkVa zTc2aYhN+?1ZMYRp^0|L@0Zap#(*=`Ch{GOm*foaRnVhD6Oq?DP+~%T5^4T~kpIJw1 zl6*E!E1z%A;B%R9X&ac&#AD)f8S|NVOnfc_q90&DQhY9BJ|moXdn!J=NBDdcydpmT z5=eZ06-a#kKS1L1F(C2z-+{#E*MP+5Ujd2FuLFtC{{bXEzX2pZ{~AbqeiKN1ehWx^ z{tb}${Ga4Tds17D79X*wpuV{9X@%zoc_A4tqY89PY~CaD(u;Zf6b?cZtId%wgg#akzmV z9vmj_(wN-997Z_W|CAi|j&OJoTp|u10TPFw2NH*W3M3A{03;6oGmtp^B9J)zFF@k( zOF-iA%Ru7r&w#|?e+3eUUjY(_e-0!L{{l!H{x@=Sd!CfT_4Oak;ma^4ew^`_^ge3* zC7n}^zZ8yd|IoZiakv5B+q<1POxz_7H!z3Gn8OXsVdb83egkuu+&um!z*QQ532FQ# zr16)KIE=O;-VW8&NBhy>Q|be4{>GX=J%v z_7Z=oOvG2h5AZltE6YrLBp!P$9($7;e1R@G4o|HuXge8)N9N*cj{WHvhwseb@Ipb~ z5mxhRdUuUDypTB@Mr9F)7gDW(!(ry|Lgp~SKZ?WoBOFeGOT^*70TPG1fW+Z%0g1y~ zfyCiEfyCi$K;rPXfyChykT`r7kT|>@NF4qSkT|>pNF4qykT`rdkT`q~xxHN*@&m~a z8Hek@VP4k+8r2+n-k3S`CB$LYDQQ%5Xy|-k4o!L=#bMGp6^AK&EQdXtnZq?>I9xM^ z!^%CvVRG|0%p6|F95$K5n=B6d-rqRofYD{t2Tlubrv&PwLp34w?PkoOPsZOw$PH)n=udR(r{?%aK?A^Q}7hIi}xdyJCjrlUxQWUP{&~go2JZ23% zGG9K^*1w~9nu|W5cv>@tr!`}ES~G^H2>%2;?FL_nr}qMhr#pef)4v50Pj>-{r}qJg zr@Mi~)BAzM(+7aW(+7dX(}#e>)9(R^r+a|J(}#h?(?@{B)9(X^s%IOpK@_sxW@8PE zHdfr-)_3Wc^{<>mhtEXrs&-T3??QYV8oxdC`x&Hhm&V_PJpMK?cNg;btK3u0U&!Nc zgSZEMnD|S5mfG-?Yv4)mZ|ujoOLJ(y&SVqTQ{%s~&KOxcexOxVslf-2DNNxVsNX+Eh{G#M9ZQ;%VIncv^B2o(|Q9WLbTV z|DSMG`}1(MADkhsJ_RJM4giU(PXmdo2Z6-ZzXuXmp8*nA{{cu`Jp?4K{uoGHeHKVu z{YM~i^)QgQ`V$~=^*JDM^`FSiZFzF8o{9TXW4MYo8a<|-POgUJx2C6r0)Kk0Vm(V^ zDsffrd(95F(HwZ}+?e*36XE&~@HI&1O=Hf9hA?Le;kQNjKIZy0V}AVU7+bexjIE3D zE$Ff9*TrMjuZwwXwbrkTd2Ib;>(@AVLwrpDiLaeN;_F%<@pT=L__`iQeBA&fzHS5( zUriwK^)?{!^>!ff^$sBMbrX>I`b{A5bu*Cox&
        9;p|@;NZhfzG^rk-0CeWrNs5{s2d@rj4UlX0Bm{ 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

        iveT~IFR>HYGovXPOI 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

          0bbK+uasemJ`b*G{BAi2R<0-yaay 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%0Df$}{Ybpt+s#$#Rh8N+#y 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͡deo!8>hl9O(ldvBB$+fbs}CTB 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 z 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%0DCc67n~}m+<+} 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 z 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

          36KP-!qxQdXLjc2UzugP~BOw4_Ag03n3~eC14Q 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

          AW$ed?@q~I@?eJz)Lg$*G8Be8e(HND(N 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 z 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 (&@`Fd~BP%0GPitNhpW{gvB@8W z4p*|tpCX+~k4@-sC3j5oHg{pJi_Nn+hvK1w!YAy|kkW4XlXa4NQ(}wh9cL&WIZ(D!cS&g+P0k~rKIK4nKjC7-h2ah>;(U(Yc2DO-&Vo;eCe82&v;m-ajy z7&$mxVr=hf{EtS7-4i}#8Q&+;-O~OIQkv!iIkW6?F7tUJ#@9Ha+?OBkSMo0#Dfcf6 zR+;!c=3n-Eif9}5)!?41woPzxB*$u_U#eSBO2?#hhm=lA>5PyxRjRrH!bb&kPf{Lgzm-SkhKa$nbQ~_@@4)c3H>daeal#la9&b`FE&1>6ko@FQOf9zDxO4x&z(Fzw6;&$NabX zSBrn8=iRdK|GSKiIA4W@l{r|-&so@D84DX+6$|@~OU_Q`Z5EaW{I&f5Hc9?}o4^J) zm9xRLZ85=`<9rqWzkc}tb)0gL|6l(m=Kt3r{Qs6%ShIqKeKt9Scda_Gu)`7yn}yv7 z6!LN$)s|V-Z$5FDHp`sHDcQ9%8QJv#V_M(@ypic7Gkf$FXu_laJIY_ zFShX5?o==2Nm9M=+eP)lFP46>-wxvUQC5WV;g>PC_+^YOei>tnU&h$tmoc{Z)v5mY z_1qgh39j(v?2kSOzP13qv>^D>)8I=_bH3EXvEoywc-@|QDqeWHV6(R$qhqr?hJ9gn zHeQ%RI|O_CQIa_W-gRb%pZnzJu7Y`lc#}0obUOdd%;pgbsfuD^R z4}6s$JNUJD@!)xu{t-Gh{qynS^e^yZ`+qTB-2Zi!K1#siWjGrS(@?1`+g-(&yC{rBtJeq6))_chW!0(I}Lw2 z8=_NSGEZfR*QMC@ndmpc>Q2Ka?bD2qyKvpm6O7e&Uo<`InTH_rQOG2g z_IhO=hRnw#nKO|2IAjt_yBe82(F06>@KeV6K83bE0i6~O?z45$8$Fm!p`5}5_DxK% zeCttW3c4Y_7UiUR9)~`jm@<3c4;?=vbiD6Cyd-yDmdavG`}jfIcX$$gNAe33cJ^<-DA^c@8hDp-Kd}N zbKV92)l??)M?SLG_HiCZ9ms!pVQfT_JqG{WsKY4s3IFE_)GLlU%<%H!T@Or}$@{0w z?nkE0^^c13Mo>TDJDvP{Q<;qC-#KQl5$Hf2y5Xa{FbY=OmOTnS9Cg@*ePaDUC+gLK zIuKtAeRjm}n>4%jOqq!XrpP&P5` zh3#OdZMoaQP^0`I?6cYI-PkwAxLUNUrS0xXv*WHQv;E#_GqFdMHHf;|ayj>1=m+yH z{C~%6<{N7mY`H`5Q;qVabq(ZSJcjafyj`)DJ14<>PnoTEPn(_hh_d=oH(M_Et>m?!<^F7dGubCj<*AZgACI9hJ)GLBIEb{Uqv2BxJzNg?@dm7BQD6a=~w&nIP z-`bpMhi`40Jr};U`_i^=dRm_mV%$0Q*-ZN|_Mr~EyijE8Bz#U!nbB?2V7^6pY1G-4 zn@0V5xbN^}pTwT`v-KYo|N}cd>g|Bi5f7(DON7o)PSw1k*lcHf^3ZqgzCIHaGU*Y9}X`h5o z?J2XdciIeZ66M_jru{rG4@~F=Fn+Nr!B9;W?( zcr@623A@~~K4qxND;A?!8@$>2MSaw5rZ#Dzp;~T@z+5CJn ze2u4}E7g%un!ws+kWLFfpc$~n{U4g+{QTVWv-5M$&K{dPI(vL>HvQ7v)9Dj)Po)>; z1}gaZkH#5a{XFN|@ojo3_fg!Wh@TfeH?d{&^V=C)#?Oi1eUjEF$mfKg<@5Y zIg7i7*muz@SAmt}s&sc*_T$e}X5w^BQX zYU|x%`WV+P^e&%MP45=t$NE?3T|TFp-Yw>jl_T^npA)X4cVYl#e*VVwmV@5r89#qp zZ-qBke{X#WdRt)p{B6ChMQ_v4+kWN~JY9ER4SxRi^{Uofx3LKQoy22S2R4iij={2WV%@;TLXm|!{-

          ?h=Ty^Sg6U9{BXlUAQ%#47o36uA=2R#J4!fBS`8k#j<#Vd(u$$>nlp}N~pHoeT-Asp~9HB$`oN7Ak zzUev~gAQMX4)+Qjex`;F_m=4p%bhRf_SV+nI;KN@j-^BSoN78;$8;#l5jvF5siwnq zOoyTzp+otcYC2qZ({;EPIy?g%P6!?Tq@=^#(qI3*wVr4q9(rD^>zSBP+UG>t$=4ID zXF8jRM~;^Agr5~@O@sUPzqquX=?HRWOL^L#7HP4bXg$*jbnsh$ zU%sBGH%uPlG4CIunH2ms;&YFF4aI4#Ckl!6M15FCM8`0%%hnb329ze2w?PTM2><_1 z^7Aj&7xlT6Mv5Ci>ygxY9yb7U`0V^%KR>?@Ui|6223oVUj_2tUGW$p-&Zn3He(QV@ z$DmiNKk9QUVOG9Z!7^mj*+a8TsGp{UNNx=0TJa3}nw3^|ET*)O+z5_&dPSL0Oij^w z5v9$K{Z7O=pjZf0Cz3-k4zvwCt^w62ww1>26ys(XH^Y@G82c-02DgBg`o|Do?rL-xf zKPjc>rSzhdJ|(4T4NU<0=)txL{H$#DceBGvm7Qu;+HeOyZaxRm~kl>V%g{y(JjKbO+~QcABy zM`dfNWF7t8tr#42N`F&IuSG}pS}a*V|EQdA zVAmKQLk;2@YY^91gSf^T#5L9+uCWGOW0hlQnJ#j1ozb;UW1H4ad{L^e-0q*1_J2)E z%R2Z)Y5y-tX;~k?BJKZ{lzu}>vvpgz&g#UvEvKXWI?Hvywu8FvrFC2I`OofMXX^?| zK6mP>Yqu)$LIZ657Ok7gLmLzm05?A69Hvv{^;OVSy59ETPwTDt`YnIOz8r3$zKVV4 zuurepw~T$>ihXZkpQmCU)x}-0FOGd$#l8{jbCvB=(lglSM7yju(RwiJ9;RRoi**lk zbn^9_q|dKlEsB+AM9QOfmey8%QOc8(^3->>uzMlN`Mi{8S<2(@jM;h4NO@@8j8z|B zXT;7^kn+&_87q(88M5=7l=6_R-pb?cgx`6wX6z*?&$5)q(+R)zB2QMzqe%C7cV{W~ z!N;XMBT^o%6HdB?oadxGIVq2;6MpGMo+DV-^CMW-W9hn9e|%b!RjWTvNO@}YM_$TP zt3Q5B%2TU9J|^X<)gK?0^3>{&4@h}x^~d|9Jhl4cF)2^2{&=sHr&fPFg#OsSivE!M zwpM=}k;{|DzI=T=E#;}zA2U*(TK#cQ%2TU9rlmZ!`eQ=MQ>#D5r98FzV^qpht3P&1 zd202?5c*?BY5iUUy=ytzOZO>iH|Za@ICe~JFWsN^<5*5QR^MK_FHPYX>DxNb-(I>O zkq$`D)-hju={~fV%9D=i?WOzA7?md-^R}1nJERZNrzO+VUb^4xqVo7Nje)Z z^64d~a%yQ&d1Xn#93hRh7~JzUt7^6danoB>E!(DgvhAv#?NI&MPPHLxfK6xwqYwnE zfcWd#5ZHw<7={SGouXhGG_VbB#yG%lE|>%#n1{5Q$!<`4vKh56n^gO=>(qg4N*&Cu zSBJ6*bvUbZd|`>6(Nul<=TKgQFG}8C2gRm9%y+7r=FxI)_!YcIQo@*cN) zF{dpejzlo)@p?{sJ)SdOk2ml3dd_$>?`cn7NBTtGt$hlA-V3_NbKL88ANS;u2isnc zcAS;tIF@&u^%f8hBk%Bf7CoX|Y7_NcPWhKh3CM1bO_A`jzoNn$JSdq}!izzoNO3 zKAy&UJ^hqU>-ExMzFrS8LK+bx#6XOYMma`Eqx-m5(~i5L%d*%YnzlTQx-X0Iu0gk? z4`LT%?zYoyXWI)p)&P1Cw>^w_7#^|4&l6u*%4!RXZM6Q)0OvXEOf5UN&lWM(i^Ug< zTH=dK3SyB!w32ga%fMiioLgH?(+-EayojHG3O`Z}4X4lg8@i4uL&@XnU^3hF_Tp4s zY3-m(tQV|Tjx9Bu4HO#k3v5hcwj@{QuA6^JcP43lpbjnp7pHS^h_4OQ>%7hd&#q+7 z^Xdy4;$v*U3va&pm3$oEIElfCb6)o(ov^>x1sa`2&*&@;D{b@ij<3K!L*2X;CnHz) zrKKY3No}&)njhYsSstdfe%og?%(>PR3zNe7zOk`ctV>`#3Dz92^?VfXK1_40$uFI- z;$dWyZ+|LAZA3hHwiZqiYvJ4qCQeFg;bLMf8GhMXGW@c&WcX!k$?(h8lHr%FCBrXU zONL*M0`|BQu?onyV%HANE+jEm*>*2x*3rL(eyq(9JbqyS>qQ0z7_$%q3r_1aIGd04 zB7&hW^iA4~Jm=`AY~H<)!MZHL%6}{X*~$Gj^Ik|{?Thf$&V8<9&5Q7jUg$bxGw9qu zI@TYxwXu2>I%eX1hfW**nV0!=Ha^0nQtTG*?7@7%H;;1ix-1DP6pFa$bj4+KNbl=ZiJ=1@R{U6 zJcv*<&DNm7r!{<-hZt+0!TK|U%lGWqkk)s;XG(|PP+fmGq{n*GSW|*^3Y#Kk>Y)%{ zduC)%z9GuT8iF7%&x5*#;fFmKO=4|Zf7Z*^LG&=6@jd9Dm?$Hx*w`8_SGCL%hT%JD~!#cJu z$V_HQUVXF$Yv)pI?HS25n$u(_k`((e^ta7rq{t%q4WSTbs$pXYwJ1I#WRl&r zd4yljxX7^|_ZIlgNnpbpHXst{mJ9H zi_p37c@fD`yjmAph3{Z$OF4V5v-|hFCz4d~+#=4K-s63k+Mu{vJb(6z>Qek9kGB2I zv52c#XLIKc?62I1dinFiEg22>*Lrb(ML^+8ZLKZJd`pV4_p*#8ypg+69-&2G!T_#htj<>N|e+>vtJ<$FsPf&MHpK8R41az}%mXXA+H_20WbW6D=z4 zy|XL|GM-O=QG`z~F@C5{o_fVYGV3vRX`99^ZPPfVZ7kw0+jdlJ2P?Llr0u!*N!BOJ z)Q1?y!M#9b8UU2TWO(vGrKyUAEm+u}!Zt8s?OK2IGO`6b+~P z%Xchnb!cy0QeAI29QOvZ`rKQWzUzF$;ZuI|lB4O3ZeLT-)SDu@pSGi!q`xU*Iz-x` z{1Ni>p)!AX$wB8Ue|idI--QdI@l%|-~M#mL@LjZOZ{2GmloewshT)~pX^Kg3<&Vy}e<|yBH?mWxW zK<8O9moM_Na|JH*t?zI-wrtel+<76>su#*zz9{y=S0Ae@>i5=n_`a(CN zkNV$Fx}jL#M#mMOzg}VI#4#RG&UdLCl#vexXN$p53g0zkB)qJL>zv*&%FLcTN%s=u zS!hDpMSR0if87f9-cP>6T-s@x4~?NL`X?7(3_vV%O{)>_O7lwk7t~S zw@2^lUMIfkR=le>AU|>Nxw^$A`uD~reyOKFeWIr?z0lJDKKta-R*WO| zKJ46!5&zAL?qU9pv5wv`1mDoy!}sB4YxCLbT)W`=lb_Q7o*2DwK|ZH`knh8_V)NPS z+&IT0$`O38d`@#eKL?L0o6lb7#W}ht2gddl~+3f>{(*3lg1e8NPG-@ z_D=S`jq!Lnp7?~bIJ%2%WS7I=dO4P5n}?_pvg) z%lu0~Oc^K&e{%jZ+gub;(eOIabPf2zBX(|0PQkv?nNqWa1)0p1tEA{SA*-QmK zDoE#k(mCeyEnSCP?HIo;&@Vlsrw==-m465fg_ztu3j7WK0fs&1Ci(lYly@)6v&IpXXN@CgeW`tqLzb0?%Cqvg z>Pzi=M9M?uS$Wj@Qv2S6@(!RpDu*s}8n3b*KMENn-#RAi?S`3{gTidIvvV-|y2MgGCFhA^IfmPYT z;QKSY()VYj9gN1fcAR`y3R{>zam#ICi7K|R|IOapz_)Rncf!lX2Z03$fcPXqiUdiJ zgdh@vD4L>ZT7qaZWN< z>D%7r?!C%%(_h}iZQn|AdsW+9&v(7+HT`tkyI%ScWZ1&eR@lN)E3$=UY=$kYPqKw2VGBzzTiB1?j4do#vV|2L13ntB zN_$uo&(B1n(jGQ68^a<{+aA^@d|)Oo8hy^Ehm%WbvWcZ&6B{Yn#71Bf9314|z(Yf( zO{{}BL=`r%M{C%`9QdA<{6n@0|Bx}^ACmcDgx|=x@DJ%1{vmzBKcq+ahjjNS%~z7x zuB30rUPbtUgwMtvvYWwYBYyFP{ukGp;m3{URADD=lE{w4e4LHK z_GQK;huur~6=VL$GO&GR__t(XY_I8ujM>(}h4FKtPt+gs5w{*=N%l0VqvM{8-gZA^ z-W%21A6%KtIAo?F$AxcHl1cW{4XA_cX{OA3r{TvAGVfoROtSk8K&}gNNoD{xs*RAJ zFl2V4o%c-ZUA>TbpCJ==KeO*WQr{^?Hn-CaLY51yMx*;WVUr=bpO_Ay`w9t z2ktRs!tQ6vgxycrKs6zc?0!R#<$`WW9@*(Op$@XAQQ!S*GO+ti>uv2(y>Y7{6LvpS zChUHuOm6oh+u1PWyC9e3-3i$vkeLxOeO(#d(><*R?uzQ(70SE|GDjtuTOo4`WR9;w zCfRtYzp&wDGqCY#jc7;5v|bEz`z@XKB2U2|HtmjN6D0evBM{ZKNRu9W6gI#XpXz3I zlvgjeuIKBK6Z=+8n^k4rUv3xt3fTn*%k6^U{u*{cvDb!0%(M%(;DGFc_#(X$hF$PQ z*)EudU2r|O3pUAiL3{*+`(YPMSJ(xOyp?uAk%HNaGrjj%k0CY_)G($1eB=A1_DAX887YL4?>TvkOKl zj^8P}VB!|p1!>GzXczPgyI_-SlcRkx!-iMWE(qRNO}pTR71;&-tFjBCzIVzlNcwvx z?SfR__roq2dK#Y=aH36E?u_RfAmKEH!{9n@H#GL=yM(O1NOqGZIIgw=^F{3M(_d5zLh%2UZ|Ze*$cI|o_(&uUf3$^h4}SzdtoQ+ zg*#v`9EX3W31%$u%82>Vn$*$s!b&(05J zW{(ez&7K_Ek~lFmnm9Eyl2{lbyWtthZn!%}c0ZxMC zO1gF^S@;PvzMr~a2kh#&$66fc{&MjG0zXbT-pP+)yS&;<$CLcH2ghr1eCy`PF4%D< znca}arCjfwWqNOlhKjZE*N9-()+Of|hXGQEp>gx=*c-YR-; z6nejPdYgjYb~C%-ZM_vJ8_Z%XN_QhGJ*F0<82?aqNm&h>ob?f!RCn|@VFe_cw; zW3rldn|4~M%}cN&+t}RTZMKQIVH0x$qgXySpljGQ*;tXTX)e-O(_HyQsf}Ni(!V05 z|GktZJ1xx-n$pZxSII~BaXW1<@(~}M?g7ItYuIW-)oisDdC^*CueDdP*VczL#^tWV zKFM->E$5?KLROv!g2;xOLo+Hl;O3miH@PwA?TsaV;Re_jjXY$7H1gCpmiUS5q&#Gc zH1ep8B^zhAlxIoGV`(h$INM>bjKf}O)Tc=K266@tv1~y<*C)CO;Vm(ZQ6h~4WUg6^n*EQW41I`Y0Msg3~GaMt=?4{tM}j<)ool; zU8OO)7uTpxCjBGs6BmgQ0ujw*6NzxR6o9 z{yRwa-{Do-f8meO{+nj@-zzs`{~eI+zau^xuS)xG8||f}EA78qW;3{PYukT^ zO#83V=lozMxisj5{dXAl-?5VY7d%MVNBN${mMtawFZu4Pu>Ue!cNI=#h5a`!?7sSo3?5H?UL-joy4Pr{TIKWQvAg=IKE=+lI(lJ4>w%q)$Mk|tc3f}~Ct!n};9Nu&e`^wPvL+|EZE_0S z%Bd-qW_IM=sLP0T$Ku@acy!E;ybpHeeLN;zVL$A~`wy^koTCZbvB}YdT{o3t*EmNL zc3lyZsE`D=v5cb$JFjU+)+_ADu<6ExO}7&^-A-=Pr5Jb=tBzvgQM|dK$PpF`kLoOLGqAqRHW;=S(psxSp}Lm>iGD1K+M*_$DPgD#a2byCQK6 z$p%ffXtD>RKF>Yxnb3CJH?B24)T#L%h-sZ4p3u8KG_DVPv{O%iB*yK*t=lEL_YTwU z?SUM!1(O}0?D<~ECR;GspULJ;_F$@`_rVFh^Zs#t?W3J~*TZiob0?G8583M=*O0jZ z@=~yylRcPZ_B;TY4?^a{kom~UWD=KkJ>+^Jm)c2O)=g+L*@KzPe#m@aTu-cr%!dq_ zeNx|3Qs1|;_*BGS9fm9~`cLwRZ@L+EkUf}WcCMY!!}pHsJ?lF4$ODE<#Kkf>y5Oz~ z9DxVzBY9+J9)T<`bW8Hc&U`28AbT*$40liH!S&;MXK$w-y4R2iyR|73c5726mv4gxn%Aefp?6RFxZbc9I$9^{TU89I3B;fp zUquY6PQ;*!>D~9i-rWVS7Q)^ggN>W^V9DMc-L~A`&HUhumfO2qHr23qi~U}FBbfH? zb{vqsy9MW3VDH{9+q(y0@7~Pq-BH=z-J+;1n_%xAtgv?*c`NPRBA;pRHuF{3y9X=m z-A2Ajd-q_4z1zsg?A=4yZq8n7S)sj~u*9pechfui&DguqE_Z%V*t^BplD#|1?A^o5 z?A@(~y?gN1*t_XH<=tfO1|Fk~C)+9=8}@G6kE+FkrM&`-*Q)H@Efx0d){5hIo4uRH ze3ka@;4QUxuYGshyGeiVq`jN!``2Ud9+d3egRzpm+Yfv92<+WH#FsK+P4U=MWb+s7Eo8mwv;$Fme z@*=*I7j|$j?BHJ5!M(79_X!(#@)3{f_BN?~k9pJvZ&XdakK4qXHgcPI;QibtZrJM3 z@g@tnvc19~is6eM{&cu4d~{-V zesss|@zL?wlcU=cCq~B-r$#f0h0#h|_|6!!g@ZRs?>evtU&-yn_b%DO#XAd*Oj~#l zv&r%@zVYQ{yzn1Ha$u=2ZQ(u4CM)U@Huti6giRe=*QPDJhuLIBJ;J^&m#Jox?J;cO z!iNv?Uk!EKj~GTh?7OZP#|b)~;>QUbC+T<(KVFODJ{;e=dBS6-C@1*1l-t64%JdFL z+*fivwe=ogdgo;fy~|~)={>;oF6t3_m&-I)(R+aDUDPA=E|;mM_dta${O0ekY1k(B zGFv#!=i7Q)X`GaO(A$1y3%{+m!s{zv&(qM`0G=s5%oZLli*qF7hHl@pwc{M&*@b;J zFXAl{o*-QJU>TkuWa0^uG0%js@h6jti31RLf)HEhk}=#x68jwfhwb38#y1IH7z2rhRExZLd9)&X9vz!SIy zo&et{*o(z?uan0|XtgK}gdHGUfx+!=wQ_DZz9|`wfOy{y5f=g9Rd9opz1Hf4KYf&A z7z6lrF*x9`U6wfD@JqvR1|uA2FoP#G@uca!mE#OLu8%Vq^p$W1|I2pKNw(xhjx%ry zTe1_});aLhXH=` z>+BqtU=2C=F_GuiGQ#q5T~rj~Xc1(;cvxH^63Yw5e9RyChk) z+Py}~Q>)z(DNn6-H%fVGwcCYu`&Q8I9!XZMcFSW@tKIUL)M~dpCbin_LAwJbTm-WR z%D9m}w3ph6`-5GRF)RsOqxKos4BQvplW|<5b{W@fjiq@&{iF66*JR8~E85e3i!c*6 zf`907+{Ql`_=lqc|8NxR%I9w5A58p%;UAg%g3hcG|A07vCjMa*_=gdOe`vtI8QiWc z#h~j|`+^>o@egA@8m~(HLnq-MMk?_SJ7#Ba6V}E*Y%%cRg zVir7aj(>oEXhOo0Pv{QvsaAo1U|5g0$3MWG-R^IL@17L+hrSB@LsZ}&ngsqKEbtG( z>+s+Gg8%L#{6mL{e*ose$FT+l|3Tm%4zWESsux^&57mobxVjM>`qP|4Pu%A;?8r}( zZ{|tJn4IKzfGKd<1?J%?y0&{3n1|i`+8$sf_UvJ4hNGAUUwxWmAPRedYuL;24-7}K z54eVX`*^wiz%}gO&(aJ>F$i44;2^&?1YE<=5KA*0MH;vU)93Y*rq64RqX5pKkK-H) zDPR~<9K*nI6u>bg7P!phB5)L^S(>l|go7|J5rj|J5IMm3@z7zA^YzaFXK|L7?I{3f zagL?AFYM=lvv{5z(>qon5koz3o;L|QcrwA#oV%R_E+Gd0#k-lEJpe4mI@o;g0Iq=W z5U4Ng?}%xkhvQnXw?`X%B%$>@7}I;-AJ;cN)T0l4Ai?nveX!Y^coASu1YRVJ@gjSD zANn+eene0Y;UfAWe-khfgomIydLc9PP+U(w(xdl0x-yw5$Q+hru7}LckV$xm8J6kqD=KXQKcVmwpeXyF$v?OzY$=nJ#ThO)$SJ=_u3Te>h_4;Z?Izk$9ay9Y=%mEjm8$PsuE z59%dsOd$pAgjrt-*ogsPGH}ksWDMfm5W_>DK2Hc^+1MY~BX{)Z&6`Aht*FnG+sf+W zxFy^(CN86o^>aDiBUOR-NCWRNke%WEb9?$x-@3T&-O!^)Hj4UIg!kY+6_(>YfG;V- zd-MVCk;=~U`ZRY}40w;Y-q7Cze2J)URd|mW@E-A1;5~YP_kfT0Zs0w7eQHqPJ>tN4 z7G#~sSAqAa^m}gPtHgU$`aL)DF}%kXhWBV+A>M;=<7pRdg?`W9z_-WE z;62c;lHYSNwhhod_j{gMhWCgWcn`zx`Azyap!c$O6W#-Oq%yomOgc939N{dd-Rd5&MM4AFvC5>(ZK*Q=WVJU&g<|u!Q#*mhc|if%h0& z=HI{up9L^sWC`=}S;BmbULW((S_AV@v<4Go0g`1r{VJupsLM7NqY6 zupphb?HmgNKXPP6Vq5||^Q&P&hG?%q!h*oRH}j*8U*SjHz=EWJ1=%h9sB;WRG_)6f z)c2KPK?nmvSdb`wn*SP-FixlD5vy_aD@gx=*c)%0G81-W^>?Pqpn zWpUrPZ|kk_`pVa(1JK(+h6TB;x7Fxv5PBOju^>%vhXuKP&%UnWSy`~!V@0c#?SH7) z>$8A+Wne*?%CI0Zo+erLya~~|m#qD~F|Z-@JTjg)a+zxDo`Dr%&o!~`$z`godj@ud z)g#tDxlFZnkFX@=~Vk`F54^cz2fLX(H^I3^@iahvXRe8-b^ZuxBvj7+4(Ssl?Mnpo7m<;Az?g zo~B*kY1##zrd^7SVBl!*?FZ|5_F4>nIp`PPqYPKm?p%(ii3vPSJ3<1nG6GlQCR`20 zMIt$Fj;o0^09OOdPG<*dpz}VZk?=RnkB9L8!7w($r-z&3PhpSS*M+Z7^64?gu{LCr zAwT)_&A_oX@RNVNcniZGhP814ccA>O?V?6l8!yM&Xbvay>7fa%ga)icj=rr)0~NkK zT2P+sv411sAO4S&{+^V!)Rkg1IHj~#N)zrw!#7VWuopRev*U9{qyE|vG?n&dsDA2q zQ3;mgZ^#u2FhHz7|DcHe;2iKbEAEek!!i0LV}rgc_2n%oZI#-uNok*yUQNHsFga4c za)>d($LZ$#^>Kb^g1*&D?XK0gIw?=BzWtNbrdoab-%_4heWN(7#(31~+jr2n zze3*>%n#gyECvU~oulUf%^{kL)EDC##iBE=*>H{eU|f@9cThj6?Z!1Zb_dN%YO`@o zj@|JOxJGR?t{HKIs4f2+ZT&85D{iX)pZvQK{L>FPZ{wc~{L`GkKh0sjeEv56$;3a! z4F4|~EBwEVuM+=+*nlSfX$SC6+Zq08-Ob>icF6dr2_KDDCH@IPhp!~ISK^;`%^t;K zQ5*j>X5ycWKIb!&$)ybWe;Ehw?Y7+RTFc=M{|Ce==|Cgll zOps*a*H8GTZWI5s5BMjJEh_kdRq`KZ-{Mp+^7^P={CcQf{JN=L{AyG$ejV$D-;XR| zofw`;#F=M!CLV8tVWeiJW5pTa-{k=Oxg6k_D~6Feh&CLYVf7Xc0fTjjW3U)TY7|%} zGxi9uP9pXQ!$=JS>oh#f%Z&i*G%~`{93%CVgptZtV5ES3N(=uj1He5EaNHBeNCErQ z$FWa^)EVF{IId|pa@6z%Lq1|QN1gy?=y8UFf-Vu9ov=;7J|#HzsgMNjDamn993%BY zjNVg=eH`yp07gm1kC0yx!hcXK5c1DLzDmN87lE}RpD6no{t5Lo1s_Xjp+}Qiq`yzQ z|9vSf`SFCl?xRWlj!*RIgC9$A{8M_jgaLzJoq++SmnPx&C5<{#*i&wXT#9wF5%{hF zV7dtZM0NB%me7;$P3r64->0wpz{+G&+>sH;ZH8QuN%1`HgnYt3F`0Kk=3_}cwG}eo zXUH6t+POt)=WZ6qq%|@OtP*S&XgA4Q6Bz+kX)nV+k<8@ggx>Z@Qt!L7Pj7$BkU1>L z9Fb&>W=S4lo+u_pGv+PHBTUs+)IsOZcSH6VWD@>~WVYU!(4%)H_4bGR^p+LMyazJ3OET|;%pH(P_@^6{c^_ns zOETXBnG=vn_@|Y~By1Py&+w__M_+eBr-gyIsT0DJ`B6`y2j>KzHh?<)&<)|BP>;U} zSfuFYq~3fNbi7sQI1XHy@YO_EK&p%52M2&3jIsIaL)|35&;tyiDZ2-LlZJr1!Z{On zHH>p338xp#|H>o$?(Ffd>sIL|6Gv&52Ur!u&1w59CyNWYB)^gkx{N6~hgc_h5!d(## z3iY`?-M}PuC4sx@(*qkteJjFU#cKH3>8!wA#hLG&qr5)N-H`z9DycVg_vwwjqP|t( zt`fjqC0BvF>I3d7r3cpmch&DxBLa7o0M^RDUBw<;j=O5YH-UF&Iqs_C?i#o&VRMvm zSG@vv)q(xx4&bh=_=d>FvCoBA>=!b?UERlVS25YoPKTm)+zs4SrozvTk+%|eCGwem zcFcSgxT}nor00j#=?Gi!XEX9u;;u3kes+v}40koga915G#9h6)NZ{3ca^>l?kbJ% z<<;V@Ix28h@rq;Yd^_y;=KeYCyRr8jpH=~CCAZLe7@_xQ8g;Ww`Qt@SmF zOZkl}mcVOWu7F?H0%6Tf$B|^*9SG|dk+vxR4S7;lRrw=eZBSnMyDQ4^yOdiMSBA#? zHty=iaaW|jcM^9+_5JI?U1cQPRR*}L`AbU2;w2UFWR5EnJu3LwD*WuIY7l=>{59dP z4S%g!#1UT{v;cdxqY`_iA;yf$j4=~q*sIQE{&o!PRWYL_XuliZ%@-Bzg{NUSyJ|xj zib2ziSTfDZxl4>cv>lkN2^o{MW7+pJ#aQ9~c+S8dPYnKeJ}Y9;B;b#yFP;ykR-W$MLk>4G%Q`O&ZRXw&= z#J#bqUR#^m|6Z%=wl%43Tdit?EvkmzXH_*@P>sCbs=91pwfO^9)nW5-oK`ii6Pf(n zXHJn0{N%UC{noR;A+TD0<(Y(1_gB}t1Xc^bt=w;qNBHd_tkwX-YPE)jvTG2>rVYM) z+Tpv0*@dx3kZ>t#D`cydwMrX)TSeT3HeiAj<+aQ8RDbO3rBSTA`R%}MZJ(MwzJ2#B zl`mMQVZem#TVM_nWG|nl00_Wm3A{N<1D{3b{_;w~whM7V{)B(McgBKOhRHzZkFDx#I{Je?Pe*a@Z^1K+`?6`3@Jpq&`3Gek*uPxA`+v~&OW3CU z&@aa}wMy8gl73TIX9uv(4vBSkhWAt4hY@;q%!qzgdGn zpE~~Ri?DSzg>`lS>+BHL*%_>}2bR}+K-4Q_$m?u`t+UsucV_vsFLKM**%b6U1N{y# z>{x5v`%UavNxuWo?-2BRKLw${T_sV4=u0vkf>M4koDWl^n0Cp4=&el^DWo!0Q7qxdl*=#{lMWhT84z4 zKU}8g46fy&*E&4t2K{=uKdlZo#M5yD;VNu?Xn{9ZH8WR-~AWR zD{BkJLX5GY*9RosJS?RjlhW^((jSu2AC=OEZoc1o%|Wj@+Bc}8*UUe^^LpiNS+3W# zq?;irJu0Qgr1ZFy-X*2qDZMVye1%SzD&}hJt#@9hiizc1WcNR<7c{Tv8OE@t*h`^w zi1Z}V%~E=elvT!hzD7yHXseoEJ}3;6N?&^H`N>4U9o1$AtRggwb@=smcYP zngG_4V?v#(vV>z`qxrF2Rf;&CLG|?&=W;k#!jAHM7jUlR_l=)h!nu;)HzWstMOKOwcx1W{r)au)LDNn7w z{e+aKR^L7=<*C)TPoZz;R?xTCWLY)(_UlrfT7A1D<*C)TuSt1o_3f9WJhl4vW%TW< z4428C-!8g;9T8wi#X9omkdfhiVb`1yzIRLO&HuzT(Fb1{`6K!YL>LZwQ z;@W?~HPL2v&5HP|#d}2{lNcsBlyqDxBcHOP17o= zIC|7m!Lt`ug!|NTfrxuPcs^7J=Fgqg{QjIf5WsUnjTcq5=eu6WQ?2+!QLb9+o%qh% z{cTn8tMu%$dTngqSy5iRhR27JwZC<$`Mf=EKVM&{|H=AK+w1Llx+m->-39AO?W}eI z*W4Y)7nDrQ;eQui{Ms$YnQY?gG}X7BYdycFpk>?%2l;IyBd&7h>Z^EZHsb!(8Msf?dIPx6 z?d7=7%oxLcj!U@DI^~;J$bo5ta{Q9#ytm-VFPx>mgV~j-jjdnFw5H zP+&g&0`ut;m`{(ue7XhZQ=@tb`*{cOV}rntJ;Sh{kZt<1gP%L$%Z}kfYxuI`xKQ9b zX9V{10PvkCEEJ_-!whg15d$I|-HM+P|Na}bzM(pTZ|#RKk3Ypq>_i`P_hgzB@~p z&uHIceZYLCfcZ=V^SLsa1JJ{$B$IHYcR{AWeBO{u!jW!)+!hH(x)p6s@Od2V17N~+W9`CoxqWreFu)z?0X4En!!A6k#MBjP=~;LMw7q=wgH#fcV`+nQbQ(iq^3;Z zNKKg>M|wB*`NuH-TOgNkr1wDfcE}W%&uANPuB{KJ^mUJ>^))M$c`sz{kYwHmnd6Wt zFrPOh^F5F`A<4WSGIv6zz*3fx!&jg>l#_>Wia&rrbF5HOaB2@PTJyLI=4IycJ?i1@;qI(>~x7Q^1<0 zfi)HNtq5zHsDU+w54c6iu!IT)-=K5JPPb5u%>;$nx=H` z+B9M;iu%3}SkpNZYuX2_X$n}=G_ay53dK-bc0WAu7WkK ztAaKCN9@^GVof{mSv}UY6Z`s|z?%LE?S~s!Q?-OOtz%eIElzvSwoXOuya!lQwK~?c zj$uu)KY_dsZ1FFOe3e+!I=q(7Tdgb~D81Gbs=o|t>J%8#x`17ox7%4hi&b&Xt6`SU z8Ssa#fneBW2hrQmxPh6*pW z*K29B!ndb(=a;^=)w>Nb(^^}ZZ!rz;=oSPI(ZDUDeftJ{W4PO!RK!Z+!&Zhh)he;3zN}MVO*O)k zHon%SHTraCV^Cw*(@;;`)fnVhQ=}Qzv@r?cl~_~Xk)p+Z(e69<^s9BJFDVu~Y{GddA&cjs z*f2~6>`yaC`MC=hSspi)Gh{AZ=5^-^T;>~Zayh1KwBf=RY-j&cWuz>OuS7 zc$1&=7QFdlI6O-Rm~RGyvy7MD`O+yb^aC9Iv#-!R?Zkd9=FBO-zbEH^@oCaq5PF+e zf-u1;SKZC9i&0tV&(ImpyI+N_S&RA5$@167UR|iKXnl0Dps-L&1YOda5nOFVTs}5M^mE6&9t2Vw*Jnv9rr!o`pE0Vi} z4e3SWxIDIFrfO_Q8!)Ff!koh2-*@oMz8rJv0Or(bVovMc4s&X4N{|&+_WRdC9L+J0 zmBu9I`Y~(KzGK<9dI?`j@g50Z`k5QTm!^g9zw`$@s>j=^4#3Bs*W0EJeuVo1Y}?9x z0fs)xeE~*3#(e=cf4n>%WS_vL_6uBUO85X=e}lNxg4;b?92+b1qi^^CG;yVf2YIT5 zD`oK@yI>YjEeu~OaHYV>gi?qHIRISgkieDh1Fm#GaHTWAl^!s0rS&GRv||~rwBG&P z)A_MIv-4xXl8)`3Jvjz^=h&{qsj;1jg|SK>fYZ3se*Lm%562b24<0b4Sk`gQh!=<> z(+6N5^Do59_;xQZXO((9{2a$G zay&wx@X2I+XP}O&k&cJ0#epRIj_=2D3mxy{$0;1Ir{fuZydK9JaBScoZ+@Q4Fx-fN zDJ}N_m@Lz~>~E@?-phPp3BAi@s_DJV7nabwT&B5--phPp3BAi@R^kim=Jj?EdOO78 zK@x8Cw%%464{{cIJIs6l-qu^;^_8#Zweg>~=iW-^9$`F>RK<9f>o8Te?s1G}?dOf* z&yHc)#JVS!skZJJ{_WUvO{{xznQH5v;qQ*sBi22+Otp27{NKqw0B?TXBOK@BRdJl< zIvgm|VKY59f#a<8%x-4SY+lBAX3J%&>9CnSvqe2ZhjN)}I&5aoY*CNUp%G($1p?ouA_RJk9;7N#S} zG5j%-9K-LT@T1tmbOJes4@Tsv^rP4U9o$FzM)=MlyET2+cM2S3r@&Em3LItUDshz9 z#{o4A@+xqYodQSM`7eQ^%n*(;$iCAEm()!-MhUZ6tRvjew=NSRRz1A9fc>hHU&S|V z7v1>g&?4NgqFdl7-2zAH299#(XzMk1Wh_cy58#A_;UHJygD*ljC*c!|VWC92OFF++ zO4HsL@los0mnC2kpmer(Woa&tO<7c$%6%+0;l4%Nn2*KpDxz;V2aM>7`zA0%B**BZ zTWXtMN;gUAHYpvK(n%>TWAIkf$1;D5av$Mu(Z$A(_purdmd4LjIeu087?9e@uxnzB z+NJXhuO`l~lg@9D(wn3-^^x{^jB&)?4#SjKB9-G9?lFBY0-H;^hv60b4}6c1&xH;6 zq={l2aR(lLYr%o*z8J>UX;;!2{MK8Q$r=3OTYm|AaBh4=)BR6-B4pn$VfgsC8dzgm z$AVIu{JSiWv zbRD0JK90A8u9o1Fv4p?Fz6_3M@N_HT@A$bK&Xw?Y{M-ecE8*|>xh0${;qU02l6V8> zN*FsF0Apv|zqFTY+`o?Il5afn!Dr;jNO_#iB_Da@gU`s5lk(V`OYvL3Bjs6=^3*q% zFm{B6GUU*nxzQeLbIIT1f0pvlKCO|*)?D)U_UPs@4BLmGac;|9_M6)aw7Yr98Fz|DU8hwfcWq%2TWVuc80Hjs6?=y@LK5_dUb4 ziS>i9YepXGzmbRG+eDuKD&?X68+jPcP2?fGnjwe!Z{%TkH<9Oer99MsBM-y9i9Ek8 z<)Qu?c^Ljp8rNhj z=^MC4{WGq~7*ZNv>X&g%#*SX2`lM?zX7qQcKIxjlIiNN1GWzlQy9nz?t4`&=8^Qm* z;JWSq(ZK&L3IC5vQ0&DO;Q-yh0eVdwpc^sBCk1!nIR`{{F;rO?Y%l;pAAB|Tf7I2ho3r8ybKR(I!*=u6~ zkC|9NCARLO(eM1xr; z9&k+ffE*Bbz(IirOba|0&rEi><>MF_MSKwE1r0cW9b&2j};eQU}+uK ziU&E~u5fT6#(hXGvTL8DYqQ*+WMOtTRyYhi;NipU+A)$j13aLKKRj*X4?jWI_I(a9 zct6kU+kXKucwb`aiO6%=`y%JE_eRbFuXP4^suvIw^m&E{gx*t6P}%7(01x>^UUu)x zCLWUXUfd^Q{_fisBWxkz|L%vc$G)GO);>;UcfS}L|FLPkxVym1?*X<@#0@@5*C)S( zc*9@j*QUOLc*7TYdjAyK$YTxPjku<%2Pd^8@KN`F%rDu*;lX*yzIm={Hyx}p(Sr2(6pW+SQ1DS*?B$X{Er=^IU%Gg3PbNHPzy_{9%E&Mwx@!%W_TkUa^RgexSO188R&?YtvDrEgfF z%!eRzN|H&q(A|(rxWY1-k3nYM==)x&ooKVE&jSosIu4!Q54r0hm-IlsG$)`7!WELt z4IiA=`#&_P4?Z%br$1uI1m1I>@U6OkpDB~tL*@5C&co2*ddN;e_B3Qa0-1y>B$@rt z=eiF}Vw|AQDl!c@J(#E4A*--|r&$O2ChdXj!Y-WKwTsQ4UewcrdI)0(`91ybh5YwV z>gzuUJ$y*Cc_-Q|=35W^rBFK=R(Krx86RhI;;4`6F6q&bmoqt?XhSdJ^%f?!OR^`j zoz#XMIJaX5%h!c=b)pS~F+_cx@kgc+&v#Pqe(#jt|2|RQcC^owyB+Nt&oW=PnTc32 zlVNgV=y!Ky0>b${wP6hB#>QB_4zw$VHW0=T^~E~xpVs5=nbf;52YMe9^<~gL zQ*H+B+n(kAb9b0H={B^XE3yN!ftNL9kHOa}+OP%Z1ctgD?P^0C2xEx)+G6)j>z(&b z>K*q_>D>>A`bN<{fxjlqZY+|?a-Y0oCic1&ZRm)MK{l|ortB@ilcEhHI4At|u0gw6 z(FVd8qQ2I)d#3f+-IIFzeN%eZdqjQ1XrI7z6CRc7-|D0u**padtf()6Hk)!2ES@#T z_@*Q*ZkplYmt%a%=WAT@`8o*P?@;yyUY|d>VH$YNNyOHkg1=Q!--JZ_-X><8#Xb%VxP%YhVg~ZSDQ;SF}~QN2af0^_^H_XQoL zYryzA6o&D2)WG=mS73VKrl}0$>wcH{lch1I{cncrmN359Q}+QmoUC=Un9f#GOR9eyoB-PvUncC__AwjImVaD5ylsJJS5+c zNf=+Mn=rm4lQ6y{M{WaQe5t&74)qbnmz_iVSUqSTVSMQv!}vBe%`%KHu)fT`!!W+l z!uqPLkF}`6y>y@hw&HYw}6Ndf_j4#f+UzIS!?EaQ8zJz~fWn!3*GR7CU;36>B z2F6zd#@89DhVg~32GsYj$Di!9Jo7z@O}XV0+`h@pj@bhChz!HDY<&fKRu< zmTrUZSsSp=g!SEF1=jcRO8>IuSl>Q|^-b3HFDtOVMQdw^TeDq7J~G@e=A zpW!jUyFSfv!5yFCxZw65<+$NB&vM*w%PEd4Za&Fz#mPrJs?Qr!Gsit@qqkGt@{C9I zd*kZpk9gF8w?{Q_qMHPscv#?xHw!%R$PM6$O<%P$Gkj0-0Q84-+rSf(?!x4!7I@;{ z5c`o~wZOsvM{Es^08hMy;fWKWvFzH=j%+eCkzEI0wX6^DQ%iW_ z1Y}c8@g#l|!UrPw!YacP&*-!BGlyr7&m5UOIWwC$F>@$!YUW^KVWtvK{5bAv;E8qq z9<_7axV%g?Y|jkp5VuL zU%c9j<6AdR=74Q_lKH5majA+46MC0%SJm`hh6xjTm&;Vsdl@E7=v^*TP48uxFrjz3 zOf|h%V#03z{(1^}%Q8IiZM_vF?na0_&J z8af;kI?UJ5;aHgtJ4lCPwRPCRbjZsXI+V*)(_shGp{PgbP%cwVhaF6Zq8_0`xlA=3 zcHD9uA_gaHwIRz6p~Giu=x|4w4!cN)J8J8&i|LS;F?1-Gsiwm&rbAJW(4kzWnhv{| z4n;jehjN)}I_$dTI@|#ro`nu4gbqJbLx&S(I_xGLPSn<6H`5_6W9U#WQ%#56OoyT# zp+mV$H63;{9g2E{4&^e{bl82%bvOYX7NEmjLWe&g=`eSx>z@~2q3@l7byv)z3%$l*fCxoL|w)bObrGr991tL|X7GdYMij=U^#MCBLEPyN&XKyU{PW z9I1K*luWeMseqz{UkB~PK&~Bol4ws8${N0~Q_V^XyVj&cNp2X|9Q~rsh=Ru{%7v9y zH_ltJH%NZ8sZAt@{A1g(FG>2K_B7qWePUC8!<$J4FyZ^TPwXWH|G?oWf^SY5`FcC{N%0Gti`q4RsSGy{EWY8Jc}l{!PfO|jQu?5jJ}jk=N@-n6KP9E- zrSzhdJ}ae(Q{ctkavvOKEU8DXd4-=4Ydgns8~FO7(pJt5X@ers7p9;8r3n4t+$!}` zrW=VzVdzNqLH!A--9Id)pOMlhrSy+V>CZ^%AD7ZUC8d8xO8>l+UX6~*xFxcV{_*># zqgrG8oYaRGrSt_U{Y5GLWhwnjQu=FB`jV9Xbt%0X9huw|SwG)XE_&EK#^;bn++!Yb zk9ovB<`MUpN8Do`++&q<2pkPIH)#&hy-stRFxW3i?UnoeCF%TEq_nJqe=D8;4^mpz z$FE7}zagbxlhTaGg8Qsa@K~&t^7|~;#(69g#AAVPX|{HquPZ3|+}W_A<|6PH9SSPv z41Nn(Xv~MSwIVMx!1yf0BgsP>^3)oSQ7KQY@fgB* z+*#r?dC2~3SyNi4sNbZ2EOG3bx~8-~?ZLI2bgf}cX`NIu&n)L#3eow+vowBohdo#Cte^k7U0uQ@ z#d+euiWb?@t@%1Z7GfG40CYaQgB<~dmDbV?NCA8y=vA*KDsTIMfmvEfHQcY z&Wm&Pj=ZD39=^60^K~|V*5P!Vb2=Q)I~~q^z0>i$!|pui$ZJTS%GcYU#h>#P&EYud ztgk=mfWK}!b~?DfZt~A z)E~}jF72F4)1G%}F78J>=YJ*W3O#RAPQIefpFV5XpbPj7`?|(;p;)!0X~<^&&lf#s zHN4}~`=Zi$< z=dbGnJEx(`0k-Dln81KmeH&^h-h1Rv-@_&^WIKF~weeV{A#wSAyR z>)Xz?oo_F=!F{q<_&~R_@5{x-9R~O5j1}Ccv*12`_7eG}baZ^-l48@Apc=ds*_Qxw z00+swl)&$jMO|9NZ$K?%Eq?#G^KMV)apg3)Pm6K*XIzW{V^PU{YJ?AT|M@_{pXYNH zcKckN6F$&2YrM<{`sot)Y0+_x`9OCl_g`Lz7q)!MXY&(yM^7$R@}8cb&Eeg#Z9aFl z70p~zS2u4paTH&?R75+ePl~Vaq7v)BsH9UDjeh6PypUWvL)@pc;6A;`xlf6=P8D8! zaklu}a~x;z{PQL5(~GF6=ZmLEzLl^BJ#Rhx$1CGL?GoIlF~K*Q6nvwM;2Uib+^12& zeS(SnFRtB(S6sSZ3&Agd*Ce<%;g`W{`Vzy@3w{)$tTtci6TB#w;5QB9T)#NCS)3yt zR7#wac~F}2%pkQ3zXQ}R{4!1!epAGE8V0|L+K*qxm%=aOOW~LCrSQx6Qut-Q-0{nN zx#PEq`UN?R(}iEg>B4V<H z>}k4o;g|XGg$uFbOaGRqUwSF_6kW@GjUVT7vEuxH;OY7K*pJY)r~V^9e(F-Jm|f!O z?61Y1q-%4(&X4E55i36VO`d-8wb&2SwPU}@kB|Mov7&yNr}e9`UBEKzf#39pBVPjl z=H=`Ik} zFFwh*Q^luF@H(G*DptrYps&2nG05G5_U=VHCnFcKTQLqK^D&IcgOQgQcZ$h9e@x%? z)4D$Ob94ILKeIBK`yi8eSX&{NWWE>jh>sQH_s5nol9|`_$)ADD0m$PybtZ&3fUxU2D0A|xd|aNbLyBrhQ2@W({uVZvz^zMc>pp$Ajv!knIDAA^i9Y- z1eqU_WX?k7haq$LhGjm5d2|9k{}<5rEbDvm@gq!EL#U_l_>tHU>6^-x4+bNbjPjQWnU@)S>i*LNgaoPC0w+l;crfgGf^JU$yU z>M9)0nw&_AaWIH+zXSDCpC@_W28Ta!Odon$*Eb!X(=*TTx(c&LV#V26CYv~b6dR#< z&}jeT*}}nt;2EMFhYy+HlRIe)IY=PN)LSWm_GOsUElce zIenARVPOVs6P!@u;8A^rec&nX+sFEvLfynmEF9P;$vpsW9qO0(ck9un6zV4)6~-%- z{_rt<;6u8;;iGf<9Ul`q+=sTAa`!RLUtt>jMG;G*4|Nm&v9N!-jC0pV_3yk$mqlz3(v{e8M?!`$S!nXqzc_5^dX^EtK&K zry0MnFtt;XI|U9PaSL(IoCYTl_49tkdmcWfCmz!E-bd%aT@-ay;Vc%)_==M?_=>2% zjIX#Ge84@7FNJ<}#veQezM`&oKRloTo@UDfA0G#be+p>fkBPfu|_ys=`w&4Bt3M@glDa9K~bcDC*!S z&Vi#S>Z-y~EDUauc!aCtClWsj{Q^Jn82E`g_=$7iCyKhN@DmH^8|Nl2@w&iGJO*x} z4sPNcxQU{!D%`|E-;MJUzsc(YFYy?7i8^?RbKoV4x~lLJ3yB-&Bwprqfs=R)oJ1X* z#5r&hMO{@miG}!$^AWG{y1+*~20o$=KH?nsh@!44e8fU5Da9LE9T)KpUKhBC$G}C@ z!9|<{7g5wzg^O5d?TI0N09#W%k(I_8;XK4Y<#mCFcnmy59X!N2@DN2^Rd|Snrp{Qg zsfpF)j>NN#kxs-gX^J710Xyf7v>~QQPqq-nxoDJ~Ye1Xak!1EwUKcosc)#w_!9kn@ z2T{~jg@afKw&7bZ$Yf}dSe9fLqCrV+G^0}~N= zuAF~3{uzIGT`;KOLk~Q|PNl&Y)Cq6b@*I~1$iK-yd=CzYe>jeF8tV@v$Q9W9;8eDv5d{^1Dm58a3{az^kElNPpbXK)&e(Izv-h})*vEG>cKf#mVL z1LMtOj6}1J*cU{Mk!Y6oc|44Zc84`r_r*&&HHsJ`ZCM3-&v3u*qdxguF)Lyou^1!1 zZLuuwQ5IvwO)*Ab^L1nYhPbO9Y-%-hL{%1p1ZmpKVKGL;{2|>q8hA{Q1~#9w*I@p2 zQXP%}Hc?1-6~~r}$H|gU%z<;g$!$2XB$Ma^kjDLvOI05JfYa5R-La~%E zXHJ>?!!shrNICzI^k?V{_kM|g2zfOAMl2R1{))*zL_I9V2!CAv4U{%d71MjVT*ZZ#BSF-9m(QW13!pAPbPy%MK7r#$zxHwxT=&2f(G z;7ypj4%iYL^JmV6-L_n$!8z|$)pKM&Q0M2*+SEYKX>rb5&)W*t`RC6D!ttCl(mkJ3 z32Q(xMB+*iae+4+!Qblmh%ec|M?7usX;e;%{qfw{PQ{+HyzLK+ZWHz%*68t55}9p zUu*_{u^IfuX7CrA!C!0!f3X?-#b&JU&EPLKgTL4e{$exui_Mk<{*w6X!(R&fRe0`W zzHIm^=QFPVH=NJd|BIZ@xb7D?pKVOL*Ar1@#7vf?Cn#>KkHE=-jvCA+$Q*rV}kE^x8OT&zZt$` zg%38ycXXdQMY@lY4Z{7_vtG<2^1l`pe8;;K9zO-YgPiXOtbS+<_>N=XJMLh7$3gHM z?*PwnC^VJb6xvh9cN~Ol)zYjC;dfAQbcVn$aZ>!0xwEtLbEjvI&z+e)IhRYEn9C+k z%{`S^m?OSp;nE$rH#yFAZ;amC{Ac-l8)A%H$?e6Argu5vO9DqG-?87e2Y$tQnc$h_ zWdf)9Ie=45zGHtq$~Z(lSm?+vTvwD{z;e%%z<2Qa1{KgUX{yoO{jX0j*$9FS+BaWx|@pc@q>-eO}cf9#|0^1w> zwNd;O8kcgtkCf?s4fO*r0k!nLhUuM`G4w8%siyZeOz)x|p?A4VOBKDZVR{$!2))Z? zs_A`=(7VACy?MPo2faPd_>Q;rR(O5o>(UF*+l!3vcw29)(c2N|?QuM#IL~abjAtgV zmACI%70*gF^Xb=BJSz)Ud#q@+vb9x(A1(`QQ_X^BHdrU~%w!#IDO>m2Y2DjWd);ei z>mDy-tb1~qYU^G*TlYjgV%?L=R9pAj*}5m{5$m2@rrNsKe#_TA;+cIOI^;aF!8(~| zChKslOott$L%}nv_RQ{JI^<;x9m-{@>9B+8P}C!ID3__G!w#lHQIF7}T&9{1J8roS ziDz~JI^;aF!8(~|ChL%Mxs3OoF4CdknN`za7tIhV`OVK?be@XV^|u$$?SmoaoGm#L=1 zZl*&~kI9F^f>u?uz_(kY&3U8|Pjq}qI zS5MaARGALfk`58avDUlvTBbu@#?YZ$rkW1dG98L~gbw90)pWR)=}^=obSRgpro*+j zT!&N8;mgqB9-+gZuc5;|Wjb6(I^0uRhwGRQc^N~8a+zv6T*q`M>Jd7W%T&|hI;KNW zkI+k?{co8~0By{*KNr$;hzxR*EzSyCd|E%C-A3CJ8%!#y>^S?JTogIn= z&y?~6PK&hN&is6BWIBSJTq#dWR-^_0dn3~c8fmzWR^YJH;M9 z=i0*d7~%Zy%^>`djcap=^S?I-v3*9z0j1vHafbyDe8j@})|>sD$Bpf#u)+Th3jQ~2 zfsC6yV&(oJ{oqRb1&@0q0C#ziJ>sVwYShulx!Ie2;AVe=bF5WxvkjS6!M!Ffxqk!a zUi*;tfrrh?3(ojvaK@S3Mqc;k2GLG8=Y@~>I4|6TvIgILM3fy7d~@P|y9F0qaSXCwUs#InkYLW%8sBc>5n+%4$%-TTx z1mE0{$?TA(4Dii$;+w~r{e^MNL-$=Lb|84>N8{j`FI>vn=NBnHyz++aVt_cX-JEA0 z0LPVh<^kBwGn4oQCzj&R1sZ*fXCCl+7|%Qaj_lH9oCintjW_WNBWX3>`4H+L+f6N= z^S_aJs=p$o|8FV%s+9hJr1Wn|>DQ(7?@Q_bBBlR_l>T!m{Wntj|43=#7YAT>9wwf; z<;b-F=nqW)y_|Pc;;HwP^VEBA3xTK3^!uhF^ow&o=;{yU+I~$+ z|B;mb?^62Dr1YCo`tPOmKTBy1ub0vdQaT`|o27KSl!kDs zDZNQb-zBB*meTi0=?A3r!%~`b?3d;-7Dqpu$K93lI9`h380T|~Y_3JvIPpk^lMlKV z?#J^Wig}C`4>24;*kCan19lsW;TW)5SPaL2+Nd1OVZQskO5p;2Jq^mmCH%Tw%H=ok zt2x0bf*is?NHHEYtQ9n$X)UAs?l9(eAN2)!D4mwlgHn1}N{>qEjFjFkrN^c8PANSp zrFTo|X(_!=O3z5?gHoDt?y+Xn3C_L40$rmIWUpj?LgJirzYl$NES6$NHi28;48A?4 z=yJZjln=wfxc2o`xb||aNaETfUL51C*V$nA#qo?nTy_UPhtZ^SIh?bE?EIXCpSyr_ zGH;*qE#X{a88=={yn%DRigPf^Dc*{6F`V;MoXg-D`Q&M5JmjXW7CkG;3V9eq&Blaun;dP^MA_egn`q&(K% zQryaWq&y1vtwwt+y(NzBRw++L%A@v{xVoFAJUJ;(V{fO)@82lpS(5VjdShmuekl)e zYK``Id)v%By;2_H)*5*{y{%@R4k-_DY>hk(y(JEDi2o7=Eq-1d1}p%Kauj( znjddSd1}p%Kald&njgROy=Pzf{qN12&r_No#`CnkyR?4%17sP`T$&$79(#9b{rEd6 z56urFkFC43e*C4BhvtWo$J$+5KmMnbhvtWo$I@L|KmMzfhvtWoN9``HAAcz2q4{Ct zY3weoAHOT*q4{Ct@pYHhkKdN^D3~8c9&dMP{rHxYhvtWo$J1R}KfW&Iq4{CtY3MGk zAHOQ)q4{Ctad(&2kAElSq4{Ctadns0kFQF3Xnq)ZwC>XS@e5KOnjc0UXLo7+_*u-4 zFJXSryuf3JeJ`-*igh>ZjBD(9BCh==uF*U&uCeEcxb{t4qwzPcvFC@l_UpJt z<8EAI&kb>HiRzQCvFC-j_8+M}=^A@Zh-+V?`lM^@`5>_@A)27jxQj{}c4xVu$|+x3fX`e^@+g_`a9tSw zA5JNb9(BQU)*<{qII!;#!TYviEBSwD^M%ia&qoU3{PSmnVP7s32?+lW&zKhR8G7S zOxVw9cI0*2&*kkG^W@)Q7w}IBJ=iV3ly5(U`EuS~ zu>X|((-u3@$2SzLrz~eJMSDJnYU~?=@SWj~S={Imu!TXyrXt)p`FzmGKSeOyN#Bt6 z`rm@H$un19#RrK!_9fs{G5(5uDFzt>p_kGB=bm;b-@KyKH>liK#c6gQDH`C@uDbc~ zd94tJ-w~GKL;O+8CZJ+mj`iR64d znas!glBQmOne`B6HpMaIg;Z+R@M%GOh#YjHfiDqE!BDe$i8{LpjM$wO^y9q~p@@fx ze#ge*#OE(;-yUzeGp%)RPU}5)rS;~mX}xz_T94kH))V)nb%ycXF%WOrmHqRlkc{&i^c;2>)=#*${xwW!D!mh<&j&v!WXl}me|Z{HfsG1p+$v1VwN<{ilz z930SSoN4^lrU!Hl_kKJ4+vDzfh2~IhAcMkK1|C;b-|Mwwvnmg`GyefW#XEALtc?cgGX@8vd=%|m*fIsYL^o7AS z3g^%d8|{xtoCxwCTfj*nJ=#F;yNi8w{{?uhKpvbbeV#Z59#I9ii5P9EGt zq$}{Iu2|P3xnC&6nsefBzE#BEb1R;CM;puU75TlCzn$mztZ5Cq@i*Vr#QN>_DBipy z#`60_e&UB&J9vI?dt2Dkj{MOm%inUKac?@W7DQhqYd@-35NwmoDWH6G{PZK!H9$En)BA0cVf3 z*we%KVS#Nu*CDm`*5@dk!*VQ8~iZ(4!}4Q2S8lQUPGNM zKAlCxr=u8(R8Fn8vNpOajvFeD@#wJ8-mA$E(*!?EGx%YitV8g_oWuw7zSiaRdUS`^ z&-r12&bZs_=ln3F89&V1gUbKtiiP-P%HLg4j^D3rw0po0(=KWrnICqV^TRwI&JXkW zXY+nvEbsHpehNIYGJcrP&-h_9=H>jbmuvCEf+9X0v%j&JZ)>;caW&)9 z!M-|EN=Z7T(KMZq}=EW(WuP5iD_;dz8 z%pb?|1@Y;+t&DR8{pISo&T!uSDs-Lmad|XvWPX^F;?ogND~9=qdQ5(p$1_{>_{{ip z4#cOcZ>0Ei;D;fuBHAJNVIFpm*5e+v*w)}4JRdapHmBHn~|#%OlKs~hsbIJ5Ud)oabh=NHa;*gNC~YtEI+TksyG z;I6UYeMiLuMXm3d?X)YouKK!pAM$CoI;{QRvtj&P^nUAdLZ1tl;EESI%{^0mCUBA3 z*G=zvm1t?;gk^z5#L46J`a7JSFN2st36p~bIjs7 zo22((74MJm<#*MJ_eaP*oOfum5$p3$({sw|awrk2b_C~@^7Alr*W;O8Z#|s0+Go$( z9i0}ZeHMR78)RDWoAP7+qMNtq%QM4l4w4-=somP>(KJOgERcOb7 zmBbqM3@H#|WO#yT6`$7*wOPmUd3|2mzTD-WeFB29H}Rv~<`I~GnCJZLqsw!DB>UXn zdUN~ilWc7Ey>C_Z%wRAip&zs*FZ4WAPZz4+uCA`CuKL!ez7^9NcGr~Bkneb_h69aW zXgHxpx~buW8r>zOk?EX{I5e`*h=&@Prbax}=$UMMuL7&HjscxGbc|5PYU*HAB=f|M zW>i{imO(s^)yxwEd16Atfrc5?d19mD>U=e|h7n6E4fO9iX;{#RLBk3)oTi2qYQ$4Y z!|kjQg@z4{XsF>fHKL(L!jl@3d-E`6*o8HEs4IqfPlFSZeQIlep>EF=>dtJT?#>kU zW;s9j;@T+sb)$yncfbl&jrsEEyguK*U({O9!3mvdJ)eVnzt(dwLeICJ&%*6r>$&TS zbFJqyGwS)Lr;&#kb68ffFFNf8)1C995BY(f=|*3eAJfhJ=nM1XPD^Um_fHqOZ##8! zcT$tT@vf(u?>dKfO-+{nzB}~0o}OyF>rgXyr!N24$6cn=wu`;7k{guRmO;~QYMRjO zg{BG3-k8=b*$vHJolf(1TcvZZROEi|)Xm;b&CYe5nyeqaVO=jZ>w2h}y$90+fNwt2>GV*OzoDu7 z0BnIN{fTr6_XB3)jqoUA^CA4PBZD@vV z6l@_XoinLo;IVB80=vs|1CQS)Xr`K)F=(>wWc{?el;)$DmqOfzZrFatFqn7<^L4bl zaekfsWPF3<_mTFw3_)jKV$>5f_D6Mg8)n%_}gRviRE|VE^C3U~$uU z3wwA7@%ctvjw$fzwPYVDuD*Zrp0G8Npc4_}q5+!{wH?&m0O9Mnfa4nRL-Qivr-62* z)4hys-p9v%e9_@PP?h(&_J;4H#(|OM^Q_}L$Y+rLLy#{W&uVSGzt4**Zs$p{Aid^he= zlb09*FEM;QUZN!)20@aSs1|9(I#yT=kEWoBbgComp{<2jKOzZbAN6xPOtH{|)zGbgF z_**_;I0`lT#nG3epF_W_YMmdbCq4K^HdCwghisVX)%1n#I{YVtH#C&(L0GU|oRxda zm{DULMMTiIavH}J{PL!2UtICw8-VxD27^niVemcRM}{NlbK4aVhuB*}`R%0*b+DFQ z3DB4GsS|k_woP>(VS3Tb?q8!=?3-)oB7!jOI4MjdrB=orcuiJbBDx8*9h_IYg|`f%jaNwI=dD{J(s?H zaPKH=Wqbz-B$Ror;-9}{(Qbun0>f2h$LTLxg_m^ua*}(uM=RMdKJoz_C_WFbx8hDN zihs->J}<-6v#PLIhcH-VkuSEiL56VyJKwM?B`uK}s12^L9G*Zr9>O!6(PcP=a+|LG zHp=dAp)Ind--KMyCCl&7NVh*cnyY2HGk#C5N80N%D7#&?9Llbx%kC=1W52O>@7Mm| z{y=W9P|bX z7)NDRWjZ?c_nl0g{!PD8PpfN z6Xv_qW?#Y-#wPnxr0pElYSZ5_l-+b5+NW5iq>ZYuD$BwG%MLPw_imIO{T*6BKB1gQ zR!98}09rk}@LwNc@` zSeM~cO#JO2#?+h><2mmcU>N*|cQ4&#Sg&tH%vVk0A-ghA?K*4W-59Y~cUdue(W1@F zc-6FGu4^+qkty0S7rRoc--h^0#LZbz*vSlNq?W7|w!`VA^a|VC!5~#-duUb9uB5B= z6)SD|(e5bPPwuf}6(goyaV*P^;~T(ng@v*hpnc~x5tEGHvF~G#SR0;CDqWYmsw``4 z9_1J$(k)VFQ`IitR=zttPu7=M(sQFpXYmKYS@d7d%I~*)UOkqw#7+oVJSRQ7oLfA zL71o__-0$iY5D#4@q88Q-!J_Ov2-bXcdy|6B)#NnvgMoa3Va(Q$d{Hdq{ELQ%uK>= z)DrFp$B#$iHI$=O#y=BL-?MPfBhc;myIEsC*nuP40)&;<4Qs?f8{v3PW!?C^v{{(& zyDnm1i_kVQ2Y;u(c2q3220kXL zR(k$Sns(BqHTId_hi436|NLRlCFh( zKVaqb-&npfC|~ND4`WO#<0W)>e;jStcVQpGoO9X7n3nUU7VejDoHFf0)U(6`mglfX1 zXTK5QOF87BFRI8F;JADS{l~pZ}PX{lPi#AO9@&ZsI?F|83(x9_+w>92fRQBS@_tM|(&P#K!x^ zJ1>$2VObF9uVSiD_K&y2g0O6W12Jl#31GXPxQ1&@lr?KlvcZ91xxw4WfsEDr#$Zbx zn^~TLEji>sXj5)*AT9Rf1_v^;R5hX>t=N0*)xF?A_S$Ii^9|zCNCrSkDy8XU8W> zwehJ^b$l8eh|U*tW-|veGt=Zi@_E^ZB?rQ(d&z--4MDY$9LRT3XD;MtB?mG#J6B5X z+g~2sr}>P3#NplZR|Y=j^e>YfwyXQ(nu5cp#o@X=1-I6@8t$5C=1 zI2Hu>4;;sQbsQJqKXAUwS4Zr#BF}I0)e+;BXE@iJH%xgPN~8aV^WB`w@3~Dq?fyP?;rGlf-tjYYiYa+?wzwPd*k_;2E2bo;pO59Ho2jdy1=9?DQ79+{E{F^|(Vi1M1)Ux^LQOQwWz?%F@+vds7> z3wvhg6jL&<@|NY%pTp1?5? zOoKytzX+G zlET}UJzsUtxGV0Q+weD>96%h&l)&dO+Dw)kOlMoz^YTn~?l&b<(u2m0bF)pRBwu0s z+VnY0rlf<<;dsHip3mW)ktS2J#piG*rX;Dx$4SkU*ru>qC(UGoDcN)m=48`3#^;;P z!JIVCL#E_)zI)jD*q%|FWABhDd0oBd8!{#BV|bWzI*#e(c%J!uQ>MhL#57ala6FWJ zb(fR$7GudYRtMs|d!!gorWI3y-;yawj<+!-9}si4r zEXGuvBWJ$62j8>rfnngck?)*7Y(?}o3v2<#Pfb38K8I1hQwzuCF-@if=W=iIkd;&{9+)Lef}-J47a zHDCXM(rIW982ztY)S4~#BU3_6rcb5;{LAYdeyTH5;vhY|MifvUTbUBrb~z`6 zy$Cs-awP_)#O~r4uAM3IDc`vL zjux(DO7!EpfjvfzaSgGGm|#T=6%>>F1?8_vB8(b zz?X=6PDH8^LB7NWll=KL^YTFT%#>9$VQcUO=TJtl=TYP$@L?h5yq)f45|fkAYd~ZDm%_*Oko5M_`cD%!&YuJcHJW-$G>6 zhJ}2cA-jU#@NX!{ue8QtIOCwblpM=!Cyr&`R*r=l3A{Vr2X#cwACPD16drOd(q@lq z49-;`jWB1O6R^4d>n7VW+L>*c!25u`8q9Ql0@s0isu(_eN2od4Jm+Y4KZAL@8u*q8 zbVV^|hyBEDOfE5f>{s<*zCxA>&A3P{d>lfpkaHP?RxGKtLe2$RF|EaZppCfO2cM7-*SV3pgw6%UVm@ zZ#!wxhD$ET3bjHW23nTZ!uJSs*IG+6F`cx?#gH+GhFT#P1Ffjm!uLVe3FaBcQHJ>I zjnTcruxW!c2T)F(D|V#G$QYP&8bJMI+`4rHtjq#fnL}V@4i^l}-`q)C4q5P$su##9 z>0`QDI*K}n@S`exoZ&|>chwfodgP;ioM{Wk=V`-VFvQumaMo|mfj!?AKFaVzhFEF~ zk1`y#-E(c>V+=oxJVpD|VEDn=coZ1huTv7YT7H#I^xYllrCo$hP z6r;A{Ze+TVr=d348)}oi*%b@5^&A1pMwo8driJOoSTh`>4nMHq1`9`<>Bc(^wRb_g z0PS7SE53+dkVfX?rO2j#b>j`6`roZ5=Rk?F>}4YkSQP@C*VAs%XL z76<7LwPl;Hwd;qF?ukQEe^jQsy&YBg&32U9tj7h}jv~Jon(b()&3fDuraQBs(hV-B zkRa=$xEz^ol(8_~WOLYlkLzG`-1U9;pH2&FGtF=h*uHEIZ?-R+!HMbT@lM&UgDr#UW^!BCU=77I0HJ3`I&c0{F9oHp{8s%sM+3bC{4B- z)MUGnm+b~Mo9#xJPT6jRn&2%)d#Kr7@02F%9W`0+^0MAhvsv##O}TP7&qI?8pX?vrrQZABVc##r zZ{%rfA2E+U;(y{kUf6Ge_6gc1j)QRvCapB*Zo+X0nLZ<$+{Ey?{PzDB^CHWGac2s# z!2rQnWMI5QA4QU3iy#aJr%iS*&GuQ)1YiPRL;jj4`w=Iv;+;s_h8OEMs6*dFTpug2 zCO-UIG6p{cr~}kwddV4b&?*@~&Cexx&EIcL+i`)go1`z~0h29hVxF*%`9{;_BV9h3 z!IpISKYH`&S{F9<{qWbinrVwR(w0D;*(%Stt}QCZ=$Kc9jR|E)@;k{yd)~Q{(Oh>G zcgXh;SZ;a!8a@N^{q*8`jNkEIu~*O%-vxC=RE0;|-mT&SYHRdQ#rxu7fpVns4xA&` z(ShPed0mog??g))5mn9yCL>5=3s=hLJ;HQhe9bZ+ykVwMx1}viqXC;T%MbI;#Uc)t z^^iFj5+>M2*cw`VL7506zW}IpQ(V5@Xe0uAf?^w)|1A5`f0wAK^yU?VX-Ec>b-%Vu z1~Z9z8l1K+qLytWBN^$(&qwnfn0YmEqpsXT zVIdP4{teWj?|{){f3%f}#QM|`q(g*UqnKHxk$2#*W)6|E_UJ~$ug1~13!5~ zE|MH(D;H_BaFK@QB8^+bMbabi0s!RV@&UyH9%2nKiyP9y_mlN zxLoB}`^NlZeA&Ma{}^xKADxCDtRFA`7!Unm%^*KC{}|>6&%=DM&9}xsI@%9bC;oBx zru^fw@`L4IDOQ|54V-$;iC5!J=m+bK@sFPe|L8RMN54uxSOT4>rXMWwkK6|rz78;s zWqU(k2iM~t7ceJ%EBQw`A57Op^n=yHKmHlo$v473%K2VkXtWJ;{&Mgh%n3L6N6ZO> zk!+1a-i&eHDE~-}9@yW)IoCWi$Uk-p5BW#hYRSBX{G;&vr4wSaA1ty<(jIr&UnVQm z;s;CdkC?Z+0smOg{NtGBAICNSxJ&boMa@6nruoMS%|Gte{Nto}UhQSy=CA0;0N{!#Lgk3OpS$oIWZ z@sZ#(B_H|04;J$e%(+wG9`67bIS4Lt8eHTMxX3%fMGn7rZgJ-QbBiM%m|NWYvzn89 zY_>S6Imz3>N%HwObCP)e4xA+8ZRRAK@!C1bdv3}}j!RBb&U?Jv;d?7zVLSZO#z_jy6BJ2^?`qO*yUTvoofyzO(6eCIoyq~aRi3@6F_ zyQQ2Y+8~rq?R(3Ub+pMzE@Lj>FUHuHq!Psa*}>0 zPSSmIoFvN8JC>7V-Z@|&S=P79Nw&s)w{em?{Nw3BNdHqi{vT<_AcMc-|8d9v5z|n^2s87hSlf5J~sGBaF3dgls+Wq!9F(pM1HKvNYaPo!H>5v zlH~>?Df!7KP85SDp1_*$Ab3tQlb_Mdq+}?;OiG3l%%o%}!Aweq63nDzD8Wohh7!!A zWGKN*N`?~5r1UWfW>W4~`q*QNp#u->yeEq*smXdAyPa8{FxB*L9*kLIveCInX z<(p?InSVb{mXi0|VJWZgbMn;N#8NV!cUa0DmU74EB)H5SpOcEq-0?ZN<8xB`g=~yX zcYIE6SUWx^rO)9VpOc$?KXT23@@cy{e8=ac@@2N;b5i^8-0?Zt@Hu%(vy_}KB1_3} z$aPuDzuC$wzGGO*zuTI&Q*V-`WS+cTETxYSjtA)-bR*k;ca9oQI6iR zEG6@fEG5hOc3H~SxbHTWl8^ar`)`N;+~Gethqtr;_s;&`JNtj%n*G1|jee*3zvOq8 z{O75+$bY^Lop(C_89r+}|JfS8UH%i-TvYFJGymDt+RT44{8sRv)ZO7fe>(WjUwoJG zpZ|J?|7`G|&uaejS=RGg$$#Fr!+*Y;_|JVmX8!ZH-)8>v6zozz3I6l{-r+yr2>&^z z{a=o2|ChV8|I4EGe|ekse>tK3U+&iaFDJGC%RSovWl8(Lyj^JSQ}ds9h;xz$1=@M- zFTi`kFXj(<92pYNlK;H3mH(Ux`Ol}H*87Bm@oey)U_2ZCF~N5>*iZ1C;U3|V{RH0` z`U5$1vcZ1V7oI5w3u<37$$>ugRI#G@PsxFT`;;6gxKGJ}g8P&lD7a6_fr9^NR? z$$^6VlpH9yPsxFT`;;6gxKGJ}g8P&l=;Mzo4)lp9iuniU+`ZsAXW>V45De%(_|Y5! z13Cvkn!{i~?}8uA5ip?p!GMl}0loXfbBl%lPP3p-&KAj#(r@F;En-1;-2xUg^)6#U zfA9ub&>#Fa%7U_e|7l}EXKuiP&g`(D6~6Nw7WB=tpv=D?Ckx8^?XaNNXF;ERn^;ih z^9~ET!-DRxpgSz+&i>=dpDp&Y++jg?SWwA5hI@pwOzg0rksTIvXa8{#?nAw^|M<@S z_ zNZZ@Uf)?IJ78K>^9m|3;@5q9(tZ$bEZH>Fbf->XY{{MFP&mI1AhyQeP(fAJkxx;_n z8vc{t<#!tY$!{z9&u8Bv|M>&xywmy5@LAjW&(`qm@}JFjxtafLYHj8}8GbAHPwMXQ zpFbV^=cnIg{O9}*|JmR_jdQ6L9}MWNV?TeiVI^)g``NeL=UEloJX77g_qkIKEX%zX zoPNL2g}*yC_g7!``fWj!G1iYEz8|;OCvjXijrC<5Z{+*a z8MBv@eX-Se>|8Zjb*izx7w|8B$w@lT$78YQooZa3$DP>oF*~*#v%g&(J%@W$Ixugr_xar|?B~AT zGkE@&o}-;m#F9qlLQg$YeS7ylf8I$K-_E_yeb}LHHT#+Eu=n|2-H84Ch!8{A(|r)c z;lMq!C&GQr``Y$C@9VJlc^IdC@AJL0bL9(j`^T|gd6|2b4~eBKdF*k_`wZ;{?0C=I ziRVNn*E&6?B{OHeokukbB|^}OPc+>U9+E4 zn*F>(v!BzN{k+px3@Gr}a-iToB?k)bQ*xl-J|zbV z?o)E0;65b>3hq;Kpx{0w2MX>}a-iToB?k)bQ*xl-J|zbVpQdt8b#SNohvwW_u$=qA zfDVEIodW|p1P1gjFrdR=K=*?I9RUM+HyF@SFrf2bKnwqHZtPhU_sq?84D`+*@hF2iU{{iKaYLW|Bu(|Q*6gmvK_BYO&3K$?Xj-+-i}q?1$(S# z(`TyY8FR&)GjF=bx;ff&rf2RL^xfCXK6*Rr7R6?3+CGBDrz9_xJPO&0Vw*Fvr_jxSYV=G0XjQwzuC zG5z!@dCbtKv$ycgKQ{)9e)@1u@%OONFVZ7d<6cq}W^hb(iAKCJqu;NGS}M-z?`n

          OsdA}R6pr*a_+=*MZ$GWj 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 Lr*ggh5R25c5xjDG>(wLqg2g2~#FaY$NV3 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%0AuaZ=gv$Hi2*KGMGSBr zc%OAsV&CDE!oGt*V&8Zb*f(C=H-UlURmAK80}p_K2f)AsVBi5T@W6=@96WG}HO2@_ zKG){fpAwe@7Q@)AFB!*wX&k?596NSeK4%<{8OOwCc`wX)N8H#sbpv~V5uX{^nWBi1 zV?SlQ?sPXsJ}vQ8ao#W6mm=Uy;S|t~g}ED1ATjbt;jiv zoFn6M_56L^n41jyr{*$i92bn^3FCOiIDW)9=DFpK`Geh-7xOpOJAc*X1Y57lxhoN) zwyU)mYh2dx21GH>-pJE-0EQjld&V;75zBlc#w#?;Uufgi!(NVqasVoL4%)^@xfhz^ zoO#dYx+3oW4W7HgGA#CA9gDeC$AR&AWE_imRb?v1=K_z%ngvvv6Xy)F-CjKY3pfX! z%OCSxt%i(=E|n!7UrzD(95C)c;qh{>LF4h|TBlTz*mn8pCj*6a27fJk zU1RKv(7AsUI`e$9zKiknQN5uY>ma25-dK*8JM+Ql308x#o_}4i)TMG z;~I-E8CZN-_SeATa}N5eu=qe@@n&0h2#XK)5sM$#)*Zs)2ex$!ES|Xkt+9AqQ))kh zSUhq6fo(;Daeuj|B=;D66Zel&++Xi0WeRCq@pf$$2e*|~dkkEMS+lKT+E!NYF^tLe zCt}#u9s|~)jA6$*@i$>tbdQ;INBH#!*1>|Jb^ui zAHyDley$R$*U!~prj*2Lrfm^p)@9t8G^YM9jWV%O#+$)Dr?xwcGL~U4_%p!9Rhd71_59_RU)|>X)w4S= z``vr~s*G)v={tW_<{L(z`p#dK`3s{=-}$RDFB@h0&R>=J6QfMu`KvO2i1Ysf&R;*5 zIsf{(989J2-$7lv4Ch~$$xNm5|23lw&tI3Zr_%ZVicyB=ugf@7>HL4uD8uvDW!$NB z{{Pr0!}Hf=ys32l|BF$E=da87Q|bKwXPo~{oIlSS&t?&G5lrH|_46Nd%JbFVi9I#- z9p{qgslO9@Y3jRI@Ey-je<$|P)OTOy@6c!co!C25-*H}fKKeTm|DnG7GyYE65Tc)A z4^Vygd7Q_eit`YAqL$qM*Z@xKw~yf?=i>NAX(<1Rw@#bHbDYb6WS_fiH_PiUsQCGZ zVT;7Jil4V7hsYVrUT#?K5`R+)RX%EcZ9NFXIG4{i$`>a#%JtTI7zA-XmuqxfclqTp z?CazCz?d8>KK?ndCD(zF)p7lfUW0VqYlxoR79NJBlH}-VvMZ0x5V_mp@1+{zD2d-ZMKYu&4m)mx*@Q^PGTv1~SD z*{#qQWo^%`W<0y<=yFK3Yq+i`XJ;(uY*-cLoUC8XWXsjOE;q$K_@bPXv+`IR%d!3R zlZ{eoiT6X=&Fo8ls#?uWl&j#ZsK&5;11u8LrWG6sIM0S%21i0u#E|N>o0bEH7Q%#f z!nRl`zQjkv$%?>7*#>+M}Zk zf3+L=$ntz=>dcgPrcQno$(b+>AM`oJnJ`^r*#g#<<-O4*XG(12GY7m0xSnB7jIsW) z{Jh(lpAY}m&wt|YjJ<8X)|s1IK}sC_=ucgB=4>mRdmcXJ?2Q7}Z}iBt-I<+Tu>dI7 z<`icF_FI?_#yb>{4x37?s@O@ybpWcyT*I+2Z)$p&byD=6TBPT z7|D0yzTv0eVXm z1?PhGm21|Se~8H}p6WQr@homWNuCtRnb4G+3B}@q4cy^MvAj|*mlo=!(#i+Qn@`5@ z2RSZ+GXZ`QuVKzPF%XLw0rE<@PsaRztlNn3!gwtnJ1$;JCr*pk@>8Emxd5K})eD!4 z$3FI1`(b<9D$U;rqk^^YI9`imR#NVeJsof8x@4KBeofW!I(z!WY5Ca;mqeL}zteTL zugbRL4O!>Smt{Rk-81&|3zt-#x?gCoeN}yi{t4a!^zY`&@-uJ4t9L4u72Zid4ZeaH zzTe5&=fIgztzm6S&IGJcu8Y-DX*m`?+M0?NE-&FWay>uuI=6%0a{Tm|@fmalV;z@d zeOyN&$7WKFO%4~l_{{=V650`*3238UEUt8l@Dn>vS-8Dl4<<8ib{u|TZEcPBA@oCW zCKSbdG3L$j9>z7wJX9G|(D8k79XdYl>4@EA+xB<~(}z6e0Nx4O5Z9qUj5DDrI1|Q8 z;7phZHiL_~jR4QTV&KJNxv+uMOX=@6=P}C4b@UmWON5dc~I-;`v#N_?3hEJ$*1<9~>hY z+jmyXE#q~Fi%{=8ZGpCw*4q|bP&^z|9~^2|BcefCD|GxO#3c5A(NVbfgC`aAX!-(~on<48MQ_mT7UUHCoQ{tmn*xRusM zvQykD)kX3J|Ag(#TK1#h8G#GYaRZ41!S1n@AMWC$IA-G|T&olKYo@r>wC%?;PPQ># zPH`(ApJnk`_2Se<6*!iUYc-2&wPU#nW@W>;O!M7sfm!*Yk21HOeUx#Qf#{>-EUG+y zYXM_|Jbv`mcay$qy(C-39%30mw<&{w>rU*d&Exp| zqlOQFwbOn#3)}rZK-DpQ00%xmnD_t=?wjFAKES80WxlW92k<`V)SZj|hX1_(LC44O zSqDBqxE{9Q4>) zU>ga0p7^r%0kV0^-iT7W9zKll0UZ4s77gc%O->&%&qdaVQ)^C>gP@Zcm#?qoM(86mzR6f9z^Z|6t z26@&x(RAViz%=uHZ|=<8)H&e;kOL;RXW;`pt9*dj+5&D|Mcj`q@6E6;p2NLn7Cykd z@BxaJRbqcig$1{>upoSZ(%Tkl@COnfz?+8;09%Up*dpxy!l7AP_z3g?VDo&Dd{nfp zrlk*%El8WcFa{z&u8pjW$IOn)_jb>Fr{_KPDMb9HF7FxdwGVKU^PWZR1AKs+a;~%K zcbMy}v`4Z-d;m;Sm(7pcZr6J}-m_gkK(W^cDAjVx2M{*@_)Cw5>K?E3(iWS*(-bu zJtonL_4Q7NzJ(+7QX2vr5q<^uw`eoA{bJfaZoMaMsgo(j4r2m0tn0bitJ8b8jYW*H zh{YU3ueWC`;#c=}EMz;-epc)7ZX1g>#zJWI_KZUtS`B--Cej#zHNmCL>y+1o_KSFJ zz_#h*DWX5cYeIjgd5YS;k2R^d`LF;_`qZ&j{uizVluw?!ybgG;mi~Nm>mQ@epkoWW zT<_CYuunhf1dR#92jbp6;&U2qPg&1)@wwNiTh;>kB;Sns5??Lwg&$;7#}@q}2VpI2 zv>fwh)wSQHk*i_|Y{9G6*s9qL zn4Vgcz_xEt8?D{ADzfHsc z!=6l!|Mw}_-TaZemhS(&%>AEEW%C3+zhwA-+wB1X>6M(M#vV}R;^anUM|(i<|K8K@ z{|(*)qW{M|pzZy?U%(#F{p|m>NA&;NxEF2b|HYm!V&q>d|L>S*w_~igKL1bc0d4F5 zIq?6w_JF$mzhk&T+>Za}+=c!hZMtFpANQj%*Y~9V=L!E0dqB78|8dS!|Brh>_rL!q z_J9WXf8H+qKaQUsv;FY@*xq*jU)LVc4*WmbX@WPqj6I;q{ym^>|F4KWpfTnD(MK%8 zM;uG{fczr%fZ+e-0^$D!+ye@+2b5QPKs)gNOx_YcXXyuW474BE<(CQGl2)tXM*`2w z!fvy^Dr2|3f{NXS-LajYM_+ObzoT#WH4AtZ{39NBjAQz9avu&pAMPQ5m$LK|H9u$S zmleBXtKnO*e$g**cZeMR0#*(DQ*t4*Ul^J$UyF9N=4;md`Xi$+e`Xx-q+fD>$AeG% z(pAsw7dSa~+po_Wefe$UcqjczVwsIT#n@Zoewe4m%2#96>zAfJh@3<2836#@w$ocvq%s2OJ-hn2XQ>yo}GM;RMF{LpY!aug9k8L*X{7fBqnue+WrVtlz{w{@sOzy2>N({_G4AGZZt7ZiE9&4m>F+XmY}%>s-h$u$ZSh+<3HR&&yWRg=Rr`OZF)*Jn{J%DQ z#XG+L_uhX0?{@b8zU@BW{}cN_c+~RVp)p+%1K6|wcN5nFian6~eZZuH}3x} zY~%ke+{6CgUhV&J&Qt&IVE=EY`+pq2{q+CX-gf@qy}$q0t=q%>KR#dS_wn3i%w7Nf z-z07G2>X9u-kEm$X^nluuGHAKhzrAgqjxXR)cEQ0JK-bfJl8WuKI?hoSo=WKh8g5D zcEaM}6FASLKVly)-3O$Ns`Y`i{fYc=5htg8m5v2ILKt$%KA`fUK~h4{hQuBK|LPtGREND#_@iQM~v~1dvw?f>=}=EhuZBs84uZJx-Y2546O@l3~Wy0w&yy}?!7C%8Ardy4j-Z?!jQmhIged{-AHAT^o9-k^voy2`t|;$RQs z#$bI7adLWZ5J=cHp{dlnHwcU@X-mhZa=#Pt)4HuRJ~dSFsk*J6_*8XHxOHE15gX2Z zNZ!k1j=$KCWRBCR&)K-y((eR@(S0Ap`RV&|*Pf)}{p{V7)bXf{MRv?R$$`9|=nwFh zdZ6|sF~+yT7JllB{n$dKxIMNY?)gLTfFDE7Tyk$W%9z-~dx0&y4;+EI9DRBH3^1{U zkB(5+i>T`(Bh>ZVBh>X-)OAB~DeCJ~^haIKk-`@AcjBDXcLA`4{9S@A+^+xs1lIB= z_uKz}|AGGxZ~g{C8%B!%eR;(F-xjhh2`xcK-jd z9s2)CUq%>@JLUf;ec0uA4DaBeC1OFcv;%od*`u|TG@!yEY9wGjFn*0B&)%6fD zT5X_NAuvpG09nrP{r^f7ZAKRh8&UnjdH}uL9Q1N!4t8r@^CpbM0aWPs{|Co^N9&P@ z|1O+q0=?6F-x2bE3rYU(dh4_IdHlDC1Mb=X7aE~z|DQRVGT%w<{{xGZW2N$c-EIz` z?c%=!Z~%4Z|1NHu|I6~-`M)SXEdN)T(C7;wsa35fM9i9IhXbzyg$p3x6)gAwRL2&@JBnQy8`M(z=2awAD z<(#Mff64)b99zKwgxC8n|94>gx8MLm{;$aagmtl+;c#+P!>Nc;a2*fX-#{vV#ZzTH^0uORL_EF$i^A>*rGmT}+y zSQ__DeMg-Ktn+)#J$-U=OFo_E)*|<2)n3J6;RWA52pn78oqf!X(8s{&SJ61G7{}(`H}`M#-qxV_hTiz_i2JYLPvY8; zwl?^afc1k;P;mTkADLX&S@6rmcoy`=EiliTviy(j&b#y<4djbo7mpw+-&fybgod12i#M=W ztIIH!TbB{qb*jvDql|@htIG%tJ5}a4v7dVl`?il%!T=Xjk@~UQ)PbNDAU)T zD)ZZD@ApR7i~cg|(tb4C)At8+kNnS!GHg$m(K$Kn_aC9XKUMqHxNiG$(LJ?at-sT` z=)6vu1HgLqcY=dKjoYiJm$Cn^u^YSV=B59;^Ze)cium`+W*aS^umU{Co)z~r`oPB& z4=(cG+tc{|jKPCj&ZRzZ80F%8A!^7R=(Y76cyS}};tuwKLxTqwInd*gdwPug9EjCZ zc~gUZ;L&oRUw@y+!1MVx3I|q5-xvN{2CqWD3a|77edt#C(5>>p zkLyFX%7<>1zF*K^W&9=Ws2??aw;wl-W8=7K9A7Yw>Fa5&YjXGFITNxC!QBtLF!e_( z-9B?g`pn{dzG`0z;S&TC(q|5R>5qo+M|nOWG@DpY(sv_=TA#yvjXwRDar~rlyj?8+ zsOQk-Q=8|2{O{X6hks)9b*FQ(lX*ydZnOW$6Q@3mo`am4gPfX!+<-aY9*JH@wCA(n zuwy>wJt*+T$d3VFRDyzl%cPz%LuI( zRp!TyGRn^o_kW@JqRRZJQHI(tx*nnZqRRXe_}o7NUtafVSijF3bq(wH8Kcawem`lH z8P;#^)ts#dyD8VJEoP3Y^;? zhc=M94{xHs?5F-tU{C71b$rME>F)&Qq`q6@?~LyRcCNnT`LRFxcLMWL-!;&mbD}@u z+PJO%cDw)o8^k|a)%Do&@hq2|{QDXMFt)cb0B7!V{KJBNb}#-hFa|(gyLql{X+u6h zF#uio$9)n5z~>Hr)dJG?w9D3!Vc&D&{gC3|2B?4XB_{5ar}AX`2RDG z>6a(kp@t6UYo*(LjeS!#_y1!Y|E_WTUyb807{`BZ9RD}tc-wPCTiSQO6T02pm)E-8 zzr#MM`MYTx|B-S0XU4J6FjwV;hPgTx8s_Sl=SD19>#pM-dKc<;x3>N>&r8|Tzi%9i zxm2J3vGKXks8^qhc~!?>G0F%mMrv-Ry4@(J=abma7cf4=V*VJf2^O=5y4{oH%bUWV zp~pQ9F1;CW=}lG#aOoN4QXFPCy4``m!!qLZocFXzl&9?5CZns>AS+lKO>UM7z z!}5WD+mA0r|7keBq@QWTX|zVQshRyae0^PpID#%?YGxlb$`DV`WlYWNC8G>+1zpC} z%$_&O5MR(`OwH_RqfBg+F*UQxMj6X^R-2mH5pare;1v4Y`p#cHTaOrZ^_{;e^Qcj# z@BCGnhmA6Q=da348D;v;UzHg*%JiMTDw8+L^qs#d#?;KN7-e|=x{RrrT{Oz@{B;>qGn*RbNq>wore-!Z%yk)_zplsB z%>D+nrZWmRqedwGPobHuo}Y(M2hUf3C-7AD9p{qgslO9As`_q*zcaoQ_^JAClD|Wr z_3s33s=njAaz6EUV&6@DSK#mD^IP;&;F0RP9Og0FBfRalz`8r|V~PK*Z>9R*V;jYx z`9Ft*{@)?!e}Bw6cllVxZaUs8`H>R$|H}dggmA? zbh$w<37Hf9CH6Qu4()h)C>{4I!Rm3Bovz)j4wYn89#hItKz`?c5IfLey zSj)~>RO7t6W0P(?->eHQG8jspb?!R#Zau4c-KRKqK3wV8kU9O@YMIqSjSNgw=KF@6(Rzkc-* z^wAHVZ=RfMHMRCUV;G@vF81{}hgUMKtvTdoeH?M88`Ow)-4zSCj~H8Y+(*9E5#)f^ zFm`^ex%P{QKgD>h)-dlF!!k?>P&yovW&*I7pCFpvNNnOtXamx+2jB9>Y z%ny2UBUgZ~XK8@0r~XZrI-HdymPH!2(<+5Wd9QGw=}BErPnXMg>3Vu+OOYt&<-@9j zKVO$C7`mRGz$077TgKC%lXYt{= zD)l*|ho`GC#us{V8D0Tg{Lcmz3q#iG#oWIuJC$cZZ+@y^v7rP7ke z>->->^7>?%xoW30n`n9>{2=fg?~HfI%;}p$PTz}4({oN}ACKW0w!F8vapuFwDZppW z0`9G+Zs68F&i;;%FS?z@MWN|A{;Mxm8NHs(^skGm8NGT zG(2B=G@7iuFF!dQ7WjVVTbBxx(^AtD$By*}(D{55Vzzz{F>Eh6j`fvm)|pA`kY9nO zCvrfb)p;e;lhaqJNKMbm^h$lYx=@FH$p@yX={W~YPnFYGorb0-ayD`AEr>aXjw|v` z_&l&mr*9N6ebn^CYw6f=@mfA{TD(@Mr&**{<-_*$Q_##T@%WI`tt>!ybK&v%8->!i zm6Us(Jsof8y6_$KK7UQsam1cJaaw*xO;5JV-|0HrS7qDO^kkjX^kkosy3vOhE~z?o zztCR$s`?E56MaShZoVu(6FGgevn%w_KRrFY5>F$iZSlob595QiDK$N@M!7CltJUSW z%2*nm(>J|@HFLc<^G3IW-*Wu)nBnu{6^wOUmGz11Ta6PnJtLgA_{{=V4%!i#o@k>E zZO~4onrM3Fq3Ib;q0L%vPG3dL7vljO?+C6@iRUBcA+I$(yK?%bs`zU52E<}5p(V=e z@D@3J6Gi0ojiot#RpjPPA*Zif)1``>zNsXquNqb3slrs6(-%~&3Vt^^ET=CgV^XeU zpiz!<;6C`f@$4>Nv^UB&w5V;b1I^Buv)5ZtX6)6G(4V|9zqdH7^Cj&ZHAMr@UwoZp?HUq_p{b_1b! zLVuq2GxEq6@VU76W;2$3#`2e`7utrw#=JSP)}a^3bq(DOoBT??ha5UX@3fO)uH|nC z9UA}Sg(mYXsl}MZcw4U+d6p%aU%BwO%Ckh@2IW~22i7@^?;w7xu!8S5j(^ZNCZ?`) zl6ZfI`IF{Z;Wmi3%QNVzYLgv ziT*SHlKmeg|MG7deLQ9yf0uE*lfIup-(zb?-*H-feTOa%WB+vDnU~4FkCK;Zau2`3 z=AkVvFFvzN@0*8x`fv{J*vK+H=;NWYVTUuR!zrwXlmNVi0`C1(P3?Q`jJkj0QMp(|$}PV@lgY!23*NTE?V4portkewj{bG42!msr{Jdy@WO8 zYKlEv#{0=1Luv@xfu%mR@YP-&!`)E`K*4q`QyyvA8`SaVqHaUMj zyL81Wx*o073y-dMbmc@`fi_v>RzppSP&tmkR(C)3&#Wm>qwv6|LO4&UqqwCr--V-Wi+i>0AJWcr0o#j8j`ZVP~7de?x zx6;n%LlY0WUh$w#Tw*uH>hPdB&4cE^gEm)r&>VQs=DIxSjay)+*v*6DS^L!Rpl&gN z^RJl)#oT&FdC-Ta!GkvJAP?H0c+etVd{gnD@!dS=ZXWc>=0V;1Jm^N^&OmC=JecP4 zv__na2i=JG8eq>D9+d9GXBrQ>Z3-TAo9Vx2H4jRCzMBW#c^;J7Z&&i5ByTql`q&nl zXAlqS3lHiO584bKw0Sx_=#JS;=L%<;ZYvmDX8U9Dy{ouI(k=mQKj=Zcw6F}t2RZXa$$eG;&>_4=`;eJJ`{4kY}4|Z&}Z`O{35PF zI^Y?}Wy~o{*=JEkvTYf2$x?O|%1EXyV>_9Y(Ybq{`VZxUpKbi_V&Q)m;{iqd@1?u> z-)Ddy?9TDOv*SDN2fH);Zy#Q`yZPS^$FBQ!`@zQN&>9p|{in_kb_)KNd@Xi_|E2fX zGl~DD`|z2@|I%8qo*yi&@z8(IYW|n{d^i8Q^ZYNh->&3;N#1V$cQ^mbey}^q|Blq< ze{+bbI+6dSH9!UDEbv&L!2iye+7C9D5BcBwh5w}(s}cUUZ;|1HiDQfMzx86Qen4@L zA6Ds)sq`mR`ZFp`{3P8+KKS51ya&MO@_x?AVywo%b5;Fib$m~WPnx6{tEdmfSS3D~ zVyseqb|l8?u+nM0N?)eZ8&&!$m7Y!=YPext2XMm_WA%yD;eV7))9sV#)S=1~EB(vh zi7Cda)n9Y+)CW5fW0l4L@x-gB9>PU%og{s+%KxBB^OzG1amF-`tp6OxSVfuUj7Nnt z{$dSh{3OO$70!6^G&p0rwU`?`X>I)0UBMYoKc=ej z58gg!9P-m;dK7WnO~Ox48OtM(n5v4Oo-~$67*lm4WZ`c@Ox5Y|)1NqVB0ue~**Sjt z7mrNtC;Y(MC-T!*uHHUBeLMK++rUrT_ke@-oP7`IIHPX^XK68g3Zvt?o~kfqh0$?c z-=HwGcC@l|T-TEohSnz*qvN{196af(!IN5@>gj!kx>h~C-=Z+}^j@qm_4Iz7!qn6I zBprQcx9*dAdh0%^r}xRw`xN2A@q7>Cy2`WvUC@{Gv}No+E@fw< zjP$c*>^ClD??4&pWy?6OtCUgwNFQ6qe&kYiI`mnxi+S>A8~?pb`0r(S022Rw`ELIE zS<8RF;wk387vqJ#oB!U;e>YIvhFuj0VhaA7eP(yS|9KnUUC$)`o9@GB8vk9Kg8wdJ ze(`MQzp2l6^WQtqe^dMIO8%SV(Yoi^9tUE#|1;u1>?Hp^UYGx-nA#KhZ(0Ko|IK5) z%75p?|9Lz7cfP>H7taVUp24|SRL_j~dsqFt)fr^A zUYk^1{#T`MQ|TRvzdfCL)o|siUS-6=c(Up>uJr$|O5d*1cdGPOmHvfFPp4j0{#@0m z5Bxdv|I$}!=__r+puS2^(pT2sn)-_N0;GgT=eh}3!DCUXXXa4yR7C658i`QcgYO?>7>k1WtWYSyRTx4tPI=r)5nVA3Im|FCT|2 z{6SWO@h``oZ+@>#BhJUKUOkb&Kkl77$KQXk4u5~xNfY_|d(PfIe}6gn`;UUZx9=+l z>rwl@;<(B3PCE)*s>Spv4986t%%KWXRv5%1sQQ;v{B3)kafRWy$#NZvzilzZ-&%b* zZn9t~{7?s+h{DvX+x`kuuWl57yQ+`UTi1=^ zZ(B^gy3In}X751Vj?~wxQ@4W^re59lQno3AkS`fawt)T>)3>ee0F3V5#r;+j?c z=4mYUp)TO{xs3NX$h+@wlu;dQ8Sib7GO8!(Zp(O2gOt&@B%N&;?`e~=eMp`vOSItZ zPbr%ZUH9HWJHoS#|36>&|MT$xCI0{8yZQfTE&qT2Q_TM_!-QZr|G%66f9m-EH2c#h zI1Y3$w;Ui2^c4L6ef9j`5vP102;)HChxgHw$^R$*kK;hoefV_Z{}U?iGgcT|CyN8U za0>o^A?5|s<^L0rxX(}bIMCGRyZQf}=l`kwb|wE$@^keS3q7ThJy-zyb5+a;Aq zz`qzVRguqr?^E&qSpQe@@%h9dp6}3gZ{O^~B(c;T7{p%qK^NB;pN5S<$EfxZM~^tu z1-J(3^GX+dtndx5Rp~dX^yw=7c9lL`r9%#yVzY;whqW10@~yS?0sp+zT{{>+2mRY| z_1k1ymU$P;^^(28VLyColUp~t!eN`XM(p_qD;2{#>|4{;Q`#Q5t=nsLYoFNG87!M^l>WvGL=3_rFEM;mF-zZdzN{OO>ED;M|WL&8XYFK z=St8}2!IhD3{8Cds1+aRu0$>-%>qFDI1Z%!bd&r)w>Fb8?`8@j*o z8|J-|2>ea*iHoB6iu7E17#JH5{QPOyTj=>5+FRm?37$YqaHmLnI&Q)>L%UFZE=K%? zF3uTpIo8ndSP6%irJS3$7~4?R*oIn;gl!0Cogof>C08)Ep*(Cu17aJZGm#Jjs+7eU z7EX?1>-Y%%RF&iALOD5lCm13GjcHP zxzn+>9RxqB%8I+8ECk)QvT(x37FT37z((Q5tSq-wiHi-%#o1LN3)jb9C?g92z#z-S zA$MUqsLJx{%Ze#kF)hoBn|eW3Ov!SSMpgyy;l;$7RH zv-Z#UwCzx@J!+yIYW(D#vqJ@S>`-4iVxk@D6v)_KoTG;yUcKp|hpnxq7m>-rIgqwP zeflwL8|jUc4Zzxlw5{e73PZL4i_vzdk17n=1T03|p+2NAj+$3#Tg}A^)2A@n4z(I* za}GbY{kq+xucdU-bsJNddUd-_Vd~ZGD+*JuZl70}dUd-Bb^F{7)a_ULT6OC7Q-!Hl zx4RXlUfq76F!kzoi^9~a+l{E(&8V9LeeHW%pC#*%T}YL2KgoRHQCy$uV1LJBPs$!d z8R>4z^qH~uql|R6W%{hx`%p%@+A@7c?4P0Q-&j{Xto}p)cGmv&v_1cHl{x=(qq2LA zKb7a7HtjzDbO>YrKPm421y8ZvtBgtKZoAiRyVp}^_nPGV(<$s;4%tdz5Yb%EWO4uL z9rt9~z5cJyKc)Nd>16lXk@HXcrm%a_JY>3dFN9{TIq&r8Zug=--);BWdAk?2->$TK zk-Xh@uibX9Ct~;dJMrk#NSl2GN;eRPE%vUYN;j%B*$M*T z%*V}pBA|LFXGZN&?X~+~U^gNToA92h%u%o$P&q?5PN3|4V@VFI4ZqOV-Ra z^mzfcj`u13|E$r9boclAl%i1(lvo9c%W&=sL}*uW%nsD?0adTZ zR63?~PN{U0O3zT~JycrTe5fBSM>d&VF}g1%NBpPT%H!YK6dm%30wGU(O~{T*=dxxR zTxVe)K4Wob(PDfiJcn$vQF~!%lNlVNex=ys#wN3N>_Mup_~UY)N}BC6l4kpiq`7}3 z&Gs2dvwgLgIU^ zfbDP!TZo*)yA87N2U#$((fJ&5KKyjzYrSBviFT2zpSN>%krj39A|EbJw2K@I8QZgq zyc7F#&c^;6`#vQu8tX28pZYVgCqmv+&ETRfhB#@9X_y(F|Bz7_;-)Reof+=WNhl0) z)D{z)8J_=80S|3uIqLl$pJ~nkqUYX23e%@BiJ90tAv*t4Vaf{Q%?!`A_zQULe}LDn z%2PV&`lprN_39s2n0obpT0x`^-+53`u{^=>ec_x3RAECzeD~1v;+2)80u!; zv-Ry_k3pWrQ2p)uT-(JSP#CJe#b~?O-xbC|{Vhh@#r~u)RDX-ncCp_o4AtLatj`mT zqhF%__lOM!?_!QG>dy%G0#Tp#K~G!8@#N$kPWBn9r!C_+a#BY28LFQxM*U0m zvSl1MPRhtWL-ny`9P3od$UZ~$uw@+oPRgDR_8Idied_+-S^Lk^_59~?+5a?-CZ+vP zqsk8C#CMFSRM{c`I8|sg)+reD{*xke3|n&m|J;yhNfukx8uUPh8z! zYWU+A`EVwj0o-qY9BaxY)+Jn1p6H+7KaRHjPqPCZmcSaN^YK-)i)GA>`#0q`cq4f) z*`M^fhPnc;lxyD5Uyj3<2_E)NU{XUIi}m03;1_EA=(+!%)#raupYOHK{*dEk`Ij?iCu?J=M z6njt*nD}S-yqE+&yC}c*zEOhXt{A=Ao#5 zxmbJ2^7<90SZk9i8k-ci{r&D}4qRwT zL)2|lW7E=Yg!5dUsy6z*()EWb{bQB>rAq%+rT?VTe^==TRQfTMj>SSdXG*1~(?(UB zm~J1O71N}~P?LdLrFpLs?zcuvjd%?0fiZ;N*fB(UzXG;&vY#!& zXVrez-eLCQbcFV^M(mXcc&|iav=MC=>|yO^9i>Wpr`a3Rv3_|V_OtBFj+(f0=A^SqmsO(#R*J6}3ZQF7_H~f`Iy2Lr71Ca+ zw00O>+t)A8h^~!o?QAyz_gUSWltGM$stv7xJ)78X6>kk?WFR9gGANc}y3NXHEmaEb zMn)_79GJaU0b*s6Z3a)R>Yk)@M#;z*jEq7kBMliTkwLKyQ!}iLLW%aGl7;7?!usVY zk&$UBi2Wzedy%kQfUF+2$)wUsme@z*Y#%jk7VaH0dtv+*D{Bh-DBFK>r84@~VciAF0cC{@yOh7e+wB&1$RIB6PL>C!gH!dcR&7vivDj3+Rmsn*L+ z8(Ha4RsyojzOi65fi{e1tgLjY;>#KL>GjLwBFm#aV_Yx4M210Z?t!dkmKDe5@v1D( zH?sUtRvfa-zPMl%yXdyWQdX8SiL68telRS{D-|INCThrPWLYuHu&T1+ zo{{B+vSN^B_WK2+G01Y0R+fkTe!h|A5l3h4t2lfWjI21H>xQWuWXb-!n3CnjjjVVm z%Y`hnk1-ep67xSRD~^4Po{Y+B_FQ#`bKU*J3Z&*RdDO&f6T=X~KD1 zQRZ!C?)fIzTr7_4Kq0PGaAr>WdW9pKP>3rC&dgO`rEp{)3UPVCnK|r<3P-l05NB+% zG@qvV=kW?hcB2qye4%L0O}JwejySOpXKbM~FDKk{6>hu+XY8spcPHFo3g^_!dyS2j z=J$jPNyHSePc0+?$GAlr7+Yl78CCdZRhO@Lw#Z~vF^|YpH~>_4~ucT!~O`+ zAI&?^AN#6n)$5OW3RAB?x)r8gf9##3sn;KmJ*vj5 zYHQse4=7B%{`mW&t2h1o(E;91hP_u$%QCZYKS)_K%BbCKS$Y=k z11W1n8MU`9OU=UgmojPtYG+&K&kAkl36iJElCv=0<#!DvPnCJIFwUin+JoBDUNbQ( zjEDIU%BUS}S$r18wfyd1DC<*Yu~`_;QucS0QM=jSxw9~irR*c>@9JtYO$Ek|(HQk)w9gA)Hin9{^yexK)# zm+?uzNx+7fU>jm`D2eWAc#&J0xxpXtJ#VPuy6ML&7oOPAggie58>>H5POk1JJ9H|Y zT9;0xE=i}-{eC)iNh+CMm+H?TJ=E_f*Wh1jQwFx!wC}G>!A48p)2Zajqz5_PV86E^ zHR7ebelO(@`63r<6!?3FGW(tQTz9BznB)cEwP>vxV9iHy&g~w^a?BfVM_mRScMg6# z_rWGpul7uCU2a43NUncmIGf9qo0@Y2T^sfs>FOUI&SbOYTvO9Pzw6DRxt*J&x!p-W zi#gdi%>&%#9o+-D=Sa(*sKcJ~hvuUW$5+1?V{=11H+#=qeu3LuSdwneElA^f{woor1=ml%9Ba+C+|vF+>k{9&ZS#D% z@sqt3>uRjQXFKzAt!H2@y2VF2ilKbMAdc|@{9C#pmtV3WUznYmkzay;3o?+Cg5D%2 zb36jPwB?u1$EuiO`n~1kUhgK?!+215RXTU4WAuQ;G*ibIb z*jUnQb@4A@al7>FuOa4_N$2dW&emXNduuSO9psekfkgXK89iHkJOf9d_&~aSj$d43 z`T_4dwtc59uC&!f{LaQbI$G^D8)tQZ=r3)JA>T=)$MLvy%Dy*_`5wOmNUp`$J&n;lKJQNShnUXRN)B8c79u1c)P$di zB`!*IU(}z*{U5^sDZ8Debn!}lrdN=r`!KY9Uj_f&&XNP0frGgT9_`I^?dIm$@yhJk z>F0d*y5~2)V0NieEG{8JAd4{;E4og0?p5%w@7UVZjJ&-%-AY&25(kwn&3%0JUn+Q} z%*D8yLq7NzGg%V{Dcgd2oll5F32u95!Smw48Z?VIK@ z=)Y80hW<+#TTm*2!B71b+4Hy~dm!mP{WPvm@({<)z5cMlLt^P|TinF0vDga>rOeW8 zTmBKhH5NFxZHdjeb+2GX;k?X@_H-kCpSj~C#d^8WU9%c(z? zqVC57b2GS4x__z9Yi-|GjybtyJdZ0bS!O$DF1W~Yklaofuy_F4vW;Z1UlUblVmGLyG)lrdTQoxSGxW+S^i zVy?OEK69PwwV}htQMsno3-ZP{OCI!NU7_E$`%GS9B+*~#=vYD==*{izOUmGLm(ICz zRRZmUvAKE^jZ=(K8W*ctTj!RUyB!`Ypxp+*BV)|mnVoq+yh6W4`;{9^n;}1Y1KPR_ z?v}1c{cqce+9p8T&~Ka~Mi%7!gXB>BtU_T)1w1k4d(3xbW;DdpZQz;|8GAyO zV$60xMoW8aU2JB0U3x=iBt5WZxHX+9w`H;eEv~zcdG&#T;e^{-&c@mX;u{hp@qyvt z)@*CJt*LE*<4Km6{mk`SodSM0Ba$f_}V*JIC93GJLM4e)q!sl8*gUNiAOYwh3gaGY@d7xqEYI0sLgr?#JA z_d();51Tl}2S5V*AZbse!~k77JUB3W?wl<2q_OL4Gj{L%Jh6M{a>nkBPqusGlkML4 zWV<&$+3tKFf2lF4%uN@vnpJz&Y5obFho&U>DE9E}p~OF$az= z2mUPwZY_uBVh)^G4t8S?y1fXxUZKE2gjCIzZ1teICfF> zJ8_AFW2>v*i8CA=ySVzDxWU1(4^_Vt2RJzPQTa}3Ygcbh93LN#g?wcWFLBcbZmEEG zKeaWzGb_&gTD$su^f<1=eS4ofS^x*0pJ(jqg&e&DI=2?Gjoh~d*hr~w3wXg(-xgpa zrM@k|MoN8KfQ^*;wlIl}G=XtNat=j55s!B+)j{^3yjP{mDm|#uYgKxkN?)qdA6Mxs zRr<3kJ*v`QSLtu7^mkPHW|gM4F5tegZC!Aj0*&8>-l$!E{@fb7yl!Lcr)^Pf+#+q< zB5m9vZQLSl+#+q}mHw7W-=NapQ|a%k^bb|~$143x zmHw?t|4F6)uF?;vG_`SyYU38iY2h}W7j5IYbE|g!xn^u}tUq@yKjX|bUWzwq$JQ2_ zx5BYfDp>_qw(;2E5m`1#u0Rm64zFoso_B#2ROG9G_SpZQh1YOdiK$xDMvv zbWho57RCIf@!Tx>(*1Y`)dd(z->K3+Qt6+l^e4#PN zag}x{29oIJsWkft;MswxKCcZL_Ci|&XP+5V&+ElU;9Kk?uoCl?@`aV+Y__K*W|KW_ zaIEAF4mHD`mScN$Vze3KJhxY?A zA#d0t?xufmc(#`)@0AP&TDrV-HZS3M+dKOESuGvP<;`-%HqG$7-Mb;DRC)oQi zb%BhgoRZPmWn^@PGMXSGD>96)iIve+s&p2OjIQ;|vmzrmtBYl1S%!&Onr%`tIy#Mv z&QL}cG8#oj7WHVHWo2}hDji)$M(6tFjUuCIk4~0BYlg*GQG(}1eGXx}Y-3i*68{g6 z{Xb0KhW;Oc_wi7#mWd)!MtNkPX8y@>_7+I6~Z0~5h?R*kkp}Nkt(W+7c>p6;&!J?AKZnQu97fh;{v1Zu6#g76E64r;KKEBQ*UQ8NmitNk zIXw2~FtR4|=P9`*RpsllgNPSyT9Puq?k+#=8kG zJG7zo=TNf5pTlE+4kK$ae-0yS3V#lk<&`!t^_e-0P^91Y^nL33E*98hKU!^PT3)(d9M^i|ja z$&N#~z8YMY;LKX;3kp}R!F3AGtg$|=aN{+&4#AnV*C!N??4_Z8u+O5OXkAEijgKlE z*-k?oY_*ItYqbw49NAGr9PGA?Gi$hu6^?AGAr3ZN#+kLotBtwB{ScwJe6ll*KglcCk+n zVaf_a$Tt8J(s7*EG47_9Yz*854H@Gb;DPgku?M~ZSObf1Kr-Vrj0ADE_cz4cR!nBu zH^8;OVSj?$9B8=}VFKNuAoL?>fUzlNaY^z!h%*kAjI9X#st-X!(rt}fT#9@RJjTV~ zfQ|Dy85d9atqrL{YhZCRNmrk7@w5}*Mw?s487%|({2Zz`af;N3>Ggg7;p>l4ZuA_{fp-ZU>Uks4Gy;Dj1y$qTG=;%u9=zHYJ3Bb@5IvM zbZe9o#y6lZ;f|N_eLQYrVOTxvZ{qk(f6%eOgRej%{7%R(18c@D-X0zBQAqPR(lQbx zJ3ZJx5Cn73@5AsJVqXD+X>Y9r*r$R?B=rHd7IM2gJ#Ls0^;gfgQ#{y}=DNk-klhU2)j|*;kz5?*~DYYA4fn?w$xec1&$U@^J>GSAgWd<|&tzDJ{!AKQfn*(D0T}IT;w4AV4Mn#lJ?$%y6<-0* z`U>PqDe)CZlRrT7t$V?z>AX~P0VZAY9hf^O(_ApV0!Xv3K=Xo#ufW+(!pj+7fgJe? zz-G+80)xg^AeS?~0=dGH{zAUkpU*FOKYR+PKdD{VR{(qz-On^WDE^d_*f(BwR^mB$ zDfy*;!wK6nq8z z7RW5ESwqhn=pnuWmWz7~ek0wuM~QfH3e51=`S2(8@gB_jiE>ja9q|>&!v5bRz5;88v*~QPDbp1C3V2y3 z!0#GUKKlyzun8ULMZSq-PBJho5V)W-}KiImZ5)tF^!8 zjP0rszsEUNbH_2ZaDE!snXcz2dg2b^)6yO}zX@HN>)h(Y!a?KS}Ko zYl^meHnbPwRYUz7P@Bv6GS|SE!o7p(3EK^A5m$xyJ4*0eV<^RGte2ov15g<`yS{(w##>uuFin5X9;)gGIwlZ z+lJgRe96$>@r>P@I|X-)^*LPj*10qAZ!nB)+v>tsDCQ5e6vS7kpL~T9WgmHQg(IIJ zy3Yq3zu50PbIAVT=zWB)Id3f*W7O=o^G7jSwlp-%cB(N(UD-#dV%sLD&9RRVx5b_D zX~(uTGF&Yq?#`!oz(bH>_YXFp140?b?uN$@>^Lh-dwY}D!|aFjxxHgrh8N1P`ym_X zj6mKG>9E}mw+iah5VvhceV*HEV2o_klkMUAkK|yOcyyn}8zD#T z?G${i>H4;;p%K@YvINTLy0*-1#C4^t0X~Cq_;g_$?DD^zUH`rW>)%C=Kk8Nr>lQ)l z^=cj5C+py{JIOjY6|4(3G>!!QYlqW8s+?&IWF5R_IE8g_fOT>Gb#NL>#2dFXH0O3= z9qd-m!cM#K`I&gQ4))+TXMN<8)<-@YhmU-)WMdXS@{ML4j5Pt)syVEKVRx2wuphuj zJ{zuWt3LAfH|!&y=k+LDBx6I_aD7WY@^Op9Qop(m#)D!-*7(xX`Zk7t35(09b#UBC z3}g$u4o+m!SSz=-rY&xU?+o~9mWy>_<0i+SOTK=zp4IDM@@uE{Yi5tu){S_tkzc8P zukkt<`$`7<*6KQVBgQdcL5Rb;DR3HT-AVTZT{GANKKGcz!6CYFN7ljmHwpZvKikRc z;4ET0&^j1)+AYahSO;UR8`yXVD zyv_8dAC{p%eKRM=z7WN6i*_rl+_W?hVJKYq2lKkO<<`A2E&21( zEv;$xp>JC-CunIk>tLjL9o(|tB}aRgInj|8E|Lg%zfh({Fd6!u7l~>aD!S`)BS4s0$K;t8k~OP6fqw4Iv8u` z3U~>-4o+hooSHG&Iyle$MdwY#uqLwWU@UXfldgkj6nGs>93Rf|-gWEXlAM9YTU8_v=zlG+s-;To#SVCisqI7HtXPI zv#f(X&#Z&-=^##M13pMMaK9xF>tPS;VGq96)R(k&rS-@RT!-d{$E!8ii7Ndnm43ZS z(>jg%j@Rw5k)YrBc^7Xnb2gG|*2nqU^)a7qPWu3$|0AwBqZ#Lw(>gfinRRdqYe~`{ zuhW|Mm_CEX>fNVw`Y)9}L8V`z($mqqW^JtWE+f`d3TvI@6VUrGrPFg&`WThgeKH-r ztA4af=W(ptO)(AzN168?pwfq^^bsme>tY9E z1oLKI7soSZzHP?{jl&NCL+j!X;i9c%(v__&ua;7@n6Oo)M98IX)z7hsAc^p zKBq9Wp0pUZC0wU|N@2zoCe~tjFnVThz*_c7tYxh{N8z+i-&EJCr_(hGQ%|QaDoj0{ zu7*xu*a4kxRM)Df)Ab5dPp4}Yrk+k;hE87(*Zj;UdQIpvd4~M}*B~A6eBv_Z6r}7n zl#y&(#$1AweGg?M)0QzuDP=c8=66{pM&wicx3la2bFltjEbITp(DBlz@%n$i-Rpl| z{}ZphBkO+}x6kDDe;-~t&$RVF&C}|w|7m`O{(M%i|EbS+um7zbeEREuYQJ5%{wH}f zcX{Tn|Fe^>|LI*@anrnaC5&4hfUcwUKVpSWWe3mZ!}b6DX8rHu+)G+NH>mYL@7>1t z$=3fK_FQWYfc9C^d~zAB*~G{9Je9scr3X}cNTq3gO7Rbp@M-A7vk0rqG|Av|yl_ps z)~h&$T0Wp)?5)fPJnW8AOkBUktWndlMonXlO7%(OY+AZbRd;0{w{>`j(&-$Peve9D zsM0G{dOCHe;RbXazzsanIxJN>O}9^`Q->-~p!6?;Cm?Ra_JQVPs1H(;^nv9Gs1Jz4 zqA@@`!CR;vG9TtTN%~Bc|4x<^v{&OrDL#Tl>> zEc`*1@Dt)gH5ET`?dK-)6Q|u$pP#VLUF^P%^0;X?3iWj_+HIpjhvfxe`t zEo1)?c_yzz8R=)s*l$G2hEYa(*)sN%lQOCw>0`^-Z$-)mq0j0k$dl|W|M5xiAIpUQ zScV((@~1KX@!z}o59UAEMvjHBo+nP`|F8{X^_k3nEXGUinZ|zfHyORGPdCx}vgWk2oe{g$O{U34&@wp@XM}hf|4Ay+kKMeno!Z|$5fB3%f zf50d6ANVZenbAN#Q{WAJ_(AyagYe-80pDl*OXFWq!-Y^BZQ?>crqd>Pa-3{ zNCsU&7Yw<4U(HRr<3kJ*v`QSLtu7^mOV~!C~&rpQt+Zfj=?lI+?yoOJ8XYi~1@(NncqWh5E|yC_T)haNT6S z%wti~pC-K}&GnQtk4s5^RbhxzDJxFJ+Cc3XBu?cvV2D$>1)o(;B{w;z;&Ys;gyD-c zr;?NNo^S?}FLA0;&G{NXjAhf{ROopzkyFVQ`?JESz$tg<{V?RbD8;Gx$`2#C3pkbJ zF62~_yO2|vRMvJl72b-@Vf%B@vFWgZ@^mGV)_)Op)K?; zIay)K3gfng{v|J0m~n-PwT1pAFHsm;zhi#Q`o!D9eHkxQm_CI`w1u%Jo{u&Du~_3< zz3bKO6n!nFldjvV6{cR@7AZ`ecO7g{fD!=b>)L>_FXKudh|7Zm&|9dUZQd zVd~ZGc!jA~w__BhUfrIHx*Z*IMOA-x`_7@U*oV4+*Wohuagz7WYf(mZux0GqBxO`j z(%qJ^Pm`3#e`+xH5&PUnD75_C=9E{dU;$Y+{=Ee@k!NC5X zT4>(APfP!wHjnoIc%$AE-2X#;9`auwuExQjeK^n5{XcCZZT)<91!lo| z|4$q4hY4{owzL0-+HY6#UnFlT{wqOeX4p6w)7byh(u%m#F@GKHktCl469{yI2iiOj4Aj3E>3?U`&bF&1h6v)$YH5HLRWanbYE@`nY) zJ()qVP$*8yhS-R!W1&Q_2{(>-DCQgjT4UaX>xGD5*xpDPkC8+1*-hM) zH1k*u%~lTLv%A8-=5Wrr$bkuDODbmM;I)gG*yhZG25kJR)+z3WvJk$B`kd;7nT4F+ zo*r!gKj+4*EEngu3xA6Ee6GmC^%3XD$il{R$TBflT+n7!SzdivCJu{{71Of3_4!4oS|&CkTbbplWTxxO z#JPZOfa}G8R7c~E>_IcLuv93e0*o<$cgRzz5cJR%f+J@QUo9UD)*^rM-iXEY$$=DJ4 zbC&y$^Sg8^4)&ZC6FJ!86;pGt^o(=N8hHW-dkfBRwsQ>Pzbr4RdCD6VhIlZG(H!jc z3PXID#b^%pT7_}cd`5GyUsjkth0z@B=Wu5ED9$Xmde^Jl@AS2lPP%T}6sBI?exfk- z>UNjH)T`Sa3RACcH=}Of-+{Wtz#rQB_tmM}V@h7Vx;>yU_3HL_g{fD!KPgPTy8RY) z`y=Y+KwtZQWP5-;Zq^t{NR0sPz9(z*OfilwFmhqUAvR0Il&bExlnv~^9 zo+{%pCS_T0u+9Gm9PG~e|J_FMe^(WTH|`+s`J}}EZQ7amzx8>~q20VE^PUcIV|ak- zb=72ke{wHQoA)dW?>Slg-zSy#l=#1OdCv*)e`|TqGA3V7g!hd72lAeMQ}CYh+H0JJKcsE8TNSw;!_rg|6c(AKdN`&C2QV)+W*hi@drw` zyH)z9D*Y>!{=G{7MWz3#($lG9jW3|Cqxb^aI!?y3QXMlpP{$uB-F~Lh%u7ih-K+AM zi<12NRsO>&tvSDOwZ@u^SC0AxQVdv%(@x{xa>@?uv>EbCg|8j)_!O5ogSf;C`|ufy z^EsxOgy#@9ALWZfP7Y_A;J5TFF`V4c*#9G)#b1K^RMNjx`M*(V?q9+DN#*}dr7hQH zX-0a947Mq06z?&3ZrN$HZ?CdzZ~#%m_aw>-}`ZZ_r(} zgK>=&E{toOD~7zm6Y&`oeogrdrj*a1Z@D#ko;eb8I6k>Ank(D~`MtT|KB}>kw-eXc z--SMd;6Ry6n@;Q|s?W~s!<VJV9v>!gsJB5D{vb>I6X6$2_vlpI*vV&4ffU<_3FQ;!qlt(Oogde{}zSmQ+3nzZ&a9i z^-rSy0qSr0GpfJkE46>>99+v{sQwnC`9tEREQacDF`64~R~V|l#b|DnxF~xas=vi( zZZuFBs=vi(Zq!p4s=vipdo#@q9n?R;+!n`cT$ z(e%{(zq9<`5d0s9@9+1{T z_2Qq6o9Fhkng^slr}@e5_~&#E*!2A$sr_~(4@mN!**sv!r2dcet|iVdjD3bP2I0G5 zpIHrw6g(7-|JDRPu%nCj|2BbVaPBpHV0KU81B1Zq|HUWo|HUWsf%q(sAU+yCH;$T5 zZ6^wF26+%G;9nm9a`>0UzX1Qz_~+xFhktSW!!|5%a)&{75G&&Rfq}8}#V?GmVSE}4 zhe+3>?<=b1bT0Y8*qZ8hI)8j%Y^3^~&KVyVyQKP^&J!OPyS)0H&J7948uw^aHDmHwVee_y4kt#YcZu;+o#3~A^#>sZ}J zHJqkyBgC_Ns@mxDO4qNb^mQsdrqVa5^sOqrS*3rZ(mzw_U#s-JDm|Sxs&b;beGn_J zNsXZ<8ADAnhMHsyHOUxik}=dY$rv&|ipCe2&OfCwPCk3zC4FV>!}XT*9V-7$mF6}O z%uiJQFI1Y_LomNn`F~XDzp6Czr?}s6{%Rv}{|$R!4B_{74AC>?6%B?zU4+jnf7;$* z{J1(of2l_JO9is;8YggU3HGr3X-BEj-f8^fI@T`_gg?#B?5NpyJwAvN;)l%K)(= zC^kKwT2;TqG!A^N%D~wrEQ8NUG4)78MoMIuz5P~3p+vsu?30M|M^hpr(^8Q5_j&e5 z#QGhwdYD5^rIjq<$K%Y88(ASgZv5f=7AtECew_Kg9LK-+Syng8^7X#>tnnj_=fbul zA5zOTnzJFSEclRSLmyJ>dzWgmd!e(XjTjqnV@JJkUJ3jxlh_AQZNtFC3y5$%FoJOvf z&u4(kY&%11QL5-tgJYEnLQ&b4qs-G6@z`u$in#&s2Bbq%h)I| zuiP%@ed_Bba^AV~>vP_A&g6in3+GHl-ji?VeFO02vpC`bLtLxi%zW?yg(FTd#1#Z* z=85Mi9Pxu8E-yGUe_W<;4%WaS&T#THm!-MiQibcQ!5KR=&36fRn!*uB5?;@6;WQ^E z+;niv0Ot{x5oKrLBG#ow6tqJ!Eh3l)q8NQ$9--J6s;mS3*(01@&@R@uG zd?xMujrz^b--2#4*QIN{4cD?5>NAVUbeldS%&7`P{be!fZqr|cd4s}GUs+75+w>J- zPF5J|CyVjBL)*#A6^8oAVv^makLWrtQ5fnUi}AWcTg3|%hWf^065XNAyP6Ure1#>tuXca<0yrx z*B^%}OuhbCs4(^VV}Zid>yJ4KQ?Ea|6sBH(v@1-#{>Y<0+Qg?AbJ8r$NrPFqFJw+j z^``c>WtmyHAEfL+lu^6evh*z62U4~l%Ba0zm!oMP&?Z)e^zKanM?9iS#lP} zyZml8$x~(CtT0w7wFkAQy=G!o7!RU@oR&Ra zX{IXqN)z~=Dx&iSf5c?tUeViAcn&RwNA1gQPac$mF zALw8>*qH23dW|))9|D~H+E_jNb$IB3-L?NQB6Z^q0UN%N?(<>+ILS zxp6c3KnIx8pkJ0D;D7o7E6>cslJgZ!ULTc6sqU)OS<^-S;!Cx}X0_T-%X>f?FvX|yTzMa7=|>TlcPCT@+zUif63{rVn+6VYeCt{roDJ~%XX z4&<(x^6b~OW5)w?vz+}(eO_z(xNOYHnKM|Qsj(j>^?~lV%-B9UVCbiDiZM##VpTQv z!`iU|+HJt8J^Pi~kIqS^Hlt@l_3T$%kNUsv*{_iE50V2J{dLcNUAu;!HNXtEKsNTL z@;w^bK8D5|%p1thq2}yYe~4wflf{1UMJ~8%(vSQQ%kamuKF~7?v30RFf1Qc_Ff^R^ z6XljvFfhZFeZK<(!wENE4q`15`(f>HKFF6_8e0bVEZ6d~pSj7rlf&5M?(!aIB;W&0{?NBUTQBd2sCT>i2g3{=DjUvZ)M?9b5fQYv{qT7gxX2 zT6u76QT02mi3i7CUHwjL-@&m{s^4jiJ2>{{>UUbp4vsCUey26-;Mkef@3b}@96PuA zoz|d(WABykl(sgN=EU*w@mRPH&c(nFa2vR#0&GRp*5*9i`L#Bc`RHR@hx_(EceDWh zBR|jBR0=sdf4XyPA=}7(TL3>!eOmxOPJLSdKTdsH06$KBTL3>!eOs7>AEy{eB%HQI-CLN`G3VsjUmR zZ){r^==^Tn`whKOo6P*VH8vUD#_*+YQEl8JZQLSl+#+q0y;#uhN&P^hTAwN~J%q(qB>O>r{G7rEgN{TUC0qO8-cusf}Ay8@D)43%BvS zXdBO+Tea!THDinSdb@M^8E3BXQqY?nTU$U1kZ(Bo!IPhROH-Ep+*=w0_H%E+zV>Bh zKYoGg0t}_UtkPdo z>2Ij?^(uXXO8>7)-=fmrSLrP(eYZ;gSfzii(!Wya->Nj*hw$uZcAREz>%Gv{sDpiG zP(7~~`_Q-8KC}|=%kqVl;%w$p6SIj+9ULopgG0^WQgdP-YQ{Lv?bYgddkta^JiAmW z&M{o-?DflY!lmZBXLFm*C?IB18~zP>!`_DEh}S?$Q}0OKf=_+wzR8$!vK>))clpmX&AQP^~Rb$r4+h$F@8pYcgA&ku`-a zk7ec9Hso`ESzDfxCAK_|ZFxr4WVSpbYYJN)%gVBCsMeOJWQi@$V_Tk)HJL5X$eO~I z$Fc&p4S8HIYs*uz#Fpo=EziiB%$8?lO<~JpS>}9!T3eoyCAK_|ZFxr4WVSpbYYJN) z%kp_|7hZO_zpO1!$r4+h$F@8pYcgA&ku`-ak7aqKjd%~%+VYevvE_Me%QLbjv*j6C zQ`quYR=hM0Sy-~5Ue=bUWQi@$V_Tk)HJL5X$eO~I$FkhgHps#sWLaBYoP8IvIIEB5 z4o<}{mjP%frv{wP@)#aqM1%(fpCtn-ItTPgu9eT-~f!?t0YN@(9;g zgXdh1GsBc46Pf!Al8 zS%-aG;fQk&ap3qFXVzzzD%^Mt4tzi3%(`uz!Z|f-F>wEkGwZpv3fEVIgB^fzW}P>v zaOD~tYy!YhUz8tRy=mp61J!j2jVrq@$@Ll=F|D^gjceJp3ymp@Y3l7_doE!c7>s_Vlj!{ z(Dr${!q7Oen0Rk!`+TFq&=|3pSZ`?ie67OJ_^=qaH?)1e6651F7$0^`MdQP+sdDqe z@o_$`Wid29ET(B*I6mH~Ff=|aCOa=2A7>~GjSq`yoEMIdw5*NS-Q7_n7wxl^sU%R9ULWygR7uAd-i+ zw(|TQ^S+?6{YjoGOZJ#|1eNVg@>H4EW8Mo?Hjm_~vP6%07f{(=BoFOv<;8o<^PkH0 zBzdYV)?=ReRJI4nQ)O;X_?&M;KXq_FVFH2)5&bL6zvy?$r$5Yd`ETTAaJBfunu!0} zb{5Wci?^tiw7Qj;1LHF4?OhXLk~Um^ure({H9Y6Iq;x2A9Tdwhb}z)Ee9NS(BX%l z{^mnZJ9Ob8Z#w8L3yFd#V7;68$n2FG`nm0r&ob4<4L4SW(l zn70S#-1|SK;N`dw<=_7mlYi+uO#UAve{HdoGyXhm^1&uB{`@bQ{H=MDzftlReaGZ~ z`*|k+i^y+4?|%DJM$h+|Z0Bo|?|j1K+y4Ky>zwgPgI_24-;?~uCI17GU&O#8{Chub@Sl|Y5y`(> z15||YFBd)S_0N_3>qVdSg8#YXUwoyxzLk44x|aK^VHP8gJ<CDf5A=TaFzCf9Ke#|@W{ zLHH~7%XzcxRV6G8TqV#wpRaF;<3&6cNzS-(3}2#h%}~{uHRk*B_JX%Xs)1@>&0;TK(UM$0_6Q zHu$YF-hPRE)<1%OGvqV=uLggext#NB`=e_wOb6I}H9o8E*}EA+r7v{0ii= zKKB^B9Y66N(LaJ;g?z?8YVd!?xS>DtL}&dY__fGqd@B^j-)ZJC?KI94{qwc@e*pQ6 zKiJ@JHm_%gb{eq$5&R{{XZ#|AzX|oHzc$Py2w#riKZ<ygiR>8N{8H2CKoDEde6-$6d(3#MVV8Fihb4-)-n)aw7g$Y=ci z27iLwzb`yk^pD_gMn26Y{AT1c{t|;f zALE<;UVfP9-&(8x-N2+))Pq`XfaD2>zGIXMB%Q zJpM9+UwowKAHm;)e8!(^@O^mi(%-4i5&he0_5UsM8BY%i{M|0kpVOchkN*h%cgSb_ z#|*w8@0Zh`EBZ(9zehgfuQB*j1piiyJHCG-_&*|_@wXX#S@27rFZ#FF>i-wyGyc~G zpA-Gx(I@&x@b@8~@edmOpXL3#>;Cjhs=+@h{k0PLJbog0|0ROI&EV(D_!&Yz;hjBd_0OCj_+K0RUDCh* zgM7mGMex~|3jQ&Jzgpg>!^mg-Blu?AuiQRu=0PIM7-t>wS^o&W70*}3A8PP%%wy>9 z!^mg-J8SjdW0BxrZSeQW{OWS#v;Gl$@#TU)$KdZVuL0*1$Y=c{_?}k?{=)`;oxG2( zLO$ys!7q5F;J;(=$H{p6Eb>|ZS+)A_dy?RPWbijj|9%1atbYW*@Ku8UtHF;;|BfP` z^^f2WdbQva=EXZI^OI|k&-zF3ho3C?Zi9bN@ZUf_>)%zY|8rj>_~*)tUB=HC@>%}~ z{^-{V{$#<+`|C#Jv;GnMi(V)A^9}xXQ*GyFSnK*q!E$Y=fctkwU- zQv`p#!Ix#c{Q&u_e+2)EHwgac27is2203>kpY@O6U-jRDcg%~Cc6QR=kC4y$NARzE zqu}Qm{P~!l(ce#z&-xc@^?&1H!N1brk1`+5HsrJZ5&UUy68v%lJmXNhy5sy7`K*5g z|F$;^{u;sKc};(RL_X^u!Jm1m;2$*j_40i9EAmb7S2j{q=X`v;GnM zxu*+$e}iu?vO3QF$Y=c{_;yb%3jSP!zs7X4^BD43|Jk+r z_b(Cr#|-{*>0kG4qJIQGhAmx}%o{Qn@I@edmOb$tdOyj}E<;75?p z_#@1~Suf9r;u)gF0_55&VP5XZ#xteyiYz-Yxn^@Ozvu`1cz89C@C99{E(?@d&=}J%Yc);1>#h z3-Y=B=ho_f`g;Zc6@x!T?)QHqpW8ozU-Le}-)`_j(!YCLAo@q}UqU|D_fH0oC=LAA zw_Nm(;O{~{<8%8mt{~&{^pfa5uU7wukk9!241TLzf6axWe+1uE7W^v>{vLV$e+l_K zej@l|`UQWU!5?deopU$xx&0&fr2~S$!r(Uw{!!#}`_He{{{t5Z{tkn`TAo*Xtq}bq z`0J3*^?ktLFF2T+$$9Zg(LaL!CGr`+&wdO%uFv4l9u)l}cyE>9-(m1l?0gvctbcE< z{(BDze#qdjll$@8$R~VX1ixst;6H2d#BabHG;p@;K@Uh{*wPA`bY4W zBcJR0PlLZe@cXS5{TI~ge$R9!GFczSBU<%AfMZR?^^xe@BzX9)ZkAs)pq`hd~W{; zeqf#8(+gRVqKu!G4~qT~{HKx6^?km<2S*zHk617INAPzbpYiWCc;^^{U;H7_f1g_Y z|Al@k1b@t>f`7age>d{E{Ui9L9}#@T z;4hc)@Cfp`{r9ca|KiI8-(v>C1#-U^KPvi1@Yf)p>-%zpKf!!BFT7mzkKlide8yj7 zfcqR~D*X13iT)8h4oo-rZyEeO(w^&(&-(9ItN*+Wf`7!||9q6W{x^_M_`V4KWg7*5 z_<;<($-td$$R~U`f`8X11b;*=K6!=cAHiRae6H`227iB(5wOQ6MgRS4_5T?18UJE~ zzr5MtJFgV|BlwRapYf*{{5?5?pY3{HF~544I$I|BUD#!G8|VxYwz{3X%`MF;a{Ui8sw3gGkza~zd)WRXKxby53SYzU&v?t^9=qB zc^;lOF8W9C4F>ppTS=$<6#Bz z`TccRt^P^8fcW|!F!{@y*z^*@Mw*8lKY{o8I9{KE!+os7>*kgc@LhYE z>wgUStbYXGeXHP~WAOJaF!(Ew&-zF3b8i#;TMYhD8E;o1pY=bYR{!4H1%IBw-z4Mh zGstKCBlvy3FZdyYU)y5z`8@Jj{|J8nI|P5Z!CQZZQRK7!5&XeF5d2pR{x}(LUqe3Y ze`KxxM{E}SEe78y9vBM z68y=v_}h@r`bY3D`+tI8Qj5O>`Kb@W;w{+k$-7KY~B$$AVvN@ZT2v zUC3wsBlwelBKVIO{7KS2{}1`Be+2)!p9=o72LGUM`s>HYXZ@dBtN-hNCit%!{82Jr z`U&z`{|Nq+p9>zlMCs4se~Nt8KZ1Y5F9d%}E&k`oXZ<7i#lIB%UA6da$Y=eZSF8W2 z+XVkhgI}CtwVdA|pY@O6-|{QL|H0rXKmz^!4*9Hq1pl^Q3;v%5zf9Wa56EZzBlt6Z zBlyP+-oB6ijC|Jr`L+6=b&uei4r4uXGGF=|@>%}~{++)S{A`1NjXbaZfqd3Kf`8ZV z1b?u>pC-?%e`I!CU{0V;>UzBlw$< z&-ej@zjCIz{_zis{t^85kPUJKGoByA^vw@GQIQRd_X0u5) zn-@X|Ap}@Lj8P#ZA<}?o!<&L2qM-Gyu7M;Z5<*A< z+FKj2dM&-z-dd{Fw$xhx_SUMs?XA7H)?4NOJkLBQyJzxtCMR=t+iv)Tlb!vYGr#ja zb7r2IGqWr7y<8qH{ww=mYW4pTq?7)8e0(ksmwdqfCH*UqPWqRGK9Ae?%RXfPlK$tA zPWm^5-pl3Zs*~(r(!U1jr2mu9=WzX22eYNA{yEp`|JRUCdfz+(^9mooF-hoaCH-5F zPWpVIhYzlxpN;U@6I6dn`rku3=}#B>)m$Fhl7;@Lr2iA7lYWuVzrlQVd)fbaR{!Hu zSbvewcXIoFFQlWNT1j8!WBod-{wSoAe@TB)D(gF}`qv;G^+zRrJA4l&`QKyJC#AFh zWmf;6hIG>3F7)>>|6)J;m-LT8I_bY8^lf~;i!<22q<;z0N&ke5mEhGH&1ZWU~L|R{s;SSbtpTPjGwjMMx+9lD;~d^}n#{zYFQaU(&D1Vf~v{{p*lU z{3U(oIM%;w)hFk&|MRW>Z-;a`-w%a8js2Iv2YZlzN&f_-lRkaExL;VmG>`pD`j;V{ z^m#&mjN7}$3G83ezX$204+{PBe0}%jv;P%V|C1)NzEbF);`ZV}NGJc2etrS#mk7NX zFMS`=4 z#s3*W*1sV1WnBON3#1c&NxyPB>t7Z6o!q|s9MXxuq~BD``nQGt1lNZjKsxc4^u04! z|GrfpEMfnv3N8M>3F*Wq{VYnqpZzaBh5bwVpFle4CklN5m(Rvh_AlxG0_mhL6Z#%5 zpEsY%{v~};8SBpy`aRsfJOt^)|3a((vrl9Fg+kxU<@0$+C;pQD>eE?YFZ54xJp4OI zC;pOt*BPw8Ug*tuCVM9Pm-P2RI-T!rLfb@|Gz>y=^qmMnOr_EDQEwZ z{!K_H{j)-E&Trp7oBd1rj0)Dj&iZ2E=W~!wt%j{J#$A z#9z|a&S(9-LT^6b`FBVs{%frMFF%X*j|=?^JYMlIq!WKh?_0q7KGx?8Kes_T@t5?| z&Sw2fLjMjQzZ25QzodWO)W0h9VZOgUb`JYrYxVzYNGG0uvL1i_N7=umKM3ih|3K)2 ze1A=?W&e`?>yS?RiD%P^n*Ng)vVTc`6{M3sDDBL{sFI>X-`bmI9HtN$~Wv42Uw2hvIZsL)@7Nn$9&Rtn&S(FU{s~AY{mVk%#P|Ec73^Qq{}9qi|CZ3d$mRLUmF!>A zzXj=}H_jn2X?%ZeyMX;)X7!)4iuDtPzJ%Ma+aR6zOZwo2te+|Lz1&`W4brLnNcyu@ zvwo@2zgZ-%*Y_Zu%8#VK^di=;6Z(6&e7+9ps5dUR`rmRf>#rAjb3XY8kWT(3{r)wq zKP2=$Ts{ldvVTecWk@HUj|hEuitt~33Hz7y&q6xs|3m0kPZ#=&E@l5$SpEMB(n7>v3C>^-|RB`-IUdH|<{p8D8UnBIrvxNRZNGJZ1zUB(nHwyhd zTppf_)GeYjjaC{pB{=Wq2 z#3yGV9rv}F;`mj~>|fG<7t%?8w$N`Em(95FTJ|sLe+lWNzd`76{RaNDY-InE{;!Zu z`X37Yey$&STG)Tc>VM)U*1s+E@A38eBBT?4Nnh20*}?uL{nL<6`Zt8Wca`w7s+0Xo`d1;H^m7)IFo)aI=B@0%&g%cqkWTvZgx-99 zv~nB!m-P2TI_WPG`un-QntdJnm-OF(bka8o{Z1Z_%H7WXCH=LKPWpDCf0K{@Kdd*_ zS^eL*gY`FCkN*m!Q~8nf71y)=(?Va(?c-CBPUT0^ulNM(AF>|*UP!0%BkA8a^^Xg^ z`LQZ{cM83+-s*qC4Sf6`SdYIE(#gN1f7aB$Ec7Qho>|?+{w4h{A)R>sPUzd1|Czhk zzob6^>7>Vnf$;Mbw=acZ_Fr%H{}o6lea;fno7eXw>uV+bW!uZHRkK@m;Lpth>2CM(G_OSjU_RsgrbC6E_CH>l)Sl=M@ z&$9lPkWT(3{ieOF-y!q?jtBk%>EvJ1_v~Z+0imy8eO?dyZ?yXVBBT@lFADt$j)!O8 z%>E^PAEcB13881c zgx;K=eC{FkFX?{*>7;*M=*{tyb+@zsW~=}IhIG>Zuh6&g^}XQ^_AluJpJ9FWxn#VF z>(9fGPW&bPsfSsAs?cA?@!?~TPW&bPlFzb!iO}D}`X50$@xRvUzwS=f*9raCxIFw9 zq@%u8(szB1^*e?B!Rdm3#$D`R(ti%piO&~=zLVpDvd^=BN&h6Ilm2@`zl_Vnk}t6T zjaL6ZhIG>ZTIkmXg`d#f>|fIV7o?NkcOD6QW(fWD_ppCSpMEdvPZ#>vN`?LoNGJZ1 zzVtrUUnKM^IiCC`q!a%ZtN+DcWPO*=2Tm8qe*w~ozoftBe%60Q=ofrM=zj<4s1Hl} z8@|N)UkUwtLT>mUVE>Z-PDm#{uk-P_Jd}Q!{cp1Re;m?D|AEl=@by~wAp4i}FF-o! zCodx>PX&dctG>eiCH>owPWlBx&mT)+Z2v0zm-J~5vA#~|FXMRfc1S1wtycf1e2w*= z6#6Bn3O|oRI`NnEi@whKZwmdMYN7ujq!WKhA9|SeZwmc2B1|{lfppX#mGnEm!TQse z(}Azy`k~+v_P^Qc|DPe9_$(6oM>sy2{7>v(((i_J(ytWy2f4p6^-=aO>AwT%q~9p? z&-3x8f0O-7`W{Fp{Z^rWfsbGE82fLt`hNz}Nq@+C{8Jxi|C0Uyq?7&&LSMw~(HT#$ ze@XxEkWTtO>+vi8nf*)p!;nt;V?tlX$3OE)_P@pI|0PH#{hQX~&;J(tm-P2RI_dw& z{`r3S=)bUkN&iboCwi@TpPWrQj z-n_o6zQg_{{S%N*`tyYTS-xM^^s#?Q|1PAHezVp8Wk=Y*q(2Jjq~9U*t2utV>L~l~ zu=@W$NGJUPp>N{&=QB^Ue@Q?0yR84J(D$nE+CBUE$w{8vaP|B}Ap z80+T={V|T0Jl|*klKwtOCqGvU{cC3V{5ST$)yn^ukWTuYLVy1$;>33TJNuXPMbEST zKB0ev+uv_NI{BCMm;ZqE&k21Fx2J!GbgDlk{o(&${kuZn!uq*CWdGZ&{$GZ4@*iAD z#@kL4{k63@c(62sI=pTc0@-OKxInMg9(C2ae|1PAHe@TDn$E^RZ(4XM) zQ28SJzs~CaN03hbe(3YZGUi$KQ}(~z>i_$YPX0TEekI3O8-B+AC4Jh@S^qhq=Vf@t1CUPs zCH;9PSpOeFUvQ4_|7%Dm|B`<1FIb-`28zt_#u=}&{~cEU&p+#VYxBkNe-7#7U()YZ-eMl$$RYGsZlZSuJ{w4jq|788gt@@WCo%~Ds?Z09D z)k43T%fo~>+5ac3{vU^Q@^h2Wm&_FYFa9n2m-K&xbkaX6^zT#({jG1Ye@Q?4ZPvdb z^e=F{{R2oR|B}A-9o84ErUUoXisJ`<$NqO({eKKkQ%9zX0i^|BY3D z)&H{pF022yA)WO9C-nQ-|8;+6|B~MK9_zEjK>jk0PYyyl@(D}&>3?DU3?BIB@tm(i zI`NnE3*Kk_JfZhy2>#!LbmG6u>i?4eWBpR0|5`xkUxRei*Gl@VsHD$=?=>U+mxaEF%iEohPW-#A{^4r{ zg#Oz?{~qffhjj8U>6fIi{)a;U8ke6JAf5P2`jC(HZwUQ6Jl^;Yq@(_*q~Dp!`uBzY z4emdt!}ns6|J_#qpM`Wf-`tA{%qv_zOVioEq<;d^Nq?Hq7jQhh*w6kY{f{A?^h<@l ziQ~y@GT6VQ{{y6xe!bAI%oNvaXMp|RX!W0w$@(oqU%}%;6nTO9vU zNGJZ1eqlE2dxgG)%g=v6I`NnESLd+)UZF3_6~})Y(uw~btN%}oWBp@7pEgeD({kCr zq(2Pl#OFDoU(My=l=19e(mxLAq(33_hq*i~%47eM{y3zQ{!c>R#^vGa3GDwStN-6Y zI_WdkknsgP{<$Nc{Y(0^iL5UXdapQ~aR}0hzoeg0!1|90{qtPj9)Wb?FX?M1vHnV- zKg#2uKY(=Nzt`&jF7$`Ee7*(gsIQgu*H32s9YX&I_oq^e*uSLz45SmEZwvhk zXNc=tGKKw1`o|!h^uH1M!(85K;rp-2|30h#A3{3m-xK=!Tygv>r?G!Y{}!Z+>$R4I zGr9iR7G(dDK4m)VgF^o&E^h}Ro%l=o;$qg%6?*ge<2N9k{P$S>e{=@xFA(}CxqLnk z>BL{sUsb~T2BCk2$CrK!>8KA&`W>gReh>TS{;98&{Y&~gAf5PpRp_7P`eFL1?Ehw~ z|8GD#>HkIO&HHyge7`CAm-NRVo%GLJ^=nRJ|C0V!kWTtnt@=%;vwundS4b!QAFTSG zGuZzvR{s-cvfgtEm4`AeZ(oFT@-OMDX0d*}&_BrfK1e72lKz5n)|UwV0 zTJ;~D!~P}xe?U6v>#X`Ks@ea3tN-6ZI_X=4{;zz#ThC|fHq4(X&%zLbQ|v!Bf$W&e`?B&3tRK6f+{w00ULe|d~`U1XQ z4?;Tezt!shBa2vnme4=T@$)l~PW&bP#fw?LOz6$et9cdDiNB=Zw1oASupf@E-iLJ5 zAC>gCEM~;3j41LOFX=yobkg4=^yYf!Th3?yw^{v9TETk!Kw9`I;_~n%NGJZ1zIr9=zc2Lf zu>L5d6Msp6;RURJRp`z6DkmVF_)GehRjmJ$(7(p*>0cln^~OP~|C=vlec)r{|7-cQ zG4fZle@XuUq!XVRLeI^oG3O%oFX^9wbkd(A^kv*$ufCZ5OZwL!o%A0U`k5U6x2$3R zpSJq{KS(G2MxlR$_50Sce@UNz3F~(V{bO8y?t^sVFX<~UWqps(-_P+tAEXn1Nx$l2 ztUoOD=I2@c9MXyZA*=t5m$Ckh2DHVGT{pLFX_Jo>BQ#+ zp*KG-z3NK#FX_Jv>7;*C=*{)oS6#*aZ@2pY3#60&J)t*0PvFxZXaADE;%e6WFQbBH z>i-SWiNB=Z5Mq6iRqwfm{Y(0LAf5b_TlHtvvHv@){(lPTq^}kFogB|}u4Dg_K6gFq zFB1B-+&+FC(#gN1Us2Ec^+Iocp8tPBI_i%~`aKP--zM~Lay&4#k^O(h>i^r2PX5E} zpWBN|Hn4w5|3^qC{eG){e-rzc^rtnm{;*a5ETofvNx$w|*57Z{e*o#IHx66X@-OMn-OTzIh5jDC zzQ2NW^8Z<@|6OgY|4*Sm#PLJn7WOacpM-Ss|Gv<_$??yccJ?pn{~OXtpLsdmFUux~ z`uS5G>|fH)>}356tNs|Ilm9!d{x@u8{XC)1%I`%K= ze*x*FZxH(T3WWb1+u6UQFWABQE}?&gukSY@o&0~!>i?qaS$~VrALIJ}9Y{xgt)#!@ z6RbZh^g-62vXlKw`ez`W{68S{JGuT3-N61O{fCfF`X{XVJGOt!sW9M(#gN1zv?E|pCa_;=X?Jd(or9l^tbP2{Q{vsF;SGC%6;r# z(!T)dpUcC?KE?j;E+m7d|Nnt>(*IoO@8a^=dw~5* z`tn;@|F+QM_r~GR_aUA9OZpAHtpBUf2e`gUzK#7$`uiZA{A6EA$2Hd@pL3A?-(&Uv z3rHt@iO^Sb`P}ho_AluR4za#Q=*{_-k3l;5m-K6HXZ=M&-@@a2zlU_xAC>e6?tpao zR?xItg+7VS0{$y+-3*`IUtYhXwPVL7qkKc_*7ByhjwXZu$Mnv2qr81{eO+grQQq0G zy%W^%cX@k53nbI7b(@;kgQlUSeRHU-uD-sxb%Rm9uA{@i@A%x*&TNA8o2shX>NYgghw3^zVGsD~&=7pVXlp~u^2+K^sHwRvw63vbb6scU z+%=V9*C4YvzPjuMMqUv8EdSTU!xYvoO@$xOzqNn#G~!)himCo0}W)zvgBGzlgNF zZd3h+^{t4frM{zlb7NyiLuWbIZ)q5%@2WHBYWD2{PhhIfb9BCxc#Y0iX!H7wEuqG? z_U6{k#!y`wd>L(h2udlG;!vv*3e|OVG_-ey8ta-{p!{~Wmsg2RCA_!#;-zcXULHF4 zl2wb>F28V9C{%8q=A6d1n#$^q^>r;!rq^$7h3~`dTwZzRvgNBo+u*BhH@Am6p?EHD zTzPHv(xul9S$r#@*scv-j77CkJ-@~#O$Q$IM5>l9?Q|`_YYE(%s?c)y3v$+!ai=bV z*Sd-d0O=}YQ1RBRYpk3bstI*29at{3ULCn<&~>pY&$Ko{Rk|)-Kg?=?Y4?ha)PQz& zu54DSN3p%6R#h~aRorAk(@9O{JZ>@<$xWtN_i1j*qpaC(%|~a=2{p~ulmZ}Z7~_-)?u>+tddldkcmDo*+9RW@GDw8Kp8Qo1sIz@uY!PLg0Z(?yG_)TzX}3smSc!OQ~oLlM7tbA2D%I= zL7hEwt_VsG7zQ#y)=)1k^&0y#?EWqNe;+5Ks#p zLj;=gS3w{e=om84Wk3l6HPEqypviz51Z<#V3PFznB?#0&#}a}j11bB$9L`jz?>tLYEfD#0i23iXQO$O8;C^XP| zAm}lm1VN>N)&fD30Tl>J4YUpjx(wKbfQxjfg~kHu{xk%A*{cAc_BnO{^klCBfLiC+ z0nn4Z3INeG$Buxe{FM+;!yH2ddh%C8fTtfz1X}V}LO_jj3=!zbUj>0^l4FNJQ~oLl z6e5DL4vG{b0)^~V04Oxc3Jz>NQa}KDvR471&?M^speK7304goA4g#9;S3;oBB5OgQ zCx0~r_FH5<2(;v{gg~K1)`CD!{wfGmT4WsvH07^?fFgnz&Bp8x3C2Eu6$I2MkG%!8 zpkVCtS3y9{^4MFjjX+cWDhNco976`W3@AaMmN}LXG#OBXKz+p6tX04|G1hAp$OE;` zu`CIi45*X@(LTozf-VCp5L6-r9YK<&{8bRBL?GAp~6pR3NBC2s)x9P5G-JP-&rcAkdV*3IdfDS_cA6`KusMYM^y6 z&}Bdgf=UCe1%f66Y7i6}Xgv`07*K+s(m-p0pviy=1f>RA2LxRP>_U*gc7?u?i<)dK zp-PJv?0=`oFkf@vq8~?ys7a3_M0)%#TgI6|ZlktkTQ^;Bli zAX1MXM~D<65?2uE@#6@QN z96?eENL+!W$&e#R6d|ck-_;xT2ogmlWAAD7kTe-`1WAM? z@kB|NBWIW>Fo`QnnjAUAME!r|WjOk3@6oQy8Of0|Ocb2NRcX@X$Pp$Hp2QO-U5*@K zQi+&c2`e=jas){wVsZtNCPR)OsRSslK+2$E8K;tC~Qj+|jqiBH_Yq{)#( zObYRdOPKUHa)wDIK5++=CP$7iDa9wQVAAEtE~dsN+uz$$xpd{a%B5rc)xX-ZR{=n= z2Hw@ful>^nKu`8604R=#9RNMqs{jxoLhJ}=%3lcqHUBY0peKJd1bF(fM4%;qB?Q!L z#}I*@{8bQ$COLKpH07^?fJP|n5r~SCszR$*tgQ&GsR=bVu3pi+W?`s#^@_&k=H^EH zuesUQGbY7=L?L?>018dAf&<$C^klCBK%q(20YFdoDgabkWE})F<*$T5p+(k$Ku`W^ z2<*4WdJt&IUkQOii>w8Kp8Qo1sILY8)Uj+d*$}vQsDSs6N z)GWskfu{Ub5Qug;h75EWP=Y`$b1WffGN1;5dPpNL7}8ZI+Fl=|Xg~=9wa&3D37QP3 zKoIS73?b+;paMaqh1L-yY06&(fl3Rl1A(UeRS>AO&^i!k%3lS6QUk4nfi43|5L6my zEf6#rP=lZlA?Sgi$AA(9l?GZ11Wg81ASgA^Iw0sWpaOwfXdBa26~k5Aqw1RSS3y86 zbPN$_%3lQmwa_s{pecV91fqeCAp>0olps(89ZLwB45&fC20Eq?^cYZrKn-*(A!st7 z0zov;F@&JYfC>ba7FtJ?q$z(D1S&1G4g{L=S3#iCLhC@FDSs6NN)5CQ2D%I=K~QO+ zwLs8hKn;RI1FZ*w9s^1cR2pb45HuN3fuPht>wuukfL#ck+7=7g8bZ*Qy$S$opYe`# zf2{%n(38Ci0BW6M2S88uDgZ>&96JJ<@>fDY4RZ_;=*eFV0iJ#=5opO@2>~_AF+`vz ze-#9xNsb)?P5G-Jpgy}j0%IK%DMkbe*{c9hXp$8i*ba&GWUm51p-I*OKu`86090CJ z9RxJxuY^FMMb?5qPyT8M?6=5z5NOF?34ub3tObFd{8bRBw8%OTXv$v&0YwBcnvK~X z5{!NRDhQ}i9(xOFLBZJPuY!P@<*~P58-b?$RS<}FIfe{$8Bl^iEpsd(XfmJ%fqF=> zS*w6`VyxFHkOyj=V_6b38Bi$+qJ54b1YHJHAgDwLI)Wrk`KusMi4b%k(3HOl0+kk8 z2Les`s~}Knpmi|NWk3mnN&~G0f+hoM5ELQ=JrML5P=cV+Kx=`Z$$$z3r3P9D1YHJH zAW#b(quH4KV+doPzX}3sp~v2W?GCi2{8bQ83mroQn(|jcAR6cxGSFo}2?90Hv4o(> zfEomBpkoR_j{zkJ)Ii4)f+hnh5JUqVLkPMIs6bGO5OhRIn(|jcpwdF?K%gmq6$C0R zvfBi)IjTCpv!;~1eFF_3j|FD)F3D{(0U-~F`xuNrGeH0L6ZR$2ucmK4hXso z*o9D89SSuyw}sX9OMo5W^K3W5OTNyNRJ%{fK);b7XWFp;{XuF9O{#AwT3`rZ^r>3iaN&Lk*!H5gN)f} zvf}^{#U1ejNRu50fJERCKZJDoae|0Kk2pf4$&VvM)K67jFr%xc9_{*>k^DG8MBzsq zl_E`k93T<_NcG9(P z5k(+zgh-Pg2Z%%j5^K0V5`wq@NRu50fRrK- z7YOO{;{=gP1mXrFO@169QiwoYL8Qlz6GSQzh#QDB`Eh_qDFSf;kuE`b0TOE7mv}A9C4BG?+P6ZFL(O z>O*y%oeiy>&6`_8+p0qC4fR{sH}vyiJOWMR-0`#<*Hq)lSHgeI&HY1QV|mbMvsGsf zVm9h3QeYGxS5d!}XfXDGlc%x1iuMi~ZFZ!qNYPt-Tt)p>qQTg^isWgmucEz!Mw=b! zDvAg*J}#pRUZT<1yN<%tSYJq+M~${S;+3R8I8LslelO8zY+gw+HRe~+-ch6Nj(jEY zD#pu|)b1r3jom95firf24o@zusH%<*9S4L@(RN3?lGLq;m|e9dR9SOwTg{3~7uT(C zYFJX&S+{maTf@Ks08e~ z$++M}35`MotR0PhFKTG)hm`u!X!oLoMj=Mijz+&16*MYAk8U(Bcu_$^5si)IHGsvP zVR5})RM3cF&ym-!xq-$7FDhunSYmvjalwlU8XldC4>oR?QGz1|yy66o3ue^d&=5hq zz|n6;362<+i4!<3m{EblBOUPp#|<+oa8x23-NBy=UR2PiL>0QxxZp(vjY?FZ8;uKI zRM02|6}s8DVMYm#N>HI4jtgeg;3xzY`r+s|qXb7KsL&3_1v4sel!6M~aNIDX0*9gs z8_QpSi#uaDdcCNip{PQy9kmBjdcCNip{PQy9ouMJ@S=i71Ql_@#tkz{a44vV7dS4M zQG08;uKIRM4nI z6}r*5;6(+EQc$6rjT>f^;HU%@+TplhMh%WaP@x}=eltpNRDufaa9l8>0!JyR&<)28 zGj`#0cE-)>RClaIgRwC~+{81c6U1#FG}`QNbB_@n1wdFO39GSMvf+-EXfXD!BHh}_j#^#kIQ)7N5?Hx7R?#NdXuVTDhN$p;u(b&C`5jc_MV*}Qa z_CHt|)1yY)9q~$1=OSV@mZ47ktxkndP?#F?dy=q^cvO`uDSATjaV1^w5{<^*-6Kqm z$XxNBw0YEMyCdC`G%{`PLh9^ZEA}BrX+;H$Lbq&`Zu&3&NY_Ze6%{ZF-3#4d^jlE@ zqY|*|CgXw^B{T{Vuy!>1y{MtV+BZIGVDX70TD>TtQHU3{mm2+ERM4mdJ-X4j;6()u zMKpR>gxYSoUGSoUMhtt#e#uY&ShL>Cq=H6_CB_FD7rdyT;nBJHVB>}vB{*WhD^B3J zU`7oN#S-xXN52^*IAT~PPT;s;MgL4|fWE|^h+qYzZ+hoj$&5*(GFLOUE6%&5Ro3MzEN zal?!X9EvL9U|mc9V=28}RM1dVq1TS>;Vl=usGy;!B2Lh_;6(+E2rA-)jT>f^;80Kz zFK}EiqXq|qinxKJ-;5F*3M%3Sjtgc~;E13iPT;s+T7gSi2p@>)97$BYGdRr8l8jRL21I`;(C;l8-Ka_dSsZ*_!I+f-dwE2kigGES;4w~1fqrk%=tflv$fD*_U@wp8 zQ&BDjB213cV&HH4V zQ4+8e#BE8?ZY~<$C`&>Fp1d4*%tD0WzPmOmljxICFA3D!i=0ecg^CW=58I7nqv4IN zBoIK|b%MQ2qEAM-B#5qUoR$O^%tgZ+RY?#YHJ1dNnM9wAa!H^^74`~(G~QzOuCq1y zLGC%Lj&F?8nGS5a|TZ#_IAJI={M&Ho=QaMIy@K5If6$K-ssi^+r2YJAE&rr&JjE@ zazCn7bNb=AV9pUdG2k7i@LVwG2p$g-$0}N=M0}1 z!;4pZF1T}qj|aZu6rUUJ9N|+5s$373T`=beo=Q;VIy@K5IfADWRJjh%1#^zzDaBN- z({sa}GkhvBmHYTyaOV)8LQE9{eEQuv!>1BcxsT5UcaHEW#Z<22bHkk@d=ylTZegJQ zVJa8QIf6$)RlLG;!JH#_6ja44JQvJ4f+u3Cc%|otJ7@SPrixp9F1T}u4`ZtM#i!q$ zGkg?N#VtM;+&RK0Vybw>=Y~5+_*8-_*W+au%sGOm5>&Yk&joXi;Hd;vuETS|oFjNj zF_r7|+;Ha%pGr*SK0X)RImD+BQ^f$Ees|9Bsl-(7<8#5CBYa9RmFxK2aAy}^W0UO< zcc@&tavl6e)}=M#=N8b1JHW`^3jA<~dHmrHi$?R|4(?b{0YmW-))Zp(%}|Tj+yJBB ziV7Htec}U*ek&?qL|79aWL)r~goZ+vI6R}dr?875=H1nRFDwWXz4am_N)- zs~IIY6j8)W$#KDq3LFtr#0eZX%&5Roi7Iple=c}YL8B5?=tkp$7Zo%rQH5?aE_hKv zqZCx=X5)q#B{(WUg?2bDm{EhH5aH;Dqu-1Y9F?F#I~*6xsK8MQDs;nf!;A_XiYjbO zLwBR!;DQ$wG!#|D2^tr?sGy;!B2Lh_;6(+E2rA-)jT>f^;80KzFK}EiqXq|qinxKJ z-;5F*3M%3Sjtgc~;E13iPT;sZDCusD0QA2}R;suR% zFG^@AkcbmB`n{;25n)7ppmD*A3K|+Gu}4N{u%{T&jM9n<7=R}dr?DUKZ?+gM!Od!Gzw9Kb~O6EsGw1a zB6Op1!HWtSifH0smUVwfqt}ZH8j5N3+OgesyWm9y4TTbMg2n|eDriJ35hrZiFrx&A zqKSBc364ro zp&gD3W>nxP1r@sCxM4;G4n-AlFw44s3`egQ6*Lr8=(S_JOXY$W6*Lr8#0eS~yr`fN zK}DRfal?!f911Gp1&#}5)Zk!H5jSx3n^A&8K}Ed4alwoV91&E+2^=@fsK8N)aCAq1 zE_hKvqY_oE!1cu_&46jbPDJCNpJ9B_dAx?4`n|@~wuqnhzE@RX0%mFr)Fv(?Z zE?9E{P9aQk8=QV?j=Rk!p z^jdQOjv^(!?rcrE8f0A61#1q#QLGf7;9Rig0GtSx;**>k-khMLa4AmFx!}zaI_lq# zYQdiF7Q)H;J-gnVpreo}PD`B&-W;G4K~sF9bHkehbSe>@%b~Cf)*OIS37cF7=Yll{ z;8emUm%+JU%>g*2sL5q=Zg_KoP9op;9Rig033x)@d?faYYxDPs3|_lx#7(T zI*OX&6rBs+9HGOgDPGa(_vQp0MNM&v&INA{(21xiKGC`1%>g=1#gbfDMU@Kqtoxr2|AUi$!&Bl zcyoYGDQa>Vog3Z=9j#JbzqPqOG`FFlVeXl*%CfPsZhc*Kl@VHU`KpB%EMIJl!A}w# zBNcuzPUf|ZcKtd@Yv@2&t4|>H@AmRvF>mBH@A5BJs~#+m8L_ zk;QTF9HM_tg%_AsWhQ16iobX}<@4qnVq0r{Y0QS#xWCU#{}%866|rr3yw-e2Y$XF{ zLMkTVIp9xQ*Og*>wb+)>tH^&jkw59LMesl7ZSH@V_dm@0^W`JPxP!^xJkAPEGxty1 zCGt%RiS2v1Q`C=S-?#$a!(;aEf2(zWSuej1!M>PQ0l(2dX8!j^C&J(6{^qs`(yUil z?C=Qt4|a&xSWYLyuX+Av`9(gaccB#jzi?cf$L{Dv_}k3aOuioe7;OKGe=PR@<{egd z^8V&=65D?)0-@02l?zv$7rOA=b5~xta7k#ftu629Or^Rb?8@(TnPhPW47`lef$K2xh8~)srF1GT1FYtaZ zJRtTrx2%pZee?ru%Tu1y1JGxmv3%t>}Wt?NAvX!X%Cfe zt83ZX5Zc(>TK{z+39Z}O*x1lM!U57oJitxhV14J-x|UGg`t{)BEA0(+^`XtJEjxy{ zmNVj!Z#2)MKuEpOXYt^=9U(fWepPS~)niS~_4N&{p>-{r*KZW;LfiZID6zT6j{ZH$ zZ0>P={~j~N9-e6L-(*)C+Ba`)3*iNdGF5JGhlr;NdpkrdRSmMkqim_YVN)HHk%smt zN7c6U5kqrr=_7uY3B9F|K4BuF;v5pCIm**&+xtX(U1ocqh_`D7IhRLFZ|(3ju)cXy z$G6J)N;YiR)X>@)YHZ%#P*2y@c!F+XxLHFT{AOKC^M=;6#|NZiG5A4J@GIplb*&q= z)@^8b@WQr+*2OD>i~p%VDYUJjy`y<^>p_q4WcjAL?V-k&y3Wvbo7*==iqa3faMQQe zZEE=G>7grDRc~u)*;HAxeskLnaT9ceM6I&Cap}@+t6SDohE}g=Y5sP3TYK}iy3U4v zn^EWRPFqRs>g zi8?b&>Ffe#M8v*r?R%ccZTZOHfv%a#TdRbiyRGw6O!a}Mst35w5nyeG` zXd?EM;@e2@l88O2!!t0pjUYee78?a%EPt=v?ug4;t#yvqqbJqCQR3r-}MB z68|Oo@_!3``6jpf@|Fyp)tNpgefh%Cjy{e&Fgn^JtB;s|^}6bJ!A4gHj`MO7O4qh$3h9B`>ImmGb+auBd@IdQ`c|=0$wIUDuBi@(V+acnK2PHrVcR=J%st;T$l2%|^IkTFW8PPp zfqzvsJQQoHYikJAwbqB$*R5}Yr(g6uZFytk%2jJZl{M$K)vUO5F}|~;uCs3Kj<$xS z71S45u{N}(I<$IiMQF`j8sKThpT!e#hYw&I_2*Sg1KQf8s{@bNBJXT-%)OJ z)pHD6>&c@XTaBktY`g8AdSh+($ceVPe~$OSQS%xR$XLd42dWZnb)v0~S}HJbj65<- z{CCh+_dj@g{_r4SzBwR|AJMVC4rV)x1ruX9*?TM-cv}PCO+&Wlm7^Z`u8p1^Ugmh< zd$bmvHQ%Q>8Td{#-zBXqU@(VFkh z(YB4lJ+~g)=6lo@6V11?v2we8*5Dll^uyF5;Mr6h6T)? zF^B!UI6DH%-VCz8r{;U(D2A%-wC1XV>-JmoRu>(|uyIdJ5Fevw?1|oaqIaI?ottq} zVuCn)wuEK={ol$2@pWdqH>YCY1abH{m5wI&risI-Gkvm3^v9U=f0#;xexuIX<#Z=w z=81MW(JteMkqvwVT`|aL??6>z;Z|$?U}NBkQFEL-WoelPKE#edN-W%R@?m9T`TW{` zyFBXo*uxEj8_`d($EaN%wb4Yo>})VRF>#zf{xh+N%j~cv7I7sOap4EzMty|n_F?9H zSx2@b@xnjeBCZbG-Ow0JA0M`%-WCJrF>JXLv(OT=&=URW$m86>ddHDZ(@1;}O8?`G zf&JqMro=e6Jen|Iocr(TF}D3qc%z-C*Q%ePV*ly2!r=I5jXG<}Au^$lD~}%9xBUs_ ziKaZ!lqZ_zkZq^$t8a>Vr|Z6B*wE*W zcG+_*Kf|Rz;N@juBYZl@U~|9+PR$AqGJ$LO!Pvz2Fxnc7ALlWa-`#kgS$E=hH@3ppKEk(3w$+$Zlbc5V1nUa;ST6W_$g%08oj*oy z67{oMN36doJ$8y%V)}qV_hQQ6xq`9vWm+{qJG)W0<*TTB_^eM?dVlNz~7Y z`Z-ZQC+g?F_tB4G=IO+sezxx>Q9mc@=S2OSsGtA#>*wJ|KjguWp=XI`sji0~{TQ{m zMD3lZy%V)}qW1pVuf0b-_rv@WmoXiz9)9#=n3*V&n?(JbsGk${bE1C!yRV;zo^2u3 zh_1}dv+X8PKPT$vME#topa1sj=ix^`n&c6NA?JQ*sji0~{TQ{mMD3lZy%V)}qW1pV zuf2yK{TODpg_i1i_|XshZW8r#qJB=)&x!i^@4bE=X0}BP>Sz0I67_SUeooZSiTe3( zzkVKm^g|x}7<%r9mg;)=(T`D^bD{SBdfle_rjEMu&bsyu4V~YDR~y#1&Vmj8!W*+@ zZD`y+ue$1C*1?kfj^@p+2a`O;a6b?D3}alf&j|lSsA^gKQmSF(Cc}RnNtE)6SG+MV zgVR4D(yw9t>})>HPenp4r+=5zk4ovjaYA4FGpl|kyhK07i`MkC6i%0X&PeCuylmBX zgHJlnE7tV90PCgn%Q8j!Q7Qda_ERhQ`6HY@9seck@teRWacdHM?hMc^g$KlO z#Q%nYTRPw6BBh7lSO8l}zfdH!aC&w!r-wwsRdA{C=fBMKMv-oEy8_;$5Ya}AooA9#uSuykD>g8P8E*C=aMN zr1Sk$mPoIa%Fp$1pVD!5Tm8QQ<(AU-TGPJ)KJoaqlAoKQ+>(BW(3^aoH|vd^*5k|t zKco*^(*tJx(<;)<^XfCN*B-0>BGczh*7VJA9O5sPha9+%DBmut{)=Y%E^GP3n}<`tP>tA(`$Cuxk{;?{cHoDBD>(-3Y@A15*u;(QPF8gNETfrGhHyVya`k@NS?t z3~vWvpRjSvb5AhM$jN&oU=$eMytEuRZrB%2t~HFFG-G!v?35<*hN6~~mbMTM4TS~v z#-G(WVIw`slY#_Dr?pXHR6S={>TQaWQclBF8n7Qt2 zr}^G{`SsI_UVHMNzcYU6D`!@%JnF6a$?c!};L=Oa+P^sO;hA4gS+r#H>(k1+lgobo z@b&HY&fIxZ=-;3H%s0O`E4=&95C5!g`mu*YE1uhW@m+2IJUw$?`uTUPZR~w@{&zq5 zPtSeM^X}6B{r&ErWWRQA$!TZo3*H!b{g2JfpE>{KN1rKv@u!F0TmAl--#ew|^4IVG z`H$*vxc!5g|M%#@)F=P&_^LOmfBe*ez7c$^h1S_MNo~<4;D?R zLM=Z~yU-8Z^7I2$$bcWb5Ar#6g7hv_)l^c)!?uLqn+97fn^WO;2K?fkf@OCm{9?I1 z1%C0T0)A)1FP35R2g~*u<_p|LFLQ3&A-Y!`=4Ti+E?v59b<3K{(CQT}%?eV8^@dlk znzO#LqIy|f3*GaGdlN+&YvYDl5**{Kc& z3oevSL@o$+G99+Q8}R~-RgTf8>F~2Z`!9;a|hxU&%qNQQ(G9^p)k29hr8UN6C ztCGV}AC?S$f)7ht@aFomW@YIB!nFoOyK(>l>nnu15QJ5C_ZfXRFu@_CHF( z#y1QcLN~|vOr5#^(QRhRz^$GA!`lb$XQtTMzxH}lJ#ahR{>$)9{MjisgZ+=A;|r7E z{9!Afzq$X>-Gl8Z((LRXzFB?$TG++RzqWVi{c#*N1^nLx+i3r_@Y>wpxD8$m@ndKI zqodd#vorG#9~>fcNXGHyk@(ks#@YV;59S6r%uxB)g4XnZ^qxU>f-Bt1JAq9%JCNh{~h3~t;Os_zV*%^98BR`)~(&q)-Zqm#)VruH-B7{oqmrUO`F?0ZP@{jORF!KGnS4xbA&kn+ut6b zF}hxINr^`~RE%wvnmB_pc7>P`jP~k`oe}v~j=dv?Xhe~jy{WZx_NMxZ*&R&{ts7eF zT4%S^bvAT#hBj?(2(7E@XqdfdM`yzYD_1wPH_l!Me}vy7e0y zTI)MzUwq->3ud=(UcZSS-FM7hx3#&Ye)g8Fb*-JDt)0y+9auw`uix6Fsmir~&uAzc z4x6HWM?*KLe;4oUKa!lB+vQ2l=?WW%`gR-MvT)!K%*G2J@j#z2oV2?yob$6AJjVXx zPs5CoYlGpwE@My6waGn4b{m1xu;-kvXJER|o+RJV)xaaw_|);Iy&hxQ$qA3__7rq= zdkVY!#_l6sfe-h27p7I?aZ?ui=ZDi?yy05U?tN)S+VQlcZf}?8!<*N_F`rC(h4K#j z7a32c)fzpuhi?#hhI@iW&yjHLoj0^)?>`c5^LAYuyrpjvr1_0okKb790k8Y}Fg)@+8iYx%GHf&|_rvWQE72`pUAy z*}Jpy4&88VVE?|H6mJ=LzWKjS-b~)R{2%TM8@Kcs)5Cp!PZ09R>*_K->?wo%(GTVY zeM&$^+hmW}`jf>rBSmbpVCEm{vQx!&oL6jfkJSd7$eY(o-g+NI((Fr##4=TBmGB@(+5WEYg!1*yy-ySylNFeht#p6B!kyAozsT1H;;kX@Nz zH(^F`KfAo?!C}~y$?RaBBC#09?8Y;@3Cu2^*-d121Jv63>uE-3Da9w=kIr6nbY zPcJR$0cO4BGfNIvl$VSHKjV;H)urAX*yfzF%8ReZ&AM8=24<8lvn!L>l_9$liCsxQ zyZk72F#l~ro~Jy*u8i58K9ktxBfFV`-NaK%``P86QZfv?nKHXvW;dSMO<;BtnOy<1 zo5bu2ncd`LWiti45^*2&lyX@sKfR;}nDtgwlpL-~B>*AGY~W-thIrdE3NmU`FXOyXpwLB5W(F zkzEC`n~1Neovk2tTz5~-^UUvhy1Kdv+Z;c%v*BuHHn)bD6(O@4!EDN$s(xlgl@-M7 zcTsJGF(ce}N~B#VU`~^mQ{hOQAZj_nto+nYRpgV09=IQSp==$7vK7s#U}AomA35c< zdNW{~G3Q#b1um1|wI6sDU^=|Uwlp<)K^NvRHN}8g@L_1b{_O>00mL6|d0hs?Bn!d& zuA}>p6ofB%b(-NTqWIwG{jXuTSQcJ;0@D13*cNVq*ug(9uQcPV{L&2LrsElvNk*}; z_qZRo6Z3)RP4qV&1KAcPo#r**xPD_-A*L0CZ~Eo5LZ3f65C6QMLCmzjZz^4@1AR%x zfg_x6A?I7{-%`_sc~3rTZfPOpPsh)B^GE*5o4pyy)m??~_vFfEZ((wN*U0%nESGg) zUsu+LH@|_`G3ϕ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 z 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 z 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�jVelBwufplj?=te|V&bvJ`E%{nkdGgt$Kktc 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 2048 and N >= 2048: + large_gemm = True + + for config in configs: + BLOCK_SIZE_M = config.get("BLOCK_SIZE_M") + BLOCK_SIZE_N = config.get("BLOCK_SIZE_N") + BLOCK_SIZE_K = config.get("BLOCK_SIZE_K") + num_warps = config.get("num_warps") + if mfma == 4 and BLOCK_SIZE_K < 64: + continue + if BLOCK_SIZE_M * BLOCK_SIZE_N < 64: + continue + SPLIT_K = 1 # config.get("SPLIT_K") + GROUP_M = config.get("GROUP_SIZE_M") + # Skip BLOCK_SIZE that is too large compare to M/N + # unless BLOCK_SIZE is already small enough + if M * 2 < BLOCK_SIZE_M and BLOCK_SIZE_M != 16: + continue + if N * 2 < BLOCK_SIZE_N and BLOCK_SIZE_N != 16: + continue + # skip large split_k when not necessary + if SPLIT_K != 1 and not need_split_k(M, N, K): + continue + # skip split_k that leads to EVEN_K = false + leap = SPLIT_K * BLOCK_SIZE_K + modv = K % leap + if modv != 0: + continue + # skip large GROUP_M + if GROUP_M * BLOCK_SIZE_M > M and GROUP_M != 1: + continue + # out of shared memory resource + # TODO (zhanglx): This does not consider the LDS usage in the epilogue + LDS = (BLOCK_SIZE_K * BLOCK_SIZE_M * elemBytes_a + + BLOCK_SIZE_K * BLOCK_SIZE_N * elemBytes_b) + if LDS > 65536: + continue + # Skip small block sizes and num_warps for large gemm + # For fp16 and f8, we want to only use BLOCK_SIZE >= 64 + if large_gemm: + if BLOCK_SIZE_M < 64 or BLOCK_SIZE_N < 64: + continue + if BLOCK_SIZE_K < 64: + continue + if num_warps < 4: + continue + + pruned_configs.append(config) + + return pruned_configs + + +def union_of_list_of_dicts(l1, l2): + result = [] + temp_list = l1.copy() + temp_list.extend(l2) + for myDict in temp_list: + if myDict not in result: + result.append(myDict) + + return result + + +def need_split_k(SIZE_M, SIZE_N, SIZE_K): + return (SIZE_M < 64 or SIZE_N < 64) and SIZE_K > 1024 + +def torch_moe(hidden_states, w1, w2, score, topk): + B, D = hidden_states.shape + hidden_states = hidden_states.view(B, -1, D).repeat(1, topk, 1).reshape(-1, D) + out = torch.zeros( + B * topk, + w2.shape[1], + dtype=hidden_states.dtype, + device=hidden_states.device, + ) + score = torch.softmax(score, dim=-1, dtype=torch.float32) + topk_weight, topk_ids = torch.topk(score, topk) + topk_weight = topk_weight.view(-1) + topk_ids = topk_ids.view(-1) + for i in range(w1.shape[0]): + mask = topk_ids == i + if mask.sum(): + silu_input = hidden_states[mask] @ (w1[i].transpose(0, 1)) + d = silu_input.shape[-1] // 2 + silu_output_shape = silu_input.shape[:-1] + (d,) + silu_out = torch.empty( + silu_output_shape, dtype=silu_input.dtype, device=silu_input.device + ) + ops.silu_and_mul(silu_out, silu_input) + out[mask] = silu_out @ (w2[i].transpose(0, 1)) + #out = out + 2.0 + return ( + out.view(B, -1, w2.shape[1]) * topk_weight.view(B, -1, 1).to(out.dtype) + ).sum(dim=1) +def dynamic_quan_torch_impl(input): + max_input = input.abs().max(-1, keepdim=True)[0] + scale = max_input / 127.0 + out = torch.round(input / scale) + return out.to(torch.int8), scale.half().squeeze(-1) +def run_grid(bs, model, TP): + if model == '8x7B': + d_model = 4096 + #d_model = 32 + model_intermediate_size = 14336 + elif model == '8x22B': + d_model = 6144 + model_intermediate_size = 16384 + else: + raise ValueError(f'Unsupported Mixtral model {model}') + + num_total_experts = 8 + top_k = 2 + tp_size = TP + num_calls = 100 + + num_warmup_trials = 1 + num_trials = 1 + + full_configs = get_full_tuning_space() + M1 = bs * 2 + N1 = model_intermediate_size * 2 // tp_size + K1 = d_model + prune_configs_1 = prune_configs(M1, N1, K1, full_configs) + + M2 = bs * 2 + N2 = d_model + K2 = model_intermediate_size // tp_size + prune_configs_2 = prune_configs(M2, N2, K2, full_configs) + + configs = union_of_list_of_dicts(prune_configs_1, prune_configs_2) + print(f"{bs=} || {len(full_configs)=} | {len(prune_configs_1)=} | \ + {len(prune_configs_2)=} | {len(configs)=}") + + best_config = None + best_time_us = 1e20 + + for config in tqdm(configs): + print("have config") + # warmup + try: + for _ in range(num_warmup_trials): + run_timing( + num_calls=num_calls, + bs=bs, + d_model=d_model, + num_total_experts=num_total_experts, + top_k=top_k, + tp_size=tp_size, + model_intermediate_size=model_intermediate_size, + config=config, + ) + except triton.runtime.autotuner.OutOfResources: + continue + + # benchmark + for _ in range(num_trials): + kernel_dur_ms = run_timing( + num_calls=num_calls, + bs=bs, + d_model=d_model, + num_total_experts=num_total_experts, + top_k=top_k, + tp_size=tp_size, + model_intermediate_size=model_intermediate_size, + config=config, + ) + + kernel_dur_us = 1000 * kernel_dur_ms + # model_dur_ms = kernel_dur_ms * num_layers + + if kernel_dur_us < best_time_us: + best_config = config + best_time_us = kernel_dur_us + + filename = get_config_file_name(num_total_experts, + model_intermediate_size // tp_size, + dtype=None) + print(f"writing config to file {filename}") + existing_content = {} + if os.path.exists(filename): + with open(filename, "r") as f: + existing_content = json.load(f) + existing_content[str(bs)] = best_config + with open(filename, "w") as f: + json.dump(existing_content, f, indent=4) + f.write("\n") + + +def run_timing( + num_calls: int, + bs: int, + d_model: int, + num_total_experts: int, + top_k: int, + tp_size: int, + model_intermediate_size: int, + config, +) -> float: + shard_intermediate_size = model_intermediate_size // tp_size + print("run timing") + hidden_states = torch.rand( + (bs, d_model), + device="cuda", + dtype=torch.float16, + ) + + w1 = torch.rand( + (num_total_experts, 2 * shard_intermediate_size, d_model), + device=hidden_states.device, + dtype=hidden_states.dtype, + )/100 + + w2 = torch.rand( + (num_total_experts, d_model, shard_intermediate_size), + device=hidden_states.device, + dtype=hidden_states.dtype, + )/100 + a2_scales = torch.rand((hidden_states.shape[1]), + device = hidden_states.device, + dtype=hidden_states.dtype) + gating_output = F.softmax( + torch.rand( + # (num_calls, bs, num_total_experts), # THIS + (bs, num_total_experts), + device=hidden_states.device, + dtype=torch.float32, + ), + dim=-1, + ) + + ###### Stuff from fused moe ###### + hidden_states_quant,hidden_states_scales = dynamic_quan_torch_impl(hidden_states) + w1_quant, w1_scales = dynamic_quan_torch_impl(w1) + w2_quant, w2_scales = dynamic_quan_torch_impl(w2) + assert (hidden_states.shape[0] == gating_output.shape[0] + ), "Number of tokens mismatch" + assert hidden_states.shape[1] == w1.shape[2], "Hidden size mismatch" + assert gating_output.shape[1] == w1.shape[0], "Number of experts mismatch" + assert hidden_states.is_contiguous(), "Hidden_states must be contiguous" + assert w1.is_contiguous(), "Expert weights1 must be contiguous" + assert w2.is_contiguous(), "Expert weights2 must be contiguous" + assert hidden_states.dtype in [ + torch.float32, torch.float16, torch.bfloat16 + ] + start_event = torch.cuda.Event(enable_timing=True) + end_event = torch.cuda.Event(enable_timing=True) + start_event.record() + output = fused_moe_int8_a8w8(hidden_states_quant, + w1_quant, + w2_quant, + gating_output, + w1_scales, + w2_scales, + hidden_states_scales, + a2_scales, + top_k, + renormalize=False, + inplace=False) + hidden_states_dequant = hidden_states_quant * hidden_states_scales[:, None] + w1_dequant = w1_quant * w1_scales[:, :, None] + w2_dequant = w2_quant * w2_scales[:, :, None] + out_ref = torch_moe(hidden_states_dequant, + w1_dequant, + w2_dequant, + gating_output, + top_k, + ) + diff = ~torch.isclose( + output.half().cpu(), out_ref.half().cpu(), rtol=1, atol=1 + ) + #print("output:",output) + #print("out_ref:",out_ref) + assert(diff.sum() < 10) + #print("diff sum :",diff.sum()) + end_event.record() + end_event.synchronize() + + dur_ms = start_event.elapsed_time(end_event) / num_calls + return dur_ms + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + prog="benchmark_mixtral_moe_rocm", + description="Tune the fused_moe kernel for mixtral.") + parser.add_argument( + "--TP", + type=int, + choices=[8, 4, 2, 1], + help="Specify the TP value that the actual model will run on", + required=True, + ) + parser.add_argument( + "--GPUID", + type=str, + help="This script uses single GPU. Specify the GPU to use for tuning", + default="0", + ) + parser.add_argument('--model', + type=str, + choices=['8x7B', '8x22B'], + help='The Mixtral model to benchmark') + + args = parser.parse_args() + + print(f"Running tuning for {args.model} model") + print(f"TP is set to: {args.TP}") + print(f"GPU-ID being used for tuning: {args.GPUID}") + sys.exit(main(args)) diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py index 0983de20e..d516886a4 100755 --- a/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/test_moe_int8/benchmark_mixtral_moe_rocm.py @@ -12,6 +12,8 @@ sys.path.insert(0, f'{_path}/../') #import vllm._moe_C as moe_kernels import rocmKernels as ops +# print(ops.__file__) +# exit() from rocm_kernels.fused_moe_int8_a8w8 import (fused_moe_int8_a8w8, get_config_file_name, scaled_int8_quant) @@ -24,24 +26,24 @@ def main(args): os.environ["OPTIMIZE_EPILOGUE"] = "1" for bs in [ - 1, - 2, - 4, - 8, - 16, - 24, +# 1, +# 2, +# 4, +# 8, +# 16, +# 24, 32, - 48, - 64, - 96, - 128, - 256, - 512, - 1024, - 1536, - 2048, - 3072, - 4096, +# 48, +# 64, +# 96, +# 128, +# 256, +# 512, +# 1024, +# 1536, +# 2048, +# 3072, +# 4096, ]: run_grid(bs, model=args.model, TP=args.TP) From 4b1bceffcebed2f6f8c3918639a82e0c04268557 Mon Sep 17 00:00:00 2001 From: valarLip <340077269@qq.com> Date: Mon, 28 Oct 2024 19:35:25 +0800 Subject: [PATCH 49/50] code clean up... --- .../ROCM/rocm_kernels/.dynamic_quant.py.swp | Bin 12288 -> 0 bytes .../csrc/.moe_align_block_size_kernels.cu.swp | Bin 16384 -> 0 bytes .../ROCM/rocm_kernels/csrc/gemm_a8w8.cu | 146 ++++++----- .../csrc/gemm_a8w8_common_hip.cuh | 234 ------------------ ...8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip | 52 ---- ...8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip | 84 ------- ...8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip | 84 ------- ...8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip | 82 ------ ...8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip | 52 ---- ...8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip | 87 ------- ...8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip | 83 ------- ...8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip | 83 ------- ...8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip | 83 ------- ...8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip | 83 ------- ...8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip | 87 ------- ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip | 86 ------- ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip | 86 ------- ...4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip | 87 ------- ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip | 84 ------- ...8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip | 86 ------- ...4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip | 83 ------- ...8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip | 84 ------- ...8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip | 87 ------- ...4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip | 84 ------- ...4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip | 87 ------- ...8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip | 84 ------- ..._8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 83 ------- ...16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip | 53 ---- ...32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 53 ---- ..._8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 52 ---- ...4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip | 52 ---- .../backends/ROCM/rocm_kernels/gemm_a8w8.hip | 135 ---------- 32 files changed, 88 insertions(+), 2518 deletions(-) delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/.dynamic_quant.py.swp delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/.moe_align_block_size_kernels.cu.swp delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip delete mode 100644 byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/.dynamic_quant.py.swp b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/.dynamic_quant.py.swp deleted file mode 100644 index 532aeda67ac1abc7edbb7e4c114d3cd755ba6b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 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 diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu index 059b6fe9e..9e4beb02e 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.cu @@ -6,17 +6,19 @@ #include "gemm_a8w8_lookup.h" using RowwiseKernel = std::function< - torch::Tensor(torch::Tensor&, torch::Tensor&, - torch::Tensor&, torch::Tensor&, torch::Tensor&)>; + torch::Tensor(torch::Tensor &, torch::Tensor &, + torch::Tensor &, torch::Tensor &, torch::Tensor &)>; // Define a custom hash function for std::tuple -struct IntTupleHash { - size_t operator()(const std::tuple& t) const { - auto hash1 = std::hash{}(std::get<0>(t)); - auto hash2 = std::hash{}(std::get<1>(t)); - auto hash3 = std::hash{}(std::get<2>(t)); - return hash1 ^ hash2 ^ hash3; - } +struct IntTupleHash +{ + size_t operator()(const std::tuple &t) const + { + auto hash1 = std::hash{}(std::get<0>(t)); + auto hash2 = std::hash{}(std::get<1>(t)); + auto hash3 = std::hash{}(std::get<2>(t)); + return hash1 ^ hash2 ^ hash3; + } }; // For certain high priority shapes, we directly use the best kernel rather @@ -27,108 +29,136 @@ using RowwiseKernelMap = std::unordered_map< IntTupleHash>; template -RowwiseKernel rowwise_heuristic_dispatch(int M, int N, int K) { +RowwiseKernel rowwise_heuristic_dispatch(int M, int N, int K) +{ // Apply shape heuristics to find a suitable kernel implementation. - if (M < 64 && N < 2048 && K < 2048) { + if (M < 64 && N < 2048 && K < 2048) + { // Kernel that generally works well on small shapes. return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; - } else if (M < 64 && K < 2048) { + } + else if (M < 64 && K < 2048) + { // Kernel that works well for small batch size and small K. return a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2; - } else if (M < 64 && N < 2048) { + } + else if (M < 64 && N < 2048) + { // Kernel that works well for small batch size and small N. return a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2; - } else if (M < 64 && N > 2048 && K > 2048) { + } + else if (M < 64 && N > 2048 && K > 2048) + { // Kernel that works well for small M but larger N and K. return a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1; - } else if (M < 64) { + } + else if (M < 64) + { // Fallback to generic small batch kernel if we cant find a good match. return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; - /* } else if (((M < 512 && K < 8192) || (N <= 2048 && K <= 8192) || (K <= 2048 && N <= 8192)) && K >= 1024) { - // Kernel that is optimized for larger batch sizes but otherwise small - // tensors. - return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5; */ - } else if (K < 1024) { + /* } else if (((M < 512 && K < 8192) || (N <= 2048 && K <= 8192) || (K <= 2048 && N <= 8192)) && K >= 1024) { + // Kernel that is optimized for larger batch sizes but otherwise small + // tensors. + return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5; */ + } + else if (K < 1024) + { // Special case for small K. return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1; - } else if (M < 1024) { + } + else if (M < 1024) + { // Kernel for generic medium batch sizes. return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3; - } else if (M >= 1024 && N >= 1024 && K >= 1024) { + } + else if (M >= 1024 && N >= 1024 && K >= 1024) + { // Kernel for very large gemm - //return a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; + // return a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; return a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1; - } else { + } + else + { // Fallback large kernel. return a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; } } // Helper function to return the next largest power of 2 -static constexpr int nextPow2(unsigned int num) { - if (num <= 1) return 1; +static constexpr int nextPow2(unsigned int num) +{ + if (num <= 1) + return 1; return 1 << (CHAR_BIT * sizeof(num) - __builtin_clz(num - 1)); } template -RowwiseKernel rowwise_dispatch(int M, int N, int K) { +RowwiseKernel rowwise_dispatch(int M, int N, int K) +{ // For a given shape, either find the best kernel via lookup or heuristic. // For many small M shapes, we bucket them to the next largest kernel. // This is fine since kernels are padded anyway. int padded_m = M; - if (M > 1 && M <= 16) { + if (M > 1 && M <= 16) + { padded_m = 16; - } else if (M <= 16384) { + } + else if (M <= 16384) + { padded_m = nextPow2(M); - } else if (M <= 20480) { + } + else if (M <= 20480) + { padded_m = 20480; } // First check if this shape is available in the direct lookup. - static const auto lookup = []{ + static const auto lookup = [] + { if constexpr (std::is_same_v) { return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(F16)}; } else if constexpr (std::is_same_v) { return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(B16)}; } else { static_assert(false, "rowwise_dispatch used with unsupported dtype!"); - }}(); + } }(); auto it = lookup.find({padded_m, N, K}); // If we found an optimal kernel, use it. - if (it != lookup.end()) { + if (it != lookup.end()) + { return it->second; } // Otherwise, use heuristics. return rowwise_heuristic_dispatch(M, N, K); } - -namespace blade_llm { - torch::Tensor gemm_a8w8( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) + torch::Tensor &XQ, + torch::Tensor &WQ, + torch::Tensor &x_scale, + torch::Tensor &w_scale, + torch::Tensor &Y) { - TORCH_CHECK(XQ.dtype() == at::ScalarType::Char && XQ.dtype() == WQ.dtype(), - "Weights and activations should both be int8!"); - TORCH_CHECK(x_scale.dtype() == Y.dtype() && w_scale.dtype() == Y.dtype(), - "Scales and output should have the same dtype!"); + TORCH_CHECK(XQ.dtype() == at::ScalarType::Char && XQ.dtype() == WQ.dtype(), + "Weights and activations should both be int8!"); + TORCH_CHECK(x_scale.dtype() == Y.dtype() && w_scale.dtype() == Y.dtype(), + "Scales and output should have the same dtype!"); - int M = XQ.size(0); - int N = WQ.size(0); - int K = XQ.size(1); + int M = XQ.size(0); + int N = WQ.size(0); + int K = XQ.size(1); - if (Y.dtype() == at::ScalarType::Half) { - rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); - } else if (Y.dtype() == at::ScalarType::BFloat16) { - rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); - } else { - TORCH_CHECK(false, "Unsupported scales/output dtype!"); - } - return Y; + if (Y.dtype() == at::ScalarType::Half) + { + rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); + } + else if (Y.dtype() == at::ScalarType::BFloat16) + { + rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); + } + else + { + TORCH_CHECK(false, "Unsupported scales/output dtype!"); + } + return Y; } - -} // namespace blade_llm diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh deleted file mode 100644 index 3f0bb0672..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8_common_hip.cuh +++ /dev/null @@ -1,234 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -#pragma once -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#ifdef USE_ROCM - -#undef __HIP_NO_HALF_OPERATORS__ -#undef __HIP_NO_HALF_CONVERSIONS__ - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "ck/ck.hpp" -#include "ck/tensor_operation/gpu/device/gemm_specialization.hpp" -#include "ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_v3.hpp" -#include "ck/tensor_operation/gpu/element/element_wise_operation.hpp" -#include "ck/tensor_operation/gpu/element/unary_element_wise_operation.hpp" - -#include "ck/library/utility/device_memory.hpp" -#include "ck/library/utility/host_tensor.hpp" -#include "ck/library/utility/host_tensor_generator.hpp" -#include "ck/library/utility/literals.hpp" -#include "ck/library/reference_tensor_operation/cpu/reference_gemm.hpp" -#include "ck/library/utility/check_err.hpp" - -#include "ck/utility/blkgemmpipe_scheduler.hpp" - -template -using S = ck::Sequence; - -using I8 = int8_t; -using I32 = int; -using F16 = ck::half_t; -using B16 = ck::bhalf_t; -using FP8 = ck::f8_t; -using F32 = float; - -using Row = ck::tensor_layout::gemm::RowMajor; -using Col = ck::tensor_layout::gemm::ColumnMajor; - -using ADataType = I8; -using BDataType = I8; -using AccDataType = I32; -using CShuffleDataType = I32; -using ComputeDataType = I8; - -using ALayout = Row; -using BLayout = Col; -using D0Layout = Row; -using D1Layout = Col; -using DsLayout = ck::Tuple; -using ELayout = Row; - -using PassThrough = ck::tensor_operation::element_wise::PassThrough; - -using AElementOp = PassThrough; -using BElementOp = PassThrough; - -struct RowwiseScale -{ - template - __host__ __device__ constexpr void - operator()(E& e, const C& c, const D0& d0, const D1& d1) const; - - template <> - __host__ __device__ constexpr void operator()( - F16& e, const AccDataType& c, const F16& d0, const F16& d1) const - { - const F32 x0_f = - ck::type_convert(c) * ck::type_convert(d0) * ck::type_convert(d1); - - e = ck::type_convert(x0_f); - } - - template <> - __host__ __device__ constexpr void operator()( - B16& e, const AccDataType& c, const B16& d0, const B16& d1) const - { - const F32 x0_f = - ck::type_convert(c) * ck::type_convert(d0) * ck::type_convert(d1); - - e = ck::type_convert(x0_f); - } -}; - -using CDEElementOp = RowwiseScale; - -template -using DsDataType = ck::Tuple; - -#if 0 -template -using DeviceOpInstance = ck::tensor_operation::device::DeviceGemmMultiD_Xdl_CShuffle_V3 -// clang-format off -///######| ALayout| BLayout| DsLayout| ELayout| AData| BData| DsData| EData| AccData| CShuffle| A| B| CDE| GEMM| Block| MPer| NPer| KPer| AK1| BK1| MPer| NPer| MXdl| NXdl| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockTransfer| ABlockLds| BBlockTransfer| BBlockTransfer| BBlockTransfer| BlockTransfer| BBlockTransfer| BBlockTransfer| BBlockLds| CShuffle| CShuffle| CBlockTransferClusterLengths| CBlockTransfer| -///######| | | | | Type| Type| Type| Type| Type| DataType| Elementwise| Elementwise| Elementwise| Spacialization| Size| Block| Block| Block| | | XDL| XDL| Per| Per| ThreadCluster| ThreadCluster| SrcAccessOrder| SrcVectorDim| SrcScalar| DstScalar| AddExtraM| ThreadCluster| ThreadCluster| SrcAccessOrder| SrcVectorDim| SrcScalar| DstScalar| AddExtraN| MXdlPerWave| NXdlPerWave| _MBlock_MWaveMPerXdl| ScalarPerVector| -///######| | | | | | | | | | | Operation| Operation| Operation| | | | | | | | | | Wave| Wave| Lengths_K0_M_K1| ArrangeOrder| | | PerVector| PerVector_K1| | Lengths_K0_N_K1| ArrangeOrder| | | PerVector| PerVector_K1| | PerShuffle| PerShuffle| _NBlock_NWaveNPerXdl| _NWaveNPerXdl| -///######| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | S| -///###### RRR -/// < Row, Row, DsLayout, ELayout, ADataType, BDataType, DsDataType, DEDataType, AccDataType, CShuffleDataType, AElementOp, BElementOp, CDEElementOp, GemmSpec, 256, 256, 128, 64, 16, 4, 32, 32, 4, 2, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, S<16, 16, 1>, S<0, 2, 1>, S<0, 2, 1>, 1, 8, 4, 0, 1, 1, S<1, 32, 1, 8>, S<8, 8, 1>, ck::BlockGemmPipelineScheduler::Interwave, ck::BlockGemmPipelineVersion::v1, I8>; -///###### RCR - < Row, Col, DsLayout, ELayout, ADataType, BDataType, DsDataType, DEDataType, AccDataType, CShuffleDataType, AElementOp, BElementOp, CDEElementOp, GemmSpec, 256, 256, 128, 64, 16, 16, 32, 32, 4, 2, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, 2, 16, 16, 0, 1, 1, S<1, 32, 1, 8>, S<8, 8, 1>, ck::BlockGemmPipelineScheduler::Interwave, ck::BlockGemmPipelineVersion::v1, I8>; -// clang-format on -#endif - -template < - typename DEDataType, - int BLOCK_SIZE, - int MBLOCK, - int NBLOCK, - int KBLOCK, - int WAVE_TILE_M, - int WAVE_TILE_N, - int WAVE_MAP_M, - int WAVE_MAP_N, - typename ABLOCK_TRANSFER, - typename BBLOCK_TRANSFER, - typename CBLOCK_TRANSFER, - typename CBLOCK_SPV, - int CSHUFFLE_MX_PER_WAVE_PERSHUFFLE, - int CSHUFFLE_NX_PER_WAVE_PERSHUFFLE, - ck::BlockGemmPipelineScheduler LOOP_SCHED, - ck::BlockGemmPipelineVersion PIPELINE_VERSION, - auto GEMM_SPEC = - ck::tensor_operation::device::GemmSpecialization::MNPadding> - using DeviceGemmHelper = - ck::tensor_operation::device::DeviceGemmMultiD_Xdl_CShuffle_V3< - ALayout, - BLayout, - DsLayout, - ELayout, - ADataType, - BDataType, - DsDataType, - DEDataType, - AccDataType, - CShuffleDataType, - AElementOp, - BElementOp, - CDEElementOp, - GEMM_SPEC, - BLOCK_SIZE, // Block Size - MBLOCK, // M per Block - NBLOCK, // N per Block - KBLOCK, // K per Block - 16, // AK1 - 16, // BK1 - WAVE_TILE_M, // M per Xdl - WAVE_TILE_N, // N per Xdl - WAVE_MAP_M, // Mxdl per Wave - WAVE_MAP_N, // Nxdl per Wave - ABLOCK_TRANSFER, - S<1, 0, 2>, - S<1, 0, 2>, - 2, - 16, - 16, - 0, - BBLOCK_TRANSFER, - S<1, 0, 2>, - S<1, 0, 2>, - 2, - 16, - 16, - 0, - CSHUFFLE_MX_PER_WAVE_PERSHUFFLE, - CSHUFFLE_NX_PER_WAVE_PERSHUFFLE, - CBLOCK_TRANSFER, - CBLOCK_SPV, - LOOP_SCHED, - PIPELINE_VERSION, - ComputeDataType>; - - -template -__forceinline__ torch::Tensor gemm_a8w8_rowwise_impl( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) -{ - int M = XQ.size(0); - int N = WQ.size(0); - int K = XQ.size(1); - - int StrideA = K; - int StrideB = K; - int StrideE = N; - - auto device_gemm = DeviceGemmInstance{}; - auto invoker = device_gemm.MakeInvoker(); - - auto a_element_op = AElementOp{}; - auto b_element_op = BElementOp{}; - auto cde_element_op = CDEElementOp{}; - - constexpr ck::index_t NumDTensor = DeviceGemmInstance::NumDTensor; - - auto argument = device_gemm.MakeArgument( - reinterpret_cast(XQ.data_ptr()), - reinterpret_cast(WQ.data_ptr()), - std::array{ - reinterpret_cast(w_scale.data_ptr()), - reinterpret_cast(x_scale.data_ptr())}, - reinterpret_cast(Y.data_ptr()), - M, - N, - K, - StrideA, - StrideB, - std::array{0, 0}, - StrideE, - 1, - a_element_op, - b_element_op, - cde_element_op - ); - TORCH_CHECK(device_gemm.IsSupportedArgument(argument), "This GEMM is not supported!"); - - invoker.Run(argument, StreamConfig{at::hip::getCurrentHIPStreamMasqueradingAsCUDA().stream()}); - return Y; -} - -#endif // USE_ROCM diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip deleted file mode 100644 index 8dd634308..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,52 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that works well on small but not super tiny shapes. - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 128, - 16, - 128, - 16, - 16, - 4, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<2, 2, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); -} - -template torch::Tensor -a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x128x16x128_16x16_4x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip deleted file mode 100644 index b6d90cd49..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip +++ /dev/null @@ -1,84 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 128 != 0) || (N % 32 != 0) || (K % 128 != 0); - - // This kernel seems optimal in the most purely compute bound tasks. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 128, - 32, - 128, - 32, - 32, - 2, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 128, - 32, - 128, - 32, - 32, - 2, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x128x32x128_32x32_2x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip deleted file mode 100644 index eb8bebcf8..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,84 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 16 != 0) || (N % 32 != 0) || (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 16, - 32, - 128, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 16, - 32, - 128, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - - } -} - -template torch::Tensor -a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip deleted file mode 100644 index 32c3cf881..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip +++ /dev/null @@ -1,82 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 16 != 0) || (N % 32 != 0) || (K % 128 != 0); - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 16, - 32, - 128, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else{ - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 16, - 32, - 128, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip deleted file mode 100644 index c03ae3d2c..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,52 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 16, - 32, - 512, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); -} - -template torch::Tensor -a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x16x32x512_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip deleted file mode 100644 index a32846f99..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,87 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 128 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 128, - 128, - 32, - 32, - 1, - 2, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 128, - 128, - 32, - 32, - 1, - 2, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x32x128x128_32x32_1x2_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip deleted file mode 100644 index a0900a718..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,83 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A small kernel for small but not tiny shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 32 != 0) || (N % 16 != 0) || (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 16, - 128, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<2, 2, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 16, - 128, - 16, - 16, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<2, 2, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip deleted file mode 100644 index 10e67c7ca..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,83 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that works well on small but not super tiny shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 32 != 0) || (N % 64 != 0) || (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 64, - 128, - 32, - 32, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 64, - 128, - 32, - 32, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip deleted file mode 100644 index 826a060c0..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2.hip +++ /dev/null @@ -1,83 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that works well on small but not super tiny shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 32 != 0) || (N % 64 != 0) || (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 64, - 128, - 32, - 32, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 32, - 64, - 128, - 32, - 32, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x32x64x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_8x8x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip deleted file mode 100644 index 87c4f1ff9..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2.hip +++ /dev/null @@ -1,83 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A small kernel for small but not tiny shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 64 != 0) || (N % 32 != 0) || (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 64, - 32, - 128, - 32, - 32, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 128, - 64, - 32, - 128, - 32, - 32, - 1, - 1, - S<8, 16, 1>, - S<8, 16, 1>, - S<1, 16, 1, 8>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_128x64x32x128_32x32_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip deleted file mode 100644 index f0926ab81..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip +++ /dev/null @@ -1,87 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 128 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 128, - 32, - 32, - 2, - 2, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v1, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 128, - 32, - 32, - 2, - 2, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v1, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip deleted file mode 100644 index 8b3c15ddb..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip +++ /dev/null @@ -1,86 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // V5 kernel that works well on some medium shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 128, - 32, - 32, - 2, - 2, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 128, - 32, - 32, - 2, - 2, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip deleted file mode 100644 index c184da5f6..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5.hip +++ /dev/null @@ -1,86 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // V5 kernel that works well on some medium shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 128, - 32, - 32, - 2, - 2, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v5, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 128, - 32, - 32, - 2, - 2, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v5, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip deleted file mode 100644 index 617451c2b..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip +++ /dev/null @@ -1,87 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 64 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 64, - 32, - 32, - 2, - 2, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v4, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 128, - 64, - 32, - 32, - 2, - 2, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v4, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x128x128x64_32x32_2x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip deleted file mode 100644 index 51f948b72..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip +++ /dev/null @@ -1,84 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 128 != 0) || (N % 64 != 0) || (K % 128 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 64, - 128, - 32, - 32, - 2, - 1, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 128, - 64, - 128, - 32, - 32, - 2, - 1, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x128x64x128_32x32_2x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip deleted file mode 100644 index 404f8f494..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip +++ /dev/null @@ -1,86 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // This kernel works well for many medium to large shapes. - - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - - bool kpad = K % 128 != 0; - - if (kpad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 224, - 256, - 128, - 16, - 16, - 7, - 8, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 2, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 224, - 256, - 128, - 16, - 16, - 7, - 8, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 2, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip deleted file mode 100644 index 2f0f35572..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1.hip +++ /dev/null @@ -1,83 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A small kernel for small but not tiny shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 256 != 0) || (N % 128 != 0) || (K % 64 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 128, - 64, - 32, - 32, - 4, - 2, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v1>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 128, - 64, - 32, - 32, - 4, - 2, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v1, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip deleted file mode 100644 index 5fe78bdbf..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3.hip +++ /dev/null @@ -1,84 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 256 != 0) || (N % 224 != 0) || (K % 128 != 0); - - // This kernel seems optimal in the most purely compute bound tasks. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 224, - 128, - 16, - 16, - 8, - 7, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 64, 1, 4>, - S<8, 8, 1>, - 2, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 224, - 128, - 16, - 16, - 8, - 7, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 64, 1, 4>, - S<8, 8, 1>, - 2, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x256x224x128_16x16_8x7_8x32x1_8x32x1_1x64x1x4_8x8x1_2x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip deleted file mode 100644 index 0dcfc433d..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip +++ /dev/null @@ -1,87 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 128 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 256, - 128, - 16, - 16, - 8, - 8, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 2, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 256, - 128, - 16, - 16, - 8, - 8, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 2, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip deleted file mode 100644 index 8d97e37f0..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3.hip +++ /dev/null @@ -1,84 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 256 != 0) || (N % 256 != 0) || (K % 64 != 0); - - // This kernel seems optimal in the most purely compute bound tasks. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 256, - 64, - 16, - 16, - 8, - 8, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 2, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 256, - 64, - 16, - 16, - 8, - 8, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 2, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x256x256x64_16x16_8x8_4x64x1_4x64x1_1x32x1x8_8x8x1_1x2_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip deleted file mode 100644 index 9a799d208..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4.hip +++ /dev/null @@ -1,87 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (K % 64 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 256, - 64, - 32, - 32, - 4, - 4, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v4, - ck::tensor_operation::device::GemmSpecialization::KPadding>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 256, - 256, - 64, - 32, - 32, - 4, - 4, - S<4, 64, 1>, - S<4, 64, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v4, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl( - XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x256x256x64_32x32_4x4_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_intrawave_v4( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip deleted file mode 100644 index d55e4f41a..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3.hip +++ /dev/null @@ -1,84 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // A kernel that seems to work well on mid sized tensors. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 64 != 0) || (N % 64 != 0) || (K % 128 != 0); - - // Dispatch based on whether padding is needed or not. - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 64, - 64, - 128, - 32, - 32, - 1, - 1, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 256, - 64, - 64, - 128, - 32, - 32, - 1, - 1, - S<8, 32, 1>, - S<8, 32, 1>, - S<1, 32, 1, 8>, - S<8, 8, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v3, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_256x64x64x128_32x32_1x1_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip deleted file mode 100644 index 81247aa02..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,83 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - - // Check if this input needs to be padded. - int M = size_to_dim_(XQ.dim() - 1, XQ.sizes()); - int N = WQ.size(0); - int K = WQ.size(1); - bool pad = (M % 16 != 0) || (N % 16 != 0) || (K % 128 != 0); - - if (pad) { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 64, - 16, - 16, - 128, - 16, - 16, - 1, - 1, - S<8, 8, 1>, - S<8, 8, 1>, - S<1, 16, 1, 4>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } else { - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 64, - 16, - 16, - 128, - 16, - 16, - 1, - 1, - S<8, 8, 1>, - S<8, 8, 1>, - S<1, 16, 1, 4>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); - } -} - -template torch::Tensor -a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip deleted file mode 100644 index aad6a58b2..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1.hip +++ /dev/null @@ -1,53 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // Secret kernel that seems good with small M but large N and K. - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 64, - 16, - 16, - 256, - 16, - 16, - 1, - 1, - S<16, 4, 1>, - S<16, 4, 1>, - S<1, 16, 1, 4>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Intrawave, - ck::BlockGemmPipelineVersion::v1, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); -} - -template torch::Tensor -a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip deleted file mode 100644 index 70ac89246..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,53 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 64, - 16, - 16, - 512, - 16, - 16, - 1, - 1, - S<32, 2, 1>, - S<32, 2, 1>, - S<1, 16, 1, 4>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2, - ck::tensor_operation::device::GemmSpecialization::Default>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); -} - -template torch::Tensor -a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_64x16x16x512_16x16_1x1_32x2x1_32x2x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip deleted file mode 100644 index 54612361e..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,52 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 64, - 16, - 16, - 512, - 16, - 16, - 1, - 1, - S<8, 8, 1>, - S<8, 8, 1>, - S<1, 16, 1, 4>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); -} - -template torch::Tensor -a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_64x16x16x512_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip deleted file mode 100644 index 3026d1ac7..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/impl/a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2.hip +++ /dev/null @@ -1,52 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "../gemm_a8w8_common_hip.cuh" - -template -torch::Tensor -a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) { - // The smallest kernel we have available. Works well for memory bound shapes. - using DeviceGemmInstance = DeviceGemmHelper< - DEDataType, - 64, - 16, - 16, - 64, - 16, - 16, - 1, - 1, - S<4, 16, 1>, - S<4, 16, 1>, - S<1, 16, 1, 4>, - S<4, 4, 1>, - 1, - 1, - ck::BlockGemmPipelineScheduler::Interwave, - ck::BlockGemmPipelineVersion::v2>; - // Run kernel instance. - return gemm_a8w8_rowwise_impl(XQ, WQ, x_scale, w_scale, Y); -} - -template torch::Tensor -a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); - -template torch::Tensor -a8w8_rowwise_64x16x16x64_16x16_1x1_4x16x1_4x16x1_1x16x1x4_4x4x1_1x1_interwave_v2( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y); diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip deleted file mode 100644 index 006138e9e..000000000 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/gemm_a8w8.hip +++ /dev/null @@ -1,135 +0,0 @@ -// !!! This is a file automatically generated by hipify!!! -// SPDX-License-Identifier: MIT -// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved. - -#include "gemm_a8w8_common_hip.cuh" -#include "gemm_a8w8_manifest.h" -#include "gemm_a8w8_lookup.h" - -using RowwiseKernel = std::function< - torch::Tensor(torch::Tensor&, torch::Tensor&, - torch::Tensor&, torch::Tensor&, torch::Tensor&)>; - -// Define a custom hash function for std::tuple -struct IntTupleHash { - size_t operator()(const std::tuple& t) const { - auto hash1 = std::hash{}(std::get<0>(t)); - auto hash2 = std::hash{}(std::get<1>(t)); - auto hash3 = std::hash{}(std::get<2>(t)); - return hash1 ^ hash2 ^ hash3; - } -}; - -// For certain high priority shapes, we directly use the best kernel rather -// than use heuristics. -using RowwiseKernelMap = std::unordered_map< - std::tuple, - RowwiseKernel, - IntTupleHash>; - -template -RowwiseKernel rowwise_heuristic_dispatch(int M, int N, int K) { - // Apply shape heuristics to find a suitable kernel implementation. - if (M < 64 && N < 2048 && K < 2048) { - // Kernel that generally works well on small shapes. - return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; - } else if (M < 64 && K < 2048) { - // Kernel that works well for small batch size and small K. - return a8w8_rowwise_128x16x32x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_4x4x1_1x1_intrawave_v2; - } else if (M < 64 && N < 2048) { - // Kernel that works well for small batch size and small N. - return a8w8_rowwise_128x32x16x128_16x16_1x1_8x16x1_8x16x1_1x16x1x8_2x2x1_1x1_interwave_v2; - } else if (M < 64 && N > 2048 && K > 2048) { - // Kernel that works well for small M but larger N and K. - return a8w8_rowwise_64x16x16x256_16x16_1x1_16x4x1_16x4x1_1x4x1x16_4x4x1_1x1_intrawave_v1; - } else if (M < 64) { - // Fallback to generic small batch kernel if we cant find a good match. - return a8w8_rowwise_64x16x16x128_16x16_1x1_8x8x1_8x8x1_1x16x1x4_4x4x1_1x1_interwave_v2; - /* } else if (((M < 512 && K < 8192) || (N <= 2048 && K <= 8192) || (K <= 2048 && N <= 8192)) && K >= 1024) { - // Kernel that is optimized for larger batch sizes but otherwise small - // tensors. - return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v5; */ - } else if (K < 1024) { - // Special case for small K. - return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_interwave_v1; - } else if (M < 1024) { - // Kernel for generic medium batch sizes. - return a8w8_rowwise_256x128x128x128_32x32_2x2_8x32x1_8x32x1_1x32x1x8_8x8x1_1x1_intrawave_v3; - } else if (M >= 1024 && N >= 1024 && K >= 1024) { - // Kernel for very large gemm - //return a8w8_rowwise_256x256x256x128_16x16_8x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; - return a8w8_rowwise_256x256x128x64_32x32_4x2_4x64x1_4x64x1_1x32x1x8_8x8x1_1x1_interwave_v1; - } else { - // Fallback large kernel. - return a8w8_rowwise_256x224x256x128_16x16_7x8_8x32x1_8x32x1_1x32x1x8_8x8x1_1x2_intrawave_v3; - } -} - -// Helper function to return the next largest power of 2 -static constexpr int nextPow2(unsigned int num) { - if (num <= 1) return 1; - return 1 << (CHAR_BIT * sizeof(num) - __builtin_clz(num - 1)); -} - -template -RowwiseKernel rowwise_dispatch(int M, int N, int K) { - // For a given shape, either find the best kernel via lookup or heuristic. - // For many small M shapes, we bucket them to the next largest kernel. - // This is fine since kernels are padded anyway. - int padded_m = M; - if (M > 1 && M <= 16) { - padded_m = 16; - } else if (M <= 16384) { - padded_m = nextPow2(M); - } else if (M <= 20480) { - padded_m = 20480; - } - // First check if this shape is available in the direct lookup. - static const auto lookup = []{ - if constexpr (std::is_same_v) { - return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(F16)}; - } else if constexpr (std::is_same_v) { - return RowwiseKernelMap{GENERATE_LOOKUP_TABLE(B16)}; - } else { - static_assert(false, "rowwise_dispatch used with unsupported dtype!"); - }}(); - - auto it = lookup.find({padded_m, N, K}); - // If we found an optimal kernel, use it. - if (it != lookup.end()) { - return it->second; - } - // Otherwise, use heuristics. - return rowwise_heuristic_dispatch(M, N, K); -} - - -namespace blade_llm { - -torch::Tensor gemm_a8w8( - torch::Tensor& XQ, - torch::Tensor& WQ, - torch::Tensor& x_scale, - torch::Tensor& w_scale, - torch::Tensor& Y) -{ - TORCH_CHECK(XQ.dtype() == at::ScalarType::Char && XQ.dtype() == WQ.dtype(), - "Weights and activations should both be int8!"); - TORCH_CHECK(x_scale.dtype() == Y.dtype() && w_scale.dtype() == Y.dtype(), - "Scales and output should have the same dtype!"); - - int M = XQ.size(0); - int N = WQ.size(0); - int K = XQ.size(1); - - if (Y.dtype() == at::ScalarType::Half) { - rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); - } else if (Y.dtype() == at::ScalarType::BFloat16) { - rowwise_dispatch(M, N, K)(XQ, WQ, x_scale, w_scale, Y); - } else { - TORCH_CHECK(false, "Unsupported scales/output dtype!"); - } - return Y; -} - -} // namespace blade_llm From 9f2a21413807fdd5e49d8ebb3b313a031e4140bb Mon Sep 17 00:00:00 2001 From: shengnxu Date: Tue, 29 Oct 2024 07:34:24 +0000 Subject: [PATCH 50/50] bench for gemm a8w8 --- ...rocmKernels.cpython-39-x86_64-linux-gnu.so | Bin 25789704 -> 25789840 bytes .../ROCM/rocm_kernels/csrc/gemm_a8w8.cu | 5 +- .../ROCM/rocm_kernels/csrc/gemm_a8w8.h | 3 +- .../backends/ROCM/rocm_kernels/setup.py | 2 +- .../test_gemm_int8/benchmark_mixtral_gemm.py | 144 ++++++++++++++++++ 5 files changed, 150 insertions(+), 4 deletions(-) rename byte_infer_perf/llm_perf/backends/ROCM/{rocm_kernels => }/rocmKernels.cpython-39-x86_64-linux-gnu.so (89%) create mode 100644 byte_infer_perf/llm_perf/backends/ROCM/test_gemm_int8/benchmark_mixtral_gemm.py diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rocmKernels.cpython-39-x86_64-linux-gnu.so b/byte_infer_perf/llm_perf/backends/ROCM/rocmKernels.cpython-39-x86_64-linux-gnu.so similarity index 89% rename from byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/rocmKernels.cpython-39-x86_64-linux-gnu.so rename to byte_infer_perf/llm_perf/backends/ROCM/rocmKernels.cpython-39-x86_64-linux-gnu.so index 4abb5acf7c097b925cbd08a6ac5176d2f07b0299..9ceed5fac7280b897a1d479ce575c4460a5b1480 100755 GIT binary patch delta 853469 zcmZUc2V4}#`~Pp@!~+rU5WPD^ITUG@0~=riY=9N4Uq_^qrKKmhk^o__?*H4CY!yV;|1XvAxnw`vV+o0|a;bIur#A7IeY|{BO}4)}pOKjs z+9_=aU2cu@YfFB$8d*_QY^pR$l|?F9`>G3*y(*9(Yu5@vON3Gt8DTxC@{qK*KB4w& zHT&&rYUY!_t%E97kJkExwlI)}>YDmFDjRKwvV#ZGme|a@-PVxY`NKTboT3ymSlv%B zk>Ax3!VY3zp=+QqwD*vhI#sPkoq^l$-S;RTFJ^*q(@j{4|xSM}3vU zYhf>$ZnNJyFFK4guIR0bo9R%)zrjPtZ^DmHGIC-N|WRhq)IWFOm0Pjx>qGt zE!#;!8`Y{($CS3ND(@4vsqHr=)d{jw?XXU>u0Y;vCf7_$au@Qfui3&AtwP(M7u>8O z(wv-vPT2V*k$JYAg>9tBwpz_4ivQ zu&X7gNOL>0wW_^9V(m=cYZ|Lcf?VxFv{pfXZsWc}=WrHLhwhJKE-3S}T>t zRZv+KRU&)rS_lGpZRhQl8ztH#tIxSE_4WPJL9OxHFvm%-)^*lY2(sI15@v7csP!62 zT2=}SRtFWPXzZF5mh{}@;O@Q3zM?_XdtphAtkRRxtQ(;-;ZKDkas=M(O+Nf~Y2 zI%X7^N(_R@DcUAKv~AELRd;f@Qj;n{TF-*5o|=O83BBjo*RdksD|I&63r$VcZ!e6t z4_2inS*cW{ty7(Fs~BBG&?wyiQsGY$Yj5&&blZw5AEXYl8dcCSqP?rm#=*8jRV%^O zHcQ)1vvRCz{%BLE)+vqT*n3*l3LEs52|1 zgsZfsq}0>;EZcOO{wC7Np_c#2gQf=d)$>yfCyIrj&f!)`YE}N^o=Jupm4)+_Qs(ri zTp}zD-vorR&Kn$E{+Sxpk6a}z3(vAU(gWAa7k;#p}}Y`v&cDmRU$YpP~crpZlc zz9=|J?X7ZZ+#=dBbV*Q}rlfOv-4P_%(M2<_f?#SL+)Ybj9fK0vqJ?M&IsiFzgdGaP zKxfbebOUne4!akR_kl)&D9|4a0E0j@7y^a?+B%N}v0xOC!x%x8s2YoeabP@%2NS_$ zFa^*s6*>(hfa%~TkObxc8sf}Gr!C>S6q*Lo!3v&6psT=Yutvz+T-9Aj{K1#e z{R!}H8$g2{)SlZ8P%Y2_Cr}Mk2Sz|c4QMT3;_*6AH*VL1dH_%04H|+*zziB&ArqRw zXa<@C8Umm#KpPMU+5#HdLECe?BQykrf-s)e1=&}kq6{6qq(zfC*~s}Rs|4*CbT zY5W50i{LU(E8%$CRPpp`&nPzC6$aeOBj)c_58r~%aA zac8Ita0PXE8ePvFwkPlc-k?69p#iiZ@BvMDT2p8<&>XY?EkP^L1_UMIj~s$ww*~D% zC{OPK?FPDo2+#}k0ewL~FaXdn2pR*1fT28X7+1P{1ngKa3XBG00S$>0U`*nX$41jW&^cf(kI#oL01Lq)uoxgDs+Pc529|?#KmZLtLq(7QR`ax9xvqz1 zfek!P*WUzt3&`eaTcO*yy$iaV+c{k6Hn|me1HK1|`@nv102~B|z)_G73cv|)29ytl zh@S)J!5@6t1?WX?%j;f3{4!4~hF$?z!L>yExdCp1+u%>|06YYbz!UH{cm|$>mw<-X z&^O#Jg_eQ$;1l=)z5yD3P^Gh9gbGj_P!VW=El8|{KQuT%wV*0+0@Z*4&|u_R8|ngF zK|SCByg&oc2>1XRnn0U^0MG&ifwrJM=m6vpV#Df;99M;wTPP=XLRuHl9fX4j&}W;3;?pUV^taD(0qQ`jHb(iSLj^!w2Xm@R`TIK)-RDF8>bu zzjAR^MVg9E2CC+E1*is8;&BJARiIkn2%LCYHK@KKvZ4l0s0nojCg94`>O$)QcOIt) z^nmTj{jpjNY8V@Fd$zaM@{Fw%(0~%&PXM&%2d^R+R z+jF3E!91{lr!9o0fJI;lSPGVbG(f;AAcECk4RNhkHSrf%Yr(Hz9as-GfQ^8L&Co3% zo5y!>-Nluzvm16U*aP-~{oo)t1bzoc01ZdE9^-nP7I;1)CwamtuBV}e;16&CTm(hn zD!2x&gPY(MxC8zK_rL>C0v-bz{)RpWFTiV13jP8Af)7Bdd!Hl&O*Zr^x4(0xtI+Tt zjcefEKn~XBY&Gl(zy@e|x-GO4w<|-nKnJRVYJi67iQF(kYl2#!HgE-Xfg5lKp1>P4 z0A|n_$e{^rKM(*~f>uBdZD0q3jvx$l0o?!%-Jyv+@TWKE!xQO(zObV}KhPfx00Y4w z5Cdo!%5@lYI2Z*+^E9>wnt8L23DD_a2AHKm`Ok(yb0HbXVGithU;#)0sbCSH zVJUPONau0FbtUv?Ac8eK?N{h}ZfA0(``7^cH?UEI3craj*aFQ4+rW0P6VR{=x|`cH zo&!4<>;ZXTA2>J=FxW&_N zL+^rnJWkiW5BmWq;b{+{kHItWoTt6zO4l!g{SJHtpF!dm{P_yLgC9V^y-_P*4QNn9 zZGZ;Y0eesxH~<>7(CR=B3_Ps{v?g%jaTC-P)aCJdPhj3eze-9+|1ie5X&==4U z3GELC@c1C;U=Ra_@HD#KFxVr&NHD5g`e<&CfsQSgPPd_99MUEw@&!}4PJcn`AH-%;RbEp$ou5kiygGc8g&z0cn8n^p((`K?WG|3;wJHnIH@N258s_ z-2}FPY@W6qx*O~Pd0;P~VL$W$w`u$!>_a?$%$De^swW;tG#?az6W}B`2mSywT!dcc zb`kU{xCX9+o8T6>2kwIhpaeVwkHBBx383K_^d)!&-hfi@&Q?Y0Hkh91W{2Sea0fJa zLmPmGpb<~=g*N4OGp@~{{@kY9wSpZ8+Jg3=1Lz1sKp5x(x`OUN4iR>$(W)Lip(nH# z=neXSexN@X45C2{ki&4;u{=HsIvR`zaUdQ{22;Q^FdfVUv&c^k^@(#}(J+te0j)MYl5}X33!C64Vd9D|rm$-eIYccc+xXR;n{cCn3sla)Vco*C+x3GlU z56h)JDrf)2?I+Nu;3aqk-T*nggq;0G02^Qn>_8Je0oR65Gw=b8c^cinAM60onx_RqgDUaT zY0DGabL{}_$n8*QXV3+72jQT6h(H|A+*G|mB!~k20SyD8gF!SH0)~QNU^o~F##DlL zjE4~iCW1*o4pU%H1qnQDCiEw6Cqk3K955Hm1M@)&SPYf`8kRzrfixbcY3bZ1RH=8a zEVpnK?4N-MGQb+J7OVp_tcPZS-@qoY8DxX2 zp71;LC^!a=^Rxo4^dKi;p8}`LrJdz=A@m%#|0uWo0_;nm7+eLnz#VXpmj44755Xhw z7|`&9>)%{y+EZ>nhrTG6{u1^p9)Ase3*PZK-R?c?&piGG`VD*sKcqC8|MnPZ0Bb-) z1*itt0y|I%$iW_VWgf2r)q!d}u7}nHwRzkHY67l2UKi>Hym(yNC%M?TQeu6iG~lU? zpg!F8g*E|AdAu3a5BP%?JgpV9HMiSvrF#zKb`Z2Jx7(Ln-hta;_9%l+JkkZ)4Ri+) zpauBV+;)Ig0Xk4sN-J0XPDrQ*^uQo3#N8KY zEpFF_nz&sT>IUio58wsr0~#7a8v!%$1&u*d&Zpe^Xg(?XzO zpfd;uJwPwe8$^OA&<_j%0|5;&T!%r2gOOkiPa6vz&+Ry&|ko>JWkWr!CqgP9bc8n7i2*5ILOluK@Wo?AfKn5;L7$zF8SFco3-|_p0Kox%4k`c}P!VW=Eug`UYbB^XZ~$6h1T}#(s0C4@t?0 zfDxo9z$q~a(K%o~U%Y_pLTC!N<@2DLinK*MeHnB)NCW9SZ6#C$YrrpHJ&;2dw>Lqz zfb9A8mUI8K(Xad4zu2-N}!A%~&1-%XKfIq=Ka34GX4?+3x7vhh> zQ}6=325-Py@DHHj9W?P@{P_qzfzN=3FVL^x8~6`c;Z0KdHfaT518A^?+Jnl#0aO7x zP!%|V>Oc=@FhGsmt_gJpwOHIvaKS^(O;;VSP!;4@Bm(*K4=Jh01b_yO+Ygq zr)mD&4uG}-fgl*P12lAicH}lofkX3n7_yO1#$?7-J@K*C+uFJH|PWUf+#>kKj=U(7(|0%fQAuVW4W?av^$88)uCM&2V*>l zE4RWV*ptCjo;HK)Ea*?%PJ||bWH5)P&4bPd3qUGZ1Qr7tmT+ATT>(~tRdgpbWI)$| zU%;;*6J&wSU>n#8azHMS!=7^XKG^%gL2!ttABG+W`QQXN3C@B-@CTp)*N+AXk&B>+ zC(^WH*jK<+aGj^$;(7=A06YYb!QbF1cm`;A4t)t;@%U@5Z=nBh`#tni`SSmQgm2(G z_yJUo=;VMkph3-*+7)1HKqcS+ssJ5u0@Z;57(s1d0&ai?cdnjXrR(?Rk^0aEpdpW& zp+3MDGzHB-bKnR3K>%n0T7uS~4WJRc8U{LpE}4D|i}B{~5LjGQcl9eJyl7$OKv7H$cN?=oW5o zb%aN59mCZH*34*WqI5D0=mFlYf03*Q|FdoE%iC_|-VG37jPlcTTW`du*7*fdy4@ z{1h0A!BRlOGU#${(|8)}bg%*tunPPPGQb+J7W@j+=*cmw_c@4&y{J@^1Vf=}Qx_zr0JkE#=z zc7Twms=y4D4YVS+D{-yN)d8vlRY5hN2Q(O<&cFqjc$zEJ4Y&gj;0e4yeb4}y0S%3z zO`K5v&0z$9R(wGlu7S{C&=z#yX&s>&`@^~b)ALtJTfWaUd z3`xWv8iqoLgArgPhy|m;7%&!$12jzFO6`fTr+{fZEde?M%mTAPGN54&bS{_=Qo&-d z6f6gc>G(s#O6V$X)A-Nj>@~30f^}d$$OKtnBiIDC02;PIw}YKvH^>EfU@zDQ4uFH; z5TN0R6Usjykpgf6oCasXd2j(-1eZV&xB{+%>wtzE(3{{ExXaV-LGObH;1PHNo`V;F zhF8$n+7 z$8Ea4Be$z2!f*oBc!HiQU5N$*kJp6O1};2qg4W@-8?+v`J-B*9>vOvi)Cc&2#yqVF zv>8Zj&J+B&`a@fQR-iQq1VMm?wp>{Z?LCiogoc1H&>3_A-9ZHC3HpG(Kn{_xqgXsq z)epuXFa!)^iK^kyk=z~)9mDOhTZ(C1EeslTP)AS|7(fl+3~B=!T%mP=JMaYFpgw2_%)kfG&=}eTGz0#mb$H#x_OLpF z5D*4BgRUR~(9i?g6ZGQoKG41(67&ZHz#tF}hJX=ZBp40kFqYfnpyRn62c1}5)k8Ij zCrsfwm8-n*G{k3snP3)}4QNP&CV^xy7t9AVEFiuSLt}Cf%jGG1p!>jnaG0mDbLLKRE1w<->N-R-j53LLwKozpJM^7im z{$D58Y&&b!>?0HYY1c1o_^7RZE=1ci)bM(R*Rp-19%yb4o|IiOt@Hk*u7`hndB&qE ziR(E}9W!awx4eIQW(y>{$vNOfe;P5*{f^0NCHguGLcM+EiJXNgXEDgB%Ub){ojetA3k zx3bbKTEBb9^))+gkyisJlVO9RH3N2a>qKg_2qlGs{57}YBb}er6b=*h;1cyp&(JG* zj|VrfCQd{1)$JZ12_hv!gEWoPy7_dTI4F#`4V$GEY7aht@a2=v%Wl0ofA4|Kg1m#n zG6ePA=VT3u9Fah-jff+mBR%sbk8EW{_KpfwjzOTLYAbDsOhxxrsG2AknWEgej=tZ32LVa*~>`Am^Ag(t!dfBb8MV? z>)h>iNak24a&YWeb(^X7HHh1|S?YBmOKy_Pak2Ju?%wpPe|59Vg!?5<#A$p3`^@uC zH)q{nJ)rET`PQV%cz=>I{+rs{clTm4Z$gIVNFVRtm#^5rjF{rG)%UIyKO#kOt@5<- zCc*H`_WEdT%g1Ymk7;-2UF*foLK-&jl)XFpISHEBRMRK8>XX1meM?Bf#4eigjoS1* zuhILaO%H;MoJl)O{( zn+oLHf;4rVqQr)IOBOa2G>?8ut8;WyP6j!Za*Jf9wjw2|8#S*AI{Z?TEcGQRi+ZVN zx2&C<_vfM@EA^MIrf}lCG+XWVYm6$daA}S}W-WInYnL}A*OvR+FaMI;()Ze$DJNUc zO3gE*H4xP6QoA{l_UV!8cQMabla1+-D^@JgY)VYs(o?TqnYVU@y_Kd$|4B!eN0iJZ zJ61MOZ*5t)J+EYCIQ%pI<9Fi!bCUY<*gNk@{?Cuq*M7ack!%#_9y{lIxpqOhdihCP6BC=>93ivy3*PI?#;SG#%4y7qRbxNY!J_t{w^kM!CQ zM+!G&sQah(*^n3eTehHi@$b#9^{k&=Cr+Eq7mTdM^ zC%fuQc}F&D1dYS~H+e3vcSe%JEg7cK6>nAl^}&R+#HM$qg!t6m(c^CS=nF=xy_39O z`^IcIq$Ua3P1Q*)I!EX2$nGMjTQ+x5Nw>?Lh<2Mn=ud)o>PZl+7!tf+FU%qF+w}OD zfp4y!WNz~j4wB++W+9mf+s#52@!hT$R?ua_6%u?zPZG8pgbpMfsryJ)o}T0*{+qOI z>2@Ei@47=T+^0)~sU%{DUj4qYd~o4CN!}46be9favcn*}peqyYP9GtTrU_XAr&1fOF2mMvf$XmtM#r zF*v&xqyY9snodfwhJnQ38p4R{?hsrt)*wl{4LGC@InbTt?ha8q`?{#;tt(O`Crr2_ zUGfwXpQ9Jf65SzWO-?8_M-~VXM94J@=dgwuKWdM`-x?%6SFbkwFQ0Kf1vr|9MC{QE zU8P-}qL)QXdwhh+QfgazJ|t;RsPIzCy%H?Z5M7>Gh^7ZsYyNL%t|T7G*|=CUemGy8 zr&mviti?|CN1jprAn<=V+==+^)eG}z#^WY`%-+F5ij=d5rJOeHFsL8;{cq*n#C4xu zcqQdlbCkBeLiMIDJe!mD8Pp|z7}!B}?=z|cZt=*2eZJ~9|F@G1Qi15!35sBSnz%FPuew406d)y#=r{_X~U>%d%1xFHp+)T9l4dmc)AN9gI z>`Lph z`pG#Kub?^*#nelo{2D`oTGRx)QNt0ewhTq1krv^ja86+pE&Z?LrUZ!cbdj586?dd)Pya=lldMi8!a%6*>2j z_JbNOg(NcloQqf5c*}D+`LkNuQ*1w$ZeS~`E|7wAXu!`I5?huS*^%4&Nz3G~U6k#& zmbQErX?YH_@JmN}rmB;k()!_ikJT~M*QuOU{(d8*Z(_(F#u!$mHrxND&eEE_`TB1j zY3cs0R2mY0-oy5AJ(kI6j?a4-hhtYX%d?X#5AI4Ho_Dc&_8YPKqodJhx8=f{LUm~) z6N&jlUn6Im<sTQ_KNh_vo8{tEdmqPwIwHg>5foo-TPFKOv3=`U^pkl;%$x?2-0 zPjftpzeGFt)JtaDxhi%kNu=PCN5I3jF4B(q#K7SHtxKtnv@=wZh5A^XW~8v){pFNnf@e}T|wzyb_L(~mF@djOIknn zkmbp>Z7q3yKUG{!RycEO@-1-tl^!5-spSFws?DlNeqa}AMY(`xjnT06M_3*pkmMHW zeJlC0CMZs{Tw3R|RJm07$(Bb+C!dS_be{Vy*WO2hi}iNAF%MaZptw zqpoppF;+D9Y)Js~wIp6Adb9Nf}zgn*Ez0gtG8yeng=3otXFWHyPb=c{KuC&~$ zo)34sJ3XcSujEG=Lwv8h=!*7QuDyZ8TsOORUd*#4gH?6e^Mc%%tC~pebr0KEJc*;l zYa$P?hlGXpV0)5VyOOIkYaCQ>u185ntjL>|1M$>*9aIz3`bp`|Jbm&p=Dk`Hf5Ysn z&9*$Rjq&V^;>JfvThWgr(NJkIYt&Lm@eMs1s^>S%UZMQUd~(i=`^-FCv&M3t{Ydal zec08hEVtvbESHXmWk>W0=q4RWZW`-;Q%j|mU+N*H%Z-JBWZiVpMJn9n7%9G~w~NC3 zg*!$YzCI+LjEt(?+OAvhL_@Z`NZK86CkL zvyec_?&z%ww-CF#?#8yGxf36>Y&(~du)8i^yS_w9Md8SuqS^~P$ua%Murrj~o!%t< zt_voixpzH;B69n#i_ufjD&+ItCxz(#)Z6(_XWMI4q|=|Z9e??Ud4%dtC+To=Ymy;< zHn;24ixqBBOS0ilce}0a*{P=akt=^TqSK{&9WqziUf`?|?T76hUtRkNudKjzd z+4d!G*w|I>ly8xMM`odcSkTl;kAffd$n1R-A1b1ks!C>;+6Lc4qG7y&7OI2l?&SVb zTx~_}JnAEO65qe{#w0~!H+-=mtt^t5zdVFOlKPi9@$m1gm%25Jov++OK3vU4Dz|w5 zD*M#k4y-2U^AeF8(rX4*K@Ep3ulpz-+0YX&N@49t3jdPOP<*=s>BR4`(W-DK>G8OY zZ;gDO9q*Vs$vw;KN$lFAcd~1LBwZ<=9m%w}v9y`IwU*>Q zaj`WWqWL%mXW23)&lnlp86R>73XN;gS&$y_o+V7M=>{=6UpkSPig+SduwjFix9M5G^Eu{U(lE*Uf1gyW{Ekil98?_( z*ko32T5nEbPJEEWKMT>Rda=XE&FK$v?wN}*j*rM>#}DdB4-Ow8!gIY4M2ycpFxd}& zt~ZWsz@`Y9D(2#H-Rw)^vF3S_`rK?hjW2%CGpT>7uT&sa_^IC@#n1hs;uICNbTn=D z98@2|S(hMB!k_kL-HD;iU}-OGERSdD8)z3&U1gZhu0*cH6G_Yqvu{)`n?#lJS)@tY z7LPMaSh3^`vMd%%ZC>bwVsiThx|%JPMbPaxmUGXRuylD}Gx3ucdd4S6@XNu8rHZL@ z-MY-RwTj`(XxzM`6(sX5t5J1$t9Eh#bG{_Sz-9Ws8fpEw|5$~hKb)3AcXow2Y{pxM ze(6LC>2+A4W%AydReQXiNP=IP!_JIgewLu{vm2Pa)9m!*(;IoKfwNh2P*kzIw0F6I zxzPB*Os=@{BD_LT`saIe*&>gU%ZGNJ(IY;#$aX~Y4O_K)!K$tiD-Un#>B2e z_0-G`oko&h>y1H*O79xL@(aV4*B-`^CKiiZYk9zHr0liXb)129L799mARl2%ZFVci zM1tRV7&jVfu$;bO**LTz$#3)#BVV#|i`&seI=>x0>@WvW0Lw7@0BZNG^0rITeFZvgi@E_TfbQz&8<7T z{#b?ge8lhe>DlFsvs}Lei7D0FRl*lc=+bAy$edDl+sbdPq-Z|LE!7+I6{GSVGvtop zVX0o1wApfp{=~M-#aME{GWAmks{|?%T;^f){hMV~=n%G+TnuYSa+ynwAVvGSm(N#s z`;gzu+>P&QuzU+rbhfX_=Q0-|oEZP1Lzm!x^tjO&^^c2Jp<*~bIg^)180#KnN8UoR zu+3R==pUCTm14+O@ee)oi2kgu${o3DD?a>Q$Y!eS`|0>)#Fa|OKnGRPj!4NlHV3&gLz#+q6wyoSB{u#iBza;rXpwOBWe9+?o)$I>vJkoRhs1JB>loemjOUvS;@0-!R z=JQ)T^0f(z*d)=1#DCNWrzx((wS=`TMHN}wGJ`cOs`(9B4(3N$URf`4?jz>biYDBF zeE#TyX8^`eW?eR~ymDFCiLR+u`otUQti29ZwAVYAvdWQ@7a|>69+l_!;k|{Txk+8h z(n}Ssz?+`@G8L6CKi`@9EqVJ%Ck!USXMN&N+t{UL4q%ri_cxRAJ`k-!bt=n)dzKf2 zoLDE}6Kk0jr@Yw}S04Qb5A6Goobd-1C=T5?Gw_p=9{ zp4|S79G+=;uq0ypB}BMJBEIO2Eqz(rQ1qRRfLieVIFRHodb^30Sj8*aLN=OF zFs3`l4VfStF)tGQ)hrAo@n7}E+GVUHd@izXLoSICBKH z`M}rb=$UCZvTK&_^%-O z(`>oz`ejwF;HL|f=bHRnPOSPYga`-4U_o%vMf1BrvhTQy@q%D>_4tGJOi2qYOF?jE zdE+k@2tr@qlu$NjO><_KB~NnW`mw3Ug0{@p8}dVEiD6cPi*KpoUUB_qEO$)H*lxo4 z>epNIv6;BqN!lUQr$dxG z@w1I!4vP$68K8Q{=BjdScs-Aosp8K1rv0oljaE2D3o*VTPI(-DM=Q1FZP+Qxt@&j! ztD@i%T&S2|PFTTiVkLED8761*5hLp;GZY=AizsLWml~fGJ^a~g^u8IU20g?U8o@p0 zb}YLq8O^Jb>{$U?I^@MPd^|gxoENw8(<_=DxsavH&CiLSSi78bGE~Ynd0I48EWl|9 zapFS_t~p$Bm%iC6mPJ}oXDfIZr>|#Ok``)Nip64tt)P#n+JO~-&uI3bP#z8U$8Rv` zIi>K4yj-kh`1UEy;iNv675CFy)=U`0L$-q1s%Vz@!d7s1ot?lgA>7DzZ{YRfSR^~i zG||@%*O0I9jCev(AjN&@cbhyj&^K*xo+Nl$Yo;kaCi;>1dVyAUg`t|XYf zvK1%uE|?GV6vgyKEW=K1{RZ>CSJc^~niO#ll|3;_46sL0Hx{Gp1&@HwHCSPV>sf7) zn~P4Vtd;Q@X4%TPe4vHmpvo2xVRNCY_|RT38(W35%Q7eiMn$4mWnr4IMa-%!xEK=@ z_ng+@+miIMHRA2cXb)G6me1SPLGW;`&7b<^I5Ss`;rGjb^8&@Ox zvu0AhL$`f3+nY+uHkZ9HNGx!Gdw8d?>n`cTZmh_QD~n}VY`cJW>jqI*1#7?A6)9C0 z`cF-0&~InHmLdjM5j^b1nb^)UyNDC3z(re*Ve`bKPHdhiPh10?*$n)kc&LgHQX^kc z>Emm&Mm1-$SVJqg`%cF1g=qfd@CqYW;o zGoSDgW2&OFKOtsS6%xHP3b*u0q0?~(RX{y<<5Vv6&0?4nddga2x|3i|^j*aKZrxDk zck%<}Huu>X7Ok*sdHXJ8E)%Jkv%TxYGW1!2T=%65RyoG7^lU}X`zBMG%ZY*21fvit zMpeTI>djkzA79bA=vJ{d&tLJb$YAkdHPpv!h5y}{$$TMJG*%Y^jY+lG6wCA<8wkrc znP-Uc)dhXPTKpVSYPJJ>q%)QuXC1&N!f6p{`Gi9DoKe>7kzs~dP+jl{ds~f9;6Adw zPvlQ&Zms9N$3LuM$_-LxC)VgCDIB%odH#f;l*Lhh+veJ;$y*$J#8N zYYeYH=_}Y3hAZl9Z!y&w&3WN&ahtQy#@ODG9@Rm0X(GE(Q=-%Y*)im(+&{HA7q%QJo^2D_kUt`ehM1am;QwrsF{OVJ+Y*JDjkVI139u3Go< zSSyeq7GN*Ba7ADAUVQF?qeqLjCj3v$Qhskw9#4gd(@jE1VlOvdUnVm5kp~pZ8?$yR zNO3Ru<#^U2X|q^;l3S#8&sa8wM_FcLhuZ8W@iTtMPHs+SZs+}htKb_IuIS3X4`ByM ztIF;S$YbSBwb@)bbAjcZguq2?{d_)X3glj;5zo28U#hQRO-kuJmVa{X`y%S<2>P&y z7R=)_6)n-QZnP_NQ2o?|P2`<<Ir_vPczuQO}wx&=dp7!iPP(0bbh%ByJFR2%Xvf9U*wT-K|R47 zQ=;gtb*^kw6Moq8%yr$FizGE;E;5TBb?|t$JD*LK>o@(6r5nTucR?Q&t0+CY)$EmS zQz2`mh3uCKD|Or4vP0 z58QZI){o^-&_Fg9T*R-T3}3OKTR)q_u0d`%+7z;Dh*nJRlEl>>Xl^paLmu$FDDfeU zH4p_)#9~A*Pr*-6i7}qSU|$1&tSGl*o$%=;dZc`QB)NVL*udVxaTd$46JwZ>jgqyu zEGtT$=<9{6O&i8Wu#sW}qKQe0tS1|JJHOp>X867$8!M?4&tBd|vdlB^0j_-cp#xZv z`?P08?j&c|VU{f!?0$^+)Jt%+efNY_oJ3LQjfN;m(R*yD#=1ML81F6Uy<+*$Nj_BB zdp6e0iDw;UtWBwJRm<rg0TmCHMcuvItk2*(+M%{9V=-+!61#lqNW$pIOie8^kcP;L=H> zcq)GcA5xTB(Ch5(wEVsPHu%R+G+#>iI92WdE{rJ}13it^4A)?WmP z!9JLnRu+?e&>e&-n)iBy`@=KKn@v9rX1}t?4zT>8%KXc0D4E7*VsdjJ^k6kFHh|T< zWPZU`@7ey--b*F#sFMBi$^ljhOrp`3PVW;~2Fm+$6{CD<2dkL%*AP>&w((sg%k~V# zy&)H|*cX>R0{^Ip=9Ee-LsaLfXvvp|#>RqQaM3QyGHX4X<>M_yLutMN}(a zw;0eAwXTyG1@U^OXoPgb*oj3yvK;2widjw3-2B#vm4HSuF0;nho@my`iDgZtp2pY= zw>}Ssv#j>#xp6Urjo%ahW$lMtor=D)gKE7je+D(yhTYCB{leM+d9bk&->{&$x>sD? zOb7{1;7%mhjBb3alQhzDth4U`E2QXotdQtGmZ0IB=-M1k=g;r6o1{d10ZEK#j@(QT zM>Q9w`Sz^E`URg!meWFqG}gs=5_YZZO!4(FQRhc@s_^96Vz8fJ_I0hn^6`_R0lDv7 zOL|YkG?I7xd{p5gW?^rFNi6Wg=y-1p%l3D|UEYs2v+RYP@p&YgPwv05L7ePfQv%u1 zBSlw#xRXlpzRnZ;k3U+NS~0>Og}GLo?k|`}OSx>#~d~n$I%k8qYr8 zXRJ`e=d;FNp2ghf8Cj~x$S3&U2=rttiMjwZ)g_ABTlP2GUFkf_-F@l8t|ePB-U{l# z-n%VHv%DFxGlVrjrHV%i0kzoUkDLioIf`2X1Xp957wiT{DF3OQ>>3Njhd4(eQ2ZQ# zI+P;UEPmy6@lUO3{ykH)@bARn7O05H5p1rKFUGV$6PTdrs;tDU7AR_!SkMCPcXLr_ zDflI3D%$VeC)icQRk3_DcW)rCNn@D*MDT9&82&pE?Oc+=y`__spZ9Lvz^1p+iq}Yt zUTi>+#_srw2U-fQiRbv_%eN_O?B(2u-^x}lRZNQ2d1w^H>Hqgn}pVUGBYBhBB0xva{`oyUV8bYzEg#S_Ee zA*|kK_Gk589!hi&AGX4S$_&N5%M5&HiJo4&E9~^-R?2oR_rROX1LbM<^+xPv{OFNB zQr^l#!jWQpYdFa!F|{=YJJrQQtpyib{|J80;%7ty^5=5z&0@)N6L!UhwJHY1&FR6D z*(Jt_5p6Jade@lsc-g#LmN(ydo^?A%#no6%cqtaN!I{(&Z?{2{6svI8)}rr0ysE!Q zbPa@eUOdl^94iJRDnyD=fkKGx{Q!2;OTK~qM9d8o%n?@em@E7Aw=9Xa0?QI@ILi{b zJ3L#DtzW9R^Wc)e`dX9d8-yzHX)@cL>|lGu_#jNI5Ar#Re3ix08$ftsDQ*qI7}p#B z)a<9*qvAVuM@eZ}B*7}y+C3}Aweum`{Xy)1K6o5C9M(rDI@%P%aZ zipA~F@TOd1Gx?%^tlXu@%)@d}m zic&?!_jZyBrm?D&KR=SETw7A8#6!i5w~{4 zJzlM%>>J}3c<)n`G)|$ zZT0XL(HB+lIaOmokf$ zhbMR3ulS$Xv|I4u_Xg$k%>KNl_h)@&7hX=ub)|Mh)Q91Q{@X`<%$Ujg4!Ln3CkBUM zglkY_$dp(7-NQsnSJ}OXUCSp$hIho*E~$qd`EFi}X6gD<2eSN;AB}#(xA*CVM$fj)fFagw$PrY+8Y$U4Ue zs|r^X*!!K#l~H?BtWholX}GVI;%6Mo1` zPd5K=(XpH0p4c*&4H)BUu>qsp3k<8yy0U!UmC3%-690XHZlC#z-Mx?pm?=A0`;^3c ze7V4Lg4x*xDdwLKoTT*~RdM_ljeLMS@mx2I0sIxyfGjw878sia^Le(%<7KfHj0P33n9kqec0U&O&}Yfj^*Ba zPc(+Z8)C(PaP%}S#F%i@izxm8L{&9ZTCF{w$~_U&u~@h)ZpAjn9K}mt8<(=SF-Uxf zwY&~0d}Lh-YmVa9v*zd#KZEt6YXmCz_O+~ZBE?`tjp2&-&>Uy53a%34>0*^+2WZ5vTXSJ2)Hg8F*T;J?FE6kQQ5X0nHVQd!TLdoNigJt3{zF z9u4{{G9V0J`k{MI;bRgLKgZ;r>|AiSv?qPfNpV-vTb$k#ql4S{)hFHBN6hUhc!){O ztPFMT>Db6Mbf@JBT;Xq=mbMkY^u%Kvb#-=xY{i8C?j-i?*5?YV^zvH0oaPn#!ams42LDmJV79E;*PBn9JabE1;>Mri0sqYv77Im?ml( z*oI{VY6fNn_F9mspp{^jzvs^PocH&+$3NsVGxwf*&a-}><(xYad&;=?Y^14Ic#lV7 zGDyRr;w$W%5)b+CS3NvR->}^hnMCx-`->+!}Trp2z(Vo@boE zS%)Zm6ieGD6f?>+BvO--E>zOI8u@?6NALhLXs_bam33cx`%@$O>vI$+&qCFsxF@VE zms*YH#@|3iDBkV_Rq&$t(Tqo`gpqbMgOQe4y}qa@mGyz8_Z72Rcomd%Y>x7LbFUeG zXdVIfmnd1N=jI4_angtZMpt{_d~eMi528rn>?HQeRdmFIWr2HUW4-%?Tk7Y42huIp zp{Ow&i1*}8pE@htFB|jr1#bwMR*dzpd*CRFHX3yxeh_e~lTM9cU{i5UH~BuCc&X%% zraR>OCOd}bdjPCey$R)&*r1BS^`Ga@7Txoo!VyS=(U}t7WP_1I>2GqhZgxR|imGwD z%%&Wn;x|nlTWu`{r1H*3NUsq*>(XFMLMp%#48=#py5K8^v)-ArVgawuvXQ*?0% z%zRaU+A@y0n@FYO*t@$FKX;70-(v4RbONFxnbvM8cKrt`KKAMj2sO7jzQx(4fR~No z<{HZ7ukA0b!IHDxAdyWhdC#v1n#$tvy|jMU$#*<+HRiDhxs*)ZYJPXTPVxMBqlT>! zmL*Trs-=Pt-V91)Q2KaNn^w~^M3QEek#1u$z<|sKbZtBri5Uq@U>KQ^ZG6gwI0$|S zg-+mNYMUm=={O#>_N+=`vlQZ4`&nm=gGVeL#qlid`b#DaE|y29&?5(!d63ozva{I?Pwn_iNh2MCNaYiIf2BemqE6 zk!fUSTRzR7N%(|T=%!Y29H%%HxXEqEaSTr0qWy84bgWp%T?nhFI*xlv?_@&r-J*mc z#rIn$tdXWT`}ajel&1ih!0U*(3zKMMys35gP;95u5*5?BiBGiDx$W9)Ttdya01KL| zEYtpY1`C%vV#PJv=u*6?L#)371Li#glN&wOINXf`fCs^!gVvH!u2X0>*J6y<`|~^T z^l8~Bb~1aPI&nHdeYD4)14T#^!o`=#?4z7iFxli6o}qw;*At)!VZHHCnbsb@5`$NX ztdA6}D6+oItzK0psoUG8o}sVb7R{mKx_Bg69z0NTN9c4e3JWq(FySY?$IwUXOu26} zAazW^lBDepp;8{bX`GVL2=<1|6&<3HJJ~{TU%(X3L9Z79NQGh?_ocuC*c1=&3Z+cp zf^X%Ipnqa49xj#lhrZxj1Qqk>*032ya{vA{Ldj?{P35U4E3w}a3Yuza*~%iKZAq`e zAHe8YN~O`GEmKV`LXYrEymUgOw*0F$qOhn_Lw_Lj_aWCGKts%@3h!o=i;5 zVB=iZ4ZtWF3U(_>##4_5;Hk3q@%RG#a#;%_2CPr9)7YiO?uWwVQwo1HrPAhUrs+{y zi7q1CNpj8Tv(7|;TO|r)Z*~N1$x{sbnh)U1IE0_hF;AExp^Zx+V%j6X%4q^Nukiuw zjef_t_6-ieN+%Wba3%*;PG^GI55u&klGVkq?-+%>3noba2$ z2IFsWf?}LfTYQ_MX0ZH+e+tV`G#-{ghVhFiWd;M7U}dr;l*@N{mn{;KN5%XxC`@2` z=~b@rYkc(?ein@x%H(hh@}0@ge5oOVz~Ik}LEvo)=br<9OoCOh{ETd_1lTVMXJ1J3 zW^&X1j%nzzD6_*ANzhs)HmDcAN7rVWT6>p?9h2GQJ&VaQib7{GOnERHzCA)XKIvWB z^NW6Ub6d24mdxUmZn;UpJ!sMVBEG*_1ZhG(G8;=ONd&X8>;`z_8zg zM3pF>Y)PW<0-eBX>3a6g1~{W~>#o})|HAjbhxyHwo4o25O9#zlb#sMyO&SfD98I4KhD4=W>#q!UlE;Mg0 zmx&%c6eaAd!5#`q5?rN%xvau@RL&PCgfAEbZ<%U4HI><<%UaR*OunBO5;lF|jE4xLrO%h)gHQW)oz~ zx+p;4VVG;lg>{s^h2vucs?wr*6wKPTCL(wX6-1@?&cj3?72jl(eum!gVo zKL#Ax@s-iFe6v?^Oz;Up*|M+;F3M+@q`{ z*31q&fagY1K@y{yU#XG@iH%mou@1juOeb`hNCQazzS0QVlQRl@&1 z7&7@7Fl5Pc<2d#H#Kt(E&X6Tp=5H1RWKr~QpgsbPvXQ2&v}MLkRVmvV4bC1~bZ0WZQC0lZVRif%0BvQAbVV6dueBL)i?g~wGXZa1Go z-{GGA)Z=)XA z2~$-f{DDn;|F|7Qmbume=tOdnS%;O;3aqSs0xm6CxHQT2H^-s*Caf7Shm3qKQ8mxr zJ6LRFca!f5j+1N)K{x5hDtCZwRXrj+43L&RWFBPRpJG<9g@~Ak+oZ%=pM<5%SJ?9_ zm)4rEY1a)&UJKVc|t(kXLCMPkpM3h>y0PQqoL* z>$7Woz1+Gm`DncVB#kq)*^`YFe3h#C!d7>O!#UL`c=>s8+zdMC}Itg%rk_M7GjhDzZI zD1{`~5I7;D*eJd3EJCF9S z~WORP>?7!nA7S*mb4H#G=e5|C%hL(cx%4m_|Ecmip5E7Y*pdH{u**;q7 z=C*`0l`t;}z42JdfnjvP&2tT*N;mh^-lOnz#_bvHaiV3;Dwvhe#CHEC{}o1Oo-vv^ z*9!V?$p9H8xon~yQ{9ISq_gpOhl+W4@1_>SQejlhAARE#Av#CabzFhUQ(}q-+xbnf z>{to~s*^?QH*P^DxbbcsTbJU0jdb1hvT(?EU-bySG?ZE*m=~;M6e`8;=rTolt5?Dp zl&v(1%CGr2hc4%wT_3-#Ce2yN9ax7<;p(MTNwbOvlka-guvC$Gws~g9ufAynMkiDF zdWHgb?jrr2vBXH)9!1jRrtxLG<0zL0s~6n`i_O17m)3J)srxA~%t59NoKbRK!cA_$ zr)=@e+BLW>XATYAz=Z<$Av{b9-%vNuY{drS+QaXGk**2&UarB!?~m8>2vtJeWX3LY z8kU|zr5j8G!kr4^^SWaiZXX;OC7tojS^XZMkW=;=@{h6ugXhLSd#C*u=@d5==z|9;bK2Ae$jl-R zmXUN_M&VZ(+TII=pr$He#X^3mv_2=^0F}XMmj#8Owu7QF7>#O5NO<_Mt|dNN)`j67 zVU)0Ess`p&D8X{if6?sYUI6eQMXM7P@bK2Un*d`R%5B}LTL0O14|1W-RYrm3B+q94 z`Rx~=Y>vf7`JYWu{ByS*lOVo<3UYo>47DoUY`kqHzc*Z`MA=%}xtS~OZ&NuBV_HJB zo4KDNQ1Ow+#P0QErBLh`fu|-aC^Y*YSa>gr-NJ^VPAcGghrvepK0%zY?V|l#Oao$4 z7eSciftKE4$CzsdLT|bAtmzU2D#^lnNmH<*x#%Kr8L$74BDb<1u~7V0ZqIGI0Y)+T zvd1WDuM1=Sdo08}RYXm4)H31xv~YChh?BCkrBuzMCglmt8Y1k~(L~5p=B2@&Z=|8v z{5DSYiyjO{$m@@bcE}QiaXZd}g!xMH_41dnUyc`p_3>%#Hj}q^L;_@o5A52;^!}?O z%FM~{Lbs&ZPnxY?=A-qdO1{i@Nq2BBTe=ep-OdT-d;HF7T{QC7VWv{w-=c)=oF6?q z8g|gx>bmvPO@vq z2!J{FSR)&U{J|$4b2mYQ_jsrGH41o-1&+63zsDWeo5l+t@FLbMZB-x2eUD?Z6;%5k zXM%&tp2?<}3;LPtGe4%{m(70OO*rh(kMGtfJ(F!foRS#0e-CLPK9G)o<~>`bnOp(j zEg)Gen6~Mdp}$z^4`)Eo zhZ4BKXDDqaV~ElhG35{`&|>ryI)!e8MG)e`0qeZ8xK9+!zbG%l65Z|!xk@sOYYV5@aWp3iP{fmBJfD3vVE`sKL_!Jy*$lAMcOM5!M`b7SaE@uhPK|G~hp0fi1 zspbI2lqrqv>o8TP?NF&13ZdTD#E|bzX1m|IE#TK z*gQzN+3XMwy$|t?5CN&w=|S;WN0=h+zppo4^s}z2O(>%AkK$R^*m8DAYF`_&=@6`a ziV%PNF$$I1fnd*Uq@}(}rUPt#Z_fqjbhg5rU`I9Wce3-(k-0NOYtnv5gZ#NiynrPq zFxf|9rEgyb-)xh>w;SU7EK1j(_Umuxqz`)wI7R;a5fvQZv$um4U$9^fjErTCQ9AM| z;2?|Q;4u*IOa-Y;rvj7N&)Q)%5Zd6O#$Jw>DdiwHJKmZIZAezI(I#%G_gKIKSlVi_ zgl)^<3tS^#_Ix9^ng*Oh7?V$x2ibD1;e+b+usKd?{j2MTVO^u4vXaT!6m*E!@?|T? zKycivp3$Y9{f83xXZ!DS1VCwppJh%iqE;_B`e;*wuts@u)2~#_w*^dYi-^OO0s=~r zsgn)h7Dxeyxv*O@4L{q&Qm>A|Tpjyq=wYr5bnylZave3oprgx#588vmm^6vUY5!rK z^!N>UQ?Ns^jPGs|MqKHn`k1N@^8shsq7%xZc)TN`kmghj=h!zy!fiW5SQh+$rIaHq zRGO04Xt-STXQUd1syUS(;WN&ci&J1K#VIh!f+qd$;Yf63WK{c00R3G$o1(ZilEMcpkJ>D!)VQlGGG0 z`&l>7G^s(ZDQIXyXJnmi83-I@3b3#bl-8*LkMTQDI?ogcU5aY4P)FB6+L>$WX}>>3 z^cJr*vhU(lAX2RdER|eb3Hcu5ZdZx{_6cmfdcY8;M29uv^({qP zjN?35g0sZp8X5gb@j%b`4YeF)y}POS82f}rtMxROkLL3pGPSZ8z2*fx->nFHhdx4g zDByi=1F3nRhQ80alYRcU+)KIq0j0mscK1o~*75vsR4W!GoJ&5rfwnE#e@45ui@H3?atStaN@Ab1zZq$5+3F+^jgx2q&Mi zjlbntVRMvWIGGK$H6)cmqH1`@H39M0M9{2Y}uZ0rVC`#O5 z1lCqIf)3=FTGv~)2Lf1;N7wkXX&RYMv6cO52fU$10sPTkreq=Z{sjhADQTsXg%~}U z;!kmc?e%uTk<(`W$OpF;@L-Web@iKlG@1fOY!%qwbVrGVdvjl@DbZIY1T&tHRVhX~o0(d4%)z?iZm8hC~YewY%@aK$!J@niET>kRAm zH9B>M*Vvyb`H%Ilp|HRfMN}AperOsS(BdkXmi>-#O$pxc$9!VOhdgF5UHFjE*PsR% zEOo0<$*%4M51kVtJWG)-@o5S;%aPw}6?HwJEl(EF$$pl3%bRS@ntFM+7>_|+l*Jb} z^;sG18ADc*qWu6Us#egYvwV1+M&al9_{5NP+{s}&jkI0}%{#{f7E;zZ21Z8?U^cc7 zjI)_#LNPhAhcQ*Kj7%SKZ%FV*rjVdS1!(lUhsOH7HO5)xQTj(r_Vf!bkITEK55IB`L@qdwY$B~g`1dA9HeR zJmr4OGw9V2An+y?^GDuWSotwe#9si8XtI97UB?T$L6r-Yn)=@dkl-xbXk^6)Z-7|Q zvyI>9iT8u^4#rP7VHZrLJi2KRnLhO-`2s%Wc^#zKPg#UEQ~Iau2RBs1saigVQUPogA~~QL^@a|Gt$ZTbH*Qa%U~nCM6yz%m_Zc&Ig|fuO5m$n z{q`@UyQmR%b4h$VewCgT@X`KlLkB)*%?>_cWOOK1e$HK5A&QB2k-gC57k`kC;?bvE zwH|lLXMZsr^vqP;R@0HlLF6krh=|i7g>eoPllJwe=OKQnl*^CvjrhPgxuaBC$nus$ zwS}B`3Q?xso}w;r$5Y`@+$6nR+;O`oDH%N1$A38hy2bMIFH4Kpd=OAZVD73w{82~oUl2nZA+W?F}0 z`SN=H;%$*tn`p_GrVjRh%0QP+;t;MyQ!RqVNX{3CHsPH<(Olh zGRMtF0SO8xQtykV*4+wYAvykv`JPXHuV#L|tgIodfv0pGB-2^WE7redUa zQPejaVnr)O={bw>@DjyZ=ZIA29g*sMPVlEUw z5g*+!NO*KD2I4MLXx~$0F$-L{cwa@Lg8rvdR4B*k$CDtY$x1fqm<1A6^|kT1*MNh7 z;`vlw%#!0&RCjqPoM}-$L_os-9m8Oc{VC{@C%A~Z#KA?ATev#^Gh8hfdO@5TSEI<| zDY0|TA>Q19pkLEIrCc7)R7n>u@rsYVkHFS_$r#vnB;U)-!kOpr(5l0Ds66_hC57|P zrUevpne$%33O(-igS;eC`einJ)5BnU`JIOR(X@jq`6fmi-dA`d|M(PG#lTpj)><>+ zoQo8_30ni=M2of%HuGgqTjc zz;p5r{{pzrLbX>I0=-6|-?G8Z7Y$m;YhgnD1dOPE556K>_zEeRBWUxt>~zBx7zOqh zD*u)b%B)eM-{zveo2ckmcX@Eyet?%hDC#OxZwIAa<>G2I6>wV!gU8aV9Qgdq8#(o~ zvrS1mw@!r}bqjzhXP83P@3}{W z;S5n_35!%e@-5}=m@(eqwf|P5EY0l%nc~qQlWc}l^9+s^pm%dcy`@F;#mUbffwPPE$`rZ ziB@0f4Tk0HL*yrE9KF?(mT0I&h=h?`mp4^jXA3x^J(i&qWLRWv-8*R9ytS0=9W8) zKCKYnHwJEz(Cmg8xTWkko&M3((|i60`T~8lE@b+NZGk^oe=?1z*XK>xu$*|B{}TtT ziEkUpTc-ySo<+@(@N@_}dYOuO6l=r#;<&4~L4E0)_$;Y1jz@~gUdBFYadRO8io$j5 zj&Lwe2?yUejMFF_YoS!KMQJ#tmoexGRvhHSCL*fbgt<$*Fifk*BRs>%qTKF(u%`SiSd)D0lTK(^wi2T)NrM!GDJPiT90VF< zqNG5RZkWRD+mbNn|2aSLKFA!!s(xk%n2Mm%8>Tj)>x%I)@lE5LK3R@uCo3<4oX`o+ zc2VfhoNd1U3u;=6=e;H)5B^1&#ZWdzk=NUcp2tSx*zU8 z`vu`2U58{hDhh%^oTU=`!Dlh%O)&IHhiByp*ukz?fpsc zw6f8_cMXC!H`#Bpx0p*YH~DO}OChjiPEj?JNN@cT!Eyy6oD=;p5mdmVc;6D*;ZM~! zIoz&NJncrZ{=%58Y=)7%)nX$EZ%O!t6+Dnqeqlu66wTy)`=XiQSwW>q(U?k+lCQl< zr93zvyHLx6SThudbGIM%eCAX5ubk1&6CtbQB~vB)&-|nKRW57%m$2711wWk^$4{0i!A2FuR`O_T zDZP>_*F_3Wq&@H=E+uJYqUuUs$1~*p8*^7v(j`lqLrH=u{5Q6kZe^KI#Np?hw+4G? zE?rF_rRbyC6pvN03HE~DZ1bC`O+eJYu%sDrSh!8_ZQmrAG=DPPVwaM(7{V_N>aOD= z{YG~E=fb(TTN=>sALHjRioM0UF_Y46ao+c7u{}&v1h3^DsB_pcAS~(5=xJc3RPz3v ziK($SKmN{BaVq(o=ci&Jag_Tz1IFjc`?jg8y--O5{}l#4XDAkE z{$3>K7E!`&R!=X{(CnnF+x#ro8^)>Z_#NQXM#X$}z=~~fs@|9Lxm#6 z!3WW4pD83uDrc!T?4Pq0T)ONH|1k_;wCpxE=L3>zTH`8gr;MJDb<1&5Kf*%8MtVw? z^vzvUsCBUqFrYI5C`4-V915sn+AITFDRvo%a^kngEV;xDCtoq4jcFl zW<)}oy=!51LIj|cC?oo!pp%GwrAVcaZ#6TnqZvBmjD+=(+0Gye=bs~&MdR+UL{M4Y zowp2OM)=gc?{Qz@);zfHp%inUC6FD)eO`9- z0I)rOG=k)EVGD-N$IXGtI#zJcf}Wc%5*<a8A_nT+PQUGH{6{;p*6f#Uy9|cy&q+O`VLB|F?FQG^=3=GV@LJp`)Ggv zOJCHOS_e#-2aZ;WeLm7I^je1!LoxZ*>RY`Pz&`jpBpWgX$D|e@_i)b~p2~OI3 z!Oz*0h8QcQ@bF1{@=-Uk{Dr!av|2$W7_Pzzd6TodQxD%K3hn*hhwLs~6#0CtrG~(%nUwoCFVR95{^lj}X={A3ci%r?9Rexn5$B28J`L@N6H}7(uA=xy+~Nv9sM>-v>y`D*X%hEU8*vj4++TA6|XY7xciAG=<`w8AKz zKeiek4H~A3#IMwsKH{xL&Q5ggA3nwPpBE76=QKv7FU?;Ivj59@ny4r7%(5*s^k36( z?Eo3k61LJMY#1=A}0?Qch^Kka)t{5&=Ni&SQ z0mtrs%80Z0$OeqpF+ik+VxM4|;xS;=>Wwf$E@jwIGCj#c^Ve(`j}qahByH|2#chEU`XrCOa1lIo>jrRh@)SWo(P8FL z5&^)=R2*IB+`&zRVr}3}{GCllC%{t~@@xu!si`gPOCGFh#Bv_Ps0k9}Csq*L3 zNL{*q4ff1crsj8vQn+&qB9fsZnpoHx(&C_kI@|=ANu_nnZM;8sKyahUyRNxc=t~xW zmVB3yo68sAvJgeSHy?s9WK&9AbDMxJ523v|PeXfU4^V+gcP2hsE?wZKaI2rUmw5oc ziZjZ~+%e#L5fX$bXl~8dz=XUh(#!1UTcTuHxOmQY^UINI`HwYb9xhJKFv`z43imeq z#W&mqhFHP?Or-^^ZHL>ON(T3*(SRdir(rRrAgs><&s=MbkD2!X8LkW}@HUSf7@@?> z16}%UK3a>5$hOJcz`Xax*1{CX+j-0Nv4KnNc z@Du1PXN>Fdt`OI3<1BNI!l7i4Z+)|$xiE*?);IU}wJ30+Ev3|F6%AAt@u(4Ws%E8e z)U^Qs)Y(*ApKV;5=MWKEMnEoQYubMDecC+0dU+9iPKn5VNkBK25}sx*_uzg3y|z~( z^N*DBw7Dz4x98N;=9V#DbMR<+Q|)g+dzk|5*@T_$orYXQ*$bezOcYO_D6*L1je-&* z93cBMOt1D+z}@I~@ffLsjHdbL00*BHpckIpkCA+lyJFIIiCNI*XV{N^K?V9?BR+$T z$&B|z`u{slWF1vMV;?)z+vmBlp01ecc7~mBqdVG|yrlVDI^cAku3H z8+&_W{mI!7qN42(qOU~T2*03=pUzRZw=YZRpoS2CY1VU=LT&QWjbbumE}p_~_wzM( z3=f%ZoO|D2(707L)5!LuKVi+11s0KM84lWgdG6oEK%1N*A1GPZK=gxHlxoCS@@>vA zJB<<=GQ$sgAVw3dP=p3j)>=FVi=+vQBt?3<2L}6S?l2=HX+y;g&Ab&(3D0JxV9CLw z2YM(f@n$L6pEZy5zFVw28z0{Ay!ly{lSC?bmU+A|9ye)J&L6E6CyjJ^eFm)9f5^8H zgRm;)kv|4Oo~jf(erh5#zDV@Z$(44Rf~UE!0IbO=2E7KrpLf>Cj;|i$dS`o2CW`ho zGW(8m&cH>I_}!AlBos&0YXlrsrjp}beF<@4QH!n~I!T@0HX0bJa2YjiZ0?X0CdxE& z@*mE?WL&cW1Z7hG^iG6LC8IDe*mX^_eTZ-}q%JIyj0=XFpjIWZMp_3wjrgJj@VVaq zw$!$!;>PB#K^4LhN>sM{6M)Yapcb9AK<~l3gIbaoisBW-DM>+sdrOzPg4@5 zG-bf&5N%4CCqUs+VV!@W3r#tc%2W_jt8G98L&?;PQAmzR%S%DNF&*lYO0mtD?rXmV z5O9c`nAEaR%4){8d&zL!sWs8^#u!&vER2s^F+Mp9R$-Y^4p&lE3sz))JzWca)GeyyPu39`=o__!1bfDM zTfoSl$==f3(fjM004w0&D=7wC;_Cic^;{0jke(`w-O=W-VTqJA&{`VeqT63xG*ZVaeNa- z)&TPeQz#__FlD1DJ%As@8-n;#P>#zeI)7&(d!M^Eb>kSPl3-h zw^Yu9C;7gP!L{$fHR+cxUxx~12s|XYeEtlw9r^uHB9(1#J~c1|B}z4CnHRi9vcU9m zob0zf(qiTp%It4rZWH>^0;qC?2uG#WJROHBs%-}n22w5t2#}jY-hsTDgA^LbhH<3m zzU8;m@kic>mL6#CYCoL`)Zr8Ce@nT`5}a$n~PTV`9cjg4%4XqAyV1M0)*cqw_F_J5%m!j-LdZ0aipv!_UG$EMy*>FxM2*{P6>HQhmRKV62hydLa6WYUtOA`DeXn`bnl4^ zA)egp(Vo>^BWru+SQ>@%C#$myWF|8iG9zunX-eRqz1#K%Yl11gy}6h7(Lm{9OZ72s zkg0>YW2;Sx_*PRO#NM^Y-jxlZp&b|nO{4S<{K)Uc0d5uVLA9lYcti#Kv-iEPfMX)4 zoIeIRb{nsx_Jjh0M?X1JS8cBGvyS z;Q9x3aJ>X_X_VWM{UAF>9#!A+*O8aaeM!L#fj$^9XCx!GIqwfs&;LETVKfuQKH+ z_()q4e53@?<6no{30wu*g$Tj8pCk~3f~)vg3p=k;Bj1;J!Yc=2{zVI*pl$(Uey6CH z%zmNi7oo*v-GJ|<6>M<@0Mo5>DmME8DF+K>@$Eqy|AGq1V6wq0a89l)sH==dUZisU zY2Et(Erg^Sm(sR5yi=UWqRAzWeFc-}5UUegpwFI#Xu2u36I0hh^Y~jncQs4@^eLU{ z#E|DQnL6|89Td=+@9=&P;+INMo%MXCg1WFN_kR<_3~PYyE@=`=p2sqBmcw6N5geRy9*^VDtBZLoH$0eL zW{zFYg_sn*50om!WDkYwC%T>Z4V5R2V)^Q*yJuiU$`oY(hB%44NWnz+{}u&?Dd3PC zec?qgJejKbDfVEcIB94%I{o?aCC$7NycWrBphyxj1w1YXCSY+pQ~5 zbcv(Qe7k*7M-Zy)3J8@c2o;hA74Q;iQRxf#D2=YnY|bW!ups18$^a(Nz}GNUM%E!_ zzoyYjH2?W3*wd<4X=Mnj>SD^}%S>nJLWp@lZF7;qsmaWcX?#(rh_-d0o{HdVrHYLZY zY#c@Q;0jr`QpeueOR%x4QR3R&1;v9$8!6szgr2nX(Ps66|9o3KhEvWS|7ja+yna?K zV&1B`9yM#I$qLKF#Sk{`WPHWkCbm~wkS6RXWKy2~7CIa@AwsbUGe={7$%;hO+W>QI zQ9y}>(qCc!b1M`kuw;U9nlbb7m_WL~vk4t0+8mw~Z4S-EDq~&)cF9mmeBDQZDsNCw zPZphRW063;L@_-X0W7L3RVAw@OH!i3f;)9lS+6)wmwK|xpH9BLJf6kgi|Yr@VVJ3n zA_p*gU;R+TXoXO5x#ggWvU=&>Z5-^2MPw|b0-f29DdZ1`3y z9)_7aa0MeMoJp3uSi-cJaC5JQjsHN3VP^z9UmY`@4>$J=FH`b(wUyW}y7UiRCp*+* z{)QziiwO42NkZ_t6yBTXvYujkn>$7=$P$csjLfv0`LWUXzD#+u@0DhtR*nG6{z5En znOGl%VG_`P*sPVsb`F`*ycxsDj~GFkGYrq zYcJsy705K_zS!zG#~4hGpn$%N7+-V?j3D06Ed!hHDT;p%n8}@pdW|cyJ4}&O%b64L zG#jP$Wp4dF5tmgRrPF=6`DCFB`jbJGeYwI?k%*~F19$zf2yj1s*+UwcWzYB$-E3bK zBPy3bW(URe0;MH^iP#uRLY;kGEMMrr- z)GbsH;jsXv5o`foCQ~Hi?~-HGD$?9K>0&8}nzPAxbI?+(v`h(Z-V!}TnMxwUEQHY+ zVid-n#X`iJ8AZI+ZyxMMpGTT~?GL{P)N+YeJIZKm%xZXu43VCe$~uL-2bu?jesxio z9v`i=1_7=tt)IAv1f6pk5_Gab@jwUo`#ee;Xr9g|Skw+QclE7ON{pElK8OX{p#%$Y zlrV^kIT6A+O5r;e31^kB6jVl2@gU~tR5HEFs#^H~rK9MHpt4l9zR|E!P6~aM(>NJQ z&{uaYw5M?vq(|!9=acYIKEC2reu$IGUuCiBMFFpIt#7h8xX7ir+fCt+X;(FxO{BTl z^%$W>vS<^QL>?u!b0sT?CglPQ!Rc>c2xNlOZ;i)V(aG1$R>o(=ud%RorP|jxPxxmI z+)LGS0CO^S>J<-$SWX*-?~r)0n?osAoTP-o%!48Ya^I^5m!7Y9mINvu%!0q4DhIRA zbIipa&ryFQ_Du47y@#;v4qgwC<1d0r$@qXQm@ele=_{X^L8 zrqYEWOn})`&7Xp56y&)g9SjUsAkGsM>flmWi2{aa&&1^+N@{$Ha6gHP`?)>`;l4A& zIJbXrcAJ*0D0R*R@W(a9gCOZUhuJqWS+VH52f;%|C=GZC(!U&m=Fb=OE%-~PqmT9- z*`t^X5fmB41nEu*{3&42E5aixxvz1xz!3aK+bHwcplpGJrM^tv3v1%aF*>I|$v%|b z$;_#cCx40>$`J6LI1IueS_7MkneFmGJwDyH0OXM@U05x+Lb-f<)PKDNwAgBt+QdZU zXv>xusT(^Kf@4$Qd&yHGl%SwtOo3q(HO$=ATy=<64l{SKPQM4(BTwSLu@%;wHAugD z1^Eu;a~{@q28W6)h_;Zm(zI}q3rn;cTMfpTkWoN?xfV-2mrzwABOp<))HV)FZx8JIVaH}Jg_n{M@B`nYZS z4W`BmLfpeTAyAQ3jf3fsF3WtQbQMs*aE4>wiIBZQ3EAgS)Nn@mJv~J|A5K4J@zp^Q zibMGNEl882J5nCf+$2yrUmj22k9OD&5G66jXv!VUII(IlT^h}~k!-5vk9OxVBkBA_W;|2z)Y>Un z;$(^)!_Xw1vc{N)m{O>E3{Naz8wedo0dF#3$ycCcpIXRrp(0jSo5Rg(O7Pk}3*o3H z0%mE%p0Gpyq7@(GXU6x1h{ovTo8|!1yHxrn6SgyXk7a+Ir!=s<*j$IwKH7=JZ+a9? z9xGIbqQ-J6^+(#wcQp)CkmTbj^u<_n3(opfj%8E+6ZtyXFbupT@RkT;q_tcB5=fRW z<9Ld9np=9m_6<-xAKB&P)X|sIk@K`2ge{hNV;?H!!6Soep{c=*0DYyn4ZIGRpP|5f z+cB8l=r!Q0v?p<7k7d^E$^($d6Sqmy_F0c?v0L~JsVXi;?z&;lehtG(gYEqo_}8YW zmequQ75DG$J#>`~s8?|iQ<9c?76Zu#cX?IR#&$sSWl|u*7al=VkdVI@WF}jIhCTZT z7o~vPT7-c`kE$Vhggal$2RR9@nQfz0hK=n^;~T%QD5wX$9XB~gI6eb9BcJK zf!8vWSvIHIaSZz$N<-K?hrzUxjYg%bUWV`eH{g3|#TUn5Q6&oU9}ta{Y}{<)IPLpG z(Q@Fb)+gQduJ>P&->k}|18nnQY|}O)BU%P){d%qut>LJjVH&$*%WnwvysJv-D3Zhr87`sfJfOh?coIgGJc`& zB=)@-6hFy4AiPM4GOS_?Sh5055}HAIi|&KnQrQnvwLY4iyyNt+OBt=l1ZZl8g5CaX z0-117Oq{t*%%GW&$y(wtg^WJ z3&l=mNwDyKX}!75Q3gw%BC;NzQab-^8ch2q^RxY_l>dY_8wSpnwF76RS!x*tQ{bhT zh%-JQUp|Gu&CjwazCS|r0rBfS-{wFmuNbM;usHV_v4!ijG3Vno2(0%Pte3-mL_t$HOYm27Z#1bi{w3xdC2b!pT-j!NHNpcs&#(^-OdyD zNZ;8wQkc?do*?{xn-B)%1GN^W(&=gD*4DxI;gf@vWb!?#on{_uy%>U6CwVE-Jh4L8 z+fu@Go=Y9dn$9y@OQ)urhcr!0FcK%BF;1_pnMSQ#=GOKF@{JqYK-_IY@^jWkUoAUC#rN1ks*A) z6cf`K7{ApNl)z>xT1k?;DMI0N5eiGM*mwqnHD587X39-qf;>m%2|VR@$uxuO-bFL1 z=?sp_-HKIzZa;d=LnxLn3-VIrV%{vMo4;bMhEWz@&f7Il&EQAfqe}i`{jd|#lVvXe zqsjiLEV9q!iyu?uOmoZFh*_YD6pv8@&|8!Jx{+m#t^(!TZbo{DEaQ)Vwu{8;7Nd6? z_$lN+n=Z`cqTRg{NM?8m6_-?Nw-m?W+A;y&WDnf2r*uQ(qb-_jXUxO3T$h3eJu}VP^8*fSu+ZV8-UPLhq zxOkqac$|S#B+yA;z)6k@#cp?{VjkQ3;=dq5CRH!sHt)d{xsWSA{=={Uiy%omN?*tr zoZZqw9x72WS@S4h5l_?SL!n(GfW+h~ODRhKx#(*V+Kj~5QvMcE$|7#<&r^U{((=aKJX9;|R0WG8bUvOuzKQbpm5nHFJ+7cyOg2qe?I#hhk&{uu#I zX#ZkPQrM_^F;~6VgC+6ML%d;A9kY!#br7ZV&)z4++eDHnmp^hR@P#C%TRH_KoBit5 zkJ25qk5ZcH#wNwQ713 zWH92WAcdu?)%xlZzfDWbUO^7UAKbhydJ+GDcR4Q>GmGp?xE1Xhr7z)ry}kp1pu>Je zPe(U#l}$9zm;Exp^NqB*m#Ywx=TP|)e*7r%UdkZEO+icf6W70&vJjl46#dU^%3aFz z2z?VZ()@PNE{Tr+rgHw-`@?YnO(kS{hx=8Ydl|};NRj+eKMUm@bJy??#ak66UX-M)uEPp0x^?4W1;fQJ_4M|lR9_Vq3W zEa$5mU6XJ>d^yv_aR^sCC~Y|hK7aRvifHjhVYBZMse!`^c#46BaYk=B@2bgB(ma08 zfC)89!h)NQxv?y?&Ib6xqOkyeQbu>g;r&?Jb{bSSFl)2p;Ie3piWiNrQM@o zMgx`Yk{O~M%R%0$Yz>;^0Jw4gA%C>b9EX+IZh>sljlBCW`iwKL2YbjVYds4nJ(YF0 zMzODls36ts7yI8C$nTYmGg`faBH~N_5Z_BnTc-$+Em?tVTk69cT9i~n6@{kp(lbQi z$lo(HP5bOqq#Fx`1bK4B$xE6w5FYwKXWVN|`++$(8r z55T>O3C3q1y$^EbyI_N);IzsS;&?v7Ap5?896Gwn z>}&dt3RW?hwovIRR?fgRFxIjxP;&sO5tkz3+bMK4H?*wWqARD5Hii;bbDvy=QVQKV z9uqFAM>|)uyW=C@SMx*s6`FPngj%{MVV)s^uRl@HyUa*V5$S*ODUJUGjO5KmdY-OI z9z!55ZhsHStq>}BmxbVMO5ery;9Mx!%SVyEtH*mosNNcL2fI^orIY?bQ(FEb zaUvyAw3E7}bJir}7oi$Mjgb2rN>As2?VqutQDrxMkTJnaed%9qm)i|VV2Hg z;EMF_v85ioMJqO%t-du%o|5mr%e@R8Zg$?Ntw&gGbpPb`<)w(_-8d2HM#8&G&zVA5o7nIi_jFzByORp|V@$?; zBRl*{K$x--Mm*kq5y+mL5#bSYDVCYx!c!^*toCFlmiisuA{`^s-a2w|yFgsX-&XK)u?wi}W4j3Dq=HmJQi3d1EU zEx{`&XfsDs5sDNgPY2uiOQPQy2s{_X|vtr})pJCt-~e6)QgY z3HY57CA58dC6=0~uq*SHN4x2#EoQ5=YN&B#rVPZ?PV(K#o}*By@wE|^Qhr(CR`ZCY zbA0%&u3T{n&z7u*0jXMSbX$=>BkLW!()iR5u7M2}1@5=)j5gK8>!W1VSIxXVmdwot>aQb z4e9%HHel5yqL3XsX=7YV__gK&3ZkK{;jCYY+v!$91l6*9d4Z z!zd2p{h>xV0wPI7c%l&`nnR@b7|zukq66=7d;SMh`5rSTRe>v3vSu=KKBve`_Rfh4 zVm~2ZO3prbnJq#fno@cu3xeryVLsB4$dl3S9xC9UO{=Mt$L@W<7LicMM36^P@86}m zJo{*CV&RM=L`-|8z6ZT(|3k0zQkMDUwli`e|4yZ;Tl*XYa+#&WrGZmSEvye$0u<#R z0OXf3IVW(kc&%}YW?SEZ06N;CG%f{jI@R*!_CN) z`lq4K;pCM*$Q$(*9d2{8J@1IpEPnkwr2JUO==O8KG-)S{YV~lwCsjj_cbn}&RSrBv zuBqW0*yEIT7BVSqSTx1#VFDKoqxpN7!1inrjnV!+Y&~D0;yuiad`j=jM`Zm?mHM@X z`>EbuzIO9`$Q8ebV=rG@M6r9BWA9M|GXtB*B6t z($>8)2ZqE;sj)Sq(0wf7RU!uJ2H%mz3uJ!UO&{pn$1~eXO!{x%M_E% zU0)Wl8VhaakM#yT4-j8An$Bl)xEi8_t0R&yyUZSu9yrMm97Qb40zqzA5QK@oo zoQ$8tl8pJ~_eR0g$5G0Drj`E!%u#Y;=N;G}cf3)UvvweTkto7;NsDWJMJ=&u2hZ%J zTCZDz#|HMzeH>4w(5)QCC8GIGRJe#m2QnX_z zm#^kZ#f1YbarvTFBPZ0aC2BZsG9BcU_{WrRkS|_GX$LvR%~SkgXDU9(GW;r;4zU+V z@dHxzQjqYwWapo~JN<}sa}$a`#In5dA*8@xL4}bw^$GZBy-!AaC?YfG^{7C9NVkSa zW;?_&P|}#!Q1u~BUHvFd1Jo2(YfTVR&@aj$1%cDyds@E%J(oUr%v0b?j_AIVR=pRu zso~fswCKLoz%!gS#OX;vH`Izm4qD#OigFKgL{y=mmfyvxpqWazdy;&Qn1|T&6jR#y zAV7})a-+t6D)x_tQ2G)5a8aQ#QX03?sUv($-k0A%5nU8;l$jYvp+}hk^}YZDoXQjm zOrlHTTR3xx=AWT-zB}~VEhO6=v+)!uvF$`#O^E`f&WwS?YE;fo^{C^UyH zlS5hO((fU&mc>T3YD_77m-l7S;vGn*a(JxcRG!0v^-L11A8&on<)I_UuK&rQ*j(0v zbLl$ee6(h5!C+Zg*-2Ts91J!%g5b{mvN5=8cmx(eN{~ajb)1Yr34VmqKwn%FjCL98^N9dKx(6Oc zK#BhUAhubwpXcLSCbV0c>JC)OUvuYF?J+(EBzXa1p+HJ_U$5#ZIkrN|eV;9aI}s$1 zV{DqPtGSQ%235Y#Vif)tSmqXHMjDa<*TvF<270C}DaFTV9cM9m)hhJ34)Bc3+XkM+ zZ8<$*uBGAoeIxkDUEaqz(G#2k(98X2{LvIkmB(2=k~_cx=25^2{&pEfo?r)DGlwRh z;N*mp()purTmsf3CrVUsf2fHYqut2+1Kwy?_$Bhj$zt1p z3^R&78*DhJ`v^~y-;cD2GXN;z0~XI{QQycBm`YA+Cgpy>jN;d^^FxA)6z7y$0jaf& zhSbWyE0n@dvM;+FBa&jmzsqN@`4_5NrX1TagtAU@6?7$4o@9XQB>=8JL{;n82BQ_7 zG1BeqNXTj)h30VqbQPuNu`=Edho$0e(fl#orC`X{y22EdDVSiF$Xi4!Nv`iGH=NHM z@H)jO=ednX|lk;$Zu#b}2(y9MP;={UZo_*3SV0U^pv<}~&9L>F=L z%xy|P#SSl(jaxT0lp7YYCioBW0y^`NC?;j4gaKs(`vqXW>V}Ky)*G+C|dpmD4I+kmUVz0SW2M>QZWno@Jzjy&@@E6D1=U( zF;6nxr+^PRI34T-eB(92C?v7se3=TxpfxPO)42@Ax3fz+^&wOJ11kTJeY{1~l{0Jq zkFN88Z?fF}c-}&xKwDBMr452<85Reo=}H|KT(>R^&blz278M90T80o@)By(9sa|b@ z1M5|>c(10e5}b8ma8^YO;?=q^IIeYZ|Gy{i8}jS>zw~~tA?JIZb)NH_XS^c=H*8gs z^L*OaSz8QqeQB60xdaFvY0NaHN#%^;dW#&-4;^o3WjL(e>UuT#MYeUDRpv0mq5 z!ywr{pEP30KTQ^4g}fQ%~@iPSvIwkHI-ic6(r|KCaqKi}=4Z zJ=}X`aRf6}&Eo^jH&>p9xbWBW^kZgksea6ybPVtD`lKC@VVlv>bEIT5%=EmRuo;Q& z?$HBQi?Osy4zddy^sv_=cOg;9`&;#~Xj!2bogBNPjQxOTqq$1EQAknNUB-T3^}s`$ zZOI?fu*!iiq)nTeVKUIEQ}oh1OhNZPS@{B-wEZ3Zs%O-6kvJ$DU%*Y<&%A6j*ru;` zlVjU1IWJ;X!IO_KrX5f?LiGJyv$3DE8y!1zuD&K7CX1n_9V6>rOsg#DGsVxN-qFjz z1umuaZz*^Qb8X+la@b3lYZpoFOIThF(N9S&(F;x6p{w+B=zw4d;|SS|>CFf-fgEpD*G6I~-bcS{AMtw=|J6Ydq zd5q@%GEtx4{iaKE9dZ|Pn=|C!Mh~7kunBcr^c7s;yaeDDCx9*aOSq-9SB3^=sHjbeP7^g|&J%v4>AhbaT>E zK9G{vQOaD)@Wf=+XZoGd_jl-l_ri2N1}5Y7^HPgsD}H%O_l3@n2ae_|R_RBrU0nlv zXyGC~AjLd-KuX@ObKt%DMT@xUqQ$f4>$ZuSE{?7(Ow3^N+3RUjhfVlVKmNoEtKNXQ z+hpn+h)-V}sYgin*#oQaucLMEwwNx4?U0p7U2wpD`sroo68-e@GUG69glq&Jw%@j- zb8bZ;v##$Ll`vam?}@BFhF<$nKYH^$a9l!=JbL@!V*QfM_Q3-$sr48)YI>yPO+3tLKYa3*zMi*wbvq{G{3>H7=NVI-XyP%(PVNNR{T4PAKH~^A zIXV6&g@mg6 zHS+b_7}=AgB${?;?Y0rdjGw6=ek68TI;D zPToLclg&~1qi5ir*6Z0N z_Y2uFYb&ygSaoYhZ__*6uDi75)NFmD7F(ptlRex1ig7u3y1w^H*6w22i0srW;I?A6 z%r`~7LyTX5j7Y&d7)Y;OukWGv+@r4#lMB4kW_`3)n~txBkJE#@T?SU>2jj(F)w1>- zSk7wf;FE1g*YxXEc+Cw;Exc>BF_q097`|p+qvzfd9`#osehWGd6PthbEN^c1U z<}T45TIKZ*4txFS<<60=lG4VCk}8+8qOPf=R8Me~SetFX>iV7SmuL?`cks8GbRIVN zRf+F9YvHEo0V_1C7WB=yL_0Sad+lm%@hbN->0$RXLk>B_T2)rwSW;E%tSGB@HI|jt zCMvOCaMSnmwIjm89R>NCgqnsf)2kA;elz6TYphKrwWzzRtiG|VqNKc{QqZQn;Dk#r zL-aspehOP_GA3&h*kS#tyLOc}4Xqh!{dtqWd$BfK3x?PM3mT_{zo{{kdcRGMABymeH&V|Arjj$bV@MTvJy8hTX$JUh8Ds8HDH8nNJg2#sy1id+PwCStjOESXoCBqh!jch7!EO*s4l{)KP zwGFPORldiEg?*0?*D|e@b+vVkuG&(Eqq4ECw#2z=<+H;dTKVjVOlw7*qoKUkS>Na= zbGmBFD_5<3b;Lt!U(H0%Ijbtlo2n`rE6OU$O3PiVLhojVL+@r~W?AdY8Xffw^(CdX zWhJ!@?$0RG!h!UWHch-2<-8w` zjmwUASer`W1Qn&FzT8=s&<|Tbvj%orUG=U8XKj6h zv%a*vuF+8$?tCF9_luEDRj%5`hQ|7a+J@3PN3BX>TeWNbsPL}!qc2B}wGAb%`VtJ` z+Sr@fSxwplu2)xkQ5rv zZHk|_RCSy34Y5|_T_27P&&^Ith$pAX+go#TgZCiIql4C-E3~47bEtgpeAim%sw=H) zXlkl0Z)~c=cvt108{Q?k&+N38R8(LTR5sMtH`7s_`xj&Ui4e3<`ozZ#+m zmqfAm!2@?%|JdYizgo-F9``KrYw+4&ZYKU47&F{ZjJ+|YUH9Eh_V1Rdq3_syiMCk{ z-qFFxLoM1d!CNj{t`(|Uej9e&JZ9RvR+!F(k=o>_bU7W)(k4}ta}u2+=$v20y*zKB z_)i?$k%%tg=<2+w+9v<~i?k8iQ!nL>)PnxOi?uxxUp44_}~uXHH(& zGiU6}J8XB@+F7ta;=+#1(}V60TCi_{FASDpUl)u`q&_0(2qQY^ zp+(Ol>}V{=SZ1xSchxmiRaKQWxT^43nke#YHBWqXowdnTf|SM+4}PkE!~$Y+s7Yk z)nEo?xRRk1VUKYbY(Nz#wZX z!C(*0jQg}(SB-dPTzJGY`^}g!va!6rqN34N>2#sCrB%TNxtC%-y6}^$wJTSB{l|Xz z|M>9Ne@qzizO@7)qp}o}t)sluRbN^WtiAbq?V#|1Tlc?c!pORclFGWerY4um;Y5qW zp&$0YMYAI8mzI?}OG~QCoTaYXs$l2r`PdL%xO@LSR%er|p}xGKsj2Pa#SvjhTXytS^ zR@K#3K2>6GDjr$ugy&S2msVAlRaTZX;feafdI?=-KO`7^z6X#4dxYM^{~pH=!bvbwSUtGqmDxpr~*VM&|?eGlQM)&PBDo zb@rPREGuaL>N>qdUAgVfiG{Z%RKw9FcBf`&sf=4UIkJ{(M`G}07e<27p=W5rf=3;; z7!OBAzO@gNqb{~Ttd}P!Z<*Lf6h4;Fx;-3y$X=si@@Rlty2=~Ms_N^?%j*)=4o3cd ziFRB#_ON~bTx&x^U8O@U5lUf|in1!*aPDpP!-KI^i?rdv$fL{fCNsx<_Ai6(Z_d?D z5BoQwpyQM_#iR4zre*R5rP4 zF=v*RIGXA!64i8x{n^<~RLvEL$Au>bWBq4pyJ6GjVCV6R@Ds_7`oi?E;{*F`Ir#PG z+A=I!OX^CTRgH-6dTZ_9+0P6gdafNyQ_s}1wBo%UAf3BF5-kivNvu|MeIv|STUYBS ztt_i6)idz!u~*4suNVFm#=orDnT|TFyGk6jSRw14a zII7BO)!MPa(PY@%|FnI0*uJ1}?HFrSLv2-kV`)M!ZJnVJc){qEJKKy-84w3f zRAJ$`aOYWtX_)GRg_9HA0o~KX2oVOj6ZjscK4kN3#SE_Z(FK867IaSuzrZOvc9ei zOJr<*8p>RywTT$#lEAvcyOaYRD1n`Jhj{O^&)yXM`dn?8rXqvF%Mb^j=R((@F(nR%(^*+xiyBnI zG3%jFQW4Dgd9j*Je=VGxfn{c`qolm5va-ISvKHPMe(Ar3hil=BAIa*fumi(f}2M5oN&Cx~&eaq%(``wve=xx9*=VKTIh~4}UnN=!*<1);3L81JpK^S7D`I zUmkwr(4zJ%Ym>uOS5exCU06eDc~yOBc=3@%!v=+~br*enu*7B*Wv-~YWPgh~;Z$ci zqvy=YvRKAgnjlku8va*E+%skI2n!C!eS3MD~F<9lsFf4Jo*br01kdb)W)^e<&?<-c{ zvn(eY-xt~sP=XB08HV7p#P>AI`9_9z(dHM8Ehs)gKafkF(FRVLtg^Q_q(ott2}ca< zmRg0YO*n2~kE~U=#)R!N^~~}59)+7t*kfRy>{htNg#8BgOQ8?A)r30@9FSQGx0!Iv zz#&qp z4j33dqOi+^BL;?#C|qsAaRb9g6s|F0`>ee_qHwbbdkhR8QMko~{RW1QECg;f;Z6g? zM-*-|;h2HpBMNtzu=TXPKB91!3A+sp9|2y`W5PZIM@{m`Rr*aLy(W3c(2tqq)-QGa zK9f9Z=*M+=%0~hxmL{C4-;}^|`d%No9L>o%$>bvjhL0$mZ^B*!!$%eY7n^Xz!0-`; zT_zklP`?5TA5pm4gyTkP_=v(aChWUZPmMUDaI*>9CsZdI3?EUr#e}`a6V>pMD}Y-~ z*x#hzPXr%PxXpy)#yeo(BMNtzu=RTVZb8Hmg}Y4Hao|abs=-HqSM->$HLByNNgg^= z@2Xyt+-LkIV9X?s8v1=EdCYi2PF$C#e8h5=UO>Mof#(wai8#cOE76>clLz`p$oP#X z_=v*!CLH^xe(yPaqy@Oxge^6vCX4|eQP^d|zISyDA5pm4gagJ;?!iYCt})@xar&(z z@DYWZO*pVw$M6w_TTD1^JeCL_Sq$82!rmSF6;Jqx!fhrTo2Or2gpVlPVa6+U3?EUr z%Y-}E>li))d_s>2hide$ikjrnHvRf*uSxDcN7r}Dj3p?o*LeCMIpIg1)v;9;0H4ru z*1#SPd^RP~M^WP`v}CgALj8Js^LYdHtmTkp}?BEegfvcMb;?VC? z6WAvu3bz{1p(P7-8`Gm-Y8CFdd|>L%X$L1#!aiz$+}_f%vYc^xF?IO!9U^ZZ*m8H{|&y`NM|XZjwJ{$cuIPX?vF!PaD8tO7OBF zcbVkx7;?8s{)FsS&F(g^$AsU&>z9B(GO*W#x8wCoz+V{HXTsm&^-I7%8rW~bf5=AQ z69$KM8wN}`%aFI3uDc9T406znp|TMfC}B+oa#dra~UG~}uxz&(&n&g{|iuSM^pjPDMUe3+4u%OtlN->XgXIflN+Bu{ot zWLlFfU0F04H`c9N30F<}P<)zx<8!iS+~KV&i>^$c8Z#ygb+6(P_`lk;tG~Eej<>87 zjh0JS6=h0G1pi6=%e5K*x<|=s9>ag$#J{wdY+h9~R$7(dPYAMovveEkMaYK7it^;( zR?yzpiZaI!DD-sJL}f(lLZRnF8OKE{Tam3RT9lc^X=-Gnk~epm0DAz^69tL(87i?1I(UD{U)5_HK% z2(nuj49IleMr8V($~1rB0MHIFpyi#Cb2BpR-G~fNz8MMJ#$&ZfYpa}=0Z8wNiJ6Ii zDPyZN84sJiWHFbeykw(w;%M21)VL8wTa7f$NHdweq<5Jqjqc@^4k=Ok{ZF9eOIM>_ zF5?bqqh1sKiF(}wAg*z!m-?61g7*#~P4PcW_3FFYREFf(QLjH$8m|q%7NQDl&v{6!g~kl9a~dO9LoRf0B^ATxjjHMeul z(v1Xi1b`Nok^nUOmFA@oNYBv|GmQ$*Ivy3i2f~8Tlbk$NF~4j^>T{BDRj*D8_fh?pa0!ZHtZaC!TF{W1dji=U9w#a$j)C#Myhuo`Tv?4k{E;BKO4CoLy%@e4_ax?ET zp2;v;vBAuXY0g0U?PeY_Hm^qdY)k_K%D1+%^<}!6CiK444m4T8dn2o=zFgaFvO@eO zlS(p*+{|*>Vy=aqCLFY4PpTFx%S^TK1vo2Ji&>jYerYkb+RXrV`g^!yNd?C;2tWbvWd{nW-#U?xOjIS4K?mfbARKZ7eKv)?l1*K;QGR6{$AVr3~$ zMR_ZjJ7_{;xrHVqmiO#K-bPD&*7wq^Wyqy|8?J?J`xL8>=%+>bQ=+rEiqs_I0cpKS zvgUJ>DQb+PE_0KMX-B|Si4Ty=>^@U|{)Ycu4-ah^IKOQ%1>oA@=G1sq! z_7j|+n`SlS*Zz|!zbH*B&oS$z#>&whNru2bPF+Q6{9g{D5#uY1tMfkP+5IBhiBuXi8v5KV%}Z}u=#eh!-HxE}F+$UBVJ7#RLH zFWZz~KFxfbU++HTfu#fOH`aS+{yyp5(yWxsq=e#JB=a{c=DArGzO@@30- zQ+`&OBRRk5KIE;&n=lOfZ74G3*H3dQ=hsDZDa(Dv(~L%bYYs5w7o$0r({<9`jpZ#g z(ZYUv4mRbNL9;2R>)D6gzj}cEvYn><;xzkmevw-^U8>((X$nUDmRC+37`pRm{^k7o z_95@2$(Z&1v{__%^&S7OUQLPG<~uHH z-RCCH$e`-`I+cv&)uitoBh&6K%A5Nk?pjIyd5KTP-7(3(W|BWd`aY81VLaui()7^U zf#m_oc>t$hUYUW9l43f6W3Bi;s|9|hI*|2s7vhg4d<`Ul=sr<8p(9dl9YO=zknH0v^s?n91;WgkKr=uLc-6w@5b zsr&aKkH`X*x>eTUqrgKmDyPO(T&2~cfA~e~fU=9GOIFU15@5UqF7eSOwMyAbb0I4` zWUW%}*FPe%St+;DM90e2vRf%z@Ln@~;8i&IDDcrN#>x(vrL_9=51bGy zD&@HT(Iq>SvY+N3R(4CyKcL*Ne{{+Wd@E?C$%U2i1|p>#(?2k3l(L6r4pxSpl``zC zK49lZpzNY)ft6urU}b0Z0Xr*YFU5RTw#!z1%G^bfms1zZ4q$1%zbLc3gFmt|={qQt6|RYSiTmlS+VgKt?WKnN;kw2{P*PjY*}8_CvbLjPFe<)wK1|RdUoB zUgDpIzr-l+>MA>aG^zM#!=tNg{Kce_eDzeyE-U*@Ds6MkJv|H8Tn5y|PCFaDpv`}o zR06cQNvPaWf>Vmbzl;VY-_ew+iZ;lk(y`E7m96O}6*p~S^s21OFsUTpj+!cH!3dK| z4Q*ZYTy|ucRC?%KPgj|RD>?&O9%Qaiv@YJfH-y2^s7CY5~Ji|8sd4mPQD(4n8Ml7lNu15E8$ZT7E~W-krVCPdF= zcd03tV%m4;Dw``zDqU;M1+A?zsd#9&q32Soj{Xw=G)&z`bC|ADqK^Jp#ZOxbT}8vu z-vAX?o4GD4aUp93=hFG4NyVr@@$}gQsKLNaQ#;H1_aTqcJkR^)qS`V;(GwrpMT(>_eQB5bMoWM>?0+#phLms6QRn`yDx`E^? zEX}k*BVcjRDuU(x`;hn0l7jUEw5MZvO=5k4_N#%yz)q_QmdE!Y@1iqT*7wuWgXPt< z-}`C>4YPbYY~=*8eaJg#Rl@o{+A6Z#K}(dRJkkGs{{yJeAEE_IGJ%rU(Dst$#h3l> z;TPYBylY|O3T6HO*9HE||93_nTG?>H`B(gJ{n$R_9akpx(SFXTnHD`Px6?|8<-Plm z2WaQZ`W{*iCFIHRmqCjlP7v9LyoGkltY1wlC6-(F5$IO*?gNBqhs_yzX%WTpd|ElN zJh~5gtG+2;@&Ee1n$}mGk%bmjEbrQf+((No)_2fi>#IRY`@;$Q1_0%j`d^5aUYt=4 zZT?waOzSX~$N!gHmET3HGEU&90|S=3X^F=2{(Z;-oWMd$ zHkSA7Lms#_Im`x*GH+^Kw_?EXE2h;P7tp^CdE}1&T|j`Ae4I~>nDuk@KCY$(;8%lW z*Q4s%y1LdY3sx14w!KPsB1LGCbk+!&fZHN%6X|F-O1vanria1b9j+In{u?9y^iY`| z!6h&!os-0gdyVQPQqv;r(416$R+5j&lr6~57Dz-@UB^!RwZXCnyb(V&y!X#RyoDBn z$+yL-tj^2at8Vd-eph-*?j`vQm5;20>9QKBsyGjQ0Y^r?d6P1;3dkfOnE`or2j$Q> zQg&@F%5%=a6PwAu2=U+XoMiGZO7j0&W#$X8z;5Dk;eHlk!R`sR=IP+o=j}k}s0yRdr5&xhQi=4arX@ z2WcjGU!F{O8BIQwe7u!-V}{HGcm9jYYa@0T$(g+A8fj7q|C3vGZ-87ga3mp9V@$tOOA%CnRFI>Zc=XZxDE+)X?*TG|y4 z4&B>KOAYZmb7kfO=yF@OY*Bg#kUd&R@1%6u1D>9(`dhTtqR|CEQ`bjGb(=i@Dh9_k z%BhF&fn?Dr$vwHU2KTx+&!wK~BYqnd*H7}xG}(o8wi#sceA+2qm?jf?kngQz*<#}9 z9Q{cC1uUb|y-HEnLwpj|(?{|fN62=h%jzYM#P3eNhL9E@wJn3BTXpzu%BF+(Uldz9 zNxpuhWWR>yp3RdC@!5lAp5h;pnfr*}nHf54lE0H9 z)8B*v&Y^0y%5GI`2a2`Lp`jb1bl;4Y4a#?Z8ZKLq-Z_DSdl%`|k?TiDetC}ULAtck zOqqt;(9+i_ACp?;8-ALB^XYu%*wK=`6TWdQ+1^fk5H+EgWeo8lGkWBbH(#@czTF*)?iBF~S z@=5;sP??AFvhcfOd;eTg7=`!rz76l0Oit^ebT8$~cI7>P!zu&mC%?kpNqQBO9#QYXhqZo!@)3d`M0e%?>~ zIO@R+IwL#-i;=Cc+#Cv6_<5DBuw3g_1fF?RKNqDto}4QAa&1*~bHb@+D5rX4lx#rO zC*qCpd;h$Y#U0cXAIW!9Ck9AfI7sHbgC<@=ylY#^WGwHbbk}P#Q#n0aUuLu3PZ`88zGKH~qRVHPL(E6Q@RKsnVNnX(;Ooam)2 ztaOI`BsrCx*&K2J5B~oeayZ4Ae3Jh+SK3itRtCifm(2PIAvohBOkP#gZyriFafr-Qu8^57 z(>}uIdBdbzxxz_Q?^e>EtNKj}Z@|*#a~jwYQfbvByLeKbvz5BAhj!D!1+Sq|eKe#D66Z=p^}#=`!yVGJl6KU?_62oM3-R4~vPJdy(Ksf9UgHxy zW0T&E)O~Fv-$~ujN%BKzKt@RZl!~RY5*|}`J@rsOsT@w>-}6n%WGuJPwc62S;tY}> z0uTBOUGO!T%uaj(O$QE=zco@O#9*@5Da?6@pF3J+f|nme9^)n6L(@ew$x9O9vE*?q zGAQWHC?tSzLC;9h%X!}dz6z69xZ#I=e&{fsV2Qn zs<(&a?+=n`cy1}JeYDKRr+oK07OGu%twGi#>Vpo+*@@xMQZgyiIh^{olX9w~lDkO0 zG)HzJXD43fxc4tgJfD0hM)J2u%FLZ;`6?P-7P|g_wkFHL%S&iDScxwsAIm5C9#v1N zRlaf|W_@IFVhs%o7pYF6EUHPqAC1grlJ6KM^S*#FA08&V4#phxFb$tp(z|wy%!9MY zpI_iuIz-@Usz?XPXN{D0WNh@qeuhg*n3bW7xs=t@?x8tN8^|0MZ z!>EP$8N+0@>iU&wvPbECP3>$Wy+hy{c;GPo+{7%Bb0bdVpQI|rNcBDWz7O;Ed*nQQ zggdFGagrY~T)I($vz9y~gYLI^gF2Tvr5!x$7#ctsQur+#rENW~x_vQ1wt#CJZsnIQmX})`$_+9a@|&vZ^osVZ(-=?sGJb-=cpx}B)=W! zVn}Cuig=Xxv*|M7JLH>A9T+2iG%d0FNPa9riAvW=b7}_N$hC^fD<-)Umts`91F5{e zcT;v@c{QaQggIKR4W>{!FY)JSoHdjDw;_^^XLfD>B~NH2z9&=WDV{~sOo;f2R_Rtl ze>G+grFRvDstD;djgl?k>7@ymSOAx>{X)KL6ZErg4*8a9IoK3O*z+_7ZQA?{{I0O(akC5gtQBvxVe`;<)1nROejs z*f!$tQ#HFt{#KrBQ0d0gq|irO50>{*y6HF>x)sZgh#ehxKUBd|id7-X zXRutLbpAYHQs$Hnk{42_?z1AF= zt@<~M?Al6vISrQp$>&>T1M;`^QU7)l-(!_*JY{byruy{|pD9j_-RZ8{jDnK527kL=w{N@6r^4MP6f9Ca?-z;f{L5u-y`UuNasm3a%+gU z(dwa@~FD?d;?C&RQBs>&T&i0e=yqm ze!;SD6GgTfO1A?S4pq;$U@-z^ZG^OAV2}Tm96Uhk!<4l|y9uHFYcfC&smvNGyGCF^ zKa0jzlz2MDyk3&8#=#eAP(q;~PWVBpk%jIx{v79AzoMT*)X#R}r(tyk?!1l+>LC6R zHN!>nGOMgXy2&R|NUdQ`L!?D!^uy4_{a7}QL^CQe#7EK)Z=-a5xB{#?*h}N1lXyP) zV;9Mbu{!NXJHMp*_7cB(gltg!ZZdD2_#xQWsE$4&N46_HjU2){S0A4$dW_1I?B6iN z%T@PD33@tfH%0Rr+5B74p|xI0F_o4T%_KjWMrI4iub`6sB)^v|jhEg24vS{|4%fYn zf>tN#UxXuv-(krQsCp6N?~*6=kbKohnXS?tPCeL1`~b=?V_wQK)uUw>(xp9)o#$7$ zP402ZznJve^JJIm;nCDiH}Nd$!D^E4LJ$Jot*@^C%kh6A$6u z+&zf5i-_m@QWkt)^^mMZCl+j?;o%{bUGnK3EM0dIt|9yod6Spq({LRYB|B%3H?l$LvS^(6MZ;tZ_#L?uCuLg~q%5&4 zU1p+doOh9>i-{jhOEw3|@5YgqDldo9d6UdZi*PgH{W2xH1D;c#cgLEE82h7S z_Os}(k<_{nsb{Nxl+9{>)F_bmlFC78vSAyxJ_k{SW5nlD)_o-Ze6Y;akZvf2Ez4yo z1I?#!YbE)+xCI00Y|oM-IEY`ICEHcLyT}pT#0zLbsV2D}YsxgFtEKuj6HlY^T1l=A zl6Is^n=n!~d_EC}muV9-vpYy3j=P^#PtT?bMTk4dustM?TV)F}w#6t2^bx;(giOP$ zmu#)%xt4_~1OAA`uj=aB!7>|q^4%a*%uWgik7n$!D|MHaW{+liH(vdDgwhw))b7dlyyC~hVOxd9N z`W@k*Rwt%cu@|F&)&c4EZI78rk_l}Tm zHI5gO-FhhhTa=GT;muh6bh5ih&QN9AOkBUXpZq>!QOXnt(s;3w{Lu{Ag`%C+)b+*0 z%Vk-Q2QqKCq5|D-9RhWO{WZx1}Hl*T{aRGcw!Y_^Zoe$JH*P;=%}&jyHxsrXKk z-!w?3XCU1p?CD>odY0u;N>@2bwyU0ffztI6f0L>kC;4-@_JQ&W{zE-$y&`4ah`fcS z*``x;DJCpg(yj*a6dY3{8`}xg8`Y%uQHD&zd(+ZyQ3F9{p`+{0B?AXY^-}7v7`2?` zZKVGv`D}>f_?gdc6zLp8W4nv^ca*M&uXrGOuh@9W<6yT1ll! z{z5j+DymU{@ag2KZ6v<}3k1B|(7BKzcPDW#6&E3S4{oj+3Cqo-krN|6bBN4V{9bBl zKk;SRvPSWRG=Phjq+0ys2-yYhoJ{rdyqX$eEU%_?D{^I?>ajgkFE4Q~h1h12&qqM9 zqCPnk8(WEAktfT+oqs3$hKN5#?dT%;*|>@CIqW=-PE4LV(1W%nisF`~sU{zuCEc%~ zh{MU*GKl}1Olc+g;^8t~t*cg26^e;pN9kN7FHDnmq_Z`XscMMl$Dcu=%SC*m>ITVKjajgqI^9PqS5jED?oK%;%Uei) zE%m&gKkNEw# zvNZ<$OtM=m@wK?g_hDR)T`jA}AcXFhhhL27dk()6@ea9kgc6jf=|ETlE$aa;j zkOjQN@1^3JN&c2(jYTW+D3r7ko=C-YkbHk^A;!WHBQ)l$yHbwL@*YZ8iIt^tfRo6P zV#H6UX}FK%MMGo@%FF7f`eew;d~~KOe`2QXVCn_?ic~Kw%#&_(eA?d!$!xs&);5at z+@$BkQ51Ok4~en70R4XCd!*V*s&7!$`)Dk)JRl1S5WU(cnFDv-6~JOY^HzcQfz)vk zl2>CsK|0$di}sWJgF&)grAw!1n(t3pE|2Cn7s)*%WS$K} zJqK4sH=|xTl)i@a{*xoqLb!u?84YzG@!eG47Lxy6?zO?sPb4e15neM$_Mmv@1~Nw{ z@rmS+JtQADLZ&~D>2;wpv#di0+YY9YW?h+TdEsc85JeG%w|3yKun&eZlqSz0XyoV-`uk{3&W;ocL56TYzU35x2{N{b7Qd{n0gU zJel|b(z|IscVCk-VfqMJqXtnibxjTN0vcRilE>sKl#yj23;U(St~>(8I$xx*-A2h= zREQb-3u~iu9^4?V`R4CMP!OL;!osCH@Nc$%D?rm zR6AMTMd|JyEZu65y-49QN?fCTZ!gKuvC1x0pEqgn_7kti4Z20(pV3gTUYD}(b+|zn zeEh5A!4Bd(m1jzc>e9!l$<3tlUow^Dr&Lo}?j!wiq~AjF<8bCZ5y!K3s!D+P+hm%M zY@P^jZJCI<{VM9}2>e$+nQ1*g?D>3sCT^3y4QVn+h-PD#q}9mLg%C()~S6vZtc!J{lzx-a`H#(WGp> zA!VY+aBqg{x}6%)Uh=1vF6U&6y4$iLu8YL|z2zTAsCW*teMg}dwyM78tr6MJc& z;SOC@y%roicH?43h@wb{vguZyA)8eXzDc{|UQ&6QoG!9cZ<)%CZvBV6_2zZ zgnA66Gx28Pf2VR^Ly#;EjHk*C>jO4+v$kNH4(u-aqFZq?&! zXuH`=nrD+ISZI~Qav$kmMjp~a@-K$V>_cGbyU7v(;tSX*N&X@3qeD7dG1V_Z{Glw_ zrSh$ym=h&lOBU=U`SW;~aT?OuX-xMMUr%E(|K^nCKEnM|DqS=6T;PY)NMN~((jA0b zd6g$TO7-**znyxrhU8zS$##@y%Oy{2A$})ru{{*^xu1A|_%iZ<4w8S2o3#-P(pwUP zzVH@oK^`R4IH}H%Lmb$G%%B?f6RxJklx20wQWs>(9#yk>6qfRd|BY%~O!D`!NpqmZ z^;Df|;pD%UGHCGh6h;02P4yhhJ1N~FTW}szo#0;ayzB_b&zD= zhmPBi4B{ewD&^-U`2%C5Th-?Tn#R4vx8OODGVn7gG`0|*G)T5Qf|EGQSeXgEw8gkv zY!l|)m&wqbq;FFWDJwAq>ju$0)ki7?6s4@&Q%z@iob)Z^bNwX04G-;?!<0|b%E}r@ znR+!vOFPLw#Cr~q&gP~jyNUmdr_8{!j;F5oNMQv|25U&|)-ke075@=cuZ4IA72ihk zt8pu41uXeNrgYE1+V}&SZo5eDa$K8KJ$@JEA0^&T@?MhPHd@vof7@c}@qXebW5KC- z0eP@>ZOUvFcr%ph@jo<~fM2Du{YFF6L3-2iLPv1fR*6&jE(~JZOO#^^X*S@tVi)d? zZXkpEiC;|?XeIe4d9ocPIR7A@4-v1X4(cTN1Z+-RsCfrjC`$ZYTtftR9!@P(yqYwb*)F$`Y5;^x7QP<*Kt-o=^IqcVIB7f*z!< z@&1}J2+L!XZe5P^HJ#fO7it6rJI2HLUsL*_&f^rJ0DS3b^RMuPR5-ny9HDq5Y=TH8GiLR$%R89OmYPyHyAK)UZ8|i+bCNvZGkx5!eo`Eodbhg>Fif&_$ zi(V?P;pa;v0Fd+G?; zqq_cLvQIJbW5~4}B)C3w*oOhDm*JO_f$(N|8Bny;Fol5KGep0yru91l~#069} zOIylxZ;@+cko-5?SbYpGu+Jq|wG%&ws^lQ~q4Mc5m@~)GQouuaY>s3fiZx~UrfIq_qvyPuTp>=Jxjf#?d6W$?u9P-^o>0-oB!+|<@!6q7>apDii>f>PR z$y9C2U8%0U5DR4_mu1J}-gGO0Gje5@D)$Z=hIZmISSB2gD;HyU*bukVr0o{%Z&=`a z2p3}xL~`3Pv|RHN{{{DMfS>pqO%y)jyUCSXNPalU{Uoo)DEb@P`R3oy&H#bm@m5g) z+bv}O5b;;BDpCA53Y(q8FT!F%@$r;CLVOV(KT&)QjgcsE4HxGW-%K48Bi?~Gq*SAS zZ=wE=6Q3g&RHJ|ED0|D@ss5dVtEEV88%Gn4mH6R!zZbV^6Di4OPrT{4>N3#ebk6;3a-FUV)={8jU9(@uP6BhT`v0knj`# z23O)w1h1m<1H_-nmFbFqO%4+x-h%fZDQ=@hT_^F|@njjeoPQDw7a{O7I$R}uk_Kdy z_zQUcSn;!HfW(OJho?$T0`H-U#fkqLZ}3!n1C1QZ-%~yQ>JV9@coofaR^ltL3ROIt z2Ckj>dARjY@r!AmaS*S`kO?P)A3zT8CO#RrW+?8Uz~Ldj9gnUno<@_6m-yRw`Lg2a zWFH^#S?RJ}@sFwge&VBWm~#sFKgclx#3Ok!UGdAQeIep&uu)X}d9r^eaSbmNS9~$q zH$r?1F0m?JL-mUi4`L~)_#~=djQI3CnKl!=h;_h(8pQeFrC*Fi348?Dtf$bn(k1H9c!tuAA3deU7s2MIZ0c=Cba311zyxU3f zC#Yk+#J|UgSNvphEFbY-@s<-+@I4+B>?iOxev7~Z@TLL*0v-6#003J#l^7y^1zw$~ z_;1uzoy03~N1w|0{8?&@6WD^uUL`!5d>~5vIy^F~_*lv~M!X464b1}ooE95#;+?qr zSMeh#_*w2v_3@%XvPSWtG&@>}pR7r@;`1r^*@^#($zAa&G%GlWZ@~4*)4(4gA9NEB zpsN+Xg2s@C_-u5w;)haKdWoNdM+g<4PBFqqyadnsC|*p#*H8R@+`D_a>haT6j}usd zvj+wKR3JpagBz~^Y?qQNbP_MbMRmmwC5uOhyAjnD|DB?4lz0ZBy5fUr)WwK@G+3sc z0sa|9y*TlQ@akQ~T{In9+EYD#8s68e_+T1bR^nqbq#In8or#9q34DclTqRsc4Ra8G z6!Z9*;BV7#cN6~?E>0*ugVKA5FGV<4JcnG-OZ-etHYmQ6T*XKHFI+THd=m{NKk*UR zCY}ZUcN$6o;_s))bj9b8tA>a#$8W`e%fV;EFr5Tu;tjbf;Sbbf5#psoWsBkuQN^Of zf5jMA{3fbcjQDF9<7b1PK^2P=_u+jaig%J>Ex}Ze@5C5a{0cIxmG~x%am7!e7-A=W zDxMTqd=SkO4&ueQrLzV+PGitbd_I2J23#`Ff#Ey^j>r8l3LK$;mq1>QY^cF~D>TG> zgulQ+fhuq+aX<0T@oMvPz`rMh28bVoGkfrYm&u?Z;vdP}bFdN)kfU`HUXT7(*`Gi$ zDMI`m{EC#~dno%T@fbF6ioZ+w$A~|M2LR6nUqkuFiC>3PK*fKd^p;Snzu&^eE5-jo z>8->!43TcdAEN%U6R#UAyA)qQ5ynCMJY3a05BwyGsczykux?ZQXv*J1yb`|@q<9YH z?3AGX@lu-8 zI*C7rb0fubXk8v5{xHV7;;SegM2WZHmw^<&h3X$8UV+o$3&1a+`p1dy#CTVHJ=xc? zF4h0_gJq54^U1ze;>V;(x8f&L|JjKjhARx<^5|>~O9z2syd8Nq5`Ih#cN0Ga5nl0k zY20~;XCcBXem@NiFY#_{_ys(*6Stw`6)&Lr+llAk#ujjSv{rRIfphR2XDt#ArHZ+U zpNHSDQ2bA7n1^^bw&;rYP{qB(3x~@F#ivnvAMr`JNT7HcIi8>R;-QjVhl;;hhl&RX zT!$YJRNzkqLIj?`-An+sBAOFBiGPeAUQm1~xk`livDlj_eg(zYDDl-eBUb!mnv-M1 z??#NT2mg-d)Hrb$x?1rE$YPfJQ(e6f&s-_Kl;!{{@oGFSq4@EX-cI}lya`D0%P9sp zi2oCZat)Xw7jTagKS@q$z!Z5ZjYJRO^M=cEB)8>Laxd`!w&sc-L7wO%z6LjvErHJsWIXY`TmMwb}|A6*!G2&62zRdwYh9XRycq?u&QT!A#h~>dlPp{Wx zjpC=#2(}V;;%X4MEV~%(wiBqvL-{J{0wrGGB~%H6F>o6ug@j0deBF zcw4pN7BZh@eX8H@#nm}*Ie9Mn)k?sHmrJXJKa)e*iOdyre@V|AZoomw2W;hU5k96xe)(hsvia_cZQw!c#DV&qL*h z(9$bF{7SsLOYv)|S3<#_`B2{QR2IBRYmbE zN*^O$i-~+bcs-4lIB_42V-)|3(pw%%b@$F3S)=%u)G#aYnK)!u{11w&cH$S{y|0RY zNE4EScmeJl^r726Ca-Z5e^gHKp=1IAb!7$UxJMn5P;}n0D=2!>u!FXBQ72xA3y_@)t*sv+Sl}4wB_}u zPU6$?fUDwpWSw1x|BMlT3-?mAfS*PE7bl)ORAwvwB}F&O zKT`dF6W#)@_*$}`mH4N)n6CK!WFI?m+?cXU@iOvH2l21*Bj1Y=mbWcNSauU|;(0Ux z+aelR9^!A}u2RL9lVQBXyKoPe;wRF;_7VTrXxXlK2N}*!{7hVLSpwcj4GR$e1sBs5 zUqE3yMEoZVd~i8QipuBrH+6mUYsFU6`}@h{2mI*Hpc-7EeZEf*rh-FOsL@m176QQ}AAOkVM8 zXu!sZ-=N8~<>04KK#vpe!+=+O6ZyU6(NzDZ<26a(a`FoJt(CwqoXM$#lgaRQ;-g2( zF2%Q#Upt6jIz}d}0AE0n+)ex*JOBzVnSQ+R%tIh3SFON+c#jP3B|HpAaw^})XdwEC z&q9O;FQ}sQe&RPvmLJ(SQ-1^qug2T5{K$Sf`BRAaRvg7Do=yR>leh!tG>SKnzeR{2 zfOjS-{v`#-DDe+*%}wzj`D2XuKeJ@oO7OF(esSV2;*~dwPa}V^JeKP3mvGHZ@q=kR zT8Te_yXC-T+12m|JAwP~xT#8bB+Yyd;^XlU;nm=$6L%Bu#W{`QQ^;RD#Lq&2S6pc3 z^b%iKk<9;80j_O8>wRg#5dx)y5iqa$ApMa!bVQYE0=W;R>plgLoEBWUoWQZAh5qCh&oravet6 zUu19(;ootQ73pk~s6t-i^Ko3G_;y+<`iTD@Rrem4<^2C~{N6$I%WS5@6VLHafD zoAo?}`*3(Yytkg9aX%CL*98An*XiWJ571y+;ZIxYzg2waVDmb_@w(aiZzaDO?IG}N zq`uG9f!)0k?Kuv9p5E+pUxoNd@U0r(-7iFYPlNxUt2XoG^Dz*H;V%ueliUx)fhill zpFS|)J_`r_Jou@a$;*Qw3{-{iHP$jumvyeeI9>u?WU=#Adbi`STn2tmhxPf&y#c+o z5MOtNBj=> zBFnu~*>6PI2Wld9-%B@P;ViCZ9Fgq9zM zAENv0?k{8Svf+>EqnGYKVej(b<(kX8ABoZ}gqP?(yZgRq8YS=*>iG-h``{Q^2ERu= z-~DauUnTsH-E5ZoeC%Hhe3TxVbAJZM=z93q>iO<%sGcVHpE}07e}nj~@Go?wwp4yS zx^4&jXK9>9hb!jDkJyZ?@YD}je}vG#6xI>xjz z_^Z0>+U=}(_|f`laQD?H_!{_S`u33f37CV_!`q|mUH3F}ye9Zsoy@rhP_V7=ztru^ zJbxTAI^f6Zt0nF==(vIBA{Bqt0J}?WQ}6M~Jm554w(*FD4NHR8>IS>}sThpY;P+@U ze~)}7DlQCvSQYQSCwfda{5idZ=e`gHp9g>`ba z53%0CVa@FpDf#nol2r*Gt_PyslhJN#;9GSP=N>}2*Tc`#q~1LrQ=KMwZyoC0qfz{= z@GhOi-z$F$?Y;y4zCHsX559up4?G{K_g}2^UcIL`^**n5tiN)Az2@nDfnrO7Z_~G} z76;P>dP{XQL_(2onjBlY_l z9{ouiKuX|O>n{6Z`Df@yW$-NBlyM)0epCrh(i<=C_hR>I;K{l-Q~701fc&QP{s$_|JM&_I~-@*uM_=n^AU-`wVP<;Dtzi=jbY(dl`y94t|3kfOnsZ z?Ms5+yqEppek0m*8hoIhm^JyYXs==TL7LmS8}=_7K1g#r_scMx{R73&|?*Ws2ZUVju~C;S-fT;QchtsSM;T0Gt$ z^y)bH6WGppte>V2scSoO^T7A$5^aT|-+{_0gnyic1 zJ&W4zh2=b__iPtB$Jo|XC^@#=qh!AH-xakzE1LheBHl(XSBU&o3NdbZ_jYuz==|S`=AIDq zY87Imhe)?I9;Hepn7BU%omP~_(C*T>S)~!%{ZIYr|LN;_535khyBC(?J3sPaCE3}t zqSjZ;@D({WO#v;_OQU;*zIWs+n*X;V-nRIPd@qe19;K*fMd$xkH218S=cO_Gk?sw@ z@)1Re_nq%vQEuHUs{Xg4vu8!R@BAi@l4I|Cl!pJUsO?#i)ikXk< zf6XeF==J*6hFZ(qebAa3Rz8-Ho|51%>z2Y}>Tf$9^I0L_DqUg} z1XD2ph2iy9`k2PsuQ0x4gNyY8Qi`7N3AQ^AzDBcA_wksm7Q+9~XOkZvzR&dSI4YOG zU*PzH^@}izsKol`FdWv{=qJ2MJU+bN*c(ya^$7naPHq~oKFu49MLj%xQ1nVoOrOvY z|2TrSBItY+O&iwt(N`@MFJVu#jZXN!dd0{61{6)q%aJON(<|EU|3VSO!%xz?UGA$; z9(axMUq~nkAM7#c$tV-tfxY&)FR$Qi^zd*v{I#!Fbc(y4_>5K zx)eR(Oq`b$!B5u%|8iULq*~%Uz${&XdQz~-p&ZbqnW;m+rvz1imH{?LknkExuohm^ z$DVPYgig}{@6;Kn`-wORHq-Tp|5NgZu&ZtG3f(_;k3mUw!e{Hj0r%_C0%Bf?)Ns76 zIk|5`{CM~feQ3?SKRQ+;@kk!xv~$^R)bDcqaTYOoAud+XXLwM+Lj4_MZf9j{wh2Nez~qP zx?hE9Yd*X~C!z9SF>4%tyR|=~v0*tz;dx|@_RlK$l_m**Hh4Kr0bBZ!_F(nO;r)WG zfLE~xdA4Qc@F61#>moaNB}TXste@!Z#Linbd{9Og28l`p8H&29!TOWYgzD|e=lrmv z`C;PoI4-mz{C+;6w|kUT*6)ZKcrCJ(_2@NmSU&-!l!W!!K3lW%9v;5;erT^@gqY|R zWovx@EKRw{wlFP*UQp|J)#|a26bPLAQ`^iZuT9#l9O`; z*$*wZ1M6dO3K^)6l-WDoWj4)o9gLbvLXd#>7hCDMhR_wm2=WYa&BppZD4RU2-{4Ku zZuVTiL9QhTa=SM<+v2$%h2p40kQi)D4b~rwR#}hrCv@k!(sS*L;%G&XvhE-Qmn+u; zka}QEq{QyS`Z%or1Y4Pe_4oON&9*34o1s&>fnnIG-llAVXLk|C@jL_>jb>Dc^e->%AV*TUYdpE(en~A7_ zHzEagN%y$3+;?&;CTB?qavJ(p8rDC7B*R!g*0;v4RIUlHBS;>C+@l}yep$!AdX^tN zptoJ*HuGgot4aWS>Z?K?aT)fw4E~`evhIoSO86^!PR4x$+DQ%k0=@U(-i{5chaah5 zpn63cHscj-SQB8SX0Q$m1+lGw3@d$Q_>d{F?1XE3${&XUl~^E<_s@E-k_zlVKGt8U z*PJ|`{a)1u6amt8neA0=`5Wlf^WYcha|Cjm?GeiX2kCB#M_h@zs(~LBW6!w9Vsq=^ zRr=DHC){tf7YU$qH|xJz7ydAYw1U6Vee%^x_h#&A2mIf?ZI=6JoKpqX^^}|^xm=G# zxevx*8wY<;@1wil#%2w_Uo%+u=h0Ww;5X<^wmR+Cj5_UC7*L`w#t9PU;;@trpQh{Q z?$=^!oCp6(*UvrS9iDI@V6Z+l;;`Rqf)YT9Zjip_yMnqcgP*9nb+5y&RKh>e({JwE zQ57}txw>QG{s($`J^V2}{pOy7CeQ?bKp(q)UEWhU-joA@R(M04jdwpA2lx*7cRE>d ze;*|pSRbkC=k)TL+%~?hD{yhPMnC3e&H8un4UEf4h%msqUf1;eDeO-gcrW$hdgb>t zdU+WBhCUzUejJ)s4!l@zoV&k@X;MDCRG$`c4`6?a;0?MKB5E5Gw9S#*iZyCTwSYJD?2BN^a5SU_cnE#58S9V5=+%n#tMn|)8`_W~ z(8oI9{q=D`_xY%&KtrTr*A1{)a$EAo@P6at00*Gtld%2?Y-=ceFo>3}FG!y=+ z9(4AMM!u;M$pPG=D-&-DW;o;n-p~oEAmM$qp(6M|-7j(9A6qmJ{<2O`<-u|kX*qn7 zwZEw*x<5v@D)3c$3g#^(--(j1h0oF_N8QI`kZFM5q937m--w!NhCi#%3dwEUNbPqU zV75Lw;1T~uU+sjyr#INv%6~@Nj@b~Y(tQIq-n|bz9)7l}-2HsC-4u9l{UWd2Hm=o% zr2{tUxhIeK7&a^u{<9u&bw3;xk^}!p8Rg8kSh3BdJ}!Uyb$fB7QU&Uog}x}>s2ldfM{KU@`!(; zr8L9;Gr*p4Uy0MiHuxoa9K!txOw2psak@d)AYY6Pi+MXz;Xyt2di+IhBR8mEasa36VfGD*_yJm4KDLSmSUl6|m{sxAIW~_e@ zgJ~<)|E0IrlwLvx3bF&fNzb^ukLWo-cmF@;ok&G4*0;6YHz415c-~&t{~aGP-cdoP z0A5fFaG0^tyDZ>kJ^3U^I0nbbO!$48!nwDjgmd5vbQvuqKNU@@5MHEv*B<{uT*)bc zpV!w$ZB&IQ>6^bU5f z3H|^ozSSl)4jk|a;D#3Czur&CWy5{UY10zWoet5uUxj%{O&W7iyy5+$onAYUMKextrHM86K zuC})j>-*qjtqAMS)q`#CsRQMs9OuFB#)wsp^*5uwDzW}_eIromC4>>L1|F-4yZdT* zJ$$jAY?epw)O0#S%S%=N`zriBD6bBLe@QPXHOZexc?B9H6?k;O=E#G~F@VLv3#__H z<+Z6v-7X31D|9!>(+yxCNP}roD2_;?+{zuC7cboNjC~TVgnjT9=xxP z-5znHM=S)a(`)A*@mrMKJor+*cJ4kLHC+y0r)QQwkpF=ARq#~ZJ9fVZJ-HTsvL%luj`(fxaKMIsD8Cuo-w9t8YbUvbG0 zO&@^$L>n>{@si+OdNEaQD?ZVNqyh4K+cO@q4P#yyzMH1+@?a6Bq1o`qE%s9#^1i?k zF%P^@-=FwY$)AY=DulnK_TWAPryV8m-E~{heKF#f!KZ36=l&p$X_fF}^=za2o!Gt_ zc%m-KG`r&vRu8{WXYTITp`$gy-_n`8`#7ZE3O`gglHGqry>-C9?QK7}KY&A6pea({ z_vypGpUH2*F*yz%(EVihQ_#_q;OFYuR`Uyq6@gs;_wSNFl#@e+7Pe_QJQ720JPe2@P2ZntBEs)YB` z^HJ^_QE@f!cXjN2TfhJL6FOi6{6c-z{R_pPiUFw^p3ukclH2Mpyk`S$(s{Z^{0<$a z6FyO&jB`H)EiUH$NR8j1JIR~m|H6(X!3#C?yDvqHNQ1ZP`9}9t6kHgdu1}Ig$uCC1 z^=(e^lRb_lO%k zVin+yz3p9xoes5tSvphm6ss`kHNfxJ7eF`5GtfDj;b-aVfbJ8}dE4OY^%APwR&Q3u zoq%KX6PzCLKS(&{gGe1t(3zV1w`c?L@Fex>FXh#!qZIf!&D7;K`^(||=B5L_z@BDe z{gr5?*;t=}!)6}VUxi+okM&t-6oozO?LS`*-#y_B6j2c(?4?J@TD2!PU{B}4i}jIM z_t$X%E{FHhJ4|w0((08CxL!XW=MnQz#I^80^*o9D$Jmnw_&go?J>ijClyEcP96c|% zMG@b?7PZ00>P=O-E%b<;fFm^2d&EK5)tC<>mHvgkBApwY7bVmH-&bS4`)+8A z&G1#KbN73YaRE+So>fRse7o^V9EPtyCV(L~EL>>Z;*Y$Wo!c`b53*q1DE0J4uCk*+NfcMcA zI*&dD=B)i;}e5?Ix0%YoL zs>4QyR={k1^4C+`gdOgHFV`E$?pfI4z{ioA`%2TeZSqTTO)w7rm|jtl+rn+iI0;aw zU+eUUy>OzH2ESi-UgT5m!_hble+Ea%Y^*;6eIp0!2kWbmZOZR13|sl|UFziS`=V-# z;5&3p&iy15{XF;{dV9e=21n;|y6(KWpNjc*75x4f>;Ija=oH=2dPGe$K|fNhzhnEN zVw!B_HeDtt`c9A9?um3-kYXsDO{?LHd$#=$St zrJCO5m$S}FyIc&)E#y>WCIS?N5VYCTXBrdgYT&e z?c3!?Ajd-ZX{u89ndprr@I8mv9C`3jwCytZAy&OzXIM+o0xQA0=~Ug5Z$pjOz`xYJ z)E)9m5WgP&qdK$udC0yA-di7*klT_SDwkG3oJMPhjSd}vM!jDu2+hE8C-7;cZg;~E z>&4lycAc}wgI^zHquQ13jCMWwkOFwfauqh=FpSRW;1BdWJBpWZA}-!$!Y8YO-OtC4 z=D-)|NeK6iD9C*HEKS;ekpF?BPZ7LE6La?_3?=j6GxR#S+*bUc@+t@Huj{G~n;fbD z19c$w6gQ!>*TNsxb+`Y>UqX%z@DY0B$bBM8tQj7RwYz@MfqW#!`40G=>ck%ZaCo3O zQjw?V8?Ww1qQv6h+w>bO?)@+rCc($(a(ain3!OX-K3UJ}%Wcz-Dwr^!Or6*xjzE{n zhX1N}H{1`$j_1Ko*VjValX18xgnvKKhW;pj9XnnEzfPZjbN>i^sti6z-}ZIiiu^0# z)AR_8`{8IxHSi1i+Gh8D7;@_22kEC7ev+4?;G5u!b@J_=3~z;J>zmH*g=knE@L%-h z0QZSFx&=OqRQz{(LBstNlz$vNN+;j$Cm{bMc%?48{VWfoeA3`yeHP07cEk_E&r?@- z-y0LLZ1_^Wso_2m^_K^~M_t{0GCEEnyiMoezi3EaiH2JOzuU5Y(MU8N?Y0bj_--~w z(GzyV=2yZy_5A?%GgyC3*GQvE*Z1}gjrsMuGJP-b$zW(Pvh}|B(j~SfB_oX z1qszS#FxR3(yUA#d>`$p3SMN@zpK40L3!4KpVK(+`S$Bnz6}7=OBkFQLX~W0;r44Te9IQJi4l@N7qqiNRoAj|xtx5PEwHeqH>5eV>C0zFl(fZ=xU+62n z?!D3Mli;7~2N2z-Vz@|ySLiFPJLM%P$}l`nH=Dv5|`o9WRGRMcYa48`0{j;1}yssryYB$LrzqRmbkB zIEiV3U$3dR`(li9t?)Yiu=E&6HjQTZ$UaBXK(x4VdO4BCg2wRvc@iL+Foc3Iq=_g%~Wm+Jz_p! z4}HbUBW7c)DuUk?qevIyj$rtaJtl2TvXYIClX!1Ubr)qT-R!`h}@kv@e zTdV7_`r4?)bCPvC2`#1xT)5}rXT)Q%4XxmVdoA89-ic{l2Y8mAT#AyLmIty(Q`4-$OO0ApApme!;yM`K7~u)BM`~OvKNGzohHmavK?~Qpf>J z)T3$9$@>I1;wnNu{CLZaP9BnQ0FFmR;7@f?M9~v2N2{6#zfHF|+y|hIl*8xi^0#{< z`h69Akseg)B`?C})xs~;^)dIw$iD%8g?p@lZVU(&g>+*a(N8fpd1((mJV#E&ol zbifyCYAv7g844!Q8mZwf9E#$wet#5HJl2oW)sx=J?_Nw3QsC2co6|iS6`2k{Qs3^8 z2m7HZX2LJC#@_0w%fUI|*L3Liry^WpRLoJ)+n0bT@e(HXY;RoLx$@KSLUWp3sDHj`=E5k2}<^dTW-k71Qn{_!2$N;_>I8p3~sz zy0Q|havv9~at{NR4Y2WogyWHMHvD4U$n=OyJYpW8QujOr(QoTA@Ta<>{-CC0o=|^m z;XH(2rr%6(Pe2Kj!`pS`yT7~?1zZK+TV2}yZj6An@Dx3|=H7^*xdDEwKE5co9sRW< z&49V;(jM_yL~Mf}qS^QWc@tVzC;T4$SccqY4^YA}Uq|Y!S#J}0#NW~6;^E8m4Rv|c zGHV%-JY>u=bm0^P+ki1L4eQ_2nO2;5cSdI@}nD%yQdG{rLb3iafH+U^+xwcV9~!}LK_hlLI`fZKF` z(qXm08V=T}uo0+u(ir*wDQ^K1Q2P_!Ig}y8B9;MaO&- zsoJCT;*k5f80O>Qr|EF*z7SQP0^g-!+5Kp=xpeqW&C~|Tqmh3m{24uY>V5`12R^E= z&2mpiXUm6Qt}9{gebKgx;OFT|n0qX?e;&M4?*z(i2u2yq_j$?nfZ~X804j741G3!&w{rLwzrMu>38=?}Xo|&g{M! z1sAh5Qt^{@3DkWA8h%i;&JbFM0yh}ac4IR&Nv7wdlf9dm7zF`}E!)gF= zx+OhC3BQd4aXtJg5-fWDC$pZx#6aT*WK)p6IO&pAxgBL|+Y2MqR;m!LfI;UiVi?hj+&D}rCF+tKdJFrv?c zx9bwN`>lvy4!>6uYxf7yPpaTA>(-Tf6!yOsK3ES%B&t8g>4)=n9-sk9*Q+c)F}YvD zqiC9~i1DbN8&iyg&(ZWc=$cWxUyq&{Xp7Y7;d*Y&{Z@D!U3V>Xh0LZ7RntuZ^w;Ym zZ)xaiLs6u|d+Ffp5m$J`Ouz*?SrR0qsduih3 zJ_>Dk9(;yAcnabJ$c(*RHGW22Jf zO=uj=@YnUGzWY0<$~O49s%rN&XbPS1zx8W`a@&!l4UhRQQpdOTvL8I+qv-YV@IL)* z=rH+Qw1E`(FunQX-Wwa14u7SO&2c{-@iXCH>aijB1lBnGe)Vei8?k*w@K06a2gsj5 zi^>P@1;1`@Tk3usDy9~`pRSj=e~3}10sg#twfnK?3eE6O zbis7EybIn2-#^aIao-yarxX6IPO9Y58v^$D@ZndYZZ8i{-Z%PH-FWoqry%*H z?<3V;yQd9JmOq8fPlLay8yW8JV3HDs|Ey=a<+dW(k0M_l&@cMeXnV$EY{vXBA2G`J zu+1K$Uq~&n2yld6#||lCH4gOi;AiT~fbMtVDVuWmdX3NStI<-b;05~jque%n#bveAV9@D=zoH+CcHb8svprHr z-|H7>JOam`?a+O|9KuMv2Gl zh*ae|{feCXap=wQ@Ig8vyHCIzDg{1SKQ88eJ?1d!@cH_5&cX5yG^I@Vp1Ks|eg@`H zIq>iF^-uRtS+VeE;_Mmscd`9N@CEvUj{DW9*m>|yJ+yy_d<81D93GA zQkDDH7%%eSll4`4_p9JV@NIf{Om3S}ll#Ta18lVx<(04!t-c(bp@&IEDc!Fy98|$S zRIR(OL%y}}e0_JpJqxAQ0Dn}!Fy=lDy`mXDU2km2#{@83w82}^8q)rI{M5SEfc>p_ z(Z{RTAFA|IQ2K!%BDLC2$7uHvsI_=_i>{8jPel2ozz1l6cRvrF4u47qarc)n>SV%K zX^xgA{~Jff9Qa@A_3m|OmHF^!WMr>T1X!k{@1yffN1d-4yUc*@}) z=wJ=c@G`xj>0XTZY4C&fT!P&C9qK>$2l&wH z#%Q~;G010whw2KMr`w8r^Wcj$$R8%3hvr@g|5}H2_heLO3H&N`bGfZJOyyY)_)%wH zhiOPbH>?7muX^@){SH^WT0nGv>wmaloI?X3R;OEnguyr~YKHIG&t|!QkA~j{pQ=-8 z_mvp#JK>+{BB*-}hWnU~NDW@7vo80I$Uh$5pf|F{$}7=;QsDJ^q~Coh4oB(mV>NSg zUxslv6aJK*2JLpl&w*d9lP`JnbNXe6qjm4?2R;3HgwlHu`%{AOn{;#f2vra|Vj1`$ z9lbqz5;|HXe5;-+a(@k*TLbS1*k<=f(D3TvXAH3ZM|wRUsd{b#9H9A{AmItLxK{YB z`b|*xV{ww#0pF~9kM4(I#{xe_>hWH^J2J>0Ci0Av0H5n6YmfL7DmV?kR6ih-t^!We zOnH+o=02uZ?DTiSUg$b`2!E1ZSxDDSysI%}6v1EB{LJG=p@ina57zI-xEEtb%HcV> z7J8KDk0GN9zENk>?u*bNYT-BO@ostWIpp5}pKR4fX=Hg672FI?>t~x4JvyiZLQw6k zqp$TpTGC8(WdoLPn z*sdI>%aSqw(uJ*5#LGs!pEWZ7OX=Q?eDmO=2iQ68GjTvHg!dU@cexM7ewDy~*Uc;U zX_&B-!O!h$Ke*?kJy*id&qR2acGn z@McZJ-A7|W(g8nL&lF^+9h|RI>fve!n|j-L{hhE0`NjVnX$MLAp-1<=xYV2ie@f4i z$ZcGP`e!=e63w?g;tSZ2O!zT+Ufcb4%*=A&kLm%?@$y^@Ecx(V`bvg-4&oQVKhxLt z-9N#O&4d4~=gHh(V}FGor#sK?=OBI+e1%@uI7T}@^%(7VEg+z~RDy&62AT$VFCByB z(URc?hw!`UE3@v=>}l}j>Zudt zU!s6Z;K%5h0l6)lpbaSlY}Xq?f+@?;aw_5XVZ^V&`a%pDwOId)zDTO{f^T9f(EzWv z#A7vb*5F9p4DPQV^g342??5@U!H>3LMGyAFM4}UXuvI(%437CVQe7jg#rb)R`tjh; zEOw%}1EX{b_zBB!z5z`w9elhMOiVsBYO7UvsAo|TISBQhH9Akjh?Eb$+Pa(%L2VR) z1D1MR@{p+8ZPIbclcV0YQvDS?2HRVOz|UHp^J1h`3!Z1~&Ua&MZU7fs;w15LXmHKo z{VmJ69o5_hj6Z3d)Vv_1pdj26)Ly^X$5|d z6nN08Gm|F=qi~!}0>5RkCn)ycI83L3FSQKk67=azaHkbGufee+2Rz;?oY$kQ3c+Vu zqjMCRN(p#(>vDb)?XV0y)KaI2S7V-83I5P>ogYJO)_@xpVKe_@2kMyLxcW2#!%9#-IsZ>(afk~|9ATY|vXTch((H0CmJlXW?Ng?g$4FR;`s z@gNjs4Y=BJo!>!4)Pw)FQs-QhbQ5@r)j7X_0ihNAmbE)yj6+V~k4Q=Pv&56cH=`)y zz}qd$`AqbUB=7}R+#MUmk_Jw)YUgZhc^Le>wK(s@mS=;vTkOf=EX2+O53>yCU5H%> zo@50lt6p2I!b5$J{VPML->uR40#+P&iFG-zMl-DeCtGT^cqaOOJ@{$M&DJJlTd9XC zLk+Yd)E`#oT#EhZ0FSnI=aVt~1pbWF-|dz-O&rD+#(^KTEawRr8I!=DS+VoS=pt$0 zW31ZwbsX)(;O*Apd^dJK8@$G1PZ2+iE|mv9!!n!?N9-bSnH4x+hhywK@S|4Y+=%@y z2amDFQ&jXCKNTwBTNGX`LPhHtr&Bc_y8z=%13bfWPt`y&!md4414#k4v;(1*TAe~A z{Dtlt_$yLFUAjEunOuP;7zfX`#M88?{VnS>?NAyvB@Ll=vts8y=xJf_D^~4^)LV;( zIuK1Q51~{e)5W)-M-_qZw2bLWWPlY+Pd+#57HjmtN26=hBJhpY<$Msvv<9%|a;J-* zLj5#@2U)K3$!zrCeXP{^LhNl|XQW6+TAlN$nB>HPU$A!PxyU;S{HZ0Lq1|k;tTPnq zJhY84Lj7sQ&c9;PkPV({)y|nLY48o!;`|c&T_L!`Vspfah+P6c-!gKvg~e9jp}J5= zl?at?70xR$#jOQ@YK_k4qYN9s3D)I#{Krzy)Zz%sJyU^?MOJ~XNP(}mQs-%yro@3i zusY|*(bJQ_W31izBs9A;@Lra9mUs$UQYQEX%X0n(hoBsA(2AW4(K++M)mH6%B1*al ze6qDT=b;glfiJh%v&ETcXqDh|EW^1BJ5~d}(+ZqV#irGRFSiQkLKJEf_(f|JM_p!H z&-SS=YNivRS}b*j5~;)f#rz$qI86ba$6{282j^R<^XnY{!LzN-xeKL}2|mo)ofFW= zbHKwaF;`9NEX&H(ejH>M>961pY{@(Xo@Uhw6`YLLS`Kct7U!GL)~mo(7JH7k16xuH zKEyJd*CFu+@E=y-ycreI4F1h3oTJeI+raJC==>SlNGEukbva**`it2Wsh~YA^<43V z;COJYXAK6t5RIiG?} zD*}(PV&^l#W#H4S+IceeyAr(FTAW`&q1J%!x7hQvC?#Mb+j}k>{Zwv()p&Utltj6zE~!+TSeKxi=C| z15dM3=OT2XF!*n)bKafDEbvBa7wa0%?ic9#%K4UcLGty%e`C$*^R%*FP`MMVnZAxphTyd0fA2|UAc z#rgs9YcJBk@+pq?VT3xz>O9nJ`&gl(jV<7?`Ygrd7$E&c@CEz2h*!ezW zRR+G#s-0s{CY9j%*5X`%-Khb;Zn2kW3y-#pOSHXPY`Xpm{)KkZiolDl!UJoL=8Lzj zOL2l1Vg?!)9Vy2CCibSS)nCC?7@lenN7K>El;lb@l6r8fWjOBxZURSH!DZU3Bhkq_z<*fd zW!jSctxJhS)!X39_19@ONsFN2IFZ&XQc(L_sfXHSb(bs7^Y*a^{stW+4}qVv#F+~9 zyN#WxU7cgaGu4~^M9MV?oMo{E+Lt~U4eP;YTSkF0{>2J>kz*AeIEj0Pz~ijZc@xIQ zz;2P92w0c%8nod!aH^%w63@n{o&=s_xz1Oi6{LYbx6)bK!v0q0q1Iy)vJq;zwTq*I zw)+(dyv4?95j+z`Q-Z*Kt=L1IV%1kDj+%@IJ{E_p8U)^Av4zU`IBZ@$xR+%(C!orj zz$2`{IS#Q~!IxM?p|<20YxGb}D8Rt(k@CICx;)ffmU^YO_Y#|QrMCBUbc-|uUT>ue z67E2!ueQ~RR_4j8atKtlIe^qmb2Q4U2E2#G z&K0jfY1f0VwG8Kb(dV1McUZw(^^+Ocv<~nU*66V(<7^<%H&Sv(Ti0Bb&UcntqENfz zB1IBH&9hwR1~lF@@KaXm`~hZjVX$tsI9Fjz%LZ%SE{+;zyWgw|T7vy3M5rvwx>@DI)&^hbD$63ZLD#LOsxJ4Cl zC-Ue(sD;+(q1IWKr*$rBGj7jFeayGiTh$LoS?R3`bsIWI7@>w)-K|Qi#o9g8$!N5B z2z9b0-ll@hwXwIUV27b@OAzW?D^{rB8EBkk;7_djHqHEk*phni9Lu;}UG8VQ{dVPX zJ@*}tHC!ZU92raM@q5iTKg$hmp*MOTWcAj_`j(zpuODx0rA>2l2 z0)K1;&IuSBTEQP$g>wvQrvt3ZFV4A$9f*yT-0#-qd^zTmao}?;b-oJeRLh;OQW$5~ z`d_cxWAjzaPg=WH2A@Vl%tKTiA@3CLgAP>)PO~iM6ELilfD5eH`CAlO8TeYO7HbBw z_D*fk4Ey!Yju*`&uae9R-pE-qUgy zD#v%M)I;5fQVk>2CaZJa1DlWyKFHdgGcZle1CO)BQt?3;&I`d6mQ|`2`#kb416NtK z$6gDr1W&gX=gl0cz)LLlE^#AjtsbmNi1Ukx-2@(K1!5hUZ@){0)NU{OVux+jBG^*{ zJ(qpr21M#ZHwo`nl7_yM1YTvi&Q0hXY2bIQ)cF)N!Z3KM)j7`qXM-=dcIVM3={&G* zJ(Y8NDJ97b(gH>k>yt53zj~C65Z;hV4#5us1Dtk!opzUAstI^oxDGNZZ%T67N-I z#afmxa;^AYWi$gVvuxjV$kU=H*DQj_l3az9DtfS$5;?r=It{(iXWjMcy8gByY zOu_kMS$$-U3Z?sBTTKVP(=bdY?G-7xZ!EW5 zY5j?Ik_Ilc(sB(|7o#e(!Pi*3$G#B_ArJhAB|ab?i5XiVxSwS?Z^KYk0>00Ro$o?* zm4W|l)y_*W&R2pDuokf%d-?SNmGo4WG(sI=84oIvxhS0`@M0?vNAm~YD3KpfNo8O)y(Q`#=U8lo(i&?S6$<ZA#QhgpG#O0WvYTw z%UY(t3hkn0+R7_!@iMjT?TA`~sI?YbsZf_&My28$Vbk?ja06=UViSFFqVRSXw#U_I0M zsQ6HD68H+sb-oy7p9XHQQs*l%PK3c5tnN`&V1l)KsLkjuc?eZ!iI0g-!TuM554J4l z7<88s@N6r7OnI19D^%2;wpM=y&qHgjLEupq`?x}tTj+6hkZkN#D?(jt6^|>)Ypqd% zgHK}u7Z?&L*b}YG`8JMs;2cYRLRmdylb%oqz0^weS1<`Vh7tHut9wE@wpqK!>9pOe zv=jGX;3`DmcP*<*X)Qy0C;`7|#p0-ZTkMH!;c)<=rdf+8@*{Sx27I)|J}FKF*MncQ z4Ce~m>}&!rwF2i-)Iuw`&?=ngVFx4jJ<-8nu$AKTV)TgxjN7|&P zk|*29r}Slsa{VtjA2X0J!dF_I!Ur!vZrR}J*6zF$vGc&+S>n^Wy8b@)w9sx=49j^s zd0g-bY-AatO|fc43qA?11P`&6r!_7<1+E8wY#A%Gi#OZ!6{_LOFllZ@sJE>`p@P?= z6?K5`utw)+(eVTSoXhwy_N;X|KaEX@1Fx{uYVG96Y87vGb#ij>DGZHi2)M76Dq!#d zbnY>|BFgDFaWkYH?IQ zTlAL2a9)Wm>;S)GjpBso zz=4EFhxk*U9e6f*R8*^_)+m)|Y+@3E{l{{hKgBqj2JUO6&R1fP4uki#x*FBQP1f$A zUc#p2AylpAX6aPB~=9pF8z(K!j-J+N=2CUigE`CwcQ zjRSvXsn3gB(dClB2U)K32IQRv-e9H9t5F_d@JUwZTnEkutK!578JOSZf&c1lLtoG& zBL&-52!GA8UQp_{c&=rw zQiok;#UAQUj67us)z7M(Pr!~X&K_EJ8XKbTE$wF zZ7V|kZWW%$a%^D-_+x8yUWeF$#7NEj%etJ$pVrs&Kn?IiHW%ap1L~KM(I%}{D|#1+q#@LMR;p0Jewe3)!J1%;ZQ*Kl zqHL_+WbK~#<+gjB5`Q0w7b4UY%c@i2SD*oufIqNe=U-9uW#GA1Espxz*4F7v;0%j> zO)av;GG0@hkI{RZ5Jzt(IcH;NXa#>{6`sgSYxGbh2o=~rQn0a`z7 zTCq6zD6V*wA(T$eop(dqtpwj@EzX;ecMbRxi(Mmb0oQ}KS%&jwa1;1TD{%e+_0$SJ z$ST%o2M)1D4|OgE!a!1_BJQ;==Mr!nc#5UIA$}OWD+#>Oa-Dae{?foLR_eSBBVZV; zd4coasK0FRRBLy>4n>~_KHd`F6mLQ46oP9l%lS}r-4gJ_RxH*9`NeOlaje4tS&2|z zS&Ks1rZ?3%YOwwri+xM$`@N<0^;lnR8CoA4gkiJ^{H+y;qpq{t-%_SK5UK;A&bLNS zYYeOhFP%?8d4$0iS)Dkl#6DiD zac>8%Tp2RA1XM z#wH<@9{O!iA_rhM)4&t0)Ojy7#4xzc>YO*>(3%bY!P=eoKnKhNXIkP0mClX^l};hn zKVw;1uh*h4+Mq2z04=Qyp?TH;3K_%+fh1pi`L&TSadO2B1S?3~R42cKxw;)Hc* zZM>s<^&0rs7Tc)Q_d`Y1gPScwY*RO?sGG1p!wMR;|L0kS$L@nY>p-YY z*64gBwk?nxsfmlN%lS8Ss5r2mJ$+Yv3of@NfjceN`67&IY2Yud)cIZH9R`oKI_DSB z!?MBStlfD6iX{)6WQp&Izr>hU2>#i!od3j*m4I)wV&^hcNf~&jRXdMB_pJmsSc~&I zTyCfV|7EdFsgV zp$IJJ);9wG}Hyfc&uy*HS3;4#+HtR48(Vn0);Z_vW(5$avbaK41~1ny@A&g*duXax_q3g?BG zqji95tJkIKz zN1_2{gZ1XP^X;6jfUmd2FT_7!ASwi(WLeJbtXJ@RRxD14$Cj6YcMh^=zR-Lm2(N_i zWi6iiF4Rd4c$vj+690yi<9hH2%WzIW;!WVkt-yH$noBGAd8=?f6|p6CYVSSOMwy3GjvfLKMPDJ8q2=#9(bv_v#HVmF`bcK^){0O&t-|?pbbt9KYu&NG@RMnT(9O>_8GY*>ata!|tbnhgzxgzp&+D@Jy?7J|0`14X&|vaqLi>gXY;Zt+JFY zdVy)QjoqSgJr+}_62u;8#aq0h6*RUC>kqPOtq-n1c~pWgv=-;_*rOV--eCMnH)u04 z+ie2tf%mTzdmrp@D>%a{obSM4q64g#JDnfFSQR)VQdKF|CAOVkd9T9yOD*+lMSB6q zrX=tqmg~F^2B|b~yOlamMeHzmt<^bKp_H@1vDWT<4%$Z^_+U%?Mmz(BT?jtZvYcyC z*d^dKR_r_&$E-5&e5)46K7fIs(gtdkwSAL3PLEQDwyJ%kqGdNB_9!dZs-QEssx(`% z{tK&6G@Us&ii3Sn(SebXy13lB#8D^N;BR$lS4I4-{+evpeybeQ5GRZ{1y-j}!B&)2 zHu!F9cTU6h=7Ae6ahta5R?FI^P~W1@lpvIzGI!3y0jmtGAFFg8jXWyBKU<6QVc;6@ z!4}&lUWdf%!MYXRrY-!J6)2RAYx9ByKV=mj`$lYe2l#Aj^w>XGmoM(M)bCWHy=~HW zD$%Xz5oxKBS}3wog$h1_4GM#EtLR_u%4tlC4({$8Of5$b+x(fZ&Nw1pb*@fN#XoWX-P_D{fb@ z9b(lUY6&`8B|;r&EzXNjJT>4+7W;$tf5Nh;7cYu>=>Cr6J)=gf>erEcUG4$jm*_(S zWxGP(n=enzEKN+>7LLlC|7BZV=dN9u3o`oHqgkOtqdv2beDS31c9Ir1*x|l7!7lVg z(C+iaclMSqUbbI+G2fC;*5XV%%@-r=HZ7w6sI(VP4vmW1VBh%K2W;W#|iK=nG}&3uWjFW#|iKc#0Ov&=<;3i|9Wp?8Q@hGW4~|@Ki07 zp)Zu7FO;D#l%X$_;b~eZLtiLEUnoOgC_`T;LtiMv=~^g5UnoN@qW^f%UYy>Op|4ej zr)!}MeW46}p$vVY41J*t&(J~{`a&7{LK*r(8TvvQ`a&7zXrT;!p$xT%{=@9WoX}`J zoVP6}6xL%4DQAX8L>*wKoEf@8kGQ;XX6Uq-`)^g1md0+kp=X5-jOqOO82{@8o9ch< zRoZQb*^U0!;j_B`T4YuJ*W=f9|J7li_+Pbmb^mp;?RIu3HEOwyIXiSG*y8k?Wc3MDfD0BYX6KZ$qze%Gvv@KYn_EehTr+k^WzLj+LcSoPI>V>mI z$x*%fm4>a~Go#~I{XE0}eC(RAWj#AO-e%r9W=PaSHszeqchSL1ZNhr}=*dkt926Yz zZJv@Z9s67NBKADH^4!p-;WIDnURlt+h^^ORYU%EmT$C1g#n1QK!pnEklv^E|i3#mwyxd*yuP_T+`g?YbG=3E$DZi2c#FToBqcWaqivE4#WEvDw-Z<@S4? zeRN@{GpY9GaMbq1s;F!C%3QGfLznB1IQ`@8>-CS``p0*+?#{|ap?S*@+PerW%wX{(;f4=sq=Z`B!|$Cqt$n|JNHz5beWGv{w>J9U*; z#Mnn{+GUDRx@y*Cp;^&Uan>?3bWhZrRaX>*j);nxajNGy_*|==6^fsm)$`XeT1=h4 zt1ab&UAw009(AqPW$D->dUV)7+V>yr?9u&uwAVkn-{U=T(^V;oyJwGXJ*6k*zaQ(- zq8|NStF;vw>;K`rmH%Yi!(aCBlmF;X6+PP7qw9Kff!%yXXrGv8d;Ti0W%_GwdCy-b z{}VI){eRNc!Al!;bC3GMcQ@f5?d;Jjd-Q^TbZ1jf+;kn$75A(jo%xTRbbI$Gy8asP z7uO`GXU^X;we&bUyfE}!pV!X!svf)R>Q(|hDHyZHc9br zt&hu`e_V3P)CH-R+U(NMpZZ?R^>>994SarLM6=bY-dUA!cj)e@sLNJ8RTip`iasT5 zt6vO_i8_AOvPEjwF=rpzoyFyrexLTL)XusuG-+Vs_(&p2Qx}BBTFrf-cD)m^baCj~ zflrS6|GH*X^8KNAqV)Jihp7mWV^?Av2;HsXQMgs2dv><54i2fo<4WM|DgUK7}^6l)^ABDKH=#9`Cb3`4ljbzvB@@G zzVCql`HX-3l^)-DkX^YX6g;!-p#SEa@=t(yJptYd{TBvw!!=hc)i?eZ`cDlk8UWAH z%KnY%|7`r$o|PwPD-`@NjnT}dSepm%p&tMH{` zud~UO>fKwf{QtdsZI4c{xs~dVd)Z1~d~IL*;zb+0T#J9(WM7U=t|Z&M zT>be28}P8!K57$ualKvbiz)V)FNWEt533)<*dGt8cPCo;BcbBx-s5b2NoY*;Lnqo_ zC80H|`aPz~j{fc_+j>jr$X-P!gzZ0jr%bfx9uKY6#o3}KLMPjin?rG{K7ArIv3Jbd zL%VnIAUoh$_3RNg$rl4H-xt@}f@jswM-1{x8hg53R-^LFwL5Fn&(Awl@zBqMwy{S2 ze2lGM8Co>xO)s{8)cg5O8DX2*D`o#x3!V$jii%2D_2={I?i%}EeKB-cuiuUe+m91c zhOgTDrO?c%m_7S-=eMuTTcw@Nu%}k3)2F6HQuI#0_5ND*dHo7|t@`}S2mXJ&a@932 ztItQbB-@V`8q@2_!^3vn)5$zaAde{nt1&@g;WY()Yf$%JUB}r8uPNw(N!@>*Y}W~6;`?_0 z^{_qaLB|Z~{_B?$?L!Z`n^!?;?Bx4j4;?t_h=aTTcp%%`^#7m3ZO`=fiaFeaf37<1 z_0XNsQ75hXa!u&isOUq2Hf&uet=Byx!}i((X$P*F{bndHDmp33TGxaUR&~Cm7NrNq zlGcSr_qumPPZ+y#of=fEh1ZA1MNPNj^`YqlHtpYCb3^|)R1GHf3)`|jwBN9Ele$-4 z-MxriqlG42R}A|Ftm)aAo~fs+YpSan45$DYf%Jub zbS=9^H7VpgUY}c7F8|cGl>ps308VZu&A8y{uTlLa{rwMjcZrkS-8c`WyWRgqcQwx6 zgXwXSXE`b5if0#<=0Ihoqg}6|qh92G9UYCN9@jm?TYW7p`V{m=bTk)ILL2T(2P2z; z;1(<5#d>&8qR;eLK_qWcZY)zk!!Au9YY!8HQ-bCuXVd zh>V&xHzPBMd+7Tsb-oQlbj#n-5FL_Ry=lR1m<}~1G2Ed47`BjS3SbO%W(cJ@3>D}o zLndW1oTMtLfTh%)VE|2M@TWrzF7zVR(?gw;E)}`sSwW>XsDuep#YkQ6!o$!wK@-oX z!6O|gMcwx-qQW(2KY)|rC8a#@>`+*n@IpLH8S;4!GgFSj8B{cu;a6Jy97dq)Gwp3K zB_2ZepG)6gvv-kuQ{1B{t#|`N<3$N?U}#!r+OEQe<`y}>^~_Y~-k|SqJx95uW;izY zmS((TQ75r$GygDDlXiUY)Tqj|!|C}S6#>s6@JGdBI`yAtfb+b6Wxby* zDD-}tif2LZO&;S8F|K=PY!>uxN`(~b`|h%x-iLVzy+5bhSHIR7&QC#WQRz+&tKaX1tbR>;RxnkW?%9Y!ay>_@n$nS6&vmLb zQp8s#f&WGEWJLQl`l|TmzQr(=au}Xdg#!B9+LgzJg3i*H0{SZO;K~=&d%MKlvuS`m z%sJG(p#F<$BXusMUtF@(U0W-YAS0b}L-g)ag~EDFJaeVFT0N++|F%p8^{;6(rK!HU zw7G~LGtUG`+%Ja87SnsMM_Wwa)FtYc?TSo@a9UVQp9!aYl1?A#;&juo^|4f-xE_4) zx-R&jg6ym}s@#tx*%6`JWrYa8AIE?A>oT5Nx#(dD;$%iNOaG==0vA0j!71D$#&rwj zxaeUCjzWSZ*k{LxOwA8VP*M*|@ZILs@(0HuxfPb6q+VD823P_HSb|ajSONxE0tQ$D z23P_HSc1|3SONxE0tQ$D23Ug9dRT%zRK!)k2GhZISACS`wV6kaNu@G+ zy-L&m?;m!7qRQ&|+oOIteOv5zHJc$(N-3vj>#$oqAgqH2r~vE00PDa2>)-)ml-nQ_ z1?x~1#DI0E3SwM1Xj26f1JqohGaMu+B#m%q|7G^`!or-lh`NKMR=`||% zcH8Vou_-|z#fOy&DZJ^Q8X(2IB{C__UKFH&nW(AngMGI~*3`GGXj+Rq!agjvW5clL zI5E~2_Ms-&5dOrG4Zd_aUm5cYuq_JINR0ie!aL@BlO!ajK8DC`3R>;nVr0|V>> z1MGtj0QP|a_Q3})3--ZBzZTzX#@hNgHVd`&Rn_>Y$@7KMVFv0#+aF0=4^U8wsK-k8 zUm%_X)*uLKhBaV-HDG`>2xeE=+eR(daV%fA&4PK*)jgI-e4A(cbwSBz0=1pRd+*U8uNg z-#X|K(%U&Tm=-OsRa3oiHMQ@oH%L*P^l<7rlXBMQa6YTdZ}M5F$ZXdc1Fysg^0@Bl zMMER>#j#d4AwnNs;=z2OZ1;f-y8HAnLSNCX_X2S+Qh@Fh0G`=M$)yXFT($LJ(bz_S zZUX>~Erwu7i72GUwr{llyr+k>x2rz7fO_9Txr04=atCWpP&$~}i#s@Zl+wXNRI3j< zShK&}!B&0I!7qiem{#1InpuhgOs?vhtuprjyIqJwVm|LdyfmE3#j%-$-!2|S7obPqT z1>tkLEfz+_K*tAQrdc`+ii~j`M#h1dX~y+uwfZ*1srjL;#67~c)TLPiVOzHBaI`Ja za;u8|9tdl2o!&ESqH2Qxkrd9*oMthUqj-i4%3weR{$RjjYRk}%rZUu{0}Mqdjo~qs z8G^BUUh*5Fuc*?D8KgKJ-K4og^>8}63{aeo`XJKe`<@7o4cDK6MLY5v%*-v)j?k}D z-IunHU~BU#Ts&EGQjdjw2_;VkZ)(A?oQ8~rwFzx0-uP&0IS$q)iUyCv6yx0;zq4~d z{b=_%Sf38GZM=SQsU=-)tvto71{Yc_F;tO;Okn53U%E4qXBwZ*@=T*~8yQU3mcv)f zn#A6RrLnkU01cdi2gP^x6ihgIoov_S8KodSngXL`p?{~s`p;O+B|jt3I@dK|`k)ZqY}EZDiOA7)MQ6c2moYT_IDD7) zQr2ix5KIV^TXv1LQBnP%qi&bP#Z@bE|XhbXzwY!^(XY0 z;Q*C74ZvStWavy|7)-PSpw7*sd#9nb%cMJlqZ=uhVHAyIXil3L%A-yR@SX~v#S2Oy z(^+UIlFpySIImYinI;enILFgOIh`_1w9qTxrjIY^N8{!Z7op-cw4GrX&_jI$lymZ-zLWM}?q#fQI8}ZG=dadieiOVH&C-)sLRv%PAvw)> zEu`GdwBwQ9ij}BjKIi-gar6)scnsIwT?`5cx%!bf08oR3+4-h+txa%!x=`(hSe}5k&$1j6kuqRpdW033+w<|3Bn~CY{ zZx+@n{-)n6KC4Q$d=`JrWau+BSMCN;$bGN!)cu@iN!tAyUS}CP`WkNW+Ao4Bk8UvN z)=-s9xWyj1;-Iep-E;u_N^hxsCOe(FWYJh$fUY+HjoRB7?ZPd7TvBm5-@eh8(rBuF zSGr&M19vRpgVOyGUuong`15Q2H&X z6ZQV8Z&}F?*MJrH3FqY7#i(+^E`B;g=fCQ!lM#4H3ND7f@vV4KHioKXsYEHm zB9&9dU*aygduc~$gFB}Di=_=sT_VrhuEP${8FF_uWa68nxSJu;MRm@xwY{{|%>V}o zr@1`T`yd-*X<0*n3a|KTIYR}HaTo205%#x2jGb``F_NfQd4rF0tL-u|WQjX|O^6#;W7l%X3kWzd68$@EZRfxe0X)8@D&nHSg21;QlM7d_rBA$f8p3@x*Xpu=@EC%Eb9JXnMX|aPESPfqg zf2`*PRvb8JYh_j-tmFk&sCG(&YZ@>^c8F6*F;nX44N_=VFBJFKML9lrKtzvggAVOkF_Bghxq-S-Q6PI@hPH0r|cnx)Zs!K)c8C+F?ttBWw-_Kew zA5#8T_lDh&^1r&5EQZ8}WbO(4hYd*_b*~S;e4QinrEZeoOLJOVAAC9ZC;Gu_09rrr zW#v*xvA(@U2W4E^QH^UYYE=`PP4)ci%UISX=`QP z9NiQ|*1qN{Qdlbk9IUQVLTjeawB?F}Rd;<5#RbB_y4ltM2P^D%amQ}dqCK7(ae($< zQES$SorC2`C)$HWVf0rAuqYMEwr`D->U3llz16t^mf>Ndt5x`Z3tRF!&61SRrW zl)V5_K8r$W-p_c@-n9E?kY)D}nJmvY3bJI=o1a0Jev@#!7}rdS=nS%i3g67v8K>rx zCHA-=OCgdvgDjB=j${d!Td&dE&QR}0@`wQZK^+;IQZz#uk{DjnONOIVp$h){_yer(TNf-I4i)t1r&t#(9u8yc zlG{<-1Iq)y;R*3s{~Pn7kL@aKU9fmK!hq$04)lG50gH#d9GkH`Fj5fX7kSF*O*8&5 zM5!;Ok!F;kt7z);~x7N3dhOeAkEA4XsMc#Lz;_Vk(AK!9|WkD{ZN0Ma*I{L|TTTzi0IxAFEhgPnEivF%HtLSq#p`s#m zcMViDqn=QaFV$ZQ6%DE>9dwQKa1Zp02FLOFc=db$}&Q zo1s6pGX~TnVsN4h40kD)0ad;00n?}_Lnm6qV4za~^%oENv>tl9MurV|6Gtd?1I!;L zy$vvbQjjuLBC5BMr^=NLl&R7f79=m1tF{<;xqR#vsIDNLXNZ!@ZendxzSiA+JV#!XTJC2fSkg6@ za-G(v3|KZfpb4UePPMF>R+b>@?QYRi(rLpP%~^F2c@(c@EwSVaU)Xn(09|qE^cjP* z$}KHV9DOc8=ZBl)29KmyXAP1@)7VwMq^h)Z?IQQ_cm>g&pFWB{;!FLKp|VGCMRBmB z0Nn-vF449UhN;K`8{tcBP8yzSj_Q@}243dw9xbhOx4VbZ-MD|z-Q=7=xx1U*iH;o* zpsOq$yu#i6_@6lXNq{aiOLX_0bmyw!UsaiV1?_B2+q^(|I{1tJzHSI`UicQj#4K=8 zFHFo`Dssc{v$m5OD&p0Rfj10|EBSq4_WAyVQ}azsR3l+xKE0vyHw^f?4|23IP32~M z-QR$bz}Njv0KV=S@O96CuX_f3-810p{uTgV_YC;DXTaAzK%M=XvTnh+;OjmaNAY!^ zj6sL5`()Uda4LJ-5T~h7Hi+)!AnzhJ#n4lw&T*wTsrZ<`PuuU{a}AN}yKGBZW{4+2 zABuO0$n{g`7Ln^`m<|xReg@-#$aR_lk!vR@Bh4U3 zu3zwcfXMYro)2PD#BUL~&Oi?lxz50RfH+GA%m5daHp{;=w_0G^&d-EBdD#mpgrN6_3 z5PwfR$-CKxNMuYHb1)Oc(pUyp>3j|=@#1CifQDsNjmY0!))fD`EE|Y_ zM=y&pB6;_u&;gQnRYsA#t1=>a_bh&6HyI##S7j8*yK3WNms6*0tvngvlTKsAbdRjv z0!GXNeUbu2C|dm~o!*5Qt4pN|8!-tKJu2>mv|X)Hr0r^rNZb9}b}gO+(v~|JMcS^D z5ox=Lj*Up$En-9<`aU%*W~{9l`7}^u?Mf?)8B3_#s~@rB#Bb*nPBeR{aN;tZ*BO1B z7ao*3aWUg72j(z>iyJY5&*4rnuKj6XaU(`BcM2mIr`kqvVR-}}p!3Cz7{MAxQZ$vD zF@lR5#Rx6|zzAl*2xh3!na zFs3Vk0~pf`7}Egtr_EHXvJqo?v(OaAbY*Y?W4a1BvEzhI8T@&KFL_Sd6d{J8+K}*B+E^F~UY{fE4RHWw{+6@?PS6k>qbR!bYUkb%@8E zky~LStWY3q1OsdY18jsB05*aFHi7{*0-(-YN)NoCdDw^=I0_rV02{#o8^Hh@Q3LM^ zHlhaTfPhI&(Bb=jnGTxOe+SagKtqzG^EM)0`*@$s3Zz^O^D!pC{u^sE8)z)UN9lZR zCdI|Y;sKH59{@HW$)5p9{tQU+4`4enODGCXm7@em{UpxbtF(3jS>GFDfche@Yf8L=i+a&@4*CN;dR@n=*7tfQokMuU{u z&bVH!`R$KDu|fq?bfTj%Q?m}TZSCn^Cu4D>Vq|nOhL;$=SZIFV5C+{aY8!5>==NSd zSa69r*bxAiP$f+bH)8ST{xI>22Lg27!$o5XKn@wi?ffdIWL4>G#M)DlWlA^ObTwjC zsp|~6W9o)W<^EpoX6&WX?2S~;3hlvX{We$Wep6ci3%dXJK>O|=>xu3crb|81{rU3X zxY|qfG?r@iLib%}iynFk(ER~G_dTTEy}0{%eMI9o0lM~mMPm*??*6rPO839_He&4w z6>NQt6+Bc>lPzQ%GhZ=jPhu34=0UIf!lVuT1=og?x^= zP>#reazubSs~dgz6_yRBX$D&FGrh+ zE8rt`BD#!^*onq)PBV;xIl@QlBxAG+AE}d!$g==WF=A;bZTU1~g{n!N?bSBDzoNE2 z;}x}i?t#BTYV>xl*ihEn&trt%2GFEw#y;Ac9q?@Inxs$Tsi>uR(ka1q>dRX!)CYHU zI!{IO9o2V6ZpBnI9WNYH5d)?o224dW0GNsxFcmRiDgvnU0_njFc`Ay=QA|Y)n2H!M z6)|8cik7FMXsE9>t(b|a=tZ#2U7f|A$%VilbC5J_j#1=Hjhzc6R-&>oP-0VQU<@nK z93UQT7M)xSwauY4hLNOQ0!Svy5-4#_O`(FrRAecX2ybC2CZP>J_??}zI*x`eg;E#O zfMsw@G~TvWo`mjp38Z4_)+&-^IXfofrB%dp(MB(2F8Wzou#)GZAx3el31nQ2C&WU+ zYRpB$EVhgBTm-|g8rmO1^Z&$T^x5RtdQB?5h9{#+MtL&2)-I6T-dn3le(Q`#wu@>9 z{pW}Ew^ed#LGdh1V6#wB5oH;aaJx2OJ9x`JJbrFmyL;tP^V`kJr zKVn=jQ~eEK%phDC1HKkc&39(^j1r8|6Kw!vmW^;^Or+e3h}Q<_7!j|H07SeP5bBZk*P16pJ ztnrjvH&B%mQ2X!Ho}n>KXKn@l1ODJ8gAeUxC;)E)aGOe<1ni`y z3{z>$Nxa2@wDP2Jtvb(@{7xAsY7Cw-Yt*?GDdUte9c5+JWWH!pOyaw^5w$;S9F4bs z{wx@Bi^`reB0bNU2Au=wtQ_=m zqn%el7$gr|1z{eSv8js*lS;*|8NaAMyeI8-<06;F{5ln@#Ec1$c3x-3+>!imGGm^U zlo_KrTrQBjb*5@kr(~XGE@g;&-KF!ljUMVeWvjkW`dc}Z`#bG{(%%s(xxZ`P2v_!=a#p!_ zeAcXNrTa){c#rPCy=CA1c^}Yyq)~l9_m5|Z&iwSR=stq8AJF}fkK$ms0No}4dWbZt z|G4{JS4CqD0lKLGG#an{=)Ov)bpJ}0ah1yb52!jna#tt=0$ZkKpqQB0s?(fLnAomd z!ZqQ-I%$N7Do>X_8N;AbHi9+>3HcZr(@{T4d zT5d)4K{l)kst*`YeUJk{^#KE_4;WB=z<|-mfa-(K08}3^p!$FT)dviyK43ug!55e) zR3CgXA};+FN)jcHNKMLRALv?I1G(b0KJCfFR2E4CzriMbq$3QGlJ>i>Md!pL!4?%V z30uSfTf_icRLBHdbX2@;*rLKFVT%fzkS%@}zq50JV2iXS*rEi|I++%g+LdZ+7Pjbl z1KNEZt2dXNOz?qVl8TyOl3FHX6VgMd(>yHI)R{1eT{7TEnq&CZsjI{7az*He9J- zN+3f;lQX@jU~0(qaTQIxv^Tb*2{Tpso#Gj>kVFe&iGY6U5<=ZY6d5x?586??AK04db>SJKpyCLa~# zS|(4Gdj{F@VbURm5B>Q+%!leU$QyikyHMtX>Ac{BKkf1c9}aH9Jvd~i^#LDN@*R;9 zg;Vp5!~Lf?pZBR4-~&FKdFaT8EpjVTqI{s&4-4qJ5A=$ZsM=5{Qlc1;62*X&C+07!{qKuQz?Qlc1;5>*H93Mo;(;De5i_<|1$mMb;_@$mH{bI^-cWc+rkel_(&@lGNp7sCd1Bo;sKFb83OeqwUPm;l?+I&3;`LOrV2$N zwXzY&fYi!HChw9j=h#%iWca+BG8>shYGq@vA#Ap-nb`pQ)dXx%e~FSRG&3Q!^3@EP z4w~d`4alVwij(TJFbze9sDM73mDL$z)3tzj$zmfDfy%_4;ynM@fb$1_T819D9MLncT3PC<@~ zRH3aYoQq-GnotZo2{%OH(eHMw7s_7@NU<*^JXk7Yo4 zY){Z(WnZBol*jf29gyzW3$|gLoxYh4D3|R8+kj&E-loN+?#{F+h}n=43(FOPsD6b$ zJaM3kwlABA@zWI(fpXgZY$7If7q>z=?EpL=%+LUEq3Qo<8=lkvZ~=Al1HpxBlWn(R zrl8z*5Od*Ulx!kUc00rrg||Cxh^dpdZWKQ*Lbwlxn6L}V=Kz*aeLED=PT8?NK>jQp z>m$xYFq@^iql7e^mb0WCCZvDpG)oCngk+)*Ed4W9NVCX&7^Gk1-#w!?ETs<@ZH;Im zOBdxcm(Wg@`i&QDX_Uf}+dv`Jr9#6YMf@V9*;I$6!Gna9N_|+GDEHGs3x}J$R1@j= za8q@4kud4ma1)%=Mw1kGZvIFU!mK|<(a84*v+DjZ^-^itj#nDzj55L3dofD!^^jQ; zY0A`0Zg21FeI0Eojv!poF{bbmZAJ(+EevHqocOmfriyOY7E}ESyM_q%*nKDF7u_9HsQS$_x`c)M`WR?98{Wik%7UtJs+)lp4);rU9-A4>kUe zA9iLYCZQ&6q0<;wSJXLT5;8Ss4WrJ{-rOwsVQyx!xrzB7b0fEMog)kc*Es^X&Jnd0jE^9(^uX|p)UkiH$z`(!yNT>Ms7uLbu->Df~yP&t}-CFx&?sXDg%P6 z3<$0Q)Oi)@!4@bH>wH^r6v0&n1XmdlTxCFTbt~Qk*7>$VU#P6uhUsB)BV~F(F2Hu4 z9(p%aoQAPY8z>uj?S#`1MaEsMIvUGxUpl{wHF&YSctEW49e~cT&c^`L$bfae1JIzU zgir(4`3^#Z$k989St8XJzq9+kz&hVSXcU`y9fHpgP{-EFvjqH^!>nQC14ukQ+^MCw z44-@(DEoLNz-7=D)rwnTx$h{R6aL9j%o1B_*e=HNK-%(SAOQC9I)+KY+sm;L%YBJF zNrYQuhhZe{#QS({TlqJLaRd7~<$r1pcU6e7r-DL^i4=bV#8{`2iIG}g5aSi)o&YiW zmByW7Tw^IB3B(931}WCp8K>rZld+uyF_1Hz1Y$(Cb0kK%+=`s(B&ZTO(bGbeT_U3?W3KqUqPDlr&PiE$N# zh<|V4;1?<}u7MC(_P7Q@_+{gFc7#AB#&r+^l^8eRHmv?=Yh^+dt=NF>q1sK#y}@n+ z3NmgnFZ@3Q$lseN$hgfWVD&3;D->j;-~r*Gq=FCy-`Ot4gg^u%6^uYZ#vL$X(HqBB z6lB~1BQW^(-80ozLA=Kw7DwSBW?1_-|-%q9)JoppW*(n>4Pc=Dj>)A z0jQAm3AbRIe*OWdkjghij_*^8jS7|O2`V7R_aUfIu(l%=(&~y<_K@StfE-^2 z8L37CT&4w{Yrf&|6xq8t@3imcwr*U6Q5f~xYzrejq7M;@#q#C(!jouCA zuIl`#J4+wl3W;cLuE|UNu`I>snmo0i(#6pZ^c+W3`>6C+oSN{TIH;pWUvY20KtyP(-1^-!DPO3ivApCqMf_^j`b<+CsvY85nRYHFSg zunStYDr6QrjubLu$B{=uUkwu&ba{{HL?JVF9C<8`E)$@83V>6E9Y+e8;ZzMfCK`te z&?N!TI4}{zLgeg+eEuT4f(x`}xPl!Ll%5?g$~}8^P3iyDCvyJ-b=?18bWrTj7hjyu zdU0LpKguMW(f_uRegCa4=s!__i#fbRx+@Z!doOVK3awuoqwJI0UBBzT+~nzOWZ=W??TF zU@sV8FBo7i$^c+57+^0LU@rjb4?F2y8MCk#WpNbtf&un|0rsM-S=fuRX3j4hTh1J% zX?`q#M6eRu8k9FTE2m>sLrx_Mxjd;nhAbPW~AbK;_Yxm-Jc5??Tiry?Niov|tMe~=fmFEsv7^7LX zFeWo5jg33yNkijyIzZVR#bSmtVOcJ21&iZ_2ZY7(GGo1#yQtiX=MGpPFSD>fHOyGA z-Rjs1i&WDLZ=%u`io1uX6l8C+r>gjbL_6glrddAbCeD8^kahm~tk5}X4Sb;U8RT6X zIv=zO7siq+&dGNd_B;_<#gc1n=zQ4&N1aE?typrc4J~2GwGIGFt_)amWx$dv1D0GF zu;j{sC0AbnmRuRIkl=1N@W9B&EsRl!yvb!5fqEu3I^m>Fd(<05!9SIS-gAXRy2m1kz3Ii zYJR`b_I5e4fLx0vP&0BZnwqhz!3J9^tJwmz$^`{Y&2SNrg3+9{{b7ybB5aj{L(Q02 zj*b<#LJ~$xJQKW;mQZuzYTLzF%}B}!gPM_)(F$q~Wo_7z0LdAxSk1#$2sLXwHU!Yw zctn|AwlS;9)Lv|->|ZA;BYn;Cb{Obwf0va$XNOSwDhg|74%e2B#`R-dBWZg(bK{Di z@e}CH~c2c8kSKTL(&L-(FZj=C=>w@#(t_E2628p%+NHUZQhM^JKm=0u~IR~Vj=sv|(6+6;54KSOT}f4rv_6yFi!y(vX>!g$Y~BQrpAcU1tr z{ug`OTn;y5xjl83GVG765W~JP{odIeiR7d7&fvo>X?6tjp~!IYfGEQ32?n4DvljqG zm<%Yw>;*my>LZkdBFx_419B&NgAeVaY-(UWpa`=!_<$nJJ{a}~CfHh;4=_c2dDx@+ zvL6$n!&qh5*G1>$>dRkw*oSo!w?g&hKs+aWl!4$wrO~#FF&_|87zjR~`f?EXuw#^C zE2=LCGaoMhF7qL7dVr|D+}33%_%H;Io9{UWbyfJ#pGFJ=As%*;2~lpIAcUEY4g(=J z55Nt0W7e|6L5Mj$A;tQ(!>Rek;PN&>2yB8f9E3Qu$&nDthu4t{Iz@Jo0DhCGBQuXOL){M0Z$v z)>udnNE-v`o7{#n-WW5deD=dZr|aCYSlzd4v?Rvtscj;Qzt9Oj=QzFLA8LDxb1GBC zd623G2l;@~I&x|0BSP$Q`1V)GkS6G^qiTu-HG;2*%{M5U?iQh0&Wx+xcpS!zC^QPmC* zMLINo863G#Y0fe;YIEFc$hQ)p8wJ2sD@c2nncbX`jY_^i8vM0EL?dlQX%GD38 zLYGUl64z<(DY{&o{#tFW?6FWjxLJVi0{|Ca-x?!R6d5J;r%H>>Pf<*D?N9D~>3a6p z-``%jez&#gy|+o}eam&|{Wz)1I_`bD>hfI$=r#jzgD`3Gdh>CWM;T}nSvjB86M3J# zl~%=;7_o_j_zJy3zic%7IDe^vYrvhX(^(i5MrEa$mFU|G zr{)`#`@ajLg5|AEFe+z;I~tWOax0d%HnEdfnXYew#lZ5`W>^I*Z!utbivi193|QV` z!15LYmbbP5u)M{9U9Q!b8lA)JzlDyRgTg){Tgr^Ef&Vu)fxd_VUxA9S z&cuKiFau)1SD~<#AIuyuLJasS6ox3yH5h(V9)4%%^kbdr8Vo?HYfA!KOsZh3NhmpJR#PZQegi-ezaYT?LT73 zDNr-knNnf@r)D{}Vx8#@>_49K>Roef-sSb4*`)G#Tf%;^Z11RH*(&JVzbTeTh8 za7b>&e#{S`KQ$#WU_WLC?8p2Nfc=;mupcu6_G4zie#{KmkNFV*`!O?MKV}B($IO8J zm>*%v&Us8l9-G%74Q2adH~>{%`^#T|$ZLGU4uI;FznrdudYESzy~F%3pskMP+V|JZLI6qo^zwszX`mR{)C27*JHkfTA)66qPZcs4NeFqA~^)l`){G z44}?FO<8%cA1Dj`hNBy(^EbRL6qS90%|==1ckp1=ErkatD*Mhn7<5DCfjTFX-l#0` zh$L-STiU`V%gx2b`dfTFTu7Ex5Dvn(#v_?)eknUMR~UnwdpZox+)ipok@K!_)&6hfe=%*6si z#OxEdLQz>Mizq59WohcNC&_j(CIpJgN?AlvS!oMWC{H-HqKK@t1$^jnT;{|36n{~F zO6AH}BCxa4?`16AR3qr$G8Vmd;m`POtZpTJWvS#%A#EgcS&J72Z$w!fbUP*v_Mw?9 ztv?{7lXQ@!l6QsVMo(Dken&`y$+;Y)pg18Nr=W6{>gu`crGDisDE@xB&tG=d!Ykli zs>@y`Z+DBAI^+iRa<>@hpNf|3#u*pHOYqvnpnC;L{u34<_d(9-=i0TH9{f{@XxFd2 zF?`_Ai{j)d0(AcZ;I~YqLX|CVH1#hiH*>Cnn_=Owmb;|}a;bZ|TQW62ZS$9%xCtJX z;;I(XTn`J}peh^1<=h46{s7=|<)wX9EpybG2^)TN-qX@Xr4G5EbXsr8Zj@Wz%TrDIo*(@;@yiO_AYK+ffSDg)&5sAL z$PZu<53oXh00Fu`0P+J^Ess=Kty@&X;_G~R3C@A-|8`M~_7ap_!_rkdV=FYqw!eN& z3zF~Gvi^K);ne&=zvns5kM%_)sHO#xpeMB*qJNQcD7M80*MJYmTu#Zi8bh zvd>!ZSYNYFjCIaNYiX&eLa?+`81$?fBkMWfFQMmFv@*=nS$ld8F2Y3?IbqQAj;W9^ z$B(wtbLIu1XUy@fpyyj>9QAxiZp9qm3W~xU&wx3e0dst70OoiG%<&AE;~6l=GhmKy z1Hc^5fH|H4b36m)_%;^I@qb7~+FB|g8FjvGc5i2aRlhdRHoJGQBp`{Xen-}9*FVHl zU^TESbcxkK2CN1$U^TESG#fuayl$)pc7tXSf9nR#zMN)zp=`ym8rU70#cE&=Xf}-B zjiPtfEE1b~ux7Cg*poH;DoQcmSO)CP=6iK7aStp5_JK;_K=y@74^6OLg;k1Wz`jr^ zmI3=gr6J=TTe0rfk5$@#tZcqjbMVCXkYw*P0HeH!Z$D+?{)apULdA8u$|@edNT_%+ z{W=gsIcq2`8snNs=LbT?srU_4yuOQ_iYx6AD#pU!AgH+D4o4NI?G~*F%>^7A*N8S$Gm_?NVcLiMw=uGRT+L zm@+0?I)Ta!r$9|8RG4asRv{U9ss;6N!08sfs>s~oiXIlxvl-CC$Us>SyG98;93xY- zr88E+r$$>^RxH;-DBw{8I|cMuC|)s2Qlg=Nrt=&X;3>DFBxNRE8A?(ZP?Exck`xA% zq%fc)WflM>DGVq{VL(X=14>dDP?9nmfRYpjl%&kY`$tL2Y`lNC$8#*$xhF(1sJZ=x zK~0kO%*A7BRt76xR7zi()WOn(I?RJT-6Nf!$LhK0C!PyQ8B3uMBxNulDT4t?8B3ua zQw{NMk(99v>cQg1GK{)7U;NI_o+2q@8ActFGL~c1m8xTFL3j>h{-C z?CGaY{z_8DYPP3E4dPZv%J>t{htKUlG5Dft*e=F{FKzi6C>2Q=YcTelyc`>ml(Ck_ zo|i=)dn4QWD}P*VJzS?4`mi3ZQ*~;y0sf8lsvo;fD86QCG2bRu7fw4_+HDfjK}uoi zuX;i%MTIs(8e2<9zf&ESO8N`w8uejmUVS0eqJ-gtU}eY{Cy-&}crmuc0{TPn%gP-$Y2Uh?+op)>KH3mT$J`YrLs0gxVooROPsp zZ$@8cr(My>Dp#q~W_I8vG*o<&rd!zuYTrWkfsSp150o1uG!R&pLH7lc>;tv$fUEtl z<2Er^oV-wg?g0Rf%Djg7jqri?M94mnwz7P`!#lwrb)-dhftFL-U2uV%D=IF~kliqj z5z_eG>;ly+Bd%OafNnYfS2j!Q_plFls{W7u@8b(%a~9!%whvOCBaWY=j{F?O<>!E; zJV%TF-*foN&mlnf0Km^tH~%@>$j>ptRe6qscx_l^YS;S|YW zplty4=R$PnC`|t)DtZh@*H9qC@AMl(6WYK~hHfytqJoKlB&wH)@w#2=l4!wZZ>Tmq z&ND$-x_kmN!5*5O#Gh-3AOWH!<4HC=gA0f!I7ibiz|>rzEevsVp23YWE?90mUC1$U zEay`WUAkzgtj^1!jEk0rFqhU#Fg4f7@Q-Dq3LlIAuxUwE!g8tYRh|)cy%#?| zO6k|oHEbht-4c!kj9%AaJ9bf<8<-GWq?XY5F5u6yNo)Og6Pt3KD9; zG@ZiJw7;WT(gH;*rs)*CNKDfVn5G#pO*3GcP6c3^X23MffN2__{(wzxQsrs-4vu1) zX23MffNA;;o*mQl9WhOey^CpL-50<7_4a%0k4??-lcOz|xF0}W{Ym=}dP&TfLhLVG&2hSZ&x z__*%&+SbYw#Oi|n${!%4?Cut$ICzG{mxhZaih4#02GR#G9F+rT+ zE-JU;2?7i4Z=q$R`n6$`<{j@8~;^VUCvP^;(1q2Clp3|Ew3pP1@gnMvpSj0!LAT$LM683Oz{@{#t7kWm* z-bb(?vZ5mk!sS*Z?0tmZkg)d&fP_5;Be6aNXcs4wg*B>g9IL8Hy`qrJwOjj8Ha zI14>!#aB=wQcC~Il<0avJRdyu0#@OvGr&`4fTv!-3Qs*z=n0;BL96i83tEx4_tK^b z#Zxb26`p!w>tdJHFKn%fr(W19d+JVBaKZnX%mvL%{HM1!YCmQawZdmueOTNI4tp`H zaM*QLEGpSxFt9#jx-+Uat$Zx4dYkT^wl$GngHUQNB{Y5uRS!-bppkonh5f#>OFRln-K#?FD0OE*sXGHo-K&BGe(Qy1 zQ0iU{BtWTqHERf5%wyG{bd_P`6s)&QGO&HLP4;{G^7plh$nqcT2Z|f@)gz+J;SqWTK%g zy*ehO%e0Cm>pmgXqVp`xUoWI3^a+wv{WU`RbcZ}^S+PUnG9h-M4z+Ma(OjB&1pND@zgLZDMhADNBQsM4K<2 zWNGLDAdUFn$MCw5X)^^>Oh;^mhp z9w%OCySWTH9qp}at?afyKDbGM?mYlr$~t;l*ZM}2yG*%YW<9>(js5ZkHMN$S*u`y4)5-1cVyx*Y)Yxt%n=sr8!5-Fu6j z0jNGlF#s706$3DhhBSu($Q+MLz(FwV7X|>ew#}`5wVPw1y%^VMD%%1EU`{ma(zhK> z&7T@BU&i^dzR1UD0RwR8f};UgCbuFVqXmX6@-Y~Yj}Zz$J_ZBwF&L1K0Z`|TrF)?; z4#>x7iKEEJU_d?w1M)E#kdMKDe2g#*FXUr{!2m?l`7mpgrspQbLBP^SD=Qp?kPV81 zfP9QLR<6&8XbVHol(sWOOF3;}51dww7EhKvggSP%A}wPGjRtaBMrT+Aq-Au5Mff~e zyk(?iL_pVAEQ!Fh5WgJ1wDS~@mJtC9fwYV+*2SeN@YqvYd0GeqFaKPLDzKwnt?(3( zozb0VhlE9nr-1B?U)X}&?JI7D?2Ml12C_4HVp@n^V7nMk3&_ss1&f00jNX_QT;@Br zB0HluPYb^D;PjC5fGXG)X&{cGewYFE!vpckur1O+utG;I27wi2 zrYRmnMzo*&Cpi)aTj4Q$o~(Eb=coJ03%7lSS|j1QrVIr+){t=+;IcG!7|$8yyNKsR z@OBh9f#59zg13}f zR%Qr-w_|xuLGX4QQ{(p$isR61l%Ep3oxqMmw`Ss22;N5FaS^^7A*aD^EbV|>@s23Q>0rpXmXNUB08Y)f8;OerL$KYzbTDMgd`E^v z%dOaMU^;Y)?FJaI-M|b0wi{r;b^{F9Zh!&X4KQH4foK4>8(_e80}R-1fC1YLFkriZ znRsL8$!{hIvWHS;f*|-)5At^figstQ*%;SfF&i+1b6_^Gz2#hR0o7d$QIa->DKR%d zJQ%`*i$MZ}2N@6^WI%XuF(~n}rqC0@gG)dOga?;^67Rd(G{KZWxNxZz;ldiEU1nWW zsv|Sa&T0g7#rKEUbYK}<4TKMgsqrCPu^NaYu4Jom$tdoHIN~Z8u{<&OG*5u~qdO&U5LTe@MjS<&Cj-(v8Ib15fHY4Aqo7>Ynj-v&BVqWaqb zhosrtnH5DUiw8uS=U(stX`cH4Nb_Vsn&&>SVo*t;DWrMEffY#ei~}pW)Uv69S%Eaq zI2a0~dG3dyI9kKj%7y|F>jP{kkmh-i+0fOZ7>c@neoC6>VKx+DMa8X<=6M9qiSOGZ zFch99+r^j@Nb@`bP9V)Q9-N3XIJP3qGl4mA%TqQKakc$KnkRKRW{p5BbN?~;u4_x- zN3ptIR6G%G-|U3?EOnsQq$qIHZbhLh3~Aj$6GDS(tPjPGrkmY4dUGT(#aA&PmQSLKXRK#nJ{F#}HozQo`K&d( z#5{NL=KlR`WUn)Zyw6!Hx|INJ!QN^DbRz+9wW>&c&sn>v%H-zqslHzY=-PfYa^t73 z(yjB>i3QYQ#pRCmuBvow_hr$s3QEU}SFBxBn!e~KcN;q~7NA=Mz)gdt#@Ep!w+in?k17h#{RTjzn{@Do^|Y#pHMhPT zBnqHux2(R-H(ujp_<*|VV)Ry~bGOi=rR0%pZCP<#Hfz+kA#2H}3Zv$Y&8DPX2V8j`C$0h)bcnSbUoB>9h0Y;nwMw|ggJXJR0sTj4F zDJ2!7c7R%$<-581$;sKR@A51k`jgF;--9g=mj>SFacX`ko(Q|jU(AlOBJ7e&g@p zn%JrLik*J*stWz0g7-h@H?6Xxe$U9QsNnq%DnSJ=11fkKP{Er8Km{)YDtH-C!3$95 zU8V84#XTc_BP|LcH})C+L#e3*p%ll%e*j z<+3ux_GZ}zBV4QT65-kcUW-fRCfizBw-qw#(?9=Msz@0Hyf85%id)DFDqeL%Q8B`~ zS}&-0SG>3x!nsafBAi>qtEo%>YqpEAiV>47;w8enMZF?j-d}NSMYy-97i_TWzx4Q> z)koukN9V9Feb#w>FH#5B65;ovq%Ps*>)i2xtm)WS*&NPUOU+Aob0HG;(4YkQ2**oY=}<$cf!7RDqn>DqbQd zwu+Z`$)uyUm(5!Le1$Trc!?ZYcdx}R)p#nl6EczW^9E`N%f<*uO}dM}YYtB2xa585uribpc70g6X5tr3bZcfhd~$+bpSd|;eV zJSW?ly{fBJyD8q{_5axV?tmzg=Iz^E&_!KA1x3Y#BBo8VEMOKR=7fr3&N=6tFd-_Q z*yeQR?43BqGoqNond6x;V8$GNPgT#c@V(zZJk(TAr>d^5?yl*r$2>zqoJ+)uq%vj%&ONqg*s`l3*$A8~1F0Zz&I~}{ z903C72oN|&fWSEd1kPCi2%IB8;2Z%0=K%Uozl#qRC%Kgshpl@8Y~2%J>%Kf>S$isXFShP0 zK$dWADwz2z+X@)5*s8B+=C5okK~%ISU)e0bvJImVS$aIbimmu+s1df}tC{&L+iDO5 zw%)6o`77HRW*o4@tqJb_Q`n9s%6}14 zbHxl$9+Q_c^{%wo6K)PL4wWQ6w+%O&ag^m<8*j84%V{!+sziMdOtljIYa_{4v8=Wk z_eS?ukJUC`(dmw=i|U$j+s97vww}49;nb>7xusRDzWJl)kcHeXbs&Lhun2EpE|~kH ze3)esKa2#x3CN_5ZeXsiM_BsdM#$#tGA)~2jm?Sr!9&G>i`W@^)z}=U+pp$sV)oSK zo;QH=j%P3>1CY&ZwR}_aSiSBKb#F7O)qatq1+v??K+CRE3)HIFY<^R8=L$rK?vbd~ zRr&BagDG?lXZJ)biG&Est20_sZpFm?R>FD*+KDWk%uDq@`iKpk%%ctCrfK#OJJFrV zK6aR*O^66S?rO%@M`~y{GK{U-abs}k(HFx9;YkEI^dP{YM_&x4Jx#d-ap=(xg9+hD z{mckA9*y_XxjG0>>W{&N@T38l4sVTgacMftIyO|htY835hlo-dMAPBOVcK+vD5W7Z z_!igWqHyRj6oU^@O2c3kYf$f}TZrNaVi+_5QA)#M6)z6T$i<<@aI%W21LSn58-j-O zp~on5L0uM8Pfg&(gncvwUaY1Rc-t{7@P1deqeeP` zn-;RbalA1G0#BWnQQ%h=Fc-%gV<00OZvgb~tBcEHVDoUiF&0m8yg`8D4FVi*5a4)& z0LL2yINlfs!0`qFjyDK!yfF@)gX4{Hu$4H49*_C3auZG7IOmu^@-EUy%3D9Jx9Iz& zOm(qp5~jn7s_$fy`pBx>B7A=u13BaSQv!T{N`UWAV<7b#!7K`Ve>xLV$428!NWE-L zS7+07i0@BhA$5FzIt#Pm;_5CgNgdZ_%pwzu4^QWixXXoUli}Jnq1q+jb1@kj_gT3p ze1G~o8U_XX9a49%?8=PhLVSNZ4^qeXr}2<_T*ZuBe195GQcu9Q?r?(WvT#9WVx-8w z5K=BzQc8JndzLaBs)ZQVAIc*W+I>h`2r1uifWjeniF8sfFq-9vL+(Y8vitCiQhq#& zxj5ur1i9dln*fL01UTd-z#;cy01mkcaL7%7LvDcnU2*YdG4uhkXiM-Ehuj1>PYz-_B9R_`#tb^Y05G)Rxo?QwPB4@?iCo;v8r(;33x^THwODp z>mgF?KM`R6i2(ag>mlH0dAZlI|Fi)D#{Sa=2>4b{iY&>m;mHLrWyx4B8o?~fn_zBJ29fM0rxop?oLEDDdJhxSj5Xk&0QGC z-i44CU1+&}7df`MLBX-jnoh(O+p!Sg*sA2%Mr9PSyX3;LRUs5?FcHA91?W?=h^wk} zY^NN6l5VbU zWmmR@NI5QD*%L6?F?tu9L>mI1e2}*`bEuuiagp4+8%qQxQEWM{Vb{S6E0r8F=dV6ycFH!i4*&Ns@g+6%87}$1NAw^6V*f#Q!I{1ot zmR`RqpLlcAoKG!y9d3=G(8myAd;~{-xZ3B2c>)4^)Ymu7Rdt5aDUzX|nM?G&VGa}% zZkrG2vWv=h%oU&+qwkoTdEW8h@mS~~$;@8K(?Z8H@{lto7G-ZW+xRb%8|Bain9Uz->(N{KQ*E4F# z%$uA;EQ9G^09rEj)_*N&pGRv+|L5j;x+38>L(+Y(G?6GTj1zlS&7trT0WZypm*Xlj zg$LQk#CB+`==Kr|><`J%7drMxdP!5wzob3R6<1J{2U=Ed`lsXqCD{&Ps!5@#CLp67 zdR&6Jm}*jBIWW}_V5%X&R6~HN<`n=_4FRSa0!%dk{kwm}n^$tGd5x!-Y6vjZ5MZi# zO;e4y@tPOd!{5LT^}8FA7Ekq->`>#|A=>>V-$TT>CRkw4eQ!>Laf$q3rmxr5f1r8i z`9*FS)@I*fj<7Z(z}k!eYqRe#PPLD7uVZcY1I7t!vmcmuPSShn+({g3{E%z4pKvTn zUvP2BHer|N7q8tCZdx$woH`>-k|8%nz{UB2Mb!^_3;c@G2e~9H<=ia1lykGx$Ps_a zl^4xDh^lh4@Y2rRG9*WllNq@PqsnB#+*9L(=y1`j7~-JL&F!U%iV;T3w<5l`(yPRu z$eC552!zdhF4sl8heh!^x?8HmkJle*&n3IK=3!}x<&`~)1^1d9MTz*D1!>ZBVM|t) zHoj)bV!_uenKSCb5Xr^YELkl4HA_|izGfl7*DM71nuP#gvk>5G76N?Dk_~{bSqSho z3jw}n0qDObh>zJU{56XSeTAQrFj?r5=CiP` zna_f|Ew;Kuq4}EmE$nOhS#Y<-W*3)K0=}l7Mf#crNhg|Y(55L|a#Gj=Ph{UpE(1|~=UeRlvD>u#A^oLTw*(?gB*svxe7tUo-Qi`*GNTn!pDugdP z5zhjk6#pJeuN3)^Gb_b_6=_Q09tfpqx>zbj>?KwTY{Ugxun|X%W`8Bn0)K@HhQG2X zoo-Zoh4isb_$wu#8v)O488&I$B^Ulm2?!Vd3IY5TfIfAhxLN`-#=R#c@f7|F0sIvL z_$vhPR|w#*lmftCA%MR^0Dq+vbOZiMDd+~SuP6=OSbkKq6Yy8cSYRh69M+U#w=i3v z6wxBt0&Td0Z?{+}rddfTvIuS&PQrqr1~>@|0pKKz04HG~P>LQgEHIpeg+eK?`yC3U z__E6-3Q`K3goQ#Wa1vJ5g7C`(7nhV`UqXoXtMlb7Sa#w-tUT$)*BzQ}VEU;@x>0vB z7lo6s%4i@=Qe_y5#BHw3NGEU-Rv9{hldvk#iS*h@T%3f3kxmTR%sQb1UCmNh=UHNQ zdTlr*I#st+_j))+%DzAX%ibc?>X7~FIVh06e)6pW*-xJa3L!N}nr0WyUSQcHq^1UB zpKvCl?BgXDAvHB1Eriq%Af%=y03kI52&o}JNDV;$ZIrlO6AFQlnp${@kQxGn)DR$~ zh5#Wo1PG}KN7o>vCLFR)5J};X{nNFY>=9B^n`D1-wUoU+e6_ec!BSm3sB1|?D9!qM zmQ@I)8Nn_3)K@f(uppGCuNVrXP?`ux9icQ4kouQCEDD6uG=tO;O4AHd4_o9C1xX#D zG|eD&gwiyJDfnZ7i%U|+4JR$g6d;DCC5gLgyf!@?pBEyEEG=GCtsX_w!>z7d6hdiQ zqZ(M@wuaPAzq>LcxgxNo4Wy1xnzoSo!nllFgwnJnsUMgvEkW4q5DujgC)-;hVUztk zSR#yV2jHbx(-JYZgQd99s}NJT?}Vral6OwrBr1Y5Al8J#{*Ittjbv(;2qr4D8&j`D zXQFb>WU8u|+tFgi%z6k9EqABz!{;;q*SRdchBPOgb9uA5>fOoW=4MzjDTHsmGc1}G zB2PsJb+a7S8^R}R&&Ni~=VEqGOQQaBYf*(g{@H=$j1QazUU`BDru07eF+)>TV$bE+GM2LISvi1aJun;1UwRC0qo6OGp5hkN_?r zK>syRd|V`5!o}znxP*&&+D~2#K{srmnSL1CC1m>T^<2K-GDvuhI(#`vIA0*Q1+j5! zAydT05g;~h9RRU$>mcC~`MLKI8@C=3Mr_=ANVs-YSO1d9M{L}BNEoqk8!*vts^a33 zgiqH95q`4+3aRBc(nOCCxlJVKIu$iR<7YOukf5WyxhTZOZ9|iwOxqx6pYpEENYIFl z+Xg`+Hf}ovy|QdZE@I<$kf0Moq{%;AAw-Lf`^$p;WwVba?=oV*PRRR_Ny@um4VJf6 z?Ai%=uP%&C>Ea>Z1e)r7L1C&#(lmLWZO`(?RG&aoed~IpE_6JV+b=)YwZw|B{@Ud2;P^#qve2{6?YV5%p;RKFXYgQ_AuA9D~@g*PjTnH!kYxZ4x`Kv`K{6SBVzK$>}fR;*!{LrOj~~*tpUriR9g+pf=NY z4G7V$v^hmH{ish|6t1*6gO)+V&Oq!1{9Kul*m2f#24csRHfJIB4f!&1afi)068l+S zDfat?LioCLwd4gDIP_%Wi;%Y4TNDHN<@HDA_ANe{R?sKxzBx!Q=fINnj);7(;34_r5@tMn@|hn_6hn#X?hYBpnjVPN zlq6VOqKEZva*`SIUt7$9cg_FnO1h|wc!+X#8)gng;=qkD&mV!mvKj(*o8B9k2$glqkD6iZVGzilN%R}8u zRrkwMQ)h_%ug-m6bDiUtTN4e*$F(Xa{LPsqGMH@YDxDQo&U}QQ8W~Jc02HBDll0ar zx-6M51`T50EscSl0T%9hxFyDNO7}vGIqWIdC}Av>28IKltj{VdLeC^ zDUJ2wF$NdO-3k{eTgEZgOmg8Oxm(#q$^?LmL;x3w04@>%TqFXxNSOg}kqF=-5x_+v zfQv)`7s&{Ki)6I2i)6IY6>dfk>kb_@Dm<+IdV}#%u#6Y=&t@Hh6|L67jjt5-BbY7O{3P&iji6Qb3gOhd@Sb;s#Yg z(lmh_c#rgSJTcWD0$KCgnqdngT5=H_=#M@`a3BGK1B(I>97urRKmr5@5+FE`0KtL9 z00<5wKyV-df&&Q<97u3qNv*@)U>P-r*zOY6z4%?I z?j=borIvCd5D#dB91sskfOtSV0P%o!NM(8)cP8Qi6-Wi~fQl7|%Ja2bdPEQ?lPN2IJ3r{f!3 zxzIF*c)+p{AmRbbS#dhPE+ZEKfaR^2#!}aa9EGh41q4>KmW6p04JuhHdHtLuB^tVq zB?_&oWbKS&XkBG%9lwRMkQeSpM4B{F-nq)6#QlhsAk0| zkGqqtxGZ9^l&E3U=3p5+WUg+-PUXUdnqVW<*cw(GqSYDCZNcSQ^&!IzB9Q=>YXS5h z2a9YCthiijFn2dD*J=Qf;#2E}5b2KDt_~#!1($0zgh>AswHjIH=FCN1qzRlv`fZu| zqLFnLU#r!GWcud}O{Tb3D}rPi(}xSewOY;58t6@P$aKs!S2iS5T&vX_GK~>^TR^5B zQ!{dLtyT+?sX3ZuYIqwT%-3qEd0SaCQ>09hD2TRnH!0dK%UHBSMZYKv)<+|d7dfKW zqcB)c4giHfhpy=)Y}(5bMxaA$NH{eiqlB;QVJ-q4T0wt-R6+-AT#T1(us5q(%vd+&;Y|3{ zLSNo7=M$|@1mqN5Cs?y1Ja5PZYctPBUAS9|S0*q$6gMVV{c?AM7DJgwF_=yQ;9Lw- zvra_+C6NGWZ+hbe%it!Vybv;{gslj-TdcJQZPR+FD&pj-PpT;nl zZU9i1sp_|xRMAes%H>zKL=NULe8_hV;i{}{_UIC3} zI@}gysC!zt`Uu!wj)9B&Gzbu|O@M&y0LtebnA*NTi{pK^^szY zuE%1a&YV6pd@UEQpm4jh1>aXRof1f9Q( zi%WvWhSfn5G)@N&lc4vO&;*SyY>$$lZ~Y7)yMbeYV<;c9!Z8Rsy0|MB5;Tql5+P_D z3mk`_b3kGLQ#In^Sl~Db+F4ZE=&-#gXNA;lZ#l{v{92Tk`I0AgOeJ78@X;kp16^V05@_G;6|<+kZ#Fm z-1E4R>n5a&(CeF6+297Qn~)}M;JSsC&8S?#qPGFRvK(`p=3896b%$0qA3cM$`?mh2 zX*TNv&ItEy-A6SM|8yTKo5%AXKw`LG>j4%vxKHaL7B+;BX$V%xtchfh*!Tn@*>p>a zpMDWB}Hh1XyblV691jwI%`9n$G}OYZ73sNr1H`0oIxXSZh89V6FKaZN+x{bBN@M zFuuSLe0>YCjpOm-(^z!AAoF_hhEonc?8B#E@I|W&Uh%T?8aD;Y&Qyp4`|uwDSauR% z+4<3WtwhT++^16j)nlp`bF&}%HMp2DtV#0W5@_21eykX){FK;^?krpRxyjHY4W|kV!xZs4Bz=VfuHbo2e0i7PB}=_B&t2BVXWzt z7);cRvrH8ctB5*wovGpC0#V0LGId`3bhj1LpZZHJmdO@wFbsd6WX1XSG$+>G$mwl|4{Nc<&}#iq0Ym zWw%w(4OLrbw|VLO>nCuw4H!%-0mva7g~;EsD)R1wj4IpiX=|z1Z`vykX0_#019I9* z==A4rbIykDx3!9{$%TsM{D*Ul*vu8pAvSrVqQA?B>ljR_02K3wxaW(MnP({C; zkQIeXk_QznD6GDyXjiqjFIBYSCeF4JgDDPx970iutZ0s8t)hqW+IHv)7v17?eeOJe zI|wgm@Y##_hwd=HEaLLp6t5F&kta;L?(PTLtja0=$!}|8oV*9(i1Aq}Lj7zw=Gj5Q zaoUhH&3zg*@v)$dBYz6n_?V}VjiNh}3)yxU>YjJXUEwxGY}ge>oR7Z^ zr*~p_Q5)TYkOa{GSf}PKW^0TU*D7ugR$QfRyy7Cjii-d%uF^KFxaM) zlG7GVLElarcB_i)cJh))eHLQNsw*5iE1ksNllVwtJ$Gvo^AO%;A+hSyrNqV_Vu{Tb z&CA+a8Qqq!#N5U1vXI!b-?@d`r=^pa`8G=oPFFcd%;$PWiKX6RE}X7%=yEt+1aP_t z;B*nd=_(I^(?tNMivUg+0h}%ZI9(M0aJmTKbP>Sms(_w=(^UZiGl}jMZDS1ArfU`- zw?$O4!Q$_kDlNWY{Whn(cX(nI8~y&!=PD546%if=XrnF&v(fJ3WNsg(fpEwS(?D$i zrU3#>1GOQ+mLpgU*nO-63BuafvDtIj$Kbt;*1irT3Tt22HaFMrqg-6J_J26F-N|}3 z%;7Nl^=&Zv%5Z7)4aHYDwQb6VHcaN_2Xcw9{f*IF*#5@08aaLpapkGm{>D%Q*#0KA zAvvZG&d9|!W>Xk{{g#0uhu)^pwq`S19bJ~}(==sRBNjBbmG@G6Nga5*igiFQ9yZ6Q z9XuAf(X1cd0y@xgC@5S}h@@$wcIn?NWn59%0y+@AH=_=8kz8C+*aBk16@`%iTv14X zD+&p4MIk`{rH8l~iLr<)3R~hSt|%nH6@>)2qL2Vr6cXTy!d8I8BBT|1WxZ(G3QABz zd~O9LST|2o0)*#BkrGUwt4;g9>e)6n98C;SOSB___w2@v!Ro3jM2yuH0ajN8SY36s zVRaS7-TyI4obG1B>MBaS=w`F!(4p(niyW(~?hrXvS3PWVb9AD)Q&R{MIaXIaXi#Hy z)r(}UpQKIjSY7p@(Y+~xOTp@@FPekZRX+&%?08o$BxJ0v`a#H8UG;~MTaL@f#cHZQ z33<#I7P2A77^imq;Xtwih1;dG0-K^V!T*U&*lza_#RkI)1T~Nv&^MYj0GAdIh86hG z9!2qoB7>m;HzGkHdbfT$4JfdZH2~4OL!bffOEYS~;}y(B^zIPI4AHv;h~6bY^ezFS zcZUKHy-R@TT>?b!0`%|diZ?@{7WhzP7@i_}mjKbb1c=@phAu<&?l5RTGckNPG$2n` zsR4$4L!Dyuz*6{JWP}ZiuP>c6MZo7Gqu7!gM`QduMI?cbx_&fi#q-+SKm_qlh8`e@ zmjFS$1PJ1t3^P!>63YugywNZNh?t9p85q#gB@tSPA&55`I)M)^r$8tEY2o6MPGHGD zm2?6hU``{Q7#N}H1TICKK{`=7gv&tq?o2cg%Ym8DiHc2JxsXmEe0L^v0$*mvLMKi( z%E(3d?kv)Y6kK&m13ykg%(2m>YM18NqIB7WB@Rwfm2W}hPT>>HI5;yE#0+{^59)%4 zi^OhF9#>m2_1RB6jk5(9-_&5Tx$vHgq;qRBwO&*OX3K7?3IJv`rrou+>(IpscBmj$+BxUizUm@^-O$K`Sh zZ7GI7%+7RMOxG9Lvg7RI=^|S*&w=&0t9Awumf!OXZxu0y6OuioGY(JJV=X(V;gL(jq^&Qrzv!{#6}F#5k;xromG%D%}gKY z#lsNiP8%^u*L2G`NTVee=S~|T5u7^_;M{2w0Ow8wICmnzxf21-od|I5v>AYNCjy*1 z5#Zd30Ow8wICt6t6~?*K78}l;x|P@LGd>sJO7^*SS#6RIt?U%{CRnPe@3z~phh55t z8-a7D-57c}cOt;K(;fiMo%UcLPWRxB!nxC43`CqC?8QLrV8wgs=3|^Y?ZrUExzj$( z$4AXBE)B$64yVYLT&9p(dOyv_IDR@nUXeEbkPPrurg^%Kf%XQBgM0_C3pq zQkqR3Dk>khIlXd!FUI0-93aI9M59M8s|$q+d) z8()EdF&h(LHYUJqe1&G?m*@+8qyJKzzDl$4OY!0=X5&3S@Mb!JV>Z4fXXERzy!pSo zxY}%dU7L+>lBD;34wB1l%*MBQHh#>dU^c#k)?hZi3lT?ubmgMW#&_jxd=Dbdk(!Z< z+4vqrjHzYCeVc>sB)*TVvSdawo^Q{IUk@PL=J%v*=j3MDt`yZDLbl#w26*4~X-jxr@7+>vugN*Uj-gn5j_PdN+e6{zThH;-aVCVrcv} zh=1ix?D>gdyzP`G>b~OOFNk{n5h>~mU*6M__

          by|ppo3bKT69pBwvtw7ncAaE%K z5~kVgF+MEskB8%v?6{L6M@D(qkle%ZzwBgzac0O@QV`%u3Ibe7L4YeM2yi8Z9)K$; z2yi6@0j{I~=sz74AM|#Dl`(}{#S(J|*2E6oU zE)jlJ9yAbsRUUhd9QBX5^3?pQJa+c0eC%f9$}n+4ll);e1*l&j_tHTOu@?{s>wd4YKR#`E!oY~O0gT1$MH=}eg9iL^|J>U zyI){3Qg|0Y(wwK6`b$(Ls@`FyJVk$^UR`9Wr&vZ*QUX)Q#TlaJ9$*S*phOkh%M^Tt zf}o0TVQQynUeIpFj`w7G_*`b)RQyTQ>TR6l5AiQ3%Uu#rtm)lN+^_Zj9)3Q9c4s*J zT%-mSvcu(TpdKt@udFjPI2R-jKX+a>I(^Q_u0NcyI<~T`EVhF=_vrNQoNcHXonv)U@^ZjkinD)0JFE+wxk_y z-dJ^Z8LH8)KeY-xQgs$P+|ZbWAnE6=vD)#I@tsy{e0+CdLj^m{PhUY_1r^*R0u@wH zN#NoJ&*BQ&MT~+9Cdh{;8BBS0aUBxX0}54e5DqTcmIT)2;yELPM0HE?@R9fzoMg=j~=8ATNA&KOQ zb}Y|CXeB@aby_8|Em@{<%kT+R4OkO=LRAxhPpAm+2~|zlmL8+IbMXmPE!Y;gYPDcn zE^fek>3juv@3mlC@CjA8eQplNdKZ^$3oa9^ZO1AN-%iybqjCwla3BFk3c>2OdUmYR z>JH&D@a5Q>i!||95F?sG{P+4w@#kI3;>YhrH?`yUq9>q?7@t((8(~L; z^$1Xiutw6fndR(Z)&fLWM?eb_4rJ7Vc*#YCbp+&w2x|gFST_S8!kPdP)&z*K2I#-_ z7Pp&0HSjT2b38?aH31^52@qjTfCy^>L|C^#Um?P}1+-v`NNNEs2#J+iVCW@+q2nufF%&-z0{`Zbms zvSAu)$X-!;05l}1GfJXg6rVN#8j`m)D4ef0N~a-hRaB_>LgmP`i&HJ5j1Ww+xHO z@lXORA_=gFoB+TgaspIhdKk+Ii^z#k2`nNfLM2MJbxDF$0*lCrPzfv|C&34aq5jgO zNGfrwSCF=doJ>9l7Ln1U8Kqik<^p#bP9<~Es~i`F)#G%u5GH9lR3f#xD>G6FtRAOB zC9ry&0hO50EF%}I#~4zHHBF_t03A!_BC5&%PZ<*WXv$Dbw44QH_~nqwP_`EVHauKON8}dV>J^>>2 z2@t722Y^U@0z~Q)AX1+Ik@^IP)Q0{pHl0e)9@ z8Pp(eF_sN}S9Uqn0KZPK9BR

          FRw_1N^S+a;Sm7xV8e8;i$vKB{jg8pexBT;CE&J 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

          lNw74W%T^K{%Cr~WWc0VLDP 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 z ztY-Z~D_P&Tda1@MLT!<yPzm>~t8_i>6&NeQW?RB|S4W3%6)f*uFF}9Vj2-Z(k_auyo z5&ACc$3MkAWSqxmy(f8b242(-({`{{-Xy+SFzy(26_)$(()LTXF^w!YL=;hB%Xd+Q z!CJ!WQ=}s`RN&T#X(V@E`-mM%#*h1u$Z#lXH&+#@ehn(G*z5!1QT$a}(fY|-4Z{N*<7^?>4 zcTUUZ`mK{{~+nen>53&6iuU%@b!>k|K#XMXZeZj3+{X56Qn1H=q zY$sW5n~W%)JSO#>nqU8^GEm02`;`US*(&q4q~c3u$ZMaKaf12u*UaH<^bI@e9?Ik1 zu;1rf*2f>0MrfS>*RQEc5IV+esOoza(dB%zPX$zK{3G*@8WFMqH&lNo7bt!8b7jW( z`0*519FoNL;G(VOv*ny$MTGc=0J4EFYlpz+*21>9y!u1 zzkiAOSTDP86|+C?ANhudu>$F0v=8h}tACZtC3{_%js{QdC`vWoC^>&k)#J5>&i$Ks zJhF=6c*Lj<$rTr=o|)fEIUcilT}jut&h`qQGPfuFrmFw6IgV{hReUG&<4mK2Un%3c zHB8%%l$@L&nJsp7bB|?vJyeSWFW1CEK93srgYol$a?$*N-CG{bx-l3mh4!3a3ATa@l5t3gWto$!`K!^ zwPpR39G+s!R0E#_Pgk}DUiH7t`gOFV?HnUx&EFv`{%|bp%){(h;yiP=&k|82@8;8y z<#}HBFke@E?kp~647=>kKI(RZWxv=UtN0^|ea=u%B8=;WyW$whoo{z%-;2E#?E~N` zW+7hNrC~52mxdNRwT&h%h+#gaK-i) z%rQBGMM!p{%iQ@j`Z1sFwVm0h_!O`6bEHExU=^(uEj4YVT4Z_*WI@U%^Va-#aj_;v z>aLO}mGU#2?yC0(4^jr7GPm$o#XI_%r`_Vgte;bd>oKO)1;yw2m=~pI@y9LE@OE0d z*VgJE2&gNv{%mcE;3ly>01gk|`zXr`{x!>ok7VAyjvHch;k0xPeb(XT%%-nZ%l9|tNo1euT1W$uGb~+DcyQ~FYHa;Qs#pm#% zwr%A+4m|!`wzw$$8a1EG<#=srt|;E^wO3q>zXnO|j2~_u(*gLqkn&!f*Q{>?p8Rrq zou8tgl)O`Ocs=O+QVN2#A;-AK>!`ir*(Ivtj^;Ig?$caB(p%=)UA~m{(-!iTxN!y_ zv9`>*!RWoPyH2hod$YNcwIWK&TffNiNUv92 zc8X~vj~lp#?I-mfDyudgNxli5q7yOMY`4W)=41Al`90#8tna6FY%e2^?HL!-w}eN^ z8*EUG?`&Q{c8c&?G#Ue6XSw}nZm%(6L-Ae#O}Fjea_~b`@H@Q8`tkF4lp5!+&)#M~ z9bTuC!S67ysnKJcPU5#nI}^3|{^nu*=Qb`-;1%G7`0Iq!F*%v$;Z`S$^&`D5-rf_n zL#TmW-c#lJ#>s#i0eWl)mrKm!z#1drgye&@f8zKKQ)AWeOFLOV+3S3|co*AG8)**6 zzq=(bK7bdsop0jL#8LMaKF_ro`|#D8iC6y= z8&9Jw#mC>_)t_(DYuY*H#W&r&tJ_=UA{Qp}}ue`P+^>;8JoZ_L}h zyvSF4p4X$gzY9qp_bH#?agC=+^6>vddeKg^|H<89tN``Tb6DcT`1Yf*67CSE;BdpZ zenm?D1$Q$ZU&-S;@Kn){-N(y(4aNWZ7dsrGw)Qcsu3Z;V^{5-iUS)a8adQAxi)kcx zesoRAy~5b;2J`-27oZ2g)08Oqh6nHUnp|Oro6P48H?QzV%9MVVd4WlC^Au`@^F!^h zr;(HAhju)Lr>oQcvm(5{^s{GjvD~5aDrEc|=viTDNb)wd*lt9kxhvim zQ6zU3)#dW`=ggr`smJ9Kz4j^hz>_~|eFn%_80*ig^;zFv4OqL1R8~V}e*j0^IEA)p zj7VwP8+EO<g`f!$O z@A70Y*4&R~Y(J$l`)iD{@Q#vi zrzMTz#u~R*#&l*wIbPR*SH(qgIBaECcI;?ZUPX-k$0kub4Dwm7?p$HkW!|nEK^)(c z`J5Kq`NnWA?#=ZTdfiA%>BIWk@8;8YRX;UsodX^0$+8u^6EY^&xB<$8JoCD_XprK) z*3J7vm=EdBxA^d$raXd&vHb-Pn>QRChf9y^Xz5-vFjqu1LI`ZNM%d)FlT(|I6rJJn zy%v`mBiXd3-ZQJOddn{P23qnL=3aCt{Uu*2}CTE-jwWGsyPSfNw7g2*}MIsbv!+n5|asO0v;+#q9EB~0gX zj?3n`e@pQ>H+dNPsK~dS!TNS5pL~pYIB_=fIZOENq;cVXi+M4$3GERY%;o0Bt0%q2 zPU78p%xA4J&(<#&Fkk3(F*0Z&*XGVKdwmH!jiXq#2eB)!|G@?iJoX41xB{c%rBAV; zf}Q5A+=s%_6k&@S^eh`pQSVV0Dh2bw_Y*rQ7@=4h=Va;NHhkMqPO{%hZACt5aWwXQ=WnLl>jm zW8JO$jqp_K$nNeX(8$}~^wiJ8rxm}zx37Yqo6bMmG@QGO0I3`P6nK0VlJTdrog`#)#6Q2|{6VSp430{v1S4psUCGh-@(lo+T%BVLX zINK8Zarj6r)xhGbP|sftc_}aW8m`s~2={3;qy@?GNn9!HrRy8K@3LnN@c3dgzwMq! z@~s$kXr0F8U7xk)AnCszjNC&zYmvNt`A2wxOZD)A4JdaFF=LPGZQ#-KZe5R^apOiP zP>^Ge_E`9m;#cL;yQt^?#vI)X!nJG5@?vjpfo~QShr&G-5~#NgH6m?H4Yo*J`EIi1 zd+oQA1PbpwA3VMjxUczxTH{S*;qLh#?LU)!0s!!r~AWU-K z5Bi7%Pd3BkdBQzUm?oZ;5BkJ6X2a^rpI=l8#dTMezB!&ZhsW1Z7CEp76}=CdIqC3E zP%&gJQWg^)wf0df?WKm?iGap|Y1)3^zS<`E>Ty;`<5Tee`(jey{o3; zFxmAWaQ9ja4fc!^pB3Xh`t#wzlEv+Vt9=fIv*{Fxhx>*j#3IXN-RcX_r$33Vf&d}9 zeFeP0+Lrk)d`Zda(%@_Gb3S2Cte;3+Svu`~v+FaCkzUp|>`&pI^(4Qfz_*-#t(H$J z=FcCD7|xmCj+4NDT?U*tgb$yBCh-U1gz^Mf|D}EpiBapMCYSKUI8(!_XEdLHi2r8h z>5-qnD9hR?{h!2DZzbAd1;mqAhjYN)JIv(eXNfD*93N#09&v%_e^N_AnIQ3N24yai zfZ~Ww`Qx0 z96Fn%hKk7&SNi&1Fde_#KN{~RLVrADH01SbB=|Ga_8qRP2Fh2l=~FG$Nx~3~%S_tZ z?EgDl`wrQ_DmnkbFz){7GhV}n!#!1bVB2j;T0u{5d8h>NcxxEuBFW1w2|QNT z)X!52xcsQSrp%#)W?h*i?K62+V%w^$rkCrid6@QjbXBT7~tIPij0D(g{C@PT!rtx4(pzGCrm;wTLXh zgY0}$NQ!ntTrWid>?t?VQ=oE^W#%+j^bg1@2S1rAH*5h$`SZ;kygjYJ$VrN_iI25T z;_2hpaL-1{dOg!Ynzh*MrD1J}^?l~_@!LJ1&$cp#>~^3R3o)UyKc8uTL*$>~(@JDu z)qP+Q3z{PL-A`Iu4v^UatYdVkkCTzHoq)SLnM12YXW+qykg~HX;~v!f%L|`1#q9~N zyi+RHvR4KwhAN>V3!3;46icRqE$+w5UEvu+L{c}@jIYN`!YSs69>Bea;8U#1Cp`(T zl%e~$BYD6j!lO;ht;-qV!FNdwi!JIat-0VQZ;^`fXIU30DDcl?P|o9nHCeeS0~GEM zt3JZ)$t&=eABSkyXhitR)XL2gSM)O$;zbLdZTI^?AIfj5RpomQeFkf}m4wUMW&3(4 zkC&8TsOqNst!&TcBY=x2RN#=ca}-qAQWc9oJ}dclj20!*tScRDo&cU%yLslk|O|(2Ec?v>d{~bct(a0?Xx->Z+g4A{5so@7eV< z*@MP1yF$iP;6W>&`JV91$)@Z0r=d}?WXw&ReU=SsJRl-%k$G)~W?}#egug%LCa!Sx zIWTga1tWHVQnN@QYi}^jxU~U$=L_HyoTD~B>&g!_kl-m)ka!TYG4Hml4qs|22S=4o zFF}yY+8@~)uI*NX=Zr3w?;P*KAmRP6BJ&_n%*LF;4O;jz_$6E0QME&$cmILi+49uV zb_>V=e(>SAuxOFy(@*3*4%0iSL7SIQOZ%b18N!R@LU5e!c=2Rfe;M!$Ye~8~oYG7+ zu)}iji?>By#`)h*uc>+tarAwee#$={YDr;|UkwK3Y@ysr;Nk!R92;cCn~*Q8!>byr zH2+58t)>vbheT;_fl*?Q%6)I9zK6p{l)_aWUjv58*1fVn!$q2_20f97`rgmY`sLRG zkFGW+gKdN-a?DWhz&g_7W$c%;p_gtT{1Lb^8(`}@8V|oBwMYqgH-gIb8@h?Jy%n3F zeV($JP+au`(2I)q=B&QHx0>g?y#(AUg;+^SzdzS}ytUn_BC$apIl zlGpo(zSQ*ngukab(ocVl3a&=x%yHj0z=ILs?0}D+fMCx~(~#@JgIlQves&7=obLA8 zB)suG=6f_ePCGEg$zYQut`%N{NtkD@Q>Q^+wurgvzVZX;Bed$}9H&Drj=oJVLU1Sv^A#@v`uqm^_#>w6&mn_>`93M9P1w5AA%fP$;4L;6X@ZnL==NjcI2In0+(8CM5a$nG>?37U<*F ziPD_#__nIWuh&C)CM|Y3qj|Rh@LcPXU%Q5o<0^)|vHFx^y%s*A_*MD$PL#*%C%n-JfA(4V`~(+n-IDh9|WWm9i5BupjS#KMCWhh|wV!6D1awSJMfsu%2F zrpr^qyH&k_^B&ZT(peNse)(SDzFP;Ylv%w!@Pg-|DcU1Mng?=XC6Gkqk$$g9TsyCo z6STQs(+7mB0D$7wF)mX&%K0;21Xb@Do)MmOND-Vf`x@_KDmIOSet*%n@u$4X(T z#Ji5WB(8?%yyD6}vjy2~fs!q-rfcPYJ3Xp0GN96daPd}XY}6}|gkQ`6*ez`b9f=Q*9a(+|xH zpTpSTsL^eL;=gEU=ahi($!Eng_BGN3cFX4`QEzTBBS6i`ppTQaIJ24bG|93yIId0s z?y-)7CQVg*0_Rno0bD5m6qQK5B&TVgiw?N-QJ7#@7T8ql?00z;930n(Nf7&I5SYk`@V z&6*E>J}W&*c^SChT3vLLxKda|x@yksR{oHtm+LBOxr+oRWPz%XNH!CO+;HsLti0$4;pxpxs2aW3+?3h!I`H^*b7gZZ0+lnB7s)^N(xEGXCtI5`zZ34Ymj2`3Q2f;} zuMfkgpBa4&{Oj!>s zWW7sQ@g2zYTCpIiafc{IpPQ{l{qQ-_M=eL|w~=H%i2aqzR3Rs-`F9q%v^VJ@MjK>- z9x^q}4sExI6r!n-t^dKh=+C0!a(H(q72KP@2M+Gd=1TYZ@Fi6q_;WkToe?wq6@4Fg zY!5;zPbM#a0LjPanEhVyBa*Yhbp0KK`#&)8f%%G$y#FzKYhT@1USd!C7>qn`b=ElN zzE$=BPt-FTGHNey*Gq_6Jcld|pYALh*wVcZ3U8-NOdO?p7NB1K-|F=};qebBO)7o{iO%+z)g}}}FTY5*SY{q2y>Xa3 zb6@y~;!yps7$js_gX{StpsXrfMB4h+%TwUv{l~2v$CFMdUR=Fg6V|t;11sgfRJ`+BFKN{| z4g8$70^criH4MD}m}7g;8RBEjOt1d{`sh?xfh}F(M~%xR{(d+Sn9&&c6B5^-1N{;WXCmNU?ot z@8Raw!#;^Cy?*-&KF%AmNB+=q10rF)$Nj4;P!{pgNjOKOsfEB3*3!S!-w?1N*BnH( zt`WVJ3%o6H)iBRuHO$8dv6d`#$91w)o<}u6@J`k~#_vhfxXL!vU+MoKAZATOb0x02 zNL)}|BtOYiLjRvQ9UlCUvUvMqC3Jagx_Q`kqIe12@U#VHmtRZ)dhtIdh+$&SGDH=5IU=}tu7Ty>jV=5QXdh6v%Xv z?fj*!}wy1@Fn(JI2D zPn%uPtOo>m?=cySZLND(oGxZE3f8Vy-q zKbP+dJlA?*pcUZ-RtB^ict9MtM&13HP$*Fq2{9XS-D41N&RWyn*$?!dC((IHzM~>vGA6kwpI^*3P`-T$!cufN&3mV4j`| zM}v{eN(pC;0i);)b7HUb1aQw=a8Dk0rK-)Q23$aw@)X!_4(KDdu3EcF9sZ<( zT-t6(CKJt^4@SXuW{gc)06aAIeoe_K)<@ymy;YZfxd`RnwHUwiX-Br%V&Kl@^>w|` zq#ME1dh-45Qf+*WEZ5$}v;t8^B%PBaAYi4Xc3X&&$xt@q)PZTMAdd-W@fk)-$?5 zZuGut;?viV;Gf~3^7DQAZ!6)>{txPZM*)led7$@4O*i>l;wpsXsyt79Rfb1Ewe={- zw=&%25?3t_(Jgx3E;|%1(nob;wWz8me=zM%tVQ^h;5M7V@3^(t`BdVHpSLas6o;f* zTS1?8tKUie-j}$hpJp~B^F58r+q$Fg)oo_~`coFD79O`Y+UIQp9(>*G()!z}fi2CE zxg~r_H}Kd_lt&*o{d@Q>Qmh)fmbVZV5gseoS?k3qM3WC8KfSvt|NVT0J4BmMrl#lD z-}Zm3`G;TZs}2B$?;$OpbZaV(!1Akwvi$Zy(E=*33fE&td*uM6CagT6-a$y6R1#7- zF--pq^j>Rm{L~@P&$_d(md{uB=6tT@HWrDgX5_9KgF@aXVKyGF{f?H`R6ePO zcj${4&F^9D53kIWO{!Ay7&t_?nVh$TkErs%*RovaAJ)=j=yBkwR@(3f;n|i0%=-rP zxl_%Ksdf_b^FJ`U7S`O1AX!d7hdgQo8+wp$0+2T&kVmzd4X_*un8 zd8APmN0VpELc(#0<0ocXot2Nu;ssV!|1W4`WQ>`lmbzF1*E6crkWXq9C&rp#O@3;w zpR&?tvRrXa(7r9V?$mFn7yAUM9tZa-3E<)zbC7)^am6Ry$_KocfctuyjgDQ>ctE6C zn@T;eLV)kGDd3vKm4Jw4)rEh6-a8rH%=y4Og`iJZVJ+ov;K_RFBQqqPP8U!?#2SEy z|4|hjq8a`C8e8acxY+<{!7le-1H*Khv7G2V;UoOGrEsCdRgdIfHoZGHyg>6?bsgpI z@|YPpP8a_Va&l(Cl01J@FOsYc6SG#7@@-wsuVPV@XVXa+>z`IES?dw~$Q(b1B(4nY zCSPMY7s5RUs`kEA0_8r-PM;pW0tud zEsvUso#ucoQUSPFiNM6i=#?vxr0Zq^^w#ab{hiI(wN zRfQe%tu4bV64%Dqf>?8g8r`}E@L)~MH#`7GxPZs4Z!s0Eo6HMbr+ic_gO8%B{LLBt zSH1yNeO=|hLh#XlF5!teaHY~jpK=H2qeHuEdJb0I(g?rPwAs)`8V`v0cUYKmZng9- zbV`O5#p*OBMsd@ay9swcXW~7ZfZo;9?8FNa=lH-MttwI&KJAl+Zx(5aN@66G;)y%n z3>^}*K97GroHAGqpzFF1Rw|qsKJ@??rFVluF6|{kypjPt#~Oo;yMRxAX}CJ)d`lk&{qb8b z4XDkcO5IT*TG#Z0)e={x%L|&8XwegRz7IIuQ;2&X0U!Ut`dUT4DYk|1_;u4lkM>R$ z0X2f0L(K^FyDU(GMF0X)sm1^F0iJ11$ImHiFv&EwZDcm8J{E2j!)7$BT$r65a0sBhoFyOJfG2JJLk!V`u z5hQ>%7}zH^WT8TSS+i@}jskt5y-bq0YMHwaR<(TSdpf*wm>g}@)5oG*v^DqL=Z)jY zzD+*qsMgo5RpTA_BjX`4Na-&3$uARur&{+J>P-Tl=o{t&Y!Bi2Tg(h;&}2m~m$sn} zSmCkzKbZ{yxz_gF?-EyvCejgpxvyN$0QXzpILv+)c?>H0XiP^9hZOn&^8vps zd@a05mv@>?^^3tET>n(~v?>pjn~QQ`Maal};Gt3v>K@F4i;0Ra1NT>iK9s45RtwP1 z0_&80=OWfI0kC&}Uoo z*d>iSM6lH$*(90#K1(edzYHx)?C7Nto&2A+Rk%d6 zqTtj~;>y>>BGVO4t^*zoBA%Qf!8PB8LQ&c@;0WDtBj`Q<+$AYx4{~}wXA=rsBQcnm z(dX|14lj9q>?2>qYuF+*~SgU`=C&~skzO+qX6{BDYomj%Q}Y+g5J|qP7>koMypFf zKYRu(^mJFvl|8xGVZytZ*_Ag2-pLE#NUZyzqrg3u(FS}0KJH_t(Tabm>H7)KGv-jK z`86u|c9?>nI1T|`+HYXNTO_VLHGf2X-GC%A&S&A>V^q*=aRTMBC1!5ejfc-lEmDeg{`JNxp_hErL$^YP*0d81 z=^)|m37DyQ=k0&LL2!_~g=0yHOTeR6GPdLj`1`tb(ENG!s()3}mlv*x=^8u3E5}Mp z6|4LgkGy;2lTy*u0wZQK_1S#J=~XYDfExV+dOxKI+{brc2ku;nzG3{~f1!Go^_uB1 zQBun7C@&os!uZ@NX+=tE0lhc^ zILdi#UIQ) zA1VHFe&8;Dr4m|@Wvw-uR0bm#eVKr}{J~VK%Z=-sqaf%xrXl(9Cflq>(wtQ z8modx3_BB?15CJs1Y5qjGu&*v@|hzIQNDeP>4QxgK~Ulx1{rrn&pUyK=*}x!{7hr; z$)h-steY>yU^nQ+HS88}-1xJZrkBUw{UI1*P>8ZERe?ONK8R_Izai+l8v@+4kY@Tu z=@8(&&D@fCzb)vuQ@(JM^nG9yt!(B3DIOB=9h{hRkl}Ks))ud< zk`o~~wB~dsKI2TwZFm5J{kLwhDW6Gy5CtAu=(46=yO3ayIZDnlo(Y^kfY3GPG^xJz~j3R8u`n&&q`d)rv=tUt@DKYZtX-V!*fHKp`Kwh^l;XwIVxX9DWuoHtQj|WkI9M#X4xcabX$l9ruKf0jm z1uj1aeIk~}_+|n>H`p}jg;|gjT8a#hmn21IgFa`M+1|PmS3@rG6~YZ0uJas?_Y=Xt z&AIDm6bP@%*X1A2b=T*Ck@I=H>h&cx@WJ`OqYcaU@i4~ zMu4B2i%xTqO~=2Xad|a~cH-D*FRp@s0ljgbAgL&7gx-Qe!P;hL)>;GHY5hv_tUL%# zwc=6ATHrCgYg_l`EVq^l;uB5xIuLF)RrO-#I}nt3&UCXUqhOe9ZGQYhc*J^prrRda zyJ&NTr|Z7&Vi-lO{q>0wmpvqZh~|HA2OgJOwh|*N6LP-?MI&!?)~4eN2%iz|ZfLsI zs2z%rLqwm1#kotTy$?RF!z!tj^D(bTs(*k2u@bu~!>Lb)5+2Vov*61TS5t=5I%A!< z3wWWmuqpW=_{SFA;S2hc=ij>=eNMl2xmh_zoLe0=%H2RoVd&}@QG8$q*Fthd_xKc z#~}oBh$}b&Mv+;jMTUhhDTTYtIt7Nom(kNasX9&rKeyb(S4&)lw`d4H&po+6+;h6* zSLN@YP#$b!%3Bhiq08StN9DsXOnI487~Z7H18-a){$If$n`sxL#zo-%J=o{t)yUJo z0gu0faLf4V1oY3fg2=xTSNbRDJvTOZ?<g9g(}ZKP$)hb2IVOA@O9wnFDhJi9{0fUe^HQX?aEaWrD(2c zR#!f%#yHnuPT@|^FIq}_Thyw0E!-?9ja+P5u~Pc9x~TXyJXj%JW+$OWg5Gv@Qfpo- z0X%N`?On;h{TBW~c(>wLjjSGb3qY{;E?Lsz|KlZNhs5J#WO?Z%0a8duf zQUmlJ%Sg>@0xu+bcB)-2jR!=~N_jGBqe9MZw1ovsmAGn4gx)l8(10&phuXN&jNBUu zcYcHTaE27UT95c_Qz>7#{Y?4$g;lcZ1B||lXvvxTmGEF$E??Abi1L_qU^TgsQr00Z zwZ>TGF}CEcQb?Sw*ReK9Ts6XDE#+!8Mx*oSk`#BWyQ!v^R@M)=-{E44-P|VrzA>GT|eeZ@- zW~uUl?ZG%on|thp--Ykj*4Xbd}0Uik5)o>WBJkWN>v_c{~*faKe)Ag z-c;<{1$bk?kkFr&AStGx`AGP3`Fzcw5(cp;C}i^B(E+NVuM%f-AEJ;z+mBq zHGTvQidn~bJHvxtPzs-XRF%t@hnfu1tXdJnN_`;6SIpdMm`S*Mn7JA0>Prp$%WUAM z64yORnXrraUwBN@hyRjVqy(n)gBE38?5oQ;iJLb7wR5a%9|s9{TkG`R13_Q7*|b7j z;%YGX%k|X!*)3)b(s(}+Utuo$Ts~9?CD1Rtz14Fl1Y}Ht08Ax9WDO@pX(NNpFMp-v zMP=qIAGtF6b9OQVdCDJSGhg2( z3sk>2Nn!36`SMzh8YuTogaQ%0xqS2NF&sXk%Dc44M*U=KUHh)Ym8D}{GPI>ROFT9O zc$~fj&jUlw|Fe~Wicbf>0?SVqN?h>^-HmlGPh5WlK_85P_F*EXrIyM^>@@r#njPVI`AvoQN5SIxL(eX8VK=5Vo5v>t1xQ90` zB>u+`S6@=Up4(#)nCDm*h7U7t`E|d=pwFV&f`$GV-X!_m9+>?Kl~abt3h^M}8GX%h^~DM_BEH)kKGVaRPe9~YZx2?BkV1ZQ{M_*d7gPToHiMi*aSTOB?L#P#eF2M2Bx61 zOzwiw?;ckeVc%h*QryRrGo z8Nwqw6fQ6QxG0I_A@Sq;5S(gt#<&lFhX$dud1W|LhF?9VXPGgn{6~a;re0dP`NH-l z!eeXGWCk*Co;rIk{xNuGTRSgrXxt&X|JFzI;Li_i|3uL{gzF;uhhG+p?IRtZG(G-O z0r9s+*3?h6j`GJlrkDpJhvcPyW&PxNrf2^UzJI<7n1x5sICo#f6SivEFM&rZ_0kG+ zz|8oH=%0p}`2|RsX()by`NtqHLYr>vCvShFaEEy13GDRncLNTd06%Y8b3%XcB=}@n zGs>3|SDh4}YtBI9zSH#mM2>Zuaq)XF$_c{&Ji?xigHg!QO*c?>zWyt6hVYa%HR;cXFDZV3slTB-YUPyI2#;9! zv%ix8eulyLEaA2U_(Xa@PO8>Ih^m)CA6#yF^*Z3;7ene*lFnC9+h>iH<>5`TT;3DA z3NEp#7_2E#aO64QK5 zd7xZQ@``?V)fM;2&xw6H8hpee>9^vVFe@@;LW4}pFLWP7Ef?Z_i z#wAK?$8>fu?fgNw$UG z-yNX$_ea8Tk?7qi8kf7>4b2hrsVvZO*=qTK^2De#)++2^KS*5B=hBHN++2uXD-v!U zdiAXY{J4($a?WE5CS-vc!k)F5VtA{veP!Uj->@J?fDz(wDj3DAJ>2e9fTz=lXUp}e z2E2e)dm67U&GAGH2#5`Y={l5zjXnx*TBN$@Of6K*qD28KJfsflMXWC(6s-^XxD{IF z6P|7D6sD#rdWZP7dp|9h7vt%TG=J&jE6pkI7z%`YFVcOUB5O2;LM{jJuC&!q+YLNE z2so!DzUII^bf<*zP)p$Mbt>7rWt-jAicCoB(R3I}v}{d`-bB{O>2m)zz@5_|nDOWC z0UlbGp*gU#u5JhZPCdHFHB=W}lLgv00^M~5j>;>-gO{i-YI7gT^GlmsSwBi#IcI@B zTDj?K&w4=b&P3eeyt`s2&_`$#b62l?0Q4~{;j8|jqL*KP%ItszDF&Gk-DQDN*jWuu z%fs%qE)XE*oAIf7SI|d`nhlUY_PbOya7Z_ld#={k2H;)e=X;Qx1?KQR+7r0{0EP>X z*2jBkg+=BbBpmE((|dzHPPfOor&jjS`UXU*wdvQSZ)u&@`K+|=A&IMo`zj(GV@1b2 z2KrR%cS&B9xauJ<9U1dz4fh9L5K@McKA5K4EyS9EB%lr~%bFe@1U%mdALK6WJ(L(( z*V%s}JY;RaP96q&*R2z*lrR3Ef&yy|Ie9o*CM-)Vkhro$kmg2?TeY)*C!Usj)$)%= z@A%PV2}_|OV@iuuWukLd^0-14s8^<1iTC7_iXauj$fEd-=P$=Xls6A<&MIX2OY>=K zwtUo%`j5FLsy80mq|$-Ujgc@B^rANsN{$&PCqsptX_>lJoUvYg8hmnS3xfH~nyTsL zJ2E@4sN>Xk`LiUznV}hRCi%-WFiKd9%BQ9S_gO>S5g>YNZ@I|~;Q4yKk{!z)mp&7M zLxao-@uJs9wWyxXb&KSJs0**b1?kJ$A-Bz(cPfbjmYb z{r9)TRZ|MB&7+)+8V`tqA@C?C_0IB5U?jdY70TF5f-9Oy@G*(&p=Cw3VebM@wr0s6 zx0Y5P%AmjSJJYk|?*9KIsF)NyX1e$6?TE`k>$8WeC9bTN@R?avhaKP(w@%cKN?g&q zdYD0U!Ur0cU*4^&c20!gq@>b^V3cRgIBO)X8U1XUztwKgyRF+ui#6^L54>sKg2>yW z=p7>OA?33&f^h$SuosN7Y5$D7CAJ@eLvP~fmy?mI2SI<_n$eaMp0>fXXxgX5XYMVx zdQ=44aR>$8U+XJF2o_L02HgLwTjT6-%Z>t%T?YM73VH8*1w8R0u5pwj{NmTZJqOKj zGxu0&yyfTKg=Bz3VZ9S*S;V@n{lrNy5_fji3h|L=@^^$=6Xk2)1CNzJ7jvR|JPtfj zq@!y8&A>R~Gz7;j)4eZo)%THP#CX1r{`rrf579D@yX?%*pm&~yg}7l;&x1bs#$*Kf z;-8BsNVQH>Uih5^Pc?^RodiZlww1NCm$({D3CnVeE`g8#b!08v#oq_6puqiwIku-? zr3%*d(lUQ30W#v=KS*0{r2elEPfJ``C|tOxpKcEk|_QSb&p8e}O zRnVE^&H26be-J$5I+j_SBsDBjMz=UKYI^%tiR&&q3Wa!hXWmBmOS-{<8<&vI$pY1~ zG0$Kw;X5@Yi$g$qz>JnPlEEmSGM)R1!W69~uDU?n=wsmTl>)uzM@*t;G<=&7e}`wh zp%w|Rlm&tRd((t_9mLSu-X2^I^j=z2BtedtnF8Eh+3eEt<-x~m?W@0Du?&B|C`oLU z|GDK|$7+F5`byISMz|o@LmLAxQ3JATqhT{XH7`%ST9+EO=^-7L z1^e*EdMI$wS7|wE{;dJEtfDzMXWv1L&YAJ9Q5qD@v^uhYa6y}V$x>0TQa0mGFp6D9 z#i9AU*TLhsV}v-g1H>nAaTV%Hhg$M4}R9Dbw5-{Of=8K4oX~A$hdV8 zFBR(2A9xP6%&D6p#OQ(G6FQ8(=SAoC$3b6s;~p4Iw`F~(;F^d&<{RNDLs7vu$ZYXz z!>MH-nj`w25x{+Cu>H#yvG)=lDTC3$U0F9U3KbG-&FpnI;nDeK*9;g9dbjmu%8$nY zk1WEngPk#R92#(L7#hH<<0r?1J`jDxj8(}KP$5KX0j^MU5?R7ZBt}dI?zPr6mn5!d zg}z9&xC{C`4LpI>ap1t>FwVweWrxo*}glEzT z4eTWQfBQ5D5CJ#~e+c2!bj8RamNqtzsV@gXA4|bF=7^R&6M{oluDFEoptUOcTjF&F z$cPrXg7H0pCc^(-fB@%7B5-%y98Mi`AUKnjS1uX_eZ#fa%RHiG)=O$Wm$w*F zvGFid<{0X4uEbRr#V=&&fAgkdg*i87huZQ{kwpJzddVTey;qv zfIG{W_+p7GuUat_L7Kl{9)1J#kv}lCuT~8xA^&$q7SLS%JJalj!|=>CXEo}&3Sd8; zq2g<(@nbOf*}8>mL7y0FI@r>6(Cx_*=p~+#BO5fmTpIrc7Mz>!eFuy}Gfj^iv=NN{ zeGQG|745`LP$J8_ICZ9Jq0~eE3SeCuPf_H5}L86+u_U^k4c+9%>eQ5^- z=UQv{nL9!6t&80_w%m^&fIfcfjV3i$4Bv$c!OQZnQ2z1l=b|5y;P)`;b5JOk58OA* zoEm2k9vK9|+?D0_V63_qg1#(ec+DlQKY)|yW}4_zS)fc8qmQFYZsOh*v%b z9%+K;G*?RzqC*ULXce6OQc1`cA5ww4CQQwt;kGYO!CexJ@`%yXjMEP;mLPl!;oc~c zjba=!z62lNfF_!f=jzdcuTc=+hf%<$D?DCCpPl%v53*JK29^j~PPba(+7eyhyey!| zNwTPQg~msCAp1tzf+mE%1Ea_(Gq+y-J@C*>%)PvBiN{HB16Ym)-}?guyXnl=Nfz?{ z1l)@arLi~8c8|ycHKTYRgqO#U}dl8`0 zN$~!Qyyz_UD=2cU+<1Y+l?^?;A&H&f>)(Mpt8~!3-lR?)mH?l8D`&o@afhh&EMPk%V7N~h3$2!(Isd2fB*KUv&+=rTS_f;qq8;(A@NcdBKf={p? znx0JfABCU~4Upqpc|1=*FaJ$~pEZN|@@v4;o-!G^{w2ZBVv6R_`G6>^8{oFCY@d+0 zvS_r~&0R%3;;P<;g2dx)ts}erJ4sZbN?VO{DC}OG@JePEd`GybYUUDCN`T&5riJD+ zRsUD6$4Zn9XpMXa5dk=-4U|R;^5~Kpo9@4|z!TQ~_Iw8k*l!AMTMqQ0Y}5OCq<}uL zEr6_*KjyH83j9UQ`8T~HDn!;G73HPox0N6u-`dI^o(eoI%j~j5RfRi5?Yk+t2^57b zl4_tr#A?}M!i9xbtO@#1HwZ{2liulqqGAi2kuAErE^z-bGa(3M)q_S2>SEyX7E7Q3 zDtO16vqiZ(Ab9&O24L(6xYmXQTY+Uk zTi||cOQz;MB-p~&OI%sV{Wi8S#uk%?Qsb{)JE~wUx}TA_st~GzQy!l9*WIV+9U}h_ zLJ-f_TkZ#aq=-2^*69E|cE#-b0}@vof5V07NE%q@3Ns|GJ9WI7l2q>m-0wudxJ_+z z$iGE|N8U#2fv_P@6CWr`8Sd~O<)ezOf-XL~bVVVGb^%M*r8_jj!7S}z&==gYQ>F;E zbOU|j4H$<-UFlJle$Kgy7ZkyHrh~1OxX$yfOURoEcP=m;$^D3;cZlA*aH@mIAjBYv zt0~f18RniqL-{35FF)uNvL^HWy`hlj8dT;C@>Cz-&aH@EyzkYkFYxFK7*cGKryoND zVs!k(LvV(~Rc|>DtIse<&*CeO&H7P`tu$qi#8m~~Iw-^=!8Z_iWDsUX-tGC0@We)yq_&7u|{le4}TAsAJ#^v{!ABBz3C-P%x&uY2SgRF??o(6@2 zH0!ZZeG*qqiBC3%`tO7XfA6YA@)p%S0q}`htJM7xS9}u1lwV5uyk9yghzeOtps9;m zu<$wHF3VxhN?gST|7whs;za+4#FYSVs@aFH%>*7Aj$K8qs2V|H76e2Vn}RF6hzj{5 z%oWDC*^1sF>Xb#WDn>!+={ZDCN7=j#{%juj$F0kwUFVm@YBWYci7inm3$$Nb-j@9` z1o&5(L%L!Jc=SDzv8GF!%c|3jOQaZ za38N;O7ug_W$@jv0(ZR!dQRo?mtmNs-54g2FHXt=?OgOq22aDuD}amJ%<1+i!hHqk z8jh+-D`7d0HNqE2T=DlzsIR@mNx{k=cmoyAS=WOS64w>hpaKgBtOo9GZ;pa;Zvl^W zF}r3x;qIT3asz@kQhCwVZ7mpurkO8LT#&eOx_%4sJJvV6o#@@xW`A%UHDI7Q zk6a`?G(<;X`O_+7irMQ)u-BaIcfJixGbuT6X#)yzVk77io6YpTSroW?5(Hl%O@|Qf zoqnt3WdC303iqQg&yaw---Y1q)&k|dt)%F`w=xo<(|f>U^BQOl+-0Y>gHJBq&rK%& z1K*eQ0qGQiwltEcV3{hAxVx??py3DTf|kEwm0PnYDm?rl34YzJ0r?h*{@X2aHH_1( zEW7(|(1(I|>lyq;7hIr%2qhz|P|;5yctNv4nlaB2H6^YT4OKHE-Cj*!Sp=D>!@ zZx2{n^2hiazMmLb-u}k{2rfSeOR4JA;!2;PWr^*Gm~7HshkzGY`wXWDPp52(>F+&E zlY#%7nG^hQm;_Ls=!8W@kt0ylKg*;KOI(>c)ylryM?vpAV-Cx23HJsTW8m?!JL?Ow z#2F+tXGrjluYl(lHyMri8hEt5xw;nLLLs*m^A}27b(yy;^3VXs{Kh9x;5%vV1AHKH z)v|nRE@*cW^#1TTRDyE{Uh*1 zFEeA_E^(z$d=&bgyXMoMkwgW=b@`;)=nR{?yK~M0kKJY3@Q!ofSYT}iy+?Q!-K^jc zdGI{(-)r)jctPQEx5?QQosmSHxAa$3h`w20BRsooOF*#qX>;N~ei`(hM=(y9{;xk2 zy+hn~9sz)-&D28TUtLajYD5htBX*_&_seD^`HJxTu4X5V{~L@#*16Tpwn}wsE?rS&+*Jg)u+Amd5q{3vE^As$ ze(OXr%A0wUv`2Ezo9(0OC_WD1?u4nYqB4m5n;~(jn!G7L z8R?1_xNz2oV81ohOqRH6i-+b`?$xDtfWFZ3j!J2u579OYx4m^E;J$a1Bg?_Yg7@5o z0{^iztqKR^T1|=3DRb=ZB|J8wv!>^Xz~_cS9?NnUHSQ3dmmvYHrD`db<(ff&vlNC3 zYuc;@aF=z@bZ;x!d-$r{*YZ&r#d{AHnQZm)t%1j%M*!rX2B_B-y18igoMV5RcA)pW zP5OK8BR=)aA$AbB{GsWM=Hzm(2Nj%G&FuFi;o`p@+E}b;sScp`l*`aKFHAD!EqUGB zvmY|(pY4POWa$wgdyoCERA&^Nqh+#7SCbzxe-MmB*zBc!5?6koY2BrHAOm>B3Zyd$ z&%AZDE#-@Eso!2}f}=TRrgK>0O0bLeJh%b153l)xA6Y!ewg2Qs-sn|!d9Irbal~3B1J7}!Z91=g*M z2S%f+*E$&4FL5O*{wnlmb5|G(`aC)&;MUa|2m06#Zf!k|P>sfG`hduL*_;V8CaMC5 zsD4KuU4d^t444c7S=MU(JBcfWJlSRzK5`1#at1 z+Jy>|1Hki-m|;25z4L0l^zTRHGX%?w$!eMjyuG z(Ku-q1Y}sJ30EbqEaCkMX+G~~m&pO{Z}_lg%z<*?Y=>y9!a$zoU}t54!t*IfVYm4^ zd?cnEulsz?ucpZ-MVW0Kg_eIABJ;n(yu?{_tA(KV&NRnBx5c1${$)nIs}fiIJ+wWS z49ke=uV`GZudSW$Qn^qqNuS+xD_JCyaqn8 zIpD*-{L%`x$3FR_CDD-*OY*G*9(~rl+%oe`;GrMPb~ju_nmqzLal5y?MH>8#%;z!k z(Vc4*E|)*PgUF>>wb*(v%C(~AfDOQp(^Qg5CK>sT!X4t!5%YG~vr!0+?=uHM{Y|8( zN*|Rov!<(MfwDwsyVK2^-sAqkH12y5PTQ;&W%y90|K&ongUL}58O*TI6Mfh>;nI*lZ}3XmELaFS5xv$()%ue-gUjc z#yJR{_*KzAEgGvY@yUB0d|brm&3{0j7=|VerQY23KSeLs z{XT16>hv!dg}i3dkBD-*FZ`oTH+rH-IW0JK7U((p%(xABp7mlujbgxkYOI%&TC%3i zi-8dC^ zGNq#&f;v|vKGn^n?F+&aKb!c(YKmS?tp1O>>AvUH=f>(vfJ6N69!xVBy+VAiars+D zAE4t{@a;7qIDbAGKrI)IY5^CwoAY6?Ht>W)Dx?DIn^eP5hYD(&9yyYn)hoC>XJhZ_2g>+Myb|{;B z@nmX|{3~kR+k=t+0MfA&~LX6kzSX$cFK?HYt_Ffg%+ef1p4^q;SKfp z;4WA#3sePv3-~p+pj9`HD38e}Md2Cb*1R|o-PnWLShAlY@XqYM9##rF>{&s+H?3lQ^1q z=044uM@*Z+s1UWb%Xdm#cke>e54#K@8&VF=!SvB#+{8EKld2iNj(+BuoU*7In>8*c`hr1b(AhTz6@;}1{U71(r_3?_ z{F9&$(zQz$^bxQ6p{R4Nxjp;kcrsPCbldR2)AD1AUH+H^9=VfD-Y+~2+-2?UoFqJb zI_TM~SHhblzuN=PJzEZ!)9H2%m(Q2Da_Mul1)NU0Zk(?0>LQaqWyFK9SOD||*6zSE ziEF=n!}Rp_L5(*S(W`KEp5@2QM1^<+(=1ORvuCj%tdUPjwGgdm*^D2&2wYhG=bR0W zzQLF+c{;8;N6|aPlLs)U__}V}d8BfV>7fTS9xndF$RgzfkIjd$JWBGMWS_Ai;AvCL z{`qYon8v1?Gv@R~p!bt+u{}#I1s=5~w8ava_LSd68)!1B^9m|tTM6_iiK`BX9>YNA zIKK8(!Y9MdJeux*ofNVXx}y@;9XUl!?Q#Z^-*D7_-Bzdy4skZvSO1$g@dii0$Z3s^ ze2FVY`J2tfd4o4dp%*X%vO_$&8hlc3-2ziH;MY`;zT7nRh_|3n%UD0H5P#NYN*)Bb zH(?g=>QW&pt|$C576iP+*tS9OsV-dP>O2HWy{%_JxglkR``NNUSt6Cb+f$hYyeV;Q zI_tMP_in`8o_*`wF6+c4uINK9WKnd6FaF#NOJr}c-UMFoE(-E!@$6#3TfxXR2QB8l z|8W~|=K<4)p4$#SacdB#?f`!L#&uq0fBCoceK7J_C-ED1p@N8-UDNeLg*!y0(zsH` zFKi9W2Ynvx74m4B{xSIb7n(au)id^>Ak@kXD_aQ<{%1~KLq353zm*v$!n=P~VX)y| zlt--a`JTodVnl!V503|i#GMa;zjv5vkiDO4JRtn6M>Q_&wzfZj_#Z^nWvpH%b?F)oCttKT6SDShd#Q>c(X2m<)(_5#9P z>k+Qa*;xxOa%@&e??fX}!hrzj1)xbpcz){D%I}a>OTYx_L>bQ#D+k zVfHh9qegjMAR=_4!vj07A{Zq$Vnb%CR#%7w;gNHQ5bQJEZzn!WP0M~(#i>`M>H5=R zvM`Nu9L$GrjMgxzM&NYBX`(kN=JWz;yiK_@vd2Xgwk>4`>x)%5+ z-}-SmH*Xrh~qK(tUQC`u8Y$xhEEU)O6$7vOssXm2U2D z=hW*7cOHgAYx0gO5?2j~wRlK3ns;5N-b)RzlDJasNzs|Ik5ngf*l+4Vfu|5Q=NZ=5 z5qNO8nbZ7ExaW+yzcK9rCDZM^|tHzTFGlRTcw+@$S8$Sb~zgRHc;s>(ht$ zyaaD%{+BYHLMk7wCx2K{u2(>m_!zr6NvJC-^(Q>boOo6aBw@6v&i>HY2YTAu9wY(mbX$X^ z6t`vk1dN6JZ(-aSWc7IxmvW_7@5HEO>;5ni3Z1i(zHv`MfU_}Ng+uhQY~b!x)3_6+ z5dC=w{*sLKk;Kc>vwXvFOlSF(fFFrAzS;Bu|FdMATdy$4y2YmvJ_fqO>4c~mfXv_z zrrW;v9B}Veb9nTgsrblUl^kNkQT3@=sNhL6T`cJZ;O?;y$rI;@9N^+Hghrk?6NJaF znZ|i-Hs~WWWdKo;g}W<#E((12!o>zt=xYBmS}d&nqHiRw+(bNyUf~p@)Ivq?5JQ>| z(zdQb7QaK{I)L2rxeX;>e7qO}vMfI=xr7v2V}`CbUjZI{$n^Pkx!{xY6uQPmf_p9l zz3U(bKQ}o3nzM@5C`b!aZb8lPjWNz%w( zt3V%XYEFr{gvTifs8tk7f4N%I%k<`71PG4*g=3DU#H$nej9ka zf*CmaZ3LePP3jy@hi&@*W8{#;bWhKKZ?i6!-v#b250~V*sKPejv6^NF?Uc9*IO*1= zPN(g_T~;!DMB+G+YHf}M-wp`ytw4`*Kqz=0jM8Y@XAk&g7wEmSkqxt=Wp)D(_Jh%Q zgP_kI@bTGKJqrOsQTJBb58PGVt^1oj?~wz* z6Tiac&&X0eMqc?8S?6)#D(74>orTsbX z_HBpJfMhEVdEj#=Zn_uHfhfo7eMcbJ*H|s7Zmy`#ABCb`>vw~Te*pn5Ymh%AaovDF zF?n#;Jo7bKbUxi7WWm>tqe6ZUbGBK20(h_w;vlkonVx?K+%w7y@bkZiqFI)r>m;re z^4y03(>`z;Y`6C`3Y;CyJ&!s+0(XyVsR=irOU0)WSKgjy?YZ>(33$lbVK^aiB{;OX zo94qIB{2OgDmbk^oBazZRLLA>?(@K1{tV5CbIolMS8tMvSMb84+)CGf38GJ&H2EyO zpe+;-8J5#+mIbP1$zgN;zV{*o=YNf0Ng+rK`VI66YcBm$;;O~Y9+*Km*(tn4iNky~ zYNY?KBTlK8!N_CX;9pDlxyPUo55HYkNx&%6R|ftC0nUmTma$T>#1e_Ch857ph)cn0 z{B8Xk1%8UU?2PTNE8HRO^J2Nqd#yeHh2X?U)1((9uDT%9@j=B}bfDpy@*n8kbJ8@< z)6DuJDY(8I++mvfV$l=~8~TY@Hg(w~;Grx;I>zgj0Pfz6`HDx!++^V1s>t;?+pbq8 z1(sN0?X_;Cg2+@;p?k}z3Jy^w2m4yQo_I6`0^+C55dNpcm8o4;R39g-4XKQNT3QBxxX|S z{YQBIPZ+N}%wDPrdjB)#N~}sX;L*Y8nu{c0WDN-R&xJ)fBu}da`aoiiDY%*o6@rhO zUGP>N;0fAA<`xvx1Ma59jFSYPZ2$q07tGP|OheFTW0VDMtR4Q51!}zJ??Z^Ad|p($ z3l&`B%oen00^CDeH1KU9?v+>K6(1M9%E7bWGtGhf`rm4~5%PNiEx;&``i5I@XDd_) zjYq6zla6f-`rs@m#Db@^QMf~ts@+%HfM4`{^_~=36jhJPN97(KYp2@Xo=E~7<)b3m zZXFXGCp>+l*)Nmt1HJ!M6F((!Wrlb;OemaI72XfrJt0GD$s0!1J8E3MPVy82IByYe zMS;iF;#NERPPErQnZCs=sqE)YQ2Pb zo(f|7kff?~Mg4uz9Thy&5ZD>Ny=Mx252CGnQf*IsY>wLRC9Z56wNk++dV$_Ks+X3) zHd*}$@aXRiG|m?`tMvvRX^xbYGsKyFQf}-Dqy!ere<>}TYL`X+u_4xH0(a%!>WD(z z^B8c?-@tjZ^J~Jz0Qe#E`Jq2rbNrUg6eVZK0L`b8h*FqlOLxvKuXns^h$W9hl>b_1 zRpZ9zBRqprXisdEeA1(ce*BO_{q(`W6Vt7*F@%)a4L9UL)Kub%kGPIrf07tYBl<`$ za}X^Wrs(CKSmJLpZZsVU0ofF1Tv~A`poo%)_<7x15x4{ms zdQV61iG3jpR15z1Vy12@Ukg1q1$eoG{WQ*L!L{(FqFHiJ?3L+ck@==#cLe14P)Dv- zPTEo8O3udG;KvOgHUkQ~Zao{85`U7o>QY}hq#1cy3+Z>yY5GdSIo)jGl;_#2mdGbn zHCkZWru{6k!M6IE84sxCFG7VZ>i{n;2lNs0@FY^MbRWhQUNUUb^I>LV>k# zI6!#J+H)BGD)_kQbehM}s^!$MN$5)cO2~7srC_ZW$EM+pdB5E25S(lYSWftHE0t=n zf*Mc};gFNc{FT7nw|<&NTDAV0z=Q7wFtPF1HRs9#<@f#CBdO%$=g4YQaCI?#rQKV= zodSG#33X}>@Wfx}dv?01>r!sn5R{rMda`rz5n`@{)fk9(L}tg6%{%Lf{aG+z_PyT* z9@&IxP=Ah1ayvkHu#Y*GhQGtp;8OXdBzeoKnf2zxT7Dw}K|#wAIvR6qZz6F$uq&Gl zKOk{ssQC*KAowm%d=q*u&AQDpezV3aiQL%;1iWHexCMbANo=O4fH)?fl+aLL^)axU z-vWDKEAZI6=E}PKb_mUU9lVouEg{wup7EZEm)Zg4hm1ro^G)?i@2j~wTvu)27ppJ- zq22%th<5Txr3e|6PI10GhVbP6W^8+I7pea|+?_X0fBXozf4A8?^Yei_TXxWjze&cg zv0KTNZ^HF!4kPoyT#G&EEVp%!rH90o-P{h0WA4P^d(i-4?X_H$xT1G-dO=^GW`#cc4tPkYF)HPA!LjeDAc)w&y;OJ_0^-*EGV=`RgYTJhckLg5 zd&bn)Hn>zArsyDX)iD39bF_-{d#Hl*gc+0u{R~Di{hJdv_vimPrx-cJ__auv_Zr{RKt^)`IG7 z!sFI^vyBU_FfSI3>ztG%dP!Wxlq4~Mo`#F(<&zp1iI=-*X?&bg>Tlq_TntWjpSsu3 zE4~(kG`)U*Kt6SnxaKng3l`>cSmJaI=M0gA)+3SN=1uz-ERXz)tdeg#&z5tQ+C1_c zM!aoK9=1-RN>rRaYsCF2ZY!@nFMpyLZ)YSaT)x70Vv^}evrB+cl& zcpf6#N<%>5tv3>6+gq0by|+G^#5*G&OI&&If?6to$}zxq=YMpNfDa$kM&uXa$CQJB z?X+ZZ=~5xSl(>#w%R6g?Q?_wV;L(BR(x*%c@C4n4(VeHpVEqaxa6e=AYDOi(tt|EH z+o4c8eXED3w!u}=vPEUlW&9o0G1b8*)EXOZyQu-6NL-IWm-RWpl$xj@zBk8CRN^X% z#H`Ka`)Ywc@hN6-PA(5Ke$BMRWEc2E)>->{NwvYqvpYlU$Qy)@)B*0Q-9Y0Ue{<`B zQHB*=>eeTPti0cS2XL_!mTs$aZOL+ILlk)FLk#R(*>^%f@*}4A-qr-TmzFTx1tB*H zps(}uX!<|0t~|iT>iwUw4(fKtI%B<(8v6`llrqXPW4&Y<`){TSh#yPkoe(WxY&NvJL1{?l1?+D#HEx z8;)`$u;7&TsNnw8^qb>^hvLl^49x(2Y&lYW<`dTuc=#t|;@qn(3D2hwB9cS!eWBxJzuCDz`gS6yu8+!}~)(tc{slT_s$648d=vK*Gua5D>H8qpdR# zc)In;@hv{^4}EcqzmhL{Wuw4NcT{z+N_@~@;JHQ3v3En_s%7phb8Jr@2Haz<5Kc;5 zSv2yoIa3ZBSr#v%yNjc53eYfdY$Pg(hp{4Kw;VM}38*R}w5}pUh;k)x0I#h#jYA6}R^FRF9u-30nB(dv!ozcs1oGV7ej*9jYtsKJab>xa zyxpShFIzo-5-Rv6ngg_Qj;i1in-2BTw&AU)22;Q&*wgHS4O4-q(X|vFO?#gO|5yjJ zD+Ad96olKs5*#D1JO@0~8b;=p^_oS3=`wvXb=kl<#D{+InB%%bc*;GUG$k*_chA-I zayR_28QVt9gMch6E4fIx-}3fH=0k9B9mYNHY^`4i-21c1zt{7?Lwdq`>efmkdl6Nz zex@b17>Sd;DWvY$hJ*zASv`ieND-e`{S!PxNeY7N>aoM%N>p-7g#T+k51>o=QCgrM>2Yn_#t^XD(M3Z1E4k_=wU3R&9XsANq@Y|}U z{LaiOWYtMUpu)wCs2F?2G)eFsNQy2(3q7Rq#!bMpx&Y_S-LsimI1!>b7FF4zaru$> z(a?-X+O!YAXs$Is-ITa8m5;7H@!VW}8!2RY&%@h+XV5_aD>QH?@zJla$$`Ko`74Zq z^d`!HLhzlA${z#wI~Zx~Zcpw59%~F^GoQZ?KydztrVnHsl$jeo?bbs+D*yCZbL26? zqYF^gO~(D>5a`{vZMv$W`JY0CU}cOsp260C4m?6fYaHj#L^Lix%tv1=;tKzLfePLy z(F#rh*Bpc3bn9R%9-pw$g}3AXZ{8w|2U-4eB!%T;!3dB3d@6U0#Brgfm=NB zUk>Q6%O_PcOfLn*lghQ@%4z(h_0IRkqJ&%7a+zY~w9|OknEAjui7WnD&zSyve@TVQ zZ27vi>-niHP~Mkv)C`YfDA!M)izK1@*bF44Lnh65k=MaoeFCY!nDfQrDQiEXuw)h2~j z_L{S}hB^f-odkmXPMtIXXEyaK1NS~}T4X=r9?BJY++|k-z4!|IcFbo^b>N;wP>d}V z^yr4mU+A;?sCq3_2qu|x;s%MUmfzbGE$0yOS#4M_YuIh>ESqxTKJalrYHk=#Oa}ej zrxm^I3!X_9)Fr{4&57YieN@ON0o--n8Uc@4>xW1x`1qbgi#e5R))aWO^KA`NzOau9 z{6!J^{%6wW5D=o96D;_<7GRXW0fB(&r?muqnw8!ZX$AW9C>nNAceMPGoYv*A|C8Sj z1w04$eH0afHxTw8r-GLVkG_DG@jSG*Ed=LUyVPCV0Y6}!!JL=4I$<8sd{{uUX2HeU zL$IF?9oboGXOcqiLLqMPrj8I0v*xphIsx~LHGQII7vR4CeLz9kU;h0l3)FCPce^!A z6rS6a6dH_i&Vs9T2cG^8LL#3PPL#NE(&I!Pq$LIRfK2E zH%-#`Y0&4<#NbgqApg2gLW4a&%LXgw;)A=(R1nE9EipX@j1JHhc(-OF#A{Q4`>f5h zde1;WI&ER{5J{T``Yd_}Q}NNx-7$a)(dp(K`IE#|XP;kXwrpB13FzHbtHPH1e!8NU z@%MGaUp@xEHUsqe4}y}TONW`|I%olIs|Ckrl7MB8XaQ`Yp|gN{dYk(zSLVoQp?|-p z&RnQG*NP{*2p{pkVGSd8n+KI^(`TGLfW^}qm#+X=`S+dkp@I8uGZ3#^sB!tdhbb6p z{6byp=TRX)6#~ywj(tS9kA7Nl6j`EQ9_U49@ZoDDUlJY~+)Y#J1%yfjo>+kj=^GIE zt`MVr64x2mOw*fsyvm_qntXE0pdX@LFRCc!NnF(|uoj4=UIQ+8lZh(4NO;IP9RAe- zy?d*vLETkKV;Ks(hdXK(?9k7wMpL5I(MCS9{NQzJiWQq`tpR-`6H$;m`@?m>-Ca$8 z?oa?ccc_fFYAAAeock6Ed`ZadIB=hO8-kN*&CTI=*gK#PO)x{pRf#LhmO#^-xhBl`}r?;R&j`iV{VTIHJ>!9gRi7P%a7ZMP*T#FACy-S>!k);*kd*9u5 zfIhcvSu^zk{Ufk%LQ|H0Civyv@Gfk*e5TPMekE6wEcDaCpnrspYQw8j*Ch4Az}V8oNv zf2Tq3ABLgC{n+Lk;Nkulq-S+AgvgUPPmIE;EAQfz3B1L$KO*+>2U<3s1rN_Jz|bU6}N&VRt#jrW|_^Z^mcfMc-oLoT4-nytkI$r}b^E|NlL znrM-H;&Ruoz$0_v%sePY{svt9ir(VhU33{)b4jswL392BoKl#goEy(h47%IQt1GSDH>ifJ!NT#1Ukj4}8HwQ(=u{wL6@7YV=1 z1^Q6B8BShxYrKK*95h2zW&$esjw8IXvBs49pUwgKsLk*?!YWTN+baN1Ig25{%}q)K z9^QfR?j_x}R0bYAYMO0O72y6a%{{hQHH}vgu^-LlOnVRO)~TO-RJw)6!Vbkr){wi) z>$P9j|9+MZ1-TMe^nNv4%0H%GeGjuNwpl*n_T6XlNfDAVen=RfWaTO~Htj&x^ zS^z(3tv63fTz5;(ElcQJ;^_xSqb3l^mMHcR7|pd>HsE2y5S*I_$@dxH zlRn4f5}Vz;ho;(Yo_Q^wDF~GHa=s-UIjn+U{{viwE^8 zFYi{}_NVR#2gK77Ry~tz-5Po!3wZh%1R8GFg}%Up&!EFNFf|(hv02vr&D|PziMw|6 z(z1EK?YlvWj~oMHa&28uo>a^Bfl=6+hGG&|iiW4aGQ2Zb|8daAtefN;B(CTqZ864J z(Mv;s`=62v5#@uN-pn0}g6M;oFgY=IkAwhWtt^6s`>e#P&J)CkKGV608a6@VYRnYg zcFRbQ0r4a%xaqXGfGSLrxSC5^55}nHP1+@+5&J^=t39_S@C_2zT{#t9!(CRv55eK- za77RCuQ!gyKKPQITW1!35q^^PbGQX}J_`Y{3)s+GMv*sD;z~e>HiemfP%bPN&+nwb{z5z> z3zX@^6ik7 zP!=e`Db|gHv_%jQz2BS(juP&r%{vx+busuPT0Zf@67ccFt3WO7&-Wc$ETtBFfcB;z)FI3P9l*mZ>^l@ZQDVH-U$jneN)-EoBnA!o zLu8SSz}04&5+7J!E5w~$Z!`KL*P8anzXv>K1&k~2L$Gh4 znGVm`3f%Ln?4vPK1h1|Ren_4DoH>5J+yOkt3i3U60?)AW_9)@WbXpp(n<2!LyV&OQ z<&(D67w9e4;PXAe#WZsjeQq!Ckm#U!@nQS8{m>w4ZD5^{xZ)kwbSU{gN_F8=7GRp2SsISdt2=+Xo?*7F7MleE&~G_&b3@bR3e zt@&_F=yY7+(jDA=(scpfzP}&~)DRS%(JRcT%qif>)**RE!n3R$rLPGuv^Jy1eFcTw z`(+NL#yo2@?`sr9>H0`1t(H7XBRu^}bJ-F32J|T}V#48>vC&!Jx%53+#)IFZ0g04X zdnA87=e+wPF&eGHp!~58{a+zU{iG_mMCz6-jqsdb{X7_DSpNB%#I={vFIw=@<2d2r zwH-Ad-tisyvz+slfFbL!K;_T2j`;-wVsDre&ToV#?*#54Men=_`uMPk57)R$d_K

          NWtILtXLpVR>G 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

        1. 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 z

          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

          6VA-4Q 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

          !>uWDqsZ;o$rinZrO$qYd5LC`!AQN?+Y( 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

          @K$0{{^E?l& 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, N, K); } -torch::Tensor gemm_a8w8( +//torch::Tensor gemm_a8w8( +void gemm_a8w8( torch::Tensor &XQ, torch::Tensor &WQ, torch::Tensor &x_scale, @@ -160,5 +161,5 @@ torch::Tensor gemm_a8w8( { TORCH_CHECK(false, "Unsupported scales/output dtype!"); } - return Y; + //return Y; } diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h index e11d3a70f..903aa4476 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/csrc/gemm_a8w8.h @@ -1,6 +1,7 @@ #pragma once #include -torch::Tensor gemm_a8w8( +//torch::Tensor gemm_a8w8( +void gemm_a8w8( torch::Tensor& XQ, torch::Tensor& WQ, torch::Tensor& x_scale, diff --git a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py index 15cc22e0c..e38df9caf 100644 --- a/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py +++ b/byte_infer_perf/llm_perf/backends/ROCM/rocm_kernels/setup.py @@ -26,7 +26,7 @@ ) -ck_dir = os.environ.get("CK_DIR", "/mnt/md0/shengnan/ck_upstream/composable_kernel") +ck_dir = os.environ.get("CK_DIR", "/mnt/raid0/shengnxu/composable_kernel") this_dir = os.path.dirname(os.path.abspath(__file__)) bd_dir = f"{this_dir}/build" PACKAGE_NAME = 'rocmKernels' diff --git a/byte_infer_perf/llm_perf/backends/ROCM/test_gemm_int8/benchmark_mixtral_gemm.py b/byte_infer_perf/llm_perf/backends/ROCM/test_gemm_int8/benchmark_mixtral_gemm.py new file mode 100644 index 000000000..a193b14f3 --- /dev/null +++ b/byte_infer_perf/llm_perf/backends/ROCM/test_gemm_int8/benchmark_mixtral_gemm.py @@ -0,0 +1,144 @@ +import argparse +import json +import os +import sys +import unittest +import torch +import torch.nn.functional as F +import triton +import triton.language as tl +from tqdm import tqdm +_path = os.path.abspath(os.path.dirname(__file__)) +sys.path.insert(0, f'{_path}/../') +#import vllm._moe_C as moe_kernels +import rocmKernels as ops +# print(ops.__file__) +# exit() +from rocmKernels import gemm_a8w8 +def torch_gemma8w8(a, b, alpha_row, alpha_col): + b = b.transpose(0, 1) + x = torch.matmul(a.to(torch.float32), b.to(torch.float32)) + scale = torch.matmul(alpha_row, alpha_col) + out = torch.mul(x, scale) + return out.to(torch.half) +def get_MNK_shapes(): + MNK_SHAPES = [ + (1,4608,3584), + (32,4608,3584), + (64,4608,3584), + (128,4608,3584), + (256,4608,3584), + (512,4608,3584), + (1024,4608,3584), + (2048,4608,3584), + (4096,4608,3584), + (8192,4608,3584), + (16384,4608,3584), + (20480,4608,3584), + (1,3584,3584), + (32,3584,3584), + (64,3584,3584), + (128,3584,3584), + (256,3584,3584), + (512,3584,3584), + (1024,3584,3584), + (2048,3584,3584), + (4096,3584,3584), + (8192,3584,3584), + (16384,3584,3584), + (20480,3584,3584), + (1,3584,20480), + (32,3584,20480), + (64,3584,20480), + (128,3584,20480), + (256,3584,20480), + (512,3584,20480), + (1024,3584,20480), + (2048,3584,20480), + (4096,3584,20480), + (8192,3584,20480), + (16384,3584,20480), + (20480,3584,20480), + (1,40960,3584), + (32,40960,3584), + (64,40960,3584), + (128,40960,3584), + (256,40960,3584), + (512,40960,3584), + (1024,40960,3584), + (2048,40960,3584), + (4096,40960,3584), + (8192,40960,3584), + (16384,40960,3584), + (20480,40960,3584), + ] + return MNK_SHAPES + + +def get_M_shapes(): + # Start M from 1 and init gemm_a8w8 at very beginning will cause inf error + M_SHAPES = [2**i for i in range(4, 13)] + [1, 10, 20, 30, 40] + # M_SHAPES = [2**i for i in range(4, model_config.exponent_of_max_seq_len + 1)] + return M_SHAPES +def main(): + for m, n,k in get_MNK_shapes(): + # start_event = torch.cuda.Event(enable_timing=True) + # end_event = torch.cuda.Event(enable_timing=True) + # start_event.record() + a_s = [] + b_s = [] + num_calls = 200 + for i in range(num_calls): + a = torch.randint(-20, 20, (m, k), dtype=torch.int8).cuda() + b = torch.randint(-20, 20, (n, k), dtype=torch.int8).cuda() + a_s.append(a) + b_s.append(b) + + alpha_row = torch.rand([m, 1], dtype=torch.half).cuda() + alpha_col = torch.rand([1, n], dtype=torch.half).cuda() + out_gemm = torch.empty([m,n],dtype = torch.half).cuda() + out_ref = torch.empty([m,n],dtype = torch.half).cuda() + print("self m",m,"n",n,"k",k) + with torch.profiler.profile(activities=[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA, ], on_trace_ready=torch.profiler.tensorboard_trace_handler("./"), with_modules=False, with_stack=False) as p: + for i in range(num_calls): + gemm_a8w8(a_s[i],b_s[i],alpha_row,alpha_col,out_gemm) + print(p.key_averages().table(sort_by="self_cuda_time_total", row_limit=20)) + #end_event.record() + #end_event.synchronize() + #dur_us = start_event.elapsed_time(end_event)*1000 / num_calls + #print("m",m,"n",n,"k",k, "dur_us",dur_us) + out_ref = torch_gemma8w8(a,b,alpha_row,alpha_col) + assert torch.allclose( + out_ref, out_gemm, 1e-03, 1000), f"torch and ck results are not close\n{out_ref.shape}\n{out_ref}\n{out_gemm.shape}\n{out_gemm}\nmax delta:{(out_gemm-out_ref).max()}" +if __name__ == "__main__": + parser = argparse.ArgumentParser( + prog="benchmark_mixtral_gemm", + description="Tune the gemm kernel for mixtral.") + parser.add_argument( + "--TP", + type=int, + choices=[8, 4, 2, 1], + help="Specify the TP value that the actual model will run on", + default="0", + ) + parser.add_argument( + "--GPUID", + type=str, + help="This script uses single GPU. Specify the GPU to use for tuning", + default="0", + ) + parser.add_argument('--model', + type=str, + choices=['8x7B', '8x22B'], + default="8x7B", + ) + + args = parser.parse_args() + + print(f"Running tuning for {args.model} model") + print(f"TP is set to: {args.TP}") + print(f"GPU-ID being used for tuning: {args.GPUID}") + sys.exit(main()) + + +

          Rr;_b2v{9JsX%HLbf)Bh7&|#Pq-CcTj@{Q`N=IG$X_bYL`PHlg$YM(^hmiVb2kXaS*#{TSU} zSAl^#C}8J#0Md+e#OF zdVAiQg)B@VSxq}KGF(q+ZDU3gH&R1g_Gc8al~C`hj6!#irxSkc2c7CCGYEC`VdTA= zP{Znsc4raVRE80L9z3FzRT!n@5IR!ngcazy`SVCsc|0j8w$66I9H_utp*#?rX#dKeyWpXz&y@P2(ru~VQ$(6S#x+@Kg6h`sVipd=ut*K=EPOK%xI5=D?ZTqpI}s>qFiMsqXm@-wY|wmV@>Gf zRYnu46I!yD(d!zn@>Th_TCUi+j3}U5BOHw6d*|HKz3dz_?=vPas9>0L0{quB2c*xtppx`C!#vgm++GNADp zD~5G*tqO)+U0WL%EE4Sz805gvZmyjSG}Tv0CxcdSr@O0}20t>ipogokA%57OT_4vJ z`c8)2zGNRlM1QhwU^I~IC`gMSznf4ni11s8A3`<*?1qu81i8bBUkOIhgdalMXtH(j z^UYk38sve=IM+1>27ZthL&JU$Jb~;fD457NelpohU^kU)9OOb{#Air&LF?`X zyH`Y5LhfsJjCf1-Ef~Eg+XB))kj1k7O)+Oc{Aa?a!0sQySg!Acv2lJ9J_W&=W@uMJ zyb)P9$Te+-8s|Woc{B7|48ay;GoZk-8Rpyvnp-u)&N>1GS{ld3tbkTi;v(2rYUX1| zimEbURE=z3NUKf@_l1I*gmEKVvRG6*vK=7To@_UWs7v+;7}Y0h326<;WgA-)ya#bDQl=3|`g$zq>(#BoiD1rXA?8CIqS6m%iSEfC+8Y#i8i zCr8|}OTS@pc*sW&2+~3LK zyftL8&?#gmKw2u@jxQ;duXa8ze88cn*7frxUdcxN3Decq(B3=-l14ge1W2?Sp zzTh2MCy4(*wj0>}P4)=n7LhfDh|gpPfzdx?M?u75w1oyP#L{ z??+zn-;b;rfe+U>d|M97zaOcS3va$Rdu$Onay5NWT~KYeHVenrZqWk&=hkNKrxtT> zKkZQC6+Ql}k{_V#l7=QH0RQ=~&D?iS(~ye9Ng?>!Xtr8}+qqQ{j%D0TOvBi@zwjyJ zR!Nh$N>a6R+~rDEOxhH$M1QwsBR4T>wnyBtaI02(qKWjpyplhE4~^WDJn!2OWmL4A zJ>A%I345;jx91x6%u=48jOCgg*t6%qJ$tg}Sml|`o)+v`_1~UV*|Q0I+Kyw-3qr9@5OBkH#^gX?6C?=EZw{e8hpv%0!26G0vQ^Vz=ukgYCX6>;c{3OXfuo` z>lSHcFkD=#?N-Bd)J(b42JyW%Ce~!8OsvJ%T2h(=lYNDsom(aRtiA4bZndgCpCM;d zLzD9w>qa@OW+r2EStIV*W46b?eMuGG%AR+p|I72Psr3Aq%$~07Ify-f|F`Gw?73Tc z{{2R-S%*Et|Lqyho}-oL9`<~KE|`MK|MslRo{iblb_{!_vFFXWf5mxIwt>-Gan~NR zJ&-+wFstMC!!#nxfqt{_ny{$rW^2|zO`>`~glAoJJ(nxtBr&M2o4x7v(-NH(Np;=u zm+pUxT=EInDMv?&_v90FQlg{y8}M!phE^r)M2C8AwM|Vy4&$HW)n-9Cx(Va@=sIY(B)5sCgu?er^iA|9^l^_w?eG`b5rwUhC{-LHl$s*Z zd-1Zqn*;t`dzA)gl0*wKPen`vbaC1zT|C7`LQDUUXpy)~XzT%r{!D6!0XAZ)sgZDO zhygmSmfUR76G_v{8zs6W=8@~btr9gb7W>Gx-3AG#iYEpEUy{P!{Ik4WzV#mv?-d${?VS;%#?-Sx~9F4A1ZG|)38xNYt* zBOIM^?|DgbhlZ9MPcLV;at8RxW6l_ABW~vlirR;irbb!bFZh}+#*Vw>3ZoTMQP0%o zmO8)D`|=!*H;$RU+#>zfi4HE9&gz`b56WW|&8ozEgjC>JCtXnbDhAqSmv!L} z<1^@`V$AeR5%;WbMHY4^UpFU%8)PXnBGwhRThE>Nml{jQG1G5LWst7oh${v;jay_+ zB@W1}8P2jymL7L_O#AmG-5#x$NTyL`-ufpu9#JNX2fzi=c;0c>X{=8B~zyg z@BN1McIJpDs33E*xnaZ?c&BPrdDcYqz~5t&9;0|n8-Gz3@g#2dW@ws@A8Ik3QS*uZt z-CFA1BKcM`Q!!Qb%uPPRpD-hQy>L6{wNg?`TMlwKj+tI%G22C)7hOwprH4gr_Bc(m z=I~u~43BAD&gz2fKTmq!P>hM5Il#9ZPdi?xlQ)K+!a)1S8QlVJ56cA%@tJ)qmPvyz7i7RB0c#vYLi<*xTI)9V#u8D=g+QZSHB^+Rj|rkBSj`<{Mvk z-RjD9w1f3b5?AqnVm$RsC9YnLdc3!dFYdj5w%mKB8f%MVrdmGso`}A_n9fK}Zp->S zYb(uq%GY)}k7>J{(nUODv0Sfg1CFbXp4rZG#wq5@N!^@C)^bZRXZ4I5Uw7UOdGAC& z-23u6xkIWNJ4j=9@f)7-Y0nVSm_e-oZBqDTjxR@on2+~TFn86MLX+m_q>ObqeSIoA3+3yxOmj z0kw7FS#txZy%=c6Q8O4@AdiC> z;=-Z^2V-{e3zF#))vh?Ei|8`9zojcPQF`V8pGpH1=EuDrYHTWwnQrIOr;EiQc>e!X)Gcz);9_)i<0VX*W87&Bw4aXX;@-$l*Pj)0 zTF=CAleKndMZfDAzil$^wakdawDemAUJ(fJpgC2Abqjoks?IfEF30d$v;_uNW2#)C zkjJ!HhjsCk<0HevlXso1XWB5cP%+*0%yquqK2%HtJ#&e>uZb5Y!LcRfkq^muHP#Eq zOlxzDH^iux*rnNXWOVhsdDcFfwPm^-o5Ew-;6u8INAp2-Q85+uO!8zor%$*z^(}H{B z5i=sTE$+~fRWuFaUDI*QG>H2lK^$p|*UL>snYBZA^+Mbrn793VpKft=W1q&1h-in= z^ zW7_z=x`1X(l#Epi-l?me`8G*1k&3COXA-y<_bKKp=vJ%2*Lmrdymy}txc4@Gmg%j= z7UG!ca;{>ANbP{R)3jpuXXM^t5x0dJs~C!!wlL5ZX6tr($-Vtmxs4&WcCA^&e7)Oe zJ{H$8BQBEL2L--|;&!uGOK=-e))P;eh8^*gxxgp6Xv1N3?}&bW<78ORc}$y@rHkYr zK7YL1^5*09%wN3rV#T!7Gufl%YL69DRnJTqBN^9ryti*B+xIhLfxhIhg@-Xam# z2~!u=p8Zaf-^1UfAMlvgWsfe#-}sJFsRPGoqGty3nLSZ4w|491o$O7jhBnqmg)nd*EgK2VIOo;k&*lwW7w+a?V6uEhuRIyKgo#%hn3yK1_Keqnf{ zZp3HPfG#|3E4h5;lRTHlv|V=TLf*zTs}sf{*U>Y{oZY#K`I4cV6UkTj3&ot(Ge`J} zY}=LhPV9<%&)|O9p~eo<*c9$Ni*6#nD~22rCl!q9#?vZy!%n}|T&P2n-^ia&JGjgFNo+)_-Go*Br^R-!*g=dNdr`EjSWVoK?mx7_Fn%!u~A zu&{qAFqJ^*0b)rn>;PBp?jZv>$XmTI$d%DDl%+hTwcDl(vLk!HRm`WYI_4W6DwPIu zkf-%bUV>aLMlrwZnM!=ktz||W?u~nA@>TRzjlIG#)27@?-IDs?>1E81@L3TYaLYb8 z=?HIO70H`tZPA6bez4p;S~0Wr%*Wx9xu}@#dgcj-;1I>DHPAC#_y#hc8R6I$_pZe$ zd8WpC;h1SdJ~Nw(QGGGuwcIahgE-=SG^-Nd(n=2IJ%TsuB5uXi9-x?tdZsDgc8)3L z*(Tkb1n%sbLwL3QdZq(wiDO2j^uyBMSKxd<40SuF!Am^shoSc7Dy|;Nq1NkUC#~PZ5VI6SKS7`7Ap+rIj!}~C{FG;W`xB6-1~B*EYcM< z=1pTIx!8?Ih|mFeEF_NLSXU9(B1-zd<}q!=MqRA+dG)pY$!QFv)9yH=Um=(NH z8hjo+R%6W~a8kf%-tXjk-G1BEW0PW5>6sXQ!!9v~=M2>|i}}g44>RHoZI{U*98hD` zBC!Lk`F-@UaEinZXvdA|Hgk!a z+yO1eal~I!b*t6wBQqGyjOY`E$+)P%LIn7M&8blsqx~r9*CmEyd=`ZsP(aj}mtjQ<$RLZx%m=8II>j_UV}-J~sL(X1<D_Z8duI*CJmfIYw$!_Yv0J4{ z9DY?jQ-dFkVwe%WLvXueEcU7z8%|>!X>)(q?R$n#w7^*2SLm6I%&b?;U_G;llY?JdD1Y|jsb?1R zqd{M0gw1f=JAg0RLu#z;a7=*pbkT1(203Xu2f39TEAi2Ci^sHGR_lZ06WeVDdmD|w zB?JTQmsL8qB7P_+Qp{OBv!w@L12cJn#1XjNde*mFjUA*#%i{MI`r!%mas>WBdE_ki zt~?T%3kozR;1DkvEv(e-{gR)e7bs?~o~gj+;tR#}&@*m){B5_#%W95eL_mt!Zz;;~rENbU{S#q4p5X3gP>ZBk<<<8Z?YOE}_BOLY-z z`S~V6F{ky+4_=^1F~94X)G)buH+{^Ea2$_IcTD1a zdLb}4Dn^aRoMrQM>m-=kHy*=MZ=I<;rVU=Ki{uQy{aLQ$NGj@?^(NvL)qdwl zt}W7S;mprM3l+0j&wS%jerHDPrUiy4^8&5)ZcZa*jQ5xk7LzcZZCnD6HN3a?B+Q@? z9VTH#KdP}+*tRCUZQq#F5EZ?ANU9Pvv1Y1!oQ7J$%>ktY%X%DQg&L zPtMnEcz~Put72B^nMi(?=)RuAAF5~S@{P90%!`-TFMgZTIZH8xb9CE&zQsG);eay#aP^1>Hn$5zT=qbEcWXqEaR}uK726k-^yaT$Kk9~JXU2J z?~yiJ7gw!zvXv$>BeLQ!pEs3TOTAkdOK$cDFHlv_)aA{Sm=V6yal7C6Sox^NhEK=q zrK5hM58QWY2d|olP;&pQ_aFaIN!K?kD zXO6UybLKN6cFw>UHGHdms>bfkz(9g`s(%BYi3d)Z)^gJNogAtAOq}EwEXPV@@L1GL zoYb3vR?N~xa)NK32NW|{&s^sQsj`b>^wcw-`7S8=OkV*F_Ro8r4k<# zSJW8H#x}+KU8|BtFbjS z_Lq7l+Ans^p*JBe`QZIL?F+eNaQmL(F|Cn)lm2{N*Ezu6UFKr^2@JGbr|Dw3z*kd& zVkYaER9-shATRJ>E^haar;KvF8Z)1VV+*>=u@Z+w&3X8)(fbhl4<>G9Tge?%V`3f# zVSQLSXrrd;f+)>5qsfYK*E5GWiMJI~O3yg)_2zzrw`)Himrhe)>U`W=8zlEGdsHl$ zPc6uWntGJ|Z;}6V23or*x=_yWMbq^d2l;8Tj#xE;c=e%TA?}<^1@W}qrS)x{_ zc-Fo}80uaI+Te-0P>=B)&i*vJl}|*ssj+k# zJHa>M+L!UqzVWKr(NDT8xy;kdmZ3{uzVd$ZnD+0nx=r45$iuI2$S3toG9TP`6that zOlu-{XnB=)IJ(TOzNTy)@oJfyz2=!clwa=F!4SXBHBz`u#!tC?B;4Z4{&o}p9D%=Q z>gU52^Sx`qn3ZmWGzRgS8C`A!ZxFY4BjXTZpD@r!TnULYFb0$(Rp9lygplpDDL9 z1hvmM#NVC%*09Y%g1loShJoedawG=!UyeyVrwa?GNhzLVKTwQv2P%tx0=dM6CUhqtw1Z1f0d+VLxzR zF4-7Ho^?wyG;IH+p%{eUWNL6l%(&2zP}Fj|jhp*uO}}?xS+kD@UY`zwvL5xP}%M zztE9*Lh2}eTk2Shh;@|HN*z~3xkA+O@|aw*ANUrMj@WywLt}VPbb8?yTlNWkrSrcU zbu>JFK_Qvp=c-YoMnH{sgujWS-`%ug%?CG2gHN#I1C1>b6^l^iE$}KLh<`HmnN(ea zZeIxxqbaow`oNR#1dFoTyN77nJx-GW8A@ZmV_UIC-w!YTf1e)SA~kv)k{XX7VvPZx z(Rrbf;Supz<6hg;db3<}30N4qqsW~{Rk5%tChl=%Zx8*i#@n#l#2q7w2J7G4QDZQ? zElv2Y=x*U&+h9CQvmjVT6qZGp52ecy93;kR5!%9PEx{aNSP@|X)U8Nxida$^VIRn@ zOt1)StWj-St9dfACUeP{55g}d=ZcQJ@e8$Y7D%=9cpgM_tkfy{A5btZD*b5#0D|QIXw8e-t_?6VJ?A$#KPCz|-im-=RTG!oy{uaG1 z!K+ZOfjbuODBN`*+)V^Kp`I5o#EIYx(a*(QD+-<6E%5`TK0DLc0UE1qARxhoU?X_b zj3fv07flZsE+yBDDVChF{}+;NqNU{I1Sz=&B9^@Vh?G1)%zzW+1!De>1QiYN7X47={V>YB6n7kA{#c5A~O)NNax{F>ucUZO zhQg55?z=PwmBD%q(HSB>1@&0LwiJTfgw=Y4y})ff!H;6yMueLoZzDk;aNLX)ZD+{e zoND`nWSD!J7mMxF<`-fg7)Y@_D@w5s5wY0*p;D}EWpR8f9>QKFq}pBZW-F<^SVgJr zBs4ov?b6f#Rl6FN?Vykvi*FgI_A0pVA~;m6-z|@&OS=hPrTDd?Z8n}ej?g=s#`46; zy{PFlyxdE$ujsNL;U6$*KfwU;_@GRH=^=t2Mf4GbQIK?mAbzCiF>2{1kENzgk7NQ& zKAUNmL(!iz)}~PfKFm*E>?ROm2;uXpKv&r^#AOTVm&QL`7tapws(N~aqk?<^Gb{PZy35_ljOcLTM!ijL;DnUz8_A}=rJu=r0pl^h={$-Bk+0{6Ibla~Egvc?FS zKA}@~l}LVyHSY|!o>GV}AmD}jehn7*$1B2lBI+$FI0_5i66_}aevfb_RQW)#3e5bQ z?o_kE^)un>kn#@+T=s{IX7@HJaP6UDfp0!P|NjpbBX>xFFON%sqY$yc_utWZq0w&P z{2fbrZo6F4ANqW!lJ+^N^gR}%4Lst?j+pRYeO16vkZ;R!U(coCw z1GOgpp|o0wfNH3)-3C{xQAGaWRl}p7k-Lc6$ zIrRy82wMk)Q=x?eL9N*3h_E7DcO-~k4DRfKr_+ZqG88Lm%$v+BR@eUMFVtO(k?Ptk zkm@cWVs#z!q&llb;!0DG+NKT1$u-x(&!!~raH5ij#c}tDGYEra?jCr!0;4IUqhk9Q6yFe@jUjkkbc{jqb`Tds@PK$W0ptG(WhN3#65}T$G=t>H1XG34 zG=xo{{xpJT#IiVq2Vrj#zfG$9-&hK!Me-*kFSS_T8{uEOZQR{Npmq@UI zsI?Teu7D0p2{sh_mSgzM;Qn%g7esS`uqFP!8Nr8eZ56h$#>f-qCUa@utwsI;R7fE{ z24dGyX?K^Dp;_6Ql}64h>p?k5Qbiesm-xWnP?X@r`RwM6(i4_iEirkx{tktn=?dZMB9MS`X< zE}sr5d}F;z7~fd0BYgw1uM->rHn*s_R_A4CP0o=qfBF*ZC9m6&RemA&%|$79SV0wX zev63Zj<%6<@s0Hk7Prj>xg@@^-XXOQp4R6lBYb0hfNIO6{#R`)nE8+*`cu4oglZ2! zy~hOcF{=R8;tOj5L409-N^-ix-RFegir`l$rvVIkMerD0c|&v`NO(`U2;O`od4aoR zECVv6yzQ5Z<)!?1_Wz#}Z1zZb$)}~f8i-ildP6A>-%dZFyeXM-Nqjr~MDi@oD|z^K z`qd*&qlt&0ZytN_pn)$xD3ng3zXARuMO#>G;EC`r@x{=Sp4Y0EBv=M!8+&5lp5S3d z__Ekg3hAkEsuV%3Xj}&2W(X@o5I^$S(i3HkSs`Oswp_}J-dil|;-g>4YQIv-I+reG zbwI?jE*GNnLL+?VwDQDv&Lp{H&E*hh*9|F%SGk3+=THRq&u zd_8sa#MjeFa!GtWb@arNj$EOnWTkf2FU74^1c{chS=or4NHut_U@T8N$%r zvmyRK%*mbTVPcgh#@`GMc@o4go%KQZ1={!!Tnt%$RQSJPP$1z2kRR-c_m(TYWGo+g zN_qd_=j8JR>G;Plu@Na>2IN?zuz9*`i3EO%S ztRk%XAdCmMJ_M~{T|X4p&M-hmV(Tx(y#23*>Qg^YJQim_1Ls8x3O8-^Y3YHC}kp2|khNHU9;68%j3$cC_s=Ef4 zMiCq)qNjS|i|80nOMKMnJ%+~ai<9F}Q(1U9j^Gy2WdcG^m^6XlWq3Tvv%g8(CiXI% zPIgk_vi8Li6UY2QqD4I^aeo=^9ToPY3XOP05{z@UfY9@Hb z;U^n*n(c`XvkSm%9z|j+MlV1q=8(F8;6`DV=viB1;sK6{p7b*>5KE|XU!m1<;+Mki zB*ORxxr#8pLH5Or-S4!{=ay`~6=Mk>*uQTQmG}%BQO@!n$Px;b3Y7606aBCZdybczm z6Lu4S@5E9xfGQaTkHO4Lq%|hK&@783rvOP>_F6`{`xP1UMpcU?z482oq>=CFlQmsl z8cRu|5V559eo_*?Gv;7z&b^UK;yYsw)uzvHN)f&@9>Ut}fDebLHs4_DQ3`FDD0c#D z69IlF2!0b=^Dywka3POim}qtyVPoidn&2ssdlun-cz%{(N73m5LVP*AK(My>^Af@o zFwQ6F3L~$O#^aY|K#%jK#;+xcHQLnpg~pU?Qls^Y%9M~)M69uvoz#f$iq}!&w<~f< zd{?|q8WUgF;~P4@E8g~uE4O|-(*LTO<{ezUO=({xyzb#8wjCzkqX+}VqX(!x9xNXc zv=$Q|Vf-Uu?IVO5<03FE@Wh{VeTAGt;+KN$b1L#-xc-uG82G+Hf$ctI%V?~mF+cqT zTTMQ(v@iJ!ffx5lfo(2IftL`mz>a28pjE!O@($0ChI{3j_`3Lx6dt~;6yob*5%y)$ zlK(2K4;zXoq@$wr7ZkV=T7Dtu37KC#@o_W}M*JXbpLN3v1V6*@08!na6sFMNwkmP_JWq`4Q$dy}o?;ag-`ueh@FV*V@dHjF7p5k`x6;1jXg8sRQDXHBq$2(9g<6)kPNEDbtAxDAax z7sqR&%XxTOli)ydq5ES@ZGsozfj#N(6f1)rGfnF6pINMb=eb|#cbp;hV=R;`Cq!J| z%zUXI-z4jK;hSWfToV8BG_{@=y-EJA5`b@#4w!&xJ^nWVfsH7nXtCW16R;hgIS~vL z9h+bR(jl%1!65O>1>?tm+H@u8!;0s-q2jHO>_%hwaj2fu0`aidn=pQFlOIkggb+W1 z(_m)+NuD`C#VD-+2qLvi6A4+4c zqIqYGJrss@CioPtg^{#1FsD1=rZk0qE>NK-!TS)~o22b-F5|coBBgzwS}e_C#V@2K zwvy6H_m$EXBVuXgR!eF4^4Jfhy=)*2< zfJEJC*!3zw4a1(+dXa|Lo<}d{0x?r3+X%Y7iteTl4`wzq}n5hSZ%;Gsn#$= zJf7l(FOLp#O?-Kr>g7?=pp3F2_!0KO!g8TkWzjg^>!T(m zNbFkYWd$AyUJo^zS`kdS%tfkH52k$Pd0nE{35$hZWehYXfjsKG$m^P+ra(=%Uh0*H z(*t<=_vJXIrHE)l zGUnHX>qf8YH5^Q20=8Mp1T;d#3CIYO35XVBH)6SieC5=iux_JQ-IAL5Hlp=(uW|Th zO z@9meAsXegnjq0Aal&R1x znW^YKGE?F`Hj2ztx`s35uvcbk+j*I(Mu=1+nG`qD2Wq6ZausZ(50t6-msF;(lRjgn zCP4mYudDcLFBdrIoNt&N!}^a^m{~tD%=v#wF6)rDym}H1z47XqeU2w&mh{F9EI6$u zEHm-OE>epnn-W*+gyN=_LT$P24?*RQEhAq$dOHo+{qhJ*VVU?4GLL z)ID4E-DBgOh;Q|wHN0~*hSxW#Xd2sMG%1@n8jsrEn4wxb6z5V0xl#w2^QlWIY6lh# zC`Be|JnGz#q?XK3GprnOMuA$*+KIR!*^2w_jGXNjo@d;YxEjlugF;vD`z1BLdzifK zNl9r6>wG9Fc;fhCQmTaVZ8ADSCdFs7u4i_OqgA}EYB&t$o|(oygGlwvUYQ>}d;%~( zLF;6GuxA1&Kl7*Sd#1T}qIroHNEhE~M85>Dn((8!_exCI3?*Y%E0kdq%aP`^ri4w} zpt!7d$jx8D+@bc~bRbP-l-bD}PvQtQFS#qB4ROpR^q^!sjZ?{p>P`J}f4o{Wv_CF- zcmcbH51`b1gPM`5U!o{A`94zAJ8v@POQsj6#$f@cCf%P~rz^J(BGo!eid$zewa!Gj z3bxJ=**f9+))|4V69l0nsdXA*%H(O$cr*qUJBxy@`$`pYf`7 zCQ<7o_T^FM$&`bFZj7vBDF`$| z+4c53%1;oiTS)n73mJ=K>r|A=qASS!6!a+0Px?UBI#sxJ9JzH6sn!`>+&W9Bbvnvb zuyvNm)^XOiP7>y44&*0Mev&*@V7pdfU_X_HoYj<{ZLW&TT7%qKymgVjLu)ZV8e>;j zyw2O)Kx5&~!l|lD{>neF_*B7xJp%d9z>;6xJfirZ)} zwNd@zHrglKsFc2q4q}?lLFge$Q<0MjsPRz@DAth!@;F9m>R3l{F1g6H##@+dqdaP( zMqqJTwozFgbv{FC4_K)gR_Ad>ff;kw7l;cls>2QY{StEc5xm?~m%THL4P!7m+06Mj zkt;N3?)EK83wF;v**&LZTB1+NwCu1fPD^@u)jelrTDCo`NNH;K5^=j;sIA!Bap7kFlwWaMx3e@TZDC=NaYcn2F-DULtoEzdG5- z2ixft<*5uLzNI`_Jm=BOca)101u7TIKH`jsN6aPvP2B2YZt7>`HauW1;R|t}Kkz(= z`bH;p)DtGd4Seu&s|__v`rze;ePrY_USpY`DiiiDMJCMZg#Z(uYBka~aQEz!Y1)BE zbi%WogWYpS&c#E>)Q9e02UMEy>8G?$BK~wQ)Z7QVCk(%vmk%LJAMBoo9F9j> zAIwUX+lq71BG>vLb3WyLFe}r*q7sIxNj%1*&XrMs;ht-1hLttWD9B;Xx|$CjP_}y+ z8P_Dw5?Lw_g|ClP8Xv_~4yt3OCFW zZWu(WVb01-;GN15GZC~$u7bynBV}U#a(%-z#Z0V({HBzNO&eA0yP9F_KUK6jZj_1o zX^PA8MDFYg4)%~2Wg-C*eJK+bzw>COAE}L4#wa<6(1yi~5?c5iHqk^0M&TW(=xv~8 zCsp*$BsxD-hWoCA6n!6SuO5C=Saf=4F8>fNKO$BBjm6~;qw+71t6=%N%JL7_m%j&! zz6+r}NpuV*gUjCsg~4PF%%iUqJx-O#Wq{8uLyhq$u#ED-WA$e=dpQrHLQWZ|ysU=$ z;PIFnpwu zD?SiH|DcNRsH&7T-a!>_$bot6q>6W}t2DS|V#V=y#4NH&=+9d0C6=ViT%>~%MX%b0{Mkbjwy@B{y9LAL#_ zYgAq%){t|ZlJHvvr6KDUC1D37-jmh-DjL7Xn?mM&O2VXf_)UiNrZ=?!7nu2)xr8T_ zgwGnaK-4qpgij@T_3+mudpXp6r)vLR)_%8?{Vr3=9&J`E+rdE9K3mGJe@@EYfk@Tf zxVZKosrIksDp>o!W$iC2*?8E0LD?@M^dBF5frEP-r^gTK;}KwCPE~zZ!Ykjf4YW3UY(G|a}Ze1l@ov!D~zVvgB z1v13w`BLaj;cD%RKj%o~qHg4(B2q=YUqH7qJix7ev8X5IR4l5sFCE~U^+m1en~2|J zl3&voi(2M@ie^`BjHX#O2cBc+i&|gfKarBw*zG);=|FOu#l zDeRiy;)?~hU!b^9FXTRDF&FMlQinlJKaz^qvp-6$l0Q(!`)+`g>U{{WSN`!urtr7+ z#UEcpaZRUkO%bV@f>ez!pn<6RM2cJmYZ^qVOU3DH+5%ONh0vCydPlMftZ^F*EM+PO z=F!#{TRC%~;#@i)R|yGh)K@;%Sahb0m`veO=Ps0yZ!6Rct8O@>K&@uo-Is3Q zvFvHwi#!KSWKSsULw({qpUK+;DIwBO6v0XC!?dXT-se z`=AT=0V350iN$>|l=@(TTm}1JsO*Do`aT$i8QBZ@qbMU`{gsAYV^D)l7zdU!mNGJA zpyIN|BR78-bB88yMiM7eMrPw_FR%0|q&h;)PmUwi@59vmsWWl@hOX?HFpD^+t|}u@ zv#Fc#D^&T22%V3vhX=50_yWog-T@LRKlpQs#j<0{OJ(o0GCw886z9ibfa;h^+%b)~ zV-Ts18C2XcOQ~Zz$W^domdTE3tnV0s`S}K+D}C`4NNL2OcqGe=;J1d#lguRr!z>ld zoKGrcO zj2Dx)cVn8VQ$TjgYpFE)6&ds1ZHqIJ?x{NE9sNR)%Qj=~6hx|1{E9mzhdQNRai`?S zPBGJW%3;ieALJjVPMKClMZ4=5Mr&ij0p%R0ym%CIS$W9Kug2V=la!YVka$LR3f?$m zr<^5yv#iu=%P!!I2(?=BMdAV~DQ@azj;8h!^! z{9V18_f@Anke!kz^YboO=I212;`}(^>yJEJPRsn%e^8$Cw*!&tl*+}O@+WnQL2;)% zlAZF%PWPkHCzzjE5LzhDmalf)8;zf1)G7EP^S~E>IQoL}Q~#CXTwWtrs)#wCHk%A-u1&{EBTPe;{PEl@F)|Gk@8Yq+H=o;!)=S%0j^sM%E#OY!ew7x1#Lr zoy@C2VH-c}kP%bW;`tqL@j`rCqs4EBQi@K%y3Uj$e8ucSDGKc%#YMN5DY{9|SNw{( zhEwFwiF;-c_Y5M{GwX|crW^Ile7OqtOgGsxL-jq=3wx#mAPbVN?#74@qT#Ii5P zao&bX%q1KluCL-C>NsVhjG1x`J&CSSHtZUHiZYQ5HP5Q%I47IqmQ?!gCK>b6A;p<+ zsH2+WF8%V4Oa1p+d7nX~nxkQHb6lY2&=xnxMcEvG*Vf%R`Fw$83*IP=4$4yF9!1vnff#nWzt&7C24}N%b+@+%fe=79=RcI2w@~HDeN<;ED zHN)yL&M5f6ob_MCZNre{ar*rUa<=c7Gk!|k)91`V;d4sgraQ_t|24W6;=kb0#<$;K zP3SoJfN8S`&6H`2-X+sER=5`V;ag6Y%+li?MS#D5K| zSp^rTqot}p-FW6nE$`;aG~D?IuM@uU+!X#rbmLjb-Lrwa2a)QYdymzRFsu1v_vFe| z@Mx*-PdA=T`tGUapNQvKsI5P})#AT)kp_=C{+NSDJ5`)6_5Jbn9sixJ5y}3!jh&nw zNz7jdl#`XSKUOwpmD2s)1$7&)Wmn^7{`BIvTXFf`$c$&E0X8v&7Oge)l=Uw4C1cF`zm^Ds0E$dE6cr;h7 zH?(}?Y=^n3+VYn; zUFvt{Y9mtBUQ}G|VN~rHxe8W$xU6O za+yf7uj4O<$lBvSpHcMA(@6G#!OF>MI?3)BqSpI93)eGj&#uM^RQvm3ipyVs+<3Lu z?S**dP|cUfnrmg)(NTLq04q=9VQdfWm&x$ zg=bM&gP`VKRn~p7tS@Ec?_Q8GA3v~InS+Na>l^y*6qou&TvkM?tiHu%-A`q$Q(V>q zvaF{1vK~QYdm!{EDa$LXlr=sS;Q{2rK=VV#&pR;6H&y!H? zPg{1fxD;)LT2WHPjP0_%c+{5l9}0d&x$hF2$8CJ#p0Sjrka;1uK8nG^M|&&pH)7^ z%zTFYr<9osw^RtbUQo^7h{mP?_@eO=Gh;AA)HDgG0$Fb;FGY~}K{h}EyJUVO1qal0 zSoVp;R{5k>oB9=3n|YI66TXpa-D20MpXA#6opKE|48R|Gy=K?&k^$H&F9A2^BfvC( ze$iqL_e!$NNQlV(EdYPfB9$8?Tc%+LBGn*oAE{IRw*YLAn{p~%_oV_p8sJ|YRWJ|O zX<%>>^2(3}h_NK=3-;v#`WOl$+kkQ)$_L<=Xx9PPia3P7G?-L{Ty{c;HQ5JHRE=yQ zY_j30VKtdIwk3NKvTKvw43YL^M?!_V0f&w8?}e^6B76f9oX9o+46j~x=`%-8&P$7_9PC{M~*(it!AzKLcE!bXfNp>V8 zv?luiT-(x8)}_n<1nlQJbNt6WQ^wsSDYk5Z0Bph=S~J!m}Z=Cs{|R(3|XG z$m>Ja24eb=O#%A>WMkp_K*kA?WF5hE5Lx__K43qM`RlP{F^kj5;`%emeu5{ncswbAZO9z5zECt5ttgmRvc3=_*xIim+a9j3MyoMt2(yy|c2L?~*Ah_& zo}`fd1WD`2;;)%*Ad7o%BpVBxHj%}@CfY)_4j6A^oBceDPQvvp z_D=w^_$S!=$Tr76nIroXk`9o)0U?LTV(ku-?E{;Rl68cz<7C@|aW1X*1|m%b1>xCHWJ&e`Y$``K7Q(b-u}*U7*^ph4urEYbCX2so zTb1li$g@VPG1&{_s|TWNyzXky!fznKmK?f*s~uSzcw$c$KOUhj+1U_MpDZ>=1M>HU zFh{bEknK$4u@Kpm>`AEL8i);I1NNSTQ{cK6Sqn(;Vcyk`>_vFuPqsNE1(J<|kYKU` zibBY4hD|NVR)nxtWcz?|8?+je2>@*=a2tqhPsAIj5K0!0$Bt}cI+JY%_F)tt9wgn# zqM)8Mz8R8wqt%!!faZN^p`TFHkBEw}X#m+95EelSFm*!+Cqji`%;ya!I~!s~(t;1* z`e?#7kT90;X8Z+T_Dh-=h^_br!r}-!g7FNr!e|Co`Q%KhvLi&s6NOcoO}0Jc%^?dA zGmm4wz7Va(WB@c<64={N{GEw&H!lxtXGjSW$X-hp!%rm} z3l-LrwSc@0Bn!jdLU=YLY$MwTT(^_;g(vB>Hx_yqSzLb)jRS;bll=t7d)a31Ba5f& zezH5E!a>G)htO(F%whZy%4;InA0y%hTt6-eBbc2_#CUK$Nd#U;r^pIOI>U}3=g78) zqVqhy=^{n46O6AA9uL`9$zt}dldS_4ZW51wUw()1Pq4p7_!A^NWZv}=Sv+SSGoMsI zwmF0pl06JXPstxYrRODK%;0OX7LfghEMBee0xx1?2-gpRNATB!K79zhfC(0PeJ&6fN`D!*^!XsNVX3| zHfG+n3E4t0b|E_+uDjAY;~~a_FhGbG*~3u5hb;c#v@h|6kPt}r4cIrQaXd^~5S|T5 zZ3tt=+mWp!TsvTXvf)z)N<*y3>xi&A%HOHRy=OI1#pV3p!8Y zV#0&)WB2UgWG~{|i=;m2z6rYaCAd@A_eZ!03i}g$0NDd+%gvAwNfuKvh-_D|A3_#C z4QMD?fV|-p>H~<3MyxT3g=S-L0gcI2Fd0WHMZxtL^2CRq3FJ8vLZ+~|C$Th+ccAHH zD?-9dvUqEaCm!2<4&m{TH;?R2NLoPl6GSc|izo78vQc2XG-#v|;uyg=WEIXAE{lW8 z!KdV)LsXyawL}3Vqy|}-VM8TtC5(0ZgX{z0nvUA-;Zr(Ad{X4?L>LCMGYB>pVVMZ; zL&e=eiTH5`usMr{`#=m39tp-dWXFr71C;NE(Cr}Q8&CSfG;RagM`@G)|zR zi=SQc|DKuqTI~M!^I0=<=FGWs&Y5z)GxyybRAwA$+Au$++40j<#`Hc*dR|v*UKI8D zE>rqaxpsw8gl|_V#Rhzx_%KLsQ+cNHFiWJnvnj<6a#xf)-q-B*JEft@;>SeCg7=hC zS*iJ)?1UZUjc7OePfEuq(pySbD*^AR-3ev)-&Dr>{ZXVHb122ep=*YEY$$n}p^OkI zAC(_rE2i>6C11g2kbh7aU6{%UvVAEXss#8``bc>gAky7Il=fF2s7C}m4f ziY+{prE`@TwJ2?^ zbgV=5kXxV1wUpxxC{>ijjVK+e#5JMxf>N_7rO-nX_19!U-w-Xzqgzml@!OK*^;90l zPzyaZ4%16kARyg2k1B@7gMnZdgMp z!s>ODwpOI|)P9Wea3hsBD!VsP+EbbFy{PZFmFfePx7#U2aPt$_mQA%ZH_i;+Gbe^R2rPA>H;<4X77-jJnlqxLFTe@Wo>q;*Ko6GRTo3Yk~q$|2uR@x{vK~Lk1 zQUM)atr+ej8TCH8rE~{jp1jRSXAJtKY+ezmc*M?*T*4lncn`pP>X{K9_~lF|H5-sS z>Sh;ST}?FlmEA5PMd|9ZU|*@J(Ni=vh^DKQLB7%fy{-bQ7$9ZqTkK$!0;DKr36!eh z^N`~LrGxmDVx1t#tgjiP3=5Ldb^0H6vP&V7FDnuv?bms;iy_h_{X%?Yj%d4!N@aCp znXRbQOjnJSE+%y{o@mMY^3+O+_c4}IOsWtuM-YD$#2T&8|6$bsHrc%YKg{7uS6a`N z-p=k7lN#vEEUdWH#Jdg|B&FGQyf-xCB^z2?s&DAOgtKQVJBv&GJ#}?i(UQ_=eD-ER zNh!8s%o^gqqn-@AlQaF0F?pokgAAI`9Q^@#2PY>4f`qNNlvEeLi&NT~B#T}*URhpN zDy7GuI1o;0d*xmQsaYQUe!N^2$)FEwJDxxG!d%|Vb|{H+kE^FhiM)TX){#<}p>$oY z|64XDQYx;SMZ^I7sb(oJ+a4+9H{7nntGBU(RNcr~ZLAS+hkUtEFvKbOt4YzG`aJkr zg;^S%bHS6`YCyGZK)|8?VPGB zm7ouvs`V+ItmJP`N(D?~}JI@8I#$lz1DV%h zFYMD&lJa}Sh-QULv+j~qO#iKup`gJa>P{)^B`H#0ssA{##Y^?h|FXHK8$&wWnuaG5 z`6MTETlkMxbkQ`+_9_LNO947vDl6SWdZnAs{H#dUD0y2-Gj+O)N_s14i)UiZ5Z?7l zf!qW&P|6%YJwKC?o%0lrh$`2GTVwqYZjEr1gf%vU0o8AVdHZJpyuBB-A4u)fMD=x1 zeNI$2#8WZ{QS~6I#+QuQp0-k=?ij1xPAcvdBA9&wSdVtnP@gLPkSVU#j=+AY%+^kd zHq00oN`JwADvM|@l{MU*z)Oj&8Y{WM-mWoN1M%Sv84$v#ji&qQAO$ih2H zW%Wbmu*n^zU^bwm^G;AKqTXtf%I>R=@nW2kh(qHV&BDzR*bkA9Q7wM5c zFaG3Utkg(4tQ|d|I z4|vd<%B2+FzLbtvzWhqmkL*Y3ROQ<^N}niK`cwKr@f<*DTc!FyPG^0;#)7|3dHuB% zs?*^wEf1FFVjEdYNfwJ7g5)eaOi2Q3GZe{Dc8`)8Z1^xF_BHhhw_KnWT*XE`IJa>W!AtbW!ZYXsMPyZ^y-Bq(Qhx8$3oTsjD9< z9$(kWA5SGbLPe5Uk0x8rEN)s~UTyXhT>X)Ns}MUqRx0lE;w?IvazeFDp?PV3%ifKZ zO8M;5sNV}JJ~up0veLI5M^BJm==2^#S==NkOn08moFpBNX!?pP+MFletzYBu_382Z zCi2IZ5!Dq%but@0S!## zD;u6D)z=4zGQPDGmL%2EHDjHVq^_~%m!trV#`KA%AWM1z<=UGJ>bxWT=@nn_&i&Pd zo2WWU*7T;Ppv*}$_N*&7PkzC3N$@m;L>Q>G;yo3!!E@cvP}Zh%&0x>-awr?zxn_tm za+*|6r~AZyNXAHb%NkBcg72$Lm#*b0@k2D9N{N3`uO4Ok;3<)ZR2{d3xh*@ADwUzn zzdlKomKy>dwdeEYZ=QHZci@hB$CfXYYDBLTbvr~|4ifZfD_An?QO^$y&dzC>HrS)( z^ykLuKYijKgdZrHOcqVfiYDWgpl_t-y1>N8)T0yX>N(ue@7tlDY5tE{vBgr+z`xs&5MCEigg(|yim0qHX|>e1R?D-b za8pz56HQG82f@(TO6P@vUkgi2T79@>T28PrId2}$@jF|xMl$PKvGZ%NKF(w>)<_YB zf&xgZN?c+54zR*nDBO?9YoYKVf0wG?{Yl}M>Xok9Io6a%mXsHy@OKGZVc)xK&048< z$&hTJa7<>rL*bd5&>;OQQ#=f_kd;~|)zi1S!+NemY**|KW9zVBEMQO9Nu3Ngv#7QI zVx{@Fv^`8=!`Dl`h1hMOD}`IFZEV4MsjBf{K5nA=#kh$MZM?Kz(uYnf8LCSdxEHIF z$198Ru*G1RekvislGfB@z;4!$z1koR2^dhEnwSUj#CtyyOuesI!bWL6$C z3Y5HVHQ}XV+3d_V^q^ff`yaKGgxpkC_6Ia+6vUYhv-VU5}RVz=a@(`{F_Dw0VD40U-Ar5%-b zdnvudiv29z*DYo_l>E)^??cj=9osLp@oGR*2H5rt3q2qO2lYEmk|z=#Xm9GJ{@#$L zgn!S|Eam{T8^$IbfcLi3TuS$z!nPa$Z2Fp=J^%&&V($+~<-MwlI{dMO3J0aoT2)R7 zdA%&@-{yaFI2%3OpzQ5Bk0-sA=XbKQ4I-n{rUH>cZH$gHlOD&0n~-ec9WC zQdL8QVEM!%4oQLduB3Db4iV%+=P_}<&C8{YWP8s`VYOHDAB|2lIdyJag$rD-RcJaFHFKSD|} zegR5v_>n7ph0VACrB~(Q4;aD@T!7Ng*tH9I_+ur{MJSCoCiY#$83DfZ^yWILT0#lD zN$GH<{w?X4PB&7~XGt}5h7#{eklXIF1~w@qsM+^!Iv)$;U2OP08)k#2W7tX?l%DsN zH|fRB+N9$87Ms~qs=UgAvZ1xFsC>Ypv!$?F#?3;WQ|ld}T%?~?p=q5~hHJg=FD`jD zTa%55&Eq3`0U=%i-*TJFUNZ4>K%2aoTfd~-+o=xJEEiZdTl zmOhX!>J2|H=S7tbe~5{cE=rlo>W7G55d;}kDbDc2QqGgbCaF@Ta+Z}SVXG}#n0Kkh zALvq=e`W7b9ijSB#i{#I4OX&?s&vkK8)p`)*w1Y9W65M3x`Im^!xQf#%=TD1j2nj4 zPo(R44BHm)%G+%6ODVMI(8Yls>gK@g96WAk2p60n7}l~qFQuzEIG^)MYOI^iF20hQ z(<#bpsZ&6QD}^u{%^i8-y$J~x_!wo@YiXa};B%K-a2>P$DTUymsQ;gc*Lx^)|CCPU z@l5_-iA71(13iDdRASNc>LG0I|D;)kitjI>v!>NQ{4~EcJ*tUP=7Y3br}vx9Y=29k zk;!Sizw?n~HpWD?q})_jRO3DE@Qin308hLXBBF8<(nMLFmssDhzw@E^M)^KJ6=T^KUMOB>KU1ikR(x?OEZ@hQr@zf<>Xo=PJFFBoOXqHb&cS;w1xLK5}DSQ_%-DDFhLD*Ba8APvcf~Xt7ZdO7ECJXNe4q*8!qxk*+ zZ&H2$Ggn4`8V+E6iM(PvCwCaY=A&pBvYHqBvjdeOcoKV78Be<`#@s>{5`j{JXz?Ah zM93!nyxD9>1jb57#aKoD3Ll|l36b(a-Az`b8j{28&ua1^-4eE|I!fWns2Xyjjy_On zM)4%uRTIf}WmGMqR%L(HMsb+3s}2>nGjlx@53#@M$)kXGzpgK@$GMkJ6dtyM?TC^$ zBI(jV-h>F(v!UF?U|htzeuuSeh?%jL#W%#*=+5Rfl&=|vtmSnN*pNohz+)aS{liwE zm)74M$4WHDBLmpM#`0X9#9B8&GKAfsWCk1hr5usi z*^*WwZrab=F~oGn>E|)3qEoI~()4lD_Gq+B&|0RPx1`|;X$sMz(+bDcn@Tz3^nKJI z%_pvoR^CFxGUYF$GHn;?H+dMSIMEbiNwJzN#_7B|ZKTCA{jG7%eH`(&k33|Vb|l6! z?NdJEv_I&~H!aT*9{;vXo8-~hsLXW8F;1V(A2vp`J`d)|L($VtXpQfnY)v`RGOhjz zwl-AqOB}(u6HJyp$avrhI^&$5z!W|0sMh2dmC_0xjZVv_sW$Ds(U{x={L|j&HBSE( z^|bheThbCtVNFv$sK4#TM4L9zRNKRte3fbeA{tp!YMA&MMH4ODlJdlw^4OXd*wkc+ zPPv(L(UR5;`hzhDXrul#R_wLZBoW2h7COc6g@=h}qUwZSV=#bC8$?sbetseMNYbRH33)9t6&qKDHLd2|q*%&$n{a|-wxqs*oRzhdo?U9Ue z`YSr$H06Dy+BEX6rSD1nWyBqf^|Q!F@s|oJM9Ze?i#M0hC7(+0d;Be$1F$Z}_KsHFi#z{FktO*nIgCl_@MPrpx*Rc)Ja@|Pl&Jwz(K}jDya40d+3-!Kf zAP{4pNz~R8xz4nErF%=HPO_((j!~W<1F|uI^{UH%|wfbBPeuTv!BgrE{7ILBuTK* zbsu*deaiTMY}9)aw~>Cr1XdBc*4VJv-ADnjii?qIP58`6e=f#nKIKyS8)?EyvlDY! zX~H10l^kh|~Rx z-$N7iFt51@*{bz7H!B?@+N|xuN{2GJl?tq;;SDRj!)9IpRZg(CrN4Dj`EsI>;v;4OQR5hA$2p_=;xtx`y%b(zO*@Pk zLE_496&6bJ$j+J9xKrbf?V?lO9&7|-tJ{v_21gzmd2X>_{cZ!=`|$QB@P%R_$48Sh zc8id65p)*wRx%g9evFho!IiZ_*;*`LH~C=GG2c;#MjEUs^&D&R5%m(yHjImLi)aDO zgQe-qaCKj{c*ap1rFYay-wP)EC9Upqxq<~DiQ2RW{9(^J%H=$7t`Kf5uDNyJdRtCh zTwH`PG#Luf-t|t+SkHZIIQ|iJ#?Yp0RZF>I^|S%baoA~za~z(T`XA#kbsqbtrCd^f zaFQ5^>jsN~sP8g?O>ZsF)4v<51jfk4^6Bd+%-m64>Kn0Eba%#|BAxuFjjf$srWmW- zU-l2KUmc*;|29p)gu&R=BT=UA>RH$RaxL83F6=M&z*_pIzuXAGs(QTKIxzJJB&AI> zb+*)bnNau-W8tQz_Ud;_+0u9fuLl)&FkX(;d9siJa%f^-@X`oMH#dvK)&jGYoJXzA zbw@zMH2>WL44pCg9+sQO-LPy%d0_Jx0wdAhd!wk^g>m%w5SNYZVodQw z5-|V15HJ9m^A4ngY0FO}07v2CAs;cw=^@j137(HLz+=I@jiOjp@Z7|5NIb){1y3-h z;^P{er=Xq3jD?YSo-g1$(aHT3FkM8Kqda`Dd`p+O&Rom>`ZqRK_nYW0{+Omu3sZ}D zEEcu5({z7{c8j1s(Jv1Y5;#3lfuUZt{ z&lgig2)EdU%WU^ZInMVNe%P|lG|M5o5UY{^*#o)Rz3UbbvcsLS$qA6XW4?_QV$uEl zkK1Jv5AXQ(pKa`9QFMHhXq@2?zKX3L1>qmM^Nyc3hr#q$7egNsc(`~HBa)>x=mwwVNeI^?{4n5b$ ziM9r6OMOyXv6th}^UY%3jL#$LGn}%up1)4BvGa>t_4B7O$Hxls@SX?mwy{|yqvL$} z;W_+CCgs9y2U+h4ayL`0&b;UOJ%#jHPU%?msOOVYZLIOC=ze}!Uxjqy;nLUt#9}AP z1N}q#YF%?kkHZ+Pv$WOzVC;`i{rP|=!Kg=+@JXGw-^PqIqxa0L(iFqw#IeQL3*Tjr51j9Kgkq(UIg z2gx%D(c=7RvTrEZZ=pbTvOp~o-kDM^{7@3xUQ`aqn^)bCWMda)As#;)pCShbj^NEE z($#cREQ!2953n`y;?`v!B+tDyJW3W46uF#VGw-OM|}`W%xe8t3EYsJ`TQpJsl3OMMVs|6uG!( zA+(tfUc9ecb&Bl&g)uptYA=rkbK{+|zo9f0e;R9JPe~%u;q}@Fu+S|~5e4`@z~DzL zu_(=J(8AAPOg2)vKGUVjfqK(eb{BHl+%3_DHV{f7xx@R$WDjC}F-FkCX;jn}qv95) zVI$IvFjg1=S;KwfmOE$%F zW=*%6VsdJja&Qi*cBL6J?WoV=wg^nrt+QG0*|NXqTln$jw&(%+fi~8(R&;y)cF{hp zIu7uN7;4nt!)AfuYuqMtGT&7w6xI9m_Xm8+Tx3?r&pxsSJS zp+hdSr%l$(&fR94#Ukg)zF#a!u;om{_ce^zO<(^cS7mp$v?{HSgRuUV_WCVCSeKFQ za|uhON$v1q7OX*6Q9tvMMz`fS4(Lx|F2Gs5rD9W4FLV{>78MS?G4{yY(hG+e#x9hy z(>tRpB+`INH`fDM7@j<$R;Tu^RPK)Af?7yt=jHCm&#B~&cGNT;Lx>I?)6IQfx_ILr zHV(Wg^npe{#n#8whHJ7gT-5Os>Qr{BGh(%U zaP6^=N5|lb>*21=hB!@|NfsRGVRVf~JWHeQzzC?b9A_;VYAt)Iz(|?eSZ8kRV;*aG@ zg!J*)&Ui>KFSfDHlVbY$P7}hM;Ihyfc4!2k&cNDSSltISenlwijxKj#$1ZdLfB~zA zkWS$$mwx>lri_&P`L+F0NO!`^RjXLl1W5l-lS@B+Pe>0(OHDdW>c~TCV{Fxv4+5rP z;0x)*!=?8pJg>9%^PM83JMm@2O15Scq^Fv>^w_&Xy5TeFm$2=BXDF+iaQbJf#u9+41vHJT>6u2Azej}-63Xg?1MdiLEo`Ah`tjKmp&87HYgAJ zK1oPdvCe5IaG8LZo2zl@<84CvNvCu=LxW{re+3wL1bxR^Eu<39feJ zT>4-pK<0@mTspfYq|b6nr?U}AFVx4zb{t3FvC|6a#KZeuW3~X9o9hbc84l@h7undR zkmmb?5tjW6$P7bu;z@)uI7-Pn36R;9=CCWs?5R;Kc$NT}Ej0=~M1Y@qUEM&YABqGr znVcHR1eG1Ty!<+Ssf5Edo8)A@lJRz+bEbW)1-<@-$$k z)=JgnIbmj9dkyU84l~2hHW6+0NC{>VY<<=Rad{k`bs3p+sKj6Jwgb&oAnDEkXm)V{ zngdZFTUnr*JJ5{jVh5Tv(a;Vw@#h0K0ch%ZGk2i*qBC3z`87L}NEfIUsB|6P~KnU&r;q?B`70J;(=C0z!jM9LxM*2~dlLfZ)0CpFi)L&~jfXe<=d&ut?x zrRhp^Iei-&Yk38T59!xsoAWe<$}!y08m7DzqhU%fjw$z1@rP8P#%hG?R)JUdE3jpZ z8@B92TuyA+6kJ`wMUpwTock+uLcxhGpWqdB!j>g9Y4+)@b} ziW^*fN@LUkH>181aC1gGw7(9x+1SQ@x(>KGQ?w5&iY>#f{Vf`#4yaOz-P;AYX_i4m zq|i%UjwtEB;O2!9Ha6u3;ASHm+gP!A7re9-IY$mkERBuB6>vW2Bp#vG?ekxNGmMXO z^L^~XjtDvnAvr>r-}ufi=&L(}swFASO~)w@UL0iM0Hto6qn-f{e;R*%4~*O63mNDyXY& zxH*7vDmj2d%=Z{JJYY5daoolJ!@&iJnMz|`K+Fq(XBx!xN1W*HfFm{C9pKqebHJ@I z?tm+Gg#(JVfCJ+B%7Y%L^=V4rch-08J>=TF6*@YpT${U`nrOas-OkL%(`im7bvRc= zhdO0l)maZNsIwpb*VMsZtG;O@Y1jNjzsne=C)X4=g2huc6 zH&=pAjtNp$XcXblllRp}P<8GKec(1Bg*e3Q3XCG=N5^B3=zy5Nf(;Yoc}vFxsRpPZ z5ZPFS`|kcJn@gj(C{3fNQ0||a2-FFXO^${_xgh2;S`^aF-LO+RA!bM6xgH>j$;~xt zB&d{RZe3J#6>AZSq2zP4*LuVYf zF2Oa516m-Bwpnnfc?S@)DfrzWWiC4oscZ?HVF z!KOmcIo$0?Q~ff`Hs3*iQ8iwAh9LxyqGSo*Yq3tzTV2+wc|CpO@^!u8nJKhSd;ckZCE zRzDkyuVRh!<*$so-b{WR!a-x{PWid;az6^;vz)?_BjKy+u&}?-^C5QO#KL=iv@geu zeszn8o@bE1c+Y1HW*-HnpqMgmndsFRKZP1rHK{ z(WX)82?8*lspbY4*Q02^l}y!`XK`k_l^kntP6BbEw}%U+JGdTNO*p3zV6?K=7jRct z4FU%jYZrv?xX`U+UetVwWNY5b!RAQOJ5>|rM2n~GH87kzTHGGVUZANy(s?I25r3Z< zls=KH{{Q4){D6g!B0VM|k_`jJ6T%!fk{_yS7J*9cK=E!>J5W4cRRBdoqFay$ZU_um zz#F;%22@V2%ECU#!8Nri2Tnj$j7HOtVq@*G@laJD#VS<=Qk;TWr0&PA1mu@M`5hu3 zPx^Ox68_A$fQgGHTMU#Zl(=Y>C7-VRqVFt~Ld%P`8Jg3y5un{hZY#g&mBn9Q zUIUKBb(S*r1}C)!?!YmsJnOBq6xWp(xbYjErJOFD?ITh+yCstMNc7>ZpmAWh1{%dh zBu3gzTxdpwvtfGP(DfejO*uEL_-i>EJEON0(<9|rF-LF7M+GNV9FLOgJtQu@Z{Z%Y zX*mH6hk9BJZ6MU`a6r3pV{7wT0`wKpI=#&ReXxz0Dzs~_?aRGcJk%_$}745@4c&TCv%G1I3=r*~@&Evicw!3(Rln zqU*ti=eGnW<`j2>i6g6s2dby*{1;5z&Ihe|#Lq5K@SvL11#<#u)DsORb`(^ZFXcq# z%Vi@@r6}0yfs09Xt;HTRu2}05G=_i;u}Sp`jwpC+TYJ!W007NB3LaG0J!aezti_De z{>A`L^PlK1V#cFo5E(jQqKVBiSYq`7Hujsr(vAQ>zfb<=V{vzA_kCr}4;&|cti^_V zS^Nr=&IJ<>dRa>A{Mm!qatA%m^hi|ah5zIdwV5Wi!=?W~%g?SQXYx(r-!S9gJpwZh z-orK(uvAQ>(UorQ3aT(W2U+c?xhs_i@KJ&qvE9zgol%Zc$r&6n&cXl^ka5~77hmYW z1&kF!Ge4fb^N z93BwSaN*j_piRq_%C#BBsfp&^Ke(wA%gLk;=lU5Tx=?5LN*8r%fD7uhq^T{`Spf7X z@W>7OXmmiv8Q$*N9QW6>S@|xJtFsv4Ea8#tl29iXWc)z$Dc!seE4%|T?iOA<0Gi8W zStF?Px7n%OKdGEb3USEz^h^6(dAI@+9gy)Wuwk-H!std%=vMLB9{zXAOywy#kOim?@`cT+c z)S*!TX@qr`U$cG#E-19s| z3t9XFi-F$_GX4c@Z-{g~i@j8SzSLg#dI+lnrbaa072 zLxPMyQ;Xb?u_IMO%p8fm3bh2V4Ugo;y6>3!NWSR#YZV(S8W3$VVo9Y(N}>G5u_-$r zZK>|FLpWEvZuD*|t{aniw{j!KLOTLj;XqtBO3=vlx-p=QfQ<5ABn>DIV_$3*3u6Ri z{G^gj-scwvuwFs9h$w1fe68j?QCA^m(yaoJdb8{hlG zJi!p|luq**2xB-l;8u8J)eqxYNGBfNb=HLCKaQ@`tI`mj;Sk=#D()IHf8$+GohyVJ zoWiv`FI}LG9ViCjIE)j*iH8d>*H~c2b$H!`q@Q$1f6-jrH8y|1rH9NB3@YZLJ7%2k zZ(|X7XVnj9V?sLdaOp}z_UI(KURiWqbqJpvEv_1G-Q&VH&(@yq6y8YKrKBHTAP$9a zELTGKNxN{lfdGxa;JpRvx`7&#In_cIan(5RE|*?6O)z9Qr4t*hzM}{(kV`^3)(#<^ zczD;Z*Jmfr$o+l!8`-X)ait_~8sBAe;U`jr@L8V;Z%`NqEu|nFyQdINJY4u!^~6o% zt;br=$Ys3iWt-X9xYE)4gAvsI3v7&OYGbWUIK%$Z#{E zG)e{@B7o!91>AsRQxxqtjTJQJS)7@GW01W$33LOFpS;Aw!}+5KI6m{zZW=EmbMAhN zAf1=vrg0TWy0W;P(^{#TJSTP>Xs>~D+_7T}+O|epJyQD%t+)szh)ATBsL~l6_l)Na zHg*XlPlF45T!sQ!$^ymQ;o}s89X`gPq5Yl_$OPg8tMO*;;IRbQlFC67t+8tXi(4!ya+lah@^36p4pLFEwi2N(cR~Gr-C|^?K zZ&2P}%j$Hs)0k_l$WoD~Qpd;m3A)Y>Kra-81S0fMnTES{SIn z?-@T;#+@7r`68k#F1lnX?%9fJB5=)!lwUJWioi9ahY)>I^Q${rw0VeY#)BRLF8&#T zYeo+nD_#Yce@N?TX%{VZzPeffa`~&P;+pYUPL}I6VNWsIo zz(Y}*I1V^D*jHRM?$)FIs}=+Fud`V4J;2eLqJ7xk2XnPAKm*wUKDx0T`78nD`@Mz! zhz)wFXAt=O*F|GaNgIo)fs4jhS!_&==q~t1FTZH?#4}tk8hvRZ;1TM;!vBRJWB9-| z7g^{M6c;RnX6a@>(5Nq32>BMVH>i(N?Nq*W-sMyZA;m>w<1l+vTz{NP44DZw#4A^H zjuvnbv$gaUEdOc##h$~K2qC}vnB|Hf*&{O+=@(h7 zX-(V^*U%hSe}68+x5%p*o&(60Msd;D`R^?EH(Nt%;iB<5gwfl{IAb6P8CGv!E@91S zZach)x04H4{K}L=2y99FH_+&fScEPbk+K4{@h&S3qIC1$Jc=MwbDZ@Dt^Tf59>d!N z_54gX2b|zkasWq-;lz^oh~E)6v{Lxkw=fIohBcR=+Q znga@4~*BNg8ox3_8xIsuA&eavO zK&aDkl#4pQf(z~Tsa6mp=(84uhw zI{sACXyrMs(PAJ4(kS~~7VBLP7ma^{-wib`0!+1|#{c~xYTZ!dS2&ygxgOqS)heB@ z!P1Ge9W}1}to944)!thA)iZ727-N{yOZQkELW{0Z%?C&LXaMjPm2O zw56NNXbXOLW-D^{c0pa6B*sLzh@h8oDk880MTqHdoHB_~{&uL#m`DH@9-0p2v_XCu zlNDnEhgWKleP-awlYfmxJ$}bACh+_GcWORW8xyuud`w&eNFsU(j0Klb9!|8ndfxee zX1OTzRw&tlg9r3gD0COpMCf^Gikn8KIWuYGOBz*lXjIl!qxIk-Grn_Zq!${YiN!uK z916Y7c2}t8BTXS6Z=q2>O`}$9ZV^jK>+F|e7~>aq=!p89pA6hl`~5|OgTJ5sq#~(F zl^3;23o0EiM~AC>HF6~Tr-&uEa3DGg|A$7WHL#>rS2MhY`;U2WYt6)3>~MdQu;5*7 zeb%h?wV-xObTd{5P9G?Z|Rh=rvYxu2A8V$GJv_0i8)B zuh;l<6PB=+GBzq&3OINLSot`WjAbHY^)F&K zR-dn3jCB`2LGNj8){NDln8W?a_W9+QEY)tiTWbV%2yU(DW87Fx?g(S0Vv^)`{{{*S z(#`S7E(-M#L*g)Ke8z~`Zv~ayA2rcV=6hUC&P*DWA&nT~XEC4`40O@RM`%>usnHND zV#57D;b>ayarW`t=a#!d>+aj#Kkg{kXao*7$o-iwxcjZ|pSZcdO9kQnORpU6?^w?6 z{`y+wPpEWpe;JLulFbXWRK*@pdY= zj>4&Aor+|gARoJRdWTRf8?15;GC-!g3R_`#EOHXkpE( zjvbL(u9u*;0SXesja#lcr;_D@$a3EUX^C;Qp}&jeOyGhBQShZ^xv5x8w1x7deRer4 zH~PBMax{K+-_b0W4$KO;G~>1ySLYE^<(?@|5QRXYE!g}V3T*%s0xhq*Li0dP1UYG} zn?~a~Giek|8r=ra6B=EMbJ3_hxS-Ks7+cfm$3Xi`d2gRw4uv*cb64mg_D!)+?mxse z+I>rC^yvwoDT(#5k-99DD**;*2>4_D)E3HRrR}3(idOj^F|*4|8K9Bxfo%WrkYg}3 zP)`E^Vcqmo4|9O!X-PUtwfJ6B_aiARv8bg$;xvlc@If1FjSf>b6ys%;W4q*Iqr9Mo zjB&H1FQ<|vYm+4t3fe6>w4aM5pTl8LEg$-$S+WI|PHk4r$4qpeRSmB?O-Uw6v}va7 zh_eEWjn+5CtYVMFtcsH`ZDk@uws;BJLVQUDX4n^0$pa)kDN*tYd{wB#oi{y zUZJmCEH)cl(EK|%REIyjWsv2`!Ec=SP#Y$vp7W)ea39#6U>%w9+RbjE{-!Zhv zV%@P^tMP=)+$?r2%x~IcU(n|( z!r!$l^6D-b^p1MtAuavM7&@#$3VyDqE!Eon*~(yXf940neEuPrRbvBK(myTw6~PMb zc7L`ZNZg-Y-v=|`g2aMVLSUrQLE`>w&US969$f?2#g8q5sFzPB#&q$=f+%h*;&EEe zZ!GeA+t`wIcyaNAkQMKcbsn#4(y#R@{J>>>=%PIgE$tU*_=Xf+aox*et#VrQ^Fufy zq|;eEm(IQr7idMa_cdoZr1$U_7igK>2i~cjh4gTzbo(9G-K<3ito{5kpM-E?;lj(| zdSmRJ=KXx%iMAOI;V*o}1zK}47DGA-27^;LSgGstv$I%)-rCO(vA2*;JY2eB5Ep3G z`1=X27ig12=!+20DGWo1KKXpC1-vA)R=*^y_)W4O-iuG{vbgsjRLt ziW{^K8@cq;Z3RPyQ@UoE#<#NA3F?Z0c%WcTGP^8uh2p@iUrRSS7_cEg&raR9*}VIt^} zAl1~`sG2nA1=@#;;>jvpNY8P85$5j2EOroW^+@eM)!TwR|Eb;rWV{QC%E%O%|BkN* zXpKShgh>7hW*GWbL6dKRW+dPFQ5YYv?~C-{1VDv75Uke zKPB>0D8FCi6DYq!Ng*KDh|u1}%s!dL4*OdD^ho*r z+H+rPnG#x)lbYMz@7D&ii*;}_*BUK)C*pGID?e*FYM$%Cej;&$GvDw?D{GlWY&U>}ZD7n6qi7y4! zvjlo3fXuJa8U|PmZH|lK;TQtiHCh9W?s|<@fz$r&8qJ5-)HkW`&ft;sahM+itXK7y zvslX4FbQS-b`zoA=Wk{HwI574CF`YjMR@jKw`y|{0v`&tmeDI& z?9meR{Ua;tbEv+7$@I5znj#jk=;; zs?8A8F?^{fDqpIHaVnj#i`OzQ0p5tf_G}}Uz_vNq5XSU9x9~$)w?(=9 zaQm$02Y#tmncZz{@%uvkCD)zW++x5}T z;NR}lRw9C+J2j+i{ECxC>Qfbf(w^W&1nKqyn9@o3s9!rsa-|HtHt=5{ikhpxBrn{n*EnyfWiI? zcL@96J`DTE^YsQjQ2(I;o^C$S(cVL@&2HL`T&Y}}HJqAgp5MyO%+*QdWKxH7J;gzq zQ0HNN7j?b@7u1<_%%RRNfNNqj89viy_ZD|;-u|R%b8fM?Q#+0*mrzk5QYY7)S_Prg zGpzCs-1ks;?FDEq^W&nR9&Tx;a)mNEl@#K4YDJ-tm>vP7kmFA68?a%1Y{h`qfZrQ{ z453kN`;>Cr5G$=HZ>bbb+D7c`I?TAC6QVxaUAKC|;<4!Fgmqs0T zYCftgG%BlUG~^&&=Loa<2mTBTxZSCh0d%(CsikPOZg*;b;ySKkNo&aGO^*ZH+wasW zeK(QAJGEg{o9j(XE9)&=idC;dha|AUMtI?~+q1SfGNj5>RMPF)eIN(> zkM{;lhZob$Q=LD5#*x4|avT2u3{3hNo}59|5Od&nLlW=g|8LqOlWAPJWuj){cVsThn;&H%AB#!)M}4?grqS-lCsBPG5w0;^E@uyIE|> zXmtM6j4Svl-zm{{ z7MYey-~T&H>R{&Jo$r0vEWGpPp;G`^aOz? z(>A%`$*)kflk^+A z0~zctDCP{&T~(9iM3brZ8hFJWO%BUo5mO;FLx4&8yePi-7z;|N3^q}#AtXu9d9jgg z2g!4z3y{o2fox=fO71{%%|-{1oPn(UZOlRJ62u3zY*ECCTEv?D{A@FD) zji#YUo%Ymts48B@e7QlO$o`Emm()qvq<|u8P=2_`hf}_v$QPr07m@d&d`pqfL;1!c z|GpCPW|4nJ`SK!vm-5BGS0a-EBX!?0b%v!<;J2C)xUcM=7ajSnQgNmQzvWw_VaNk1 z_%R;}97ATO;MaU>*zYNpN^D1O{J3t&8dfzGzuN-?M~dB3@w>e>Lhwn=rS3@a<7&1x z6)jh5Nb%QH{BUnI`v){6A!$6Rjf6OyFtNgFH<*ZF)fX%;RFVK#obx02MF_}Ldk&ues7 zkeJD7{{|A*@S6H2b>_DkNGz3ZxvJaD-ltn)@rP;K%>lN!u3^NpU**CB^=M8wFkQjUt z{{;y{4`Zk{v6j)zWgX|Cr&rm%hL)hjBYoTeSLtL75&R@zE^ zFxLQ$x}rhC071>qS8Ag2rPhN}DL@qOS@u3?j}W^BxkQM!5SAkj`2&Md3wdjwvWL8r z5#zW+l1j7OL*7C2v;gtT5m?aE{OivaA#d^ugn>>-$WDBTlf3jSW_pVcx?IuR_D`=| zcK>?4W_Jz=_itl67T||^%W^@&oTh+;vmuLqe2G&7{!6{Td*+fgkfyD}hx=fR&wi;V zZwAZ1zI0i+iU5d}tFXrl@k>1#PU+^NpbE2dMCD7(U8x)^eWay5-Tb1gotHb~5vP(f zI6k!O0~3Ge@=JdgUmOM(0M#uT`vM<^9(UlweuxF#o#8v(-5KrDHD^>9%AHX_-=_(GxsADT!bT(e_zYm;RvprX*|(h>MHbg9{1`UhYunN6dMl(EI&%g{s-VAG%?xyG9RFHI4QU;u`G+ zARrfgTFe?TOF-a4u)D#-UBIInJPZuhYTe*r@&&exS&9ZO$lbCdTH4X!{?BSFQmyvJ zdP6_>h} zZ!w-qfBvV?g6Qf#JdVcO5aJI~oIA-bEdzSw9n6g$&zEB{hw)=Cc-IX*Uc(tNN00dj z(Li!VkL^&!(c=NEvcLp$3IwnRU5$=>v^8@%La&8uza||EB#E2L2iHFPYw3o@P(fbXetrI+!IHG~a z@m+cEo97c82B&llz#PVI_vtu#j}uKHop`wPM}VyyJobqbtxuvyV$wbRUYKi_gDH1CLYtiq-~d%@>{X2LyODRp`X!f6xhz45xg}_`_3h z%X|jLr(x)h9@$Qozk{W}?;6o|7MYey@4ladN0ZWl3!mwsF*t=IN1pvO6JzWwI*)Bu z2%m)--g(oH0zLXK>!o$gA^zddS#0k)d4DiMvVVb(KB%619)Ge8WAE8{Ii_|J&0$vn z*;=Dm@Gt=&qclne9wGo_#UwWXnFmDzko5J?CsTw#Qdj`U8ybbo=MEqbXf@&dQ3N2j zOv&P357jT2!U}E%gq-5Ik?eu0#uw$Fnpz`O6X(Q`73?*zpF4*1LEE`#t50;^NM<3= zZzO*~#->%;ZzSh{R``+}uH{7mF9edDi^g;x+5avkmRcMeG?3)4lrJpuCn=v-3|kf2uNn3y`FKLKcg@Dpw4epqW7o5bZwF zcS4pj`>Krl$gvuhEOA3NP=RB~1~+8<8HX$;-HEq&h?RS0a!N;+t z@wRMeqcJ(gfOa7{M5DW6%~($RH>}x+*VH$u<=`iNAvyK7d{sXcm&j>yXZ`JXag()8 zgDuv!2y$F+ByZE`cA(A5sjRVr?R#7n>td4!==!rG3c%)84Q$qHldJV<8l(=OQjEQx z3$R&cFo+y%rXfoDFR*!V3HqBYm(j;%F(q5>qT3?S=9e+@d&lTtp7rrK77cV zFJm`$1kh&@kt2rrmG9656nL<|TTnOhrJbmJZC=Bv6mAN%sY6UF?j!zr>F@k9#CWhF zcv(2s5pUjDV~;mWAP98_IA?phhnofCwQ%!6GysX1Tjqru*UN zly~KJ`puf#Cbr6D_%9}EhUaLr`wUk2XQ0gyxzJ|Md-xNsUui$h#Bm@0QQw4?xnvcf zneA{Qeww+^;%9oqSO0&zfINq=fi57=fy}<=QHlD`2z?TPClJ)8SNzIFB(cSzzySbbH zkFPZIpO(1!j}U%``M($r^T+db2R%?L32k2Fr481h%|qH^fQubeuFXYGO*9|==%!94 zCzCpytEfYr09SRs0T=%DOGgM$r@=6& zlM7$Q(j>)o9eVGW9sxq567Cv#2d>0uk` zm>#7Z8pR{vclS>~E{!_&)%;Vr8TU_FO`#z}p-?V-nMzASy4i|t%84%};ki~I3eR!t zR~6Kf?iz(SH0nd6XTp5DMx&p&jJQ8xHz?%oRH!XxxpoAw$gYs%{!xl`_tA_#nnvB5 za*a9yGmwi`4M79RO_m4g4tOPc=4ljI$C8ug=E)$i6{fZnREGa%7y0iv# zPB;JP{8jWF^(w7dm{eocziHIxhLF3d8e(32g9zb~?5~f{VnLN!G}1K@*N^ST^Xo^G zu|M(Q4(>{u6A6G} z{AUH&xgDZbt<*r|2QwFS`Yz2j5nsB4$i}e11$n=b=;|zo z{D>7Ah)m@^@Q%GBz|k-`pNOPH~;3#IqK*Q zU>HvRqMypJ{>Zs%){6)DU^FI_qEbv*^$8>!)(iU!;GITK^aH(=4<@ zWc@ig@-|U^_Qd*Pm&?UjBK?Pa4hFiZ6^hz1GMi_FoE}X`N`IVwZby8^C*4jts#PXqtBJnzv)d&LChC+U&Xg3ogA9lr@ z{TC3~RhsA1+WZiC(8$5y*dcNQ>i&tk4*aKWtrUrzr1pSPg9kv=^gqcm5VAUCqaX{0 zLUU8=-7dOYV3!>sf9YZ(S*`!jxDc6`s>IvULqRST=1>Go)lNN(oug3q~DDIcjGR zUIB{#Uj6?+{ofy|Oi9vYX})6=gc@8Obw<(aL-F5Al(!N!QA(`xWTHBVSCKjrQJOZi z@=HeX!yl`hh+o!NWiNGpGh&skAZC6XNpBg2Qi4o#_>H%WYPppk@3xbkqj^9Ra0308 zw~TU56TD>MCj%+w%~r$PWcyg>`ci3{k9bf!EwNAMu$EbDEq#On@D+`6@ubb zv1bsyoFP1UubiDH$Gjv*^d0Q`B%a*BGdOPac{qbaGvu`m>qTvd8w;7mz3d{=Hhh*R zT;S7a0!ztZ7M@%_!tgH_AF%kB(I^H#rcMXbVV*F-@Go}(0w};e9&8sD(DIibp_xg zy=BzVI7eN42XFep%|FuBy-t|`U757T%^|%HBXb2WXYqyOad0{OYy`t4{;SMTXXR9y zUU;J@#M13dmz}7-Rm#48Q;}9bWt8Q?sKinl45rI8%pjr5>H92W5rk5}v1nR5LYIAC zGwJd(xRLh3=v3D}81FaHgOO622jk@iG8k)|7z|l-Xo2rA&33#|lwBs8E^N(Ax{_I? zY|X1I#d}77w3*X`#bgeb+754C%-Qmd#hkh*1#=Qxn@H$)Etb ztSkmyg=gre%S$qH*V$d9k>lR~L8N<5*eu${QnF|Oxr8N5i;9s&IP>Cx!2`YpCd z%W}9|Mwva3Nxk*uBEX(%w#V7j@l-K2We?s5vmu{4OaE&=r{eeGg)sdJvA z9c;c8U*&!DLapz7C0^jGN1-CEVhR^3k|zcqqTLz|-RWVsf6ZO`8m?gc{AjAbc;&)e z{NIbYi+^nt_m{qpD<_nPT*_T~K3^U!kDGS5Q-B^feI5qs$4zPB;&IcWuLYG-6Na~$ z6aP^@QWy6nw$AGr2|n+LLd@r0(wK|SDVz8l%*%Yitu?%9nI%B7t+wJ z!bI}(xju{OAn)+kgwN?XZ|CCklbX+QZnN|GScA`_gj}3BgJ?b(B%Pqj%NpfaLv&J%;%#F?M_4c;K2r; zV~-5gw($8VgU@*k!g_2L{jsQP2i#-0)-s>trk=E(%5dxNfUTL&J86b9dt%o}gU>^_ z`B%Oa^&x)s2A?;=C7k#ir%zE&Wmx?z+%y(G#}*Q5zJXk|v)cEqu;31Na=7%;!4K1T^AvEi?FBA2=BX zYd%M1;d87j-_9Cn82Fsh8zr4g>CYtHi_#xSx&x)tCEbeB(k(+xa><3?|>AjdHH$8c!ILS{jZ zE+TEiXL)kl`7E8lQgYBWpSLuaWAS2(haQb$@MG#!Fg^4MiH3*13l5bX35ON1JLqe} z4L-kJlKC9&9y#dy%D@p1B^)vZVu^v7@3>T`NHv7KHsGIe3RyLnqDArh^5T8U$JQ$T& zN`oPMjv1u+{3FX)1fdl1IjtSd=Kv?;J0Nf)?Ss)NpM5aiFJkcdUpyEu(=x$etSN=T zkVS_U_zu%-2Z^)GMAJq1oUUY6sqi^V!RMJab9%6t%n?4vT^h~jA6m?*i&Dhrw74~& zyNs#zlQA3pd>&%AW`ALW&u^u&ISXmo5}%iZIe~mm>j`|0)4iY1Wz=>-W?3xDL^^-9 zA?5Lz%~CQ*_&nZNE0+{B`uQBiuvjKzcB3WC=eYNw`8=0JTb{97bi0tj=Qr7){WvL* zK?TX6Kt30PuEI04@VSiKb#@nNd~W8Nd``K!`TP&Wejm|&5cI%!j6rTbZz`ERkjZ>L(jWV6cpetx zD&91z5{ZpnB-O z6Xtma4IQ_>VuG4b-nAx;k8W-k|f*93Fp$#n`=8=QP@}USVujY{r#KFgr;E#gj zG2wD4MEp?@UCXES`Qb9f$e~le4K6#NE`JmR{|&e-smeYCTsk14kAgUY{cw2{Y5pom zumvs`;Rkh<6PDTGaw>}J{lkNhB)FvLGUC`cKxA#MXGhD@C`O+Jsju^_XnDgy$HD6X zrLWKPPn>&TuAt@j4vm&&u&R8$aR~-mhEuwuq(dnEf~4=KA>B~YHz-|A(ibURR?FB zd=&&g2rU(T6(s1sdb+x+sygzXyUUevFL9FTzOkdm#UjDV8BOz6bK3SGbbD2cip^V{d#9 zM9ZyQxrk*l3G7@sm2<$AgCC&{^dckv9!Or?V50AVT=UBJKyXi&iRAwAl6HzHL2Jh3 z%Haj&O-5TDc;$N_SH1E*kXll|%pb=B>W9({HYuc++L+&k?}6Ne{S1}jXFDxZbQb4kK3Bx&VGS=csZbLEnEGO=J4c|Dbg5gT`fq!XdmjV~P z_RoP_^~&pD%OAyQAD;v9p)27@zVffv29oqSkf7gH%X;{LM-4q}Rlg7D_O?&yZfB5O z5~|KOcNWdx?Y1}f*Fb`Ns%3rGOAg#>peazM3Jz}rNjI%%a|jo!QH5OLF_qv4JLfzO z9mC*?@W(*rsC*4vRZ?jJ;j16)K~O(4YyCwheXErH_%k9s`lhY-53rPapUE*c3RU^J z)bgV&oxdEVfLhyVz6)wS0(BYR0)dZc@BP1ivG;zR-*xYY9^&2){!Mzn?LX*!I=Av9 z@eQNtjBkP1t*I#O_Dk8C!YswNK$vvP{^^~MKNc}-!LbD92e07!nZ(hRWQl1i;P+y$SkWPL8P^& z8B$&yl}&?~9OnQ&xUb`8j)X>&9P^Mx_!bB((&RV*5GkOQ0XN@1K3&e)$7kVXZPD=W zczg!IN2k@X{x295K#m84*r0cCdGeFvOc}Yk5LzsHRiyo=8dA2X2TN&)22g)*k1#CS zGQu)Mbx{fiCEhU&dJl_S4EhPT%ETa(9A}=jTeSa@wrEKJY`n(OXj*a!q)Y(qS$->IAsq&^znCMEvot>_TEBp3Vb z&7frjk12s=ep*(6V0oL)chFb8I9yG7NiHsI|Mmh{?kuS)ztr~opsQ+PysJW?KX^I$ zF5v>iG0W;P*i+2@wYjHwU5qN?b`CBcgZAeRTCSfSp+>!mO~n{s8(3~Bufg&%_WqE= z?FY*`$f8Zf`Ic@c!@@=kQeP(kEYU{Ks5adr%0ZQVQ*mTej!OFjXv6#Vab3r>6zBbH zSq+wrwz00zf%<6V-qSnsns3!$IStq5_%R6kVU>w`@=O^HJ_ph=SeE-%YWu-*L>U3g z@&|bk!WO+OC1U;hX^Bwa><_iBrE5?G=Det8;Uvy6M4vPeoXLR}ii9CR+bU*EO}5hC{-yHJZ4YwY&T3plL52B6z8(4W?DyLD`vihdQ1uNA?);_qGF5uUW6lp*EE8NgGpdD9Q(Vm7JZhfAD zI%qj@hi;pxet%?+`gsyI6~hgC3|HR3ocm%jHWlN4fhpKjd-vgC;u7d2ZJmx<}g8ow*XEZ%n^lTusoW&RZFP<$SdB;is@asOLa~xONcD-D$xqA z;=!Y#uv%)Hs31h5^1Aq4x$zJoDiu{v*YRm>ey$8Pa?pKr9DmUAhS#gUKwSs^6Iarn z-yKNvlc_6^c%UP)!SHK-(^4B6t;5U+0;8fxLNIrrB~D{}ikcwj7Dd9JbtzmF0VYOB&d6 zGo^1zI)l=`NqRA*f0pz-N*|H*3`*~j^aM(OCFx<5UM=Z@&00HywiTb$a2Y=f&!*xB!)2dYZSn@4R0F#JE^84YUO%BWbipO! zgoevAv+!i<3DKOb2iFdllTWC!T~QM?I6m3AE5101ACuGYR4M*{O#hF2)&KN=KVN1Z z*L*4ahcU~*lfffU79-Aetnta(RNDVUYB-9`p<>5i7X>K4ej87u;)kCsx8avHK)F~g zujz^mo&hljC~M5d1E|Mj5|{(6K{83ptsvQmWsd{NGModDd|^ z9s9iM0m>UZSL43KHQ4l=*TNNt^Rk(*%fvhE8Xdf%%Z&4)lbyXU-iyWP*c`i=H8zxfR3{W%dkz7{_-&kuI4 zZ1ZlLoDS`xIMtP1BNXQ7=}M+1)8JS^n$9@7aNF=1Yl)qUwpIeYp+__AhELp zH~*L`hkhKO>&hvui(}4B)Uo=m@Cpa`l>a!cTnAr)xDx+W%KSE!Q)xn_$9>E$1a&Ec z<@;3MD&_8VauDqCYyN$)1u_y&|(lPqloZ}!ep_Zsz*6h!+Ta(wY=FD;d%TsV^iCRjN zIRRkVh}LX++?mg^7HQDj2pJ>=7fgRu2hEyOsE~IRzIeG)m)a;}Px|T%+wM}rWE~)N5 zX#c(AE3fj-Ns1|i6Db{bCay9Jk8^josZ+S8Oj#Y1OuVl;zK573w=6IwnbcGL@E&54 z7(yF5cDd)3w;Ij*gp^s)@dWN1^Yf_j?~`3&1>+-BnYl?(LEox|3tT-S?n0Fv9kc%Q zDqj>n70(YJSkZ9`?k@8yaXs@{S7sA^G;-l>=va22TJizl2+K&cljq6)f1B%GA;-Oo zrLvzK3;qkI2Cu{|pTa{B)~KpS^G0}MSEH< z?Nhd^gr#UauA`!yig4psf>-%j)aV7eX*6uy_(7Pj4L?fS83ixvG1xfox+=H~;mGT1 z=rV*OH`DsHh9ke%5+@EN(701eGH?ii#xDI7`An4$}(abXHab~CDzLK`&3 z>zr6V6hUKERU`@bah~0*-dXM{9<+&>kzQ1Lc9Yr-N!%uBu21XoBV(qKgJHKL)LTJkNyMGC0c znbPwm?WFWul5Rrj*Ckz((!(VkL+SpKj-vESk}g1Lm!zMfbki+aMOFe8gVw9;Rfs~a z*PXy)Wsu_g>$CEIPEp9U8WfkVc7-_BXi(g>8d1nK>f6<>s?V*F>KS_A^qm8}!*%W& zRX7s>iHaPZY?|q+VAROgHS7RcYK@wf34qMh0J(W(QYE}6HU~2NyDR^q)<_9IJ-Rb( z^oZ%!4MhrOs(Dm&wLL0%e6@y0iAru>t*+=&%#P2kb>*ches=7EUsiU+dzZU|9b+J7 zc6@iOE2JZo(hUT2oq$%*13M9>ngvzsOMr;XFaIn zf>)>`XHEbq^rY2dQpdWTYR`ICF}z6Vr}eIsppPYdbzUl$IfQed4Lsd6Gfi?t_^Owy zSnOxZAcRZM&zJwelS#4JVO3~@t76b1Rd0i9Fet;8pAlJY6C3`@yt6il3U&~O_kl{ej- z1HQZP)#08LU2D3H-A)>A<5KvNc1~&czTFRg=VR?PzC0PH`8g52lz5FRKeuDz=Nnx; z9UppCo*GG=9B1{26-W!{^f_PXPUraJng6NzUxE`q3*f|aYm>@56m$*7i;{6CfjF^y z{#gOKX46_W2QUYnk!vIC;IB|*&f};tv5`Vqi98xD7szPLS!tujwKTWW<3_MEMDvBM8AKN+6QHRxTtHLH}iX7cMojpN|W5|ZrtG&ePRXhEgN zEyh`$&7pD&Wz?2JW?3y$MLMdcA?5K&VJR8J)OhGyW3lWn4UHx>wn8zimfo1&I09{C zT>*d;i+u3#?c=j>uHB+j3$;b-Ch+*IdQS|xz9Kg@hKfOl>ytqSHSU*@I|`x2q75Ql zUc->GMT=NU77c*A;Jdfau;_Lv%Mgu4DHxQ#$~5RW7QGl0Wg29LBloALEgk6Uqwbz+TpQ$R)PxML zdi0h%Iu*NWjHgj|V}F4!cs3o6o<_Zi4Ko2>933id@p^`^xnEy-%kCs_caqi-x0(#sj9* zQ3sx`a;&6&zH}g|i~BOuoQQb7bREjznuhm3y^T~LZf~J%^!4>`z4CnNM*y2|Iwm=W z={>;XmU;R6Goc%B5~QK~aH$%%&DFTDK5=Q(?tM(%jCTz#ev+D<>*3NqH6zp>559JZ z^O+5{2mPR7TVd;t9kze{Uc+`$GIvtxq7ka_3Vh6PkylmDY}-8oCkO$XWcbz$HV1I8 z;HQ4>f#Le;%VaEAxoFQlDzqJQWe_XdRzx2TRSnukVc>8rbimv*?tu|U4E5x?v-+;M zFV2D5M4xcQ!fQX<5!p3Y4ai(H6UGKKz>5a3{**8&L8xR0?(+-0>g;*w$2m;&QyJF(4DK<1I3LaDjo~{i&zBy}7UGVn z+@ICo&958aSFd*fk9yy$l75AHT*pN{x$vxB?bOKq>@aOS)#g)jp931XxAkTHvqPms zhF`z#o}l-V>@>q zX2B(B$5l?Wrx~r^yiGHA4^XHEZyTDhMuU4~ir=(4*fMP+*V+#MS5 zGPY9pIW2MGU_#wTv?K!u5$fLlwvD|6Ln!SSVFbQMs-qXqwXY~6U&Dp>ISF0 z4(2Tfg_D1GM+LoYhH9^;0dOIzmqzCu%m=N_&)wUMoLtEEPsPxY zUW6#|iewpq+R~6sgDe;d%|PvyS#n$_?6RZx53@}4-h!lo-U!!CbQO<$lk3^hdjyKr z`okSnU+0+whIS=rnP%@=`mo6`SJ?YGRA%;m70b%EZVsB2-t-kpFPC&TN`D~fc9ecw z(g~EFEa|$G9wq5mN)MEDNlJH@bYV&-&dKT+>-x$Od}%sjpx511qNeM9;4w4k`_t*( ztozs9h|^Bf_&xWgJA{64oOb<9cV5R-uiA3cU8T%aQIMer(9YjWQ7Y(`JDf^0fLFWa zuJD|$lC7)Q0leB&nj|HI3!w^!a97@PS8}9!)sb87lJx%%{XgGd^4kyLJyLBDj@dUI zA>7iaGfkJZhHx)T(G(uSpR3t71^14r82&Sc7y27k;)fr@Q}D}*;n)^F9T;90V#e^) zzuh4nq4jYX{&2F$tr&iVWsk$~A2QK@0+NKb*CPd)40qot@|oA_s9xwhb7Ek7wv{U^u@vR~@V8Dw;oIVgQ|gf7e~!F$~J+ zQ?|V$TZpCOnP*#4 zeXEp7wVFsvKVy{T;fQ1@4F}Wt1k549*)jiEM&l+fDxmXFT2?~m?SV}?ruzXLO8aoM z9B3bo>BIGK^k~n+(P@Yb$H%W@IOr_QjrZ-K`JNs(gBt3}W++nA3gosWCPZq1fq+M4tvq4Sw= ze`y&Uod9zJV!BsoMWx5B#d+UcE~{kJ)?P){G<1>+^WDwK2cagDLPW=Ug zOgit3VpuN2F~2pPf4S1I=wAS(eSB8EY`5srP;JppoPw}iwhR`79*&1W0h@)R#h{!5 zWROAUr)1>LLTIsQw@5eUF{Er!CQHep0XTj5@|zarC5tc__%YKNC=LzQD-t^=Bef zt?$|mEV=}y6{2>Kv8a5X-=GLcN673;=?X=VYo9A(HJ9`wZ$9*=@PGwm8Gq@?u z+k)T3UJ5&G9$l_svvMQWfA^y3_hEI~VRIC&cS-oBX#}nTqMypJeg)1A!Jgjm>7w3e zHowm@4V&8j{Gg$L!DCR5ld`C%GOWJR2O2h4(0w1wln|;-X8W!$ z)v)QV&-$Y;i2e+}e%(Fuhj>->6VQ({is+{@tUn8!>zjyu!Tj)sHNHD}iNNORIM)98 zFQProuN^7s{L;x7rjyW)i>hd+GOWE7D3=4g+Y+Sp88md<`n;I5AN>f}gunL~*sS@n zSB*S{FYjUU9X{2rLxcXboUO1qQcIjTn80RlEun)5Y_{!hgUuNHB-m^<_Gw?JE}X`N zDa8A4KRE>TjU6`6>YP|U6v5`=}7*a!8K8LB3?t)gr2pO z{$0|`D1Byt2F`IkaU=)6<(Z>`XfVXEzO;56`s=p&tyKrGIIc zmwr_IrCk-gQW{WKoyz^vE}WzcmP>wVSK+y?qB~oUt{p6Qb``Mvq^kzY@bm2|Iq;+D z`F17ge^34Yb^YHDmRGuHu#~UX9HyWCuhy*Zg7Kz0_-_Tw(NxU8N4PVx+g^}j44A1G zU=@UZz`XmC0H*QuY0gVzkY(`o)2I7Tj*0Wn3++NW>O$si2OapGtL0YWoX9en4m1lV z@F>te`+l4Q;%tL~V&WX|Yr7vE1F+?zeqwir)2kMYYum{&SCdKsI5#%pyhroYB+kSX zAr!OQzh)Z-o-x~NuPueAXZh}|6 zdZ}FnM{BQAOWJl1dPfj57{{>2fB)(&hw!<^GVyDju*V@mCx{%)H!;zpFtWq9;og!U-);0j2vy=vap)zDFs`3-4 z!AC6pKMkb-m5XT33x%BnkZGu_0Kd^b04JK*2cYN+dH}9e2U?^*5s9T`=xBn4YoWr?)({>IUW|1Ib5nSR)LsP@36(3%_s$Pj$r(?InS~= z}Cz-AY?is-i$;F>Owt4lpMGDksu1O^<7WYlpc&_@bH~7Y~^%1#W8@ z8OtJegF;P%7%GQ?N@RTuIs}a-R9-~aVSzm8WG;{vlZ*wD2JhcKKJ^;g$7ftiZBb$c z9-r25+X=zuwueChP?#xLEn2a*&MN2na0}br5Ou97D=Wz7b1lhz3x9e>}>t zXyHN25QU3D)%*sH#yS_M-1?efkO`H88rdyc)k0e|IfgA72X-Kfb|t}|UD-AwvMtKn zpz<|PtO1ojyCv5Km922&*?X;BbfnJoKZ9BfRSl?|oGbSaP`Ck=FPgaqRPLtS0H|E7 zifjc`rqT@(4C)<>LN2IWq0!EROrpWspZcNlf8nq>J??mS3sn9?XDys}C;0w&7pXv~ zJVn`1Q}8vo39A5=E)A8BYG|lDg>xA}W&R)9P|1zehAg@CmC( zw38poJTM**%P4sZn_{T8A0^`_X_Q>VBM_GIwdjvUU9DfEPcXx{V5Wjj_VZfPDxQZn;fqLAv6ZKSv)hj?Ov*feb zGeXVJHud*;U9;r2BCLP*4$)7}znvw6Fd23=MRXFUe$h{5SbwDvYWy{HK5rhk#x1Yo zehxok>MqRMqqmE8az3^81Zn;J7C^nk#DNhw6^nK%!`ia|vHXZ>?Gn=Z5UNd9`=*T3 zDCsH4`ZND0`ZN6cb?=mI?o~?@(0ZDN_PAx6p{nZ**WjYv^w3hzvi7jogd_)tvGV#` zMR{5-5kGvYpP#3#;fvmOx#%w}Fi$H{+)fwp^qOr*UB-$uy%nDTL>{ zl@*icJ3{BgvV=$yyLi7tFtG&`_U;6ZY+!O^L5SwRfUsqKX`WAO^K+!f$iW!War_*) zyFQFYT?hUfVM}c2J%}TXhNxO=$ucN19 z0{_jR^d3o1p!8Rg9!BZalI}<8C6ew;>G_g&Qu-}PH=*?FlCDYV;f*v$=B=E!eqd$V%f6u7LZIdViI0+;x~962`;AwB$9*fX(8nHr)X!#*MO#^GHxKv;yi*v#Q#J3|L^+0pD!m?*L*3@ zo?`x;0OQ7^PXG2&*UFX9W#!6?)o>-FV))No`Dc4ri64HhoQ+@Bz$K#PClR>p3^8M5 z-wp^|R+9;0P6CaQrM29Ok)bSm97f)#N?L%Cr)z7BJl+9;%Z6UHx}&?hqYQSCo=)l< zq+#ThX9M_Q4$W_qBF{7zimX@*m($H{l7ruP&a1-zhfkdh6a{@d;mmHs(1|opO#nHZ z05>vs;PS^96k@Dw48Q3~SUIu-)@dh1E=zmWGo9VtgI*D=?1}Te6)UI5$sv87W>3P( z-8_@y-rQsHnkO}(M#Rm4%;IAX5@}aH*~6)nvvmiSl8-4^xiQIbGS_}?aWX5T7(AJl zHBGNMt()Ow9tF_Zz2-@gb{})cbK1vzKM2=^IT7!a5Fhho6?l>stQ`MxVoyg&{SYzk z4{+pi0WMOuf!JP04+LXnSiE3m_VWQ)`9&9Z`JfWw-_2zLURD&NO7$);-?t#xxy z3#gzRyw*tZHREv`i6`$8s+_z_ebm)mC6(q>dfZS*rK1@tU#99-DML%5NaME{W%*)R zpQY6O43!^Z(g=mUztYnCMNkS9R+-j@K;_7nOsM<{{-eG7Ukn^B+EK_X%VUE`mv1(tJU)w9N(M1h-g6nNJEml5cKaoa`d;b@a z9@}KI=pakUq5jra{g`W5StGdAo?+qI%JKjKajC zyxO9qits#pAW~Tlvzb!YJf|%G$V5MwuzdBpTd15m2dWoOd-1F8p^1 zHS)Zxw7=%7#8l7t^@!8EPVLKj- z#2L-TY?xCehy<5m#+yPG`vyi)c1QwKFPcmF? z#-27H^=^|p3=G$ghWdHDU?=_9Zpt65tI zjXULx<1gNp%6=SQ+EH-4{N3MK{lNuNBG#{-PKQw6yri1^HPqtFO^#(zR z`PR|MW_Cn%xI4>V!$ZNdeXPC5`=UL>ubs|2(0(jhUE2-qxTJ}8D#F_DUOXbdwyCm)%07arx|ER@y`?Rp0geu1{JLq$l}A@^3?8u3*2^HH4i%xk)3G-}-T+fJ1c?cNpD6qRysATHxnQ?l{UZX4yz#zVVw zHnVYfUoCOsNW$TXT9Sby2!}T=Xyfp3{4^rEcf&+s8W$!G_h|`rot?vv>YP|U6mj^D zFp20oR)nehAo8Fv261|vc0`z}3386pb$nWzpTip&IdodHad??9H3d~2P;P{CuNDBT zAe`$sUO*kDJp48u++A8=;UOS;0Skqv;0JY+6IR(NyaOugSZ+NejaV*TP<$KD?LsZ; z*%|zLezgJm>*tp&lfGc%ZY|RYzL9@g5&V<<8o_U1G5M+$hKls27b#s<(mzo;LehsR zolnxcDgB@jm)}h3o086;^ly@0OzEE`J&)2y3S~_@Owa9xs0QETx!n+IF*-qJh6eER zAz5#HPtWZ>t@*p)aXhz+AI#s?kK?)Br&Zi>yx=M50UnGk{j{2T9M9*X08{q5<9I$d zk0{R8V```Db$Qgy^nzedutsbN z;qIWH{?`XD4PJOsYFI&g02T7TJ-Ah{>Y+<9XTN(A&*|bIe$Kw)5Y9H@w}%~Mie<8cu&!CD|n}{>~Y}TfpY-f^+PmxkNy!4?iTVY*Yg1He>`gC zDOV>)W6f)ma0#(7)*m!CP4aFUscN0ZgS&Z^^Rz3)@wZ29K8?qI8)-rtic5s8wuk1X zNoZBod561LY}{QBI|TiFAD4MDW`AEnrT&B`cmGnWs;8|NB zJJN$!2j5a-s$rKl?m04Juf?^^*6StmS;uU6Q5EFHqq~nh_BRK&_qxgl-Be?$yI-PP zkBr!Ba2>O$il)_U4&X4gJg+-E<_@3gABWgy;2cok_RRaLVGSTQoov(N4zbHX9m-Jp z4OO>F8FZYCC*1{qUvKw@l`-BW)#O{fEMY1-!On^ocu}`8H7RR-x%*9dr zd1G-*C?7aJ6$309bVFOz^f-@CJ-FnwIHuf(K>>)ph)xK26*8_&e#Gt~Bi9E)S=ek* zf=Fwl++U^p$Yvx5wgRqC^((A2* zTus<5%v^)8H&AW>VZWow=69E@Gm>saU`#J#5ONXrdm7dbB9q{*TnB&HcJ&^ZoF2Cq z+vH6~{Eg07IOR_8c`u?yVAys)Wkb!wvT*0?x+5I7J<9j0Gr_T~gi1M^^u6PuN3Dr- z#}xXT4tLJC1y>k;zf+&G&N_wJZ}tant4ZLNTb3(u`;G)|F@iQwoLSWf++w?q9TbC+ z#h^H1AK4WaKT`c!-(5WDHr}1??h#%EngYVMWh88?AIJ1#;`+)O6GOjYO`hTUSmd+o zw>t?YcKk;TZ|EKrfi)z`$>U^)e?0h9qP9n*vL6%UpVyeUhzB4nWtfzR^{b}^0FXQX zmpao3>M^55Jr!Z~&j8LjXsaK_%s>sfN*=AGF|qP)Zv5R8(H`R0u4BTZZmGm3&|cBd zPDNO|!rfzu+0va6;CQyFz7Os_F(z)?#p-7dkrL$K+c6QBw4F`egTisvm&Q{OR$r-v zglu_RxRnyG#~2~oovb`MSs&i7Tt8|$|4)yEY;hJA?c|NJ_N?MY$TnMBPPO@zG6lCR zZoUr2^=xPTnS-Q6hF`z#`Lfs5k_0rK=ARuC+eAskmY>D2?)?obCzLpN8|$t=P;{sH zb?bg#e^nK3fqutrG|^2(xalX083EgGb;D@TxakWKnaS7Ey|XyntH)sCZcH~0*y2A2 zY%kI3wFPW{6NwWC(*av8$-qH$!1gx}eNx1DCGckaGy}G}a2glpfUQxT6xsu}IwzJ7 zr31Dl-3Zu1AqQ-KQ#UKPBlxvTzo~gIxQoZ}*#>h#EAw-r$H>XWiMubVv#9F0=&^=t zOF=UFqN>_jatun0zo_~_6bx93;}Nd}1fi;ge?vmXdRZwvZ!- zXTS5vJD!36jE*Ni3>b#(zvy9*@a!L|e;0Rn=&1m7r0A?88@gr!{&8E6+3|!5(6x;g zxH+T<&(;7tD!xKIjvXft)#2Hp5}u_Ag+MH%($Ny0rRr8Gd-91QjeprF%iUj}rPTcr zp2d{W;n|Ls-YF7Izh zd3+YJlnj#a>}_Lp+-?tzCOeKrF)WXC%xAQO!?U0+u_!8+Mf<FCsnG&t}mrjUMh|k>8`Z4IQ5btD4bS zoohqKlek~Z(b-&8SK;=6!H!|Ma^Ij_BRYH3IIO{r9Vj<|9TAA&pwVZ40Ew z(yuJ+i(S9}!6@q!q!n@h`S(}bjELx(LCUOA#!qpZnBlP?uBU*$NX;KOkC)oYT^s}V5n-R$D4=M zk^TSyoEJnpIijo`HxGm!-}_7|`|0uQQ<@$d@eqWCwvrODe)Y7dL66f8sirSOJ+54$ zo{F&g&vCc;->>m{UE}FTv+*Myc_heq5El_Neo+h29^%)oDW=FlweDSL$E`WhPDNOI zecX*^di)Z5A?)<{@PS9@vByGIU%9!IAh+L6kIS=FsX_vw>;{n2=qMf z1GnPi-1{DRH}I7OtbJQEeSE+6snRvI4yg3O(2lc~XeUpUwRgSgks#yoPqgJ!nNO3Y zaZiZpapL=|-W@L`GW_aw&+qwGJxGRnoI^xC6=C(4!L3^ne=N#RU0CsP-G6F+b9b-u z&%DRVPd5?eX@2EM(Xb}%Q?I5#Ij*9joQkmWvDZBkWW2Iiw~R)O+g|Tql{^$dM!0j2 zp~rrARQxb^ub?~X<6-WO4R+G%wX)+UTH?f!gdNkhBm+kfc6?)}jU7AVrx9dqqzk8U zVPeNvqdFZ2Hv8gIYF`nJ7c0&}r-9nF<_(9#|gjIHW zoQIk^$T$v3BglwdqflS01=q8)WA*Lo)sbLFon-<9%zsMDG&|nhCPz(%sj|=a+&0aQ zHL;j{!*SUKJH}ADzoerm{gR{$P}(KwrzqW2(tjr)T}#qFN>`9{4yB7r`UgsfeVx_( zRbt01_3vn~W0vj&9xmhcL@#G$HC{^WxLLE~(bura7eAOCufOKb8?;&d^P0P=+LH+C z>VsV&$x(VH|PN{sRTm-y+AF`oTW?WQVUV%(>;3C~|>Ml1y;S5PT`ka5PBDtdyHVpMED z0h@VI#gB@W@ym*e1yrpLK*hf|YE=As0ygt*B=aWadKvI8Ew`d#Cd(d&it{)Js5m}L zqhjsXfr`6S$VBkgXX@q85S{wNBZ#qMWdIgbp|xR>;^h76=0tZfy#6O-l{+P9rNpDI zNaZqXJ`JcGP1Dk33dEy2A)xr$Y6uw%z3@?$_{?+AE~b}A{k*zP0tTB&`+Ix}%vpA%7a znRvZpH`t-@^kh72vD~BTu15^`vL3OkRM`5~sGeJ;SAJ(GT(?*4nF1(W9{`1gQn6)s znW~eDc;Y2d)$NZ@0#x;&g=>!ATJ%t^cMa8tzw4ayI6^GdQV6kBOZ8tWqKh<<(&O?& zD!tB36-?EwQuf!c(fK_+?rbBYERV%$mXg2DgxKH*6ym2s>pX86ij61*q&i5mUXZGg zhlU~*qwjkOo}hg!fr0f>0`b1kac^Z$;IJz|jgLbXSO^BZV zu|bP*N%9loLK(TG5LzsnD$-F63@KZb!cwwm0L`95M+}ShSF{XKE0lsky}vLGT7f06 zA^w&7DIKmhY{CO$XyC!2uI}MD zQHi&n40n;e^-4de@eL4S;s*t+0D1jq4+CV3do=5cE~Sr#ns$JkkM}}XAMP3$f%ArF zCufwkXC2i9S$ne7_7mikpWxuo*JV6B0AZOWq(rP=KP?fUM%ho*k}YT==Det^(jPTI-W|^B4@OA|^8D=p*?gIr{6Dl1mj!7%6=C&*532g{$jQ=GP36^3YJQwO zjFtC@)Q9&gPms1BTdJ;YL)&qd7Ukrovhq8)8_SziM`M=)&5;nQO#SKGbzJx{CVD8V zzY-xOGW_bP9J;3e5?r>&Vq9qk+QW~t4&c5+`@}&-`3VavKqekzfQ|O3%#o>=Vh9IB%-lIMlkIxxk z+T9=T>d@c=TD?|=Y^Ehn97`ConwDhX7{ZVxKCm(5-wT8x>FY9{1)?yG3ll?TYYBCq zogvrjoLD{-F(h6N3rq}t6ADYc?urUpzywLpUnbEpAgZV9__Q`ZLPi@o7#ll6K83oU zpswS6VMx+<7-@d-(3ePD)0xI2qf;O&JJA&t{Jw=F-S|OW<%DH+j;x8|nj?!LX+$CK zzsGzL8F}G7s%a<5qsTmlL)6!KR+L<(Wf~>t^H1RlLCI89<}l8+Ih2Uj`B*HZd-NiU=H8A&go^f5`NQTkg+PonhyB>gI-*DcIi{tZyl@vcX8pW><# z^{(y+nISq38T_s%Yw;8po)~>c!({bo*s+Qq43kOIu*VZWx=eFbQDwn|!4K!)3^dIZ z?!bS>$s^OSXLXL~&ep?g$I0|Ls>new9cpmIvDKUSC@Fpnf74Zx{?DQRvps6H{_iKs zZL>8|O3)GW3@r|IgUdzT_qoNr#RlwF{?dN zyUYn!K<#ZbIZZx6%xV(&GGZEp%$IM#IeHRbez8`4^1ZvFW1>eLnC0q@4{`SI?2bzH zI_-%0&3rk6FM9El5c4UX^>KS~0XE&{9psm!$L-^bGT{Nc_^U*!_>@jkK4;EjDLI)E zcf6Ttc$rs&O{eF8F9pTmt4x2#^fI$I8(wBXxSn>mdB+&LlX?FQ?PQ+ljT8Tzh{NN> z$qY|}t7wTk);|WsoZykyMD5a}7TzYH-|x{PG)FCQkt%x}h&eL=F-OkES4qc1*K=(< zJ8-9u| z{0H!1@BdF%slMX{_}By&35LWIo@Z1-_DE&Dr8c3)z}eba4R=n^LxB zH%n9FHWo1o^K{B&F`2`q@|))5wVE>nrC`ny48Jz#0(eZAB{r8er$*YXDP~x6t-E05 zB{;OiEY-=JfK97zTBPZ51<-nPedHC33fe8YA=aNSY%|EiQZk6KvN5Pcu(IBxq86;& zjAB?HM`oGp<5|<9ZpM-_K{;=LMXkr{@hR1v$ETP!sLym56cBivNaqB+Jqed5KUUV0 zw#P##bBlYwj7W>vEebU)8bB`J(9aBu20esDm<$|vyoi2-K@YI3G$*&fGS}q4+L&|-=;oVF;j8(Y*GoIpb~_f7Z0gOT}d>pOmEfbl9 zdydn3ncT-2dL8|&&?mmvR=4vkeUp7izf6HA?6@DJCKf_&6empe0nQ^L@$3r)y zc~t72j?t-KqQCUhq5amD2=a|dp##vM1!+{FtS#r>sM!XPx|QjOfD&rhW(Yk4|!Ssi{lbk9aq zk*7mx>Eh|oH5>6D|AgUf=EVR00;!90V2i&Qy{$keYn(bK_&%moVDvUG35mQ{Y4XO^ zmBY9HIA!Z^(1!xvuTwdI_Y@7@`V^+)wmUZpc+-VE*VCc93TyDjdB6_d8w~KqcAWt5 zMivKd*W>a|;Qg2SViSTlXdZJn)|D_$GTdusoJyYwck`}#I6gSF%GLV%dV{-hQG}}K zTSetysA+IF*cE&>|8>pX>kaMXytDSKPYv#VQJQMu?sW!tbN7d3-VptP54(s(Mu>f5Xk?lzupG#g)Vt-;-`xbcnt6y+g)w2%M9+u zE(z*p3wLK4+}(oJAG{{&36}!6`!(TioW?{w6=C&*KN0SJN0j@_wpYhZ8hTSx`Pt1` zd5^22oSb!|<4FmgY#k%qona`aBCPxlkXg99ov06?%G95}U7s7=Elc#u6;YqzSFiiM z|7f@}#N9Lj1Gsy!=I*!kuu{LW`ovY5yW_d><9`?JX@2ec>Co%1YVO8GL9|mDZhbhA zoF5OJ?Gp7FrutJWg}XmOrQDB)K7~6#%-xuF%-wWC159S4zJ3jmmN;=N&D~l;$I#rJ zV(0E57VaJ*3e&hSbGMdI_XTjb&WYtiY3}}zxEl(YyNCF>n~p);t?T%-HVbzfIdsvq zg>IihUFPm&3wI+e+>HctH~yR4jWlz2vX#5>gSyHI%L2F?#SQL8(&X;J26qppnidEf z`?T*UGMT$|p2=RwTc%|Ock@p{F3sJjEZmJ{rT-bq^0k!yUDC@a zeMZs?D1A)QX_Wp}(vv9tKS{qz>2*UjcfX>!`xV_0GD8gRe#PMK{#NeB4?lO~hj90D z;_iN$yYb)8-Tg#&wjSO9?(QetjT(OL#t-Ih{Acd&tGOHhE!^EVkh@n9ccTn*H~!nW zn@U@_8`;d=`0wZLJ~r;gFB^CFAv-KXZg4ls`MFycGRNNFZY{TQH_K!a1aLR!5O-sI z{MC9w&8{sgwJH> zz8y}x7kGPpaFxSP-VkL7N-3e4Sq78UNM2?WAs4}$tsxSQ%*rNZ4J zopPBjdS?HRXDRi+a5pB6=I$RY-QN+Vh`VXNYwiXR8QcxG*53c0zF_bFUlR@PuEG7k ziEbf*g6?%k|0nbL1}*TF6l>02H(Ds%O&1q%w<#6wW+}M)l2MqaQznba9N})$oV-?Z zW}p;tH-=xEbKxyxHpS+$=2R=YHN^~Tu2t9E4S$xoo6HI1Zd#<^ZnWN9A9=;1f_95; zi1p`xvl--JDH$Z(jXOx1yH7%+8P45|VptzXdYS9vS<|9!#**@LcYsB$+Zo(loyVt` zHmFZG7!=6ebWQ+woyA47K>V~bM4$c zPjh#!s+Zn{!}o^TxVLrDsKi{k+bP%JZZp^9ZpzKg-CtnGZ+p6BgFZNbQOM2R8s0LI z$=tn`!nX3|n72#8=JdD~11!w=?LZnf-to)V`LQt*oO2e$OeK#E$5=(#V8*kP;Tg=s zTO@GpVrCpztc05Vk@NeYsp{a*?h1u)CZ+NVahc(#MW<|Y)hWz=v>CDO{kCfE!E1iG zWq}dfK0dYEgAKnJLK`;@O4Hn^h~WV=PON9SMEp8Sb7N8&vMa3gAyp^`-1wr0zfT%I z3##moiyoMyPWMCDP(M$ZY^s_&Q@FAGmC~$g+jlf!#j!N-MYyq6N0ojCVMDAUQBJ-m z13*{Y5a-85k7L6NRZcV2mwroQ<3t{TFn6}7k40TOdhKbi9-KuBF{ed66=C(4UsqY! z3LHLIlxLXA*H72j7+R9s?%6NOL;T7$Hg-%>!+$~B-!zm{5mr7PHf>=oik}u;6wT^Wz7_T4?c3XazMVRA9xcR;0ckrGVfD|9S86_Tcmud~yYJDd8XGGY zXXSUl5#{7-8vTxz02@cORf)f%?Ko$Naw@{g)oU6XpN)~WhfrnIddk-)Rj{%Awn$b# zd#|X^@T;eCP#@%0J1?SzH2v(9cTvm^&seRle6?+-Gec@m|h8dT=p&nkwZr?XlPak&s zHpk)v24$nR-cYI~P8>;y@ragWaG5{HKJDAy+(wKG@RN4?QlxgGE}X`Ni5QcO>ZA}P zx0MxBj44Uy#Il5l5#NN|gJoE*xtjDl_TM)*xB6aBP#YkLOOWRJv@Sm{ZZmS|>|^7_ zWeMsbsyY$`7xm{z=`b%QsCHK*$9Pb*bb^`+Q82Wb4~kxCCI@xGBs(hp(9A@|El3($ zeGv!Ti>OCL2Erpm}XheI$YzKV6^TZhXN zIPn!qFPC&TN`D~fc9ecw(g~EFEa|$G9wq5mN)MEDNlJH@bYV&-w#*8;N?Uy!tF70u z)wi+k1Rg76tM8|cv+iA|t-cL4CGv+z@q;OmK17PQGkwDbb}3 z7T&@R;078U`75NlLbk48N5^Un)Tmns*`fxcBYlK4sJ=Q38U9_7e<6RNM13na_NZ^; zM$EQDC{ntM0MEs;8-uzdwo}{++)m_+{Psi|>yf!p`5i z5Hlq5_eY`BIcHL?oxcy`L~ez|D=d2)B>uoTfW)lE8WQ>Yqb)rA{n4Q3Rr%Z4`a4q7 z#^HaX?XlURv{p>o*y&aqZ{vxaMyQRij|Roc-q8_KyU+GJ0kwP3#55UktqV?7?sxcp zRSkuh8B272GBdXCt{&Y%thSOzK0Z2JP5T$yfp16KUM}=kRe|t0ry6D@ZxY0+ty5IXNK-VH#-R78H zg_*hb1CMWkB6A)`ki8EGLE^uBdz7XZzA_52bUZUxOR8^`vOix9OJT%ok2gdp4ZF$wYmxQh1SXj#fW9Mdc4;pp)U4@al6G8`Y* z!f?=8mmBZfLDL;y8D-aqCJb9MjxJqRDO=NzrKxcpciGHwvzW}`QfuI`i#e;-TFi+N zbDGlH7IWSNObVW48}rfRt#Kvo)@+H<)}-eZf}9D@mX^WMnlLATAg|Dh!na3po;R1v zDjBu)kXe??JdsY@X-Ii|CbEEZqcRk+M=CL^Z0CeP7Hcj0|o^UWV9HRvyTj-$URwpN=EK1gcgf-i*(}-L&_Fq zvXm?ufZD$NrbT(lB1{I3+|EEL7__90Y0w3%dNC;0G|1c#d@9;*Q8B}!YkAnBOCSbn zX!RPZ@FQ#pu7ct=fcy=_ssS?6rE_fnxp}Zkd4#tO<*GRoH4T2eRyj~_Ps-K&xYx`z z_^~GC2Jj=kJbD`Z_$S?FKo1PYq{_vQ&vukdH!=zQR!lefvFY>wL=!)@Xk_8XflX-^ z5s4&Z*R(dezlW zaqfnNcgv{ic;kb9YPq9rauhcx5E~zUT~w7V=Nwq{CD>wpP&6;@J@ZE2`gy`JbFADr zy|3oR>$oa{8+WZxBlEN^?x^fhv&%cXN8tP;43G?8k^S_+ojt0-Fg$F@8|`s1$8?ix zPIcTorYA*XX5)GXT|Jgl+aCvx$6`I|dW>^m1kMMdo?KB@e+R_M)WH`eRYoPG9|T{q0i``Z1YBKb2wqvjFW;Bhh^0X-Bj9Nj-%fV={3uLGvdr z74;#0^?IxCOLYPSn&I(1Y>=?SsIvHs8{Qo@JDXm9>B zT;AfJhkl&$rTJ8b^?#m(M_osu`HiJ_d}i}UbQ64xIe3HBFZx(Fz^{HPRz3KxNO_N1 zUm5Cg4i@#~ld}5yxUtJ&$1m?`%&MXBxP*#w zD#OYFy5M%B}`d|IEMBYPM*=s!D0CZKL#)OFy$@ysY5?ju^f73opy zC=36MsN*iA&qEd*X+g=^_(5Iegk^S=d=Qk+Rmu@ z#Ym?GDbNSMXqjfoWBgM{LRj+aVwxojV_EqUap?t1=Am?RN&mYT={QMWrS$WX{)N(| zBz=<7MI@a~>8B;VgVO)u;s>1@D19wDYua<}uN=WMi(+3$J!h4uqPibsg6N=Q%c7pF zUiF;V>|0plXN(O&XNTXw(M$SqO{HWH*S(5&@)&Ga+|Nf}s-GZ7P<@wPZ`sx47=&pho zZ>od;R*Za;iut3DuOPc|V=2bb$B~U;6@-3{48<>N^zmvK8DtrJ9eq3*ror-DV`oT5 zUC6wnpremVwcHApvsot7fo9 zc@j+~@HCEdtgyJp_u+5Dfyo0IwM7RYFNyT@M~0No&Ofk}oJk2l)`G_>5tgcH7H={W z#o)SpQ`qz-LmC?1WD;CVyL){9&d;`2)i!xbyT?T@;2JO|qQHIhC7j951>iIKX;R%u zz?u5N&#LoWXD3HXJ#Z^e2XuVnaO=ROmsUa5-9`V8uJaD8>3rk3+$bpxBDqPVwjgG! z?M1CxmB@{lHDap~lv0YKVwDK7IjvQyCADf*S~Y7{%?`QO-fm;7AGLqq=Xu_9?m738 zfAZdUJm-Dh`Fzgvo^$fX9s^Q)2P?Du5U_g39CX;hCKZcBhM1vpiq3JL|f}s%_mR>p30w^iC^<`z> z{%Q2DwSOi&RvL9Y%?h=q8(HX|MY*An4?k|UvqB@WS$X+!i1gejM4G027l~~?TaV=_ zAJ4JWMct^qSC-Q?S~k|yMbV;A?YxFUV=>Pa;#blYGCYt&?pih4^hjxxeu_1k0B|6U z4(Gyl*(lB)5$FqgUjSGYK)(KuO;RlY*@`ku!Z%j%M5#*merdD}5_O17_e*^Y=GLDm z?PjFv5P6hReIRlb?r^;HiPC9wlLWn;8{^FnE!Qi|%SPW36V`7}X!$|C)-B`4T(29T zebq0vPo3WmqE*rz7jWj(IM@0LcPu|qS_?&e8S@G)dyrSO60Cu^I6Lid{MC~pTH65U z(ZKPDpWL)r^sCR^T)E?~Xw@eHGuhrYyps#7Yhyaa_bL>Is{5a7U8IF-W1cvBgrb8j zoVl!;;>@g*G?vVqSqe$~KIesx0Hu6{&%i>)DV#!lXCNI5tqtY z2{1EM47DAZ#6PiEGKr_Elo*a7z#OUV3~?3;>~`C&)y|s`8E{)W7Ui_lpa;B z;d+P*yyX_xB)vbk{4K3s9f&J%OIsH!;_lznj;P?No7yy_M*Mn{)HMMFO0KzyZiBdL zD$U>qq>WZ_iXI2@Pr(JD$Id8Bp2(hSF<(44uuXyVzNPSa34cl9za>0{!oNv)G=;ZH zcrb<6NjRCp-$}Rwg};(;GYY3?b_sKCvIUm8=GHzdkWe8qTY67*y@JP!+3w6O1rkQu z0zA~~b}cb9AqZjgd4$$KG$EJGv$lnu5rKm*yTvj2UU))KrOPr#jB%j&v5ty2 z^JDqT+Q2xcJwJv@0Zs-mKFD?pFs=_z_}g~Jtxf9Ntewr})-DBsJBljq7{A;H6;@(2 zdx7!kLv3JWLb&Z86xW*dwq?1sd&QdRxY&8nGN01(Xk;3oas5B{i(HZaJB3V)kL_U} zy$m0x1)b1#6iO&v#do zZP+H?BFPLSB4yl|7v%xmKSjwM@C@bOqK-IzSs*l#dTQRhl~lRDjz z3+jA+$x!E4V3&-hAU|z3{chFf{+~*lLq7^V?uFe-Xp)cA@uA1^qSJM(?FKzwkzTur zIMe(%DzQ61(qmbn%^XV#F+IKxg@hi%Ng;zCXCoWt$7&2{MUQvEU7}HSeM%WTeC2>u zqcXZiPd9S^+=uN<3e`Cag?#8SiPnU4M`2b-_dbS8-HTc^$|13L`dT!~<`yB1x{+b$ z4A3=dlw|6n-N*%nPG2w-DrqQ`jC*7<;0$^U_tB{JAF7WkiAH6VM*YvYwPVE->=7r> z0v7jUY2d1&$H+-4)k2T=a2L5kiG(QsqI+?NKu5<)euC#ys`5YDj8q*R2T-aHIwojc zW1NNGdV_9|pbeIz7yKZx1@4GZVj2<&>Mj5UdTRLxCq!#+mxGh8Zibdv&e=I&p|+-+ zvy-iDhL*3qv!wRsc|6UI+nxOEXz~JmxtC{0r(bf*r$xWb2bZmSc(iR09v*GEm##t& zk4{38&*Pv~v1l+;JnB5n`-b_`qF?^Nxxbz2pSy_4ZT__A@J!CWY?^=e zTiEM-s*J}vrlFzL#l7Nz-%hewy%g4M&Lzbzqgjte*= z?}cnyv9ZGr^NgUa&kwTyp_T$<+Z1GDi{*pB?=Ov#cmKA+oovQzEQ-{F$4_W&D><7Nx7TeB_sVBITtaD}-=z0Gb zXOA#Ggl{JBMR^o~Kf-2*adDuDx*GA2g~03m?bb$JM@?}PQN+jT;(KXxt2lewFRYfb zUjDB9s&e$Eao+?dB}k4KuXI{B!GXuH`QE${+km~4Q zxs{(cN(NGPyyOV-N>_(fyZ+(UI^BYFEUqG*^04%YPqf&MxUXQtX$op)FM%iG-W8n@ zj$W~dn`U@p$>G5kXeIDFN8Q@t+YpbXPQ+6l79a6gn>Z1b_o%W^S4^ohITeD}Sjf`z z#Hs6hrK=B*jydAi>fD8N?Dis^tbLZg{GnF13o2hSLkb5`Vcv=Q2P!A;f%zDzz(1e;ObN-ew*PFZ;gA;1#YOEnRfb zt(Ev6gk#?j;i-Dvci-1))NuB)*Zxk`%#c0_qt!h!c1u*+|FD+&KU=y1ev~OSok@YM z5qND>tg{xK{LM+Lo(073?va={Tv9;%oQlc7wG!UFic*L75R#R)E#G4xc)H3&>L$EP z2tGnDMuIE|-c_Z<@FfVrn`$>}0l^)6+*+lS*a+L}dkh8-KpZ$MqVUz-QZbK`=Y{Y? zy9L5G>^30$tK9~Kr|cF8@3GshJ%yk^CjvT!SE2Ce*od4Fkj^KB3B#Z65)8k%%fRs8 zb{QD{!!E(_IlHJrRtz7riy17UdM}k|@E63kRB_;NYQ={9)6C&-p)_%L$~ep#&yIbN zpI&^Y^_>+WzTsHh-IM{6e|(9j#Gsk$>N`_x0q~%| z?<``wxrIhXVcXFyTL1T*6>LklX!G$q;)^XLa!a)8`uyX^62N|}9e&?gE8s0HZzGfq z+d`cm5!8y3?*F1NykjG0nc_eHBE@~iK>qO+DDV7Vn9hO4W$5SU+75^d=&YT=znt|@ zl&SpH2udtPKiS(`kbb^`%V11|Yt3SvuLNG*Y%qEdrT(^AXY@e&xpFfzIr=9`(#@rtKgl=wD^S_Vn}@!1srIxaz{h+oY={xbc3`m2ThzRzARgu}b3*Xo*^1_<&bUnlJ=j3~}j)wUA;? zd*Jb{ZgJjLSmoBbPm611yDI{UR~YXjpgavwgWN`HGn~%wa$l@NBzEgAo@+qPm*ID@ z(-_J1f!{0LTAS%{?X+eI&O#|~kJGI&d3f~gU*!UxG|<$G;d=lNQpa0~uuq7U$Y!tj z8&$#a4&taL$~6@(vAKE8rdVEdb8sw~;sW1YPr4Odba=-wdG>iu>}Om2UkpzL7u7Gj z6AdU(y+xci1K$`hMOJ^qm1=8SCl2ce5|F!H{@Z{2nN_V`DXlZz+*H9{Nj%6-=N{f8D<7Rz5FL%dPj-~Ek z7LRiw6MJ$SR5A6&PUHf-o}jrPEM5$dq&&GjU=mupBXo(iJ6e9Px}*GL?v7I5Nq6-9 z(Zb?WXn3bP64?Nv0mIrfl6re%S(`UGHpNlGs!o)l4(A$y86oNndDEoMJv1BC3HGYf z0=H6xT)))Eqd~5X7F)HMkfF5cm?kXV8U`#)gGC$tS$s3isC36jtm(#d86v$l3UQ|C z(nVsM*VALUf8sfo`iEJ3<#BzsEPDeI4Hl0kjm~;%V|=UWG8SMV8tn%FTKi|n*H(=- zEms<)PvZWWK)0Wu(BTdKES|lS6#9UHM+7)X|y$!HQGcs!JyHz^|^K^N8Dl4S-g-+wXpbj+#R2<#YIJ|@h#dKMRgY6>X%x9Qia7+W*VtFi|3$J z9~M7_+Z``;<8G&WA!wOu7;JuoenIhF6cULDKf#S9KR52fVQ7+cN5O4IbD#A%xL1iV z^R7oxU&0KhWXMZ&V;}wsZd~kjk!70IwSA!gb3EF${k*v7SF!L??Q*SWzziAKQ2Jh> zP(nnTzB8Y#ETk;leZxH-a?qmE^1%4aei#inn)ro zKHiIN<>MVe3I}&8qkO!mJo$LTu!M;-4CeI-P(@%uQ>B6<+npOpvQ}7EZ>jlhC=g_S5%HYl1HNk16 zBu9)_IxPm|;9bcMUQ7iMPC2;dW&hTOuEu45m6Be(yotL{OFo6{_@P|$sFIQ+$SYgn z<&5vy!5el)7fxANc;=r%mv4=gvR=9z1+#*mKt1s(OJ7l3a*#b}rOOf-;@`z)Ayua= zEIsxQt<73gogY!z674Y>J>My}^6w62;Wdh>%X@{Z@0G4wCjQ+pEZ!o0zb-xNsK8~5 z6s0#6=B0Jf33%w}bES_yVetowNRAAzc-89lz7zK@jXf({_Bx_f+u-a~aEla8rAB4p zm9zrgoE@Vl4rI}73afOlXw~S4mx^~c3>&Y=PStCE?~tHnzmck5hVY-^w_&v03^VNo zXn7I$P#7&IAYh>7I}2%Mn~xEfR55Y5q@ZO16_bH$2^2kBAZVGjfYGu6IBDww5k%Sw zTCP+v)O1#~oS{-;_!5McDGRh)wcvy8u|TnIexn*wV z`ufgMwg8--?hnK&I$Pi}$83SiKW8yqM*cWUN~_LSaQXEt^8D7cb(^KV)(A-2aFz)# z%gi$4rOvg+f7z!{W z=$Cwzh5_^83=3eMoWX#JD?KCj+d6}WN@3gAGiaO?wvCx#LCgVYTcfQucr+g9(Q-e-ceG4P(1<#(QA`=tm>oAmFMx0GIy665EU)na-Ezh3r z*P16dBUAqEZbi-yzmh9@HZOe{axUhv>*!XROiqQI9blBhi0O_vlMPL#I%2EwN=|kt zuf=b2ELog_oHJnJutDsYlGm_-_IdIk8%&o{vkj9od5dmxt^w>>ZRidotQO~jamwNx zgf^vzPr(Lcac-OjyV7)ASbK=~1doQ_y$AfgxOKqDS@A=kewa_Q(YRG`V~HSVM!FAj z^24Vo5JnH5;=UXsXN7J)!sgK=Hahh>)bvBnp}g+D2st~#ULf}`{>#IsG{W$hDVq`0 z#0+T-sJuCr0icq^7LC$7iMu0$W2rmj;ZuwuVYER(rrx-NWeALxhvtSLXVaglH^}|x znFBDfc1MF@*6tWLT6ISfS_9qDa-?*}{3+;;WZqR!1J4#3?|96#gkD3|W(e&*=2+II z3&*B7nitYDvpVq{P3my2l`!!|on^UA>O_k=wWk~Ej0LMHK-0&gft*8zTD94fq61o2 zLCy&lDKud!{KJMQrQRo!R zKQD3~m!3PrHX$l2$hkve*F{(~TEVfTQ8yYrc@2$nkwzE{^6)8gL7|0H4TUaX){8pU2xHCLq5BIWObhfR3DvRjLI!H~#9@`aX}3 z@-I38MRnx7@rAG8_LQnWerlxZ$oVFv`XDDBKOO1Bx;@YgU)#T6vxmFuVs%fX&e$$USm7J=k-O6C>df#t#xYw0Zuz@ZsfJJz2BXm zKn=`^J-LF-8T~3&R;pChNy3y%UYE|*pFzbQx?DZk%*7+il_Mws;q)Ndg>mC$9Na3?aP{ap$#jBIUJF(q8+Y9ly-6!HH4~xILLdddP zI}yL%5Wi-lkY#k9CM^EM0})TApp`6}V*~8JAL6kohv7r#vh^cZRU#*w!LGhze7idJeA>wu~+x z&*C556Y&{d@stm3KX9a5OZ*+;X%t%FQd_2JT>-{dXNmY!YFQTFajh28&DkM3GmfQC z{8yx>dZi;o(w_~-5IYFz*knaI<>AUleEf$YC9`j?o=r; zd0Tb}(y z*mBP&iY-?nptI!+3KLrn{lvtU9X}y%CX#tgCxA2!cVZ7Au`CkNhot#BERXadrmPjvhmf)e{&^jit^0V1vTQL` z+NbXoP(JQ$0m{?8X&e*@=uJbQNMLUZPL89WUYzXFo5upe^OhcncKr)de{iAcly03CpGU;j>844svBwInUV={qcL?M;kmm@1B6GxT_ zunl%=U-f{evc1BOB?>=kHG-*P#>n{?#3uY0sf~%p8zMeZj>^eNZY^goI4Tz_jI8j! zPx&+&k_K^{8Ue$~A0sb!MkdBcCybw$VPwi=w|2A_9y@L4)*kf2W2avWN50+A%8|1M z$R$15!(YacM|q$+W@4K)4C5)Vv|+f+=B?K-Bgy_oY%gB5DVA5=E*wi{q;TZUNxEgc zv=%e+QcoC* zCXVdY8;_l~am!bNaDPBtm-T%*;&+;621ge8OlzL#49nBq2P41kgQregL)KzEIxM1! z_pRq6>OemwieGzMSi7?r$A*{livA*QOour@+=%~LT3@&-X-K6zMzEDYP0FM-h{~H| znV~vLY~mf-){N$lQBO6gTbxU09ocP*ZF3 zZ)l^MKkZ#^{&6j(`G5Zq&7aIW25R8BP6IsMvF1O$hOEsp+F8u8tj%vC5t!L)Z zG@PSJ9nN(UcDkr@{ESJRR>%c)`t>r@Sr6b+l%v8>PvjwOYd8}mXTZfi#_Qpn)O@yJG) zh4HMo@xoMHqZmJpjyJJt6s~J@qZ;?m6`0PXP-Rlcha2N*Nx*x2Ss}V_KpAsM-Sb&B zx-Gh&ziH9v1jmv_-B8+7bG)um)zhXf+K60G=ui(sp@N1&ZE>qi2Asi-xqLKg^nvQ5 zBBD{a(x_8cEb{%~s_cjsuyCUtpsI7@XDZdgjhDW1Yc)THtJ1INCZM#=jYa%YCsV58 z#=9N#%j(?Ng;IUEv6eRQJ8)w$x(9+b(9jEh+*n`n+i)Zj@cr?lmmAxaB?H#+2@aqe z+&JfB>NeuW*J;7_^+gV$WQbWa5yz?rz!!<#EHc1ZHz1m@@hI&Rj|av@=fOHkRqENr zt$iQcyn2DV(zS{jE6oyWJe;4bU*oLnvzbDTnXR2IBDuc4)cEX9L4K=I!HH1SOpUo_ z3N==%D)w|7CWY)9<8a@Xsqtnx(l&V8Uj?-RIq_6k2e-V{2n&=L=gBa7**NbtK~dvR z>Y2u5Lt5qOiW<{mSX$Dbq!=tIvfnM#cnteAz1AoUD~8CYJS_jgc%jBm-d1Q~h~G99 zwhK{X6n9N<_AwD3;}uV{9cxD zM@4*)SG=OeJJ{Ultwv$EV<+M%4~vf&E7Uj>hdM}gFEyTlwZNxcYecj7JV!)4*?U%M z9E1IiUTPGEEkVRn9u~iRv{2)Jd^+0fk?fCqIsC-wfs!nK-XRgc-z&bZG)~9|IFE{# z8iip+6Y-RX#aBxaYFuAQY9B;}sZBl4QWZ5Om0x+n| zJS=|S=R%DUeO1>|%d+_Ni9(H6i?Q^~10p@uPkQARZhomz7`9lEPI*{*tC2#Dhsvv- zHKZ59kR_*Np(vPpFQCQ-Uuf;SJ3G*A9s?R@J86QOU6Nx}OdKvK&^SQFWZ+5yjh&oY z-5#)Kodz@(QF&514;^;RtCu1&Y9)QMp1&u4?4QQN!IEKcd zs+32`^Fm|Cc&%PfFkZYsSV-qu`H`YRW zL0)5F#=5;Aud(5ee6O+A8L8nYVIc#k5dv{I!5C5fL7XI-nen2EQ_T1m|1>k>uW^bQ zLosDM&9F&<2Xj-np@bhFM!33!Z&A3SgfCLKxP-GP946u4DI6r>?G%2Jz%n;b__lI*VkDwoFjdiv2bRIt#r^8F9qHXXdG2vD-NGz zKz*%Fe?Vh>tuKB>)F*Mi(D=Nb_H}fxHR9k;&T=||A8q?p?LIwgFRd!!!?D$@0y@3Rc32yl!>0635 zhUu)4%LfpCr!nbejaFLoL4d{vD1JD;x2=j>`)dLoOB|~BqWvpA#W&NCG?)>eM%jzQ zt@dh&#P*C&qrh5u86*DC&8;my0$<~sZuutZ5Mjg*b6Od3SFBvZ6V>8njF^K5tm9W~ zs)iA~1y(hTl-<11!WvZHMv++UcUna$me<(n97`snFyfsqy3Kg~XOqp?2iahpjKjE8 zM)3YVx)GcYhNKlzwv@9P!B46vlkv|`tmODMN+mIZ!|K2=G%+H5lQf{RHfsnzBMSCs zL|kC=Y4^u8tBh`I(o8Ec6o^>M2NCI$qyd$*S;d?m(9JaxReXMckElltl_>qoD8B&_ zvv?(b5h8BI-cN{#|MF!N8bJ643Y!Gfq6}3_sk}Ls5hPt=NA0(?{!osk)@MX?Vay0q z{kh51_|1_EOx1@*z98Zcz$=A_|Lf}8`b*1LTmNEZ)%u$YaO-amX8QHn)Cpi4C!8l*iDh8(DCD+v^(j+-Mqcm(Xrd=qYBEn(p;6 z$)$@@aU0AB5vxX9`)Ei-rBRc7tWhIa{?tWNtGnfkr0*cV1rgr|lj?~0y-KwpVi;}_ z^A}0|ie3RV>xkIIFZCBnRft&9NYxQ>I;Hv`BECp^7*CcqrQ027gMH`)KScaQ!P*KW z65H9*fr#3z!_L~aqdBz7NANUhj=b7b{104PFiN|1#92Z%iiLGJY6rPtB%v@n>SD(#Dn z$R~I5vqF@6{SE)zwe{SlPm;cc)e_lv-t^C&U(epq_<-pYA%LT|{BxhLN@LdaRO#Y> zUZtl>@AM*F`Ki*%n7eqY^klDqDD_EFv=7F)4TsAO&Mr->HFmCHo?oyA_;GeFN=9GQ z0j1XKA8V)0HK=%8lfYX+>d?yx^VoT-C@djl*>+!sUvp&%YH43O@OtJRrUIf*> z3Psaq?)U8In!N?JfdlYFCKdw=P;csq`^^Jl``fSP5!Ub$_1j2dqFy9@(Es~_+Kz}8 zkyOVM1L23o>=JNE1`#m0MBp|->NR-6_>4L%Uu@U1WuNJ;fV#$0?$A6LXmcN+#;OkD z9rFg5aZqdzJ8lMw_&8nsa=;>4sPUOsD3A1Jmq2WSAoO) z5~pr9ksm~*No~)Xj*6-C+-LbG7K{80uYA=!&12w49uE055Urlrp#b8Td$B!3-xKkv z)V3_Xb_ZcaTISRE)8jUgLD2n1~~F#TWaNilNrCV)Y`G62liFtj1e#F5nr`Pl_>C zM+Ou#sJafKK-H12t1=!X%?s6eiV;*r+HMzRs-|Z^j~6wddP`C9#C}thsXEez|2kCn zr|{_5$iSi|rmj(x_$ks>yeLC8iOW^gVCw5dW@*F{II=tV9t1+mVo&5+8Zf+N5UBtzAWJd6n0B^I)x8Ocszx7N_ZHB zf0Xb?6#ibqT`0V;L}u48CtdPu+wEGN ziLpTl^Lv~+O^nTDi*Rc_TQ{ztRk;R$y%`Q0qjlr3fN*(V)9Hz^rHh4&;QgxKT-@jT z@{j+Fp2qwFNbNZ+B7a}!;jBXV+%tJzp&|tR9w_for~8grN-t$*!#k! z6?R38Ru_P($w%+9Q=eLV?R2&4Xv(6&#)6~d^) z)eD<8hq0qoe_<2u9o)bRo5qI;B5QA?#RgRhlhI)GxO!nzqKY?w8C_o^%y?l_aZbja zi`?i1e#7rKX|aFXisRKn*-JT>}{ZfnUyqZ@@`9f z#8&oPiJi!+G{y2NJDOvO8|3pb=N-D4eQK)7%uYf!m?48A3^V(u_jEJ+8B9wnRj+#H zvb^y3dM;&U@A6hV{7I^r75 zK7*@kmzE>E{}u27>y*xTJBkg$syAt6!#y}A>v30ngk={}!kDaUX~*t?toQLs{vxto z4I6;S8vnIEGh)l9(4b0p%xBYpT9wIq7L_;0au0kivHcg)US#w@FOH=iV6xtiVIyR{ zYqF^W>LC|UG>PVbkoDI<9!1udVYga)VAf-65BwRZdSJz6?t!Jx(G2K;Yx&Uw$-LO0 z2AYdJQ>v1EasnFrK7jwW?D*JIpJ5q0jTnbaAKTu>(+ z13;6JIz>qxAF{4N(>C4l1Pi$_L+*>7&k!d) z!F4?+vB&1?v8>PmjwOYdtSdkvA?q@vkU`epA{%DN)`G?iu^Af0>66MJ>-!I_8dbHa z{t3Rs3guD?CFX-dK4jg8R)us&MOH|6zLt@?SGH*|GMBSAEIa z(FnS#Z;pPYQY~bivyoeSeNJqYf6?Rb!-!Mg9IfpqcqOGOvMy+(>SR5dQhms}gVy{Z zoUiZEO&PR7CVIh-th*^Rn}- zB}2^Nw_z2eCE95}V<;^9S0Q=T(1hnMhQfl=v7A!1hGDPCUu-=3P+PPv{_O&bWZWt? zto@#_;YO~Xud}tzB4)$xVG-y`3mi5A;4>T!#nBt4HB1B9EOymaa9H^`=@8CX|Se)5TZA&2NUo^*E_wg~MkxV9XF4CUIv3mmeiLV!ZMd94^5w zTy!A-0^?icQy#AVK5(gvJhA!{j7D2beOJL@_A##h=8+;k$Sa)` zM6OtVPQ>hQT~k%TVV)x_{={dh0$%az3DD*^x77b8s*goX#FKH#;)eoD84mBdmGV@Y zSIs&O1&8wvvHU*6Bu9of8R$Tw3#97(3WjMLOl-+Rp}+G92c~Qgx%Q79K!B;0UVCT zs4Mnw(2g|!lS6AA^|AaG%yrjY^nwJKo={FdLt_gye> z8b?;WFBSGEXr>9`-(sll$|L@YhdkbR6^|>22vhOJ9rZ>LW695yU4&!sv6Sc%$rV356oMaXBkL zCL&w&`;8;3sWgKoP^`F$Q~VgBE}IN>1>T?Eb1^^mY=&v&Nypv=er!nLF%qs$;ZG%8 zk;1(tT%5ukB^*ZK<`NE~@cR;eG92M|C48I0l`?k(C*U=}d+)e3_rt~&BJZeX;4ag@ zNILG0E3@#U#`uQJEgl$Q+L|9?gKRf>ScGebpES-zKaT$pTR~eAnouNg6n>Rh8yiNk zN8fjbYfYXuE?xAd$lkBI)=H4U+M8i0dFzHt0CM-**s?bKxbd`cVfvre*Z;||1W#doByzv~$AQJr?9>g#D zjmIzZCrB%5A>j!TfnkW|Pmq57ym3(TYoyyqzfX{!QSoMQJiu{s&wz&7Fm7ua$ZI(T z9I2r@m?H~r07w4k(*F6dc{|%#m)5W<@T0WCk13mch`~uy#K4b*IfNsxpwsZBnBKNC zF8Rhtv?7iXKl+rfL8H;&NPJ_YP(paQITsPh-1rz4%FEobZ{&At#W%&4ww-oqv4QdJ z0!oQHcHBlQI5xN^m+;I3iM<#cNAvh})E{j!i)(=zV74?woXIRMBe4;@g2QT*C9(j= zk`XEH*nz>i75Pz5lNFf_(;cQt;4PQ#pNRuQiWNB(rll2IY8|(l#UszSfx0 z*YB;LVoTXhK-kZ?8-TkD#EtEKS?42cIL%?B7Z0K}{2u*m^B=NIei231{#+;$|Fsjj z;>)MdkVK0bRh{yNI-F}V=7gv-p_@saoT5$o-^e-#41^biNKf6hKZW|&^8ZDOC8K3B}tWg@rl1ANNBY3Xm)-}4)#neUJ zkqZia{*R&1ubB0sP>`XJL6Mt|S~a@wQW_oF%o^Y1Zb0Vy+^YnclXF16FJzXXWXS83 z7q8vi4$mVtyO@hD5^ZY~V{UQ@W9BW6m6xg)bjhXVp4qrY0k*J>)4Yem1uh$M1%2W2 z@TUd&`Onb2XaMs`-s8Bz%xsx^GmRw}f*4A&pR`00IUZl#wwlxmp4wLX`m=;WwsS6d z{uAqz*zd`(8QFfXmIscz1i%d+I5(r^vrvVWNvl{^`8MimC~8H^CD^U$@lQL}4G~YK zDU06+sAaUQpDCqNjk-=PsL(Qd1y+|Tn$-3jeocP@^gEXSsHx=0 z@XA-sGce1=Pk`EK99q#*1Jwq70JNk-1LRbuwq@}h^QtF6m$LMUi7JCvIzrU=&;EAt z6QFkNwIV$gDO~&L911Pxtx9&(sfIATG|ocO7Kp)~uj2qcBY^XO7B)P7_s|HOjH zQr@OgVmOA-a@Ap%cDoiFIx`UnUJ(}=aM*y$PKc^^G&ZuTD&SlB>bSpii2(>-;0-ZkzL_s z83YM0=@PFY4Csi6xORu~gF5II9Oiw66CD=pxjvIi9A06GXh3WqY_5UmSzneQd zT)ri9V7CHH`9|p~`pE}+-y(vXio78wq>LFfTTnJHXugANeN{FF&96^Dsa4 zZ*4UJ%Vaxo*8#N&VoBf+4b~!Kb6w3?r zVvZ%lQ^+#_)~$GCp42u>p?#j=$OZ#u)?UN%blr3*%d;rVQL8C^aJAL&d~K65JTGe4 z1}5825&yyPjQ-V1o@LKrt={00kIUi~0(&eQru#H}-UF)PnLIoGrGZQc6`VWqF~7Vsj}JOtx`9G3X6#b1EKl7>*a z;}^Cms7)EpHc)wUEVutciJh82o0!r56FHXJpB9&F#NyjkJH>?H1ImDB9d?sn?LTxkCF4UdU_2vNlIK zHpQ{isb}Wlw3(wx9nST-p-#A2o!Q6*bylPMl{$C9Xu>ho^#N$0=9TZQ+LY0?c{)o_ z^FEAR8cub#`J-kM%~E`m1+_QkN4RKI)T&VqiM zGPbz&-;~%AR*j+zjk=KmIO43X(U9t<5qA&m28DvX3bnvAmoED9qOOpEnvF87eKcXM z(x~H1)~Geufx2kX7Tn^z42R`U$ZtW-55TrMYW}QJEvOldThxy)12z4M-pB0(9W^`p zrT$K-%3=AIk*cHSVoLQv&5>G__=Li5cc$AWXoD>Df*(|lRYPYSdZhS221`;ix#H+Fi(5jSMX!WO_U5VH!r|QxEgB@*rYALlhD+*Orhl7 zH3}uy{zw_mdcOR{r48K-lw^zAK*^3bwR(#ak|ViRz9iYHNkMJriTEC&=sycd_Pl}H zt#pJ{n?VD}Op+II%b1U_CVoLm1s8p@pjO};e3CHJrIladY-hg?Sxf`TuoKx{-*?`n zxw^#n2;-yn*t)SY$YwM38jL`^o;Esr91GiASzQiAtteRqyZ6-7@jdLAMIxTeP!`_? z5X&g}$5bipMaiPsxRF6#%HiAt!SR(OM~qj#Ldl)jd7qtud<<%lPkC7WRZ#3tAENsD zQ;kOT*LW~^=?H6{F;x#}lqhvuGZ=mW2QE5`!(+PJs=tZ^B zn@6(zw6c;T!z*7kPrwf@ZQCWtr-5ii$+B+9?;YPWl%HQPqvVYXTJyFE9in4Lu=I#B zB0bel`qb4J1y>;bf-ar%aP2pOVaZDwR(^u28+9Gme#m((W_7~0La?-6K$43w=$>E2 zeR2Hn;E8WmeHl$+GfAFRF>$z-kmMm1lYwi9lk%5k7LuHepSqKBxXPT$naN3+tQRMN z7LrUi$(AIYB8wt!4B`SIkUxo195u`SR<0Wdy{r^@^jm`>HzBAy zDRIWJBb=0Dxts|kAge#JRk;=)Sxu!G{D8E&Do!zE6?NHUs4EOv4278?2VhotR%5>c zA9knk5(&4Z@Ei#zPr(i03BN<(ffA0Pa1RL=rf@q67oc#HjLd-b#E^?!+Rr!R zD?~0<&A?rzGvw06uFNMlsC<=896UQgg{QIr{@@|v0Q!h8!;?w;?`PEt1fXQs@54@%;P z*Lm3ozs$}{_{Dp|dHD{a86i{d#RoNqRN_oy2q=VnHc#Ts2${`sFG9$poC1W*L^m-) z-n|$9w{5vgUSm7eC12e5OOZ&$Nj~(@m!^(EkXwJy)@?}$$D4olZ%OE5OLxgjZ2y$f zonKG&DV;=P)L@TQYhZBsAA$XGCNjZp=;C?(=a&Oz(`_z#iEY3Xt<1KBq<}xPF(FL~ zrA)NaW)1I%Bdx`A=>#!79>4&bEbgOl_M+ki>h zzmW+a*l+`o-I(pi`-qxHv)t&>>(J8AjX88VvP^yvTXw7{Y>EH!23s0jcvmf=rQMmv z8c=z2EL-}OB(`X@o|m_@2#%%RV745F0VHfWsGzAc?qD|ojOC#jC2ZMrm%)~EU`Sef zqrq5fZ;VS*y^-`0_eRSJ(i`*VqBm&y<;r`u&|t^AYT0C>@xs~+p`FYe%i46|SiHfu zltrC*jwW?D*Gky(qRz4qlRD9&PHmdnqRv=grhvlWQ?KpXVJu<~Qeg1B8qiSbAz zDE!9b!egdQ2PM?D1tn`!2PJf}HEXZkr2n3dTH@e@lG=cB&Qf&0nm=Az0QSB4Dbr^2 zT=MbK*}KtT>M_%}ZG{3np(E)E^qA>qNb-4bbW|7QP7kiy1YJxs$@G|M-dVhZm_J@x zU688*@u*Mk)7ZmEcGr-G#)G4MhO+P$bT`r``wzV3)sCdmGH!SA_W$&M|J58l>94XJ z&_(>@+Q020UHCE5o77JGUfHm#kUT~DeH)VP_!VdA4gS9THS#cjUz>rDuP=8mC8MdI z0c*#+6K}Uoamj(ngJA1TcJT*D?b~(nWWlre zUbr>R0Db|dVW_TN0I$4V0eBjBL2!~ya>RJ$D*!(>$;F=_wd0V&AO1Xqb9k_FSpodc1Q&mV)Q;s!hUb2%?o=WrT+y7?;;0Kzs{CQ7A zeuh`RYMzksF8&OuoyMURz^ma-Q}P=LJwxY<_*80J7XLI;0K82zmR|O;NKf^XzGy6t zQsO(Lb}auQo$_$)cdrrvx7TPd;xi2K6EJEE?ZYwQl_=%^3@L7WX}9jfKY;%U58%tC zrOQI#w?;@z94;mVepUDb${TvlbuRWN;>m-~^;qN5efx=%& zxEY1hCESq0V>9V8GwXH;Aeg^9uEEQ-rz`@}V8SzLwUpGfHp>u68}z6P1@#DyWR0Cep{aQ>fo7c*|K2 zrk>e{JA$T;LEwkRYv=1G*aO1{qkMYv-nMQac>2s`hLrF8?|VMw`_LFQh;7R_7^eOV zzNZ&5F@sl_`f>*EJPW5ea^VfYU0qs4ZoC0_xj1zn*U_ypc@A~ZFuA1X07&Y^$BEbS zD0Y03lk9LT3S`}W1S=Ru&0xft%<$F{8_O#_VHK~`bvc&IaB=D`fyu*^;8>6yqT59K zJW zg4;2o&Za9Sb>2ZPsMCZdxTrHz(+8JJACCryPiSq`W^X5@&BD6E;d5d9(lj{J2kQ86 z_#>K8>5eT}^o{AVNqTJ?;!M+JvBb`JpvUrbN#j^jh&lY)6n(Z_xeSR0hj&LdOqb6w zzEKn6@LzF{L$Ec-PoqsAST(xeQE7AtYY_TpZ#z*aA1UO+;pIi4>#z^K9DYT5?j{?J z)N|bWMbr|SdG;P5N0 ztQwWkHF}B_4jSDDQ&1Px>5ZGw`S3>I9>{Ou@c-dfo6h0wRH}u;cQ1i?IJbF}f6=)p zs&n|$?!JQiQmW$cKa5nJ!|PJ24~G}lW-Nq{_c`71KpPB2FZgkI$;pzKghYbF^;^N= z%E$Ze8_+r3(PFTPF+UwjJOz3QxBy! zqw=U$^<-=j@=)p-2Odg&B)zOy^XWWc&B0thUvKZThavn1;85I`u&`#Xd5Sfw)e##! z4zoZuj&WZp*1TDT)C=BrDnuJl3LlQ??vhskV?`2+J{i^|TlBqfm%RE%jeF4ZTSQaI zhOo+CD%ebWlZ7Rnq}t1YLWMh{F%m&*$FNV+8-VRtAw+zfF8%>9mtpghnj$~dkiTuN zg3T!Ii{Nax$d5r;C11g2S8U1j3Sc{ix5%eFT>XjQ+{lknef^P2Lww>K1)D1>arKA0 zM0}7}Jn~ZY?_hVMR{+~_OHIU69u^;g+s_P}GjX`W3Y%wOFR-__Mn#sNCrjjeFg>lX zIR+aZy#v^eO+e&R9+tlxocrHERR2>E?=h<1f2M-X1Lax#yuU^Key@1d`XLm4FLh)R>%o@dh)Y$las`Q`r-`59jMs(F^Q$FXp{1lW!xMdVW+ zmcI|2>)HZu?;zE=)V3@>eVV}L)v_!-^AC}p>XnWVHGbtJoS3Kt>DX08I^|*Mtw6c_ zOzMHRM0|!JJ{+TVQsua*n4bqE~KnrZ%Y#|qq;Y$&0o@${E4*!b4 z=@4gRKnnvmry?q(N?c@BRm!8}d2usIPeB7(akDPUc1Bqn{_D8;npR~kaPw|+m$sUc z@L$KxZ3v%7Twrq(Zl>V}HB}rmv*P9eWLL+ATO+7DeBnP_2ZwJ-E@y?!e8@KAt+>c) z%}A!n+lMwdr{WZB9^;=_exRW4_Y@*tMdrkNFHfZ9?>`*lh zuo*9~soks&+Qbj`_~v^TD25;5@5WWo&SwJZ>fl$`cLA38&z{}%cLA1-MfQHxw^pz` z)L6jshsFvlbJhS@;zy+#pg#O}s{g&!e=k@*ic?@I$A(YQPw%neZE@&tDue%Kz#L22 zyvK&SBe`Zx$;N>BaZPB2NH1XK!7uZ%;p?%akg4<4vEjdB6>*-e3F1_lj9U)M=etP7 zn~5`x<77BkiE{v_fH>QrqnJ2b)B(XWy!;5TFL_qPr@A?RML?hLJlLT$&R-7CD;5|gbbm-#w1$NQP z&JEw{@oB0WhaM(0C5l3}V z7UmU+&H7W1<@Na}$C8C9h*_n#ZZuc?)nsC>KsMMhyW$NKGiZ=*VkW}wv@*?;Dpm`# zRt;q{hZe>zFxmcERk1KzHG&;!Ld*wsu~b*Xqry{xn4hbjTSb}8Jy$c)+;iz|1u^3q z`XJ^T^?{gG)pN(V5kZJqe5J!jSPh!qMla&IhK%O?IIiQRV8(gB$qOC7*a8QBv>;mJvNgl;#r{|w{;g{`1L zFBEnQK&GJ50lU%K0T(MzA3RKtO`XL3NciU0F`iC zJBDn9L<1`Cq3JL|f}xRu$`<|g3GyYZe{26Vs$}h-2@a)E#|ZA9)-c-%!4}nnLOxKr zxhX3&61$ZbDu+nVjY6bp%6F02=7;rIp7QY=OI_5B+I!`Px<<>kn7Sxh6srBcq0m^& zbAihJy>x{Ps2oz!s?nx*lt$^{tkDFp18H=)F80etfXdp)Z-L4$K(PucU;n3;q*|b| z6=j&D9X{VEB0{CVaxE`L7s)MyM4chiS_3YZGKR%b<4Oh*XssoU-gUaQ|Gr_Xq9xw1)RD!T$`_O z#}an-<@Lws1EyDK*@L{Iyh&CfWu16@k+CrUk2P*2^hm$~zff!U`>xUwV&lrz- zm9z^^+!&&r+uJ;nYWm0-*UmlwvaDx}AM}8aa5lJy&+ucPH-v5bSW#zG5DUv*PlNbH z)Y-KL7WXC~2TV8-Pc|!)!$j~dQ>QIdfr%kMvA?3u72FlU!`F%Y7?ibA=bh@n!bHf& z_!s$1Y7Nd#UqTZ$+I+HWpugwTLH6Rf(@F)nD=ssIVo(W7!t*l!wLd1MjknvwpD152Dhf zwr6UxqR#9bEPwM#k)Pp}ubQXI+c-hq3i4?nT3wuN0K9Pv8}|&27xAgowk*C#FQLw% z&m(Cd#;y?QseaP8Rlz;3){u^ESEN%OuKgw8E>mYx9uc2mh+l?L`|w!vt%YEgy?{E8 zV$>aJ15*b7E4Br7R=^CiP-lJ>6Niflbv`XGdFUcSo!81+sB<@d>MqU|Dl;i8F3vCY z;v~>QougDr3}1?<6Gwlu=;$v5Hfe{4Rm&U9Srk!Y5LH!`@hE9t=FBc9)%2hf={jB) z=h1Rd8f9(xuQMmk0K0Idv4|>?BuP4RCL*pm;sPPiaB)T{>2c7Dq?LnO?&EO5B4N!54I=k{u!3?3!rYOuV&c&Emp3~Uf zK!~#`d`!Zr6y77@kre(}!UHJ0TEg8ayhOrnDLhBQ2^5|r;kp$5yrQDc@Y1-S(FxQU zE$yrZh;niM8STnE*ommKq@vDFT|u4r!PGgbEBFjQCUk|DvxEr9unq|2;^55htQd^ADx0nL-OvZZC!2E9TNxQa1c&3O)NFw8RfDh0en-vzrs1^$T!wc1JY3 zIh%F|bQY5VVhjQWot0I*89Jjl?nTgXX56ZRaUO($*%G;20h9n*)em2$;6%ln;izu zY{Z!i(jgMti&uLxym__m!m(tK%4y@Bb#;q$%U33gv<9-l=xSNgut>j**DcaBpg*gL zJ>^xaL3%Jm8Kg`9#h!oJenzH)IH%k3H2Q>;TPnqgU|=@;`vk<-A9{2tw0g zOAv(OzkKVIMistl$|eT2DnsZXDsPTu$muAti5Ysoa1X?CEcF0GXa}fS$kkZKGg$hx48$#<&hrvJqkUL%!>|c;JHpi9A7p4 zL9Zcevy8SRb1Z8!on!H>)8%?*R%bXzlRBL1BrJYW=lC3xI<1fk>hvpWsIwmQCWP~! zJ_HR2UG|Dqn=8Reo2|D}Se;EUdWl4y6@ofG5E>;qox)mgKE7|Q8%&&Yu3~?syf@$MH`U| z3LPqJC{)l;sO@|DfHNR8mybq`UQ>NkL^KLl8g+`q&OqNf4MPi9Ak+@()jgY^sZMD93)(PwRzmH-m@AQ5=UWLK1J~v*q;0>IP(nMGFR_#jH%s|!@!BVm zmb1m@isBiuBhILl#<0iL(c;_nakO}84iZgAi%THM=V)=Gd~CfBC!Z9p2&SXO^CNh> zFdr>0{uJXXJ$Mq`r0~hzPtV<@p>edh+bPceCEca*$^IU)!yfYniw zw{I4UpEp)jz$;$8iZ~>Xa{JcN#ghTg;;Vtp8Nk3EaNVvc&C+|2l$iLzvyZ&$7G-o`xUP zRB_PEir@o~U3dE;Xmb1JYy!70m$L$RK4fFJ?^BZLk?>y>4w3MF3cn)ZEfjtjz%tiT_(p*4_I;Ek zZr?|$9b|wg0B`UpOSyd?WYKG?!^G{2A6~aFeu&#QPZPL(@r&KQ`0sW5-WS>XRo_}c z`_O$F421)KxR0XrJsWoW;s?8Z@t@tk_|I-%{P%+PqyM2N>2<`)?MpvRZr}f*zsc>3 z|7PGGOWC}@-5ts7_Qij%+ZR8)z?}!bEN(!t4b=?$ZY;Y6_R_PvKI(l=(=?W;2R z68It&Zzk|Gj(ZV-58xCKcpG$-*XY}@SB{plc9?J{pQH~|^Te*F4 z%Rq>t;>RZYdj+z=j@k7fO9zUe;yO?y!lbeS-;*<0mM`4Yx|$^~Dh~Y(y8zt27txjg zidO$-nUPy#x9_Daar@#HBop_OY@dd&`PkfZ>8~ia@0~2`i;CIpdlABhHEl)rBAK`! z|KlU922F3H7vc5|YXY|~EeMleMBGndJh0pM3+48uQ3MAs+Z5E);`XIIz#Pl;c}QZn zeQxQ1Opc`v5VtRoKoB+bBUAg&KrV9o(x4aOz6BK0-M+9JtsQXjq_qP|T~ZzJXb*S5 zzh|WbYTiZ%B=hQn8hAR;+6}j_Rhw|Bw>Orx$-%L3`;N4zlg$l6>ToV6W`U^FsIN(# z-N;35U-Z9HrzERG21&9$0uAC0_tB>HMWs!pJwn`Nlsf%yK^-6BPNO*lw=XsfgSZ<> zuO+gjM!m*$eN$pfSQUyg6cV>D?jFhf7}5t44dT9sro#jYhDM6GTi_Ou5cij`{;mDf z=!CU@CR|V&b==MU(;8+wO^`)5p^y)8Z+^lGjl^zca{EfpjY6bp%6F02<|Fi2p7QY= zOI_5B+IwXIU87~aOPX3U@4F=gM;^ z>WiIMXxSsTZQ+{7);g6kD zM=8HA`r3k>b8&-!v2!2J1zE8(6iMRu-9+jICw5hSUsRR-zPKMHwtX_JO1AAE;8r>N zebtknUhLdfSoiz>$ilKatIMIN6+63L%@V&aW}Jv8qm{)^1n`RAcZZbrVrSy(y5E=k zB6xTw$r0m~uh8VqmrANL@VTVe!iWyyEx8851jZ_Q$O&K5cwpEz6(RUUCp8Sg|t%n;`pru}w(z zDG$r9hC9;i_vLfwX6$?xuKRs|VDaUXR0X`^M@#jWoX--!FV<}lPv$I(-v{6ozwc(H zJeB4}XsTWJ`>tmBo7+l`46l6EJXOwRiQkt7qL1Gf#LIr)2U0kd+Lpx^2~&RGRV+QW zjmqGaju18ewli7c_r<;|(o>PbwZ8=36~Aw$s+%Ex8AdJpePNfq06ULj)Un?e|Jm>B zqWNq-ZJb}l#NlGf@0%rgGH?;)_swFo&`%rh#!tiVt1^?q%I~WeCxI619HmlX_)^O6 zTOKIb0s`6Zi_0kJEQ%=h`>HY?CCv++*~g`tFYx;w&l0~c{_D^Qzi$OxX)L1H?~DIB zbS5IqeqRXm`hAu3IOt`C&K$_D`+ffw=w!by!s7S+o9bo7&P7OMzpqL&fP?(LDo*$N z@=r5%Hbr6a`(k2wPGfr`zb}Q4NjR0ldn7!P!aqxR0EJgexI2ZHNVqM9=SVn#!jmLi zm%^XBGmkxNg4av^ktJ^5W75oOeCTf9V_C}WdxVEZnAVBhzWCvF`{D5Cui^gWa%PG9_Ir!W3{Sv2jCVo}5C z`wnwkyO44T#OkVSWthp}U37qUmOs8ZY%SnM!w zW+TpIjt-I7UcA(k+09FJ7mg)!R0wqEjVxthZ)s#$NBcZAkPRkH%Oi$8`sITxWsjZ# z`&kX_DVwb3=)rBu99_B?8v>lZo5dWxbihiWy?W!c&M#Tw^ToXcCeYdId^+OyKU7DE z&-b*}JSZ_N&wd{OWtZ<}$fCDSua5_qC;s<)KaQnw{EVaM5d@*W-*p@ahHGc`@B9|{s z0Rhkyu&4siJur2x?LTOPwf#5zqS`-gA-DgyOlkk$_gMh+I*o8RcRT1c6qhgUM&?-7 zW;(~h<=aZn%<2s1Xi|rBorJY7>Kw0cQl}Mik<0gYL!I>?H|6rx2cQ9<%hp@9xw2Vl zvvq-T`NH0%asOmSv3mRHM%jM`{xR+T~MepDdYp7@w6tu<;w~g zE?=p8KC4EzMfdY9EE=8QSkkB))(cNfkFHVGdZsSgh+I(U&~Ju91r3GTUe^bl0id~j zG-~v->Z2l}QMl5m(;n;#*f0pYthyrT0m#KviKTQGJpK0%zf;G^vdEk z^GKT6o4NFVS%Q`MrjlC0XR3#2&2Hg1@s2F5PnY<1cC18VyC-97V%z=ybe(yCPSqR7 z%{!$@jeQIgvYRMb8bpNr%wmi+vW7B-m~5f33=z{Xw&Z4w64QiGAt6dkW0!eHma(*W zvy~Pk^!q-`-QIV+|J?JQ<++`wio^z*P%rnXs$Dz5jW(;9ARwm$4G#^=)IZV9?N!#Z9;lLW?w%7?HMo z#mdQ;dz<52;xNo!BA?>0{M8`Zn_uC5Tyqa5Mgo~Fldt8;YG%$`oc%>liTDs(JdGM4 zn-bfAeX}7R&-g?<#bNP{@Z6cPawFccaAW0N7zT`$J8jIgrPcvYPZz0*Q_XV(TAjD(r67gi0 zviNQQTE@zwb5(gt&4XpdD|vEcamt%4Kd!FC$h75a@$A~1XWUJKd<-QbpW?9m3n1Dp z-{N&*-T>k}vUu$!V{ZF)y{bJhm8Iv^5$S0G(i1kpUL6eSm`z1G#bN2Az_W~%7iVeS zsOmWP4bf@`-NNg{FzpJ!%D!lI&kn(v#kejRf-{Rhp?>Vd%Ju?-M62yeyd+*nx$(T2Z@Q;Rjsf(n#DA@x(N zytYPen*?>`b>cH?6f5hZWBG<+(gIdiBX>V>mnHY};(nOivEnX7?q=ftt3KTI#O)(@ zb#b2}cR6t%CU@wD&BLE)hZB=leUxYXGXlpJf28HWwPtQ&ed(jT&Ce{OV~baD+bC@u zd@U}7{xDZweGMo2;?MQh;%XbadV=2i;9twpIGz|+=EtF<V+3C>%We3ir42E52nO*_ZWG`%OA#d_MFCZO>9=I{PGY#XsAt{#UjZG zTa3z$+l2-1S&j6o;s$vZzBisUeR;6_9Y#4vQf}<{t!YNaSG3HYy}leogRSx-8mHRDk%vsX zI2pF3n_J4ya@)nd7N`~3U@S)b8DWpl6T5iS`>+-5mxYbI2^f~&&NH4`hj)d4&}y5X zzdg`TSP$yTRvoTE z83mk))M!1T6u6FAAxbb3SL0SHKCwy-DkJJ4cuT=Ecm-2>r!OPb6&m?7qVgX%<8pQ6 zu`e0*jFFAMMkL<8+TamKZEQd+a90ksf5FIN`z?%o9u}j!I)Z1otK+%1wK^hR&Q3`aWneEZS$cE`|ZAQ;iZQ6|zjBEq@mZ)piGN|LXj+sS0DkEwL zrU45h6Q$OY;pgZs9mKa~ZPSnHIow??bxszwt=a{Y|X5QTOug+hK9dE#SMXbI*idmVFu)Z8+7Iy9OjzQb#o zzO2z;_9cz_!)Ea9`^wa4PgzG5wMHx`)O&@c(EI51qLA+!Qy~i@7o@p0^3G9>){bC} zR)HF*imoofJ$4a$|bA zr-iX_aJ#31-Zl;nZr8{2?i)s(SK3uEI=qRI3y-k*&Em{{=A01n->7P3eZw%19{MyP zBJ}`DQr|3ocW>DsUxPR44)kX6cL?%(vv?Yndq(I^dcfuP@^9@WJhwRCEPi)5$M(@$ zo?q-cnBG`+YHRDw;uDiNdU1MA=@-VaGlPzOnabX(5PlcSAMWFnr-d=@_t z4A1Mo=Z8pY8`SG$E2yV)J%sjnNMc0V@-d;1{3Do)uU^6Nw|H17@+l6>zX8bRqm6ZA zX(mP{VYwZ96x1VLi0?NSQ#>7Qj0r=;QydmQ9gm_J)IE6F#0}~R-zunQ z^=A1gArgbg$_?t*X5%@=?~sq-TjWz5mLCp==cA4Jg>>ioZ~iw5>P>pF_#zKz25j+# zND7v(XW=o%9}tfjU&Iptu=v$m6x6E>ROKl(58laNE2!u6VEK#gml&D0e2PcUF*5KR z<4?$^mgrvpZ3Kqrqm5Te;xsB-7Jp}_fO@y?EWPG^8o`zxBGQ-5$djXuF&~QbG&A?R zKUYw1^0Ma55Q2IA(4D50(BfOI|1-q9|HMkW(bXRE=*sKw0yKNt|q2q1Lj2BsXx5_1`*h^U=l- zXs!R=dP9o^dbu(E>>C!Q?}3vroz{QXz|HHw^Ejm&)F&d4k2cmYC#ZK&KLz!cdgCN0 zEH(5b63fxX=vcn((~vP7ZA|VB;!Yy>hvM!$=cVxAstJYGPZk2Z#zIGv9+9+$^Q8;_IJneNtL9&Liqg4;^KUD<5r)>p%M6hWEiK3h%P~i?%l% z4-o1gE+1`-s}tJ)c-;l<$6n8qqm6N8Xy>Di@yCYt6#R2SJ09Gm0oq%`+dkSDQVW9i zqU!I2_FH46=%^)76C6udIog;*0PTBGNA}Uim~i=M;~{xQ=`GQnJsXw&E_Z^Z=sd1y z9CaN6Hm1J=83OHPCLlc>ZTw1}9BsTo(!Y2T571oc2U8ohfN$GO*tLPnzuyi+B!>9f z#=Rl_MOd$VwDI6PIof!=(XW5IvZ+6IFikc++IX_u(w74eD|q>LJ-6bh5us$pV^ARD zct{#$B5D-;99Dc+@r~w@o~VpR>K5!vR=gfcaMQ7?!b6H+BhjsjyA@#MSl8HzP(>X ze4MHk!4-MuEy4ILulZp-A8kAk!suvYJTqjBeay_&eKOhtHDEy z2*%?oM;lWU!y(4-mV#&S?M&&NzKpcZ#J7&ejLX$glYOZ=7~|8>h=hBm{O+iYAjAUq zMo|9|jDHb)Wgcw|gVJ3co%_10^u`iA`4sxl}gS|-|j`bxT=ZHF+esiev6kyVkPkYg=&7Og(&C*!G_ysV3sdeR#ggSm0e~Wq)jyA@iZ*`YVQfoWl=jblW#dmHY z)0gWfoqb6m#`sI`n7!qft5C?o_?Hn4-DLvWH*&&98{-j)XcQ8l(WX9bjjkuEMh9>z z2O zv~e=xyDS3cdIE$p7=u~}p!F*AC9nqqsk}DsAzGKu*FN1CI^$^L2@cSFZ4$LZ0?m_X z>H(nHm4YE=*1Is%>1bojZjHZ+Zs&8I4Z~i-%h3l+P+Dw0%rSeL_Eb|@r~vvZEkEX@E|ut`JmBKZ7D&sRTyZsd6DxMB!JB{d&`qwmn!LFKZrgBcMr*OU87Z>7y? zU3HUdS1ku=Am%35uI47!&O)2A$rXQiS(wi@#vj?_x{fxv;va8v#ns;A+DT+*Yu&oZ z@<1mc%TGEfS@I@V{NYWmxbh}fTzQi#t~OcT>ZoL?n_TIyy)3+=BkG$rx#H?1%r_{S zy)67Pf_alGuJ$HZ{ILnM2>uaaRw*{M7=4@fatBh#QTgU3*A9xDyvbD~SYegbY$OSR|(n_NGmO|CKUWXAjww$Hs5ihmoKCubYuCcMdYIx%Ls z)S7O@4AwjNdc1Tm#B9OMILh-g>_HPTZ^H-aoC@bb3SMkj|W%}~?d6<34!jxmB z>Wwgs=EwIrOw24qgCX-xXUoJ48E=}H39vieOmn-5+roV2IklNfRmUWNJ+9A+h1sP& z>_{6is~I<2;8>{^y2*8#*4$+za@AbZZqAy^=qHRB)6S1Ed6Vn2y2%w!B8V|7U8?3M ztO<2*s}`}zbqj5Br2%0^K~#AM#shD1Jy%@LHl|jD?W}B5P+2pF{YZ0w)0b`h1LC{m z2UiVjW?!lS+2r~vlJeqkscc6D%tb6@25__2|@2CBBu8n{)N zYv9kOQUgunQ3FXl`XC3sUNm-NldD^sGLmoGm$fOxzS!h?+@;P%E)Y_OW3@#u5Ovz@ zb*Qr&v7pXrGyqkn3af*e%$H;~L5nKO_-WJiS=Hu=%0iVjRGs9uP{)rd)2S0-lPe|+ ztB16aT1#L{jcSeaT3384yA_JC6k@6z2Q1;TjvBoO5-qCy3q^+>5(0D({bnm>RA6)=@>(M4@I0mO^i!qkmPLl4K7v6|$&ubd+18P0duJj7M3c zXll%ZY~b@ zw?a*@JWQc}V7Ug*J?^Y;i3~%7rFu zFK(P|iz7{uQQqSEI%M%GRT6AUw(M^tV~voGHs)OonC2~EJH{$>MwDP-7r&%7To82j zdk$ke9c_&MCgRCtW%1L2yRyZ#ykypf&V(@vompHHp(#K$k{^k*Zs@$$Qn$FG`HOst z!}7y{{=CJtyK;$@{ruMyI-3;b>=*e$#D@fkpN#pAx47Z~pNOY8EPgd`SGKs~Jrv4Z zwk1D#ltO3D!z_Q%W|2>n;D*i;m;!l=D<%n%PjOg&qd{0BT!hl+m(;g8k2W5m(Anc5 z7GGIxx!$fX>5cb-cwDSKi|K6!m5&bQV*e7~D*^ zxHgbDnYf8=ac$s&&fWNHE^%gQ<(D|;JoCLa{bE1Ys@~w1>>p_5ECkW&%t_>{Y ztOzgO;;LzUD$PdDi}fX&1#EGxuUlMkHIWlrTo2(+Z@`PUxZ-LeX9C>3#T5drCC&(y z9s|AH$XN){%`L9=1UY$&E8M)qxv?JQ%fTHelVu3xEv_17;ReEnsh>h;KmIF}A<)?# ziDio`I+pJ=CN}`$d~zQVcN)3B758{@e*|AoqkQ z-QrqDx41qb#jNea+~WF#xy7}%GG`y!;)*}aoD=C}WBlPQuC+u!rn^0uTU=}D7FS&D zEv}j*Ta&n1w0AAu;)(?J7FYb?Ev}DY+M)A|apf(pxY{I|{+N=ewZ-)~ZE-~$-r|a@ zlR!&SY@0y;iqtKxxY}D>@y906Mfm4jm$0wwVz_kw&H%Iv6x!71)Nu&ku9!|D{sz-&@HZgCH;#Z zV_tG$PdYVHi&RcEg}oWL#`*K3h{XKa76#V6_%pRFijcOrmeVb+FA9HRu5#^gtt)r* zU2JkM{yfaBIBMQDhjl#@<~nSf`S5etqNBxkAdmE9bMr{umwm|=)nkogO=EQ1`wnBY z38KN?>Rj70M&Iph8l(9DKeu%~v!vS=-5;U0=m)pMi9eT=5nJ@98ZaoG{K>}}hwBzs zJW1d+&dZo#T@|sfj#h+haeZ30xK{JSPu}8MMz^@)iJ{;prc;-!9O~&-rDBWgS=!>t z(?db{nE^9`x43>$TuwEnHigZsY+X>HGJcMv^iE&Ko8ID^u)(Yru7GIvr3#QOu4pyF zYahJlDF4cc1zu}HT|n?NwS$G9-@?#!SHQ?(?h5!cTq_{`AFhBYrKAG(RYe6P@qmLI z_%2fm$7a?oW)4}KRWutpeOa41?29d~>&?ilP6~UIIvndHY<*G3yUd|Z7sP@(Lu*>< zYy`In+uSr;poO2Sin_J=rHpE`{bnkwvkCStvCZ8oP{$8HBSfcD80Ibf^h&Me!_Uz{ zc8c$YPfTA{D2shbA;!;#ppf8aVN%G#!p4zd(2TJiHdz)duY4A96M>ei@?snL}i ztk5s8xk;fqq>vwe#?hdFEv~FkD$FQ~SXlC2)UDC)qWigZE{#sGFKN`DOu?qDO^q5Z zbyU%3hy{fXRJRl=X({wVjM?BU{4DIJQJXNWqY9!?8P%vyWy}k-#kB%Tz=fY-;9YZ3 z^K}h%;pb0y4$WI!1CnmSBL7T2F?iz_{0K^YjR zg#gNIg=cCMn1Vo}!lSR*i<;dppcb*k6)&~gTU?){Y9qLOg;My#Oq%Vv)L=5-u@R(}FFqG156Du)Vwl>zi8r`7yMyX(3&wQe@tY@y|tog5J z*4bFxxK_9QfKsSL7g;v!q+~hpI*9}7p##V)@o7gT%Ze9Cv(T&aiyJLQfh^1C89hef z%w7yeV!kKAbY%10XoEev`{DmJ0J`X`9wU$Ve!#; z@XTcSHC|nDlV#C(CCkA-vHT{pC58{fw3{q9V0J6|II>SqLEO7s^8mHkhmn2V1?sc1 zk0)BP%k|cI7N3)$8L-8-kkV-xhF6!E2=!Drc(9QiB+;p zKgaTW%#;|JwtOx9Bc-rdJs!174be@OHvqMn-^VAG;(a2{<;?BTLYCoYS^9-^k)9SH zy-!J)$`c_S6RJq3IGp>bKw2itTNgENRCS#DHfXioQ$d!n?g}8wVQ6(vPQo!9xXzq} zkLEl?UD-*NpQuj^ZYE^8RDCjW6CukP54p(lW&AbCGEO6>abzM(^A=QoZnCVXaU=Ow zM3z`$yg^HhMX#pnQn%l66rqn9@k+=`{Wzw?6{g_ ziM7U?xKkB)P0%2dEU!KYRD@sfgATIXia%6PG0@9Rmdh#nBhg{^-|w3Sr@5Gk@2}tn z;hi|0n=6|mTE8jyWR8YeRDlvGu71juL3-OHsH-nGhbULJK)3Quz^nzXe2Uz|#T`lR z0pc!C?(X6)PVRQ%zK`53#eH)Y+)?7bOzy|TeU{u6LUl27)BPA*r{R-1_iH(Dotb-F zN8X>e`SI!W$sCV@<&L)imiWV9ng15R5`TVq3m`4d@z7O7vke|%Nr*Z!C@&g8| zvK1i@s=pH(fde<#WT`w9u3~ ziG`3ErDe_18>|dj`wy@2@@$-_(^zrip<{jmYEgrYi&}quU&OkF}A!7hCH4a2GT-2$5U((o5b88i#QcjjBK2VG}=I49PO0 zo`N6cMVDmCi0=bDh?6gml7-lpEJ%4TwqIq_gzS~#Fd`IQ(nu|Z; zSMaYCcGesojPv%^vA4bMgL(gJ9beUR6~bzD?&86d1%5BK?O{J*gQ*u=wYUwX5%6AY z^uvf!;0opwa|I!BH7>r5ud`B{%7}Ud-cs-kU8N|!)0c7T4h{JkQCHKZpaHMRioYB-QcC zzo-rxUpe!>nbg2Dq7v9Bq6Wj-w2^${chjQio%WL!S_JMvr!=^B0N@ z>V(?rbOKEZaJ_4`M++g_{NmPT+Evx2_hCWEt}tw=buGIEb^H)=EA^<1sPP!}Erc8` zwKfrcj_%S|d^=7zeYt+(*q7>u5%Oa&h#=&u*C5eC$ZDj~8DBHBZ|yE`fF?zwY?%A* z`WgMRTcb@^RHKYTTtCx(6@?D|1BLt$^5O%m&>Bop_6p`IskwFVbZ9h3d?!yceOaRv z_9cz_lg)SX5mO`YC`T1_K`baV^p2&_M)Z26d^{%;g)D?z^^;qpUoNXg+Yhovn}7>c zMR#v{jg|%w@^8d`*^Rudu1X{ZY!r{bydVk0IZ{4f8cU6Is8$n624wJB8hw$8Ic zO@u5&p?(N?3QsuhxqSH*JtRTNG(uww0L$}Aco7IBA{^0y?hYW?_N2G>eWNxa?bH8l)fB9h4GT=_=Uf{ zd=OP}9TUuhs3L{Y=TpW5cDPoYUfc+}+HpWB3>7X$uTfJOy&K*Rax?k|HI&hde#M2F zKd88zLFtozWc0$2f)CSR z>gAKD@cdQ8la0^f!|_O+SAXZ>O&ZFq&FJ|sX5=I)u7uDc10_bJEngveGG=2wi3&56 z$fr0ge>M1;PogsSXJTv;10}hNGJ4Kd&it_xi*JMn z(ah)@@mhwP(eGALM(^&7T>M3GWt>KFDU&GO3lM}#fr-4DVtb+ zTtA7CY0KB*+2!*Zd=eEVVUbU9SpEe7HlIYrn?Rh5z80GT_#`Un-FYvH^fX(#Zg5Sw z;FXi8Fn@@2io?=Jl~6{%NJ9y7pGj56xo?P8%O_D4N2O(itlc>%jYtOVbUpelAzr^UR!I(`navDeGlc>z(B+#|`TU0|L z`Buc}x6gRxyE^CL;FGA%7#(XT@OO3A!HZ9#IwM*3sXUv~Q_PS6O7Dxbd=eF|CZ*#f zs;UV%i3(nP5>>v}TK~<5n@^(3_uA{fS@=Um6$8!Ols*U1&6B9$G$|b$8gYa0R-DdF z>2(l|PomN=3*1l!h15?e{n}}{Z4%U#8ai{@%d5YMbOoX_+%)tcD*Rzc=Yy#5M-HN@1wihDe|!)XuJ%Dxc_KSotJV$a7>v*s$_F3vdS#uL z52C^!K8OleK8OleK8Ole8`2}Zs7U*>I=6H2*M8$TKNr*sxv;|D3RnrvXm@*8e)@635k4QYm5mP-GhLf8;%75jy)O+n!OTEEIm``vL)i+|P zkNVz?>Uh{UMgAl^|M8xRX@n?oHyP`wx!N?$g99u}j!I)b;ktK+%d zS{)IqxH?Mhl7ECEvC$Yg37RaT1kVog$Vx9P1VI2~j7p ztwWukP;5}=4qAh%(+baBq;aL0?a@N@hF`k18U2lF)9yn-^)|3?i34XH3PklR>QOj} z3e$jv>WNZo$?$V@mk#3FvX|-0_0xoXseTyM7hf}b%Yryav{1b?X@rxgppkZ$5qJzD z8f^i1y6Y!#t6QU0U#mtFR&xD}-XRL@I2efPCr+_KOE6E_sJ=jIZW%ls8ch=4;XO@X z)@U&Ml1BXr)%X2wYP2WTQAMp03kvl|d>5*Ji05(U%f=6Cs0-CcQ3O4S>O23`Z4hYE`r3fdM<~=hiOLE! zY5jLRyz{5^{dmH2Pg?(k9{-?lYNEXb(E3ruydnrBGVBjb33%D~*SAqB8Brc=Jg`W! zI#(>eY)mfy_29zf33<)`f)SA%9p=Gw$EPX%zEw$c%oZ<`W@r#bU&`OFn41!f$Z9xE z=|yP*%9?9o7`&8_6wX=nUk+Z^#~Ais%Hr-nUODr)$2`t{t!5%VBtZNM zOnenbBl~zDC*mm%i{A^zWzuZ5R8nVK@@K)6;LWWU=dk>(O(h1QftxhzVJ@822HD5_ zAo3{=%kKueGUghxe?k*m;w#?p%4%@RY!)BaL^EKE*UhcFc7X)PBKsJyMLe0XEdBx* zmsf-PFOt+Dlp6OavjRBtceJ@rCPeq7^_YhzMt5kug}SkmGoMtS7~D)avx53$;wHkG z51|)3IP<5?!kMi=NjaNEAgL<{DQ!_7Dm^!6F4K@mz7=uiOk+bF*lz>`K9P!p1vXoh z*&JSYiL`7(P2*E(Hf0tuLr^tzAA2qM_f1e5X+5|SWztK)+u)v)*fu=)eK_uDpt%~H z3_k!z+2BnM&TN7|R8%q0%*~mV5M4R5Fr37hbc@TMGjxQ9AN`zCx=C{f0^hWM*Vxh?T$waaPmiwt=sJ;|t<~!$%?ay_ z%H#3P9HihEio0}+tx10-q(zsf>tedD^%`I3)dtP1wF;W@LNVG|7i1wBaZ%@-#tE49 zDYgxmr4elgMO&kQ`PExc27he8+=_orz{E@J&jT>0!kbrvpG=Pq>9|IkfmPKCmxL%=goyb3N#hug{3??s?B^9GihdlYaIJsB~Ehqs9rCUs5x+ z05f!#(Qi^hnV|K?*hvY4JH4 zd8V~_7o6udpVusK8=IGxsj>OZB#iqr!nQ3EWAna`-Lx4!8-w#=ud&jLbC2=VfN68; zLceObL|xFT#Ae%#dQF1Onou7s%H^oHE!3%gJ*#xtJ0Kr{bXI-pt3sthrQU( z7)N>~l&-#)$NYj`CSD6$fnFxY)fhZCx>hQ+r;Mn@Y(h|(GLXGZ>7Bk@{u9JEIf`a2 ztNaJDFO@&zWj5N3@Ypw19mU@gvA|Q{R{|km;c*uyUYLk#ajMZ z6S(|8Fr@r1t#;w%!=lZ>XUrV3HhXAl$%wLjS)29jn;Ny^DKj!Rr$y{d>Ts-oVatm; z*Q+?x8HHF-Cj-^5>Kp}^3A>aH&}Pp(w>E`MZBCCDy!67TC3dMu>iDe$H=#b85p^45 zxz#_ei=KDkCpE!&JuALP8koMUP!9W&LX4NSp%9mKR1H$d!poJ2hW@cV%jzEXxLq8?|3sQyXw8j|-qZjFkIZ;)G~TU;Wf zQGaSZJ+n=Xx>j~n(J{n=LRUVr6six>lqwp#-)wLeUe@r_C~=``)NCAU)DWmZ8J+kc z*kOKjSojK*fD139z_aE`@InoB;pKh#c+&Y!bVOiMFCHP7Y}qV8@W&LYFB6xvLQS@u zM4^5w!M%)*{SwMIc$OZOpbR#n76K@;zarcs1QPZA@efc=PDpC@`YX^mBWm7yt31#6 zKL3=eZ9JAKo6-c~5048d7-A0YGuEf$Gj5p4#=hR6g{ObGaqCX|LqS=_i5Usii(wq4 z98H4=>{4xQ%-V@pi5p6TRdmF=t{rCr9XVhA=$O#ZI6M>RhzfL}V^^=DsjtKn#_;w9+nGPZ2c#}He|ZkoZ~foWwA+;cO^K{aUz~M zGdi9a!osq`^>#?QmG()u+)_vuDJ!D{mc0WuLN^leWO}mr=)oZKGqI!-|gSNi4rdDTzV$z7~&W z{|IKbs|z6?PY6Ul#bNn3K&_b-k^POD*vdYhRtY*r3}o>aOK1jc@sp%<`YptSxftRx zbcuMfNm=}KKr5r8XN05dwOskvOKm!I(|Icg^pA4mzF3A9S3V<(pS*&1v5DbbS+Uf*N{lQ6`>=R4M){DqrI%b(6C_Ohi&OzE@@5h$);A$>VV*QZr)Cyj`HOK_V zqVSswzu*i9IG(^CDySIfvUEFoaJyhJ)$lXue zWy$@#xF05Wthfu2yV=~$C6*C3zU4K(TNPWo>|0t4TxI40<=bz0H$S{O7T7plv2oc) zu_2ymij6xyiY-ik_IwmuyV5ifkg4^zg$3=^?Wwa6t3(!X5?98_W?8Y-AJrt;n#7Hh z6{Z=JR{|&BRGj>5WkOB*b2=-wJYE0QYq^i*zm1b|Z@O?2ZEpf_vMAEbrMOf1@j>Z_ zicO8A^No&9b>ZY^2)?Azc)jw`HBb_sHcs}yKPOJ&&Gm`E$!hRsoSeNTHl!n@(o+Si z2`Elpog)5DoIJsP1>xjQ4gpTCMl~@`de+9~dgd@rz7X7Vj4pg_R}_i=pC3N-q`qUJ z$l7;}U747?QJFuiiyh<{?KN6AitXarru5OYwO{f$YNZxXE-{8r#)9RCn5Zg0oq!IjNLKn{$ zT5aQ7`jz{PbS-z@j(U2&F?S6Ja*`iGo>`Mn)ic5?pV7r5241cl*TPR$I`wR;4o{&h z0+uTW&Owv{mn++a2~Xl`C`^sl2X&S3@tfZd|@FFg6|8jC02gz4z6j0Uf`D`VtHt&F(mxiX%6RVrgf zDk_79T+Y024K?qKsARU1sJXBgIuB@T9LvucEDGog#{lxLLEPzJVE^_BWei-d5b3( zNUbe{pQE!(65rtunZ8^dT_^C0X8UZt#s2@UdZT@?8~jNWe4 z9F8e40UJ}pFfE9Dio@~^P;LlT7)!q;;(b>3`>ayb+}fPQr~fMA$re@dEu?gUhI@@2 zM<5>Kw1}rTEWRcl1v6^Cj~5>(`yrH?O4WCDrLI!OHDmb^K9Qek%h%GM`>NNd^F8Ea zkP-P5hvjbu<@!>h6HD=n-p==7Cww5Rnb(x1ul_}(rv*r_n2c&V2I-h*MLNY{>8;<@ zb;_-6B=?zAb)5UcXtfLXx7%LMK&rs^Ve78&8n1e>M+&WPzc;=^<1{Hml*U`95qBjhx1j>3!IniE;}n8#ip`Ye*#DiePhpqP`Ei5soXh z@C}4S3pXditMc*qvJEwrPvzOT8E1x|8r`^A7inKbS`V(~O6BbVFwAMC@;n^dDG*l^ zIM=~_4SvA`9Ke}^KU7#T(9I2;eGy$(D%-$m0w?%oDS)#ir*i}6-Ir0jKg5@9^fJkG z&<0B3u=*)*?&7}!83LT2ATa}Hp-aU8gqWfMoPVL4`Ra+=NABw4K1J?w;yz67P;u`j zcaXTZko#{;jF7X2+`o!@Ik`_KZ61D&fU}?1chI%R`?-pxZ!#{)R~ zC~)3A6CXlfI}SB{`) z_IhO(1h+je(HJmO&qFDA+JJehrvRpT1n;Syq>rQO^$6bGh{weF+xhsAjvC3IIA^K9 zlQ>h@uOQ;=%ON1nXw(xEXa67Lb3I93SaQ^v{+`<=^d@tav%k4Sp56sAx4Sg9#IgFUU zc$OwsV0+&yzI!jw_)ES#eC}jlvN#1eE5odnMVazmhsn7J(O|oL+Q%|EZ%#8!&gQT~ z-8S^)|G6#B#}m|s4z7ziU`E(&Doa?Lt$V<(bO7fA@3rmeX{&EG&((T6)yA*jYxmcJ zXX2bN#JKh!i1P(M;(T^_+p3;8-I0u^5WHr2(*L1DE$Z4A2T=X0PDxgW ztdSSY252#6VLxr!#HltF9v8+eqw4hO3U&M#GlhC-M$|KyH?01_6DnT)g`e~U&TA#9 z%MxydidYIUW4;1Nk?xUr1QIRA{0T*e{&Awmfh8a*uDqzEnm1sk|4DF*RCn z*il8LMWH8bg+`#8>tld%ra~5DCbn>Ev?@k5nox^18cmPupwW&luw_@a4GZsx_%6nL z4Nz+`<_{et)Ww*s@zD9?mH3Eo4YUv6ErX;cV@?PNy#y#X*DO0(p(bPQq)!7r$>Gk@_YIO~1q17;W75!83Fh+M_xM zL4LbV_n`TMI`SWdX-tEIV~^@$OhSUDAqU$KZVn|JWsXW_0XPJ$yg!QC&C{N#r}M)PJ!@b;{JBaQO~vxw0fKs(x=L zjrT<)%wIUBn7U>FjZ-kuI5?MS98>JgUN}jrwY)g&sn%U+977_q=&R9DX-Ns1NNt0JzvbIx3k@VQWy-}IR1u-<26wLZX8FD;CKWV(YkL1$6;nLj-zu4^CZF6 zX6EUJ=Ln4B{N_FkAoO0v@yRBRmt$FRyQzbVnQr1Z_80<}cVRMR9G_&0CsUrqUjRu9 zj#rbsI&eJI#BnbF&=X&a{79sA^K3^9M;c@*YH;C zqB5NQ!Mj9!h%Mg4@fgK%%n2f%;;{G!K64V5zMwXWPqU@#_SA~cDUM@;5a|?$rMDhx;`k$y`%J1j&V6CDTE_7qNL2uiqM`j#vDz~7r@xyTqiR4=`jyE-N z91h0urZ$eli*a02`Ba_*$IXyH97kHlaa=7NZ(`y&9E{_*S~w0j<9HJ%j^hs%Rt$9W z!*N76aU4zuj%O2&b2irnSIeVE*#;@(Z}AaQRY_utJ}&Kh$6D(>avKHW@lyrJTFLoEhrAtsJD zG;zFv6UXt##&P@+96v}nPVorGakX*0zR1qj%JswX`hw&2oj8s^jN`a6j^oNWj;jO5 z>$!29{yK2Hp5i#JE*z(54je}?<2bH1j^mF5$LspxcwN%RQS~N{Bc6@p8YuwB)!&8V z>?e(Z+Td8OguQ4{eK~}19Q9=5cr(TEs*2--6ziU;>4$ayQY*D_{C|SuPbrR9Q5*-| zGs)G48RMe)i_}Ujk^_z(BOH%}CyWK)I1u!nINn)tyt3l>K*8|_)lKtEHmv^HSZ?8q zd+we%&h0ts56s9GZd`trG7gEzvBNrF zglL504J_Qa+0(Sno5PB7RW;6o@5dYf9Iq(GdFv-(g8SomCB<<(NThQgHlt|#z&O53 zahwKVfHxZyRHlOCG$lBF1;@pA-50L%U(LQ${(|G}kyLOz(^34B5sPq~TD;;o9zU2k z4x7d{kBIRHEag=`&k37hMFP=ICaNMm;Vad1cD>%-Y1IM?x z)H%W4q>kV?I)UQ&YKJnrCE%?w;MWscdCv1gApqnd>cQ6&QaXiee(W(ln(S-lXP>&xCa9|vNOmVyh z;=6Gi57{gnuP&i(9Ph6|97in# z;<)162?R2ZPqbbkZvMq@&^aUODBiBO)^z`-K?}n!ULocge^j-xF*D{@n}jN$dw3}r z6j`(bX4+M4!#vfz#_=CxTX=4lF|zt69P-q{9--B3s}-ptdD;_+Ln+F{HZIQAwEc;j zo<@m~_DN;Y5dtZ4*4ARiTpuVB)#swf1wE7^_u`cw<~lSKnI1|Zi1(gO{DX7~O;}pY zIQwh6vXnpm#!Yv~a=$=)1JA+v8#lZY0TZ_+Y{v_VkrCHe*u}+qJD8Uy$OuOE!{p81 zxIrfp@nnKB3QPyUGDdoCOKKY<6S^rzW^o0CrYw>ek+yv50RWk6n0OB+#NbOXrhJOS z^26he>2nhjOFylkVdXymd8NoES2_1Z7K-!`Te?!@WK3cFiJLB_bc(~$SA$=fBCFty z5jRC9<4F}S>gHT#`HKvRL1w?3B1>Re<4@dR;Fr>&I4r+WEOyQ=!kRR{SH8`0$kE+S zN|8M-vG`gGGy}GH-FmvB0(Q=J#!~uRTU}S>DK!jir(efv5U}zOUk%!Uf_!Bp{@+WReqk{pA zvLQg9MYbGawuzR<# zV6uBBYDgse5Jlqj-m7@8w-W^NCvHkv3|SFg{D~V)<5OuiLtZQ?+4Rv!g!|Z=PY;)b z(%o?oF|Ndr_u)?19rzpW^ai~66F0b;1epLgf8quL?N8jO^cd(x(qEwK)1*ZqL|20R zrGyY9f8qviygwQqzOe-5%K;KdvkZa!i5m^G_yJ+V)K3|*AO96>kQ!=_#LSS((Xo7| zF=2rr=ac)0xYNk}t+>aN`wMXoBllWyzfA5G;(meL?}$5|+;54y1-U1LZ9Z2m;d4)L znWA3ftv)!4I8@468;JRhn^5oO{e9>t;)l3xls5X%H*WBUA#x&p;|72D8#hHnK&HDv znBTZ5;x&%+!x6=}GF;y2ha-wLNwy|&!)5Ox)J)0;KZ_*xS8ni!zjE^+jys^Q+~CSz zxxv+@%k&48F0HTJ+yvkzAP#@!23IFlmZaD=RsI#?H9md`qH$%aJo6H?#2=d~7vZ1t zEnr@ z031>LZ?5szfSAsnmI@=s^2@j>a4|J-3nH)JD7GgP!h#z@!Q4amcEM-_rl7<+?1o{EpeF5GsBS#-?@RG!^j*hz5{uuM$M5swO8(BxbqL#x zgQxKvkhwDWgrBe+>g`somVf73dwk}Gr-*`fre?sD;LqGFEGD11p+z~z8sV@HQXR!#8L_}&O{fnDR;Jdqu<~12w(jyD z`J21^KfR&lpZ)`v|CB$a{PzW;{F8XhK@NPEsfFW%Ht(7_WNlW_jO6rXZRW5qK65k2 zjLhn!us5m0u};E_7j?W79qM#JET}W|0ZW~YAWUJFn`Q&FuyWN^w>H0AS8cW*Pi1vB z!Q`dpbk_rQ{ID`YbUKBh-oi?+)LK6L9Q|Xb_->eO`m#b<>`MwURz3uUxU8cJlR_3& zPDM2IkELkP$O*kkd>%k18btmqHc|T7v0aza%pseeMzJKWDYj1W@^-Mf}@H)Lo6tC;C@S?l9oa*M4AoG!pg#a z8nyXb>!^ZgR7N%G6NHI@K67&iCE&u!FmSAim9J~43oC!Zqh8Qz=fc>tS*=sPzU zO6k6dg>XOGoXX$1nI|=@OO#LG%ZYW{Cxvs?{9hQZGtc=LL{I#gocM&o<%w@O`&q+8e26Vx`KI#CT=~ik zp52Lfio@cg@ywdx@@u?U;fBkik1Jdb-p%rxyect#7^U5CxdC$unzew(c%Vo6`E^mF!;&X;-25j+@q;y*Tohx6t!RRI8$v9>41A(;+m*)?t@|2o~ z%Q}xKT&C}0`8|e6j7(d;mj01HbLA^H)DYcpc>`R_U%BB;9nK}n?KK51!*{au3xh>^ znk^kJs@pz)~|3aXW_+~jE9sOmWPZP04@D>pFi3V_RDXm$LR8(jG- zHCU2yq{`o!R70+&nGClfc3CCV9>a-Am|y^OymT*hhSG>*()xiOQIKo?wA)R0KN z6~QG=91U-euiRYBm9N}fG+I__&*$gvfERz|=AvZSr_yY=OgBSNd~UcLhP3>Z8(dAe z#9qO&xKkB)@mFqeHR1B=uetJ-n_qKnxZH|AR8TR{%MF*yDY|~;22OK%5}b@1gm>a} zZnSKUX#ABM4YQ~MB~V=b6fJ}FwnzuSAnx+y z?k?`)$B{z##~-=Dl?jqRa&ul}XKU5E3G&W4V?|8+ z3Z8Q)yVU5?27luQfA||Wxbin{aOH2@;A#V8t#hbHIzCqb5^bz9vT*e*s*S#JgR2uD zH=ado8zAQ+n7?s@D+45d;|70hfNX+)PJqNWZmP7$H*Vm~0LkCDIYYWRR-zRk530Wt zAh)t#K>)d&LjaJ|Q60Pr$=|rSoGahB`94>^aZ^sQqxDyQq|lVQhy{=te;McE+n4eD zh^i%itbH_BK5$?QQTmJ#0vcmyY3 z9wG~|FIkVmi~WL3^RZVChxvE{Hao18KhY}H9&QYD6nl6gY)Ut;Jf7pWhld+!kI zFwWx>HwVQYo|>QQ;zj<%&7oZR#7&r1+^8@83jUQ}wBUIea{KSbh7RpZ7de$%z!z=~ zLKc1D22T|T7rT$#>L+V3bz!R#x1lfs_Mt{!MwA%^(c=@tg&uL0FWgXz!nbVTE#=O< zRf^I(eVL^0&~T40+$5QCxi&7aFVzOqW6WJd;zh~lx;ZLi7h(aoPEZFBdVCZhsf&^W zU?sY1qtsq^ZFD}QwNYyW*GAQSQX8+FL~YR6%9;1gr1p(3+^|7J?S-{zBl)&{S)01- zi!a=`)rqjw;aKC)B}ARkT^;KDg<^v`p|(1m0Fu(S-Zh(}MUQRvxV4#fP_^m3Ug)ta zj9P-NWhbDHA3biR4uvn=V8plRakSLhMEE&+OJDKrIMDRv`iWy-svoAukAWXTkE@=C zM2jA)kw*B!4Vt(1mNx*BqER*seRutg{?@J0rUR-`#wT1q)4mgh4*mdz{OIxG1y*Pc zrYCz*a+TEFI(RxXnj^lG6HQ;%D207Vqy8`zd?)`kHS%_GR8beifgAkoo9ub^jL^O{pj%&9&X%oAL>{1d;}%a2#qa(DbFk0MIex1 za0DK#1?)rpXBmnlBdR1e3s`U&#kERs*%ME60^qU?1w&rKf0(To0xmJv5nOu0vW-Fc z35Pv+qS|v2*b>7oWv=k?Tw%+i^I{tmXB*pExI9pV&deQHt~KY;A1)6LDrR(i6)Tsh zV;5a|@ud0JVbRH953Hl+1XB>LNoJJJ2;!B?9VgRb-OV+U;;|~o@98_~@-8r$>9WUi7FMgR-VRCKbh!c(cE#N|`xIk`h$rim z#qR~z^2%i^yjkO>%UOk$E-!L5gl>(M7?HMo>LwtNdYG$ceGB<$_#&U;u>5WS+nDyq zzPX*!DvOHuD_y26E zymVP)3ClmxMq&^UxaqPZro!ZG$ft)NjAs;w<&Oc_Miy^Bp!Cn0*b?8|qjb4w5sM%E zKh1zGzJ-*|x&66D{&x_M@mj=_;mYD4zyn~W%Qx_v1C@RVrKVE#9W11DS!*H7zxABN z$h75CJe2ov$Okzpi{NSX^-p1Lc?R!_-Y_Ra@tweZQfbhHD zDO$07$f8&D7`|y|Gl0MIJ@oN#7#*qmwkE;(ApBpZB zXh0P&;nCERM9Zk=C<(>AJ-Um^oV%Fl9UH8v1L$ z|2hkCOPr82PSET`(QMFs3ejHCXbhU~oq$rCouGLF{|GeA?Wo%}lRl2B*Y{snA|8`x zv6DDYS0h<%K*=*%{hj35gZ-p2P#YY}l|U=#EjR?^SrhfdtX=+|D=S{(vtaHx_oJSq=53+p6Z?&p%YmL><{I5kM-TFRq-$KiN%BgseB_rr zhnlGcE#-}C?LeN@KY=Hc=M30O_ae`)P9Vqm(bYYfxyI)F=w#UkakZhIxCdWqKYzpR1;4McAWmTYCQrx8?b8mRg=a&cGxvBka_NVtH2E zO-BhMGlMOXE#f~<4V zT|9Ui$P1Mp(~X^Npa}JCs}g$|8#-d8@&Zo)1+nGL>|DZSH|%YUi(&T2tZm{tDM*_X<)vxOO0Z0>&X>2w?i#2~)>ei-)sm-0~!kX7% z;u6R--x$c6J*byvM3qPGt^QF)G^*& zL;pDaxz#_aSQ;h4@ORfw89$A>eyH{H#B{Eo8mdt8hCtR#r!gTTDjqYH&6;hb<`Up3 zZHr64uJ~4VYZPH=)Sp_OGA$>I!h+#{uhejTJxR4Ba(|?_$m80k zgzlqIU8$^Zg_^9noI?FrbG%WnYy0x`U!>_i=hiO4T@S~AD3gEvt8W4AM7 z_ib(MEnT#jqdz|-F#4lB%QY)YcITAcm3sb~->-0?MEcb!_UKgj!hc4y4QEN0|3-y% z@by8@#7@)2XUphD(@`Wls{R*Ni#y|cejDOoU<7W{)6{^CrWA~VP6oj8MpMk4A(dj< z1;0A7jC>5$yF8aaQB$(+YKnTsS9UGRfb(PA{UNSFaUH63J@@n(qhHVV1Iu+GWdin` z<~J{9wA|leKq+*17jyrTk7v`w+~HI(F6Mp-LCo9-M|06Ft6a>OvkhmE!j{M?7S}xt zJxItV2^KYzO*9@FyfC4|fYSUjKFl19qB1cTJq?4IzEm??9sr(3fg%jpWScRFoKzwtR)+mY78+eg*lM zXC(U+hvg4EoNF`=!h*E9XVMa12PO`0I!zzJ;(JsO@gcT&#HH*XS&1dfoe+$d270J%Moj#)sYr;j1ZhuDnB=LAJmXYz7;|DHbbHNeK_uXha-m#3%ZlxRWAoe4r?l(%Cn)n zi5WtJ9Du}rVYm{~rXsBeS6b8MPsuD$=spU^0Sd&`gzjZ<2kpb5!wVeHJs5weuwtN_ z8@f9nx-{hk>T^Lth)?IrPrwh*#+1XmVZt7k;i<(3E;MubjyQ_VVuhrmByYF#C zFs`rEz^6@deT)8QII;Ugh6}s5(O(<8mmzM@F-haZ?*0_b#_raL)>ES~cF#Trt>9^| z?_Qkg#_s(yNufaO{tWRLyZ<|ebB8sO)e025C#t^_y9cvhLD=1aLxA0lP*IHCBXV)> z@IpK*c`UBGCpA~Tfby-<+p*{Ui0cxyQ;WKrtuQ86YabRoZ4T1s;oRYgp!PhRI}D6x zV*93xU-}c&P%UD6+&DKD*c~+$p0FMI`W6Emoe&UIm0FRCEJ>t8$EDfUM%LDX! z_9d(k>@Km+w89^Lz_N+<`qB{%hRg@EEv)cuHm&eFu&LZwacZ>N2rr+iM);q7F%8TJ zyPP6M_){}rYCB#K4nKjhdVH=i>Ir<{7EcZtyYK7dSMZO#tp(56J#?wjF|vKBha%td zq+@$H&%5LO2tO2xB5uEpSve!?QCcU!fH&)tp(ci-SSpdju(4eNop8&{*rlX10D zX%Nnc+Q&u(6)KbJH%@y$d7^#3q(og|OJoq37zGtXQWJKL9Z|0D-xh^`| zzO2nz_DzjCQre8n?J0-7Nga+=+ft{7Q=OHF1$DNg{#6|ht3wt^jM)M$?!G?4txdym zs!eEb;qJn!PQrAkcKA zs9u!8pD0wpR;WMvxo~&p z8dD*QySol|*U^I4RimLjS))Y218KDGO+0))gR_PwBfg8f2jFR%$=%;+sEfOw+L3Eq zsvj2-n6xmGn%q4!K=8@!2vzQGWrdpDy`Dn-xO=8ic{1J*ew7~Cpi(cO76Q0?p0ZsI z0tpAJoWQE8e7mOkM{S{VM%34MdEQ#Y{h3BBjJsofi|4@QPnCNp7-H^z3^U=WxG>Ko zrOJV=l`6Y_DpdK<&WRNDj4yL)t}!q>zDaR5s;wp5p_>IKf8vb!FX1MaDQ0Zg+G#*3 zRG|weM{iP`T#Xlf+&KB?=Zcek5=gJmI{y@1u&q;B%3{PNtl)kQQ49o0Fcld%^6<<% zdlZ&Hd9Q(!CYODtGt3QC{f8+X1RoWD+KvPm?HFY8@lo*?9tosx4 zsU5m$veElk{(mw)vD9p>Tq;`@f9GSN$!@J#dd=TNdYUaAE-L(GqjQbQe?$7mrgVzK zx!(?FzUxnn*8lm@rl9B zgeFg`PbO|6OSt=9bbRMU4-~<9EBCzr; zEZ}OGMG*+=pnl4dE%nApP*`~XNhD^LoP>_$+m1;KEIEqY8^oPN?hnP?i`)yv-GSU0 z;%-gu$>MHI?$^ZqIJpOjyArv34_B7FJ_ye#?qCIXkgI_xOMW^ick|^tw1PWOSn{2T z*n0{$q2xQuuqiV!_nlQSwJRk`>P&ZQ(4D925a}8=o+c_^RtUnzQ%#YrDcpS7EK&Fp zv1D0yeo#zJ&wyNGdl26J#r33K|Iw@c-tgc7%9rxqFxnoLhlA@N&2W#Tb#mn&FT1$% z*vq-bK8l7bbLD>?=!icySEk^f^SxnwF=;8@8*UA6#>iKLvGEjAi8ZYTpcq+H{hb(j z>m?~VY6;W?$I_MeKcD3gVB}uZ5o6@};Fw&`FuctX*}1!?Tdq-h3l;&FDvj)~;Rg`o zsOwl5d0?zyWSJzS&*(VF(^X$NT_WjU{Ia@V`oYvjEdbdz24-a7zSD1eA`)X|?Kkd? zl`l@m^Q6Mqclvy;5&i)7oh}xv{HB^4D@P8ITl#WF-wP|(b1RM-akHpxH4hm{nTQ$% zKZlLkReYm)q=%U-BXtY*C97Gma>bjbk+~!vB2oHy^uN~^foQN~8Vt0o=CQL)BXb9U z&TTahNpRbkYr3k9Ii)e?gBfAti4ge3oT^(#ntgrd#R3(Uqp3C$3qT$ z`>DZaM9pH$i5d)RGmYjmr!Q+WjD1t1`dxOZ(}TT99gg)SjCxUL(+P(aM4_UjkRN2$5``|qKC~h87pb|cY&25Map@lx-(4478f|4?(x^ZB zy6+K7qcWtC+5hJw78F|B&r;|Q^m)C1ktPF-vHz?YL0kPX~fFxj&w!M2(F3Hiw8u0B+{yU zMa_Pgko(ktd^B#6PjNW=(?PjqUq$xKos^dNgtrtmvoN_J`ziZHe26Wc#tzWVHOy@X zYeGDp=81TU!{Wp77@JXZ9^R>Nqh>y=1xC##l~{g}eInn7&gn+Y$(Zh%KL+`j0z^K= zVfm{;xi^O+`-4Qh&&q!CG)2vviY$K7cOpL97T-d$U!o&WuolE)1QYQThs8I-^IJyE zjgN`^5K2vI`|eIv)a>zpy3RYWisFgmIr{2?&C~dw@TrtMH^r6O{V<&dgqWfxm8V%iPYE+xgtw-j!nc z(fdVywkcmV&&rN?6}&p+37aW;3cAq_o2^i`FUmS_ z)L|2^@@}PVuPa-K6U*BHi!o3$FNIr6 z_}>EvJ0*OL!c`@Fp2DRh?4fWm3Gb(HJ_&E7@PAki>D^)qUw0|gOmB^c7!B~9qt>b& zxYzXEsBK#x&*{~GzH`(SA zje(WTMfQHxw|1;N)LgLgtL6$T^ELri;-p3sFdvTb>NrdtO{{#-Okt(GEqt0zO}FLt zX6SD!gQFEMXHYiNZ8-?ZO`A$K#>-Jnp%o%cybQ#d^=;v6O-Uh3=c~7cJxvvFo@)x; zRGEBvbGeGQ^5$HQli^_J&C#3!-t2~sV&3f347}+&u2pT04;|G~FP)B6n6k7QOd9Kp zq6KO87`)j#NqBR0OSMt;VU6S3!ZPt)9IuOjvYF970v^yvHP9qM+xZjxmM_;sBm?Fa zSVhnCTmIeWxYn;F023FP-4cNL8lJLsES^@?&X@k`3f`2&=kaAL9>z|`5sSh62o^XD zn!JdkswngFlEj|er^oW``3T37d6|$WPZ~Zy-CMVqt8cQ{murv>M$GOOhJ6_@RJSh^ zVRYJo=20cPdD*O{GMIylViCv;EksQT^Ri157?CDlR@DA&Q#*{usGj?|iciBg zZDZ}ZtONl}S0f+5tkuREdCSJ|YXre+5Fot6M=EZg^oBzF5ATL!^48Sg zuPyDr0J(r*YiP_1g8dB|Q?Cm+O4yaH~b-;r{+yQr}8PEYu8=?c~PRrxO z+ly}9STs@jOaf7-{YHyAdyot2oI(F9b;`3k zWRIlkBhVnqFduEYMk{S<6cVDWtkfCV0P6S<XfJB2R@1p52L4u%>BFat!^a-*UroX*^+LyEUPkL3QQSXA> zKV9kJ7W!wo6AJkd<>t1m&}1xDCQ*))o|}qD%ardYvB|siSf28697|m^fZF?uZn{RR z*IT-%qA1k7v7yim%yS{i{XKPs45A!Y)~?Z}D5X(WAZwHkbRdlm*T-_%9z$YXJLkgFu@&WA;v}q|9e25kr&Sz+#(e9yH^N}8 z{Mr{U69<=~i_pu&FCfY1_29!{$ek7R{tGag>84?MnYdtmUQmh@YiGP2{9QiIy)7_z z?lV}_NOqbf`-3RXezIWh>|d$umfZ8gIrq~-xpPnF71Q!tn^u?d(aXk-2cw9*Yp`!H%sc>MHr&|>8PojvAtK_wH2@T9;CJY5}%Huy61Y+xX*5F z$CvnY6z+XCULP`0@w$dLf*7DNABB>BAE0|&*TnY-#mz*Z zC>7?oAQzrF{Ms*WaERJGnraA}-(T_imH$}S=1*w;+j+eZq+s(c8e#sKxWS=#$RXm% z+Gp|Ifbz`i$MQ;LGYt8q`zc5WBPuW!E1 z^5-s-9NDIP$_M#=mGEJ(KOmn5qTMxI1t>pZ7Rf7D7Jt3F@OsQGmL9%Tq-U7Y z)!%LASHLK^1nF22MLOl-+JDnQ@p|+lRX0QYIE>n=m*ch-Pe7^MFB-4FsC#-jt|z&B zdU@lL8kMA}Y~}THD#nG239lbgG1<6?@cNdLHeO$dQ{6Q@NoCI9%*5-ddT|nH5wFN=SvhN}5UQoAnfQ4qeB5&3FaMK1Epv zjykR5%T9EqPKfGoMUr${FO9hAi1UX)!!>**Qm*TQUL@W8F7c5_gVr}8sM9(=e0&+S zK7-3yfDKxXM7BCt<02ZWG=tNS)=I@GTCbxnn+kP>*2|zUJBCMNT6x!&Mzyk<52El& z33sRP`w~u|@Ei%ZqVN<6*Qf9p2}ew%6@;ic$YnyJxRVy1T0ytsxj_HNSa&nPop<+ZZ=#bP#g-%|`;XUc{nvwM-dP!cC5yAQ{i)in&? z^G&#h>m!<7!)bTp0+Jz>c-|NS$~F9?sKi@Q{R+oD3)PQs3Q#=<-NdMV`)=HEN2%l5 zPmxJI9C_83iQ*LSwZnbihU%}-)G<(fTP1D7e(dWFMe(f(!yNv{wfbpzH8oa>_pNu& zr+5ktQiJintO!dzw`cg<0AyltFH!6H;NG$R@kRf}RdP6vYgM)<^zd_uW4I|+5;551 zedB?}<%-_T6`lv~D|i$;2YhPbl3p;PVb%;noW+W7FR=~zK2Nm5_vzXkOIEx%h8NV; z&G>nl7BfB&*^w>T~ywqP=@vr}h)gUwU)u(7$Sn=N! zfhlf+yQckzTXr7xX=yxjWXJH>J3jsJVYuoCb_`!Hr%nGE+kAt3u>F?@aTOd-J=)!f zgf8@ulKsN3W396di6u1AjXu2wEpz#W$CGXROp5QlN+=#jZS&5A=rkH%SXTUbzly@52TgyK5_uN1|<4_ngS z8*Tr!_r}aTsy9+Da&L5gB)#!rA@l~_fw}VDtu)-ToKx9sqVdAojHAWO8q3=BiAIn6`D|4&M$G#HzTt(ASR7d#h`FsWUq*Ub>-esif2w$60eGtBow(=4D!hh2PAhf|y z469tQ{$h1Wj6)*P;i^8SU%2WK=$z$jgKY-J%g2KwXdE(RQpguF+fyXOOsx$&!4H4E z!P3^K5dNL|Td3@4ZI}PJR?UIm-r&Ycm1^+9aqWN3xJE@kl+M-N!A->-%(cqp4qhVe z;M&l~<_>PEyMxb>Fz_A*iYyj0o9OP~W295i_9<`&=Z%kWKILKgvq84(4%W9}8sZZh=VKC zMSOrMUU{2uVMSwiFrMUyc*?`#!|{+>+`)JY!;Y6{@q|m<-4AU*uCBmj4;ZmfgW&!e?Hi`XlSgev^11vxK4at#h%2%zw@{vc}!MKlze9FV}_knEL9n4!mtly5x zs;%6?`&oL<>mohFl&%`T=0lITgRzu~bjrihyMSxO9qd+hqpsuHhhfytDH6Y}IE=h! z;AN|t${mc+$L`>}9v{3+Q!y@FOu2(qOg1i}+`)G})-My+$Eo2CR+%$6GrNQJ;v~?9 zmpAUn#iRIA><+%;k&j31LV(@DceF9#N&Ic%`G{h7uqx$M@=U-?(NpN&Zv)I$D9i3( z9Cg5iJGe*^+`+d!;ts}92h8mVvpe{<#{|r|IB|i*UC_)9n4^(hcLyV=115N-XcFAP zT+R-dg^`Wj!M8}Jg)RV?=T)5U4(3yV3gr&I??3C~| z3Rjizc?y@3u!q9MB)p%(`6RrR!vA3vBzG`{um6+Nzi|=(^M*&f!8cSh$oNn%9=E;W zQQqLIJTyYY8;ldv8;le228SiV8;mpd2IFXYgRh9}{iwoWXygx5*idqZKG;P&SJ*7|HAm#?f>J z1 z&a6O8#yPtavc^^%O=eju9>h+^6pNMo2xd2|n7oLy*p!zf_T*SSmhYZNIF@WmVahr% zT-oGxRv&0FD%T(zY?s|vJ-U?~0K62VG7*-h-AaCR%x+UQ`%PKN!RQ2X2A>q0vdd+U zjVbT9!fQLfdgN=jIg6U@POp1IA!-0Ll6O}KR#t^)|Y)_yOl`oj?|JGP0szVaH zeT=RBb2ygTUwpv@$Vl9c(!u>K&A$M-$QMjQUipGSV7f0DCZoOmfB(ha{uO>z?f(G! zqy6u=rTv@!f%Z@3TMugB?M3%(_=4@)gh{>4Sk@*F$HEsp+NRDGZV*z3bH!s4h&t{2 zTGZKtT;vNz_bYYEvpQsqr0N6EpvW*EZMvRR+SK@7D6+CrXXNit$A=>4(iDO(7>k8L zk?p0|64^?lUgNsfme_K3g(3}w#1{+P(1e%Q$7{z7Mt<~P|?M!ut8L9|1>G{a8X5>(Vw%Z2c6Z$ zP}EMDV}A2!iBIDPhhmb6c(PGhyav8y%6#z~DQ!|_pCXDfH*@m`&Fv&PqD=XUbNo(u z-rt@uI21!(#8Va)Uj=wS;T)WRx1?+~N(hJC2vU$4x0-7onJhU1OzDbq7GR01>411V z2Nm&@hsEarZy7S{;#CtnWKJ!lAoJ8GEPqW$$w5?Lhs<(V_LloYK0W?mCm`iv`7wU@ zRMkaPpWj8d`Y;Q_CYe4VrbmV0AG7!-iK+so_-VLb0KqrlE4Mw8hJ@lqEz-$&W$7nD zxBSX+r*%qqD$IAC<#_6GYa)HAY9)(5kRUm-P4TMjTYEg()cmMD4MMvMb13k((VuW( zUX{Wb)U+(VMu0Hp>=i7%TfE9(N=Jw)fB2Y3yHxSl=F zgl9N^^-9`S9Cp|<81p>F+z&4#^rUAiB?A+Z8vTsP1#sFA0m?u!t zt)zzsZH(!`sqVtud{6|E!t$-8Y!yT8M|SadEST)#`6?xfV~8=a=d=O1ZvX@~FPISF zchDfrnsiA-HBe=|N}5TS4-UwcbN^cP`~i>l1IjvZB*Ns)rwH@siQh#asE{P;jM)cq ztr6!Bk%kj9TFG}oGdp7zMRvuQ_kI$_cr1lCNH~?k zpGvqFg+GvR5{0u4$ZQ#w5Rkk>hKDf(lpC{! zinl^$G{-#)GK+EwAoKo@3Nkl_B^>wrS<84ODaG-%NA^Yj=Mnc;Az!@sf=0K&n2({* zt4U#gd$bHKX}Dvfa(MkKrTadFsbnM6B{W10IJxGAiJ9Ap`A-fqF>&^UP4ztDeEWBg zwxf7LCBF^YrNv1p+WD7~il_PGf>syi$NS}a-Ur8?hnwel1UpxCA?p)&RI=%o!aj#F z^9kZC#%H?3j_3P48QFZF9?h|2dlpYkuOZ+xdFQ{n|mZB1dxfWijGIlr@sV|kCb`k0`0kYpxS7K%!LwdH zUIr6_a1%#u($b{pG#XA>&P=u}s7=|;H;k6= z%LL@oX47iBHuu&kZ4SL7xVaaGE{*%bq>c}6MvG3@aECYM$0g~t8;G;ak0TPhGe(bP zg*J06Da5#00tyLkhLJ)BZZ1SN%#XDg(5MMHEpG$VM59LflrjMN(x-NfD(f0Oew+K} z9?Wf0sKw^oxS2xt1blj#71EuSVN&bh3-Q4P_kveIbe_a5zN*@V#WZ_xra+^ht?)t#1e zRH_X(@8X$rwQ>oOxr^?_BL$r`YvdCAA*Cv(rNc#By+^3#3PZ3L4AF`RS3WI827%=UAz z3d$#h`hBg1S59i}SQe_K_{AUg9|Rlx>L0Nc192y%%Z~fbqkXUeFc~L(t9+KtuWJ22 zPD+j7O8NRMTf`OCF7)g;I2he$gUR++@Qjr{zB_(CNwYdFcmL&)kMGu;K{^FJsa{yC zeHkCz{KlijU5@P$irbJ_?WwRA*=qmntVjE|0zTMtP=uK{ITFvDc@OJ>X)J6>HFY@@ zwc}(lEadC@bQ~Ot+k%KEbCkt5JmV3Z+?Xk)O`Lpk2~W@I6;i9WtNX)?=?t0Fmw0qi`v6YJWOk5GMj z-eKp-%Rt%hu)Q@z?eX+NV_E6fUG&JucLU#K@uw=O3Yg+sN%fQ0dbE)@P<`CEL_FD} zT>bGNSq946Zz<)eG~X#(;7Jk#<&udke|Sa7LFTW$`WL?NXlMV1d>V*$pe%3#%~Rbq zB$zjVSe=%K&S_(MCiSXVWdcjTUtXkVMLOl-+AqW`VxSD1sp>{u z$F=W@Q5$<3AK!&h_Y9z%hEZ4M4nF9J zKW1jo_ppw|sScDWDsu*BCa0xKFHQn&Kv`3zMDe8vDDk!0z5q%G1TGuiF~V<^0hEVV z;f8w`pWa<174|A=CQvTXQ_%Tz9rK;oX((IfA53-}b(bYxP^2r>MbrqDq~qk1m6#uh z^IvJf$pbi{hH^nKJ5H`gc7>CR5Y%0kV3U4uSq|WGc9={=w&Z*G@UBWTNCGWTR>dip zET%4-3UvkepRQ0anS^QO&BA&Gm~2Pk=@M>4;Ws2)ox;N;T$aMUB^*NGWC;gQ_$3KH zs*G@B3E!k}jZbsReM>O8%%lD9KYVw0nQ8{^GX0&{naeymB_G5BCO=d#x$Z0c?PiIB z$-|HEg<71P_zHi!SveHMHWg>(*5hwCI5ISLc#QAvE)m)LRoB{~F=&alU<;t}0|kwH z*5hwCIJy29pUlOv;1fAkRYwyVn|xq{MvSpxsKS%Q=w-@_qZJx=Ew(}9CrEy%vN1H) zdJ1I_X+mQh&aBW_T`M*m&=`VfhQ^Pc;_JE^>1OdxD`-5c;;qnlfa9J8jq5oD(5Rt1 z*faU!*Z8T;Cs_6dCiie;dbD;8VmmvID&lw*%ZH8o;%SN))VS5JJn&1 zxyq+?L_tQ+sXoP<&|owm13s-0a7@1cHX<1lAHpbk9wye>;?c@(!ar^1c(fRQd|dYz z?E;Y^Rv;@Vwp}4t@Ge>NJW!m*qtn@@y2TJ~_8HZ|*$#1373FuSEV1Ey|E5^JK^Em$ zG8<)+>X`3!yYbZ*4LfI__X?~V*eCuU8g`>=w{8f}hcRgfm1Z;ShVbOM%53cXD(>=` zp$X|?2rpa&#}->X7QUrC8W({r2W^)$mM;hqASmyFrQzeMs@| z@9xOG=q&!{28s0>t)w&pCHRK-IUF%3OC}Yoyw0d?b3kC za#lmMG(3}51uAciWrhlp*e7N6yxbl4X$_!06K?Fj38(C)>|Dgs8%L1~pml}Dzi?x% z9R@eP0V~no9Tn2--7#>s>W(JExI602lV^=5IP=|A6VoHcQ>4h!o*LX&tgch-+AK;}+KfmQ zZX5!emN0AGyHLl68xPQo%5u)bP2S+fbm_JEh_g(W(GuIgj2_GVlftpoKg^9=zR_pP zrXWZ(xUoL6VY+m{_*UHbE)Y^Q`t>{C{z;!=*J$rsN~2{%xqlW-7lqC)fI>cQ$_F2@ zLR+yqnQqEW(sSDpY0+qf#4aeU$FfFqIhHgU087Dp^=nJZIzL#b7N6T_2I^Ac&zbUALTFfWCSe}gTa=ICT}aO zi$)@0;EX>#w*9ITtHwua?~O|;?uZ(zts9rr$8mmuR(L#)H{a4mj!!DDy>kH{2*;Ca z{tr&lSbcery{ok~kL+D7xeKkT_O2emyDi>36X=4pchwI`K6_WkVK{;Lb`Hllpu2}< z@9I^oUOu^h9nHD_dL?)6Z7R2Q@9Ke3oZWv!?(A>p7XF72UCoiXbNA(J=u9gi>LIGYEYKzGg<}_x52jVTQ{xKXRMS=r6OdC3)24 zP*i7hP%ap{7#e^XeXA~>Ysl{?t-A`r$MYvlqsL?HpJ*y zl9|!*R8Oi;d075F@HI2K+SX}d^vyb>cjD@Aek|exO!3O+Tjwps=vX&IJmq2W-S7xn z7#%NQ_%J%2UkRfpv;4S6BA>9z4!JvLDn`dmPvlb`mVX(1&5X`3oLhaq>vD8PPh#<> z9*B4{?e*3tDcE*9LoqrQei2W3Sp4`ebw*E->IYD1zK6Hiq%(RV%OC!q$j>(AtJc3T zO))wRL?1>6zB8jQR-H?2%i<4xqZqvdOTT|#q-U7Y)xOn{X^PRYh=_E`!?j=dxz6a_ zMSQj)zAHv8GkP{k<=(eC4Wo`39YN87+uAooH3*0XfpaJk-cAatq-G*5=I|s zWptb{qvObojw3TVjuu8A>C5N~iP1+WM#s^{=p*cmj$~$Z98E^YiG|T|=ELak6Qd*A zWb{`_w`VZAinlR3$32tLIfWP<-C;8NM8)X+6r-9Dfp=i^#l+}?5DAl@pZ6ia^tp`wj$-saiqStIMvqAQy{~SC z$%fRnZ^$LQOMqF=etCEr4^L+sKQhuW*U9v41``>!N;||+U35s7*l@mqQ!L+ri*hX4 z=;F;CGha8-U%ecpJ0k$;ZwjQ3HjH%FV%6vPW%~-k(<#cBFnQG{Yen}cAGy55=N&11sX@Rw7W1mmAA$Uqf6|QfAqZE8~14q zpe|F4o{3Xo^gk?}aTK|T(P{iEMh86oAb+8K16HEFH!5_o_r}0psyCXn;NGa$U3%lq zRP+YjTDb<^r8K_5=xh(sco9bD8d_q7(K!~3ZdWJTP)8UYQ$jKN?-q6PiaMoCbq3&p zi(+(rIGT*!*{;o^o=Te$%@w1=re#JS3Uz!LohB3*9XEMnwxmn1%}1PNwv3k8{&)3Q z?w=HnrT!5{pQBHfO&1~2WOQUBM#u2h8T~z7qhCRs_WnulWY=hKiqdFVGwz>7T}7d@ zL!gi^qmN~UwqkX%FuL^Ic0^h39hTW&^ISQm{%X7tU(=r6bK+SxVzS}Q;8 zgAp;qTf9&mO_Jp-KgI%{o5iT=|Qm zH}(|;#Z?T%ZI>z+HrS*6_dmFP*}68~BR->PI}hUP#augI*YDYTTC1P&8u2{nW!m4)9|P&vE?%WCo~jao4{b*vGn+<=9e|GJ8MhDax)l%<~p&N5VXYNWWs zsO$3g6jVN_#_|uG5cyFkYp1f-Sflx`s~GSipYpK$q2O8m>#Dxl(hy(sT?LhMqgi~) zaS zh`$H#&F7K$77}c-XE0@1B=b*KG5GkWt4TD2txVZh#kg=WVag6FhAtvZ*)++M8{Ir>h+esvLrsuaT%JNTFaU`mw_k6DrdH>RbsI<2T?+2bZ&R<&6#~K|fvXKr$_`ftu}5af&N9@To9{aOFoR zEI(bv%<|U23JtFOgTmz`{40e+CHymmUy$$)3O~mBhy34A_?CpTDg38|ms0qD5`Krm zhmv!qpCR9G95#H=KUd>aGsp;0FA`UX^QeEW#wf1jf3D($UnJ&#uHvKt|8o@%T>sKI zZ3IbiLZH`VI0iaPlu#RVL%vf^rH^Rq3Pz}XP}#K6hF zTusI^Ci>-SLy!D&b&3uyxHsE?^D2!}12~)a(CT>M6n3FF{c*K{dh>L$6fava%BT1# z8l?uS;LXz=08VE!M1mOb$5og~&jZe1hI-_Wt4@#narI3B&S2c%tzO~Z6XX)!Cf%L~ zoMm~OJ1=5EHcaT#u*qS={K1Pfp#q!xdnGpK2;F}vmhaB%IhG7g0nTEuYS|uk7W%gc)i#p-^;vOPg<%22kO%3EW({ntwD@H_V)L$uiF1qD7U}6 zmb8C~R%riJzVo04-exo*@WWM)UPIRAp6F=CvNq>A7C&75SSKQI-IMTp-yG1 zI-ejH)Y*paSL!%e9Wq8-`T#T#^Io)Fn+EliHbJ3+nE91Di7lay4`L3dS&AR7LMLN> zR2GeD8hUbFi%P7YU7-iuCZrG}W=}AROpmUcA<;lg53*r?TyJB{kGh~uA+iaBefy`f zk48i4Dvg?laQ`%b#ZEvrwFMONLChs|PrwgXu~3j6&%)ww<9Wj4WsW!x{j|bEI!_{0x^P{Mam?Ltf{)UGP`s>4Oj8q*l*Hfww zV&aFZKjHP^QS`V3oq8F)kP9Z?RWNq|i3ES;-zAvT-Wd_|dW+Bfp)-ECiZ|iyv^FJpU<6W`TsKpD?@H({aS z@9Op`=c-qfZEAxgr;O6d-Nj49Ts2>koO(D&TN#`_;NW0k(D2ZAIHj3*JIs&p72U1}vvc-OR0ATMjNP+hvVEHzLt$S6m zWMDoPcIqn{p3h>*WGvw$8{^}sm`Wm^3{e(89uUhcc^hxbQ0WXqev4NWOD^GV2pYal zFA>KT zP@QXtUxZQnLR-Kj?5$_OxgTQSy|Yg66ZMJCb55Bv>RdJR!E+DnoSk}VL|A94N= zXzWQ1RMK70%MOw^D;Xep0zm>vV%4n(^PbdIm8ixRoRor*&1Dfe}dSr{WY! zCiAJ#gP>$f6lRos2NTPC2PwSSmjSq#AyUTfUPRG%wb;~G}9N8f*fKC`C=XbzY zXK}KqXNPKKON)SP`*=`$Qn!}|Wp%)(b#Y|G3`&fvR7MrquZq|avqNbbB_;i9p$KnE zot21h>z2X?trGF!TO1Fn<6r7%`YtDxQj95^QZfAg0Oqzpnf@K6td%Vx%gUC2l=Ns@ zC>xHcfr15Q_hWM?VzzABv%!+bJ@2Q&4W6K>pkexHuTWsga)uqsW#8F$)4X+r} zn96d#f@o=Jrm=xk-Wto6eg}zd@u{Ad7t4kmOYP5Wxfr8H*z&#iEX`jGxd3C)G&zJV zN3}E9@>|%D_Vyp>Z*TvP3##^?be-G(^#aoVTf)))seH>p4ZNpmgl9RIv$aGcgtb{j zYnU~bwVB4TY0fd9*wh)$(WDONItW`{)Y<#4MV)rY1$BDUj23lP0W$?$y!rq%*m9A> zuFZ)+rOn!FX{^p_SiA%-H^QKf4_gL`PCw&DZ?NTF>9xa%v&@h661(zaJ(l}t3CEH` z%$5%u>C@xh0!TF2axAi8eq>=lqb9U9^%$s3G>XWj(Oy5hM)`G(&Rk`MPQdCWg-Vk` zK5W^9?g?4WN3aP^w!9}=K4C+VdX8KFyu=<|Wz*;Y$C5?^$QZ03)J- zP-t6mLm`KukgJ(K;0(6Bm&dMAgBMgE1&K!al}3r7Fg;W7J>6o+Z)3}RfLWa_hpAK> zTYB((Ild>pr<<$jYCJ#C*)k|s>YJ3Rwx(Vzs$W)T%OpzmVaw{;^jl!dBJ|h?Z7>_X zkc%zr;&B-z4o4zE;jUpOTgLu|Ud(b1z}xo*TfS9+x{cYg4nn^E$sv>sG0U4`-RuRn z#B%2C0=CSj*s^{E-cafTw#2QJuG=+4vE}xM@%4(XmL66wzm|&8{F0J}7GKD9^M%XO ztAjMZ8_9!%n?fzCpR#g$1()5fkT}pDW`L{`AHSsFvhZ0_E$D1Uke1XBMrBctHoPC; z5_covgH%|LY{AcN0y-{=Z|?Am{8qS3#A9aOp}OWY3!5}sT@FQcSD82}Z(&hB+#i5| zyMu@)RczO42h{q#55l?wod_z3CX1Lsl zw^ZzK`2@xRJ1SFtW%8y5+V6e@T=HAp)*Y&An+jYO@UZlgQ$>14 zF6oK+VY3d0bgZZ%o$|2sv7lOp%PVJ9-Kguh_6;yN+ky(Y8KHF7Ee4OD>emU)5cQq+286B1$}w8he#ElP)Jc(QegDj&SsQ zqP1=$h1#Q#j+59pm^Zn&|BHyq8i|?z*lqYF&mz1NasH3pf|L1Bmo<;IowXqDoyS_8 z#v*PU^66ekfC$8ew?Pq?4?5OFwlSlCjw;Q-21w1L;uJdGdL-JULK{KHbC2ADj$!g(m%T*7x}AY4bnUJ6%|@M#Jcm+%n^2l?gr6-)Zo z;lKJnxAxy_V8{QYLaO@}I}ZHMozrYNvEx1N`4H{!8(>GAFgxCO15|~RdvC;5({>h2 z#z%v2)_NQm5l3dk5#zv!_eA!7)pd48y#5dMbxHqU{&5Q<{xJ@Wh?Ai4aV7o!p}q~( zT8@tkKp6cSuJs*{t0LWG#mIlqf9B_NAKk^N>5n{n7rhKw4jiq_xQeooKe9jtaxTug zOZ^_I)tZ1y-KD+{*E&wXrBKYo#%P>bu@N6>E}R_hfA@}Cu<-|!u5m}khSC2D8@H=? zD>kmVqus(ND}o{N4kv>X$D>c!As3f@WipNED0c#t~FXIRYMlKwOq zoD~sgF?;h%?EN%7mhXc%VRLgPwGlNrRJVH*Mp~@I1IPwrKDdbafdE#ebYIGCbH3sU!sw6 zz2({vHm@u5S(sSrEx|+_wFhayL>f|A&Vq=RmS?c?r}EZVHrlV#T|LWrcCwzA`{N|X zlF`nX*yu$R<+ohxy<+K(4afzqIzTf(xT*+<@dtU!^<`Lt_Wtny&E6kve^>nx`6Ks7 z@Hy#^o`0i1=oZVB_fDn(p5<)8b`QY@YtumLZN{=TWjQv@S^Cd}QTfeEta{n~pSn40f#1Fw4+}6%T!ywVX#1PWxoVNxvQuF0C z5Tj`H9V~i#{|xz`U8B_(ltxo_bN`GxBMNQ54uyO$@zg_BXem}H6B8Fn&n-u!MWbmF zJ7$s|%Nh;mSOXIe7ST1@n`-HzcE|;Vdfze>T7_vZ3VHD?OcXLOanY}KjZU0b8m-;M z8m$HqP#4{}hNW>PF!3+sw_)O^;8KN&C0i%$SLv?%TQnU^Azf!rjp;kVI4#*0+c@TquZXK3ws0Xoj`D{a7yp?lD(0dX- zxtHm=)7lw-Ts@>APTW7m^7=K#ECZ_@a`G&}fh;Q(|}E*hs~qH*9Y)A%25ZU484tsF-}b9VhxK_4Ia+zY=7ef_XPQ~6RL3|#rU9J(ITzn9z zlxvIXjY&aTogEzp2jfO!gY3Pi;&hj*gCvNHIVx!=v0d2h%)8VeF&7E zjKzB7A;_oaFzke+JWO)qLD*5_k_U(ATPzLnEy5I~FImUcAKpX62bkj3E3FsKyS1~2 zAs#D=h^IU(z5t#@yLzMgGw|Alozf47C`ylB%km#|lN??wlXglUgRzo$1oCk^6#0~g zd&<(;g(g?!iqBA)<(sh$frCkKL?DxxPScMkOI8t z!^-JXiVCNn%x3YQbr$g%rg*hWwe)XpZKVg|vA~FU%ERK@<-?yin#2zY-S)Mr9CaR7 z{{;-(|4okB8X1@u#d2>`t%oN^^P0w|_@BTCEHpJHzBzqscoy9OGp)Yh*HnxP*A!gu zr(&{kt%SyxQ7X~H&{omE3IaN)2dQisoQ**Jp<9Gg>)1j4f=Y?vix8;);ucW%{}zE7 zX))oB4%NJf^s4C}G5=~a`pxvyQT-;F)l&Da>I0_M}lVkSjF@O)fMEoZL zk0HtbAOgDccLRl|#f0b8jwxKvi!xKR9kn2F;4y>NW06mH_0~d|UA>_w<0TEfv?_)N3>r415g`*^Vj>07+ z?51#03GbtDUI}lZ@W01d&Q}z^CgG1Md|tvDg*_CWleZ%26OfRzx@G+Lj$*wJlMbNA zcIaSl$HQ)Ibes6-@bVmuyRD3qBD2ap2J05esZ&2W&EW@EdjnAW$b&pSO86%sFzTiF zX#WZbEPW}yMDctFN$l2&Y6ujWHG^3B?*okYP5d_^5Y#@tgk#|W8V2D3T_|}RV%go> zyM27+vW*Xj2%phVWL7oGTjBr{{tHEBRi@L&Khel2>3{Ag9u_6??)*t-`*2GCm`<7P zU!>EwkPYJ_OiPN1&*wjs&hXosf<H2QpXxoiVk-R=euAqpeldH6;y*+_auGw$pLC89h-U@G2dnG` z-4~hl8zpzhx!E|mvY-DwOu~toF+Chx+~OznQy^X)tDX(vw$NB5gcCpEqGriq{#}1Y z>1m0>9Gl(RAM@}jB0Lr#0PI@=tDLR$8XBnv06qdLJ;U9bZwE4AVejXC1uXkKtpDh$ zTU*~Nwvyv}w{|isriXT)eQ?*r1dzPf`_} z-|+HGG{!`=NMdJqp&KW~@?CQp$C6Di&fW_!paoM-w=t}veclvggHiK3#;l^0??9Ad z)IR}h*eT`9jdq*<+Gb_b?_P>qe`e^`O=8pM-DjhEE#~c*o{k*1ya0|ze(a#_h1J^D z4OeO68J*Z%JJK>aq~O1Me3(A1FFwq&39=e>=;FW=K$g`LE3-}3l|xEa@>2|`X4=tK z$sv{Y@s0dh6u%ZG1HDL$qc(g&OmrHJr!41(Y)Md?GWWhm<*l*Y{!=7&WU{UOhjJ{n zKU4gEj2Xe+-7PK6-x|4qy(u&igyKKKGYm!Xe_ruz|M$MKx4%0_wf~wAxcxu=TH62W zZX3lH5^WCSt}7#iwb@HcPL|V*Wo_1TY?^arlAf7|(-Mv*bvW0PmjwOYd;;TU+nI4r%A%o&SK{m{fZF`OR;V?9E=~K#hE^%+IU84q@ zRR07m=KjgA6iVEco8pJlJppeJjexwuK#E#RQHD7MH2wRJ``WsN24L%Dvg?JtWg8Hm!hImcjAfh!kEzTZD;`- z#XIq+PIvZxpi*rVpZ9@VEAc+QCzY${2|Sq75x#k@)GsJiIeT9;Qgwu%MyWo|-d-^2 zl1tWWNe_U~207@3T(CYsVcrrX5*OYED(Ei~Pn->%vz+hZm2?9yzx{=}jqtMI7KD89 zauFp%%war>-Y_>Yl$NrH%1Nyp?<%~k2$TM|%*2X;xRp|+(swAlywyp@s{%=wfib|# z8>4KorSE9Pe#BFE#><6Vz_;Ckm)-F84-t=vmmlA93tkqUOBx5A zt*?B*Tixsf4#7=I4ER)?pJrdu!j~ow3E@}Xt#Fxm6C>j_e1&&S2FsdMPhE`+d>dTe z!a~h1V9YR)?$V`)gKHTs-+fO?n{avd1}qr*NO2SHouI(Fk|WBLPZOS8z*v*X1ssBP zP2^J^#*fc_*X}Pz?RhiK){5CEAp+$_ApO8wT>B-pMS6fKU9n}c@7&@6zNSm3 zJS@E-sFvAs<2zD%zajq#>;>@v&tmz}wIl~wes;E8i8YTrz#({uAhoAFEPvm5?c_?- zo}Rg&AH9b3`B&WXiQ+3WSo-D~>iVX1^*yW2B>ASJeDP;1E@5$ zskbzqh43eeCrxMhan&V9wkeXZQ8Lcvy!d25JZUnWF{}+p_2+z=kj|I^(S6-j1s%D694EGLm zWfK@-&)~{|7<0^(`4KR<@|!PcmRq@Um5OoUn!=UusF-YAOIT>?7m6#pA)s?*bCr!W zmVe$<(+iR)n*+F*N{Ql&5LZ53qqy=<1ehxit}(cB1LBA)OKNMRx?UyG5dh6yNJ2Z>CU;VRKemi{VEk>%ZNQ7RQmi7WVGwj#@Vm_OdpShPTvRVX}2!X+r& zUBX2uoFHL;3b&H*{hA2Zm+(~zM@je`g-c44 zyMjlGLQIX$EQmRgGMk9ma|I(NXqFMP`3f34CH>2w6b4QSe?J7QjQRUVRPo%5dGI4) zObBAeT>Fu>vvG1*(mWMnR0qRd?9>p+T=^l4nCEfjFT32b zMfDxGY*9U-jd>enImQl_zkeoI@HW}_Jg_XwgV%Wx%dlZMpN1t4!{!fOnqfhz9jX$W zQ;qJN6w7zz^&CrPrhK=!*iPNfEEH+jMf<#Skqzd|#~7&!EWLQBAt+E2#-|-DPtUO% z&L!VfX67CA0qs!D5;L>@au}25Tf`N$h*PmCj*an*6vNBcBs`Hi8AI}~bEvt?45f(|a*yu$#{f7Z9@ALinS!j6%76b25t*!Q` z(j6JQQQ457R%IC5P35hzj4o>>c6pSo2Q-eQ9*{k%7&d~Icfu?kFb286VsmNu3tIjH zEK_J13RBVE1H04hJ>dVg>VZ>eO!R;omLM7WB|bzC(2bXegtr+@3G7kDZB)hxYjaO@ zG-CzCI2LaGs%&*i*Tmp4`&~i9UQ;-;RGG<6+(Ws`OC)c&8#QND4dcbW$3Nc#t+^SEIuAz`< zprr@dh{To|Go&skQ)b8nJZ!S}Ph}sChGgj=hVhC1X)s6nXX*z~$j3pvgzgI1ql)#) zbP#uyp6i21={eS@mBiMmtjBT}MH?Cop!UuL>2U3w=^>U8msb=jWhyiP6I~R_{y|sB za1eK$W$&X!^OQy-MzTgjzza0u)-86+9@T}&Z$rz$U|Ah4e^RM7w5*Q@&b&u8SJC_^ zs-xwIT&cf-#dWl7W2EY6xt>ye&=Px8M*=NJ(PI*H>SgpoF0_1CA>IKb5)+oc?l#c! z^FGiSdsII*+Vhl;VKWQ9PxKNN*c0N3psC|=#_yNv-$g=NU&DjP3 zA8UCfW&}m87_AX zm(m%A{K9)-yAWIs=l%(5@`B`uGUd|*0pM)F!dzH`d<=P!PkC7WNpNjIJ=8xcTS{je z@|W*Xc=@0g*Z)8P$q``6CoLeqH5R$4iy*=J`4YFmxbPQJ7Q)y~fZ{iLGm}|PT{7L?jBiod(+W*#E zJUm#GI5?EXqJ8^nIM|k5mqS-c=?rRJmVaiuAZEjEEWUt4WiZ7fM9n{S4*YM+QGKjV zB0d8t+&rHEZ5c634N#Rc#1F&BWyBng3H%Jid=De9P>tlC4m!ef*^E4wf6SoCZY9iP zD#nFN3SsV0G1<735azlW+RYltl^rvLFWW-U2$hM{6~64L7b8J7zHF^hqWBWTm$hbS zqsZ|HflQYVryF#6VY;Hrebc3?UM0_@%eB)9Ad34u^-Im2DOmumFnuRXUOe0Vz?l+C$QoBharwLsWe7-$RD^feTco>S<@Bm5uk&W3h zMkQL=vYv`lY*~>{tzOF)QJQwBrVYg8@vgwC1-9%);e`^8r*MXZTT*zkgzHgww1lfr zc#wokP`JBX0!u}L)CE@$|5Ux*QlPxRPN#5)zGMV%PT7H5a^L{m1`@3Fp^)Qa~ z1(a zhdh20EI4^$g2Kr&4U?;snINTo27;o=Hz(L=viAfU6eO)L4*n=AZz8j|l21*P{Bt}H zi!kj-qvZS!Isr*)*BT`U_>Z??WafAqMvfRyqokDIc&#H2RM5(h!6<7RB+5_uaGaeX z&x|963@<)Tvil}EqnEZ}J^*s?NJPR+=;u8MQ{{O8`Sb&~mQ){( z$yB#CzJ6>EzqQ)Y=E)Ih@1@!aGB`~x;T=Bbc?6lnL)7_VK{6+Cdn6;RP&!q@8G<;f ziz3K-Fj^6NnQyBU%QxNg9831GxF%aK*3HRgw+iV`*7tcgBO8nsHwGrIK>O?>R_W$s zAE2AvJ}%VXZcQc(Q`TgKc--1ELrV@8YjV&Vuo+E))Gj;m6S5(0`C$>B1Q7F;`+0~@ z!^cmNRuTX5ve^WXA%U;^@MD>Va7_+|tcKW!iU)nnj|b_(*4K^WXtElexKtbSF8Hy^ zOhjfriywmmgdcIl$30@B(`X1~IUlm6KyAvzb%*ZX)>yXY&q(ayr-f9naQpA$SZaUf z$Ef#FlwUBeaKqC4E0GJpwVB4g@Z(dkm*U5lU=P~c|4wgv`_~(y+CR|6?e9N8+CTm^ zw0|nE7pQ^vRT|M*&YE^@Doef1SfMSBO>_F$)p@`TLh5j?o|pupPS@)ebv(!gb*`iP zl{$4<9kMbe=mXH;$I3q13>mD`R*djt16Z##?x&7{IzIfkgr*R13%7G)esq;y>w`GU z{AeYyb)MMzC)!Ym`7!f7eR`x{gF*&B<|U2Jc}qbfH9rO{)8|Jv9xB=Ur)w{J|127$ z(^h-#pCSE3p>?C7kPkl|n92&x!1CK6yG>{ z75Q!a_&z{i=g0qEkyIN$4#H#QElp!1!&PFws|7K%NN58T)%kH*uGE5*s@^Vs%}CYx z@jP(cmmjy{Ny2mAF8+ufGoWR{G1ziZUgSra@)h1(7>YMn>Dx${ z5h9=Ru>1lbTgJ=oysyXVy*!Lp4cU7cU7zd!;H=0GFy$+}9D^m0KaPawVIrUMuzU?< z%Xs-B-drK=O}y;0MB(M;x-5V08IezBpdBy$uq^V&k+5)xe9FV}tAK17FDFbE`CjNO zmck7@`eD3`tHbgmPmBEhru>59sSiG#2f683VFqywoPD{-xGs`9X^WFNfA-@eThc z;xlrIU)K)}NuNi;S}fuz4_Ds>?82v3wrqpa%$DzA=6H`_MFU&TrtlsKze(ZmBs_}3 zUrKl&g;z+p8-*82IG(~85^hQ1$r7$d;n5PVLg7IaHreuC4`R#Cq#xMQgZ}cK>#Y6I z3v9`ezHGTPXXQG29Ts00-T=OOlBBKZ3*1W5w)X{6CTUl37M?`ne33FONh{M2NSUPd z>c=I_mtgZJDWqK64@lWjO8fM_Ldq{X+K@7Z|US z3`*1%3;F;+L_AFrgD95`(2foQ zQ6{_PH!ZE)T9*kOyExJnjC_szoUM2h8j=Q#;5RKfAjRUpTTX3_pzU`OAt5gX1o zY8aGqpDoI2gGCI6U#=vS(E5=XLn+^OaxYZ6USqZ5BdW8~Vv+Kq4W&*IDG=L*ShTFw=c-?Y$x!Vg&x zE$z;HS%J!1W0|#rB=*S(Juk0%_vvm=4*`TPyTk4lAnW|2r8ABq7l7;vO$6b~TH_49 zd;f{x5N}1{m0GKJ~mp&W~zU*4xuFaxmI*pYUz8nJc zl{jOa3+njr#^KFDI81v!+g1AxIS4n?S@2y zFY6;4;TVRu;>&kIW(vpf%*ozA>GkXy?QN>lSSjwGMX;cm#$uq54_`ibnHAa!>(1oM zP11AQ+2o_1W$B_p$OVO_#2X6j!lW040t|%= zzT8yTuF<_FN~1$1S);uTM5Dqnw1nVSs%??q#+N_hL4eMeRaL5uFBhh{lP0 z+`T$+2X?RSsG+UfLAzHYw8A@aEZR^Txf8or`7f%I-D>x0C4FH~e^Kq=mcOVbOhALG z?W=k4(v0^`O}Z9sU#){ApAD&%ao+{m^`+NR=*D5$zIqi4mrw2$^*DDry_x8fdz;E_ z{fp`<)Dgnh(u+0ZNrHOjMxcwA7 z!|=vbC^QXsOw`hwijk;gkBVtrMBNq?r`OPm{+OIv{1d8pu1%^nj~CKz)$TYr7c#c|gM3i_c5w!h&T9Qv9r-ldDLf`{Mync`J= zwS-EWD1HOh45N4)cS2C)w<13ZWfjV*w@nvdJ+4_5yBO(d45J|B5!3`ld$D~rg!kfD zNqp*PMdGIdxcY0p7V!b5c%3wxf;8WX9~_EBL&Q@a79RtM<}XR@3YO}dBwiQ~x%fTe z;RRTJlZ_&utYxdaq#gu`_-sRbdyLv1brQA}?}JjgH>i%rsH-*2)stK=^QO6y8qwVi zT(lno2 z``J;vw8|UBmm(C$_jo+`+SBbCZf)&!SA<^;gT%KZ>H?xl)Q}2$l{6E?=hh$$i*Sst z!6Z&QQoEuMxp`@)X*135I7F96)RY;n2nUWjhu^4<4H1a*ua3LXf|)VFgyEa36LCd2 zR#ayWCvoY>M=ubQIDBvx;=((jhz+%n)B@T1&vZpJRB2WUFRJ1|;pAWU<5Mez|6NTe zd`K(I8t;_a5TDh&K843fIEuo9C0vriJtSO|!W|@>m%^WOaz9aQ|lsl*TY!|*GRY|CmcJv_d#9siL?q+)RUqf{@ViWV4B9pcl^h{%t=l`U9(ZEF z4&9lNx|Jn=Nv&5+F5#UEf_nB|)6qOSopp08Kv5mmFKm(eh_e7in8X&~+cO#Ee0$Bq zv1EP=e)n&u+uyyGS?upqb=dyCgE6UqqEVu5e@}%iWCx1sL3Z=|)lg-Ax4j=s_}vV) z7Xihraxk(j_`R=fLQltwZmr@yyb+9teT?5*BYYbEm8z=Y`HkRh_2iA<31xiv`)Rv` z3XWnB7TviEJrHF6-V*L3Y&gweqZhZLHFEKHOf6)2rhm7_H^SdIYFFNKMW@l2%5s)K zv@|>uYcQ3!#xe~(rki<|^Tro?Uha;|982B7{#{pVWMcnr+a;FX*oj==?^84d$adZ9 zEdwx8{@uYa0`1)q9BA*3&M&I&h`!6+QK7JO$1A1L9jSb~K@Gg~XnO>>sBs}pIc!@1tXoDg-!ePB`NE}9MM1exk|!ow7SyT$r=H2Ayy3wCYN ziz#h--$`S2y250o(Y3r3)bZi(%`~I3oRe|GH~4#;^x9O!S*A-riA`Rk$8!I~aV+%@ z^Y<4m_1Us|F(exNU6C|8=WUMht)|P2SY4z2u;K0fGcLfc(WatGqpaJkPf+Wu)LfC_;l4$?qNvW_+j6B=qg2J;?;5E(f9Ii8AO1d#XEx8}?;q%a4qB!m z23s!vzNoM*5{X25uZ@0&fA_x&Xp$`Fi&ZS-=;U4{a?Hf|&qa=5lni-^ZLmgv;0mSH zE@EFoqT>Yxj+Jo}C2)MPDDJ#ey??PT6)7_dJ*<`fGqzq)wxW%)p*vmJ;*@w|D z@+l8jKL+gDy(y|s4>!;j*+%sXyA(hUKhM=~k}2W?Oz|`oQT+|*x5D2+Jf5_Pc*?`# zPXb*TAUj=^(k4JIhdIFj`QR+eKQKpfkj-xg$ktd7r+yFlSR+I}s<@ z@-)l8k}f&2P5G*M`WMDBJ{G-81JMqUv%#(r9XkvOuH*}l9oh&$es+qbkAF*~XPDAe z-`*(X){edb=~#3{I_2Tohcr|GIrmRhH|jdB{R#MKei|3MtvF1yX8>d#B!4s>@2O$* zJsKaI)F?mAXDdLqR531GOaQWmipj=BgnLTlw*lncd?rAi$|nLdI5Pp{eicLQX9vi2 zDkX|9MF6=}TZs=4`_F*DQWIk%{PGz9nMl__R0&natE8C#8JSN2GEY7OATQ-L-xK~B zVSZ0|BLdeU$$_JekW&#ZHz_v4Kd%KLF$AHK^6!w$wcNG2yiyGp;r0`!7 zUP0kA5?)B*qY}=b@Q)InOyTb(JetC53*;O($-VSQ7FL>*=|N`6)HYrMr=tsX43KDG3|48G~sdc!(&!>#5l?i zK~s^p+)OEBg~v9O+x!`7MPz$ZW#b>#d^HowJV3P#ay)=D<)dYC{PF?mVd-=AGt`C1 z$0%85R%}4B%4BrDLdiZV-infO94DiIX2}Ge6ZA9G+MEKi3`hSkS-v|f_PC>fTO0Nk zUKGB5OxyDoK5$!4@yVX6!FIAdh%s%FWvL=UmP4K#(}o?!mx-?(lb@Z`mGWi3zT#7U zGmTFJN$|6if}O&uhTew$43=-g8hRdBepSk?t@s6BCcb)1+cz6;3fED7-M@lue%;*; zxr8?|=y_n7hey717nWMXQr-&F8>Y%0UVe!P*s5PGu^QjDDVFbx?{F;Hl>(NxO6Z2= zwXqh%ayYWVKAHLWm~JWWucRB6g<);lE#<9$9J76z_|dgv@@ZoCVcgs^Lx1+7En!!N z{CCU-mJN^MWAJ|+(-w}4?@W&f#IJkVr{N#cJTx8&bSNlb8F2rY{maCo=HgXhFNBqe z@8ZCtJQ7y+&LtmV51yjKj9yI8b{6gwQt2e$*`MXg-3FV0wwmIorDWn&VH!kP&M(+h zphji*`k2aFW4QyeBzEddTAPdx7|*fP0gRHrV%P|KxyM-AKN-2eUc+h33rhZFDC#izPw`5{WelK~Nz`tg+Sd5<%pqYO8&#t*EV9LM;^$rPQ>F4{cQ`rPit?mWrLk z(%N?}N@*3f<@=vAbML$NMg7{`xo6ItnKSG8&zU>#$8uEv$pi-e0pPGVz}Hvo4RGzY zYJjbWxB=GRkPYzsA2h%Ko^wzFy|mQk;tZpNtj%d!T5yN5No8%)nVKB6?qh?Q`_oD$ zlRC^*z*Hx%Rh=o|f;x-P{z{#zz+e)mgy+!a^kus?#SLxl9h6Y=CX83=PZ6Y!2b7GX zVVV|I5T!Q?R!Z#H-D*Pw-ZBViWu&V(jzgMv~DCv(4=mMYOsBn&?H?dt{K*=^aVt=7n zb&F9sGuD8TvnkdCN)8rHizSw>)sD7BPzM=kg&d%9go11<5lJA=38-P*VwCbTbWV#} zhC}D(S>RtC)NF(m5226bz>3Q$8e%S%00^0lv%pxt;AL#Y z$5JDvr?;x-H$^tOag9+0i4ym6!8}o7+bIR*2c>928%XRBraJiC>J zt?a9^BU4=+_{D?-log69;O|K>kfeB*A-+|h0*SkE-h~P~-IQM_RDr~S+z7t)`$&#( zw|oU8)?xMK?@7_GrF`O%C=U2^e<>8-_!!a@zZlKH=Y5}T=HeghCB=KY#eNDv2j${_J74o^_=-5@cdtOAKMHnIH9JtYU(^>&b$iM5SCC#5Y7u6^Q> zC=U2^MOhR-mqb~*S^OQP6-X?(k;UKXt_t85KT#IH=dCRHH7O=9DSp2p{u97c28qse zr97o3we_~xDdOvjR<39Hj;edLG`$l3$ZjN3?^)K)(}WdMJLc=A}$Lo$8jw zUnrqICjE(}=X*ynxTPaRl|SKnmi(9$>yMN^9Wh)v-vFKR@70vtuF7VL?}uJn?|%S^ zFt=U<5@(~=64=}3p`4n5^p1)$5Mv?G=78pP4zm+E z9YY}FEMBOhT+oZ8ccdpvPd|s{pj4}XJbCox2pVokTmf4#u|(hqPG>BxVHJ1H(#Rgf$CDF^R%+WY|UFsWRMza_&3DI6=qxhNcSX>*Ye6Y*21zh#L7%K;#NQ`Nvt_NM}nbAQX)T<|*r zkf#)YT>L!%7|4txKm7qX z5>g3lnq5HQ$orX+ZpD#jnf5vyna(l5k>8=27)Lr+14mxWqKk1mdUg3VOa4+y0fk4V zVCJ;BD7(C&eB=C}<;hKUvHaAnc1 zEcp|**brbGxnZ40#i#zRDxMvb7p{sqDT)3*M?GNVr61asccw#De|VX(zsLT`^=mz3 z&7h%eHsX2IMh^dE|BGNreI2N5(_4Z{JjKEF0F~6C(xMuGEGwR2SS?C#r82-OBdLYD z7`)sZ`It)0!Ju*g`j7;by<;t{aRo~VP}nmX01{L-2EJ6Faw^P6dvnzK+1?!Q?^4YX z_cb@io7-h`q#m(>${(nIr$r5ALy0;JYtxUGFDsR`NnmPnRMXBjb?P&j)M2i#V8lyx z=DRHF_)B%Fxz!l~d?^vj7Nb9!5Uk%8yEeb%I&lK7pc(wLpedEk5uSz4^oIW6-e`avgM9~Xwhh`q%Q4f zP+6k|OeKwaA+`Seo}tm>mX;>A}YG`g^aH98Fl zK?N;)2>Y3v0V*@VZv&O5fMN|$Sx?2KxK}kqmk4Al^6DT3T{oY%0Ky& z8Eb&b5Q_Bxl`pXA@Spz4OSB__nt28JH7G9iMD{Z@vPZqyNp44$2ysdZ~Ot2eE=k z2j#0Xakc!q%1)r5=YK!p`!Jc+?&s{l6Jm}8x<6@x4{_QmnBvf#xJE}zLMts0GO0)-nV*?B|45z=<9z$3UedR zLfC`mYjOvE#=`2ysO*r`jy%_4(Jr(DE+)($Qao9%EdDoOUUp9=E|RI;$aC>i7(L{k zd^VfqA8a5w!rk%}@@$IrdIEk9H2|Go$|oL{-yfj2t^)@|jqfBey5tfY@dSPYx+izW zr!2m6eJS4CEuKaqz)vQYzWeDA|JV>uJS_eRFfSv|5jdz~N1i)iOt5>h^86 zuwX}?J+T~i+YR|xB4qK2hvk0)&>NH+#s5tuHjCf(QI`DBbmdGIKdz1{fLnYMS^S4P zfDHFQJmzdEo{U!(ABfFiMxLMH)B_dYn^N-xbn&k&i9GA4vV5Ot$+5yMUscbf?OCGH zuaHk2(T+U71L%F)IiX)s{`kRqQ|=IPJT~#2u#6NIE^15R({l(fv<-k}AB1DcmBNXK z3t#(YmIR(F=c%Gm%W>f!{|Vmb0dvrEAZ^DC@y3s zfoB^@NBTr20Z=oO2D%@fYY-LQs8uEChw%KC{%rR;CWQVgmYE|JhyGg;vY)& zT86;O1Av|zOz1fjq{xGSo+_2D=ipO69> z)cHxqnaBerOII`nKG*T91RN54{tt;6d_KU)(yL*$2Kc;A;ZPa=ox%Y!e3-)dWjLL} zFR>Pae*=Xd%J2#b-;m*j6h0%vvnhOJ)8Q&<5_W+rz6vzxa0q-SV+MEDT#B)$Z{0u6dDfGUQn_3-xJ-bqY%=~o-;BKQ={>ro_ zy)Fi?s-(RTECZJo?QufOfT&}Rtu^Qfy>kWF*? zJnVDWGuL^MCfLBH|2|3G97QuIQF;1Y%TzKxr4zFVEL^sYqY8$Z<`6E-1siObuYWMD zPyM7}eMZ0}wVTuD=h}_W(hHS2{r7mR0k|+%NaM5i3LE+qfoCyMf0-rk%e|!9E%zvo ziZ8WRRlK|}cdKyx1n{}s1AOvzxnDq51b$r=I}+@}^cv|Qt0WC=vk`G!Zg==FpYZ(u zI=FcOh67)hTfd;FUmd@vN)s?H#$|hg>XZT69!hVea{aHC)WtPz^)Hx8_0MqgDSC~> zXMcxSs((1R05@k)kC$-s7@(Shn*p#H?e)KBw!QwnzEt&pb{yCLiFvaAOMPpDn+<6| z;JVy;MhRJ)$5KZ(m9@FdR9u%EX)tqlI>=;FhqQuC<^9{J5&UQ4vQpd^aU>Vb0 zMh7(E=HpN8+C+b$wDBD$;bvZ?PTOyC!p(s+N^xB-bTY?BMX6DQsVA4!Pf{Irg`RPp zkU|VMy8y4q;n5)&5>2>y5^NYB_r5d7M@=A4iO$Bt@VB>5MGuYo38hiY2i!i+(cDOje1dir~YbaG_9SkkJ~w=r&CFN>Zmy+R54efza{DBfuK6BqouE-~ zp%rof%g+?5JBUaEg5{oMW%m=u`Xt6Un|vt>^-b*NoIYC&rDw;F#nHZr<-~(2__0)M zl=6?IZW&@s_40Gm<14a6aFy02lTV_))Yqn4judm~b7xQn^tI{j6U98gHa$HR+-bgv zbefaq1@MCHO<_Lzd)g4{mb6uxKuBuBVgzJlEC zv5F3*pFPDoBa2TwEPu@IED_!u-csX>NVE8jVB#?3UeJe&Kd`VA@9h>(vk{7aWqy|Y z*;7pXQatgn_o8r42P>_3TPZmF;pele{ysCZ2ye#>vr~3`@WXiMnN?&W2g@&6Kys{b%U9Ji=d&#NtEX5>W$}rJCBk5fW&j}DT)i3NzDC@qO4#Z`VzAB3>)SS z!>fV0eH1e(ESn$eEAYas1=NbAJYz}zpUE6jZrf$bEDr-8ZGAp8(Cujv-dJq|BaSuW^i z$J{-@t}u5?1P#m$|KT`b?xLK|0=%HXHlge^_pzv)O zUP9pushihTO2m=j(NnTSv|8Yu(o){T=G4CSt>HXHEm`ZZR4}m<~PkRe+lR1-maT%@V_I;-l2} zvV>UFx|3t0gxwmJD67-=?`bj%J#Nl_!R{K|rKA4BqHMy7KhmfWQIB|`CNRiG_-RSa z@S#bRs60WZGnHV4gx#S_3@g0!zXc30M25ZqY%pZjPcmV})9(!{yb(+)JFNI)fZYgx zW4JQHy)-NXsR1trOC!Abc$nIjk5cpfuXPva&@9pCTYQv?4MW~8nc2&u;;T+o70ZnG8fY4Hr;?tC;Kyw=To z57q-POX`|@wg&i)snh_ByS*17DSw9Q z_1IGXlfVU_x`6t;#NC&$&!BL31sIO@1~}2z-T=jhss^~zjvL_GyRreQjza?s;K>Ii z(Bo-Hq(v37Ym--&+f8L{9_W!g#HU0kWt?E|Readvnd4O1Mo#oA#G5MET%q8foFhXR*1 zM7CuSyFxyuLX5iyePxV~evhD#iMy|(>M%fFeq;`iX5ShEWID`$d;3K9vA56Y!Ahex zZMl6~!fq#&I%_Nx@;E!Zk|u?;sKHpQ+_<}+Y`LKzS~NI!C?orrHGjR8r_hqaNcQ;>~CC=T8FBzyJ-Pa5kM^XcKkIxZ%_eaF4v%`sItbx1J zDb@pbFBC;S#o6Ix+Ok2TK0zzwz}?FfwmXYRLW4CA19#6Bvxl^LztPVz&^awC3&-kB zKkh#?Yhm6UtA9wn-V;=wrf7&Mv>0Z>a)8Pa%8$EwsNu)`S)$4U$A=N?C4I~2Eb(@z ztG*u_)#ewbQa8VTfTym zSFrl>Wx?pzQa@SN?JS@Kw zHXz2{L+$ga@@WFp^ZYv*ds#_NC zyI8`>{?RPG&J`(rx?4IzRQYQLpc?6>U@WInI`MGnPXfpC+2OdRs&P&6^U-Vbw{Nq( z1kA11z{zy-)Onim9` zXNP^1bQkm@>F%?`54xLB@-%`3CCNj)4Pl%d4Gdh?ol0!M6NsFJ$Re%cg6gO^6GkAe zhoUJk*`8k|dXQkUF%mPFoQ;8{AHk{xFgb<7yJUDQg*VFZU4JrJA4A-FWklqSR=Ix4&inzF{L0xPeM1jdYU9vWxkBbAC?4-ct&^B@2^ul0r zR-3rI^fJFoo2nrlrGORo4xx?@@8}4a)h5p0i6?_h-?niTf>o0JDv2Frw&^HAW_2Xt z4^yYKjjQB*J4>u?3zsgQht%`7db&a8xVII^l(!n8|E&bjZG<#E+sU+6a0yvfaCyB0 zmNR0*lfmVm?Vu%I+~9Hs-mK?`ak14ZoF7gCnXzQ|ggEc^9b^YFJAv}xmQ{2smh@rT z>#*d5w@3=G`>_ddWt)$n0zt1OW(DXx+mnx=vs!S(*}Dt{Y>Rnm-)3n3`3<27BhsPNwZVeUf2n z9tEtk+s+>~v0IwkT*}g%TLp_kYQW6q($YMc1bfl~F30q4)5X~WUj(PN(rA}}!DT$G zQyU)qrK@TP2A975CAi$5=m9Q&>;M-^bM<*KHU#AsLA-~stu)%rR>kMV>j5qWuNtp& z>W;rvfWal6V!_*R>Qb*tiy8#7tZD|Ay(ztw%HXAqq&B)_@NxsxVJbBMgUc__Z6q3- zd&E-zMZg6#R)vO#1efnkFu~vH^Z+j|LdPlMYIt zpQkRK7PXiSCh8)r&3szMtW?%!B2$y2hF`R)Gmy!o4s#uXF)!8Gci5s%b8tbOcW6vY zb(X>6mdHgndY}m|=Qp%#bGo_GW_3jgE|uL z0kT$7mtHWa+&&AKN(wQ!d_KY$ACC_~q6scXf(-*C4Luqqp-ZT;0L!FCK{+(q*TAk( zUPGe`6}Wv)!|*1B%927J;IckV3TaU3T;<+%1QOKRqMn??tjN*eXT zgrQe8HL6G&p)%P^YhuHUA_pRp>TCDcZg3eJK(=pGug(^5IrSZCHUgK= z+alx%F8fh5#4H|#m9r~;0~HGz9}-Tksla82CK6m0?19;oa&|$E*dObv=XY7QuX0xU zPLk+y3YW|iT^71rKon^RbU6x2S?k*sDoN689 zjLQ<^f^dBi<|1jr4}kf|Cj6L@@b>KiJmYivR&?12`^nQ>&N0({vySb<*CFsk;M;v6X-7(;xT(k@x;U8TLITHy4+n#7T=pv z^K@Bgj6#WpsHqNS1yDH653}B6@8~glk*LN-*zU z11}TM?b?Om;2E}6eh9+};d(Tbt?=?wMR6fF2`|Sh3gsf<<)C^tc-b7UhPSecVxG>- z1TTY(=Gi1el9Ka#X|#VUe9NOdQ`m2!KhXMHE%X?W;VBa3*M8bu0jL0bZ!8T+qx8Feidt`6~M% zX!t7Q#Y1EeSd-J);bmE{O{#?R!79!~7N~;<(Ui|eVG3Se;a4lXJQl6sWe7%={ti}R zz)OD$x0hjW3b&Bq7uyi7C&LdYTup|rQ#e$Hf2VMO3?HU&ei=@u@XPuNUe2$Djf<){ zAY4n;gX|y*UTU?nHpf?u1-z`G;N`_Tt-a}m;pMApI7^F{yb(AcoS6v-*OsCpa6lMO zhLPhVa6q`al)YcItsO>Qs4ijT&gu$AK8nBzVZ4;7j?=w(Hc-z_>gk4&J`gN_hlWoG z{}F*#x3BVO1lpU@;Aw@EpAnneS2+^VRclB#hLhcEKr0a4aIz%ctoIzfs3se8fGe$e z*jRkatbCQ%t0{bWtOia9D<-oSD15m_(XIG$0n=WGFDG&g@MV8A6#FWhMdE~T{Ve%| zsG;hlX@7-EuKRlciBdFrOnf<{nZ%cyB9Wec5j7-B{vv8$1w>9@^{}BDAL`2{5Wz2^ z{sv!V-wGhYXuvO`!mRl(IGLT0C4Uh$I7|K_Y99$F&tV0z!pUMZ7LbKLu*rYH$pr4Y zQAKxKtmT3+REQ{l(5NiRwtNhu9MoGs8&sY^FEf>FO9>~NwlmD-hAS+_7g5XL!{BIKP}N&C zoPQCIif>(8*2-;$lZzTjIN7m^2b|=eL@lkpGRCe0!^vV;L~X4YN2A+pMSNv^4sfy( zY-3mI>)@m>Y!mWT;)!i~e3D9?2tR(xHU(8R1F*ko39wSxxW6E&M>p9TAcLvY01PL? zcCHlUdDRkncLXm5bO{p}4R=($#~MA*gp(CLwCPt`X%q7*nbnC7lIlzdhdLf`asiDY9I3?`VZzA{vemkQ zW*Hz&BsFrQLFEBb#Z-vlWGe6o*LBpiuOZQdletMF{3I$gQgE_Yk}*J5!0xxVPlsam z_L*NwX*A>|E7T8WJHg2{m7tIZoIDuC3eCh~<%W~fWXsJ0(W22XN$t78pt44tnMzI6 zi|YHASVN;t%PdV)8(dJRO;uB&&oIs_q7 z)-w7@)bilB!O72oUky0~kreUduDj5Xlo zWuS9UIJphG9sl`B>i=lN1T_^R&DQPRtMkE^WF7s|_vBC?kkbA$vt z17Kw{*tvy$1orZ(??5eHUd{0G{=ve|&R5wXsX~IeND92XWtEpV(GX8YJc}O#h%UXn zk7a6$mp9Sy@^Tya4*XnlguCS%US2G#?B&I7q%1!1u>5?0=Ta59Dcuz!r^f@S$xSkssL{B>KfrWLCVXESyGB8^Pa_T zZf1CSA1dW3HP6Zu;tenFb(X*KQ^~QyEnihnXrS`)Qb+Xg@&cl>mp4KJ<>^$nEZ(=Z z^739|>2+pF>C@fPRoku!KsAz=7Ym(~PCQ)tlZ_28?|oG^Q~Z4NTK4ibLaLmHhSSmO z*vpG2dwFT@0=C=_0n&$86=enU(4paTg={c<171xpuVN;J<)Pu}MsgBp zgW*F}OgLwyyu5#tmlp!r%Uj3<;e|kAFR!mGp01?1LHJoCCI<*l_f=kAJPi;IFYhDr z@`A)(UOY`NFT(8Qg+RBLS4nq4FFOc-P|yV7rx7&0ya-D#Z$T=t9fr?BBzt*PoC&~C zxjhuk@bdDj6^1uPV(I0@z|xQSK|H*?6y7DnV=25*h6hvldl~LQ;YBi>MBzCy?4s~g z8E#174`jFog@^bVUf%r5%j<3HAcmLM+wk({RWO{rym)bYdGW$t-aJyk3VVkzyu5jo zmlsdBmscg(uael|d7C`S%Zns#FK=$;<;9b|ym+#g7f&}lAD3IfbJNTFlDxd&VJ|P9 zR#@&NZZ|By?xnoEc)Gp3cyYt>8F=&X^1dQ3FUW2$ub1o~W+yPbyozo`;XX`z9SVQo zBq`+O^;RgHy}X5$m-lg|yle<7F#86#{Z`bDzf!4#6aHc_cOg)DdGi@w-hVQsm$!iw z(0$cu4*}z-qnZHjaB*0zukrFe%VY}zUf$6EhUM?UHf1mGqfF`LtuJBu`cp-1uzYd> znWcU<;J;vbI(Ox$kA($wd;}92rp*-4EH-*SNqw8Adl=<%x=vs!+33p48)g{kKa95+ z=~ci6d*;o&rjb59!Z6a0!m_fXj*sqT+O8ko_D`m~et0fgg}l5EQMa(sPdZ?UTVOeR zdH>3kUS4b;a!dYk!lNO6$!~2*Uw`H0&Cax6Kg?d;N|62<8`on{5<95ou|CK)T`jn1zA?L^zu@AE0rN?8%b?6)8OUxvJO+J0i>4~ z-A3Zrx#KMLUj$s_<)z`Fyu83m3YKq#8EJ2T-goQ`@bzD+0mhx=26+FzY=B>0Wm;kR zdFtZu=d!^>T||0$X&JLpS(}MWg_k$grp`bnlRC_Gi0o+IW!U$DMV;p0A}=qEY31d` zu8Q*V8a>d2<@0abwK@GzX|wu-gyqX&^iqGi{}SqWz;Yj{(_zf@CM@44TkR-lmI1O> zQkTv!sN6mam`VysFK@6hJ|2&SL=%>e1RDlO8hSKJ!d_l%c_=S$4vqHdc8&5H8eKsD z!~i)B!z{?A>&<)EUOD$iqtw=4$wSQSsGgE9D9b_tL)QezwRa2vi zq!Csi>E#6%6xyE4RLE&6Nu2cv@!U5IC+}X;%lGJe%E|jAQ#yGu6-f(z0IWy0;KyKBoSnRUN+0Vv#*$oc z8dWu%yn9&Kz@aKTB(;OfD_D}*$&0B$iYMcg#plDOIfKiOkIK|;aCx+{0+&^|5qzHw zmK@=3`G%7ht1mlwv3^PU#KZCha4kD|jSni#;&%%-oV@8={27C!cyG6Onl{ME`*)^v z@?wWZiYFcxUkO{!(#eZ+6?SlWAEtqH^6q5$B?n3l!UJ}2IR|SSJ9)9qBIOeg%ij!K z%T8YP#ini+e?kQXF3)af@hbj;ede+^~lulmEB~m`|u>9YEYuU-mA9L88yycXWcPmTJ=qsg9 zcS}czD!&oF%VsApmQyL6cvyNLpjzqV{Z*BXnvP3f5xrJAd12kX23;ng+p&`uyDIGD zy@{b{LzkZ_iVL|ZC$FNcKrYJ3doz=Mr^L8_xH(=;C$D0j&dluOHIkD+8@haTLuMY% zS+SG%My9+5DhmO2^4<_VD`8GbCMPeRRy6q;vANOYNJO)f7f-j77cXu!SrTtH zC+}I=m;*eWyk|2dyksY@VlsPy;pA0xE4*C5wAaDQi5x>tUNn^3$$KkPI(d&~%Ik#u z6^{4=cC^jCSBgfD2``6;C6%?}UYjl=Ir(^xWJ(`zQI-6hC#LbCu57{(_;{;m@bPAW z2$KOmUKln1>EnHwDSf<$Go_EWhy;_@V0hVlyfhS$g+37I?DdxrCveY=D*B$qRxSuA z0b9l&G%AbXaBhTmFLgPOeM=w`FLMsDj!zEw=AaRR@WJ=(4H6yI$|&g=NAn z-oeVnOI--gT(&5vrlpIQ762=iE&B_SdbGE#{xg_L^)Fq#|01b$@g`cTe<`@g#Y;V2 zxp;xY3>Pn~MtlALy~|$zwGOKK_xXYA-)o<&|JJ8%SaLA+Xt;Ro+EkR~c2ij!Kc>RP zYggwPR|u)YTwO2-q&gkiThuuTE^_gr`IR~~SsgM*#u^>a#F7;~wCQ(1X%n+bxp;q- z>P$G56H6|jAp{pMRtOVIc95;s4K&O6Xde1XeO~@g4`i4NHCw@M>Vme~-yn8WJv-3sVEL&LF)7dR!y zt;1)&M3tmP{e`pkCe#ezRwbx;4(*WxYCfhZ4^T7W8El9c+&YZKZN*|-fwW3N&1ugw z<)y<94io1k{dX)x>eAsxDY$f)&2ICX)kS$E;Pi(QIlY;S`xFq95^(D<+Svv;mt*t! z_OMn%1AfE#A3NYIk0|zL&RR&?`F3knKpcOGQ^hFhosSYa1z;OYTJ-~9PO?>>@83-E z#WLJ`t3K&;1J0vP1vsmG#loJoP}w1=9dHiEGTk=2b>9GtHYuL0RTeJ*bs2CLT`p6* z0cSUd0-Rg9DST%%mmJ}4`3i744rhM81GnU$?@RH-!s06t+P{P!6}=|YuE5}ukmP=L zrgUb;eZi$K`KILXc1x#$2*@)BYh8pB;;|7b#S;&U-wdS7c(dl$GWC8_{)AVV5^tWJ z&+=C`l^lc*?07R2>)&E8$j1sHF`DY$=}1SQh^qkS^oR#3f33O3m}nVsushxtnKmS^mLBl4FHi zzN((4`!dCZyeK~PL%TDxKcH^i8*%-LUXY2WQ{A%oYQnFn_D}JWKoF0;C-@ zn619dU`25uGl@2R6=el7k!bVzb{pC}iC4pyxplh~Ncu`&<_blj>a(NGSt=%+vm&(l zk=WH72(T9f#uSJTa%?xTW&~vkQnX5=D`{@5`D~laSx4L3vF7D%P#S5ScoNp64@!SP zn6DiE3<2MQGScv7b_1;`XkHL$qRlEwz6+Y!(WW2R7216Ki$t50#d(C;o4NZJDw!Q` zu0iBOWKl=OnMeZ(Cn}oqW)A09E8gsm#O%#ni;<<@!_o%4`3;4y$nX~wJ|)95DSSYN zCsKI343DJnIvE~7;csQQD}}$5;RFh&?NoTP;+9PDfgdhF+AM2YbrFR(uWioUyv>g; zK-#GAX4_)800}RQH-{F(RY7)=jPV{zKpw~!{*_+w8IPO3CNp=vk z6DYXZNYSluvkKE*2RHpV25|GqW(7BYDvtY)c4Uf_K?$9l-)4&I-Y(5~H&gn+&ZoiR zvEDkoiaNLnH(%}(ODk&uUM)8vy-0Z1`Aw#H6cnH2yd%?hKQz-L{Q~NzCRF+3SJ-Dc zotgi94<^Q+U0`AT7ykV8RHjHTf%}lY&J?%4NazI5rdA^PM5-Nqe!W#@s6X5LU+D8P z_v5H#Ey)pKrgH(8akl zQ*79TX2dQ6yD|&T@Mwl}TU0YJ`mDA`46mjYE1<9OfS;e1jxXC^@tj#7`k*rkKW(iZ1qvq5%m|2|}OeS@h z>n_ZFsm{%Ci#mP41$D-+Gu7D*+$OP&cMfefePP$;@e-xYk&h+(+y{%7I({Ki$HSFb zMe6hiCVF##+?1_$A2iDVIWDQY>KRm4Xe(1mA%>r&ppb;0#YrI(e$E3M2FPmkXq1Fp znSTMeNsa0nW6A{7H-%lJiiSonCvp2chSg09HToeZ{OnAVLRwU5R*2f47>moYm$hq@ zOHv=!wP|#RYlJlFMZKr>QA4Aal`KuP7hF*2!jGmx3__n%$kQKxKfhBI#SbB{ zV}-6!xCk>M9z*O8j4KSl_>^1v6$Gj4!Wv#dVl&T(ojtTk&WMYmX%DSzv6dr^xp8Dz z-RzNJF1?``-dzi+_7&QeWM064AejZOm@;!AXqEZkGRt&S6HR((!QI~(;VH5KrfHsU zU!Vv(XoR^^&i+i#7Ln<(DZBIq^JQk|L88o7ZZb3bAA;7*J{3E9XdgS?5KVh(!6ml= zEXn2GD1LoR2b7n%+e<6yJ(jxtq`kk3guz;f*w$04=2wfR(~JzN+Q=;Z+soo#P)j^_ zd1G3L8r#i@hwlr#Z9NGvs!tG&duc(1u4{O}~m)^Me52wRJi z>jxGRCB~bW)1vnCsiOF>gsr*JF1Sr*S1+x3k$g0g(S?G)&CJ%TV8DnPy)}PPrMFhv z`FOE#_111UGkS~aeYE$IJM^~oi*(9k;G)dzHYrbbQu+0mG!ka-8n@>V?brB}AHpUg zL2T-Hl$=XB5*=sI=Tx1)wn@1eiz8x|h(wOq>q?yxHXF%YsdZhVOkd5%5hcR=Y8@P7 zMRH#)rsgn6r*6?NFY&0p`U|E8?r%@@wLD8?P!x&Lm*6Kb2WTmdf5i6wT5yE#P|x=A zT7k5*7LU!7D_6hC|CTH~xjM;C%TsHf__d$bux8cSGRsgfm|2d_G_xFpU~Gyz%Puf- zk)?C(DY2u!R@VRbIi7j$SS}u*G>$UDZ-C}sdOGGfRs8V?T4fCpO$KN)oXbv1QFlyB z!su>mzZI_rXu&lL&yt1ALpaK)my*=)X&gS$3nOS1oV{8Wa^49kdCF+dLN5D86dVZ2 z4zw}V_!Ep5Q}W=`rsSRoS|ztXEhSIGiE5}{Y}$vOlIMvMgS3#Ef2T^px4F4hQ@&bd z3jP~GtKe&^q~Nje)}wttRIc!jfA!_0Gx~Q3x#sd=!l&H6uyw#H%4%aYwjlGgK?>-B!;(4~s=B;TWnFb3T|W+78vqI5X#pAw#ul zQ6sn$V9kJe=Dx1I$;9lSF~yn`-jspqru=NI)xC31ayj1c9z`jVlRIx$=I-Fhog8^UzlLSVqvW$OR8W*3JlVm$ zF(>y73|Vk{Q&;dP$|pIw!-mPCFn6-O5+q@MA-My(_-N*#p% z!*zf0<#27Tv&kVbbhsAee|m~1L()RAV7T^~bK*hCu}O_uw}^RPNsjablH+0zPZ=i{ zNRC{JqwU+C9R7-<$$lxL<#11qq%T!DG9PQCEzU>({X0Q^CT?%IN?T4{Nat!PW?3(Wd#G z&9nv_h1Galm>=ZnRlgB)#%aYx{tvXZ&h>l9b_)>4KhW~GZ2f*w$L;sAVtSOez+0Bm z?x58&E$YNnF75ILo~4~7g2!p$u{S=Fr452OD(ye83Cz-N!Q`$=yPD>COKBHzl)JQP zV)i&K!x^yKUCvfhHI(xdOe&9Z`eMYHwHiV|I4vq_3YXKnzGpcf91tPnv`TTUK9mI= z2YFP`&0Kw|T1x`=s)80q&|1)JK(5#ncR~MLBCEB6YSt0z>6?9W3S^#qHnP zQrwS^a&g7ST-XSuh>QSjYJ3 z(zI*Scbax<+Wnn9`eKnhQA_Y093@xn9vH1##QBL@jjDcd=%vfha;VE(*!ek)Io+M7T4M7!m5 z%o9ClXrs%Oi2)457jzrK=8&pD=pi&GM~pELdT#OW48XVV28qB_pz@DIi&X3gtQ;h! zq-vqz-=Ufa!D5;}k9`A})C9~kImm-$BK6Q+KZq-{wA;>2YsIdww6cL6xPoRfioyty z*nHO{ac?GoONj7I)5?XHnQTfPfibEi_vfHn^4sfKGC}59T5$14Yyfx&t|Laz(n1{b zg_xz4t27s8rYiAtG@p_?o`Y_=L&W7-+8yVz)v~}p^`vU_kh^+0LVBCY*l-AZ?@T7&3j$!JDFbk-R($Sk$ zMjJWk&gk2zGNZFAW!a0?eoaOn>dKDI1wzyD7*!Jl5qG+fl~1WK=Gt`vOF`v&jKG+vTdtm}&~%B&N#S*Mg#c_Cp0>{tm&+IXHx7 zQHAl-@@yO}dVZ^g%%86ncK8av`I>*I>s=nzp9Hhy&U`9Kw(8a;RKwn)#e6NU@OVs@ zG;Mx998>C&K_Ym$R?{(fbLM<)h|{?#LNxhO8(XengfVg^A*nfX+6*v8PI+s<`gL1r$AWgJr@&{C)GaSXMCY?3V zQ$~p)3$mJ#CdR~S2iqWD5BxNhJ`Q}$pswpeygHYD7#+jEp# z_LcXg>^w_Yw$rz*xbhW#?ZHnhT7>cQp4hQSD_3{$2vc@XEd6LkDt8A2t>tdXQEu7M zBc$xki>2&w(NcC_;rgFertYm_rqG6L;jqw1ws7194&^Af&~?M4&{GSg(2b2)sPpm= zade4Rx=ye6OsQ{=Hj5gMptYzCIm#{d4H3Fjd+tp5N(!w}pM`elG8oBdXih{s(9j%< zr#Un)3^B7RI^WDHAA;7bp2!Ua7^@!mIDWk+uDB_7VRi^Seg*J zu@sM=+<24YXWCn8{4^=NBU`UaYN!Ep*G~?hiQJ*{)b39MsJdgOnDedXAC}Px+N8zg zC8o5fGhN6CnHfgBTMy%p{t4z#(XD37;^NY`T4bRYT+f$u|6UkG!J_PPt(Nm{7ojcJ z>KCcr-DY?U^b<#iYNe9t^oBA!I>OhfpNN(9my#z1Q66ST%XYka2U9sb%#K4na+n=o zBrtc4*KjW~xRaZkS5$P4WA>)6VSmqHcXKBNGk4e5a5v4#y{RR0kIBKEd_XUjlYJ~! zXjnk=bFd%KZ*$(?N5S4qjq-a)e8dyVieIl1*(EWB9P zoDEbhC->E6MUzR-daq&6?v_K(nb9n~_iMN_!Hs_EgFY!ux7kH70#ajQu~(`Lx3cJy zFx+Z^0xok;qW1UNey?G3mF-j<=AqpHn<6T&)J}K}`%IZ=^K)|a7FAYiSzg#mmR8&} zSfn08dMTFKie*iS94tK*%cqK^QIi}jJrv6<$x5`?`;~Y}LM9M}jI4C#Z6xl3kQJ>L)S>RYq02%r_B7LJ4&@iJ4S{WPsX;JSY z7W)_7@Q6GYpYjl=<2ui!3FUWmi=Zw|yY10^@*{0p)DO(*+eZ}Hqy;pHt`7;A5xo&J zW&p|X9nX&>kg(Q0&gVdP%F_y_wZZm@Wcyt7gn;DJG{BXB3o_;!KRyccbEQFwKE;Pc z9HF7D7_0L^Ti=Uz#zO^|@f#XSit&Y%=&cUsDv3pXnXy>aqK+;GXJIMQ&(7JY5OaF34)&qN#kZlIaj!o!eybX$BehJ^KbiBgI&rP4p+IrwJn!cg`A{-;A51N2 zwm@PaGkRGx$#+FG-l7F2k8bKtym+k-mFMpvw#3&FV=Q7OMEYzKM{`D;KuKGAbRYk5~W?Wj_ z%@{h2dvj%en1yTw#D`{Z)sTz@sdh(8&IzK&&*;!~XtGtMdX>SMrP^hjD#tSNR&+CN zuyd3TV~!V=axbuR^sK-fy)4!LF>@sQdgS&+Mdn=Ez@6KVc3C$oF-JzEo8vn>M_6U% zxY5wfF`ZR2>!nu}=J>iIt$IrPadsg~sxnKx0&b4?#geUBmE_$^*mRlv%sDEOCXJ8l z;62s%mkQuaE#XQX>#hHY?HE+`k=AGwa5Ra54fRVhoGmpbKXZ&~O|*EKYO0Y6^G`;0 zdp|_cfsAf2N%a(@h&*@u1Gr4@`oP%K$C8L@z6jn0`yTyWymQCbtB24`c}dTRr?O?} z!Cb}+Jy4APMT_ts+m6UyuGDy%=UV&WTvG+HY}2YXUr-mUsULdl4{4T84WdJp-gFin(v!l1^gBt2$EXa^ z{Rrvu)Lf$rHkvZ@|H00srx1^~X%VFc5GP7EHGPz?-kMBNei`|OK1(#-t_37LC2W`4 zAp4Ugloh-TG{eWH?l_JmUjGmPLnWw~F_AdvA7beYG}UGOfiN*Py@|3ln36u~r@LEV zK}5!i72CDy#jc<9!PYm*haJNwd=?p3Zg1BTE93%tW{u>z*@th+*Kqn!tuAgO#mUeM zZ;GBfw5WXZVan=D-xP~>Xcdz`AVxGqPY`D(xKi`EQpX_Yx6!Z}`uW7n?2cRm%iwbF zH(PV1Jl8X-<;pejL+@OWco-WPvW7n9_@-|+?V#bxw;mY7`{6V|4UH@qpIW!g)a=4j zb*zqh=l<|M!uf_15VZUxKALMzr)K2my=x2M%wK{{U z8x@`B%DAGAoxf9)?Bpo82*-wOUF*QEeB@)j^ybiXZI~l}7qkX#5EK&&c4?uGB4XPv zd*IYFAfk)U&bTk6l`jvwOVAyIbpw4XU2Ifwt?3dAqev&L?BU zpS!i-ej~3iywW5Eko{QA;bM;J9E_*+X?dHV}0jO8E>G!F#pJC29kflP~@}cdZP) zwo3Je=($&`=DhH(n7tQJZoEj}s|B||^0sX3g3v#u6ZD@6<)r@0&{+txLUg4N)_=)k z*1s|)=h(Wr^AD$tPaWe&eQ6+4E*GzU)oMG2i(31%sN|Dx zP_Ztlaee#O1|$FzD2a$od8LPSkQznE6KZ+-8Ct}rJk~R6;w?4mvOjg}fHT;*q0txG z7}T_w=KL{2R6Bn7{(#5U$24kwiZJ#3ZA?C?Xk&4IpEfXjB!(buG?AwbW2W$w8x%;3 zTEsE}7SaRtH$+U#(3&_3id`96Q%6bRwO^|pa<6d#OeS;=5oO@XWIc9_Zs)}SfP}Cn z;_dxfGsk4H0L+e6;@E!eP1IVk16plo&Bh}303zpznFq86&W#;J@L{cjqpkS!fVR$g z{w=ZWAdZH#e~Zb^JJBNPkaob)U6ehnRdha$5-ksF^PNjHaq+MgS*BVP)rp41-ghrf zJT~1DVH8Qv>Mh1^9CG7wC1(DmuPrYt61!JrWZEKfK83*V$@OXtwIwKu@#j=)us0pzaQ0V`_AS) zC~P%9(NA?3C5~y8^F_GOi~kuUVvlLV0wxcl!qG~Di8x43#P5lt$Fw?*N+R!ZtwOy6 zUNnpOez^uSdx{QZ5E4yEaEgf5rH+)>eat~5B!PtVkV4Kziay7+aNkn#$ZZu(QmL(m ziFU`daIx#S<|)KY9VE!f@NQ-hSeJrO>B0d!c&L8%;teq zLd?t5T#f{BArspnoubKH;}Rr=)zGKb_bg(0Uh?ckEL=kty9O1zi7fW>>Y!n5owRog zD$?SALica8$tRaSgBmC;rYVIdAbfWK`fs%EpF-&{m#JrNJny!>{TxE>mcHA9q8?(? zhn~09^U8FwI!h~2bf0?Pp`M$ji{G=f%C%DQ&a>Dyd8`a;TCTg}NWyT$+^u$Z5QY0v zxaZyO6z(KypU@JVTO!1?6I#`f4^cdQ8pbA8YF7h!5^Lm5eIzK@kuSR;u+rG#s0H;9^fYy1Daan=_nT3KS`W9sg-f$ z6;DoTVU9_n^eHW*SuV^gv8mCqsU2V{j~DYs)&()CN7N#rH!iv!|Qp6Qo5it4Ae zNau?|qStAyQgZo`h);|1t||KldRh_=Hdd=d)BrC<4X4H4ThE7SmXr$DS7Sz_kc-&! z#i!iY&tWNqob*VWoEs<*~h|ca`xHfR5#_E5?@duyf|^d?{>DARZ&(N`|+rPAZeJrTZMJKXK?B(S`*Xz zFh{izsaQ))TBwebCd*V}A)Q^Qtg-6FMb6lB_p^!BHFql^A)aNZ2|lktGEwa`g8+k3 zwLheNCN4}py2j&bW%-I$XpTvS4aB3B#jxM8Jfw=Be#e~KTb%t}>*stCE}EUetbHeCFMxKXvu#Il}w|cow#^btKqyKD*VpDbbC}?JkOt0-BDh2 zKBtA|t$f{)3nz6aorC@xtBXJW)hc(7;~5M)t_q#RhlK!j)Q%{St8kGf1qgs}5CbafEviIAIUfDCmPV=d{qLCP z>IwDf;ic6n^z4@~m{J3t@-7a*qgZr7E0Hi79bKOk#wXE7-lqhQu%XQJB4TLX1?h?+ z#VV4lnOh@|>#dNIICd%yES4A1HQ|rDs8z0b4>dsD8Ve#VNAc7f(gLy-br?-K33^2# zE@~m#xBeV?iX-Jz?@HSskImku@@>TOD^C_vhNIgOd!Ee~$O`m|yoZV?K;hH?|38Uz zNk3Up_*~Mad#x;oukaq$^cUY>!mNx%{Su7*hQe`KtLyL*^)G8RoySAP(97_Hd>bmh zysQQLpTvPFrTV|9PO6Qb;_zjRs;(mRiWcSES6OttqPAn%X1Z&L-45r!;yjv;J<<}OZ@Eyc7A4`;0-(UR4Y_py<;OQOl(|blvgBhA-YpK zh8jE~3FCBT%*i5-eIVCnHraW^`P@BtPc`FOy z)PM)qiF8R{TUtci)~0yP2;y6R0>r`FT6sr1asM`kC2ohhqcw8UEvt86!K@4v^X|Y+ znJjkP!ABTt*yqbL(g{uWhz96{G*WSTUryEa17$=xQQ)o?UiEwQH&n>vkHT{28Wr3o z6?KO)tS`b$WJEo4rJNxnYDo*x?XK1hM@zTg)uLN|0B{(ea{2C$YAw#jS{zjzve08# z#1~}!+xz~+QdFT)%|fYyc4Ic5C+hv7Rj7FsZK$82>P2FnVjChc_0|oDDIDB{mtS3A z3Ps_%++GtPX8)o2zu|qJDh_K?K6DSnV2`$T=qf}JmW`VzF0{wlvX{)bjJd1z2( z_QVhK)1J>YEPpy~i9j#jLOWL2DoIDueQ$c_!d6gP%%Bhq)NW^ZpngH&L>b;q;g$%S zt2{P}g2+6`z@bg#bq97T?`@K`BMxThr*DEOp^BQgtBccQXreP4?hRKAfKzZv?9 z$81D}9zm_71*|+Rr_5$(Z|jshE!mK>98md!2MExP4 z#N8tFVVo;t*DLzyUfCA;A=(}pVPo(iGP;*b41b7> zI*O@yExs<7HILo}nDq^@>!DUYaI7uvEL^V;v;MSr{!lBO+yarP3g@Wus5;W;5qaHG z^NgpZguB*`GU%p@LA_fX^u8uNh3L~j*L%9KG*<;mrui@lFL#GhD2_sXDAa^PohcMe zAxy=4^fxHfGMR$qDAI_Dt{^53M!Jf`mdI9mk#jZL6n(cy2cZq>!;;8WAb zCZPjNL=x&Qe){(qiwZPEbtfva+L%lH{I?dKysI>-U_Oofw3yozo`JC3sasOlXb`=^ zLmo|wGq`gD3-W}t6B8qfPvx2iV+EH>pzO36OwU9-@0LKcEW?|(;6H%VAVaT55hw#k zH1XD}Acjh`yO>N^67lXu&DeeRLnZtV<)h5@dl6^uu=v!NzGBHEZBCWvs5qte1)f)F zl<<}puo4!)sBJ_=CPhV;f3(V7HsV$P`#5WTiNd!KmRi5WY|HabhW_!Nto8F>S?ejs zq}HWjC@HNUQmeAooBPVb|JYYt`bP_FG9T|!NgP*9xgj+SEh?ElKqMwix#-I_2Jm|h z4Sg$04J(Q0$6Bl-kC^ya>rkbGKWoJbZi z%X;}tJb$8 zMs#GHH-T{X+h3>}Y20P!W%cy6ZHQvne0nDB9^e%VFhg|zFrC&{Eczi`l8pn|d-T>Q ziDb(zTzKlcn38XI#~)PcOkb|lo&ogm-HpfAqJ(e%eU21qF@t4vGa3CgMVF-Lvxv?) zT59mFcT5GW0s8dXG^=D!r1jV}xk0YNQ$9gRA0h7kt5qqNkH@el@cqu;1io`boo6^g zc`l#m{Y(q5y)GYwp+&yL(q!$!m=I}w)YnlTz!KD$$IvBqBZ{5RwBiMS`-fuAjq=ft zgo-QA;O76DjRSTCgx|sR5Fkh3OgFg*$mnS^(zzQJJ1Bd@D(Xn&Hll(|cvD(OH(~WF zD})_ZvN*Z8OOjV_WM1i!(PLn7<9$@YWK?Sm6xClquFSe9vR0T&+~%zPWY%9Epb?O* zM;YQ_OEU zlEUDQ8Rtj}#U}7VM^bg?y0YSkBdJWKt%Z3tfPvew6|%$Zf*mIM<(PV~cwE^9MlrTn zD2h0fN;DX^9lKg-064U=x>=uRW7MIb*I+o1N6aim%8A&NC*;|>?G$~TN##o2s6?yG z$im>J{oB*>wH%7tTP$-X#g^eqPi(wawi29t>ls7$#ZclPtp+l>g-#2lWG@v|FIIN z@_SP($eT3YF-ipGOR8REBjzK{PQ^~$+%aF$I}XPuVv~1LXma0wk7FYaer(#u%cFO| zD}8#<7Eh|)5a{i56%DLVo&4Y?y9dT&%vGEU`9Ejx0hh%Q^pE?TqJV`WC{|FxUa(+C z#R>}6J!9`ZcEPUL6%o6REtbS2_O94sSJc=`;2|0{#(0QbV~OSd-`PEi<<0N?zkWWr zcYCwDv$L}^v$M1N7!jE0>^_OJ$DvG#2 zxy#=x;rn0w{l3wOZn=t|d+m9O{K+SRQ@2ezGQ}!vLBE=?5{d~d%Fngcb6$R~sGiF^ zOC_BDgN#9{insj;YtCToLQBbzvT??S5JlSWL+GKK@WzzQ<}Ql4IdPMq$}_G9U|7$& zi*?%V9Q4>-K$JYDPC3PP$6#rkX5T`&JwUSt6zn0qole3KAfo!OqEv2H=6TNbIWv=|djjO>gpI-i45F zKJn5PPI>Z+vf4lQC?vlqferj&`9-*PFOw?1BR*Ymzk6J~097s^Iuxk)5+LSw-t(=L< zJvY?KIfByIX$wV};s9)qY#K7AqDN5&BS?aLdXrumE6-7B%Yw1qg+xZ1_mp1P2JvJM zPxKVuF3`%s(HWXXkF6@l?w3RgDlB}pcrWT*STxG){1m`Zw5za~ftxo2i-;>uD;^`O zIOZE&EF|(!d0&xV+nT_|JgJATXlffxJAFkZt=L1VRRlxr=qDCw?vH4dpYXKJpxu6= zUglYF_ZhY6qo3%mML(poB>*?6sEF6@=A`z;MA0H+t}|1f~qyJ%VaghBkR>>-wzTZA5!9C?u;%Xx|2bC)=3VJ-jAf%CiEv}o_scUJ`QM+)0 zj+6$EJ5lK}qOi+_t;z%nIEe?NIdv=}D*KE&rnkpAAjYU0?PzBi zF<4vwg8a$~pIjqOVVc|ChajMkBa^_4uZ_D`seM_|OxtmoHkB3m;0HKeR*ZK#eTV1$ z9|*~6R!*#Ro_$xn#+|3v<-|H$7_Igf^KI3sVtEmy?Y&CF%Zr-sb-$N<;vSX~iL#VV zlotV+LvVlr8&GC>@lEc(S-$|e^u)Px@shm4GN*&F_ac*n&oD=WCtt%jSX4pyWuJsn zVF;+=tjZLJtW3?3MM337MG(lhq6qMCf9Gbyit`{mYZC%9^GkSZ39z`5C`gAYin=&j zX{!W98cKyK3Ea?lni^LUzHS%bpO_H%=B+Hg24)eL@}X6gL~aB(#8wi8Jg%`~g0J2+ zLwGht+V2n2!%CvK_T~fS3J~6YBMva)k_UNv{LMM_iaiYVYwpPV>m0QU5P8d1MP(tA z;~c}Py^eU2>bKv)C2*=5W0|UlaH=|M?Dqk}X4B4mpdTxXsi4y(pZJ)h=$2Ry4q?#7pqQt`1W_2103 z1gxJdZH5Xl$|g8_UbcA~j#i_SYG*yyckF`9Z^i95RQbI*e>B`@z_C3)4^+=Ow>e+I zhw$?>^=xw4NM}`8mj&d9ls%+{QtlXeSWLm~2@IHgV9bSblgaQo$xV6wXnlYrfK)X8 zJA}WQlKvW;{^yI#+BkwLqh&?U!3fTv^vVt=(3~$tL8q& zdhn4VL$lQ>24ckX)WQCDgB2Xxt3$+8 zrYtpJ#vtmWhNz)kI7NeNi0Zcav=Ohi)^xuH1VCZRR}-SEHC3r8N@Tr(VN1@+99NjW ztts;7*v%O^aRUNNkK(kbrYOd{X(-~`gFj`Imm{PXNrjCj{2?D#GLPQZ6hUsyZsv)x@HBF` zIVszoggawnXJc*ApwJ5J5i-^bWqLB{zSWB z&c@lJJPj-z-3R;6=w!w71j_~1K*gB#LC{i>?)XDhU5v4C^d=TuS?~l-m zAW_XZ*4j|pnul%$iK^uy!srtW9@9bKb+Eb?o3d>hpB5_;iv66Ob>?$ zFGi%U@Co}BD{9_LIhpLu^&Mn~D_%G!l{5~9j;i=Iz1R=pJW0|lwG~OdDMvj~0ct1+ ziI%j1BI=2r&O2c4an&1g$Np7M1ler4V~aKrLv2oLS+($TgVr<@UA5{jY58Q)h?+DK zb=?N-PIY7e<`md+Wg{`MQjFy@y7#@DhSSa|*;ZWbsLw$mId^$J7vEnPTx4uqN3DWI zoh(a%t+93=EejS!5rBR)Sd?hplIK4VsLnkBhU^>cWx47QomJbgC8&vyb)&Pf@G7A2 zR1Sej9I~{Fr8L$Kj#wwlgA7VFbfh{VB3IRhSnjf$0oDGxTq0Y4sFVZe$KVZ(_B@Eu zN%6o|{YNeVjn#)}b_o19tv0az{((bIcMzI5LlqviRCid7$$Chs@y4&EqS=3CN)^2T&?c7|{v)M}04=uzc?aWq+XeoZQRiJ#W z#1%vxKW-(y%k*pwCepJGq9pATSe&h*$3iqfU~wf~4A*unp-sA2i1Wokt;GRb9s1B( z{9<#b1K)_F+L84%zKuA9)8~P0MQ82yFSN3)2!#+!ZYvII_jc3zcJR-+(t!5jy>|B( z`nCgBeH~+OcMy4P+LhzCIa$(GF2`t(O>}y<0~0 zdW%L_DMt4eC2hTFPjAt!QKlc5FZjyD=vlr;B&xV22GMbQQ8xnR0`a(7J^JHus(R!| zx_;`>6_3rfQs+J*mo|MN1q~K?Oa2aQou8Fn#DF+7!4r16`Nc%8A})F7#crPf~U4 zP#gJZXkSrV`*jcP>?<1P^xVvI@t|)VP-DLv*H<1F2#OAlCpPhifbBH6ABOwZZd%n( zG|A}>n;q^TRO=%bD1Rb8?n6H@&f@?g?YN#JsA4~kv}7>0U8LFHiq_TIEN0XW%G*!W zim0K?VNW8gQGXRjS;2y0Jk*NBhYIu;qf2${&GRpN8TS+`e%Df7@ImXOTk!4JfDx`i z$NGx_nR9A*cBFs-VsJ5Ha}I4YR>9S7!Rnp5kaIq5dkCEyfK}i(^!ETbB@k7RYoI8q z-CjYp24ZG8)3AXs&%ghjRtyv+i~jusmYr9OC-YgxoY-gK0ZJ`g2MWX;gOW3iLiBK; zD9e_>AkkQh|CM?V5`kC=|2Rmr$k`BP$EQeDBB#N^FJ}(a85+~yw>jc(u(mLbUod|M z!>Ye}mcAV^Zb@sA!xkJdy<;Gwb5DXl>Cpu;7t6`Z!dSE95-|m9zi%s)j=(uTI*+@oNwP zZ2>27W>aODDC$-!C1XF_j93W7(bQq0HZBZ3IZRB*)q5qXea_65u|fI2FvC$rvmdB^ zxG3wn6WN~+;VN1g4&}RJ9~}%Ar9H)0K)|T@WXnk;PF^ zJyqSgFjZX-REL_f1AF65B)1V0=+$n#JcmVnz^iSJ9On-%&Jc7D;OX)lBfH_sZIn>O6C2|B5wliI;57gmZYuvY zKRc-BgZ%s!Di$!?`1w)HrAU5R%P)8EA*nUGCOtOB_b_~umdaP075Nh{w;|z@qNI@z zmyR)!0V3sVoKYVDEI(>mX(cZ38%ihf-NpQ+Fy}PkDh^vYuAD;?M~U2?YiFSNC$e~u zF_$)v628vu8F!T5d53-Oyh*^bQj_` zd5Cdi3UwPN3YV|S*=il8_MPDFII$&k~%`d-NFZP?Xdz|pE+Gr+ZR!f%T7#~NY zDqgwGxmE=;taJiW)!F2s{CzML7%xgXHLyMhQuFb!+jG$f~hJkqg$L=|fm#B&~i8sk{~jx8ltWoOc4NL-o3xUw7j*+2Y-q zoUvAZk2AukPNb+9xo;YmmRm|3t;7p}qF8cbJzxbzDCwm^tXq3Y(|ht{49HMZ3d5)d z>?(jlM?KbF(yK$Pm8|H8eeIPip#`%t2(bQl1f`?}IMMS+Q7eB3WJ*zc-)I4N7OqLt z6?_ndP7u|!pI6fK38J<3WD(t(fK3Zm%03agsvcFJD9T1w+9(_6`uBC0*j1=5u{%&t zwcd)yyp-xnmNej53fMsb&$fVzO5kKIxfpO_AH+Yrq$$9)AFwN|b|U5YJoE=oh-#Jl zpDWuc+$&3(#=%Z9CyIbZBUhu)SNvW8& zsCO=V9HRER$<6Hv;5=+@52Z1aFtK}${&WFZIg(a25~bsQ2}QF2myDN;RkF1SJVcu)!Pr_fo@FT7XG#dt?_8snbFb7m_Xv} znO62OnH^{3#d;E<4m4^q*8UY~*<{f%^1~iRA29>b4iE5{vY12_ckyZr|B&!QB;6i8?bL;jcFNwy$82xZpT64>dLk;xz=viGiXI5A%GgF%|oL>#5yT zthWx0r3q7ohqi7kEk<^>k&}4)bBZiV{?8lw7H9*j2-5<4d=XFizz?5xJ^E)xEO~2% zU!oz;8|JkYqWsfD01jWZoQ6P%7hCA}X<{rQ5ZX)^y|hEq>Bw~9t!=(acczOPxqJ@8 zUug@k8XR>S94SMMj~U-mg&AT^nW(~u-!G~(iZaa- zfu7Ne81iITq4)R*nHL)Mr%{Yr&k`jo9*nqz@TXLZl6gMQTc-?$kUS4hQcsXLH|9+F z-;?9H>fbNW&RL?9Eh*ML1`!B;9i!MR!FD7LRvOm_qTLwJaaLZi^xzm=fJauRp(qBRD<6SiFSDi4VWv+W?VDmlKjbI z+A&x7IrSXEy~OWa((Sooo~=C%ohM@1pr0@5YmbQr&le?2@4#GR$28)EtEz4Mxr3Nk z_l=S0I``<(X_cNnO{eCI&~nQ{j*JX~F_g0FIfJ3q)H)JiJ*Ts(U)CV$#9XG*02skQyx% zMY3KQfEwioFN#=*sGJ3MFq+cF1y;dsBaRS%e{Hl^%_E83*T+ju}`6^2dP;3`)NmdWotn68UXQ zsP!TdRz2yYLir9-$%^-l-=HCtfBRfYCT=p2YV)@mVG+XYMl|RGmj1mWloO_pr{1t{4*a zIHbfYssF<{D1~`2I<~@c@snojLH6%pDQ1uLUkP8lcDWl3SS4y^9y$uO)S|7cgjZyl z^P02Ij4pz^uqNRz^wTZCAqk(nPDTuoVAdeH-w{GAX=oAu%S+ z1Btgs{XvlhTCV-$=@&d;Zc$7H8 zJ*1qKN%h%ohzab;HNBZ3(fm!JSuzdHi+3fORk?UfU^Rxlfdyf5jZGGwgSyIEeE3UF z3!f&bcsgOd`i6czLC1tQ6d zt*M63Z{$J~yBE7@<&UC}b9PJ{7KPUb(3u}afOe?Q;-5r^$U4$Ukrkh;C8cRCPbP-Bzz;ohJpwCc&BVkjh~vzQ5h9(V?88p4#15O`K}WqAdR!3 zn9pi@Rh3v-6SPz%)r;d@6sq|?LDj+(fxuFz(d?gvtF0`p`dJif{2PoK%hYWjC<${d zr)<1q0d5@Ew_{8&w^I*So@CD)7&!*=jgj-SnnX0rI#C%rVvW{`HtruR8znlRNhz)_ zy9;e!Cvvu3g4*PfR6ZWar(3zIyD%l>QPjfRbhKwFKP1RcW~M_F;UJJJ66oNW2Fq3O zCYfZ*|=^{ot75O zTp>ktz2B}frSN-FUUhW39ECXJ)^^&uUIb*_CUL-S3f6y5)(bD!ttlD%abzb04(R6I zfB>Wmb7}Af(aH5CdckZ_Ty22EQNBTlu#&K)uub}{8}}H8oN;jgVu9e8eAZgwU0iuT z|FmAMAd;)rYx

        2. TsWT}yl_z;qWeql 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

          D>}Bv zZ2se41OM@BHvjSeJ}3ESZT@4M|M-B-f1JT3Zu1{UqmR9CclnRWhGp{~$LDPRV_*Sd z`viw|JvglEp1R_!-vWOhqd&j)FZ-@Ii95djz?D^-4h%&b55&CfbUyJzqy0cETCa|6 z{$r=je+)h+)=%%0_~jUjPgi5@Fj(%wUJd7^YOEawcNZ|WDh|Jz{jp^C9=Vsb|MgQr z#g$gGqd$`~yr)}WdRTW_XAn9omChRItlVMh?2aXSl+NzgPgR;ackap5*_&HuNa-YA zz>rmEZ;!lB=nN^HmAk+T$neat_+{AGCX#)*byg{z#0ywu)!CQUS!L>cd{F9)c8lk* z63=09#}#MgmflzuJ%`;_oU4iNc-NIxt9SKAt9Bjo+Wg1qeqr+;%e9w)58S~v|8XqY z8IjNJq1R6Z)HBw+*U0 zDpTj9kxZRkxpkV{+%3>~Yu?e(Or5vjuC@7(ZT@4M|M+iy8n*DRhrzopxYS1=2j_YX zIO7`+V61>OG2&higL}OiGU3OBWZ+*9gMXbBy>UGV=Wrq&c-X@?@UZvGcZL|}$ae;f za{}s}LF1eN#yRqxfpJb}dYogvhibN9oMYvLy~TTo#yOeqA*Ivu9;$g1;~cBbTfB#C z{$sD`A6hp!i>uUeKaOkF@je_ks$=w_&;~DeqrcSdm3>G<9}0Dl&)@%kt%k<6=tCO% zkj;M#j-N%$fBgU1{KqMdVmIC^S_XeofgCe=)4W%1#j!i1bK~~+2k=Wa|FO+~oWav| zo1D6-z1KFM!YaYn%Vr z=066oKDGD6=0CnO?kt=Ccp}N~qW>D3|5$uG@`Mdl+79xT$$h3CHa!>D3S&0^@!jVl zNzLDE?$1Tf{h6A-*=@Dx+bT7Gv)gLXw^eHXX1CR%Z>!Y&&E`M0`HyY><7p1ufm~xz zd|X!EuUq-BvH6efIUK`Uy~VGk?vng>sWrH}{7tm^BtJfLIJ>Rxep}tEIh@^AcfYOf z)f~=ltGnM;_i7Gjx7FQmD|-%S^B<>t*xVNXvB!veJX(^ezUax#OU%XEf%LJ-iI;d) z0(&;Rv7|?F0|V2@)t(JKPmXg?}%GDnSn(pF!ZGb>G~`1$-J|8vfXO!g?O^vR-WvFLWv0lPqtgtpJ%D6 zKM&PaGHKQ$cky&Se4%=j9L`#v$t6lYR~7cu;&avQQuUZxAJYxZZOvn$dgPL$`VMf1 zf``?vyOeE7yUn_zbtJp)Ok2#I^*fV?+J0tfpYWa4oym1=*WI1h9gUgoXZC|Vvowa4 zb!X-5_8E>PzV!Fcmz%R&SKnFU?AEQE-9GjG1829czO(KninIHM@2qt^l$*0#j)(Xq z;_T*D&Tex&WZ9#m=Sj})q*s2=XLQ}*ZfhR7zq4i@PRhgjt?;D%KbT`KSDtfvhQE5;2L}N=vc^GcJ^{i zKRbN@c$rR?cPV*DE9}IsG>o-FtcyZDR<<42vF~47eV>mfiAOv+ktBci6f#HYb&Yct zXVVxr^BA2wHS``_=fU-<>oBGcL61x5Ddr*_uA|VU(idi>Z@5MJtn^*CNZ*i^zIVa&T7>Gi;B%$d9jYx}W1qdOmw)9la~90^q7CNIW_+srf=i3U zJlb$9PdgrSX`}d!<9rCe{rK&}ZxFu${Py72k6#~tz4-Ou*NxwH{JQYlieD#w$Dm^* z77M&Top1st<-&7|>kcTSJ^D zF?~Vzc;fE7yo8gDM`p+M!0+jLS*u%*OzC>yA@q-m@##~vmlp2?mg4evm17E{c(`@% zJhEeye<2;Xyz}h{X1N|nXr8juN4>^t%omKK%%poMd;c2GFVd!b5gN}&rZ^8way^pZ z-pFZQ5E1uR9K6W={)-QBzWgEGv-}~iZ}~$7;0A|Ix(C8;5>I$=wsJ-TFSv&L;RrcG z9ifiUgV2L8I5~YmafNSE_q|_O{^?zk=QIr7+=Gwt0p+BX$sQu~Kb3k*wV8#_Au2#k2*wd)Fj+=4dyVfgI9F9Fzn(KKp z&OqF56^CQbUd?sPj0+=fhl<0oXP4%B&WvkD+!hswW6w6tHEzbON8AP#hhtBN=F(9X zO>vUbF)vr#+9-$iRQi}7P{$~PR+~P)7u?;tCzHF|owqP|cQe{jXXrPm|4x*Pcc}Yg z=ib>=0}wOHtokm%r(It4y4utlp=*Jg$8uW}f>FVBfO-i)))|+Fe41 za(l7wS!b`kGwIXNyPyX$AND_A74u=7qYb?kUfzxSX?Cm-_tOQLPwkzie%;L`v_cu` zT?W$c4!AbqJ~!e%NhisCdjqanys^YN+Sj`y;CeGA@3jl(zFh&=M%>#*b#Gm0XYUrs z=-y7sdn1`|TflYoQFx=wcq8|`|?9p+W1{= z-j^TsQ&KUAH0k@QgRHb_P`n4A8%XN-oXW>vhx#em{awBR_q<-!Sq6XiiG6`;)KSTf zZ}2zw$@>oCymZ$$#C=zz-qz#(f~cR8EpKpoM}*tI`BOHf6$T(H-S&n^7bF=#wE@&o z3Ahnf()qN8S2uVNAS(qoLj36K;+@~l*tPiIf89a#LOj~RNllwnaUEH4m8VB}Ld9*) ziVK5(`?QLC#1dBrowesic^Tcqt6CxDu@ZR%slEGUdkg+<=w450X5@X6tPDD@b_?#M zxoVu3Lk~SK&5kc%Q2f20u7@6K%VsvQlIj>?3CTB{euFoYuGh6fDi_I`&%7b^cS`*v zYdQA@-$?1YP*+Od55^;+&(ZmY)8|Ef((%SK=Xs3(^0T52alYx?d5)L%Tt#GbY;yFa zNMiIvWPSciu?_hrVs+qgTKDpIIdP}0d*w2CD1Lmc?d5NPqXOY8e~f$o@wK%tzrjzB zo{UV5jz%`-pNzHS$6}Qvf8|R&(0=KsO)sA>Zov7vQ{Ut3CWfP7y7tt!c-zEaG(_o6 zeTA=`=!+VZ_SD7VCidz(Z)3f`iT&m~Z;xnfeq=N_58ZW79rGuT;U~s|$K_a%{orav zL__NM+*-6%+w&Tmj6_5APru|}`|?YEo#LbE__Z&WutX#hYB&(}uYEDdx$G7cT({n{EF@DToEOvcu zGi#-O-1^+Ozxla{f99s?qayvftn|}2P5+WezdkE{_3m+havVR@2i;5Ca~i98;)K8T z75s4C`br54?^WlojI-J&t#Np@&^@=Z4O1g0MY%Sra^Yipt?3lXHFDCR@@#lz#NT>w z#82thHL;f9jvMo>+-cQa0`Bf~zEzJ~QSaYF4AvA8AW|h$h4?C(I)MaRNjct({Xyl-$pvAKTI6gs*m*ZWPiW7 z$Lfy$Sj~|=Jh^9&IIrp0BgzZC8>;Dk@otRw$25E6$^5_sN(RJlxHb-Q6Nxu%kOxdANrsdwRrqWk-+5 zlj;L6y=(Dq)4sl;=R4BV^>0} zqHFpBtmE;77C6|+lbxL+U7({gw(8(kp4_@soUiKGD)a1Mo6%dY#XFH_=UHtP9dAY7 zI=C=*_al#<)#6=U?2&C}wF)>HLxB zkID13Y@Idz`mFTpRr<9r%Jl0~>0c7pZ(J|iyyHwzm6EA7h zx7tsi5WX=fP2yLP()MlMCT4L%#0Y)rKU5-TQ>_ao9m@{H>6?f!05EUr#o-2_!`sYUS z&o8U{JbL|U#@d$MFT(YKpa?gveprOp5KmQU> zzVwplZ|gf=ihbjcg}i6u^Cx-o-4?- z9Zj~~7mi1%?KZxN5ckpk<>S$xTou>$ZO+Q;|M^=X@9)gY>!1Eb$oFi`$}9QjQxOLH z!^G*M*EcgZ(DnQjPfksVd)eGECGKVYA0S`U#m2A8`)L0oc^{j9+%e7*{3!RAc)vPGan^D|!4S!8f_l^Yd%#U%ukpxFrti&hhv5t({?9bMMWAMw?3cARlJt{-LYiB{jZ$D)(PDu!gGF%>v8^C(6#PVrp^tg zj&Y1#L|v@yI2PMFVOcVvFOy%@lY%3yOrvD{8*rs>KkJon*THQw|I)i-)q}A z!CFP#{w??TM7y`Gcu0ip)pa7=yl#^SJG*;Dxb>+6BJ4VPOoZF1KcH`RlfKqX6O5h_ zs;@RTbI~&*>W-cZ^b2u}=Ysm?daBFcX>!fHF0OBFdpWbtzWfJ5-qZf_37$N0Le$*` z^!aanTgZDiXUL~w-~T^_ystAuJ}vs?26{%Glg~)|n*Z=nyLcXUf>)wb19AzHZ{&ME?D4vmS#@zYh85!(;`Nn6Y_3OwNbm6N3(Qp%hLJS3z^Tvju$fP>f!$!jkf-mXmstLK|>hfpN##r=&!AK_ScC1D$m!fn_wyK+kIm+ADUoeX)e|^z@^uTbq?nx;-;+o zH2Bd3@9$VFx$kI5a21ZdeyUEbb3FXiSSFwD{(VyCzO>Fd=&V;dABIlB+b4AHizW9f zo%>!tRd4Ei`e>%kq1-wfl+IS@Yj*Qs;-{-)=dTIlisO`?mhT`@9bC+j{VMH$Jt`OSXWzy;@;4g}b%FR2%l^ zE=RR0M;*#hZ7oNCx*XMJId<>MteZWOCo!83x<=`&hfcwpXYxVsQ98i~U1REeVt=O2 zf!sR7N@oLfhOHda18MHXu+mwxcPLZmU~ZkYN@pW<)>?HArgheuI-eYtI#2YAZ)pv< zo2z$Uan@|XIGnzd{a2hVc$RDSURl+$cOY83chpPo#+oDFHa6@XjncfIj+2)LtR~Q*6!~2hR}A^yR<^G;Z*Oiv|)Gda@hRa&P#WTe_QZvgMYhO@NY-F z)TWh(zh<=TibTmaL&r@oWX^#q(T0_~-hoZ$XW%No;;h=y?KRML!ELZ9QMkp@hMl>2 z!~?1?R-!KktUThKJ@Op|ZgP`bv~o*NX8%^)qD*icOI~*3$~HNUL(oawqVoMr9LL>K zr-fTI_-JpYPQ@*nt<&T2`7zQ(b>29EdXZf$yw<{_F>cejA+bM12ltQq0M_@Y8u97N z^lf*dT*=Nu;+yO|l;+A_jecbI&DGR5pEY@J583?Nu%7-qo}qN##282M^HN`GL?0qP z;s%5?mJw}&e$-&;M-AvlLXJMvVCh2*=tDw|{?lOTKMm+VLXN)EVCg#z=sQA=e$!y- zHx1}FLXJMuVCgdr7VhK*^p|?vE&rg5FwhiIG;KwU`gWQ@T&)8h>D{Z_vP;|wd$@h!NMX`GSCovd_P z-f#7fVw_>sc?<4j8fV;^!yV%ctIk_+xYIa;-ftvXC6bb>S5`W_14{o`Izz*Zs5TZS^gHx65aZ$SWd zOW1nIzC6!9FZ=>sSu#CWVYue<*wmbUmR(@8ju|!?zd#G&_c@pPGZ zp%^o3h4lO;F2}UQqUXp=?fuW#2UBF|_t|ZwDNZ`#qf7E4+3yO|T={t}ylXX#0mM5N z{Z1#`G$6M3XwMSuyP@}6=Kcq}t%UD^Mb=iSz5n)ewdmi0slESpTP^ywO6~o(+iKCb zRci0Q&A)B)Z)4nI^Ka9>%@4rchRJeLmvfFx?tX=?svx7DI=tJM6>ZmUJ#R;l@$-Bydf zty1$hyR8;|Tczf2Hve{ttHy2hpK5YtVf>fo$}-1)w7!wH3F~e>y-uL#Ui)yWbs`%7 zIj!qZdU_oyy>=+qJj$oEbGn9o8>}!y`{TtPc;(;7!zY-gYm+(SQv4b`M0@PTo_cj1 zc3PUCopnJzR=uTt|kAv=WupgDGtfI*jD#y4rjO3-EXUV zHHWj?>h8DIy_&<>ZFTqC>R!#^?6$i5ZDr5lJ{J7jAI%)@9`J7yrt#MN+rWqtPKxJR z!&-R<|A?Qoyp3r6&2FPKudaNi%(^3<_g{Y-(VWe0qs84uG*`3RXmPg@&C%>OTHI|! zb2Gb*7Iz!boJ_Wnl~2CFaAf#x$;~Hk`fVXTdAF5M-du|UpL}{PO7Y3xFs`%m*3+0A zzG=k%Fu7-i_MDl#^~5KyTlwTo-g@jgOY_z%K6%AkKco8$p23Zudt7JcL1PBp>Kn$) z1LL}M9;R;?!f2(})m-lM9}CU3pDuI3BffLnB! z>ti|MQtN6t;!^8zi=We8Y^S@;|D51hFuBN`#H9_sIGU>v_c8GupXS;;sUlg?+s;X* zIln#aJ~PLh`uuW=aB1_{T*Ky>jQ+d&YcAb2Ima%ZqU*Kdf{UYy z`(7`fx$OGveKSt(yjY-Vu~^~z)BlKlgiP}aZaZf&zbLr96KBQ!cy%7nce@e=vrA_R z66Y^)uRrd}e;{$++kBGa`unhFk@i$O931zehdBGm)%$eGQ;K~z*Bt0Oa;+4cN#K4b z-f=(6)b+lngIicve5^Y0v4V4X-d7NO%U4)EUr-S7=z2WQ z?M~=k)K|V6JRHES2|#y^z=RW#D7w+#tSfhg0_x zx3>3wkDt4B!A+@Q(Rjw^t)}Z->N*fXU(@q(o!2Y)NqL^f@640wT}VHTd$Z=_G4m-b zydk{@>8E_lMS7po@1yi9pnv)D8`ArbKH)17>6fVVODO$=NMBNNL;591Kj|wK=?heP zozg#q^giDW>2;(}VqfXHZ+vG{68;UYUigdeQQtAk=yiLz!>w`bpA}qPNv%MHUU0hL zy*1_BP#Rl`W5<%xDffml?6WP7K0W>iP0ojOUa+h*mef{?b9Z?GFI-j@bKb9O?oSnH z&JI21?!X)y{s5LA`{w4PRt#=S;?tOZ$N7-P+z8#})NdZU3KwT$|GpFDi0dU%23`{C ze{PZ$kgVrwo+X{vtz;@49+7L_r6nw`>$ncrXhn?p(H#$Xybj#I^S&Y;*N_+-rywg4 z`(hpBv;pTJc+WWZWS#r6&X;7J>o|Abr+X93YcR*k>n0gPtwiZ;ZJ3eVhxPNr_8X#wNkoB98HJ-bdHX zpPek4|4OA_$pe|?UrFUb`9DP=%3n$$%Ks3BC_g&3DF1^Lma&QD6b9JD z3VN35$I6PnMg9;RWkr7yhu@4i{Aa}BM2S+$iqs%l2f}1d7aX)$aLdMXdf zT}L6xT}vU#9i|ZFuAva+uBNboO;l0X#3n+H_M&f7o6EMRK0tke`ULe2>Lb)wsLxQ} zp*}=?iTV`vE$U;`*Qn1?-=jWAeUbVk^-b!d)K{s`Qs1RMOnsU9H1%!jGw+g zW;;0glzt^AUjU-t_AC8LPF$8kzDMa-a^hqa@&TnkU+O3BRv{l$`jvdWDc`5`D>?al z5b5_T{Yu_$%7>JG42r0pH=FWdrC-TAP5Fq@ujE@z`5~oW$-7K>MCr#Miu7+c<)cc! zl6RZ(F{NM0drbLJrC-T=P5HRe5Bew4-)G8?Dg8>`Z_1A={Yt*alt-0*B_A;5FDd=t zBqjaCLoDj^gwn6%#9=JtCzXCBC*D?)vqJYJH=l2!F;ratUMoFsLu_K0LOid}P>APs zghD*82Pwq!dWb?iug_A5=QTnhp4Y<^;&~mVu$fI9p>PeG7^AS2O?;ZdHa2mT!u4$8 zGZezd$2f)UY(l4SGn;Tz*vTe56mAvc_^$W5Fejk%K8)un>}3;6DC}VqJ_@_RHb>!h z@*RY*pG^!=xSvfNpl~0Xc#gtBHgSx?0XFeGg?rdUrz587S=EpE9ie#CgDVCM-^>pa z#>@}S8Yk)aO3aw~(Uft5j{o9>G4qqS@e&=s6E$Y8o;0F#{8z_}nZJC=I8Mj!9yMmJ zA2*KC@y|w$nfJzxaXN;7r$-)^RO$e1Y_FFT)Q>yR3`CnVue_R~{D+$#D6&3`?n=3U^+Q&U93DYR3H(Zq^Jxh3%U00EPRJ2IXB&$NMy61%-o}Q9|K>W;{sY9;88eO6j;? zGajO_Pcv3h*sB@zJ^U1oAA?UT8vn=5dsp}Umb&jt*84tpJ-Y1l^=Q$V>(Tort_!Z` z;>qjL`(L>p^`E*Pec(mN=)PXQ9$oSL^=Qcp*P{=91~R&j=dMTRRUQu=xgK5l>Fd!? z9ljpDs`3-<_bl{31N{e~|A4%%0PRuykZkv{hf1}APZ`?J^^X3OdrtB_Ai zIa?;>5mSC%=~wa*Q~s*bujGeJ`30q4$%jn&jM9%it(5PuDZi-nD>=Q>#r?dl^eZ`i zON9J$O23lRw?xQ4uk_z1_0zXX$lp-iKh}U&&XR^2`Y0Cdz=~r@AMq{*B)fnx97^7iKzBI-qIgM#XF-CLzQsuAWNsh76k<|O{S4H0@8OBYY7PcUj&V27tTm)l3$3Ln3 zEqX>U7EHbG{#oidgmE9~VJqeRnD0H(gE8l49RH&32k|5u#yFJvYwA7tuTl@jbI*wT zQF_ex9$ka6+_>X^sQXcRFwPqwJ*oHLzezn9NA4B(^C@{hbUnt5{i*lg|5W#bc#6Y# zb2sTpz3={))PwQobK-uKp45BqeHo8&=`o6*SMi#q9Wb^OV^EB-k5e9~hZiVB8KV@U zJTFp+dwq#Q+{4QhBF_^P!lv*Fg&32c6k}0MGveA?F_K}tzKc2D|Lb1H;KWUYVtkEp zdmqJP-2Ql(lzSUw*iGXb4dV(i#{El8*d+=vo_0b;*A$`Oo!W^p*I#jiyQHib<8C2) zmy7g%*xg(z4mP-DV(ffX#=#a>MB_zW#h1cXH$nQ|k?|{G%X1@6$ljB(GT8Y%Dt!R9 zzwy_Q{%73CQ!)c~K_UBrOdo{ZON<{>dPS<=x#$o=m zvPZ>X4)m!PDDLlM+(y`Xb|S7_wHwtr=0)XEO7r)fqJA+yTGgxClgg=Wk?qh4yU~l3 z?jNKs%$E$O$_MX@3ettSk+41CIj=lHY5!5SqbTpc$?NdEhbS$c;VNoJQLeAZ@>08r zv|r^0wUemVugUB1d{=aqE4fPlMwNFd z(zmMe(s7$AFCDK>=S!UCGaFTT=@|0}D(}2mUXo#sA<9d~n1fu+%J)T*V?ILl9HnE- zSE!y}pkvHosGeypY^FyyX1ZltYZyQ4E;)W4Bfey}riuAxAJX)4gT~w*74N{9`{(L@ zXzV@nOTV0h_7@xfY`qs;qp2}Ht#y#jnSX-5UvY!-e~N-_tdmZa2T8wF9gd1?s93hEyo&V$Evn?9``89|0ic{O7#~9P+@pfmNd{AgtoG#3P zHTRWOF1H@#Zm(CT^L+3Hy1nq`D33MxD*#6fxOsneO@p2>C-)|?o{NvfM3PGk0@u=f zv<_ecB<54UL>L6kS)w?sHDLV|cPuanCg#)W0tNvb)=st7Lu)&9{|tV_94?-)a=l`i zAkH0*1dEToM{6&PVcGX%@OOLu-^<1-;cGn*EL=!>K=0;^6&l@&54Nb zr)nA2LC*`HYDw6AO~3C>my5;OZ(NSU*E{)f=T0XB<~PDH7fgHue&MkI>>+>V-1KLD zD0rGhg8vQo%5ksxSU2%v-Nc18mwc?F+@wuYx*V+&Uz=k zv-vamU(A2an~&o&-Wl)PKINO-dy(S2Sd;g7J@LGJ@=ZP(nH|*wUxfeg7WgJV1K;F6 zlr1=#+c!C_9a38IFMfs>27HBF_ztJ}7WoRFEaVZaDGC|QsYs^Q)8TMXtkJ{nCf4lz z4F1hw;$|#Q`rc+v?|eH>OjnZ9y09>FETzTOF2dU`F%Q+EDxp}-&L^GGi64w^4? zF*I8>6Po%2c@Uxx^Wasq2hqx2I*j@0&o;alAd${jC)O;Z3egE7shHs(g z7uU20;qtja`EH*)f5E%l6VG3fm!NT%<}7Ek%oCjQ6dN?}(;QWtbYLtb{FWmWe#;To zkza9y)ofaXrR=;2i`c6oT+S|tFlY!L@iNj!{+R=7zrp>ucR%i((v(7GY=DgJJ*+Xh z*U~W3RUG42!{H#MDZ;r?bqszK=-&5o`c{>~Z$qGQJKnwVIcm2$j3>!&F+zVe;*6GK zsr!bkgzg*RO1jVL^|%&(q47qU$5ctw7x{8F;2T=B2XqR*&z)K!`4A$X#_@>s@r;6{ zd_0pcWB8=eCRH46HY2Wb$9bN(Nn8kVr*9Hhg}9jKm!JK?Xm@Z4?2*Clp0UZE-bkXS zFH)7?7YpV0#!mP2N2YpuB9-}jV%7QmG2!QU*ZE@M!+7__;=q<3KYWuaU&X!R{T1w% z&wprV51Z`n4Xt{#&tLg?AFL2~H}*>WL?y~l`MAas-Q6K$Td%)zSFi9z9PF0yRL06( z0d{({CsgrRuRn-*FJ0f0jt}mtW|a!FQ%RT|#Lf5g2IqTwBX9NeRr`RYsoEveSBd>4$ea#bl{J|%> z{nI^rMEV+)zJ}62f%JR!i1al<7N+#!y#xN>-fsU?&wxlDR_R6g_aZ%PzjQy9K^CI) zA(S(?tJ@#g(V6Lwb;s5Wf2{G&PWWK$RX$iXX6)$V$*wMekuf^DVih~K^W^sJ;=H0` zdo1)QjJUYRcvpahw)HAMtko>^7#f7?BgCpi{*TM^>a6pctnrIS> z&c7zY>es&@!tj@VUxal@HYvW9G;gegPrs1!tDNR{bX>Xnk2%dx#PQy5i)Tz6KXsY^ z;U9_X8$vsKE&g$7trk9VclKF)JPb@*20;C}ymZ3^~VJWOqd?|gsVmw=={rp;J7yM>zL7mVz zw)cvYe4SVAzOpL3yFXg9d%#;u=X?LysNFpfr8=VH;Lh$$zs4BXR_*>4uOvTQ(1&=h zf%l-XL-UXyt^h)6Z`{O0Qu*O>bfV}`1TzLfp0N~gt7P35ET?M3^tOr6TdNVZPths$w^e0v#I zojLt*^=9f+ermFHNpZNm%4Ba>RKB|JBh^k#W z3n8pTJ<@lSzKH>R-$OLN!Lf$#cnH30=-Wwg8ote;CCX3c+1zDFch`!sAZUCe>`DEww)qC|eF92n%#cOdPHBysuQs81f!gs%|U2gQ6^thvnq zKP$Oa)jL6PhB)-}JHcsbH_VtYZ#JJ_+9T)*2|uS6K2?r3py$HFWIpCzM7l4^&nfm- z-u?UvKjQqBf5iEfeZ={NKH~fuKH~gZWquBGZ?ov1c&0Qb$3A1Te@a`BL)e1k_bhD- zqGyk6LFV(YfGr5m1GD(@!SZMPe%O41<=R}SOFQFuzx{jl`5c_){Bj-)0|{(K8un%UI&4O_Xa5Q2wEukHwEqN^{io77x6VcOpF_(2qe=UZ zChb3!u>VwM+kfy*15aCs3Hy&O>_1L=7gjB?*nhAWH#w0cdyj@!q_qEVVgGRg5)OM} z%Kqa(9>V_PH0?i{u>UOeO8XC=EWdCo8_?@HY(SMcZ9v6$WCJRO4XE-qZ9v62Y(T|# zXaje-r^>d9|h@KnPF zR0A8(xf^Xjrz5(N&^%>M_Wm_zUJ;B;${u7`>_IiK2l>^$7TAwG%XvI+g-h9kmfdxG zkXP7)reF{H+_ayY_Mp#Q)=|dtNNH%cbY*~SPX#W_f?+=^U=vL-KkPsl>pzIG{#i}h zfjm|_5GJ%4b|Bcfd^L;24upHVBRdf8-H&@m;cYt*>LA;GB_DrlZf*x!%F=cqrm>4`67SlOc89j0c&07L@nLL1*><2l ziyf$+C;R(_Ev>qP>_B^Xa?c)dUeh7%Kq1&TLa+l>J=3e~K)tX7^;+yeRvS}amK|v5 zj_g2HyL+PzPsn`g_V&UK)EiAiq%X%3yz}My746S*Vt-a%$`0i8`e652k|=KwW3&Bx0@bjQC;Bz`umygHeH{al@%O@&6O3?HK6PFlnh-uE zVds-JA@)()gyI=CAtr1>(vN!DCgfB$ApqG|#TT{-!8c}-DV@qDl^r9qaoB~}C5_e%93Ej8(r&N|#V`L2<|>sz>7&+TnVVud^`U*#hTx+XbE}kp zTFg|Hy-7E)Z#T{3rRU~IFgd|pm|tT~plr~X%jt@f%9FO~feS&}c60Kq<>p2(`MU&f zla(7Gr#(w@Fqph#G`EqQ3*hpCzg=g(wLD&0_ngqYY5SQgWuxSmM0pgKy7cerjgjp) zsVhzfaH^ZOO5jywxja;cw0~D=Kf687#5*aU$?5e;EuYDU^+_$C$tCqkEuYE5^hqtB z$zk+KEnkZN$4fRA^cN(9WGLtxWPJRrqSqK{KNJ`fr4gbAd0S_8=y zPq;vN&DR}L|Mz}s+krFjfVLeNc*MJa2fST7FvcYpJ*V-r?ZCH%2h3#$J`Mc)Xj%O7 z2ebo6Y&)=R2iDPlBsS2t1Dn`D+YT&k;Dlk6*g&Vk23qXZH^T-hdvzKcSfH?hz&B$3 z;ZE$pU(FrIqeLiXSr?ahSg;3{bJ9!oluSk$VJQm?R|a=-?m9HN zlgajc$9_DOO&^W`H4CKbYd$f5ZW6J{y|GvsO_u~cD zKUM*ozUm{vzyIE4mW6-kiCf^_OW&WK&av*XDktuJMGoA%0SsM5PVR#hz`d`^iF^Mo zRJ!mBpc6)&>N4)uiPjHD6Ny=;eG-H#KOONJv#cOU+y%sy-~rCu1)TX*K{1Uv!JEJX zlU$Ebdug8FMeg-pTmiiN3f&`k6KGv8I9oX*_FTAri*ds6Aq-A_^#a`k_?rZW0>}RK zV#67~zrvH?(~{$zct5Z;EA9a{khmTQ+YbM80WWbH_~Dn~0at?d>1oBkxTfF7up@!^ z4VJOH#cRM^630(vD^{5H;&>6b_RnPD*msHgBpf@~Fy>Z*&)`$UXP|KG#AiT!p@Po< z+<+N4cH%R*Z;{~Gac_5wW5>Ot@HUP;wdQg2^@~+^3CF%_0UZ0PTj1DN-2%tH%Eqy8 zTGau5mJiHlaF1~8rSG2u)yX^_HfHh~EVPcXgk|B`6L}Zl7vv&gv6s)Tn9&mP3qA%s zw!@o{dnA!ZC3mKxaefU?vAbRmS<4z`Y|~sQO?Q?)~76xc3I&-iiNU z%`-z1_r7Z=TJ!jjz`c`>aE6Y7SZ&7npuoK&U3J~T9u6K6fvKNX@oWliP=hi=HfJ`mRNO2+L;50~aA>`yVu<`4t?}?e#?NYwb#eR)sQgTk*eGI#a(Kl^hFELstDKuOezQc2` zlbF84X`RHQ)|$v~Ov-mSu=#1<;cAWP1|O3=ZNE|bT{N-ZMREtE_q%Yl-^JY9K>J-5 z@Eu-2&>~tVDKNC9);x0iK{xj|h&HnNK{xY&A9Qp5%44>TT8lCHIzHO<7`u(+dJO#N zErK@6z3yYT(PC<&-0Mqr8!e_b%Ds+dx6xv1qulFdb{j3GHo7cPKMjEYYA~2&Y5prO`@Y~mpBmg3@+vOHdSKSRI-vNk474sd&C4pl zmySK(;cdi!1rBxCIEfdX!ZiQYGe*VZIZB9+%K_Kd0*iwID)JR*HNI zv(h&#m|lx8q}O{&uM@u(mEj!xMC;{W%~)r=20k#3dgEtGFS_8z)&rlmdGPP)0hg=? z{OTU?k9xqr?g8(*2i)Tx@UDB{-_`}cw=v`W=~iGE8TiYgLafD>Av8JIO%AKztY?z= z$Me3J_nIdU$7ehGMS%@cEX{`U(QX#jd;HB*|REl%IK*VL9u{w#Rg#y`3C7ax56l=Ka3 z#Nt{IzYu=aG2+sPkM6mtf&zmj_Pyt3dQr^t{yDOh={nXUGdQ=-UeHT;-2I>{LEQ2> z)+lFLVQ{Lj-ymO3x`Q}P_L1Mn0@8)h%cexA69+ragT%p(FhCsa2v-sZJHis;U`OaD z?l4-vr8Zfv)+(1{t+EJfm8F9tk=c<$0m`e%bwJb`uBjd^`<&otFP(j8rZn-!h2!aZn1vOhM3k!Hgc zepWkINKY+)g{tE#@AlqdFTVg%i6RaX=<+so_L-8 z0{KA?WW4bTpB)vF;8#04#eJ9Hym;*i!C_5$R}w#bL@O*o9TnA%@-jLf(a>$cTMt=r z<0wa`o+}}_p%sD`BgGN#2Y-B71^DCfY*CrPMV}E@zIKo&R2(WhBW`8KAV00*nk{ib z=={{-LEb?5g($!8{j>ymP@iA#_^hbE638B0yImZs=S^_u)AK`n*cv)e4*47k-h9Yc zlDzRScW^N2G&^+KKmtpdN>l9 z8Xk@`=SO0V`J=HK=U9xm>en1RUrcK?)rY^rtB>?WiMM{u;fux9iZ{NRc;mr!G~d4` zIKO94B)DVPpB%?DYQqp{mD+{SD6yOTPR4^16EHZFnZY-s&Gh=X?8V z!xK{80D1L+BGP9NPkTc>YovEhBd)K1X1{-?e^{h%RO#vds-Hpn;bD=!v7W7_^s8|n z_0R72Pxl|H4s40|lM(z-MgSP{Zsv;f`i|hX0_7W zqVy6EfAtaQ?H?6-Tk65vFZAy5H$5TswkW;CFj`Ph_smRX&lq#@IyM z|Ii=D^B3>luVEeXTD+%(g`TjkkAfHMi9QQId|#}7=YB2T+so>A?bpDlcrD%+VD*ph z*8;mcGdcTrXL9zd_G>~7UW<1k&(4VA??-*_&f@Rioyp(d{AfgrcXhGmZ4t%YA7IUo zVRI+7MKf!lI;lU1&P4TG&zeLX9YCk0^9J-8OFY^}#5X)6<5y?JqmDD;TT<~Of)}UZ znf+Q~aL8y7&r>r=eX%UF8d9Al4*80TE{ zRLXU8EirYW057$rE=OYJ?5Ac{CeB`9I)+ScM?!L&fx}G4+BU`;iNXCwa{uqi``|~f z_h6knZ;1$-iu@vMe(+NwTw{bp*jn2t!nQSSB3!@e5fN@oveRegeONvguJO^ zCN{WV$UB=eh!iH?nn zYr9&r?%{=(g?xM4(-DqmU))1;MrFVhx@!42|xeaDinw@-rDe|4%Y}<$d0GV3^~*EbgPRV>q_@z#*PI zbV!`9?l=@{IgnYdhYyVMu zj!g$L>uB|FL)Y&@*B6JQYi5U|G%no$q6R1cBSKr__?9#`@WipL+l zdi=dLz#0f2qUyZ45uAF&qdqbyunKkH)T@2+inDGDzIlX07`)UL>`k^~!AzaKxpjt=&N}D}S#|dI$oquO zkkVPXYhR|$zT7&il+JqStg`CtOY5vMbw0jd>KyJCZCHsm4DPt%tlWa{2(@AN6({vY z_`6uuxT`l>wQJZ*&vfN8Uo)C^4M%A_L&wzzGQT;MXv4}~Kg7Zsd}Tmi)eh+^Be+c~ zBwrcu50q|0_k7wXpIH-hvmAI1E>9G24)M5xZr5TYO~%ABA5F ztIjSl)}6@aFf@4)$*+ZB)tQqQ5q>SKI&Xn1sfNx9tInLfi2Xw6>48qcO&1j0bkp36 zeX;aB&>p-vz7e$kPxcAyYlL6FH?9ZqwPoe;%TCPsotX3EzNV{zHKy+g?R~6=Z;kq= z3RoS&T0BEmJW8GNu@S)hr7rJ0r?qJs+XpaLsavAv3YdS?EjurKafvw0HR|qHahOxo ztw{Uk2w?tD_mGOi{GhJ?JTPx(emz3Ts0n2+OfI8u;rY_U` zKiN5udanf3vlZTg_llMKQ1wZt@ZTbJrv0}#FNIZ~lsc(TDxH=-8GdviQ>W^a**eWW zN$)D^lPR4!`y}2~*85a_GFxYbPSn);)=L1KkVy z4f$r#Aq&%YgkJ}@^gH84r741 zJT^7=VfZ&!=D;si0>4D>LfC&(9GvJ3ii6W@#J%Z#Mgp_r^@;IBHde*lYecvr*Afd> z#oW{6OYb#u=fhtQ?di?Q!f zr*tQ6MSQ4sTS?s7Vs9(LE7@)J@n|c;E!l1L@n|c;FWGJN@n|c;G1+bP@n|c;Gs(7+ z*c>?y^cg$@19T$}pLmK)3=naV=vHogpBgg(cW+{V@|H**mt+BrDbwRWa2BP`iGI8qQ|4*02o14$ToW~HKfy+8pH|H_HGnt$T?tH~(P)fYcg`wHPB7xWN zDD07ko4BNf_zZHy>6zETcb%M@6^&honM)J<%1!QQ;G4P_zeM;Q@^2^m2Uos2Z)e|x z>yq@<30OsW;xhRNb>tPou=f5me7j+M{XzY9-cH_J)^IO<&=iSe5VZWVsKfi_jcAEL+=4dhP4bpF?**_Qd+gUoLP3juG3wUU;_}(Oo z-mm-b_W0k8oct$`6Fd2oH| zI=piU1IdM+WdZ}K;X1-Xa+SU?D?MQ#Z;vX9dOhEKU;n=4|qop zu#CmpATW)GfPL)6uLr+w{I=uQh2K{EI`JF8Zv^RqYYV(T-EbS&$BH|~J`&zeVjr6< z*vE>Idxm{%R@leYH^V;0Z-#vwx;ggo?EcT+6#M8x-#NX%&~O7c=~1}J4~l^#ziuW5 zGORF=2n7Zbp};^Q6c|W^0t1OqU?33+3?#yvVjz9Q*D^E^nH?AmP+nn$fy6Ze1F4}b zg}{#DyvB-kT!Zxs6YEIFy!_o1)^UvwareI~)|cp*uXs1Lp0%bJaZ6Mjj`^~8Q|noT z=hJqmI2?1}_ssp(YYfC~c^BO}jddg$-}Y__>$oP2G#lOp)^Pw&QGAZhdB?jvj=oP= z$2HA}Z+Vxu02A1(Fo7iFYu`;_9oMW!n%Z{-22p3qwY_jW@wMHY=mZv5wz&svGVIC_6BnGh-b+GzLU>*k|z&wunYk}V*%wvV}EkN>J8(%@Ik^n4hjrot-}0~zUn7|`5PR> zGZ(vF8wMT?YY$DhK74Qhn8y*3zDcETqVxxmeq={`*N|+@r^o!^PY(d|I3_TU)-=sZ?;537U>-kBn8z`pcTHGg9$Sv= z@vnYD>RqGs66P_iFpn)qZjE_doq>5AxNXd1c;|q?Jcf4-q%e=+#|Lf;^N99ajT%&# z$I;uyJhnVKDlm^N+eTBE$Ck%NG5thaw6I#L*YLCGq&P>LuNHOxBsv$J*Gded8IQIR z@wEqKd~;Sj>Nq2QO|8VLhM$#~NAzQ@-Z>a+a2}#@%sIlj0*@xfa*fYMB8-(>r}uwS zi->Vuvlx$EDZK|qazC+*#s=)YG5Io zfrV`O{oyE$XH7h0`TqTpCe%Yc)q~g@gL)Xz1pbk+|4Y z3J+PIg@>%q!b8?8JY+rk1|8Sz&BQ~7fu*Yl9x@Cp9eAFcHG2mH9uhve1s*c|q41Dt z+>(ih4BsIhl5k6zcu1wwf``QWI1~4F3p^y@mTrxQ%)(gOc*s*G_N;P?jfXtF@9yFu zYk>i)2QDnEuwYg^WY~g-3}@jX!xlVbI13LMw%{SdS$N2>1rHg{!b65Fc*t-T9x`mf zLx!{PkYNiRGMt5n3|sJ!VH*#5&cuV7+;27>(#Av5o&v&CabU6}{uO@DJ$guB!?0#& z?%Q|f0rO_X)Cyb`u*G5>@ZR~RxfvdEt803$!uarb$kH5m$e@jfyk@R_*my`_RBb$@ z@MmJ(tOMC_`Khy3{9jBPyR$EU4qJmklxt!zBx$EU4qJY)iUV1IP&?%*NyG#*mV zy*J9K_7c(f&uQHor7P}c?2U3N+@;$s_by5QP7C27bHt_i-Ev^3Qg}#TD2;{umB2z0 zN0#K70_YF~o$q0DT@qvId@J74XTe)8yeAB$6npb9PZv1d8SXKhdAD0euF7cQ*{F<) zr_WMG-7KTP$fmKt&Wycax$(2+-0@E53!lVt(b)QvST2)Kn4YmuQa>~~ct2_7GI?u1 zY2~7^06kwx4`FzLph16};kw~)Ti=Jd@xA7Ejqtrrs}Dw9;oZUYYQFQiTlrwT;eBY$ zC->e6GauR;;k53JF!O<(HJy*#8&N)0J}JMUIravmI8t+Po#GqH*d(|s7T4e1#{d3y zekT6+9N~Afcu;d;fU6e70Dtx-7~t1Gat!cI@xSNFFBS{F(|%xjCH}V<_}^mSe~W?t zEe8I#82H~};D3vO|1Adow;1@}y#HYM-+8(s{o+W21^|7+ua|D)l5&)N828~^+9#Q)NG*2e$F=WP5hFf2A7s>HNexFQHKBP{}|l0 zHvTu=9~L`zt&RWv__URc|NZ#1m5u-X__URc|F!YIT?B6`x*hzl$B278X^gWcH^y1c zg?_Rr4c}So zcqlh!U53QPzd!2x|Ji#V=%|i6&-d!~?W=~EvePrY6&$+Ah5t-3yfr07D5({(1=D7&Hq-b5m?3!Ataeh$U2(IOeULTXNJip zGufRik{$27H_V)Q2Jg<{obgMt-raW+pV>WgeBSOmdFQSBeScMTZ{Kb;2pn)UnX7YJ zRkx~c-KzT4{ZseW_fs_geIMA@y*b&}Q@uSp_u7X!?|-ll>yyg!+1KTaeSP6B^WLZL zI`5tBXJB8KZ@)MDT1&67ukV(A1$c?X*4EPd1uHvOda7ggJbC5(+RIk3v2Bb8FB8TJq#MtoJVE;$Pd|dU}$y zC9)Os!Db4s*pkziRhuo5Ur>;=NPUr+KF+`P2>$icXq)w7-Fch~(u~dSWNS89*FvMX z`+bEt&#HY6hr@!}>Rd5-toFGUIK+)l%C4#$6r&`H8!xPtp&^EsiOV# z92>cyD9%Ymjj(bpFTJWb99N%Klod~_wiT2I9kX<1!xeBWZ_7BYcKp)G>C03GS(>O7 zW$~`CSrRJ?Y)R!c<+3tky`oG`UA8Dn!e+H59Wzf|krF-c+a#q(N-|e=AP-xKk|_9$ zH8~Crv+DT8Ewx;dxejwF;|i*IU@c=mV(`*_a2ewoE@NE7WsGaMjByQ@F|Oe<#x-0= z!m7^s(I!+!N8*Xuw-Qqq9EoLE2N8_x-iVv8?QFYUXYFF`ihXK`Z4DQM&*UtvbyuhS z^t~dmi1WZqCV%n9+d9{}4lL`UCvUTF$mB0xd0XdN*MVhS^q7c)zj*0wooihOc5~5A z5eI+qp4&Rty3U2THeeK`G}oHKinrfZRGXR@r80qIUDR}2=UUTtarn047rbX;Ti1bO zT~vQt$uG!HqH=7zIB;8;iAJ4KiVq>ak~oUsi3_eZg%#J_R^E)BTvLR)%BXijK8^Kp z6SK6fYz!*P)L-1HE&oT94`HaY{3OD_#hi2j-HI?f!jzRkqwex!WsIL) zk++@ihcIO+Fu<^HGuadAin-tJM|;RSgDl+|9#-Vx?y^$EDSJLpYEe(Gfomxs{^aUQur1S}S0>kxiXc_6}KEjrNl3Pb=@Xwz6`U zU|R{CW=vGdXEkx7F^|0jZ6sHUdF>I-wU!a4)C?)8&}<2%Q{>`AFXvjLRdfcm0}Sak zVB<}SxSU*T5r@KO?8ms)B97R_8C>hb-HMlvYmI$PmJrk08@4Od&e&c}?F?6@@Y=(IY2CNKbh*y79*B6C48)UQSD){WfL%QpC$4qP zE7ufaS=WJeT?y7Tt%F^2=jTfa z-%)X}pYyE2bESU3c-9ArXWhs6)E+RiDIC}ITV)4u3F_-}5u4akA=S|Jqz3y}93-A~ zKTBUD($n$F4kCSjKTBUjY+|IZMLEDT2G4pBJnM)f6~Pb8ZsK2i4-?Ni;_#v_e4BXI zV*Bs_c-F=^baN_)SE?hPHL<;^oW#K{JA~tcZA|gC6`WmNM|mC|U_9#@?4vQRD~=G) zdWi9?jcLF-X8G2Od>POB2=eXJdERA|hjE`ukuT?2?{`pr>kflw-PNI_Iyx9TxHQ}m z-_W&7N$uLjwl{=##l0Ck>wz@Sx@)(R+P#~lbBD3^dROLp>fUDu7|+_fXF%s!d!HY; zFP=5E8(Q$8@~l1el84#^?Tphsen)TT1L$0|?LnV0#8Vs7w&x&^ug!`_dorH27GLS% zyln5Gex}{`fRmlsyV-WH~ezWt?g6 zfoQDuU^F&-oaa%Okq6lQ8QVkg_^T|P*LOUVi`{U1IFoOUI@KZXdgM)QU-?Qj<~tOP zt?li06H~hK@l2*Pv6Ce*q*GDBOSb*&Rwekx)ol?hTOWPj8_eQN`)QjP$v4+|4o701 zp`YFQsQaeHbGYB`rSOAqyS#_{V~nE=f5q|rN^1Xp))p1v{qbtzC?Ebyr4k(FY8{ZSk{O7nQiG< zzKpyh@rI0TZd*E*|3I&j>g{E1RUPh)2M*-0Z5Q$u$En6~d^pb9p8b&u*tX(v*p{uI z0!}s%_f^cc^gJ7VzY3gex;HEI%!Ta=aI#ZU;s%~ECQ=>y>DgmK+E3rp5;tJ@=?cs- z!P?z;w`aLdZ0XW2th>H0fw9&8c&ekD&r9C_rE?mux^ib0TY6Uq&$A<)XDRaBAo3)( zbSAG_Y8p2tu%4D| z0Y^u|y7#!#N^280EEu0#XnZbxJYANDHM^wqH;^X3nt0VO72#a`Z?`IO4xPdN^jz=6 zxTfkcKE88e>{10L^=T~*LhEtud)P;0KdBrp0w)yIvfx2YxWAk85!Q*w&cT!|-GLLT$kE9LKg* z>~|Laf=gJF>^!@sU=_02RO>!=4Y2H^YXIl%mg5@W6xV=qoUhIoG=}fKc&atc!Pgk- z6>a-68NOTDIB6oA1HI00tyj^IR|Tq-)iBW1c(Gd9K&;dBD*BNd{fM5+RrDeElO^1bKIC30{OCXKr-dK=$Gukg(RbYIg&%##y;1nlZ`_r_ zkACB>5q|U;cfIhV&$t7^kN)CrDp8i8j8)*YQ$JDBZ`|P$#g4EF*qeo+@3^fcctpfG zWJeIv$>>Awf|ATWr0{iBErsbmL>w{xZQ8=Veanw&_AbOXJHhuVOn;lsx8mEk(Kf2W z`(+jfnln!<*J*CD#mJV{m|+IyNq&A&W}dd(dGhzg|1^2ke{Yztt{Rxrz=tKC$jeL4 zNf&R#^FF*mYqJ&Ny;XwzhIGY}oLHJ?N#^2J=Yv;G*AcA$%GZb$>jl#@>lMZBO4yBS z-sWCgS6lOz=08}CYwK!j-l7kr*Sx*g{D<80D>CNTnse3pv*NPcw#YSCJt5cLNx#*^i9=?qp_8fH6Mi1Xc=G=30?s+>6u^++Q za~dlzJog-9Wf?pVg~rIKR6f5XmlmhnuegZ4%gEM;+Sq$0g}uwb+V4UeP!vxU zr}d$j8>7;@qJpKuK4KoYW+ydcZhP)=pZ4rUV{q9x23Lypai69Uu+e)M>IdvyNh)J!&S$AP3*MqEx# z=i$4Twtfz2De{e4iX!nW1T96rc&@WOF0>T$p6d$J$0_9Btz`Bsj30+MOPXebv=pjQ zOQC5t@GUH@*$`R^q1m{i7P^!ST}bZdaP1iM%%B=|k=ilv%#c2Yri-L+HCWq4Jl9$C zjo*oKKZk4IiAb|yHEK5OLMN-HzZ0oTG|h(msw!iCnpEhXw^on7mO+jlNLo#XgTFX_IuGBI+`Z(!7`k?>lpQryQ zRqz$De?ZrNY{NIj@Ar}ZLvc$!92V;q{ceLKSupp|bNDfQBi8gEc*ewhRw-}Q9a+KD zCakGI^D}7MBBS?WKO6Sf_ml1Me~EmoET1P8mJa)oi|NZOeQ{R$>kFh`k(K_33#4C@ zm45D?>E#H73DTvHR^7=HZS=bI+6{H>AKZ{EMRU8+#Hh$oiBa#d2Kj4x6HWI~I%At8ZArn` z3O;Wufd7K+3fbHC)>D(2x)a_nEYe_PW{~SnYK89PDd+L3%~ zQc0;-TW~^Z;TBa*So8CfN!hXHe81uo4@i z6Y?tjR^zt@KWBVs&GZcm`tX#);gY6$-d`fAMRD85uhKVfJ2U}y=uQ-ea+T{=E?!ol zOUZ{W#g1!&-Lh1gkyeyWt>|(2X*=)Vpkw#E?-!aBxJ;7*w@kXo!kH!o+f0)JmuXVq zGEE9x2F|lvVxF$V_z9NyqYA53u&bKJ}zYfm=1S=C^OyP?uFR zPhVM;ymom-$%@3v&#X-TjU>-epJ3-V+92-u_*G56;>Wxc6*>;GDfw+1KhWnJ`7uvL zeewe~H--GRl^^Kyjr^FmqV5%O@Y}jR(B~VGMnl~x;^4PIlQAadBKcj2YZGzs+qQq8 zkY)vyne|s7u1UnfZwr5*kXD7o)gi84#KCV1e4vm{g~f#sS1ID)x7B>0sHh9+Q`j6E z_!VuQ4C*0k^KIZ)wD~rugS=PFje%e35`L6l-bwRc(s~;eValEo#fCme$5&AgxvfMg zK!4P>mF*?a-%PvMHtHf{u1!L|gt=%)k8K6>Y_`IVsLz23&zmFDFlS;mgl$Ee=YziLD=)Uns4MA_RMM>!%CI`->maNc{K|LP z^98n1@1iH|iVw%%nzs^lcc+hJV*xuS8YLi6zzqK0qIB!f-pO2LEtVc zLtJr}Z1thsb)wv5XrH2;-%)0UhgrEvms7mwJIb5GyxgT|ucEeVN*T&rhcZ*Xq{}IW zE{E(@N@eeqB`4ac2y@!r?dYI)XS1ZsDaO1uUhc25@{lg42)Z2V+cei$8ixi4Va3qq zP+m-z6Xm*`BIt7bl;$MYDuLD(&bQo?+iv*d(n2_xS00`zwZRs?6CG``(9F3 zLAz5Li4IRjha<`8NW`~fINq>iBwmI&;`P7v9i^PyqkoKt&%eG^^;_2z((Y6p{kn2K zIvSaZjzZmsCwT1Y@+#?# z+izi3T$S{>+i&&A(p*n(>0EDbq-^hyBQ=B{o)c2?u&(VXjc^T1J=)ZFM3yEaBkuAS zqK^7wQKs!F9ZAR6AA`0h5^+~_jX3I$jyOsq{C-t`G$NfJ9CTN{IOM21GQ_k!rGsg0 zOx+P^dwL>Ft5f$f52t=nbr{-~NCf9`{7zjhG&AUD_1M4m$e`m&&k##rFVa)_sz?hn zG{n-^*GdhPz5(T^Jv!)^?ipd}8$^0MPM|H3eq@BDZ>W|0l-`ee)gBvkO!Y*|N_UPr zQlt2xO#)Q^F8UV;oLDDtAB%I@@B7R181lgU6a% zz7wP=iaC5I@MGJgDH7W!hM_4k#)*7(j zs0YFtPmDTzW5YbmCk2u{<1PyKAM0^cztqFR8>*yg3JZ)y9lm2cZG%sOEHi#5SStl4 z-hN}Y8u?be%+m)cJ;JDswDduwr?9}-sH1jl&_Vg}eR>_dJ$oEwhdPy1XD6GpUl#6+ zmmk`vr1tG&+vVYXaUaS@%bd09;O)qEZn_kY;HwB&@W%{PT zo>5)j6nK7AcD~fAq*_~9ot)v;__~+2Dygko+4j2dR@{47Uuc9ig}&*eypH@^Vf&Zb zl~j8>OX~`^$Jf8KLrLw}!M4|jcf>>6PRfb)b}6*|q`aQ?+2NEz&zzK5o+0R!(EhLo z+pgE_ablEj2c$-d4;{vdO#Pz{=aC^j*_+uyGgB4O!`7?*^Ve%JK{Pc|Xz8 z2etG^hh^5^#zvSfisF;~L#}!@rudHvt~KnLJu$WFPJL~)^z(m!>uZp_7HBTUuSOU8{cAX^Y?$q+?F4`#oWz*dz-nffA{yy-Ky)U z{t_A^=xKua?<*7UaDUyYkD304!s{lBtW<91e{Hq(=l{U=Zx0?GRdCH=whx3y13VszX$`hIyjjdY4_TAl*bxhYr7XI9ptYi6tEWEQd z>sZZOSopqehvP~r9%p6P6pphpH2fZphvNso#g8BQHb4HRKf&?)TG%zTAl0P zbMD78NfN}0Zagzd(g7=JbGqvw#lg0M?Jsm0 zZ9TQ^m8;HnYFm&5I#}DTWo_HhKC-H}DSSE}{N`}1@jUYTqv2T7>%%b`hidDltQzQ#1knyP z)DGh@XOP-qT$Vzt9e#o5#pwH?`Uxq>+JSEeeG^h##kbkfe)-=uT&(v>Kf6_P@TSGv zHX09-#;^aTr4jY;j@?|>I5rv!j>YUD+CK52D>N31k@k=LwTCmck6!5gykq}ese#_l zi~MR24%jR3{ORqIi_6H}i+4Pl4z07Fo-Ze){HDo@Zw|&obm$F7osu&+@%mo}Ka3K9OhVm(G=IdA=}^ndko8 zc~*!#YmsM#G0*+`csY@0g~+qKYcMm-=5&W0hS|J6$i!kNue|&=rl*GdcOIk7hoLl*5MQ z7>Ad^hULhwa&M>I4cnFNk&9_;R0bWUZo`h;_0Y70WvEA~u^t`idT3h0@||3ZrRTYT zmXLHrnOZ`Tr$I|t{w#Dv68g8+*A~zclIC$?En$}CaRDtMX&yK3)cRUSJoVfz-Y-zj zjlzZ-o)?1Z{QGvT9)AWlyqAiylo7+t;MkRji%eu z%Xv557W&%xzI$m2r*0^ChfR7wC5rde1z(4j5RaYE5-QLVDnd*67X~e1E%Z}$hl(UG zTraMJMlGQiFRy7lPg+7Rba+NBq4zN{R>%7iFZ5wXEumM_8R8v?7dk_ume6a^5_+?= zgkFP|(3_1pfD)NC!FCG?0ssjQp2k$^o?TScCRKIz%kmzn1RT0**q zEvzNPJ>G7Vd!q9gr(05pPE5Z%^hSo)5;hhLK^qC6u85TZ(aP*gQ(cjto zrD24j-;^QD1ADWuafG4oFfAbl+bj%ysA66p;`b&Cdluk*h@J(sK1BB>C)$GB8_xo* z>3fsbhsxVp=bZ=U?4`pdw7wAKDZ(6tyr8Taa z9})IFfPRh`O~v_js!<-YSw1ZnLelA5QwTxVtW{PS1eBOdFu~bqiWjf(b?)@YgJ8KJvv)GY|W}^t4C+6hpk;TZT0AEWolUe z320bX(R}G*_e}9Jrw!khY+`P+O`rFiBTk<$t+n90@$S2USvbAm(TtA6xFdtOI%9s}m=56P?OU$#CFj!7~0u3wEcZ&6y6wGtT zD=0Q-Skv?9HLa&Aw4VC-t+*KPZ!t><-{G$)%Ure$UJb=zyjYwbFVdQp8dHeuQ?Qh4 z3i&m*IDXDJego?z%@z`N68aZS%bK5|WzDUb)y6!`UPjHVlGe;>^((-84yI+bb4~LV z)$Wp)C}~}Va&M*-vs(sJN*n`gcBPLY?8Y=2Y0blfXj!@4G(9G*X>@m6>Ek!kR@2t( z_Z5rGR{HqOwAG@wl|FtmZMEoarH|iCTP=E9>Ek!kR*T+N`uMGww4mB^V6jWdV439B ziE1np(uvxPI#G>f0-b1@Wg>K<^Pc~V+S=TjS4~?>n%8`z=2g?y;yYGaTPrlLcCJUg zq87QV8T#Ga&wtu6==m?-_)MW41J8fyV`$HR^sOoV{HNv{^}D&>-)q`h(!8oh&8w!Z zh2}M_t>v26Ra5fhT{W-z7%qpdRUgCUh_h;AIKIA_K8|w@-@&&xnXT_6#(N4huu!^V??8zwYr10X z*p`fO!@Z8Jh+`X{weNns;!pW_D?a7pt@)IX=l+zB=lPV6=jX@E)5h+sf6B5;wiw5p zxz}IR#O_{#SI*6}f&YH}0@G?|}v>)l<_5E;-B^^Ay%kdsw%5?Cu#lm#(ibzj7 zcw>6f!QU%A>EMm&Ne6$g^rV9~rY9Zz-O_7q^1AdTXy3n)p?&{+fzZBRT6@(d_d)mG z9bYa-p<^F~e?NZv@ax3yIsA6xw+p`x{C42ij^9@NTJh_LM!pB`2wdoyvDV_P`_RDW zT6>Ys&%0~jM-Bd1M;+pwPhk@1}uI;AWgt13$E|2L96E@7z@bZ$;ld zKe)oR1UmY{r?`&(lWO5Tc&Dss;XOhN50`1-;W8~eT&9JG%e3%tnHC-{)562Os}{b9 z)@K}|bus&$bS#h1!egHRY2o2AEj;n=*YNFXqvk!NKrarBG|fRHzis13y5>EExp3-} zAF=sq_Ti_#I^G@1twNk{vZ>#xek!arg@I=Tp?p*WUpP_jt zO^=FotXLYi)4anKn)hW^Dz`sd^DfG*Yu-hsm&2?fd#Zu0^MHBmK0lW#1^Y@8gad=)c*zmXO%eb&RcR2`xC* zp@jB*)KLR1w6;cY%~+pwexx7T_YsE&T6CNA&b#aT`F^y1rROMV-^DtWLfcLGRT2X-|*~7N8>5{u-$lywC`g3R1Dg8V;n9Y$hW3Z3OUL1k$0OO45%lT7;_Jf7CR2ZZ*$@x-{pf1IZc_#yYhJ|Pd+OdGZDA)$Sz zHqz3Eke+m;jnMIXPV~*wzSHr_4s>Q}-w$MJ-~Acd_h?%CejrQxexO^ynvP7{SQ+k) z`(KDM?YqA#s%ziU)p!{g(g^2 zXy4D?xAwhx+gYZ4Z{B`Z*S^ks~Kx|qWxhHwhdczdz^{!Z5)&0n-AiIqrOnX zwd-1XvNyAzNFNaCYmV~tfvohfH)A3+o`F!5`bm)Y6D@tHMhda=j76EoH+X_;-)m0w z%gLcpSAdNp{wwLbxz-$d_JGGP)#4gfXBnku=~wBTObrjSag1+lJR(UYcY@V4rWt2r znjp*L7fNspc_1!;@c`H%F5l5%w(YBecwO`3LPFPki5(Y5mZLMsoKY31QEtvp<&m50l;@^G0}9xl_$!_Cmj*FaaSY30dZBee3&FSPQ^ zFSPR5zdd+xzE&RLI~opVY2~AT86m0#Y2^=+R{mhrpx=%%tvteaZ915#S-zWA-Y>NB zL7|n$zPnqpj!9a1gg>_>>sX|fM|fvz*0D${kMMol4rc14nPy#R<^4h{9~4^o5VZ1Z z!BHTseErUQXyvhvrBN%7Hey`OIUHRvvjkE1zknAwDY8uH)`om#$U?V=34o> zd0P3*JYUYz&Tq}q&L7Cq&euUJAB0xE5nA~WwDL4w)wJ?!2M3u}zLwhIfwl63Oru)| zjc)Cso0d9FD?iA!@^x8S`8uJMuY*RH{8(q%u)c6#yapQGI-!-XL4Js5T6vGq%6l@j z^6YtZLh4KFX+4;;plRhvyI6KW)6@1rE8oxGefOoc@-=(=GBvsjXyr+}n5mT)c^b6x zH7{i8?@g_|sg=h#V#6L&E1$qS$CRm+mwpNDYsMO;bFJN6YHHnpTRB5w-Kz)XJxy*Z;Y44fOGwsS{oFI#GT6X4-1e+e#n5nYLQ= zw$jIMrmYset@QDmsg-AIc>iizdE@vk_c&1-ztK3+VjL%G<2Q^G)8jWjPF$;N<#RC2 zbgg`jI9)5BLsx6i%BOYm|G;$eGd8<3Lo2Uxtvvs3pt=&Ov7Wg(3cQ}y>%>v87@1+J zosUy7w%6)u%@<>Pte-4FNuhDHGPU@*$HSTypEIr?w_BUMk%zh6c?E?AW|%mpL5pt{ z&+x<3k_Nx**4uK7wnXFsIoT@Q`d-Q4UP?Ks5Fu^8Do+Ho*fCVd>v&RILX zc9Opb+$$yA{ z68^)bd+{G$PxBwF;6E%k`44vDKFHF$S4CjX(|g%iCu4Y&gW*xO_ok)1ZGXIS=x4V+ z>bz<3gVRyob#tA+Yk#b=D{2qW_OU;61-hcKa^bH&n#ryz2g9Sh>jSJ${S&Y$_Yy^-RJl^_tltV?G*ZTlmB4yA0!EDte4SCSoA~mp^ABZ z$mBnm{D;J>jBAfOY*$q2zj5{#`iqR~kNau6A}vE7Qh6Ve(TCh??cmX$zrn6ONQbrN z_;si-eH~JDt%v10Tbu4N?OZH`E?ekjFyBgBpCg~v5j1iYn1+5nSAl!xtORni(9!}sU>eCS7vdD{3lZHtmFr;Ktc;(E!}hcxDC6YC}{V*bNafysZ+bjnQk zVAN%4{mh^r$rtN6&R>7?UUS@(>n8u<<5yGj)>=~1nmOemuC;0MAExR0sjZ7j*Uthm zU)AJ4nEZ!){obl@9p(M5Vf!0&Ug`QFQ>VV@b?Ul)$h6g>x0S9RGHtc!ZKdmnO#TDY z51IUjBBzS^)2f(1twLu+>uhrEkj<5_+0xJJw%p?#J{GpJ@s6?tnjVdDVH3Ig_+B*U3UB_zo&YNj<7R+041ZWM?WteUM zz|1}?f3G3dAf@%}@(PS=kc##)=$^n!VeLh_Cz>3YGBuiuUZY7`F4I=Y8*w?g=xs&% zG}Bi9G;F1h-^^>^qCc@W73p4yQzC;n@OU(c7MofmpgsjpxS^n%|(cf=duXFB#ku9<6f!GqMjQ3cN zkSA&53{GtXFa57ZY^&rf+A zm*o3of6y3&Y52{4_rPtZaX8F=_u&0bV||!y_uy@(@kGqFd+@fSXIOr{GcrpGU3rfg z+0eO}C92>l6SG7$GD`}@{4g*}RE?+nm|&L7yU!ZmY3F8^@ORqEbz+t%MrMijPTMfQ zOD*8cl9Zj_&*?s^hJ}t{yjR%LoG9(RxwSxL?}6`+i;{zxqO-+vFjFiK z&P=gLU%xRY$#ZYeEYUo54v;Xs5O*dLaPkuClJxz+l3IH)mBLHw8Os&C3cRe^)I@$k ze)4>QJcne`>a~`uEM2K(_I<`b>0fhR>M2c0a_Jm8h(%T+cIn6OmMXF|-4k)!*Ic|2 zS1(R)lcs0C-!B(~gT~g2PJu)AyI2p}g7@h)habZ{!wWY+!oj2uu)W|)d8_Wo3YM*v zrrEqd+P28BEcUbc4Eur0{V$P^mF4rK!qQmHvkdq$lo)UJsOK z?w;vowjTARk5=8u6K(Xm^x6$|?H}BbEJbs>(Z;iAOXZDKSFLhi+$ML&3*@1=RUUwU zKYsi0>%{Ll{C4BF3%?HhcHq~J-&Xuu@f*ZGz45r~`RIV@$J5o+=!m=ikT$MR86lYJ`<474bNXe+FK!i;OXy)Zo@J>NBscG`&|!Pt4^q9c zKU|sihg&9HWNs-=3fgu`mzcX+dV{$o(q-l@OIX!8EdR~cLU$ydn0+fTb-|HXHoH{1 zFuST}+|AcCw%ra|yChowyw=hi58>EVdB-GjLkOpO;uyYSxFKnxdJT7B_T=mdls%~Y z^gYMZvP^a(|BAIADlwr&2o@sF`XS?fkbgzNhq{I#2o8v2uZV+xMc0SAh9L;V;nRh!nSh-hYyAWC#YDaJ0S6O*hqs{E~ zrxm&ul(ziod(ug{xCCK^fzvFn)f6_4Ftn9@{gC3P?Xxm2KR71B3O5cZiJmX9>lQB6 zw-Wz_Gf3>x+wZMDD$A21E|eAb*;8doQp7c7#g(2ZQ_hRHW(R>VL1DG$t|>uE*De=3 zMSkxL4X}2j?ZBx^tUbsdJab8jD<8hb+5p>)=PoIqkzSoG9T*&*92|)x2S+0fOQP|> zlF@h>w2;1I-%&^t=^OiFJZ$~-t?Fafl=Db8h4s}NmW;=1m&D>5D17YeinHbVd!A#L zmRC^viO=>Wek)gB#?&JPW`D_~N_UPrQlt2xO#)Q^F8UV;oLFDtAB%I@@B7R181lgU6Ixz7w*vZd=UZJAohDE|FZ@ z#rBC|Y5gOH6jwCRl}MjgJfVIJm_ z0?FQS7lr$e^*TH+_p7_UU#?z88n((gPhzs-uIYD-CzVHyqfdWHU`_QEr^1w-OyVX2+f9z z8E%cQdwHvp+Pal(uM2Nw92NA1Mp*M!q7}z%Jt?mv|5n)k<#r|2-p4RGOqr)=mZ(}2jIZW}% zo*`E~8zcNjB{ej}p1~7StM1f$J<`wr0j{q>sKpjwV=W*yeww;mge(8!*1Y8Ena^HXjpu2}hDYIoykwzb zNjzq?CM`Av&z{y~vS-kh8q~@)atGHG|McgW>$~=K<_5p&zjj}#K%#nZmA1u7R;Rhp1YGj0kH-tyxslgvb=!})skvqMTv?KU~K?T=w z7GE14jN2b);T=ss7*|r`<19QF9*CFXbPWZWvG1<$D`x_K0ki& zoBa4q-^KBJ2HpFl3%6?@$5`cG{jqZ&o==khN|yHHIYg4Wtf}ZA;|w&|es-(&&`nE2 z+jv|`MBm@vJt6Hw8U<-+d!K&-P4w5d8jgcIaC|)GClZ7Lwcrml;5gnx1NI8s^Sxbi@fW_#?6U8>f5P1T|NgI- z+x^r3%-o(bO1D=oruO#2#)16(R;n-gy(jvubdE6p#1QKT4HW+Bs5NlZScYi)m;a09 z=iPU7h|V2Ww)*f;yz%I$f_oI(4unVJPdvriI=KI6W?M5`e;&5R@#sVW|jmTq&;(agT(o#D2uKZoOdiytR=AsVZ~`wmebpCa*?VX>7WnFLEO=r# z){>Ryi&=TL9?3k{UOJL#i>lunj(I1BW3}H#p05taRz-RuUajr}gHA8i9nV)ZZk1?! zg1#E8pOEM|TM^q{--MKs5;yS7IFah?q36m8sfWJbC2pXzPgmjlU765SQu~&@R3u63 zh>Oq@PjwD(20fmM%f!1q@7^9ME@2+2mghdMNtQa(d6ps1a*?MOd6w_h^6ZSK_K7?@ zzjUr#%kzbS%slt!&a*<~S&KX?jCtjE z>9f3Vl-YNfAx{f=eiBJ#&6j3HpW>$xwT>EP0Ple9d;M4-KEiMbZM!o2_tsW^ZnviMbRy4nqJO)Q z=ejnny<6j{tsT6*!Tne#@+{r9J2TJr+id|gORJ^B7NK-cyypKMIcTGxE ziAx1vzf+1gebU;*4F&I46}(@?b!_@C@}_6$SxdI4`8Ckf*BvU7JaE0Z4${83Ud}r4 z9>#+g(KL>A;(d#!;F5Ayi^F>q&tqbYj`t;=rI(a5S{&Yucr+#m-hp_)b2zQV;a!KP zQtXHK8J?O;$|)_b726tvqyv61NKR^To!G{^6;_rW`0-wa-UqUB4q$t|h#Q7~<0bu_ zpmQACPl~v+@UOg-$pvWT_XZ2QH*h`)-5az%N%saP+JtNPac^kt}VLF<#AHryMG z8h+6yvzZNApY(`6$@8Q>De^S*Nzb;v%sfS(%+6EmlQp7G>Urkull_@_iawd0r`9Lw z9!7mq&ogJA#63*Zo%&KG`cP$8kyIfV4a{EXM-_&CRDpiP!qJB+41K5qeTapl|5Occt*-`s1z;}bk=8mkUWc5pOFnom>);kF1!D!z?ve|P7$<+Z0TC-Y=Ja2t6r2YOEY;_q{+l(NUjo3Sem0;@faB?%DX``VV?na7D4Z5_Y?;ccXi2%AR{& zFy0ml({ovk>w?+SoEohy@|WCezGQAqoyjL5dn|LQPb|~zky@797WZOa(6`9cvgQ04 z0qmdx(Le1^2%DIEk_Vo1r|a7?<|~@EV!WTF+ML{CFsqjFepj5|*EUwQ^&AV``r5|Jgto2FEk!kR*PPnuaDnMTP=E9>Ek!kR*T+N`uNSX)uOkRK7KR# zB>H>xeB<+9Q89lfjOV|6@h!skxZnzk_Y>OlpPH|xpEK3m-#+--2K+me#rPdcO@D{7 zh~wnv^KTxjrsPRge#m1ua3f_^o`i-iJ%)P(d=g?nF3cyv_r*`hm}Jjp3y!mRJI?2l z+>6;^z5ZbAlVZj``6P_V`TUbL55_+cV=DelwAhuuv^d=li*qykZS31HXN%j6Z1H08 z4W#Hx=WL=MvhTlSAFaO&j*ObYKgr$SGoGQ1{aq2~m0^7ln_y?A*cu+hKe4&w0^`{2 zUiQkxSP{oCFjj0?j1}$NedL@K(?;z2%Fiind=0&~)(?J-Hli_G9;6J~+85?|M9inf zWh0#%W1dHg_B_)0G^ULft&M1GW?t+5_gmU?$zr@8(U^?e$jI9%a^*cK}csuEFjNt9ed#*EbedrxG*nMn0HO}s%_0%-35Ak+XBX39J`hd5S z=K3i7`Cf2+uBe4BC4(K5`?*d#2H8k8-jB3n;F%$P42_*f@AuR1@^;tEojmZk#Guhv~^0cv4jyRp`lOs<59`|sVKWw_B z`1i2+KmX723$quc2>3rkIr%?t3=Ql2p97fp*(w!WPetV7R+NWvfH0Ypcs^@(aDGnR z6NL}P0mA;o-C_HIyW>Va!~v>%VtH;3P*!@+0_j&|rS~t8eoa>TmIczgv(mROklvG( ze)m1ogENHmMZe8CLu8B3=im(80@n$X^CjhT#2Xp}H>e-Hp>eQ-M(~Sbn;1mB`1Rn| zjo*VXh(?je0AmmxwM@?%SwL%WOpQgPF@bV1iRd}p_SRFAnM@+iq_RjOk(m+BBx(>$ zqNj*SG?I%+w30E0h%Ll@6x(qv&_a9HfN296twsEAT6c53QNLVZnJcwR*XWctY66 z9=Cn`D)ESlz*Qk05pj`-W2B&5DtJZt;1v}?(^&*Y(TudFbZX6jix@CPf>i|WOBs~| z?lNK(!7ZY^;WAbcT*fMb%UDHl8LJ2`V6EyLF`dXpD+H@(1z1H6VigTVBQw!aCozfq z)&r~^!6FI>CXrt-iM&H=e)|Tkbw@0tRmp3YSCp(sto+Q%Y*CyWJ8@;IO?Dp>SIHFSUAeB8tP(0U068Et{UoL zLp@kH%B>peU_%{PILfRV%5OvYSvbn8in3EZY$!YNhGbE8@+(~>EG=<|WrHd1u=AyHU2X%b2>oIe`W!mctcoyYdx>JhdB(O;54ovCDZn|W zZ7bmtFqx)ZY#a5F>v2-Zm%zlp{@7LmB?{@iRcR?>5~-+2|vVM+}z z$Ba_wluiTBk^cu>Cw!uSERGfp2<;5%?(%0CbZBdD9R0t&lr9)UDv@P$lXDw`_ z4eZd@wBz_&^H!p6iP<8A6$+gVT_@VXWg=z}T$MAH(o80VF(wn-Wg2gZ@+d>ugDAVk zT$<_ZbW*s+TY9sTms?{km7?51QErX5#CS{{yxd0Kk{fzdsV@g_sYmdZDu)yYr2&(P z9TRO=STm%w5r~a){P41Z+ z(BFZraf5siR-YtINHD=j0`x6IcRs1B0b=;6qit6m@_f zB6v=tX`a(K=PLmjaw~8QJg4!PyZYsm4*#i>oaYov$NNu#=QKX<_8f>g{9qN8j`MrE z|3p+eKQiL3IXLbBPlNNE1P6+^O8(>EISoV^Z^;j46!kAUo)^5LWON+Y0q}(y(!8aH zVJqK6pSkFCk~c>Oq4Sqg&QWKj&vDE*zsE?!G%KG zgwGE;0w{acv7QW8NAE*bb={v`@cN+H^3Eizw{3Not|G6RWCr zY>?L-$7zDSD16i8X_l_BN!rBP+l%yQN1lF^rEf+ZS$j|Lv>~LW?UqTh$so%oe15M>F|X>{tP*sf^0Y7+CQ%1MBGiOa@jKdt%cIs4o~;o4VpU18dWZ zak=zR76a?hdlP_UHrO=D?c7Lq z#&-BZlG_u>Y7TLmhc6^pe$6esPiX0z zkv?$dG~+6TCQdTuPRseTjDr;fXDc~0?!vwJdXUD+c|Ql2DaOW$lCtVfqrXA=-SP2A z`;OIjg0)T38&?n(YL@kznC1;Xhy;sutX5gJ0$> ztk72zF}fZ!zX=!T@N>VHi2cpGY~SZLXO-dq{7)>rvo)&>|NSEtzHe(*8B#x*iU4*b zO`IROvsse%w~tLJsi`Semd)WQR+iv5aa{D*(6>c7{)m@j^PeVStA^$x-CzjyJqv!) z_y5e%Jhmk(&$g^Q zw`JwIJuA=Px8kwJ?;^iHL4N-_9-EpQj|5ToAk}?5<_uEZaf;Hjqa^);@smQ$R9C9| zFBDrLv%%(-Pcyf*tctl?8#ghxy<<0Xcf53fxg8^;%-uz{K|kNkcubonBx1Nxdu`4y zwi3gQwH^8;*@*eS>}CBmL~Z%zX6uzNvHgRaPi3~z?|qYnKi7IHsicxg*0$krGXA|k zW8s}!Pi6LnAOCMGd|&&iX(cs1&C<7qr&%9qLVGtI=lwPO&C{&EZvHl0^w-uuIvx8D zci6uBcbv+!>wo!D--vSjyVJ30*sM>p+1%UCKC;=IEcG*+O|t&lADWQ*n9cZhUlZ@ITk@Clev1Cd z+W9L!?#^trZaJRWhHb|)+iu(Oi%RO^Mb>6p!WZM)k7u@FBib)~LY6mwD;C@G-B_&k zPhzoWvhv)SmFKfrdG5)|GyJb(vCV&u{Qd&@&BkK%4ryr3#T!NRZe@5VvKj4APkndl zqH{B~!;~zwvUVt7?a&&WkT$b+;Mc zCh{GSi>t_e$-p}58KSY#gfx`q64m3oLlyhJVYyz9clA|Az>Q$cv7vaXXV?w!yYx%c zy-Lhm@x3&Z$q?$z%`vMMdHRrNwUJ}iEAj-ZrdrGM<>Aac`*P>$5qbKNC*z@LY_z^! zUQXoc5qVZ0h-T*5pF7VQk!JvT))>p#pU$&J%k$tU&okb`Y*-B&R=sr7Qr(7USF&Nx zO$%K+s}I~&vv^0^B&_4K2)#18<0!d8a#>4a;G}vb{Gg>9Dt z^|}1$pSha4Mq>^@$849#6O6YF zTAt7D%gl3k?mXQh&tE$?F4noErzf_ju-5h;!rq79VF#Zrm@y{raTbIE~T8?;~J|-Hp+O^YDBmH#d&HVceA) zN6Z|I*0T9=9axt`CX_a8EPx<9r70mk-P)BR|e(V1N0RX7b~FPmA}7 zcrWe)|I5ga^MTz(@5YFS@7tKkkMn7Kunxr4Wb)&D^alR%IH;g!N!n8Fd zhymt%QpBBwe`Pj5ZjfCIEQ55P=lr-@13!+KoldazIJ;;N{J03ee-5VkadmBAc0K?< zj+mXqG}O6lTScA*eq7x)FguNTF2IkY=MiEW>Urkm$KiRznCAlgIC>sgm>-Ad5d%Mt zScEkPIE#>;Wtg4ujUt;v$infxA)7(S!tre-n?K0H>kw|}JH!cO;jIWa^c!LlvhYrX z8~P0K2wC_5!qH!TSKcZRlAxwLl-D=ZuB>5S}w0pbyb=#=?Cl%{BZ~7=(sCM9e^~ z59w?|TzhmjA^MQcCd73|XA`0i5u1=0gw)@)K17T{Vi21PeGF*r8qEqWb z74xn`CWG){GYGwpl0mrM&iaiU0!I+vRjCijxDM%TLi8b>O^80EvkB3MbT%RS5U~m8 zF$lwVVGz>2T;+X8#&yWO(qs^R>I_0(ZU*7=OVSKNn}H+vFc^dzOa`GoUzRb`jQTiD zzhO@^(`*_uP33%qgrcP9tuCOoe-KuhO|T#}T@t;6G#P}-^~K1w(-{_GuCZw=z7FeR zw3W`VFm1Ky`CB@}!nD<*x0TMYFm1KyZKX3TOj|8_Tj>l7lR?OIhbDv2WDuGRLcx$X z8H5vZmflg*zCH-oP9MLSOs7T9bkfIfrmYset@QDmX{$wVD}DTC+G^3;N*}+Owp#SI z(#LNmgOH8i=o^U1AhbIbnv-k+2_-T7zM@V5X`o!^-wkZ8gw2-zreq`L2N)%GnnT1H zC05KKQrO%-EBhX@FoRI=$pzak^P5#}J_&!0wq7U3p}Zi2kTVV+ltIY8hb@@5;8B8q zAVG!rNf?BDEC5;m+9cLL#k!~k#Rdjpnu8*X`Io9-_37W>9`bcIZgS)wI-C4ajp0mN z{nO#do3?uRwt7@!IMY@S-&T)m3}@Qv;oIs_jp0mNJ$zf4W4I(6XKVb$Uu_I$Z{9e?#!iOefQ%Pf6B*O@hKl~&8K`k_osY3&!>DmKR;fcHg;$IQz%vS-Nl|CCR08cvWSQm55#X@w@9mk((Zky5ATb z(K)ES&M4^I&c4XT$#bez>j@2bJF6_*ND(4yug(D7_-m7iXm>4(h$q69?6pKXFj+m7X}L z#`MHNy;pkTpc>N?2lZa*iGylPPaM>{rPtd3^U{}YsB6D*L$Vaj?S>s^VXMz;?9${Ce^0!LJ*?{rK&}uM@xL@Y{{wF8n(1+ksy@ep~Tt z#cv#W48V=S1;5hy@$`}VV4$v_u}#`$3a%7E*v0{Ac3u26rwI|Fq*GBeH@s6hh* zb-m!FDfu>u?#b*P44x^S=f5HYwOKGwo9@OyO`yBwWT1}TKLhph$nV^hfojD$bbe$x zVxJJPP~kQb3l%P7q2h`$>*3qAM&@aY0$wPXlcaGXzo$#KYWmui zLd30?tt<|H&qmowOjwE1E=SzcA`X7fTG=|T#jQfzP7w#cXOCYs-gTgl%Iv8?5Zd` z@jz`gvUPDYPb2sWz!|5Uc{-HAJSFC+D&1088q`N)o;C~SX)D5VGfyLHXdff+$AWyF2<%V3|1xM#BB++P9vRKx*`r0>Vrr(YH9Q!q#w`xM8> zV4ou2I&eLtY0e{M>{H~&?eJA*KgK>qK6E`r`!e<^T*f}FLw>|Q#WrJ~!e#8!`Y&JO z`M!~6pVoava83>E)B3MoQ(EZwf_>VI{N5Rl&^J5AKHcXo9m(8_#j}Y2$=opPm!!(+RLovH#T25cW^R z>z5?KKAnma`*ia;&OQxIzO97LbM|TDFm?>5zZp5hus>FfPES{3HIq}M?Kh?s`Spg>w)*9>kP%$g9n<7M8G~h>8J-Ab$x`h zPwP)br1RrLjD1=s*r)4<_R$fBSx5aj{HU(yh{H^BmhPN?+zrnf^CtFb`nVgPH^!xp zOUK_-$C-{smT8kkW`_UYye1CB<)K5d?i z$z_K-l~iXZt7`*id3Q}TVWPd7_j&|3uibo##8r>)zj z8T+(#`?StJZGC2%+qIRmPg~A&JBI{|bn~l#%aJ{COtM+4V4s3z8e->%NZ*u|zDcAH zo&s1A`#0(7Iq!B8Si!Xa=2tmeb(6+Q73nu2ed9T>PLZYwJYDK@;R`X&K1G`3=t;&e z4bj**?;nZVsk2W*^>xzp8>`R?+EYH92qXJhwGEZ_f6*>vVKi)+G3nmieEHJ`w7kQUb^Y10YtR^bN+R_CQYF3EE? zTv_CXgg>`=GHKvdaz<$w_x#{j1uyl@BeiKzKAxyi|mPmulpwPBC68!of>5hEK#7jl^d|v9@!o1Xg;H3t0@KV=C zqY*!B=BNIOwOjnuU!yYPqe{|$VvO59@KS007)5OR!Atd{y@{7ft{=Qq<_cb_pYc*N z8K7;)GwZo6i*>p^i*-u8R6lsB0q{~cgO|F6@lrGM+?kc41>dx7l=D(YI4{*d z243peXe>O&d8vNlrH)O-{8UHy>nDd4j2~D(tPc;x{opkE$L!VyF#i0=ul{J1@lySQ zm+JqOc&Q`qY+h=^1M*TE@Vz0Emn!l!@KPII9?9f1{)Y2X>r7ti^~KCft;4xSywp0z zOO0?|>S5xgMmR4O{@lFO+a@oS_{w0gy2Tve4SV)yp4-pmX0UD)4Ax3qFE$#vuFvh_ z*C6D%QOooBZl31@@KVX9#7nI+d8yM*%zJl<_TGs0CZ3?qHqFVTd@j?5f=Ma0rn%dc z=X#On1MyOa9}O=x0KOmbQvGlnvUsU}125H|#Y^=Yc&Yv@UaJ3T@eUH-2K;L?d8vK_ zuh5^xOZ6MLm;NkXs^7rA^anC|seZ5v>7Ac*7{>#%Q2U-kyh1;imn`lq{PQ@4gG}pS z@=`e~*4Q^qUMjx1nY>gflLy^r@>1zKGhp&kHNLd*9!XsIg_*l}&UpalErgkCbTNd%>#lrM_wtUi|8EwOulZgonTd$no zBV^=h5zjBA)w5W&Je7D#6?tO4a*KEd&CiEc&zPr;uYsPOC)XERxW3Ssr%lYeL!OGr z(^3F^p)pT;?mYQg);kFMIFGbm+rz# zbr(+0u6J2y3#6&pUxk;t%D`I1i~EEnFE3eY@={G+D(*SUy#6s4~L1vpRGaf&%__KI5Ul9wuJeXvr@ zk5QaHhRtw{#mL~)wVEb>Zqf7Sbl#3>t3_`sU8`x@YSG(D*J_%!TJ*NkwVI}_7QL-> zt)|IKUA(;1wU`4W6}xAOmpN_t_G}Z{ESs*=%n_&SG;?UWz|WCYc~X`N-MU6|**`Fi z=1if%6L{8>&J-kykY&A z0;}Lz74q?XN@%v_eB*KMt<`=ITj}Gshs>~|H5XIM%=7ADo>%(#&9v2`=Q`@+H`7*& z-d6hf&9v2`x0ODAGkK|tmY2GAO5+|$$)9`p{JBRphBIyT@NM;|#&D*s9=@#})fmpS)x)>dqZ-4RwtD!s zGRJTalb5Qd=X$Aye6Ckvdaf7EDdqD&6*i~T@|ZTC40B4g`Jb3mnx6m3=dG=s{*=aW zzWW)&sjh@-tY_{uDR@1t*A<%QYFsx$wexv%wsbwM;KQ+bbKndTk5!wWm&s$j*ZX|y zb^boz$YU)utQ#SYY2dM1#k+kQ)^5)O%8zvWDH~_9UQui=OTqotQ4w|g|Ji%{=%|h> zU$pvk_0j1gAvdzz23Zi)NTLxR7L33kK8%FW7m^S%CWgq4aj-{L2n*X-F}7*78UX?e z(I`UZLm+H}V`n@QlIxqB<>x2KN$yOBWZnRtHH!h*L#1A|46^z zuBy|0x@o|GzzR96CF-22>RlgupL42e@BP~rFAeZg#i_83QMblu$~LSq-VE-m7^59y zmtT8av}d>%$3^SwdvRQ}7QGk8MeDYEaa^>j4^9%piFabHwXA9C=2zXJTAcCo z{|%2i_`kra3AG9g=ZAseJpaiH?uXYr9a_--&zJsZ>jgJqr$4;q!pujvJl(NiOUPVB z_nm)PxN1wN<6(8};QzWE{9oW1u?_T236F$WxTgg6C&dbXtOUBV;>Rsa)(xRp!$xVB zv0-3$vBCINwnRRg zE!iwnvdL$5BmOMOrlM(+&9a)dWSUAgQ)ybVxd=3GjJw&MOjBV~r_!{rsU7@Z2me>Z zw18X|s(0qhItTw(V2L~UzgUkY-fh-<$ie?L1=hUQ@Y_#=3)J-nTrX1Bt+-yQt|3Fg z6(-LBzU;hBSgSzCssX<~SYdJB9bu5-l|N1yLH)ESlHunhjtHm6Qz6p=f7xz7Ocs1d9 z756=Mcs1d9756=Mcs1d9756=Mcs1d9756=Mcs1d9756=M@P8frU+f3s{vOKrN(atV zE#v3OHL#lq1k77p!qR6LO6 z{Z4wnW{Dr_k?}z6e$AFIE_{A9b>>HLbBO-cd$sG+7JI21(zano<-k+#ruS?f8P_O7 z`b=}gjdyu{HlJxVUpAjI{Nhgajzt2?!ab9goWymIz%4*qXEhRc`2 z|Ghaq9L2xmH`K#Pz0$4d;Rs(?yWu{|!WYgK_`+A~b|cjWHYUts1u(y$Zy<)ZDrZty6PJoekX00|nUR~Jod^ud~G?>}( z81HE?v)$Lm%pPz2>#_$4|N6NZd)W5k7}JW!AP8=ax0&qc7mK*Ydbe*2nltu|g!Fwq zTUgI%74x2tJ*WAq;0=a#Zx9A%NcGT+di)M+yFa-<3%+4{M}T}Di)mN~A!V-oD;no4 z%z9u;#zS=P)_^{a-x>IQ{CBW33xbYE(8=YZ9)3ruN7eVG)Gxh3{V6H+m)xK};a=PO zv+4%*gDLfEZ&1H9rGE2u>uYT^zuANNS6qr0huMJAHh(%mx}cIjg?(B3MSHdczXXxQj7hP_emN$+99i|f5c)c9mt7ugzW9$=rL z%!u^#>4p)`@OmR|wxex$haNbo>ob;Q=xuv-JunUOQM99HH~F>V`DAfic~1dc3k6=a z$#ioJ%`s}k(;y9Te$w)+^FH)+f@O zuty(Tf;plw`@{E-eiH89>ksFQPGWmU3%2hJ4)5#;tVCPoo=sw&SF+A!KFl}L@)&7efQb=o^9*9&(`;B^c|+fWBHIL!E21ihcW1e#I9b6ab#m08D5E9P4_;G z#lo&$iScA(JY|qKok6xqUXbU*xGLHH%PZz6x)@V7#y8xZ9}snL@52~R<@e6W29I=% zGpzN6sEqE71?AkY|L)R?Ia53$5B$;}Kps1MxofT_`f4K2m|D&+&Yeq`Eu$uQr+Z3x zE&5XC+9djtjXc9!BA&Tgdd5)ChvyI1W@SF=H3cP;OO>roDf`;~JRVVHRVih`19^OpDqCYKn-7|^-^k;+)Q2ZDAGMK# zHZC>@Tq4ot{h+&?%3qg#q&m5vM>0|7Ixgn71bGjD4!!%zSZ5yb0O|B%YvaKrF7UeB^;{;zx?bm9)fTH({9c@A;=zhii zgJNFkdgXzGJj6dgAm$SHkG^q`2iX46qPF&JUG1;5McQ9&Tb}t!Xhr6$q4~fHTej;X zPMBfKUK`;hNXvKqfX|`ywZ8yQe|2f;t`mGu`|EAp?d@$VGhYua$_#~OQT}VEd0^G~ zPZ#bwm|KebWxIdImvuhVF_(V3`^UVzb8|g|4;FYRpUD5Sc(`*Rnv-pijb7hA{< zUH)XN#>Td`7mtDV{3l=Z$6myrSan`?-i$!f3YKKRcf@kF~X{@WQBlz$)U-2*9 z^@?Ao@{UCL(p`Bh($*F%-O}M-`rQtHQJefWFa2&C+p}XwaKX1;^q0N#qTit3?U27K z1KqNh0_@Dz9e9X7xwz!pG9TZcOABAfVUZm#7BUvPvb2mXA$eZ%!VZ7g3vK@BHS2eX z`pZ)4_gu67E294Ll=>x)@9@WV;1BabeJOuIV{^X#s(;CA_{05@*YeohP3r!&9c}7a-sn1K;iteqii*c<~{dV3U$&4fDsH^G-C67G zv}82|iQdXG_GstNdPf(1yWPL=+p>-2XoK=r&^TV(A=^biDeuwFkiYYj zQnydRcvu3A%$;6L z9e&xzHvhus+eQ1Uy0-dhZYuV)`OBYg^Ur^wmB(6J1s?JIiq_D>FI;%3f}hV@EqHz%R;wwChz-Z`lg=sF?4CsE>J+^>>Q;D=|hf z-<`59=1%ZrRTqu7P0*>>v(;ZtG)W#hcWNcy-oRrUHi$l!RBQ;%`SwO0+qhBO&#Bmm zZy0!6&Q_FAe>Y&f8$udBA(z4%A(P*Jg2$eCLe!mG@kD6ew>R_H=FQ@MUd86nqhH5( zpLl{jx+$d1qu*@Cc)tURM4L-7A9(3q3gbHy zZir~J=(-8=_uH8+d8!HVY4?B`o}tffWV&#q_*Rji9>;pS#mu|A^Brr)##SjA%z zE%0m=k5yHPdVz|n(9CD6d91ox+|R72mTgwBN=VD4a249D+NaH=>uSi>v)9M0UR|?K z3)j}N)ph%{BKl2zfURD;Px5s&TPozeOY(Uc@fm!p*c*}jM4NQK`lT1;{Zh8fUVnK? z{pG6u((lUp%j5N55x-x#T=KkPZ&=>1k}_e{Uy1tVukF;Rjpd!MXe3*!_Pi=$B2t~m z_Kw0T#?CLJeXZ-i@mR;}VqeF2{*{$W7O^uO9c{Js)2}QmD`&k?PqN4~*3Y{2K0QP0*M{9u zEz;eWjW6td9#_c`!i->YvpxCvbZ}u3Hung!NVS}ClcBIabfJ^5!KJ_SH8(u z`Q!&gx;#)U(v^Smh)7pe)rz$8@l7JFdahlh)!%(hq_u<3x`Gis)}%^^XGWh>3e%rle{~=vx9iI z@)T0^W7S(bJAQpp{I;bsrLF(`FCu?KRZ3g`&;Jzp8>>^=ihbPO#<17#+_U{kC1X$2 zzSPZQ-QA)ul@;BhFU!xNUChPG_hmm;{kiN%<&SoD6l~uf+|2e~e&jyveLwt3U^CW> zkq%z?Pu5d>=VWPfr!Cl_fZB|kK-p>oGy1F|=9b7MYDH)@8Df>Szm3Nt*rR<-uwz=R& zxmk*})siimZ$70@YQ81l<+68;zu&Wx?hhAxmhDcaxnlQ=9BUUb7fUN% z3_ZF#nco$=JMheOi1K9>9U;PRUGk=;Ej=0PC?5`WEPE%^u{wq3niQHfDKzU+XfFAF zsAK7$f!+^6@85+wy0`BLF2Q^+q50nNVqgi)H`Y9~M`!F`@D%O%tbAoBTO#K6U$~Ja z_+CDBnn+ib%ol0pvPVT))zB=`>L<5|w08T8BCRKRfNVApy(N!!GI~a6zREM0hn^8J zcl2C9F2psS3zE&{G?zygdZGj3_e;umCC}Mg=R|(fs$H-0*sHIKxmy95|M5>mesg6~ zes}2Se`1gj}wmXXFL>jI28Ks(3~!-$IIhRGoXZH8L%itbLAAy{T6mnWl_irxt zEPHu7k8R&B=J1h%i`ZEt=ol zo=o%U^fXHq%_X2&YNz@1Q?j3+S*mD0yk$o+&1cfnT%c$!1qSZP zHgTsH?M`0bK8*M6!&`ojL&bl>TwQQ4c(T=;i}&pOO`5NS(#JJloQE6IkE2A5V?M@F zVjstb#5hW>D@Tz+dnB>v8la-_Wg8Swkvtf zJ_kIUv+3_~KJZVNs|)UVk8d#PT&HBc<}0SO(Z<7u^y6@Fr`_l0frqp0c+D+M^4SJH z_H4z&S&wa&JnU!?Je&m{7B^mS&su|h4e_wyg1ZcSnzjDI%(C^(9kbWBnZ(ms&%ax^ zXnk7;oz2ko!k3fxK(oNZS?e$3Oy{3~(S5-^yRpG61n-LLaHd4*8XFI*#MxITYe>BJ zit*kHC|R6^aX7fs^u7QFaecMqA+TPH6c1;v-70vv=eerFTI`#OvFCBQdbp`@*bV3* z!>oIRL(kZWvwgk;Iz{j4E5*>H2&_sZtROtXq08cEBgB5+)1dW?(mq6U>lurHak=z` zY*vQ!5q#5#2EKix0h}wBLD5L(WrRCj2Ha_~nH6O?CoX$HofG2hw`}S`zS}CpId9oC zRfhB2vVw#Bb*l{Lwq^5F8O~(CkzMC-Ui&`tXTA=71uZ; z-er|-#eI<~+lK4e2l*>j*-qR~Qf05>dh)?!tj?iiR%Z2k$!=AULW zi4pyrgFB7W(|=2nO{{S^Fi(^$Er1Ly*pkgkkAkX&cD#kx+)5UuO1_ZzJ<0+T~6x^!qrb;mn)j!jfJcKa1GWOcA7W9E~jRPI^S}eb;hl?=)>49JkfFIY8JcU8p}960nroAxxi%S^ zYm=e5HW`|0lcBjb8JcU8p}960nroAxxsahb=p)IykPXPtT*y!f^29oxO@`*wAijp3<_%=%4;FX&0aLsiw0w!@Ofsk8Jrta#^5^2ZKwaZK6r887m*aYY zy2g7bjxXJS>!m6m?;*mM7BpLNU7@b=9tswjJX6U#$%eq4o^5hd$-c;g3D~6MmL_eqbkO>T;dM2X=eZI?D~LWJ}g* zT@(NhGA3oSnMl2pfxX2LyL>U8;{eVran?iU%VX@Ah==p;q@K~DLeHp|b&u-%SRWg9 zMOjz4F9!^~-{p#oG1!c`J|EGrR?9;C^Dtf8>iL)!p6qf*@@;uowuRmJZN@&mkJexyZ=8o)1NO ztTau`HJ4as4(_x(N6Jah3$L0h@@Mhdd6APVs12455Y7#T_a7*rPS z)UrwbBO@U#(vt!CPvXgamYrxe?5=ZUJJ|_*IWL|MfnVpNXDJqo>b^p4GLOqvjQeC8 zzC;^_tqlWX(I#7M_!4dS>}@EFJn_6@EIQeq!Zb3&-cEXZRBJ3ZID9(Bg}`0*(21NW+XevDU}hE3qF_dzibmA5(j!sBRW&nf85B z`sXQWpJacYtUaGCMw8d0aKE$Up6^!nWAuK|?EZoL+F0N5{n$9+aXLI2e+-xSe$3&K z`2LCWh6(l@#rIpIduB=%!^(ta$xZo=A+(YnrU*G*XaG3X`|`!T7TDCpMq>)JT)$q=tc?&XZcp3K38 z{-ef)cGmmjzutHDWD>J+BJZ1>J=w(Pk+Ub8_&jp93?6sjo0&vM-^l^`*BbG;B7WhTWdfm#`-^l&)6T%u+mDW$R$! zNb5;gF(InU9=evW8QCV6DXEzd4=CB+9xk6Ui-V+glA!;V{S>6U<7p3p5R-14i| zb#{Do>5ruee=O;bLjG75K045@FX?vNatj|F{#XfobcI{4@X@1sRv}NqU{AlUv)Z8V zk#3JcVzq&FU7`&u21%;jV#22izGBkvMNjy>xZ}QM{5;{Kd+hd4X2Sl-@~6@>Eqruq zPnH!N&dLtxuwB%Z?V|3o^j&Gn;~x|NCsQV z13w1F1!2AyLcl3)-K43aPVLCPgbuC=-;=^W_Ih+~I9LhXw zX5zZrjGCWhDO_^1pUTY0!9K$@!rn~6CI3m=@K5x>5U|6)0bKHK;F4znm%R8V>2b-) zj+W{Yws<$663Cju1&%n$HQ|SMP2p`>z!#@_WT#7c5nGeR@unHHZXH|mA5f4@J^G{X;NW=39Ghvx^_&)P%4+k(uT(tkN4tX&9c*}uD_ zJrwn5z~Ab^^K%hrHDq^fGB4k&eNgx`@mkHp(+cMp>2w+wQq3n*o#;Oe41mgWn)Xe! z^Ay?vheunGSM`3xGdwa9coB74vQX#Ade5nmU(TTN`M9szQtu((>lXCoDfHz9)SI7+ zdXIm^Tc}@WVdahT6695F`iNgVd$xE7>Xg72ymHzP_%uD3nRkH`?wQG!iZS_-SGC{*=EAtV7-J%g7k>ll6>Sz{YGIuVX-r5L zHzB`jHu5nJ+>?8=7!$7jqOTk9yQAfv7L2J?jj0}aRmWw2htCcLsIT>{sJFYsb81MA zX(jHfx=O^D>a%`#sTE_Q{;u4LdM|&$>uF2_a!lpOtJ?Jizc?^ZOnoiihB}R(bHea9 z*=#YUV&qk={~U8+TwaMW5jIWnPSgV)Iq|6p&jgJL>B@TKR{@ut#)SKTH6~mOIjDaf zzdKX{x(VF(O5{}?DG}I%ctMR;1M`S=Yra}ado*A8!>jSeD}kR~y%%`ns;ruDToo2M zmDL+b7otH~S;)n^WbDuJK<#1Zp>DoT&$JW#o}&mZf18-dZWSB z`}_Sh-|Ghs@GmYFBSHi{Q#BYv&G$4G>Fo_x9fc5$yPr!m$X39vms=?kuT zBkHe4xk8eoZw~sa-|Y4G^bLyo zYgPTVRR2xX9~>0**H*Izs^4(@n7{gXufMzRn5f^N>WlFoNBzD&QNN~|)l&UhjI;Vk zufOt8cM`7Y>O=c@Y~MbCow&LJ-=gkr7VeH}0(%~CzEy{Mc&w*Klvh>sgw`AaUeUpW z;(krV!BFk~s8)qOhI<06_CQoyL)QmOSnV5N2+c<=s}t>iPu|z3+^7QnFm@x+C~&4|9aG?mfd{lcVZr<>wbeCo+=F$l1g@?}^YnXWvHr-1eTA{U_hfy~ z_A470t2OTvX?^Zgkv2@9Dbl7G>yj9_z?`iCu4JvdP+)q}bSd!*T)x&XG~n5 zTImVS6Tfe+Jsjoeo0yl{iXY&69u3tU?&q=oevwyK@j+-I@OaUOminapfzaBd`@s;k zRR^52$KTSljqmge9MAf5{T*w+-`}ykLeQvhIDCx9jvW)U8!FC(8k6qd4ppxe^%|NE z5AoR0kf_&GF%(*N_%x55J}vIoRh$-WH6QKoSpTMMr|Ecq$GVgK9rV5+zx@YkJwn(K zSf~07S9r2FOJNfq>~oo}a8_nkBnNAd`>_Tw%t=_YWk+W5M0^>SVTQB3nUP7TlZ`rr zqgq>o)e)t2$|kTsDzM<{w12)-d*p(+zptAx}z6nHXI%3SbOxC*+}=t z=NB~|J=Q^UMAy}adwHz4SB$B;qBm3nEVw#guhswyt_Ji_ZdTzvSanDbDgJe94Blzx6c#C z+)!*O;Fth+{KOS3y_i-I8F69#>%ux1I1fER7h%A42@JT^z&NQpqO(e*HJE?;_JUud z)g0fxMG^xpFALX8^Thgq%JOn?zoK2>+T`Wqx}rUf<(5~7`^Qz;TwHHzk7Kz}?2gJO zRoQY}Z)xY>Rqf?f;r>}w)`08h+v9O{@;2c9JF2V|*Dtik&dKC2xh!^qKoGr^`dJ zvXzq8%LjJnDZYGd(Q+2j2?tHd`QkE3vn)X~4>TWAG`|L#4=u82mW5)A70t4N-49tb zA6c19b4hxd`HJQY(9E~fT(Vg96EyP`&4-q*N~T$!p5`<~vj8-w*=d$1Xil?eE~^wY z^GH?{Mwdpi;+1o*k(>a(h}H{)uT%-#B5_SJV&N{4j7(MeBp(*;63K^!yF{`9yd?2k zk`3S_S@KKrsF8dCmnj1>Tu`BlHN8f10(>SNd0zt$DK3&mva-fR+#A<<@jH^2I+Gjf z*`fGI8p%u}FqiP`7(|NblkBXQZQ{OD$PSnKOP7eZD`iIqpQZlNbzbT(Ej|M~#EOFp z8){2`nL+wXyX@#(%8ocYlQikSv$KR;?DoR%(N0rgE~V0xI76=U5_8Gc&ud{WDVl`2MDL%BNjjtV zk$18@Gqc`pn&J;(scDsRzn;Kgii~_l?=y`njHGSkyX&I0O;png!jIHtd9R z#&xY<;Kb&LXNumsm$hscA7)yB&dZoOC+BX&1)%3T%X+SrO}u)pwY1N*Jg0Zr&*`uC zT+2SV(m&VZ-=6O-w>RZ3w>RT1w->z2?Uml;_LjukqqPD~ZPa&86W<+6KIJ+hRR<@( zb24_Y%dUgd65o95JLh&w9o!gB0O&bnw&##RC&gG7_6c9zzb~i%DNd{Z`MIV4DOUQQ zS?*Dnac%w2th=TEvBk0_{m*@-)c^3Vg1#H+fO694fM%uD0p;G54k#Bopjls12b7ye z2b7ye2V~{hbwF0$t?Gcnn$iKOxVT*(_Cp8s>x&c{D7_Bo>_~2^4k)*zzhrn$w500? zeMSj%Ky#o2>PfEyia|I1KOp|tC|uq=d9pZL#4Z!bBe(sN!5%-ibV7q8I_9b1LtE@_&uo0TMO@-1LVoCiaOU(7&Ya@9 zAOvws(gm5&1ZOt+#7GX7X~L5SCC>4IjBlP+l1b#y@#Eu8km>2yIHx}I4{x}cmS zT@b}iot2~u3S3tgWL~8UD!HyMi0UWnf>8fDx*)2btP4W@>*#{0ezGnI_3yeaD95G? zf?nt@>w>O|vDk%gWl+0GeNZ@AALP0neNd_{sNbdw8sM>k0inC7uOMB}Add|Wiu<({ zQWsPUJx48cL3Qs$l`bd>T~O4f3$p8(`crg4XKqRtRChGm(fp=tr|EbUx}a!B(P6{k|hqx8mgL2fe(x}QmrZ0<(mlh6yf zm0k#O7DQaF>*$4m(H@WgrSw8f=!GQBgkH#fUh0J`n%B__*=Z`hP%2HS7jmDMdLbLl zYw3mTG?iW`m8R4Sxz9_zkd5ZG^g^I1^+Iy2QZM9A=!G&!FSO?>y%5C)aziiVCcO}1 z14+G*j1469LfJ|$l>JAb7uqBAly<$4Tj+&kOpb(J$bDYwg{+tY*U<~v<7X(nkXz`5 zB+Z0g$bDYwg)Exa(F@sWD!ouDO{o`hpO<9}s3%QkE$eO?F z=!NV&QF@`&7#C76V@1&FJz;6ExnMP<{gN|A@xGpN-qT6 z7T$HWh=oQvZ=n}*`8?_MLgA5KchBgoVi}vmu$?pIGB?tGf;)o*-0t?bpgwDE_IKjE_}@(=?;OV~lU;<`wF zo^1OyyKO&L=Y6p4w{($iSZY!X2m`(Z);MAY>B|rgf*XZyuN}`fz5Ts~A4TJF+wJdl zQ|i%Re{bn2JsD~|njDYiBkD@>5l!#2VEKsN%(%#}@?IPl`6Awn<0AjPdvRRk^L8(e zi~PjC+HsNI{mbb;$RGR0`VVO{N4`}wu9zX;Q$pXu^+MPQB-+!{zo)GCA-$*E_V=%@ z>j;nrh3mj73V^8boi-#O*e z=JMW|ary4iaZR~L$2H>~9ar!k9argBJ}&!rF8w;(((}{zz-3>DTkl(}!!13($1SmR zmc++p`_37+`<+X?f35GF$NJ7?%e@8ZQE89iPI@1v|IS(OdHRlUyFHKfp2vGP@t&98 zkuh%5TiU*HW9jS~U|;lA+clsAU+Uj@+drK0PGI|oJq7(YvVX{R>>tLKkmM-)2l5#+ z*xy{-a~=B!@?}o)frb48kIn55156;*4r1=`yy)B%KiEG)8;G`H!xT1&+_8bUGybrS z4Mf5p_8zc-V9F1l>;x*wXYpTM!e+qoiKX%`yrZbRI;EWaVyT>LxYCuAZ>;>y`z}fU zXP*k6SjP?`?i1_SLBJ>X4*SH~?I3`0&~NO)pJNB{rF>%3*+J|9enZD<%?_g2b2scDd~rJn0pn2NrF)WeiiCd%otl}j9r4&~M+A1YJ?5AdHIl9(xVnU*ahPx{WLU;8B4?%3Bp zT&+!Pu_!#sb|DM}zzFe#i?Q0!? z!U9T${TtRg*7{I)tMy?vtq<+E*VNwCwn-KyHQ9jacH1NilNxfAz@$#tCehp_*(PP> z6uR%vN$@%+J+Hk2%SK{ectZ~tt z>GnCxQt@CgXV$p9lNA1(wLZ+wDs&~aF@AGL_D{~-CGgg7M()VQ%9*=cn>(`Oa^~*V z=8kN|oVmNTxg&eDdw=fi>qCjVrwRWm8DE0@tE_K0t#MrTxM7-FuK{<@`i4`S3-Wa# zn>RUkw)J7w?b^Jl_*6FAZo{&9vuwMwlrSYa*5-=|}OMy}fU_nmgOKJVSlU z$8ZjmE{?^RktQE@bz|x5?GWevR_*QF?AXW{)5dy1A?(t}f=F2`FC0eV3O^K~Gc|Xt zFfIPiYK8wZrBLDj6uC$LB=g$#Z$)r?Go0N{jn5H4W}h z0KVii)5d<73f!Nfw75S9FyR9GC5vp$Fx@Pip^y3KLX+_qDCPsjNjS{RV#3~`I1!eu zShx8B?OEC;DcqcH&I4UsZ;NoVZ4b|GBfe=yaX&ZB{;9wYnyMR9rkYt(re^y@ED73k zklYRXastJ}v!W71=l~O#I-Ube#8p8`{t5=t;;y&*sJ|wYaU{5kBLSpa5k~@XC0cU> z?(hRMjR-%$`y^IRcb}W{umS&iijzUO@sk*@G%2owpNBIa^h939zK7@j?o!tM!1xjS zpUJWhDy9M2`O0EDFptDSqPfgfm_E7ToY4%nHwDLMy~WEX7>kTfM@)yWA*RF5bt z$J+0m5x74@qalgLu~1{u{Rx5lgL?H%=lVEesR&G=nu@;Ax^u}fAt>HN186sbHqCL( z(K8)QZ=UIJrjih4z(wXMO=qkw39xrgM;4_yTkZB^vx7;9mWB_ht^57#!460fz}&T zmM*RX;cSR9!t76p>mV?j>34+NpAy$$m-Rcs?oWy9@QPJNxcw<{9cW!G+9Ry~l(-H% ztun&szbdYS&GyK#TkHH|!S8tqGLeYukRHG1MXGb%xDGbiaqQOairpH$+iry4^S|jm zqeX=hzsGCC;JI1+o+-B9TKGK%@OxfEA7WZ=+-?nl`mTZBlU{dgojFcCyEXfH>Gf^m zuGXikb48m?obHzT^q9c8h{f)tT^#Ws*)A@-kSE14PR|P~jxq5f!>&iS;uu4Zo`_?d z68m>t?BWt^Q!JzzU1S z?xg*l!=r>P&qU-A+4(s^ggql{0IfAD_xNwh-jnpJmaV65NLx>hNu58% zZqbz;XclZdEjv&=pN3@zN_8wd(5y^l2kN_nIC4HIbGK&)npoQ>Y)F(HXijS1v!xwq zcEX<~!)Bi%o}2ruHGMWP@RS^9C+t%Ug~=4lvHI>y>>0#(uC_BZl-(!U`x$mSQ=hWO zgguI(>^{Ad6LzM=8%wt6OgifG7rGzxC))F;w=>PO*_meAWz0V%E@PRhy{rdQ>`Z+= zVQ=c0Y#J5y_1WM^vF?M!`s*$!+|tZ`*dR(7V@!~@{g=J*OTlG;em8>y?uJa|LBsI{YCt{r1)U3YuyN5v!C`q4XCt{=y^FGx15!cJA~nG9fWj~Qw5$$mOZ zVs*psE{@f$!G3xyon1A2@NU(v8bADl_~&M))7XCpl>PTiW&d4}*8Y2svj3i5pzObk z-J}2YKC=J*>5M(>qv9CTipPL~>DG9g$$oyZ81~=YAAKA&XY3mZ>HB&f25#orpK3nD zoDag#hQ%~JG@}mn5vRVjZW52Ny~5rJ@#8~?&>Lf}{3{wqh)~ueVldG?!u5*Z8Tftt zcbXXrf{sVfd4P+0_#LGlRiBiV_WGsQt*^CF|MaH(D=syL{p`SqUT`+a*8CFY1FbN= zH^1Mb4TfOy74m8)kVf&>hreF@9mHP`{`TRo8-K?_9&I3mc&9!87ulfe$`%~9_%lFj zl}j5dB}r0vq{WAgE@Rjm^$vLt8(v&@8&TSC8lODarFnpthB714)2ADHIK!I(oAi;k z;SoJRw&UN-(A&CoJ@6prvv{NjejMRZj`$%7EY7KnY|g1J*_LP>e+Ij8jZ)Z+`;=Yz7D}^N=hIrQ-med5 zMD?zHeN%LIcxnb>y~gzZFb+Sge7CNLJsBAh*vHT4HjF|59A17>#gFwc-C(-3-41^= zusf{%Box*f@YjUDX8g5;+Gq5PXoTC^-TE14dU443{eEGKuK(_mJ1O4mzCJyVhcg~Z zjW_#Yp|DqXJr7$kqS3jLb&0fvMMPS{_J}kf+vv<$|ft`B(M}`e+b&JJ= z&FwP=M+}TVe|TCnKXRgPO5T+4)Q6@zg;i3%J=KDF^vU%dUD0^I$;o97k!!4U9o{zFMstng=T@ELE0ztD7 zWm8oduFYvVocyFk*<6&JQf0U{-^$^ZtrRaq*>_YKuFV&6xMeHFm!s@iRfcQx`5gXT zi)Izd=H=iK*2ePbnWJ$b&s>nh4ai#u>hT8DDazq)w*RuGFjgtgoSnnN+TVwS3~fN2 zqdD9Q`4lv8ZywL#!+7?{_KLTn{7?=*rT^UwQI31_NDj|~jkh-EJ&$FJW9-f0d$qqS zq&j4qV;(TM4qL{qGK~paoNb`9+vFF8zcK3I-t3|}I6q`l`3q=^>~)NnP5vC^x!%WP zf_lg^cbRyRwtn^;>&)}XbUM*|=5^G65@o1Ia*1-yCsUou%q<6@jo*LShp|7$fBR`M zlN=xnz5T>yE(x*zb3$TQWr%tF+gdQiw9 zjcp_A4A9t+mb9QOIISc;F65asE~MElbMd=V^`4Cw*A^RYZt$&o56ScJ2WJCKWvKI= za?h!=XT{hS<39L8ImY&`7~A6ID1Y`hya{95GN)F|^FrhWpZ|^M&te+ikj55Pq29a; z{NlE4Vr+ig2Nzrrbry>8{R8(mpia?d-h%suYHT^k3(npwc-F!?7t*+pE^gX@x<~8f zm@yvY<#kf}PM4gwv;FV%b zQ$-)jkr&+c1*i9v_|2*xeae2R`O05M-6ucitLXk08eV1L(PHEUw|tJTc6hX$@*6Z- z*aP=gV${xOKl^l5qo#G?{Z2euo>Eq^>mwdfWmPFgSUQg{c zQ+q%Av>a_v?9WQY2g+Nv>xAG#1M4g&J|JC5IK1@-kdMC5bA!BM;set8RJQh%=?RfP z!pK1J18o0j@xb7=uEAq%k--yf4Vkco&V>ClY>GD@&x5@%(v#CYdj^Nvx(5f_nlgt% zYco%WzTrL-s$6yc)8^ym17vf&`BcEOdAPr$it02RZw>f+2G5jK?tR-IdmDckBk{E99gVHt|F*yB9sG&=JXUo;-M=%$*1Taa!=pg` zXkzQBpUtY>W@`5>w0q`^Xt%kZwUF)kdZPKxke`0D4!@zimUCzQu#xw751uWdzS-+E zE4nR;?pmUI4s-{P3AzpSY;7vt21R%6n}hy({7ISv{^~b-d91fr*v3~^^oDBQOtzJ8 zI*K}=AI5VT?j6!#Pk$-gm&a<~wA=Y3zVDm;Jl5YY=+ss8hnfx#Y2j#;H60n!uoS)& z?hml0?+s~{N4t5fyIa(&tmqD{KDv*`_U#k*KFs&g9vX*EX@I+$U&_zMo_^ZJl~N>EgY1aC9*)r_Pa7AQ{V#FfW;iG{yZ{(w6g)uz8wD(|q`;`XxfOsc~v^mEw z(w2w5CejUsL6L5pw?L#%EG`%6=0{hH^ywI$QhGKz{}OWqzmTSkRi4gY$m_;)EuPMw zsp~&~#zW(vI*tE6;;C&AzkjCbWU>#&`o~57*5;FEc!PDl7Goj5-iTvkUPM+nl zvu8zqOU2pHxBgV*w{1B29*@2Ep2*)&@m{F&=io8kWljH4)2I*4e?8Ped};X`r0B2mg(4z<`{tCk_P-(WcRYRa7{|PdJ~UJu6Mbm@-_ai0 zZ}|t={)Yc7+i&=np^p5Ij|`(E zo~!#8n>rCQ`qNA6GO9e3Hhh1hOn>;CO#j0^&${EMdF=FQ(T{Z%r$g(HC(q?$$KU37 zr-}0Q6>oo9NY{z}uDe|5TJ{okJMX!-PX$JbM6Y)YZ=jT9PNj=#%e@4hSA zc&y^xQ1gERt$zfq-=6Mx?7y7up#4)j_UqZSSNQl$TQlaNndafl+ks}9hcg1?}?z$?+*^_ zu2#C&#zQA$jBkr(pIGN~rpDW@Q8b%Cv*wUR6Y;kD1|`kjf!#HV=GwzU$uy(sY1S&5 z)u35xry1>w)2vlAYmW3L)9mk)WA96hy#`~iQ#5Npv+l6f&%RKsKPqYV4eYK{G;6=t zCuyEejc+~}T1PyLf}h}1-J2I?HorO8vF^-yu#K4f*^VcnaR zo?7s*?#Kmq{gJ3y1>V&j(0rAY?zQo-J1WN!O^l-!{VS_* z|Ewx&!1eQ{$J+Z>ZovI_R9P#oUobtEpA_wLs$W)R*vnM!GCh``R3-K;)!6UQKBE%* zl4|U8Xx#Kp5pmADPYBs`pCH+k7}t$9*`)VNCFX?B>>df@JTTThBxUnNLN=TB;{9Te z0j*@y-JPIW37V^I?-!CyNt0w#(X`2C(|){P>@<~ZrqZlZG}kHFjMGdjo2Qd$D%nh> zxkk}!R2%17xa6l{OnPkPQ=A7hYlDZ~2nXIl!MjlYtBqLMRHOa>`bxrb7 zpsqrk&pOC(^Dv%!;y2030@Kr^SxAXZ1vP19uWZ6+PZL(9dAMboS%^S!LeedYK7Uy$X*-4Sd8^{jHBfZz+ zG}FpXLLP~atHGxRe9I}`dHwgYu^SGLHgotns&`Nx zV%6#TW` zOLX>I*=X_%$VNehlovYdtz1uMz5o5v*H)-Jk{3F=#rL{Vm-3>Kylj#5;@>OBH}fw0 zX3p@i#V4+4l~PB;*ul{;c1*DpG$$F%Tdmpd}umWQQU*p1)Liu-0xiTh?|Ilh^&`S@ymGl>U|Z>C3!b@KBQ(eKX( zKMRLPvEq2TPe%W!tIeZ_vD-D@MvQ5h zk#DBMqlwKU^38O3G+sQi+X`PF(?j@}-GpzZY06%h!(NztEUj1^*YnL3Hb_>C4x4W#cyDS<+8omv zb~fl6s$TXa<)4|G>f@N+C(y#fabs*Q``EPW#OcVDa(Bo4GySQ3PwxY0^<6wWb{{~? z&feyq>9zbb{Z`-YaXHej6|J}&v{v-m*NRqL4y+XuaXAwHnZ%zY|IFOmjRTS=*QT~O zAd^z#faK;tFA$4)lH!e|x3RazMK<CY+5NNOWJZ>%nponSMDIS5iCU$0PF3ba?d3OB0z#7>Kf2PBuiOnPO z&vbY+UOckzxo8~$|I8fHcgwglUg*26b)$$obHC-EnS-->HTvN}bhyj0Ro)bg1@49Qx9_=)I|D*Wp!(T7{4&tu|fBW#)jlW~~8$$iTP$=;Gp5J~6 z-~XbU_Wd7g8y=JX{7>6_|BJ?wegDOIwO86bb>wqXEhzyN@6x5oXvU&gUZU;s$mkjac<@^zaZ7K(d? z0iY=i0HiI10f1Cs03a0@07wM}08)VgfK*@rAQcz@NCgG}Qh@=0RA2xg6&L_W1qJ|8 zfdPP2U;rS!CI$c+94+{mw-K&`=&MI!0N^(Q1As6Pe3*OOf5YzUpU2?`u6+IJ+Wb*_ z+}EFMXpM8q_7&IW`|WXGf3m4HtoSClHen-c+3n}$qs+3a#kC2$TFcj;Y;KLIiYBhj zY3*@ef3m?fPN_0nn{Tzpef=qBiebe*!L|89d)(JQZ#l}IRlmcv`Fwla*FUccW%FQL z%M!l+lxHqzkNf)PHK0yWJKk9PFLUJ=PI>0+b{^J#BYgeyHlWVY_PDP<-J8eT`7q)! zlK((nE6NYG^HcoF3_Jwl-aOLIb@)>AIp=M@{_XJfzXE^I6kq?WoA>o^!!xJ5ek6RZ z?Y{nP%GV#M@b%yNI{Iew^+&$&^+&2xnYpDu?(5&i;iG+(um9Uu`TBq7j{Ew{agB$s z|1&q~>;IiJzW&dQtFONt+j#i;6OO@`_4WVGHGKWIjJL1A*|03`Jp29s> z_fOp;cmTAgvhV;3K2mr9G!G6QfY56>cmNI_K!^eF!orDg@Bkb<0N&l>-~o`om;1bf z2jJiVR4MF~)dw6r00$2M7%F86?2A0u0_7|0kQuPg$X{gPKa_=HOBM$OE>qdS?tCRf z4=r7lj8jowCe~r8G^Z(=1)w?2PP05gbDBkSS*4&!=iZeHk3`GDwO5`cYq_|dWJ-Vi zd|Xdf*M+!#KwaaUx^k+z#<_ImGKf%jIc-qPCeFxwTuazB^j&v+IRq!W+GPe?cf3Ar@;d#cJKh= zKIg6^zb*$40O#>pi_FUzO>W-uEZJb*|K#XGm= zZX#kfICuaPpGOWJz{KZ~g9kA2dF0>$j3%tt#R7_*w^%$A@$9`__Fpt+-(RvfSACtjm5&+ox!&?3g!67 zW*B-*=w)KDDDVW`UOj;~pc_(OV~j-a>iQR`qp{e@|&@Vog1^$f}_&0{azsUvuO)l_na)E!73;dg0;NRo||0WmsH@U#S$p!w6*TKK} z?91TagaKBg4`)R6u6=!OT}OQIj7UVgKK{-Ak4`xFHxB-djAIGE0|)=6GtU=p{mj9? zsrPIIrjdhx15Bg6c^(J<<|AH@cdrL!>9cY{>_k| zvCtLZo~-Zuq<6IC+*yD9xdDIo;Mo$=Q>=gIZGY1{vQ9JVaQ4Z?mgAa;!3-FcOKZ>N zu*l#sV4Q`nG}N=TM8p1@21R%6n}hy({7ISv{^~b-d91hBT=s*XK3ZMT8>)G;kH`A@ z#C=UgU#RIQ>JX+=ug1c?Ls|`8_vNwLH={fjjf#4;712=LoBcf2-!Ja#D*8iBhljLq zG|HNe3~7LVycF&au%_<~X_ZI2d91rz)T^xM4y``AkH_}y6Zfkt_Jyebi0Qo^;ao3; zyU}L%S#334JNP$W4*zDqgMag_Kiz%>5J7DlPQJ%u@4Y8vYeU6*q0XQ8jyADhU26J| zn%4QV-qGg29_kR!+TS3>Gv?smye;NxeZ||M$B&=ov9o8zeM`mJ&^pZ9y1&x2=3kxe zSpT=DJ6b+H-SPF~XL#()8BwRX;!J4M@wa*G?F5Z)q|n%M{9PV<_gzu{v5I#?&Ho9s z{t>i(d%EMX|8ly6_EZl3O?b5N&?vTI`}uSPJaGs+c>4a zhkPXL1*C0U^d{pg30s6DyE_N}#=*Z)wwJKav#@;J9%&!qW6~DgvJatis3^}a;bdW+rMPkY|%69_Al8!`M!hwONO#VH||rm=%$RXXxXBBl58&>jG})_!y^a(W;`(= z?u_q)gMTyedF0^VOne?W_&4LpBfAaj_5C#*{2K@VMmIW{rfXdq%L)!>WsA7Zx)s;i zE6Z4pSTC9y^96@}If31XgGO-x4OK6DlJZ%}y@Nh0xzctTF(MOdR4x75(X!EY@NaSw zbCr|c?%Tp6A-it}{|3H8_uJ=;WbSI8C~M9f{2RPKvt``*s6VIhPQ{#$S^ixrw*8&r zk%NCTo|q7K<~efkZzevE9Q>P!&m#x_W;}UhUz0lcHxB*{d?1b7;GM_6Nqm=(lvI_a6ti=8&EB##QHhqR}pQ|i|l?r`^ zuJjohlkS8*L+R?wgq}u6l(MNXAZPAw ze(o$BB4_Sye(o%+BWLbze(o$hrF(nszWg`*YTJ=?m`w`DA}wZ;}?*&n?U*(rsw=?>SFkp+tpA6sfFM|t(SmFXt!=yOV))_po59xefVMgf|W)#)2Fr!SI;R_p% ztUGxAo;4ol?}@dJW%HyfJg{gs_1(T+OMmuit=H)6Rkweqt@Rq@D6w8k!lTlY@TjtU zh3?6|#QM;ep4Wz2AJX}_Vdu3kCypg)sP&pl=WeDR-r4Yjq#g1g?Z)7osxr_kvoN}<;>kJ%$>sSa^~(9=1$>* zIdgXlbEh!K?(w;^uMg=P1s!Kr0&|$+&RJ(jw8n8wvM`6ULNP0bOjg2fIm0d2I11+s zb0^mda!qo(IA`iRi|@K+NAFF=^vsg>rFRTp(kJOh@twWBZ+RmAj`c0iP~Y+~F6}RL ztm`cM3!Sjkj5PU#qn!?8&2x7!*2WF2?G6wcZ~V8hT*80*XvQ8kQk)L=t$XC-pgCjT zNJ!t;vly6fXFt+>IJXP3TI^gj9-09l3W^c@WSy7C*xqa4zV%!a_f7mxGeSYo;eyU& z&RqFdG`Aa}v-7WT7gi)_$A|Xf?Vx_?4eC!xslVhp^=XW$IB|SWL7zup!}W(ez{ji~X-v@UvYXdYlnpv;K$^y!8X&hUC8ZZ_67Jf;VRbbZFt8G2i{t_P-JtVLrz z@SzBg@(hE;@d!Nyc&#;m##v_;)6Fq7$EbZDU3ko~RY-=p9*Ag0;bCSLhqa%Ch%TKA z{123Mn;+6%ux%1!m%llAGVkU*(8cw(2shjI@a#6x$K2w6?)Udk<9y0A-Iy}X%$hPS z+c$;iQa{L^itMF|hi65xx4W#NPn`C4NNNA3BPHx#18H$rPapMHW1YI{_f|?x*7+?; z4c7V06vG{!>NO(#An)VDo+$6??sIbSqT;+QbfubR~O3q~)wvq|@0Uk!q|@r1k8uNUOsheQXKloaWRYzJK(SaQ9w+ zIA_#LSZ^cJ=1k7hCc#tmWs6VFNh@QK(N2ubKy3H(bc){<>9$Sn%_wsWM!b76kZfRvBW$&p)Tia9#R- zfWK;$%|+RFR2i;IUkLDBRvBW)&wo~x;kxws0Dr|Q1E$;jMXC(frAq_+yH;5h%H{>Q zZs=jrZ`_wI2=ENxe(7@ zj*h(23fXUy9lqQ(MPo0buD%U*J$d|MZZ54c#C@qZj|e7AHk3QlX(eJIQ-}AFj=W*mwpFhyVe3T%sYSTyj;s+myK9}U8PSFqWP~mxH zn?(O|kXJSP2Yf5?=BqyEx!>hLc=2(-*ao$u6pPJJN9u^9JNFVu_j7L4Uv7|Y@^)Oq$d zyoJVbR*qvK@~WQy4ZnEytQg0_<*2jh0$(h~Q76WchrFt#7chR~@?tfPyeib2*Dl7f zk##PlaUfmXg8Zrl$VcCC58Nm@4qWH8G~hR zmAJ3!Di`Bu!Z@D6I99fz&dXo$CK|_(97j3ws&;+BFAfcfag=XGofV(+m0}!A#WmI?HJsNLMx?zsmcnco)!EkT;$9fmCbSiQgP82Tg4( zpB@j4u^xF<$ICtRZle1p!d3gV=Bs}lbq|$zn(6+chR;fPv=Vt$M@l^55n3DLw}c_} zukYgv9UiR)4qMYvP3ux+Eh%N|&gFR`s_e0pvgYsSdG@HX=9IGaZ{>L^sSn+nPqz6p zj6u^xKYLWa(Dv$cC1S2CsUP1rEb6borA(jg1W+D;_&`tgZUc34iPa{$ic67;s}LW$YIhiv}dV zSR=;SbW&qo1E+&EhtK#M-#X*hsr+=Jyz#9(78w`_)*f;2-0Zk(4xZb+gXb0*IZ@as z*8Ph-cwX9QU%`0(mBzL8thNDZQv<{LdjH?Lv@v`X#TtsSgQNE`ZOpLlHP+Ae=zV$y z;^Pjxqgtf9FB@;h`#i2l{_wPDKGxV+42E4^S0szO!;`R{bQ?VE@p>YWkz<9iV;{(N zz1y#BWUL|QA(1u}&J$_#;zvc=5@UPB{)RBmHn2}GHDr`|2=k1tH=J7OA>1=@{Z_Sj zpMIV4&oy~!*Nfk8X!zkV9y@kSV0ATAoDVf7-TyeW`CFo1L(>n3cx-4$)N8633a$I$ zX&yU$THLRzI31Gh{OZyZ?`ztoKYLH$tTi2fuVdZG_d2${ENL_+(Kr)YpLG9rD70VH zYijx7*(6M|$9|ZMCq`{GgZ6sRrf)>csrNb_8-A~&VB}b^f$hEAa3A&=$4&$q@J)*x z(^wO}QH(9{#NIoj{jZPgTeRNz=S$6RU2v~ob2h}nJ3edrdM6{SPL4Ws-|+vl_cq{B zRcW61&8>4Qm7*vMI#feC#!w^?@nc*6>MDzNrwA4Dom9Sq2oZ21i;nhaRvD=jF+hkR zh8PeqBqW3Y0YX5uUA89)=-55<>^`Ei&(bqa_w;-`GwqB!AN%a=PXC{O*Z=pPb8gkG zq9h{0uC_1F6V7|jIrZLq&imeT&*$$~Mb|&RTyf;mqT(aN&BYsmM|J3urTEAJJK@Sz zym?=C>5&7?JP+ie(|cKH?_ORPMY($e#mZk^EK=axv~xw11y{CB7HMyH!`~ z5B6q-_D0#ZRNA&&+SV^^TjitQ>{4B1+alPlGPt*gKVNa?DE+4PaZChOW zhS6qYfwHLUaox71V_whO}Ke(^CVql+c+fx4<2N>QJ zUI!()2LhE*I)`=JmRG$IZOiI6jzwel;a(-s?T2nEQ{~{k=BmT{niu}yKvOAfTSB(& z>-SK9r4{{^a&BAnNnp3~q84szrikm(;ua;O1Sil>XbE*5puS9ta)9RCf)g-&dkN;; ze0;vrGG2l?H{YA+DlQ6QUf@6=)Y-QfgMH=S4)kvE$+f1^8^&vsIy-x}x;&K z>yD2Bw^BZ*56`)Bm;RicflzmscuweCDRt)W?u^#i(_wQ>i z+kePjLDz$iW>@S#)LbCt!Z&(ZsJEBA%7-d!b|zw>#o|MT?7D$t$v^IpGWo{cQYPQHSJ;vKm)n{A;{m%? z1|KdTz=@g|;I*a1 z`i^MxEuGW`3E%M<+BItPy?C$KqBeY+(B`*A+I+oT%io4JpJD&1^vRHH*DSnU6FQCU z8nyY%J3_1y_Dfs-qliuUwIp)48QVjkTU$r`;?U7Pu{1c z3_tQdC*}2!U+7@B!>7s)3P1C}hrBO!U}KbMN6D`|@FDM(4yMe758+G2<6cJG)()&~ z7}}q_V*VYo6i0k02R`JHw#k8QJSDolivyv&Qem6o-Yp*a9lL!6#x+KJ`|^a&yogQ@ zbS{!QZ->rBD|DTCfsjw?%e4SZR=VIv0GU{CE6VC~qSyJbsg7Rpc zh4FP}OPzN>XSPviVMJ%PuCvI`b$S@;R<=J@@{>8jURLsxd1>5FtmG#Pq)dKttCY!4 z7D}1?BwNblCwEAh{N!#alb_rxW%82;q)dMDa2mI--Y(I6ulJEOHVeLSM}_bgn(OuE z(%kN6mv4t{$v0>o*NgdI`d*jVg}XtB@EGERFG)!Djj zu?EeY!VXx2*7x!yYmR6;SmC<#J!BDoQK3_C=~~8q`*Obb ztFayQz1_6W^9!E?GV%1|kO}LKp zV6*8y#xp{3&x57$`&buZEmmQRX|Evd2~_2IFNQt83%9B}tSY68^I)_mSU(T;W$@Ze ztTwzmx9I&5C-$(*J>|~GyOSc{ose6+GePy{;1}5>mY(ikw655lIycJ_g*z7iESiox zW@5Dw#)^s6rsK+|7|#pNO%>k-oEJ=y^NIFv$n%0GR$IFTb1~+7B-*&pO~%tRvD#)5 zW9sI7k4&t##J7=&)i#qhGLE@StTq#?jm}t_SZ#E6K+~}}ev|o!!WcCIJBE+1Ol})R zT|{e5*H}CM3g_Zori~JQy(B)ioyifENbga63_a6EiDaYrSbe6A63IsKF#$~*eK{K$ z$5+?h3w2#FLw2YtfpOj)UXWd59k5 zdj@UTPq=tMQ9YDL$3S%2B?hAFCSoAE^tBnh73@)R(jHc^ zmoV9|myo|dQR`ZAjn=TPWz*NS=IYOG#5|<9tM@?Zn1{3n%4Wn^)G-gS1{}dWjKWy7 zMXhVOQnM`cQX_k=Qsb{{+4-9R$cWACC zOH$N*X3jK5(Cq;Q3BgYVr`l>nh_fr`=r#5 zK)=ov={MR8{YL83C(Y6KL%AaRp8=~a^pyQN1E%M!SWHie zxp`xlp0YoT{-Y-QkG5H||LByMo^zd9S`_bn{Jx{kdry7GWMkh^=e@^%n+Wf{>^r6k zZbZFbcVqp>$euO5|ClmI^dF~~0V7ZDBeZes&^Ymg9qJI{Gl2t`1XtPgi3;q{sd$*8 zz@Jx?tvGl7oAJ-0^iNDF>QpBlm+&4jfWTHUPcVoeDY&SW{MQm%xIGjC$`{ANA$&LMa{NzC=6A*9AD<@w{FwajPLn?~CjZnm^Q%o%e*5>*uO!JjdR5suVO=;p zp;(+#z%WxL6*cEF>Kmm{*v|AGP3;F(=z&0rIt)C~Ly-63k8nkM@z;aD&&L{JLf#h!M*6m&Mt-uXU)>>J}+7m>D z>+u$=HK-*gx3;P*vyHj3Qh;^3dd@;PUSgX2+Je{ne(c%#hCdIVnS_AV>%NRxp_%JDpbLHe5F z%xQC;%i`CB-G_UlJUSNXJravFM`DrA{gPOug%XR@C$UJq5{vXviAB0pVv#NZ*#^gm zC4ZPNu}J3wi!>Ejr0M5fO@!wvut*!xz;Ikv9gDPKW9Hro8`=PYsdb=he%k!tf^RKo z{bNO)B0uD93hFQ5{?!g0w=@H1yj6)?N-{gMIgDGHfivIg>dpL|H_5DVa~QWY182b1 z5}5{>RcsF9mS*5gxSB1~AhSC*hjB|YvXFK}ra@-MH-~XcGwwp#(=rV*dv0?Ww>0B^ zq-~ICkl9n4!?>jx%aHbfOoPlG-WL%m_D>r)@&o7MTW_ zZQaZ}MZ4rQJw&ow0K}sSd=ij>xV? zDW@X7BqF;iq@0fU?1=2TL&{l*KN68$$EAE1;-8MluIHqDKjJq;WY<$tUWWJw?0D-V zn3gKyTo2os4evjdUCl$DyX`CmZGnF6y4N1YmgRB9$aByh#)VaJ?HaTL7xoHV8#=0x zzQ@jj>YsA#S-N)Zw*#-1aALP_WkY|gXJwtht&IsLzb8SUA(SAHbn4Ti^G(C^JFNnIJ_6cb! z;e8^sQkv_fA?+Ch{%X_9$X`9A4SbUBp?lG_tA0p3nEpwo6Lz-4=1*IG%F9UCjx$R+ zrtG>q-{sHYbRf^_rR*Lmqr{Y@I7j1B_TgiXQNMiBnTk9mOR+dYW&F>)j1=dnSjx+k zBg^DWN51T(dYN)$nK-7bLP)(%YBbtuyl225Fpjw$fh)JXr_uWNDw!gH$%)%o3)o9hkBoZra4lMR>9f z;K@>+`*_)Y!U#{+4m?@Hn7vPy%Z)e(VadWqz>ke!%oZc>!G>_T2xpecMHsWCNOJ&B zmg>)svaLng2vgP$yw-u?VQ#BJTswf(O7}lF+?QGS7}9~!`n08=m&=E12k==by%1$v zd*?%%Z$0vCOVa>G{n1unkCJ}E({b!f(?0C&<>m5jLLT5P`FNS`;Lq?V;vB$TDn*=6 zmg~{yk?)0HGHT}uFOP6ymm{v(rr>x3=?`j8D>!ZLh z+=}lm{k}RT?K>xyuvVD{T*ffgEd9=RY6*KqrqvqK3Xzt7dI_)lQi+R;@KM62Eyumc zpK!f|>K&n-;ww(1X&g`XPXxv+$Fe<@Ca`bY1ja1Im7Px0{8UEZ&JxZn>3e@d;P%pW z#R-XZ1lfN|;Lh^;#&zXsyOs|8*_^)qOf-F5|4BKq2tj8V8qXMHC*s z2X^@Jz%;SBAS{^6#!{{ANatl>b}tdYPf%dr4q(pC-H=Mh$5(CI|z`&J?Ql*motP;O3 zJ=*8)?jPa#D`kGd5H354{39bge`TpsMft1noTbP6-0l6xc>XGxpZu=uIPxDm#`9N| zD%F&~`oyTa^hBS#t$%chZ`Vn8=p_D7C**JbQ>v2x+L*iMH2!d1b2?2~xm#YJKB*ME zZcM`~O3z)R)Oxp#yF=sngC4>`_McIeH-^>VzI}>+|FBv@zd7Jh{BI7czJX2_>g?n=hrZm-K>k1%3w3qz>-^jBK!dPpbJOcfp9C^fI2RJ{k=Sg5Uy=kw;a1(qM&&O+O_^Xuig+r>R=lsYf{rVaOOJF6}yc{^-> zu$_h4+j-u+-1fkVgTR;S=-}5YaytU`JI<=X_I9Oy=UH_H{iegC)W3QbjW^0suT)U| z!+!j_Qn$w$`WV9>a8F9FKa3ZSt}E~!8S<08x&37RDw)6HsK{RxlOOi368T5DzS?Tx zCwl%`J^%4xmHXSNV=DOprMI3R$*SaI`VuWPGQ!8qgzZ~dUZyl{Lg=qj9=8nBxOPYD z@Nkx&=Pl4e!^0wPQ~DKuX+;?Gca9Rl{KZ(a$F>uHw_lCE(J^zNy!Gx zUn?+wF-~kfKa>?3nvl=)%#}5YQe~UX!-ljB9@cnn=i%D>AL3!%vRocMQR?U6`kGZd ze3EdU=sj=w0A(h;-{ehN%lksEIJKQ)$Wna8nJ$hS>nHh-`n9G_{P#^&N22jxp9Ov| zo@e8#BS!4jV}aJ~JbqJ6RQ$<6$7?+PnZ~I2cLIcCTZ!*M#bs3``&Ipqk!Jqx{{$iI zv+8Ff&3%XXZ=bD;d4}QRJpOy@jzr_dzH^?(KfnISNrrZk`)f_^$-u;WJihsNj*K(3 zdpy1l_{Q`M6+g%Q=>C5z@Ba&N|GIx1X-+?Xvgt+O%+{cB8~CSx@w|vWO6xzV%4YOA z6y@g}XLhr{MR^g|4A*n!@%wDP^WX9C<5Upq;h=)QUo(I&`rivDY`mIb}*VMHrgkRl|{0|z(vA*!HBK*T&X*Gzi z`ma`N!zp839Si*aDPx_S4Xlm2J{Q;$b&Wbi-BkT|!mS=_Zus-D=2ib|toex;oh_$E zS!i^Wm%Tc7H1Oo9=(^Z?>KqH5JIB)-a?b^-{${MX`s11Fwe)UJng5RBoyVaa{$B>VOsajw2%+f42(wyOl>TS*liy z2I>iacjS_#fy!~>(xQeFqs{dv&e>Pd_1jNouR3wAxk}3AN20Nw{lMR?I`oclr&~XgqLxE85 zu-Hp-sCP@DTnq5;8IH!v-OKy?ElO`hXCZVJNu8C@S+qyj*&7J$JtTDY_HHSXI?LY} ziPpI$9uUA zi(tdTJ-`PChH?qnuvcIx7fB4|5@0CPds{U4V0Ilal&LRHa@pbNK1dO4SOg5^LfEhf z`bzfna=h_E;EmIms1O+9VGQNY_~nSg!8VqoGg1y62fOGxaj?r!H-rl;`~vu;UA>~d z4LI0^uk}aQ_cS=z<wR0+b|zC^zFK2$zOqf8riTD7}l^;{_abQfMwlWu)EhzcFW(BlU=mCx0%LIB$u9w z?$hPNhWQvL`(VR-=quRO$#JlK5(nECg@YZx9A4>*90%K2j<|TSH;RMZDe9&zf`je* zO~b){H-dvb8|^Y-`94>6Z5-^m-;#LPE92u~KY_In>VN5Y*wx1c9(LuC7(DDp3>e42 z4UWRYULnWq>A(*LR(2E~wvLs37t(;0ow#_|d=8?;(nsyOz!xpWyQcdnVFi1Edn@pV z!9~+1zZHEEtakr4VB;I{Xs5w6rteQQrm@s%@KOH`e1D8Or@=I)@6Ys@#`yjib#}Dz z?_?}a@(RQEXT>(X?7&{`*dBhDR>*I~@>lWwfliK{js-`W|KQl^z>el}D(pYo;3qmx zb{67q0v>iHFlMWcq7A3#z?>f8Vfzv1hYiDc*uZL!!o#koxw;rUY+!g39(E}v9k?#c z%Mq4$6gF*}Xx}~$51Z^fJsx(9ou}~~vU9ZW#B1MT>^zO{P(NdO-w}4!%O9G?cc`B+ zz3-r(A^lNrhbqu7BV7J6;PP|-VW{_*HYn^@G3^hJC%=kmdwBf)h+i%Ja2e!ADd$1n zAZ5%W69zxeUj_MTDU%;PC*}2!U$AQxct&b7xo=>;moWIt5l8JOkHg$9;qVh4b}21t zlRuIVVP06T!!L)&-!I<51CjQpY}ots(_yMpKPTFUq)tQoQ?{c&TIV!AME#uU zeF*)W>u7(dpEJD=p`Y_>YJb9h0vvuWlb@iy(Z8$Q=HxGEZ^&QBw|N}-3)&p=7xHr+ zNB%->4)Cy}{N*~^oZl1-e&Vs2-d|$;dYU$e{CawSiTE|OIm=;#;y0X%7h&P+qRlC1 zKLduj_?FSyx;Ix~@YA}wcg1GDUPJ5X-U2CSLDtvX?}A(*g(mjkg;CQ|`dxl>nb5f` z(vQkOKk7EAa}jjj_K2=?Ss?VN)VZv8%Wb;O@A#s1emB0(OsO*qIx~$rzx$|oPUy^( zI&aHe8LiVBU*|%pGaEV=8g+UjI>FFuB|F`=ypZdpJsDov=b^QIZ;G&&N`5k1uCbG! z%#kwr$*oc*KUpYc@)LcXpZw$w8BczKwRgHFt*Lvl?#^ZM6Rg{FnfwIn^~N@b*2%rq zv_}8g68_!kI$$RjvoObq_3xB@ik zFLc&U({#TESAg9re2_)yWv za!dPU&O#0R$8D1~1CIV&80&g4_%jT@#o`3V;J+Oh{Irk8#Nm&{Q+0%Gs^h6zE#QDKin3^Yc(-T=xnRt`_T8NCkSSVX`{r)EHQ1A@HR4W_-7J7{N{X* zOdS5iw~>j%Ka(~xo}HUP%#!f;$Z&Sf#Nn4%bT|XW?4r+Yi}1K<;Kt&8?ym}mKmGG@ z_*JXA)x_Wj?=;Rf>SLm09V60xqgW-8^NhM~6N6u1yl9wH(=p2Fyy(szm0@onl*I>~EUZ;t{Ka=x^H)kH+#NbbS8<`mViEkqlgFo?YWMc5oq>YT@s~KF+ zGBNnu8RldYnO8c!P2DQEqvK=n-_V+tz~8s4iolg5{C%6mn{>{W`1`4`>q7A{-*tR^ z!hBCk*7tf@fki6U1cBKZ853DWKR;EhqXt!@f5*q`)b-PRRgw{}Q+0|p$FJL(mb6V2 z{=Ug8E!UdC`JDjkB@%z%ZrVtU@e^`Q%Y2U#e@)A@QNr6u;_sVn9X~_D#uKrvllc3l zjb_9~#y;r`u4#qaI>R2q)EmX$PZND$1OEQ(Sp5A|F{gfG`1_Jq$$-CapC$Y9I{v=< zM)CI}+)etrfc+MUzdu*v@5_BK$=@)p-^b@~`ZD`%rdS;QXpX-hC;l4v`^w5qR~$ff zpK`^)=LZfy;gWT$vE!?2kMDsde>n+zD#e-r&aSDEvupbJ%3@)Bd}WjO*Vj?>`>6n> z4=Jq^bXE}9_WTT}%IFNJ*srEyOstQ$uIGNPulRoRzvBC4e#Q4&{1xBt+h6hh9{P&! zm)p zd`stlnaJrN{uc0-OeKMvMP*HP<-HHH!EbWz-6>bw#19s?Pn=(D&)hx{ux@W(4h*l* zl)9LBQ1H#L?;XE)Zen-D&GC%Ra81oYk%(e0p4~#KC@xWXwe`ZX6;(__R{Cb_ds`P^U zWhjdKgoBf9?3&j=whi z4S^e`58*Jv{y@OsKZgs3b3Je_n7KJ^bI)b*Ysm#; zm0U0gITs8<&IN;zbHO0=E88CX1mT0qb{^iR?BHPef;i6kg3wB7u9rr& zXHm`#vYZ=XUuX5GHt-jM^M$Tm^`qc?`HL{;%kNtLl5>a{IbSy1ImMsjMmb-oOgXYl zM$Q*JFXwzgcopXh;yC9E!Z7E{29#;NER!ENL}AXCOP|mA^1E?3U)J9_lbkQYRx`o* zLVPw~l=J0xKZo<>i5cU35#_py^X0=hoG-)!1D^_WzJN!Ce44NViSs2mA^2V5a=*y5 zxZE!?jkq_0e|;Q1z~E$<`$eYB828JSFTwqCv5)48Cch~6OZMk*zpRtoFYCSp_scqP zzpR@f?w9OoxL>lb!TpkL*YKo(BFJa6S!ZRUaAQ*Wi6pYK{zZ*$>hxy1$}yOx~izaK&_hD<Gak*j;AD1fz z@o~9g5dWpQV({CzTrr4`%N2w8xLh%azizIWg%d-ZE2g64i*v=`KAbBCA?J!g$hl$= z24{vV<|OBefj)4>j2pOb;&a6yAGl(S`6f75OidiFm^Gin6$2gMiizgm*$~4WLtHV) z2dcQlS;p?C#SB%LO69BernA67OiZQujFy>vpb8j@?kHj@s+9KRiUhJFDc{qx(PlIsH z1uxO(@o?YoV9HWmChsgBU`zBY6$rU3wmW;k*a>a;t$K;CX-I6D<2$t_OxnlVIIDMl` zt{9Um2K|+cV(@jCTrnK0WYKp_t{8P0{K4dk;pb;8Mh+IMJjV+T7K{9zBqsy^(#Sn# z6MNMye6PCblh9suCV5?K=+82vPFrMeJk#-VQe4qG?eTT~y0~Kg)zv-3nd?e9lC`_&x^jlhh-!0C9*du2_2)kIvN1(I!s`2bSi=4gJ@u-qDc~-|k z?^P(&ZFOX+vsvW4iR7hH9g%xj4fim)Vlek;;-B&N6g#Fbs}}vN)3x!>=7+KQP0po6 zBtx5eJ@1jp6_fZjGPz=A(neqWEG(V*kM1`{#ut&Z zw*s^Oq44*}aL(K0ib*W4n1v=+jDF7hw+2_sgGV-2_>5l$L`H*IpoB)*MIu9(EP(PHy^l-y`FAYX)((!taq`yk+8Q z$?=vw5ORKvaJ3|E^_0uDc)(`&5PlES@q2V!Ef$NbMf1X#BeO;3$O!vcAO8?PNs^JD zM8_=#KZ!oJ*DR8sgb5#u#x1@!juszZMd5ZyTx6_wM)ZrdlkV%p9!jY7tT3jyIS-$x z^YA8D%uLQ7-kf=OlPf0iZDexAB)*MIu9(EPk;xS^lQuGruddxEy{`4FaKFwlzB1Rd z5^6nbp~)4~PW#pLG2L&?npPN7oVa;_KuNgLCRdDnH%+b>@(C>pD?R=`PkkMT-kTKT zK2Loe2pmh1bs)LV(mYiYg1GUA^~7FUxhUX_@a)!q3HL znl?&!8<|`&Gr3-JbJp)ou9%s$k#Wp5gKJvhw$3o-GS{@eo@-hw|ADw-)azT*x;7Ul zU(<@>;IriZSvcLy4KH@Ybj!HtWB0LiWk^s&$==0J$Xjiz`bYH zx%c#MolWeyNJ_am<#K&Z%QgRNTCU8mX}K1EP0RJ|UwgTX-@5pHalO6ed(Mn~@woft z#5dugaJdZMI@^tY>mu!Mr0*}<-;hI$FG8|Cv_!Rs@xLQ_J5S#cX8hLa?L6AuNINe$ zPp9x5ylVd;@r1_XGXqa3@tNVj>-sm-{Ab@!kMN(pYVw~2z6}3a$F=y+UXAddY2ZIg zHTlox6R+0I*!jUDJJ-nIe__G;#NV{96L1y=E zW;*^X;k%jqXW-k)w)47E)4{c+L9G8ys<4amZaYg!P6ic#xOUxZXD0tyaMI*IGx^U5 zH`@-JY#-)YtjZmn=k8I&IkwuhQpEWrU!BQ+7M%1c7e6jLou>J}d*)-MU3C%PS^05Q zec$9iTU@+<#9eW8#BK7Q1+G-oD7D^g=ee>UDsdoO<5`Oj#+$K*c?PWtx@NAnr&?dAKZ zP5v{J|IFk+TY_=&PcP^1x@0NX)oJpdVLr{|KeKBsIv*M4GJPeIa}0Btz6!e*(902$+Fh}WYv}?bwr(urLw?U>ALw?GxZPwFF{xkmlv2Z@U2;Wqml#p={K`b_?_16N8hX+iVl-k0Hz3+!4*d1V6EEf&Ou z+B$_zI;qbjY~sWDO0TquA2#vs(rwZi2(@(yn{@VW@k+jp{B7uG7&$z)x5c&da)X_h z8|}QkGi>MOQm1c6jGf!#>(qUR>^!~i2%bB={Gn-l$K*eQzhFMuvllS^>Y5yj8w=gvfXiid5Iwq%- zeduEbCtjOt@}CiI;MHeIzNUDQVV(>VFEU~AB262$N4^J4eh+kBvTJ+~RB*ZJXLI=X zAQZY;=TJ@lvzf$DW07-V9P9V$b7A_~xa;B8GWpLE-$o|?S>oHsT&Z`wWINUnX8;Lg7VDcTQVX#Q8R>0bk#0Yf)6Ix>Z#ii|JgCo%R#Uv)lF*k)}v4 z232t_9&pX|IFZLD^EhYA^WCX8@qBlx@VRJw{`i=8`gz9R8m!1LPlh-nX<|hJ>+lx6 zFP|V-k*19j9^=mBKbuMXw3~x*XY!vVzKu-&v&6TN$$vJJHZqR4W)Lef+-ES1w@j?a zuP0Wd$$!?a8gTwi{_^GzEi{JNvb ze>RhI@i%AP(d0i%d>fhkXESLdQ!I7yK&qSX1GMY=00{%%7AGDU_)`wHcz{_w*jxCKD)Xxvu<<1y z&h_!1U7MqT^Pd^VsBt+8BwrZc=N}41?-{)I{K55~(K3#EXKp=1=T_7C4)~rv=E!2R z9g%Ykj`($DHE^q0jdkU43f}^^npOH%@@!dGc3M}OsWm6bYhze*vTD+Y<=L5TE6ciB z=Vo;NHnZ+DmD-r=InSbV#F=$>{dK4F(3y32{dK2v-I;ZF{dK4F>3zNH&e$Kl_BZ_M zy(95B`y`K1T+TjQ){XJ4$?vRzM=n|N$c60UOtikYgGKG_i2ps;=gnz;Y5MtjrFXrPK9$uX`a0cCdUj)fEq?z{@2}B!+G^w@)cb4jqey=(ijUB$ zufK@8a%EZOxFY>SSNwGto9rJFFP6=?4&$0D`iJ1fvdOZf%n`g;A-#X-puIt%kQUVs zjbCSaxu{QVHI8u{uJ9N~FPCk0O#jg7$V!U3$IR88LDv40qU|Em5Cr#?>7Z2f#7us&4TUjz1&{tZvIh(3Co6lHB@AiaLdCO2$G<56_olnJmg6{?B(ZUr|ox zgcLPrDoIf+Dr>SU?|qm9M(*~L?=H4yZl4HPx3}jj?UU!;QC%UGEmk(+wyHI7=xO9v z-n+c&soB6}+crVGHzCy)pioIlzoIe*vW0eF^s)e5TU3?*&W7KIf2Z05$Dl{!dgd{n z55J>OllfgS`NyZpKR+h_yVK++-cRH6OkFd-+C=5Ie=q$?lB}awm7NpTg~Jny#W_`u zI-W#bvd;7#P3;fZ)B}MObvU4@ham66-(LLn;;#pP-T3RmUnl-L@YjyN?f7fM-w=M& z7YJnis{MqeeUj{*3EkgKQm4L+Fy}SfR@*>IcS>K%Yqk`~ZMJUPgjR)zfFSX0A@QHnmx;o?Bt7ob&ByyMmJ}*`|c~Yqf=Nu<}os(qdPv z_9@(s`~3wyf6_drnY28zB8OpYTt}(`Fy1F=W#$Mfs>^ z&K%apm}e`qHnlQ)(<{u`#Gf^FNe^?go?984f2-9t|5m$W{;f{ee9}+PL%0Hj8?a>H z&ThU=fM;VgCPc{F2ZY2KZ$r3bYkLsEq~eKJe2Ih8gZT9tMlstoyTX)KuXEv=P!Anop7T(;k-s5I`h zTjnS{Ols8V_jaYluWaSvJxVJNmng6B&`o-gK3Cbs!%}5C46&H=Ay z`pK1x2UZq(vhdtlTD_7!aBFwHWh{_`>zbtJ6bf??Pj!{0v^?%Yn4`4RW{R)@mYyWs z^DG8_#UlbUlw{ZO9;RcSXE~6zx`&ZZk?d;hVOu1wc@{85oz*f8va7y_y{xCD6KA7L zgY3Guhv``9Sy@QSmT8b(cl0nFD?RHjq#cxLkX?g4>?K|2{YZOSra^W+*TY`a)0QD^ zgG__$da5VP@tKu}v`1tbWLIuanBz067-`>nFiUlwTC^Yr#+9f7i1b_*GoO@Sv~D# zq|Fm)Pe67p=wVLwvyZLPZY0}|FXeV}IuO4)BHJ3JoQnABh-|BuaysJgj>xuqrJRNM z?1*f;L&|p{{$ND54NCcb#6KO8ZO=)08R9oYWZP3x&O`ho5!sfz6d#HR52&*k=?^Sr z^v$Dpg05{3FJ<)oDLd%Q4jwdOgy&EoC0tFD`rTe3x@4IuU2vi8$r8kGAHiLhmNz+p?5>n3son58MaW zwyl(hI2U)~xe@m~^1QH=ZBxgy^lRHoOW8)`@lbn0d0;#1Jd_h{%SNk0X zmcyNeeAx|pIhM$B+~Y?)y94p!+2%5VGVL0JyY@e6KXvWH)3xsS?$@WIkz^sldO09xlvY9a zo~4=};8!mo(iQ+?r=jJ^{-;RO68_R=qToA4;b zy^pw;k#F9otemd@SVb2=@B^>~pR(Xd8utVztH5;_{OjXMB&*=Zd=&hcTV+~xOxkx& z*jcMgtBXnVow2i5WE#FgVV#B0ng15Bdr{Y=O3PBJbA*o)Hz#p%Qk~=4PX3QjrTB^y zX<8{g^M|U7o{Qp2&!lO*9BrZ;oZIuQINYA+g-;OIXT=FSw*kriGvM}MpYG&!fa}V) z?Ao`K9g{hI{hPM-A8KmtA8IO}btq6VYba2t{P^3-`4H9)rfIMA4>z^- z_c!@x4F}3*jRf*3{&0ro{qFe34TJW1#gzZZecIzk4>Yf&v?Cs^_GnLY9;F|dJFiUX z{OAIZyUUbaA6@8Im8t$iIa7xYH5Kj|a)*ZS$NS*Jq7SaT|6vaNoyuQ<`t%=Gm92dv zi;Lbk=B_w?%x$Igkw|*Q@ie8iuP@B&nbRlwh80KqlvmCVEiQR;#9a!$PaFMiNc^r8 zdP|RbltcYPOPF%u!-~O(zOut}mDZslv~A$WELAGW*DCS*(xZLu?*0*;zf$I}gr2ga z$Uic|^H-KCRg}L9&sloB&)wdCjOVYC`N`+XjwAoEV?2LVsZve(t51x&OHcH<+xkbB z_;!uCLu2?uozznKPpeA)YvbW=tt~-I(S2Q!SsrjGq6*T&3kg=VaZP zL+;waLvFfXWjV@$xcaxo-2T(UBF?YWw)T%_QGE4@es}pmKaZ~}Q_3l>_VlRRe?sJ~ z@+)}d0$1uvmD-kzos;FzTQ(^2*Oe*t6jy!XklQ~f^4B3h#nqlZCaqm8N*};Cd zsLwuk;b1Qd_4eBT!|1!;Da`E+6bwTR@sX-e_n zJ{H=ykLN4S-4`esJitN+4)E)e+yeps8^daF-#*2^e^@P{-yHBL{x^qJ-#{k|b$0T6 zzTD10{y-NCb#?LU{M;^lhhY~yw~v0)iFZ3`?vxSfTzZ|B#`bGM6o z)++U0`b`_|*>+A{PVyJv^=#O2P7SuVD-Ao(sVnF=9Ui6O)pKaTQH}D7<*SII8Hyp+bNB&WP_sEc+?9J^b^H<6I6-Pz>s+jz+ca_LL%JtP%3qR5G*Xj9> z53AhYP9Iar4=BC$UM(WkX)NkE&REteyBvR(r%8Mq8H?E&nZAQftP* zZQU6d(_+9EOiD>=budeCwx+dOYz$*Kt+n;!P*!MYOg`5$SMZMeZL@h;m6pN7I?wGq zeEj~0c(`_1E)Sn5_49Cj%_<%~Nf`6=zPEgUvMV27_9s_qE$<7t;!HrJI;8lD3tbwo zACmv5Uu)XLf8XRkJj_sD?mzzA;lQ&m@c50@heugxbd<+e=Z*$ixAXW-b%)0pxPy6o zUG8{*_&V|Y oj)l&hUYtB4g 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